Soft158: The Complete CPC 464 OS Firmware Specification

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Frontpage

Information

Title: SOFT 158: The Complete CPC 464 Operating System Firmware Specification
Authors: Bruce Godden, Locomotive Software
Publisher: Amsoft
Year: 1984
Pages:
ISBN:

Soft 158 (OCRed from Kevin Thacker)

Caution - some sections/appendices are missing here!

Contents

1 - The Firmware.
1.1     The Hardware.
1.2     The Division of the Firmware.
1.3     Controlling the Firmware.
1.4     Jumpblocks.
1.5     Conventions.
1.6     Routine Documentation.
1.7     Example of Patching a Jumpblock.

2 - ROMs, RAM and the Restart Instructions.
2.1     Memory Map.
2.2     ROM Selection.
2.3     The Restart Instructions.
2.4     RAM and the Firmware.

3 - The Keyboard.
3.1     Keyboard Scanning.
3.2     Key Translation.
3.3     Characters from the Keyboard.
3.4     Shift and Caps Lock.
3.5     Repeating Keys.
3.6     Breaks.
3.7     Function Keys and Expansion Tokens.
3.8     Joysticks.

4 - The Text VDU.
4.1     The Text VDU Coordinate Systems.
4.2     Streams.
4.3     Text Pen and Paper Inks.
4.4     Text Windows.
4.5     The Current Position and the Cursor.
4.6     Characters and Matrices.
4.7     Character Output and Control Codes.

5 - The Graphics VDU.
5.1     Graphics VDU Coordinate Systems.
5.2     The Current Graphics Position.
5.3     Graphics Pen and Paper Inks.
5.4     Graphics Write Mode.
5.5     Graphics Window.
5.6     Writing Characters.

6 - The Screen.
6.1     Screen Modes.
6.2     Inks and Colours.
6.3     Screen Addresses.
6.4     Screen Memory Map.

7 - The Sound Manager.
7.1     The Sound Chip.
7.2     Tone Periods and Amplitudes.
7.3     Enveloping.
7.4     Sound Commands.
7.5     Sound Queues.
7.6     Synchronisation.
7.7     Holding Sounds.

8 - The Cassette Manager.
8.1     File Format.
8.2     Record Format.
8.3     Bit Format.
8.4     The Header Record.
8.5     Read and Write Speeds.
8.6     Cataloguing.
8.7     Reading Files.
8.8     Writing Files.
8.9     Reading and Writing Simultaneously.
8.10    Filenames.
8.11    Cassette Manager Messages.
8.12    Escape Key.
8.13    Low Level Cassette Driving.

9 - Expansion ROMs, Resident System Extensions and RAM Programs.
9.1     ROM Addressing.
9.2     The Format of an Expansion ROM.
9.3     Foreground ROMs and RAM Programs.
9.4     Background ROMs.
9.5     Resident System Extensions.
9.6     External Commands.

10 - Interrupts.
10.1    The Time Interrupt.
10.2    External Interrupts.
10.3    Nonmaskable Interrupts.
10.4    Interrupts and Events.
10.5    Interrupt Queues.

11 - Events.
11.1    Event Class.
11.2    Event Count.
11.3    Event Routine.
11.4    Disarming and Reinitialising Events.

12 - The Machine Pack.
12.1    Hardware Interfaces.
12.2    The Printer.
12.3    Loading and Running Programs.

13 - Firmware Jumpblocks.
13.1    The Main Jumpblock.
13.1.1  Entries to the Key Manager.
13.1.2  Entries to the Text VDU.
13.1.3  Entries to the Graphics VDU.
13.1.4  Entries to the Screen Pack.
13.1.5  Entries to the Cassette Manager.
13.1.6  Entries to the Sound Manager.
13.1.7  Entries to the Kernel.
13.1.8  Entries to the Machine Pack.
13.1.9  Entries to Jumper.
13.2    Firmware Indirections.
13.2.1  Text VDU Indirections.
13.2.2  Graphics VDU Indirections.
13.2.4  Keyboard Manager Indirections.
13.2.5  Machine Pack Indirections.
13.3    The High Kernel Jumpblock.
13.4    The Low Kernel Jumpblock.

14 - The Main Firmware Jumpblock.

15 - The Firmware Indirections.

16 - Kernel High Entries.

17 - Low Entries to the Kernel.

Appendices
I       Key Numbering.
II      Key Translation Tables.
III     Repeating Keys.
IV      Function Keys and Expansion Strings.
V       Inks and Colours.
VI      Displayed Character Set.
VII     Text VDU Control Codes.
VIII    Notes and Tone Periods.
IX      The Programmable Sound Generator.
X       Kernel Block Layouts.
XI      The Alternate Register Set.
XII     The Hardware.

Adverts

See also