CPC464/664/6128 FIRMWARE ROM routines and explanations Bruce Godden and Paul Overell, Locomotive Software David Radisic, Amstrad Published by Amstrad Consumer Electronics plc Brentwood House 169 Kings Road Brentwood Essex All rights reserved First edition 1986 Reproduction or translation of any part of this publication without the written permission of the copyright owner is unlawful, Amstrad and Locomotive Software reserve the right to amend or alter the specification without notice. While every effort has heen made to verify that this complex software works as descrihed, it is not possible to test any program of this complexity under all possible conditions Therefore the program and this manual are provided “as is” without warranty of any kind, either express or implied. IBM is a trademark of International Business Machines Corporation. CP/M. CP/M Plus and Dr Logo are trademarks of Digital Research Inc. SOFT 968 Copyright © 1986 Locomotive Software Ltd and Amstrad Consumer Electronics plc The 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
2.5 Bank Switching
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 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
5,7 Drawing Lines
5.8 Filling Areas
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 AMSDOS
9.1 Features
9.2 Filenames
9.3 File Headers
9.4 Disc Organisation
9.5 Boot Sector
9.6 AMSDOS Messages
9.7 BIOS Facilities Available to AMSDOS
9.8 Store requirements
9.9 Extended Disc Parameter Blocks
10 Expansion ROMs, Resident System Extensions and RAM Programs
10.1 ROM Addressing
10.2 The Format of an Expansion RUM
10.3 Foreground ROMs and RAM Programs
10.4 Background RUMs
10.5 Resident System Extensions
10.6 External Commands
10.7 Examples
11 Interrupts
11.1 The Time Interrupt
11.2 External Interrupts
11.3 Nonmaskable Interrupts
11.4 Interrupts and Events
11.5 Interrupt Queues 12 Events. 12.1 EventClass. 12.2 Event Count. 12.3 Event Routine. 12.4 Disarming and Reinitializing Events. 13 The Machine Pack. 13.1 Hardware Interfaces. 13.2 The Printer. 13.3 Loading and Running Programs. 14 Firmware Jumpblocks. 14.1 The Main Jumpblock. 14.1.1 Entries to the Key Manager. 14.1.2 Entries to the TextVDU. 14.1.3 Entries to the Graphics VDU. 14.1.4 Entries to the Screen Pack. 14.1.5 Entries to the Cassette Manager. 14.1.6 Entries to the Sound Manager. 14.1.7 Entries to the Kernel. 14.1.8 Entries to the Machine Pack. 14.1.9 Entries to Jumper. 14.1.10 FurtherEntries. 14.2 Firmware Indirections. 14.2.1 Text VDU Indirections. 14.2.2 Graphics VDU Indirections. 14.2.3 Screen Pack Indirections. 14.2.4 Keyboard Manager Indirections. 14.2.5 Machine Pack Indirections. 14.2.6 Further Indirections. 14.3 The High Kernel Jumpblock. 14.4 The Low Kernel Jumpblock. 15 The Main Firmware Jumpblock.
16 The Firmware Indirections. 17 Kernel High Entries. 18 Low Entries to the Kernel. 19 AMSDOS ‘BIOS' Facilities 20 AMSDOS External Commands 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 Hardware and Hardware Variants. XIII Hints, Tips, and Workarounds. XIV Printer Translation Tables.
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 405 millisecondes et consultée 460 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|