Changes

Jump to: navigation, search

Amstrad CSD

985 bytes added, 09:19, 1 August 2012
/* Technical */
bits 7..4: are cartridge number
bits 3..0: ???
 
== The CSD System Cartridge ==
 
The system cartridge uses the following plus features:
* sprites
* palette
* raster interrupts
 
The software reads each of the 12 slots to determine if there is a cartridge installed. It also looks for a specific header which can be recreated with the following code:
 
org &0000
start:
;; a standard cartridge is executed here when inserted into
;; a CPC+.
jp start1 ;; a JP instruction at &0000
defb "AMS" ;; this is the important identification
jp start2 ;; a JP instruction at &0006
jp start3 ;; a JP instruction at &0009
start1:
ld bc,&7f00
out (c),c
ld bc,&7f4f
out (c),c
jp start1
start2:
ld bc,&7f00
out (c),c
ld bc,&7f4b
out (c),c
jp start2
 
start3:
ld bc,&7f00
out (c),c
ld bc,&7f40
out (c),c
jp start3
end start
 
Offset 0 is the normal execution point for cartridges when run on GX4000 and Plus.
 
It is believed the others are for a rolling demonstration mode, and a play mode that is limited.
== Pictures ==
2,541
edits