Last modified on 24 January 2016, at 15:24

Amstrad DMP1 printer

Amstrads first printer. DMP Stands for Dot Matrix Printer. Manufactured by Seikosha.

A very basic unit which had no descenders on letters such as y,j,q, or p, leaving for a very strange looking printout. This could be corrected (when using TasWord), but using the TasPrint program, but the effect was often not totally satisfactory.

It took only tractor feed paper and had no option or ability to accept single feed sheet.

Ribbons were tiny in comparison to other makes and ran out very quickly - they were, however, very easy to re-ink a few times.

General Specifications

For (detailed) general information about Amstrad/Scheider printers, see:

DMP4000 Mechanics.jpg


This printer is a rebadged SEIKOSHA GP-500M-2.

It has a 2732 EPROM labelled 8DE-1 a 6116 RAM and a NEC 8039H CPU.

The following ICs are labelled on the PCB:

P1 = 74LS04
P2 = 74LS374
P3 = 74LS32
P4 = 74LS373
P5 = HM6116P-4 (2K*8 static RAM)
P6 = 2003
P7 = NEC uPD8039LC (8bit CPU, 27 I/O Lines, 128 bytes RAM)
        8039 Details:
        MCS-48 family of 8-bit microcontrollers, 
        on-chip oscillator, two 8-bit timers, 
        27 i/o ports, and 128 bytes of RAM. 
        Requires external ROM to operate (unlike 8049)
P8 = 2732 EPROM (8DE-1)
P9 = 7404
P10 = 74LS74
P12 = 2732 EPROM (32k -4kb*8) (NOT FITTED)
SW1 dipswitch (accessible on outside)
two fuses


Seikosha GP500 Series

The Seikosha GP500 Series was offered for various homecomputers, around 1984-1985. All models support 10" endless paper. The case-design is more or less identical, though differently coloured, and badged with different manufacturer & model names.

  • Seikosha GP500A - Was offered as Seikosha GP500A for general purpose (centronics port)
  • Seikosha GP500AS - Was offered as Seikosha GP500AS for general purpose (serial rs232 port)
  • Seikosha GP500M-2 - Was offered as Amstrad DMP1 for CPC (centronics 36pin port) (plus 2K SRAM) (BIOS: 8DE-1)
  • Seikosha GP500VC - Was offered as Commodore MPS-801 for VIC20 and C64 (commodore 6pin serial port) (manual) (90-byte buffer, no 2K SRAM)
  • Seikosha GP500AT-1 - Was offered as Atari 1029 for Atari XL (dual 13pin port) (printer photo, pcb photo) (no 2K SRAM) (BIOS: 8AT-1)

The main difference is that the PCBs are customized - the VC and AT models have non-centronics connectors. The ROMs might be also customized, possibly containing different character sets (?), and most probably different protocols (for the serial-port VC version at least). Some versions include 2K SRAM buffers, others don't. The Commodore version supports inverse mode, the CPC doesn't support this.

Note: The name "Seikosha GP 500M-2" is printed on the PCB, in the internet, it's often referred to as "Seikosha GP 500 CPC".

DMP1 Control Codes

chr(0Ah)              CR+LF
chr(0Dh)              CR or CR+LF (switch-selectable)
chr(14h)              CR
chr(0Eh)              Double Width Mode (also restores 1/6" line feed rate; after graphics printing)
chr(0Fh)              Normal Width Mode (also restores 1/6" line feed rate; after graphics printing)
chr(10h),"NN"         Print Position in character units (NN = two-digit ASCII, "00..79")
chr(1Bh,10h,hi,lo)    Print Position in dot units (hi:lo = 9bit binary, 0..479) (lo=lower 7bit, hi=upper 2bit)
chr(1Bh,4Bh,hi,lo,gfx0,gfx1,..) Graphics Mode (hi:lo = 9bit count, 0..479) (followed by as many bytes, with bit0=upper pixel .. bit6=lower pixel)
chr(1Ch,num,gfx)      Repetition of one byte of graphic print data
  • Character Mode: 6 lines/inch
  • Graphics Mode: 9 lines/inch (each "line" containing 7 pixels vertically) - after Graphics printing: required to issue chr(0Eh) or chr(0Fh) to return to 6 lines/inch mode

DMP1 Pinouts

36pin Centronics
2..8 DATA1..7
10 /ACK
12 LOW
13 NC
14-16 GND
18 +5V 8mA Max.
19-29 Twisted Pair GND (pair with pin 1-11)
30 GND
31 /INITIAL (pair with pin14)
32 /ERROR (pair with pin15)
33 GND
34 NC
35 /TEST (pair with pin16)
36 NC

DIP Switches
SW1,SW2,SW3  Character Set (USA,UK,Germany,Sweden,France,Denmark,Italy,Spain)
SW4          Select CR or CR+LF for chr(0Dh)


  • ACU 8/9-1984, pages 13,14,19,20. And ACU 4-1985, page 26