Difference between revisions of "Amstrad Serial Interface"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Original serial interface (1985): Nothing bad about an external PSU!)
 
(55 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Image:Amstrad RS232.jpg|right|thumb|250px|The Pace RS232 interface, as sold by Amstrad]]
+
[[Image:Amstrad RS232.jpg|thumb|right|250px|The Pace RS232 interface, as sold by Amstrad]]
  
[[Amstrad]] released two [[RS232]] interfaces, both using the same input/output addresses - and, ultimately, therefore establishing the standard for serial interfaces - but with significantly different hardware.
+
== The two Amstrad Interfaces ==
  
== Original serial interface ==
+
[[Amstrad]] released two [[RS232]] interfaces, both using the same input/output addresses - and, ultimately, therefore establishing the standard for serial interfaces.
  
Amstrad's first serial interface was one of the original peripherals released for the CPC. It was remarkable (in a bad way) for the necessity for an external, brick-like power supply.
+
The main difference between the interfaces is that they contain different firmware, and the older one required an external power supply.
 +
 
 +
=== Original serial interface (1985) ===
 +
 
 +
Amstrad's first serial interface was one of the original peripherals released for the CPC. It was remarkable for the necessity for an external, brick-like power supply.
  
 
Software was supplied on ROM, mostly comprising utility commands for hobbyists rather than a comms application per se - though there was limited terminal emulation for connecting to the then-popular [[Prestel]] service]. The original, UK version included commands for file transfer entitled |SUCK and |BLOW, which used a proprietary Amstrad format similar to [[XModem]]-1k but, annoyingly, subtly incompatible. These commands were reputedly renamed for the US edition to avoid causing offence.
 
Software was supplied on ROM, mostly comprising utility commands for hobbyists rather than a comms application per se - though there was limited terminal emulation for connecting to the then-popular [[Prestel]] service]. The original, UK version included commands for file transfer entitled |SUCK and |BLOW, which used a proprietary Amstrad format similar to [[XModem]]-1k but, annoyingly, subtly incompatible. These commands were reputedly renamed for the US edition to avoid causing offence.
 +
 +
The French company [[M.E.R.C.I.]] sold a custom version of this interface, replacing the original 8k ROM with an 16k Rom adding a [http://en.wikipedia.org/wiki/Minitel minitel] emulator.
  
 
Because of the external power supply and the poor quality of the software, this model failed to establish itself as the "standard" serial interface in the way that (say) the [[DDI-1]] did for disc drives. This allowed other serial interfaces to flourish, such as those sold by [[Cirkit]] and [[KDS]].
 
Because of the external power supply and the poor quality of the software, this model failed to establish itself as the "standard" serial interface in the way that (say) the [[DDI-1]] did for disc drives. This allowed other serial interfaces to flourish, such as those sold by [[Cirkit]] and [[KDS]].
  
== Pace serial interface ==
+
=== Pace serial interface (1986) ===
  
As a result, Amstrad dropped their original design and instead chose to remanufacture a [[Pace]] design. This included significantly improved hardware (a more compact interface and no external PSU) and vastly superior software.
+
As a result, Amstrad dropped their original design and instead chose to remanufacture a [[PACE]] design. This included improved hardware (a more compact interface thanks to SMD components and no external PSU) and vastly superior software. However, this redesign also reduced the quality of RS232 signalling by using 0V/5V output voltage instead of -12V/12V.
  
The software was a ROM version of Pace's terminal utility, [[Commstar]]. This was a user-friendly program with standard [[XModem]] file transfer functions. However, one foolish design decision was the idea of using a 24x80 screen with a single-line status display - though presenting a good user interface, this forced the use of software rather than hardware scrolling, making the interface unusable for terminal emulation at any speed above 2400 baud.
+
The software was a ROM version of the [[Commstar]] terminal utility from [[HoneySoft]]. This was a user-friendly program with standard [[XModem]] file transfer functions. However, one foolish design decision was the idea of using a 24x80 screen with a single-line status display - though presenting a good user interface, this forced the use of software rather than hardware scrolling, making the interface unusable for terminal emulation at any speed above 2400 baud.
  
Like the original interface, the Pace design used an 8250 [[UART]] chip, which was reliable up to 9600 baud and could sometimes function at faster speeds. The possibility has been discussed of replacing this with a pin-compatible 16550 and gaining even faster transfer speeds, but this is not believed to have been tested.
+
The Amstrad/Pace version was announced on [[:File:ACU8612006.jpg|Amstrad Computer User, Dec 1986, page 6]]. A review occured in Amstrad Computer User, April 1987, pages 46 and 47.
  
== Alternative software ==
+
== I/O Ports ==
  
The limitations of the Commstar software, and the desire to use more recently developed file transfer protocols (such as [[XModem]]-1k, [[YModem]] and [[ZModem]]) meant that many users chose to use their Amstrad serial interface with third-party software. This included:
+
Here are the I/O Ports (same for original and Pace version):
  
* [[Ansiterm]] - a fast AMSDOS utility (also known as ANSI.ARC)
+
  FADCh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel A Data            (R/W)
* [[Charley's Comms ROM]] - sideways ROM capable of 4800 baud terminal emulation
+
  FADDh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel A Control/Status  (R/W)
* [[ZMP]] - ZModem file transfer under CP/M
+
  FADEh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel B Data            (R/W)
 +
  FADFh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel B Control/Status  (R/W)
 +
  FBDCh Amstrad RS232 [[8253 chip|8253]] Baudrate Timer 0 Channel A TX Clock    (R/W)
 +
  FBDDh Amstrad RS232 [[8253 chip|8253]] Baudrate Timer 1 Channel A RX Clock    (R/W)
 +
  FBDEh Amstrad RS232 [[8253 chip|8253]] Baudrate Timer 2 Channel B RX/TX Clock (R/W)
 +
  FBDFh Amstrad RS232 [[8253 chip|8253]] Baudrate Timer 0-2 Control Registers  (W)
  
A vast range of comms software was available for [[CP/M]], including [[bulletin board]] hosts, offline readers (notably [[CRR]] - CP/M Read and Reply), and many terminals.
+
Note: Some interfaces might use a Z80 SIO (which is backwards compatible to the Z80 DART).
  
== Technical specs ==
+
For details on the I/O ports, see:
  
This [http://www.systemed.net/pcw/cps8256.html webpage about the CPS8256] (the Amstrad serial interface for the PCW) also includes some useful CPC information (and may be worth converting in due course).
+
* [[Z80-DART/Z80-SIO chip]]
 +
* [[8253 chip]]
 +
 
 +
Although the Z80-DART (and Z80-SIO) support two channels, most or all existing CPC interfaces seem to use only one channel.
 +
 
 +
== CP/M ==
 +
 
 +
The I/O ports are directly supported under CP/M (without needing additional drivers). Like many CP/M functions, the functions are located in the AMSDOS ROM (not on the CP/M disc). These functions are using hardcoded RAM addresses, which conflict with the BASIC memory map, so they can be used only under CP/M, not under BASIC.
 +
 
 +
== Alternative software ==
 +
 
 +
The limitations of the [[Commstar]] software, and the desire to use more recently developed file transfer protocols (such as [[XModem]]-1k, [[YModem]] and [[ZModem]]) meant that many users chose to use their Amstrad serial interface with third-party software.
  
 
== Pictures ==
 
== Pictures ==
  
<gallery caption="Amstrad serial interface">
+
<gallery caption="Amstrad's older original serial interface">
Image:amstrad RS232C.jpg|The original, flawed Amstrad serial interface
+
Image:amstrad RS232C.jpg|The original Amstrad serial interface
 +
Image:Amstrad rs232 1.jpg|The original Amstrad serial interface
 +
Image:Amstrad rs232 2.jpg|The original Amstrad serial interface
 +
Image:Amstrad rs232 power1.jpg|The original powersupply that came with the interface
 +
Image:AmstradRS232PSU_Rating.jpg|The original powersupply rating
 +
Image:Amstrad RS232C Box.jpg|Old interface, boxed
 +
Image:Amstrad RS232C Device.jpg|Old interface with PSU
 +
Image:Amstrad RS232C PCB.jpg|Old interface, PCB
 
</gallery>
 
</gallery>
  
[[Category:Peripherals]]
+
<gallery caption="Amstrad's original interface 300dpi scans">
 +
Image:Amstrad_RS232C_Top_EN.jpg|Interface Top (English)
 +
Image:Amstrad_RS232C_Top_FR.jpg|Interface Top (French)
 +
Image:Amstrad_RS232C_PCB_Top.jpg|Interface PCB Top
 +
Image:Amstrad_RS232C_PCB_Bottom.jpg|Interface PCB Bottom
 +
</gallery>
 +
 
 +
<gallery caption="Amstrad's newer Pace serial interface">
 +
File:Amstrad RS232.jpg|Newer Amstrad/Pace Interface
 +
File:Amstrad_RS232_Pace_Interface.jpg|Pace Interface
 +
File:Amstrad_RS232_Pace_PCB_Top.jpg|PCB Top
 +
File:Amstrad_RS232_Pace_PCB_Bottom.jpg|PCB Bottom
 +
File:ACU8701002.jpg|Advert (ACU, January 1987)
 +
</gallery>
 +
 
 +
== Schematic and More (CPS8256) ==
 +
 
 +
Below shows schematic and pictures for the CPS8256 Serial Interface (for the Amstrad PCW, aka Schneider Joyce), ie. it is ''not'' really CPC hardware, however, the CPC interface should use a similar design (the major difference is probably that the CPC version contains a BIOS ROM, but no Centronics port). Credits: The gif and jpg's are from [http://www.z80.eu/cps8256.html www.z80.eu].
 +
 
 +
<gallery caption="CPS8256">
 +
File:Cps8256-circuit.gif|Schematic
 +
File:Cps8256-case-lower.jpg|Case lower side
 +
File:Cps8256-case-upper.jpg|Case upper side
 +
File:Cps8256-pcb-component-side.jpg|Component side
 +
File:Cps8256-pcb-component-noadd2.jpg|Without components
 +
File:Cps8256-pcb-layer-side.jpg|Solder side
 +
File:Cps8256-additional-pcb-side.jpg|Voltage converter
 +
File:Cps8256-additional-pcb-upper.jpg|Voltage converter
 +
</gallery>
 +
 
 +
== Reviews ==
 +
 
 +
<gallery>
 +
image:Amstrad_Computer_User8509025.jpg|Review in [[Amstrad Computer User]]
 +
image:Amstrad_Computer_User8509026.jpg|
 +
image:Amstrad_Computer_User8509027.jpg|
 +
image:Amstrad_Computer_User8509028.jpg|
 +
</gallery>
 +
 
 +
== Manuals ==
 +
 
 +
* [[Media:RS232C Serial Interface (Amsoft UK) Manual.pdf|RS232C Serial Interface (Amsoft UK) Manual]] {{EN}} {{PDF}}
 +
* [[Media:RS232C Interface Serie (Amsoft FR) Manual.pdf|RS232C Interface Serie (Amsoft FR) Manual]] {{FR}} {{PDF}}
 +
* [[Original Amstrad RS232 interface|Manual of the original RS232 by Amstrad (OCR)]]
 +
* [[Media:RS232 (Pace) Manual.pdf|RS232 (Pace) Manual]] {{EN}} {{PDF}}
 +
 
 +
== Downloads ==
 +
 
 +
* [[Media:RS232101.ZIP|ROM Image for original version]] - 8K ROM
 +
* [[Media:RS232Mercitel14.rom|ROM Image for Mercitel version]] - 16K ROM
 +
* [[Media:AmstradPaceSerialInterfaceCommstarRomImage.zip|ROM Image for Pace version]] - Commstar 32K ROM (two 16K banks)
 +
* [[Media:PACE232.ZIP|ROM Image for Pace version]] - Commstar 32K ROM
 +
 
 +
[[Category:Peripherals]][[Category:Network]][[Category:Communication Software]] [[Category:Serial_interfaces]][[Category:Amstrad Products]][[Category:Expansion ROM]]

Latest revision as of 06:43, 11 April 2019

The Pace RS232 interface, as sold by Amstrad

The two Amstrad Interfaces

Amstrad released two RS232 interfaces, both using the same input/output addresses - and, ultimately, therefore establishing the standard for serial interfaces.

The main difference between the interfaces is that they contain different firmware, and the older one required an external power supply.

Original serial interface (1985)

Amstrad's first serial interface was one of the original peripherals released for the CPC. It was remarkable for the necessity for an external, brick-like power supply.

Software was supplied on ROM, mostly comprising utility commands for hobbyists rather than a comms application per se - though there was limited terminal emulation for connecting to the then-popular Prestel service]. The original, UK version included commands for file transfer entitled |SUCK and |BLOW, which used a proprietary Amstrad format similar to XModem-1k but, annoyingly, subtly incompatible. These commands were reputedly renamed for the US edition to avoid causing offence.

The French company M.E.R.C.I. sold a custom version of this interface, replacing the original 8k ROM with an 16k Rom adding a minitel emulator.

Because of the external power supply and the poor quality of the software, this model failed to establish itself as the "standard" serial interface in the way that (say) the DDI-1 did for disc drives. This allowed other serial interfaces to flourish, such as those sold by Cirkit and KDS.

Pace serial interface (1986)

As a result, Amstrad dropped their original design and instead chose to remanufacture a PACE design. This included improved hardware (a more compact interface thanks to SMD components and no external PSU) and vastly superior software. However, this redesign also reduced the quality of RS232 signalling by using 0V/5V output voltage instead of -12V/12V.

The software was a ROM version of the Commstar terminal utility from HoneySoft. This was a user-friendly program with standard XModem file transfer functions. However, one foolish design decision was the idea of using a 24x80 screen with a single-line status display - though presenting a good user interface, this forced the use of software rather than hardware scrolling, making the interface unusable for terminal emulation at any speed above 2400 baud.

The Amstrad/Pace version was announced on Amstrad Computer User, Dec 1986, page 6. A review occured in Amstrad Computer User, April 1987, pages 46 and 47.

I/O Ports

Here are the I/O Ports (same for original and Pace version):

 FADCh Amstrad RS232 Z8470 (Z80 DART) Channel A Data             (R/W)
 FADDh Amstrad RS232 Z8470 (Z80 DART) Channel A Control/Status   (R/W)
 FADEh Amstrad RS232 Z8470 (Z80 DART) Channel B Data             (R/W)
 FADFh Amstrad RS232 Z8470 (Z80 DART) Channel B Control/Status   (R/W)
 FBDCh Amstrad RS232 8253 Baudrate Timer 0 Channel A TX Clock    (R/W)
 FBDDh Amstrad RS232 8253 Baudrate Timer 1 Channel A RX Clock    (R/W)
 FBDEh Amstrad RS232 8253 Baudrate Timer 2 Channel B RX/TX Clock (R/W)
 FBDFh Amstrad RS232 8253 Baudrate Timer 0-2 Control Registers   (W)

Note: Some interfaces might use a Z80 SIO (which is backwards compatible to the Z80 DART).

For details on the I/O ports, see:

Although the Z80-DART (and Z80-SIO) support two channels, most or all existing CPC interfaces seem to use only one channel.

CP/M

The I/O ports are directly supported under CP/M (without needing additional drivers). Like many CP/M functions, the functions are located in the AMSDOS ROM (not on the CP/M disc). These functions are using hardcoded RAM addresses, which conflict with the BASIC memory map, so they can be used only under CP/M, not under BASIC.

Alternative software

The limitations of the Commstar software, and the desire to use more recently developed file transfer protocols (such as XModem-1k, YModem and ZModem) meant that many users chose to use their Amstrad serial interface with third-party software.

Pictures

Schematic and More (CPS8256)

Below shows schematic and pictures for the CPS8256 Serial Interface (for the Amstrad PCW, aka Schneider Joyce), ie. it is not really CPC hardware, however, the CPC interface should use a similar design (the major difference is probably that the CPC version contains a BIOS ROM, but no Centronics port). Credits: The gif and jpg's are from www.z80.eu.

Reviews

Manuals

Downloads