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!)
 
(42 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Image:Amstrad RS232.jpg|thumb|right|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.
 +
 
 +
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.
  
 
== I/O Ports ==
 
== I/O Ports ==
  
   FADCh Amstrad RS323 Z8470 (Z80 DART) Channel A Data            (R/W)
+
Here are the I/O Ports (same for original and Pace version):
   FADDh Amstrad RS323 Z8470 (Z80 DART) Channel A Control/Status  (R/W)
+
 
   FADEh Amstrad RS323 Z8470 (Z80 DART) Channel B Data            (R/W)
+
   FADCh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel A Data            (R/W)
   FADFh Amstrad RS323 Z8470 (Z80 DART) Channel B Control/Status  (R/W)
+
   FADDh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel A Control/Status  (R/W)
   FBDCh Amstrad RS323 8253 Baudrate Timer 0 Channel A TX Clock    (R/W)
+
   FADEh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel B Data            (R/W)
   FBDDh Amstrad RS323 8253 Baudrate Timer 1 Channel A RX Clock    (R/W)
+
   FADFh Amstrad RS232 [[Z80-DART/Z80-SIO chip|Z8470 (Z80 DART)]] Channel B Control/Status  (R/W)
   FBDEh Amstrad RS323 8253 Baudrate Timer 2 Channel B RX/TX Clock (R/W)
+
   FBDCh Amstrad RS232 [[8253 chip|8253]] Baudrate Timer 0 Channel A TX Clock    (R/W)
   FBDFh Amstrad RS323 8253 Baudrate Timer 0-2 Control Registers  (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)
  
 
Note: Some interfaces might use a Z80 SIO (which is backwards compatible to the Z80 DART).
 
Note: Some interfaces might use a Z80 SIO (which is backwards compatible to the Z80 DART).
Line 34: Line 44:
 
* [[Z80-DART/Z80-SIO chip]]
 
* [[Z80-DART/Z80-SIO chip]]
 
* [[8253 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 ==
 
== 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. This included:
+
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.
  
* [[Ansiterm]] - a fast AMSDOS utility (also known as ANSI.ARC)
+
== Pictures ==
* [[Charley's Comms ROM]] - sideways ROM capable of 4800 baud terminal emulation
+
* [[ZMP]] - ZModem file transfer under CP/M
+
  
A vast range of comms software was available for [[CP/M]], including [[Bulletin board|bulletin board]] hosts, offline readers (notably [[CRR]] - CP/M Read and Reply), and many terminals.
+
<gallery caption="Amstrad's older original 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>
  
== 8250 Information (probably nonsense) ==
+
<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>
  
'''Below is information about the 8250 UART chip. As far as known, the Amstrad Serial Interface does NOT use that chip, a 8253 yes, but not a 8250. No idea why that information is here...?'''
+
<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>
  
Like the original interface, the Pace design used an 8250 [[UART]] chip (really???), 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.
+
== Schematic and More (CPS8256) ==
  
This [http://www.systemed.net/pcw/cps8256.html webpage about the CPS8256] (the Amstrad serial interface for the PCW) also includes some CPC information. Caution: that webpage seems to be confused/bugged. There is no 8250 chip used at all. Baudrate MSB/LSB are exchanged, and for both CPC and PCW, the clock source should be 2MHz instead of 1.84375MHz, etc.
+
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].
  
[http://en.wikipedia.org/wiki/8250_UART Linkt to Article on Wikipedia about the 8250 UART used in the interface]
+
<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>
  
== Manual ==
+
== Reviews ==  
  
[[Original Amstrad RS232 interface|Manual of the original RS232 by Amstrad (OCR)]]
+
<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>
  
== Pictures ==
+
== 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 ==
  
<gallery caption="Amstrad serial interface">
+
* [[Media:RS232101.ZIP|ROM Image for original version]] - 8K ROM
Image:amstrad RS232C.jpg|The original, flawed Amstrad serial interface
+
* [[Media:RS232Mercitel14.rom|ROM Image for Mercitel version]] - 16K ROM
Image:Amstrad rs232 1.jpg|The original, flawed Amstrad serial interface
+
* [[Media:AmstradPaceSerialInterfaceCommstarRomImage.zip|ROM Image for Pace version]] - Commstar 32K ROM (two 16K banks)
Image:Amstrad rs232 2.jpg|The original, flawed Amstrad serial interface
+
* [[Media:PACE232.ZIP|ROM Image for Pace version]] - Commstar 32K ROM
Image:Amstrad rs232 power1.jpg|The original powersupply that came with the interface</gallery>
+
  
[[Category:Hardware]] [[Category:Peripherals]] [[Category:Serial_interfaces]]
+
[[Category:Peripherals]][[Category:Network]][[Category:Communication Software]] [[Category:Serial_interfaces]][[Category:Amstrad Products]][[Category:Expansion ROM]]

Latest revision as of 07: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