Difference between revisions of "AMSSIO"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(AMSSIO)
m (Just a change of my website url)
 
(10 intermediate revisions by 2 users not shown)
Line 7: Line 7:
  
 
A new and improved version is the AMSSIO II.
 
A new and improved version is the AMSSIO II.
 +
 +
== Description ==
 +
 +
AMSSIO is a RS-232 serial interface for the CPC464 (and 664/6128) and it exists in three different versions which all uses the MC6850 asyncronous communication interface adapter (ACIA) from Motorola.
 +
 +
* The first version was based on components from the scrap yard. But the MC14411 is a bit bulky and by now rather old and somewhat hard to find. The second and third version was an attempt to work around the MC14411.
 +
* Version 2 uses a 4060 ripple counter as clock generator. But it can be tricky to make it operate at 2.5 MHz. This was the reason for version 3...
 +
* The version 3 uses a 74LS393 to divide the 4 MHz CPU clock by 26 to obtain the 153 kHz for the serial clock (9600 * 16).
 +
 +
"I couldn't get the software to receive faster than 9600 :-( But it was at least 4 times faster than the tape transfer rate :-)."
 +
All three versions are supposed to use the CPU socket in the CPC. The CPU socket on AMSSIO is meant to be a wire wrap socket. The CPU is removed from the CPC main board. AMSSIO is mounted in the empty socket and the CPU is placed in the 40 pin socket on the AMSSIO.
  
 
== Technical ==
 
== Technical ==
  
Connects between Z80 CPU and mainboard. Uses a 1.8432MHz oscillator, MC14411P bit rate generator, a 6850 ACIA, a MAX232 voltage converter, and 74LS04 and 74LS08 logic chips.
+
=== AMSSIO (v1,v2,v3) ===
 +
Connects between Z80 CPU and mainboard. I/O Ports for AMSSIO v1,v2,v3 are:
 +
 
 +
FBF0h AMSSIO Serial Interface [[6850 ACIA chip|MC6850]] Control/Status Register (R/W)
 +
FBF1h AMSSIO Serial Interface [[6850 ACIA chip|MC6850]] Data Register (R/W)
 +
 
 +
For details on the MC6850 chip, see [[6850 ACIA chip]].
 +
 
 +
Observe that the baudrate CLK sources differ for v1,v2,v3. In v3 the CLK is fixed, v1/v2 have different jumper-selectable CLKs. And, the photo shows a different CLK crystal than the schematic. So, don't expect different AMSSIOs to be compatible with each other.
 +
 
 +
=== AMSSIO-II (v4) ===
 +
 
 +
AMSSIO-II is a newer version, using a 44pin 16C850CJ instead of the 24pin MC6850. Aside from the schematic (see below), there is no documentation or source code for AMSSIO-II. I/O base address can be FBE0h or FBF0h (jumper-selectable). Unlike the previous versions, this version also connects to the Z80's interrupt input.
  
Port addresses, schematics, and differences between versions I-III are unknown (the AMSSIO webpage doesn't exist anymore).
+
The "PC" attached to the "16C850CJ" part number (labeled as "16C850CJPC" in schematic) is meant to say that the chip is wired to "PC Mode" (SEL, Pin 34 = GND). In the PC Mode, the chip tries to decode PC ISA bus addresses (COM1-4 = 3F8h,2F8h,3E8h,2E8h), some address lines are swapped, so the AMSSIO maps to FBE0h or FBF0h (selected by S1 input) whilst the chip "thinks" it is mapped to COM3/COM4 ISA bus addresses (3E8h/2E8h). ''Unclear: the jumper on S1 should change "A8" - but the schematic is wired as if "A4" changes - which would require a jumper on S2, not on S1 (?)''
  
* [[6850 ACIA chip]]
+
* [[Media:XR16C850.pdf]] - 16C850 Datasheet
  
 
== Software ==
 
== Software ==
Line 27: Line 50:
  
 
<gallery>
 
<gallery>
Image:Amssio sch 1.JPG | AMSSIO version 1.0
+
Image:Amssio sch 1.JPG | AMSSIO version 1.0 (6850-based, sixteen jumper-selectable clock sources)
Image:Amssio sch 2.jpg | AMSSIO version 2.0
+
Image:Amssio sch 2.jpg | AMSSIO version 2.0 (6850-based, four jumper-selectable clock sources)
Image:Amssio sch 3.jpg | AMSSIO version 3.0
+
Image:Amssio sch 3.jpg | AMSSIO version 3.0 (6850-based, single clock source)
 
</gallery>
 
</gallery>
 
* '''PLEASE NOTE: The schematics and files have a few errors:'''
 
* '''PLEASE NOTE: The schematics and files have a few errors:'''
** MC6850 pin 7 (/IRQ output) is connected to Vcc, but should be left unconnected.
+
** MC6850 pin 7 (/IRQ output, in v1-v3) is connected to Vcc, but should be left unconnected.
 
** The signal marked 153.8MHz (in v3) is, of course, 153.8kHz (4MHz/13/2).
 
** The signal marked 153.8MHz (in v3) is, of course, 153.8kHz (4MHz/13/2).
 
** The photo seems to show v1 and uses 1.8432MHz crystal, whilst schematic v1 uses 10MHz (?)
 
** The photo seems to show v1 and uses 1.8432MHz crystal, whilst schematic v1 uses 10MHz (?)
Line 40: Line 63:
  
 
<gallery>
 
<gallery>
Image:Amssio-ii.jpg | AMSSIO-II (or AMSSIO version 4.0)
+
Image:Amssio-ii.jpg | AMSSIO-II (or AMSSIO version 4.0) (not 6850-based)
 
</gallery>
 
</gallery>
  
Line 49: Line 72:
 
== Weblinks ==
 
== Weblinks ==
  
[http://www.citystromer.dk/CPC/ AMSSIO project <s>lives</s> sleeps here!]
+
[http://www.zacho.org/CPC/ AMSSIO project <s>lives</s> sleeps here!]
  
[[Category:Hardware]] [[Category:Peripherals]] [[Category:Serial interfaces]] [[Category:DIY]]
+
[[Category:Peripherals]] [[Category:Serial interfaces]] [[Category:DIY]]

Latest revision as of 15:46, 11 April 2016

The AMSSIO mounted inside a CPC464

The AMSSIO interface is a RS232 interface by the dane, Martin Zacho. As opposed to other serial interfaces the AMSSIO is meant to be installed on top of the Z80 CPU in the CPC. However the circuit can easily be built on a breadboard and connected to the expansion port as well.

AMSSIO exists in 3 different versions.

A new and improved version is the AMSSIO II.

Description

AMSSIO is a RS-232 serial interface for the CPC464 (and 664/6128) and it exists in three different versions which all uses the MC6850 asyncronous communication interface adapter (ACIA) from Motorola.

  • The first version was based on components from the scrap yard. But the MC14411 is a bit bulky and by now rather old and somewhat hard to find. The second and third version was an attempt to work around the MC14411.
  • Version 2 uses a 4060 ripple counter as clock generator. But it can be tricky to make it operate at 2.5 MHz. This was the reason for version 3...
  • The version 3 uses a 74LS393 to divide the 4 MHz CPU clock by 26 to obtain the 153 kHz for the serial clock (9600 * 16).

"I couldn't get the software to receive faster than 9600 :-( But it was at least 4 times faster than the tape transfer rate :-)." All three versions are supposed to use the CPU socket in the CPC. The CPU socket on AMSSIO is meant to be a wire wrap socket. The CPU is removed from the CPC main board. AMSSIO is mounted in the empty socket and the CPU is placed in the 40 pin socket on the AMSSIO.

Technical

AMSSIO (v1,v2,v3)

Connects between Z80 CPU and mainboard. I/O Ports for AMSSIO v1,v2,v3 are:

FBF0h AMSSIO Serial Interface MC6850 Control/Status Register (R/W)
FBF1h AMSSIO Serial Interface MC6850 Data Register (R/W)

For details on the MC6850 chip, see 6850 ACIA chip.

Observe that the baudrate CLK sources differ for v1,v2,v3. In v3 the CLK is fixed, v1/v2 have different jumper-selectable CLKs. And, the photo shows a different CLK crystal than the schematic. So, don't expect different AMSSIOs to be compatible with each other.

AMSSIO-II (v4)

AMSSIO-II is a newer version, using a 44pin 16C850CJ instead of the 24pin MC6850. Aside from the schematic (see below), there is no documentation or source code for AMSSIO-II. I/O base address can be FBE0h or FBF0h (jumper-selectable). Unlike the previous versions, this version also connects to the Z80's interrupt input.

The "PC" attached to the "16C850CJ" part number (labeled as "16C850CJPC" in schematic) is meant to say that the chip is wired to "PC Mode" (SEL, Pin 34 = GND). In the PC Mode, the chip tries to decode PC ISA bus addresses (COM1-4 = 3F8h,2F8h,3E8h,2E8h), some address lines are swapped, so the AMSSIO maps to FBE0h or FBF0h (selected by S1 input) whilst the chip "thinks" it is mapped to COM3/COM4 ISA bus addresses (3E8h/2E8h). Unclear: the jumper on S1 should change "A8" - but the schematic is wired as if "A4" changes - which would require a jumper on S2, not on S1 (?)

Software

The software for AMSSIO can simulate a disk drive and a printer on a PC connected via RS-232. The software comes in two parts. The first part is for the CPC. It replaces relevant parts of the jump block, redirecting disc and printer access via RS-232. The second part is called CPCSHELL and runs on a PC under DOS or Linux. Part of the PC harddisk can be used as a giant CPC disk via this mechanism.

A spare PC can therefore be used as a method to add a cheap harddisk to the CPC. Although the software required on the CPC reduces compatibility somewhat it works for most well behaved applications and games that consist of a single binary (no special loader).

Schematics

AMSSIO

  • PLEASE NOTE: The schematics and files have a few errors:
    • MC6850 pin 7 (/IRQ output, in v1-v3) is connected to Vcc, but should be left unconnected.
    • The signal marked 153.8MHz (in v3) is, of course, 153.8kHz (4MHz/13/2).
    • The photo seems to show v1 and uses 1.8432MHz crystal, whilst schematic v1 uses 10MHz (?)
  • Note: The Z80 CPU shown in schematic is your CPC's built-in CPU (mounted piggy-back on the AMSSIO cart)

AMSSIO-II

Other RS232 interfaces for the CPC

RS232

Weblinks

AMSSIO project lives sleeps here!