CPCISA

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Prototype of the CPCISA card

What it is

CPCISA is a project created by Siou, also hosted/worked on at Yarek.

Basically, it is a hardware add-on that lets you connect ISA cards to your old CPC! Some examples of what it can offer:

  • An I/O interface (Serial and parallel ports, Floppy and IDE ports)
  • An internal (card) modem (probably a full-featured modem is needed; that is, not a winmodem/softmodem)
  • A SoundBlaster card (or 100% compatible)
  • A network card

ISA cards were almost fully supported, including 16-bit mode and vectorized interrupts(thru Z80 IM2). Only video cards were not supported (CPCISA decodes only I/O ports, not memory mapped VRAM).

Status

The card is working, however only five of them were built (including the initial dev board). This is because the card was complex and outdated, ISA peripherals and the AT standard became old and difficult to find.

Most CPCISA software were created by Siou himself (IDE hard disk, ethernet and mouse drivers, as well a an audio sample player thru SoundBlaster 8-bit interface). Initial OS support was done by Futur's with a set of two ROMs ("Interrupt Lib" ROM to add vectorized interrupt support to Locomotive Firmware, and "ISA ROM" with low level ISA routines). Madram also created an Adlib music player supporting SA2 module files, which was later adapted by PulkoMandy to play these modules with the Willy card equipped with a OPL3LPT device.

It was mostly a proof of concept; none of the drivers and software came to a state really usable for the end user (no filesystem support, no TCP/IP stack...).

CPCISA ports for ISA cards

Device PC I/O range CPCISA high CPCISA low
IDE1 1F0h..1F7h #FDF0..#FDF7 #FFF0..#FFF7
IDE2 170h..177h #FD70..#FD77 #FF70..#FF77
Joystick 201h..201h #FC01..#FC01 #FE01..#FE01
Ethernet 210h..21Fh #FC10..#FC1F #FE10..#FE1F
Sound Blaster 220h..23Fh #FC20..#FC3F #FE20..#FE3F
LPT2 278h..27Fh #FC78..#FC7F #FE78..#FE7F
COM1 2F8h..2FFh #FCF8..#FCFF #FEF8..#FEFF
MIDI' 300h..301h #FD00..#FD01 #FF00..#FF01
MIDI 330h..331h #FD30..#FD31 #FF30..#FF31
Sound control 370h..371h #FD70..#FD71 #FF70..#FF71
FDC1 372h..377h #FD72..#FD77 #FF72..#FF77
LPT1 378h..37Fh #FD78..#FD7F #FF78..#FF7F
Sound AD-LIB 388h..38Bh #FD88..#FD8B #FF88..#FF8B
VGA 3B0h..3BBh #FDB0..#FDBB #FFB0..#FFBB
LPT3 3BCh..3BFh #FDBC..#FDBF #FFBC..#FFBF
VGA 3C0h..3DFh #FDC0..#FDCF #FFC0..#FFCF
FDC1 3F2h..3F7h #FDF2..#FDF7 #FFF2..#FFF7
COM1 3F8h..3FFh #FDF8..#FDFF #FFF8..#FFFF

CPCISA ports for ISA motherboard

Device PC I/O range CPCISA high CPCISA low
DMA 000h..00Fh #FC00..#FC0F #FE00..#FE0F
interrupt 020h..03Fh #FC20..#FC3F #FE20..#FE3F
counter 040h..05Fh #FC40..#FC5F #FE40..#FE5F
keyboard 060h..067h #FC60..#FC67 #FE60..#FE67
RTC 070h..071h #FC70..#FC71 #FE70..#FE71
DMA 080h..08Fh #FC80..#FC8F #FE80..#FE8F
DMA 0C0h..0DFh #FCC0..#FCDF #FEC0..#FEDF
interrupt 0A0h..0BFh #FCA0..#FCBF #FEA0..#FEBF

Additional info