Difference between revisions of "Soft158: The Complete CPC 464 OS Firmware Specification"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Line 23: Line 23:
 
|  
 
|  
 
|}
 
|}
 +
 +
== Soft 158 (OCRed from Kevin Thacker) ==
 +
 +
'''Caution''' - some sections/appendices are '''missing''' here!
 +
 +
* [[Media:S158frnt.pdf|SOFT 158 Title]]
 +
* [[Media:S158pref.pdf|SOFT 158 Preface]]
 +
* [[Media:S158se05.pdf|SOFT 158 Section 5 (The Graphics VDU)]]
 +
* [[Media:S158se07.pdf|SOFT 158 Section 7 (The Sound Manager)]]
 +
* [[Media:S158se09.pdf|SOFT 158 Section 9 (Expansion ROMs, Resident System Extensions and RAM Programs)]]
 +
* [[Media:S158se10.pdf|SOFT 158 Section 10 (Interrupts)]]
 +
* [[Media:S158se11.pdf|SOFT 158 Section 11 (Events)]]
 +
* [[Media:S158se12.pdf|SOFT 158 Section 12 (The Machine Pack)]]
 +
* [[Media:S158ap04.pdf|SOFT 158 Appendix 4 (IV) (Function Keys and Expansion Strings)]]
 +
* [[Media:S158ap05.pdf|SOFT 158 Appendix 5 (V) (Inks and Colours)]]
 +
* [[Media:S158ap07.pdf|SOFT 158 Appendix 7 (VII) (Text VDU Control Codes)]]
 +
* [[Media:S158ap09.pdf|SOFT 158 Appendix 9 (IX) (The Programmable Sound Generator)]]
 +
* [[Media:S158ap10.pdf|SOFT 158 Appendix 10 (X) (Kernel Block Layouts)]]
 +
* [[Media:S158ap11.pdf|SOFT 158 Appendix 11 (XI) (The Alternate Register Set)]]
 +
* [[Media:S158ap12.pdf|SOFT 158 Appendix 12 (XII) (The Hardware)]]
  
 
== Contents  ==
 
== Contents  ==
Line 165: Line 185:
  
 
</pre>
 
</pre>
 +
 +
== See also ==
 +
 +
* [[Soft158A: DDI-1 Firmware - The Complete CPC 464 DOS ROM Specification]]
 +
* [[Soft968: CPC 464/664/6128 Firmware]]
 +
* [[BIOS Functions]]
 +
 
[[Category:Books]]
 
[[Category:Books]]

Revision as of 03:50, 21 April 2010

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.

See also