Difference between revisions of "Amstrad CSD"
m |
|||
(10 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
The Amstrad CSD was a machine that was in-store to demonstrate the hardware of the Amstrad plus. | The Amstrad CSD was a machine that was in-store to demonstrate the hardware of the Amstrad plus. | ||
− | It had a system cartridge which contained a menu, and could hold a | + | It had a system cartridge which contained a menu, and could hold a further 12 cartridges. |
It has additional hardware to allow switching of cartridges. | It has additional hardware to allow switching of cartridges. | ||
Line 10: | Line 10: | ||
Lots of information is not known at this time. | Lots of information is not known at this time. | ||
− | It uses ports fbe0-fbe3. The exact decoding of these ports is unknown. | + | It uses ports fbe0-fbe3. The exact decoding and operation of these ports is unknown. |
− | fbe0 is read only it seems | + | fbe0 |
− | bits 7..4 seem to be related to the dip switches on the CSD | + | |
− | bit 7 seems to be fixed to GND/0v. | + | This port is read only it seems. |
+ | bits 7..4 seem to be related to the dip switches on the CSD | ||
+ | with bit 7 seems to be fixed to GND/0v. | ||
+ | |||
bit 6,5 is the timer value. It is the time allowed between choosing next cartridge to play. | bit 6,5 is the timer value. It is the time allowed between choosing next cartridge to play. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | bit 6, bit 5 | ||
+ | |||
+ | off off = 8s 1 1 | ||
+ | off on = 16s 1 0 | ||
+ | on off = 24s 0 1 | ||
+ | on on = 32s 0 0 | ||
+ | |||
+ | bit 4 seems to be timer on/off for time limited play. | ||
+ | |||
+ | bits 3..0 are defined by the dial | ||
+ | bit 3 is ignored. | ||
+ | |||
0 = forever? | 0 = forever? | ||
1 = 8s, | 1 = 8s, | ||
2 = 56s | 2 = 56s | ||
+ | |||
+ | fbe2 is read only it seems | ||
+ | bits 7..3 are the currently selected cartridge | ||
+ | bits 3..0 ??? | ||
+ | |||
+ | fbe1 is writeable | ||
+ | bits 7,6: ??? | ||
+ | bits 5..0: are cartridge number?? | ||
+ | |||
+ | fbe3 is writeable: | ||
+ | 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. | ||
+ | |||
+ | The only cartridge to have this header is [[Pang (cartridge)|Pang]]. | ||
== Pictures == | == Pictures == | ||
Line 52: | Line 106: | ||
Image:csddaughter.jpg | Image:csddaughter.jpg | ||
</gallery> | </gallery> | ||
+ | == Download == | ||
+ | |||
+ | * [[Media:CSD Jukebox.cpr]] (JukeBox Cartridge .CPR file) | ||
+ | |||
+ | |||
Courtesy of Amstrad.cpc.free.fr | Courtesy of Amstrad.cpc.free.fr | ||
− | [[Category:Hardware]][[Category:CPC Plus]][[Category:Amstrad Products]][[Category:Cartridges]] | + | [[Category:Hardware]][[Category:CPC Plus]][[Category:Amstrad Products]][[Category:Cartridges]][[Category:Expansion ROM]] |
Latest revision as of 17:50, 5 August 2024
The Amstrad CSD was a machine that was in-store to demonstrate the hardware of the Amstrad plus.
It had a system cartridge which contained a menu, and could hold a further 12 cartridges.
It has additional hardware to allow switching of cartridges.
Technical
The information was derived from the software. It is not completely accurate. Lots of information is not known at this time.
It uses ports fbe0-fbe3. The exact decoding and operation of these ports is unknown.
fbe0 This port is read only it seems. bits 7..4 seem to be related to the dip switches on the CSD with bit 7 seems to be fixed to GND/0v. bit 6,5 is the timer value. It is the time allowed between choosing next cartridge to play.
bit 6, bit 5 off off = 8s 1 1 off on = 16s 1 0 on off = 24s 0 1 on on = 32s 0 0 bit 4 seems to be timer on/off for time limited play. bits 3..0 are defined by the dial bit 3 is ignored. 0 = forever? 1 = 8s, 2 = 56s fbe2 is read only it seems bits 7..3 are the currently selected cartridge bits 3..0 ??? fbe1 is writeable bits 7,6: ??? bits 5..0: are cartridge number?? fbe3 is writeable: 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.
The only cartridge to have this header is Pang.
Pictures
Download
- Media:CSD Jukebox.cpr (JukeBox Cartridge .CPR file)
Courtesy of Amstrad.cpc.free.fr