Monday, April 11, 2016

The Amstrad PC-1512 : The Affordable IBM PC Compatible for Europe

The Amstrad PC1512, What you See is the Hardware you Got (credit to wikipedia)
In 1986, Amstrad released the PC-1512 for in the United Kingdom.  Amstrad was a leading manufacturer of home computers, having launched the successful CPC series and by 1986, having bought Sinclair Research and would release more computers in the ZX Spectrum line.  However, both the CPC and Speccy's were known more for and better at playing video games than serious work.  Unfortunately, the standard business computer of the day, the IBM PC and clones, was very expensive.  The cost of a minimally configured PC compatible or clone was well out of the price range of most European consumers.

Neither of Amstrad's key computer lines were IBM PC compatible so Amstrad decided to design their own PC Compatible.  The solution they came up with was innovative in many ways but a bit limited in others. Enter the PC-1512.

The Amstrad PC-1512 uses an 8086 CPU running at 8MHz like the Tandy SL, SL/2 or the IBM PS/2 Models 25 & 30, but it came earlier than either machine.  The CPU is in a socket, so it can be upgraded to a V30 for increased performance.  The stock system came with 512KB of parity memory, which was very reasonable for a low cost PC clone at this time.  (The Tandy 1000 EX and HX came with half that and the SX came with 384KB, all non-parity).  The RAM can be upgraded to 640KB with eighteen standard 64Kx1 DRAMs, 150ns or better.  It also has a socket for an 8087 Math Coprocessor and a built-in floppy controller with DMA.

The PC-1512 came with one or two half height 5.25" drives, and in this regard looks very similar to a Japanese NEC PC-8801 or 9801 machine.  The keyboard is based off the IBM 83 key keyboard with many improvements to the layout.  It has 85 keys and looks like an IBM PC AT keyboard. Apparently the PC-1512 was released in the United States, but it was not popular.  Likewise, the Tandy 1000s were released in the U.K. and Europe, but were not popular.  The US and UK keyboard are almost identical and the UK keyboard is rather US friendly in terms of key layout.  The keyboard is not compatible with any IBM-compatible keyboard, but there does exist at least one compatible 102-key keyboard.  Early Northgate Omnikey keyboards also have Amstrad compatibility with a special cable.

Input was also very innovative for the time.  The system came with a mouse out of the box, which was always a separate purchase for other IBM PC compatibles of this time.  The Amstrad mouse is extremely ugly looking, even by the miserable mousing standards of the 1980s. It looks like the designer was inspired by the Moai statues of Easter Island.  You should be able to build an adapter to allow a bus mouse which sends pure quadrature signals to work in the PC-1512.  I believe an Atari ST mouse may also be compatible.  I'm not sure about an Amiga mouse.

Expansion is pretty decent.  There is a standard 25-pin serial and parallel port on the back and three slots inside the machine for ISA expansion cards.  The keyboard connects to the machine via a 6-pin DIN.  Next to the keyboard port is a DE-9 mouse port.  The mouse is a proper rotary optical mouse, but the two mouse buttons are redirected to the keyboard port.  The keyboard will report the mouse buttons as otherwise unused raw keyboard scancodes.  Of course, with the proper mouse driver, this should be transparent to the user.  If you want to assign the mouse buttons to a particular keyboard key, you have that option.

Even more interesting is the Amstrad joystick, which attaches to the keyboard via a DE-9 port.  The joystick pinout is compatible with standard Atari joysticks, but also can support a second button on pin 7, which is not particularly standard (Genesis and Master System controllers use Pin 9).  This is a digital joystick, which is a first in the PC world.  The keyboard treats the joystick simply as six extra keys, giving a unique raw scancode to each key.  The built in firmware translates the joystick directionals to cursor keys but the buttons can be user defined to produce the translated scancode of any key.  The Amstrad can also use a standard IBM PC compatible analog joystick with a standard Game Card or a Sound Card.  This feature was carried over to the PC-1640.

Like the Tandy 1000 EX and SX, the Amstrad has a volume control for the internal speaker.  The dial is accessible outside the machine, like the EX.  The SX's volume dial is inside the machine, an issue fixed with the TX and HX.  There is no additional sound hardware outside the main PC speaker unless you add a sound card.

The Amstrad came with one or two 5.25" 360KB drives.  Upgrading the drives to 720KB can be done.  The data separator in the PC-1512 cannot handle the 500kbits per second speed required for high density drives.  In addition, Amstrad drive cables are untwisted, so you will need a way of setting a modern 3.5" drive to DS0 instead of DS1 for the A: drive.  You do not need to do anything for the B: drive in this case. Installing a hard drive into one of the bays was a standard, if expensive, option.  You would need to add a hard drive controller card into one of the expansion slots or use a hard card.  The Amstrad can accept a 13" expansion card, unlike the Tandys.

The Amstrad had a built in real time clock and CMOS RAM.  It is a standard HD146818 like the one used in the IBM PC AT and powered by 4xAA batteries instead of coin cells, barrel batteries, or the Dallas Smartwatches.  The CMOS setup is pretty basic, but is used to assign the number of disks, starting text/graphics mode, initialize serial port parameters and can be used to assign a keyboard translated scancode to the joystick and mouse buttons.  Tandys of the time required an upgrade for a RTC, either being fitted underneath a ROM chip or on an expansion board.

Most PC compatibles had a fan for the power supply.  Early PC1512s did not come with a fan, even for the power supply.  The reasoning was that the inclusion of the power supply in the monitor allowed for adequate cooling by natural convection.  However, when rumors of unreliable machines popped up, Amstrad put in a fan.

The Amstrad came with MS-DOS 3.2 and Digital Research DOS Plus, the latter of which can run MS-DOS or CP/M applications but was slower.  It also came with DR's GEM graphical user interface and the GEM Paint program.  The Paint program supports 640x200x16.  Tandy provided something similar with its Deskmate II software with the SX, but Deskmate II gave only a text-mode based interface.  The EX's Personal Deskmate used a true graphical interface but it was fairly limited.

The 1512 has a special CGA-style monitor.  This monitor comes in monochrome and "colour" varieties.  This monitor is unique to the 1512 because it provides power to the system unit.  No monitor = paperweight.  The monitor provides power to the system unit via a very unusual DIN-14.  The system unit provides video to the monitor via a DIN-8.  This DIN-8 combines H-sync and V-sync on one pin, standard CGA separates the H and V signals into two pins.  The signals for the R, G, B, & I signals are still digital.  The Amstrad does not have composite CGA output, so the monochrome output is digital and uses 16-shades, giving sharp and distinct image quality.

CGA compatibility on the 1512 is nothing to write home about.  The standard BIOS-compatible CGA modes are supported as is the 160x100 "graphics mode" and the alternate cyan/red/white palette. Composite color is not supported because the PC-1512 was designed in and marketed mainly for PAL countries and CGA composite color was NTSC based.  The MC6845 is only emulated and the emulation is not 100% compatible.  The built-in CGA cannot be disabled, so EGA and VGA will be limited to monochrome modes.  A Hercules or MDA card will work alongside the Amstrad's CGA, but you will need a separate monitor.  A Hercules InColor card will also work to provide high resolution color output, but little software supports it.

Amstrad CGA has two or three text mode fonts built in, selectable by a jumper on the motherboard.  Normal/Codepage 437/English is the default, Danish is also available as is Greek on later 1512s.  More important is its 640x200x16 graphics mode.  This graphics mode is unique to the 1512.

However, few games ever took advantage of this high resolution graphics mode.  MobyGames indicates that 21 games support Amstrad graphics, but this does not mean these games support the 640x200x16 Amstrad graphics mode.  The Lemmings games do not.  Iznogoud does not, nor do the two Passenger on the Wind games.  While they do have Amstrad selections, I believe this is to ensure compatibility with CGA graphics, not to implement extra color.  Almost all of these games support EGA and sometimes even Tandy or VGA.  All of these games  come from European publishers and except for Lemmings they are very obscure by US standards.

The one commercial game that has been known to support Amstrad 640x200x16 graphics out of the box is Frank Bruno's boxing.  It gives more color to what would otherwise be 640x200 B&W CGA graphics.  Unfortunately, the game is an unlicensed clone of the Punch Out arcade games and is pretty terrible.  Ironically, it does not support the Amstrad joystick.  Here are some screenshot comparisons :

Title - Amstrad
Title - CGA
Opponent Profile - Amstrad
Opponent Profile - CGA
Fight - Amstrad Colour
Fight - Amstrad Monochrome on Colour Monitor
Fight - CGA
The 640x200x16 mode's implementation is unique to the Amstrad PC-1512.  Its successor, the Amstrad PC-1640, has built-in EGA graphics in place of the PC-1512's graphics controller.  The 16-color PC-1512 graphics mode did not receive BIOS support.  Neither did the 640x200x16 mode with the later Tandys.  It requires 64KB of RAM, but the controller only provides a 16KB window into video memory.  In this 640x200 mode, the window is assigned to one of four 16KB bitplanes, with each bitplane representing one of the four RGBI components.  You select each bitplane then write that component's bits.

On top of this, the Amstrad's CGA graphics may be the slowest graphics adapter of all time (next to the PCjr.)  Topbench's benchmarks show the speed of the Amstrad as significantly lower than a CGA card in an IBM PC or the Tandy graphics adapter in an Tandy 1000SX.  Given that you cannot disable the built-in graphics, you are almost always stuck with slow 4-color CGA graphics.  The Technical Reference states that the CPU has wait states inserted when accessing video RAM to maintain synchronization with the graphics controller and the number of wait states (12-46) seems rather high.

One thing I had forgotten about until writing this article was that Sierra offered support for the 640x200x16 mode in its SCI0 and 16-color versions of SCI1 games!  With a driver called PC1512.DRV, you could obtain a proper, effective 320x200x16 resolution in Sierra's games.  In order to achieve this, each pixel is written twice horizontally.  This driver rarely can be found with the actual games themselves, but here is a place to download the driver : http://sierrahelp.com/Patches-Updates/MiscUpdates.html  The SCI games run a tad slow on the PC1512.  As far as AGI games go, there is no Amstrad driver and you are limited to 4-color CGA at best.

Price and Feature Comparison with the Tandy 1000SX

Amstrad PC-1512 US Prices
Monochrome Monitor Single Drive : $799
Monochrome Dual Drive : $899
Color Single Drive : $999
Color Dual Drive : $1,099

Source : http://www.old-computers.com/museum/computer.asp?c=183

Tandy 1000SX US Prices :
Tandy 1000SX Dual Drive : $1,199
VM-4 Monochrome Monitor : $129.95
CM-5 Color Monitor : $299.95
Digi-Mouse : $99.95
Digi-Mouse Controller/Calendar Board : $99.95
PLUS RS-232C Option Board & PLUS Upgrade Adaper Board : $94.9

Source : Tandy Computer Catalog RSC-17

So, in order to get the functional equivalent of the Amstrad's Color Dual Drive features (except for CPU and RAM), you would need to spend $1,793.75 at Radio Shack on the SX.  Of course, you could often find Tandy options cheaper elsewhere.

Here is a spreadsheet comparison between the two dual drive systems :

Feature Amstrad PC-1512 Tandy 1000SX
CPU 8086 @ 8MHz 8088 @ 7.16/4.77MHz
CPU Upgrade V30 V20, 286 Express
Coprocessor Supported Supported
RAM 512/640KB parity 384/640KB non-parity
Keyboard 85-Key 90-Key
Parallel Port DB-25 Card Edge
Serial Port DB-25 Upgrade
Real Time Clock Built-in Upgrade
Mouse Interface Built-in Upgrade
Volume Control External Internal
Sound PC Speaker PC Speaker + Tandy 3 Voice
Expansion Slots 3 5
Video Amstrad Enhanced CGA Tandy Graphics Adapter
Drive Bays 2 x 5.25” 2 x 5.25”
Monitor Included Separate Purchase
Monitor Type Monochrome or Color CGA Monochrome or Color CGA or Composite
Joystick Interface Digital, 1 Joystick Analog, 2 Joysticks
Power Supply 57W 65W
Supplied Software MS-DOS 3.2, DR DOS Plus, DR GEM, DR GEM Paint MS-DOS 3.2, Tandy Deskmate II

So, it would seem that Amstrad has more advantages.  But not all things are weighted evenly.

The Amstrad CPU is faster than the Tandy CPU, but the slower switchable speeds of the Tandy makes it more early software friendly.  Moreover, Tandy offered the 286 Express upgrade (at 299.95) that would propel the Tandy beyond the Amstrad.  8086 machines had no such upgrade generally available.  

The maximum amount of RAM is the same, but the cost of eighteen 64Kx1 chips for the Amstrad was probably roughly equivalent to the cost of eight 256Kx1 chips for the Tandy.  

Amstrad's keyboard has a better layout than Tandy's.  The keys are more spread out and areas more clearly defined.  Tandy's keyboard has everything mushed together and the extra keys are seldom used.

Amstrad's parallel port is standard, Tandy's is not and is missing one of the control lines.  The serial port in the Amstrad is a welcome feature, Tandy requires an upgrade that takes up a slot.  Cheap these days, however.  A dual serial card will give you a mouse interface for the Tandy, making Amstrad's mouse interface no longer much of an advantage.

Amstrad's external volume control comes in handy on occasion.  With the SX, you can use the multiplexer to silence the internal speaker and allow the external audio output to output PC Speaker and 3-voice music.  See here : http://nerdlypleasures.blogspot.com/2013/06/ibm-pcjr-and-tandy-1000-sound.html

Music is clearly superior from the Tandy machine, 3-voice music was supported in hundreds of games and usually sounds decent even when the game supports Adlib music.

Expansion slots are typically a wash, you need at least one slot on the Tandy for a mouse interface.  Amstrad will have no problem with Expanded Memory Boards, but there are modern Expanded Memory Boards available from Lo-tech that fit inside Tandys.  Vintage 8-bit EMS boards are overpriced.

The Tandy 1000SX has its power supply built in and you are not tied to two specific monitors.  They can also use NTSC-compatible composite monitors and TVs when nothing better is available.

Tandy's video slaps down Amstrad's video.  Tandy's video is much more CGA compatible and is far, far faster than Amstrad's.  Hundreds of games use 320x200x16 and 160x200x16 Tandy graphics, almost none use Amstrad's Enhanced 640x200x16 graphics.  You can easily upgrade to an EGA or VGA card in a Tandy SX, you cannot in an Amstrad.

The joystick issue is not an easy one.  Some games do explicitly support an Amstrad joystick.  Many games which use cursor keys support it by default.  Games that do not use the cursor keys or games that read raw scancodes from the keyboard will not work with the joystick.  The analog joystick of a Tandy is always supported in any game that supports a standard joystick. An analog to digital joystick converter for the Tandy joystick is now possible : http://www.vcfed.org/forum/showthread.php?44532-Tandy-Color-Computer-Digital-Joystick-Adapter 

4 comments:

idspispopd said...

IIRC the PC-1640 has a fourth ISA slot which is not accessible after opening the sunroof, you need to open the whole machine. This slot was intended for a hard disk controller since that card wouldn't have to be accessed from the outside. I would expect the PC-1512 to also have this slot.
With the 1640, only the EGA monitor had a fan, the CGA and (Hercules) monochrome didn't have one. The machine was definitely stable with the CGA monitor.
CGA compatibility was fine with the 1640. SCI games also ran somewhat slow.

scalibq said...

The joystick with two firebuttons on pins 6 and 7 is carried over from the Amstrad CPC: http://www.cpcwiki.eu/index.php/Connector:Digital_joystick
Various digital joysticks with two or more buttons had a switch to select Atari/C64/Amiga or Amstrad CPC mode, where the former made all buttons work as one, and the latter had two distinct buttons.

I have a Suzo digital-to-analog converter, to connect Atari/C64/Amiga joysticks to PC, and it supports the second firebutton on pin 7 as well. Only problem is that they are reversed in that case: on CPC pin 7 is the first, and pin 6 is the secondary button.

Neville Chamberlein said...

I'm pretty sure "Maupiti Island" also supports the 640x200x16 graphics mode in the Amstrad PC1512. Here's a pic I took with PCem:

http://i.imgur.com/lBaOrzk.png

The game itself is pretty cool, a sort of missing link between text and graphic adventures.

Great Hierophant said...

Maupiti Island also supports EGA at 640x200x16, so the graphics are not unique to the Amstrad PC-1512. Frank Bruno's Boxing's Amstrad graphics are unique to the PC-1512.