Difference between revisions of "Amstrad CSD"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Technical)
Line 43: Line 43:
 
bits 7..4: are cartridge number
 
bits 7..4: are cartridge number
 
bits 3..0: ???
 
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 ==
 
== Pictures ==

Revision as of 05:19, 1 August 2012

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 furthur 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 of these ports is unknown.

fbe0 is read only it seems

bits 7..4 seem to be related to the dip switches on the CSD

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 = 8			1 1
off on = 16			1 0
on off = 24			0 1
on on = 32 			0 0

bit 4 seems to be timer on/off for time limited play. fbe0 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.

Pictures

Download


Courtesy of Amstrad.cpc.free.fr