P112 Single Board Computer Kit

The P112 is a single board computer using the Z180 microprocessor running CP/M, DOSPLUS, or ZSDOS.

Specifications

  • cpu: Zilog Z180
  • memory:
  • ROM: Am28F256A EEPROM, requires 12V for programming. The shipped ROM (EEPROM) is labeled "P112 BOOT ROM FEB 4, 2006 5.1".
  • floppy drives: up to 4
  • serial port 1 - connector P4 (pin 1 at top left when connector is on the left edge of the board)
pin signal
1 DCD (in)
2 DSR (spare in)
3 RXD (in)
4 RTS (spare out)
5 TXD (out)
6 CTS (in)
7 DTR (out)
8 SYNC / RI (in)
9 ground
10 NC
  • serial port 2 - connector P8 (pin 1 at top left when connector is on the left edge of the board)
pin signal
1 DCD (in)
2 RXD (in)
3 TXD (out)
4 DTR (out)
5 ground
6 DSR (in)
7 RTS (out)
8 CTS (in)
9 RI (in)
10 NC
  • floppy drives: disk drives 0 and 1 - connector P9, disk drives 2 and 3 - connector P10
  • parallel printer - connector P7
  • power supply: 5V DC, 150 mA (board only), connector P6

Links

P112: manual (PDF), from azog's blog P112 build, GIDE for P112, P112 and GIDE (revisit), Retrocomputing Archive, z80cpu.eu: Hal Bower's Home page, classiccmp.org: HalBower's Home Page, Herb Johnson: GIDE: IDE drive for Z80, How to start with CP/M, www.gaby.de: GIDE, Tim Olmstead Memorial Digital Research CP/M Library, Digital Research: CP/M, Micro Vibe: CP/M 2.2 OS, cpmfuse, FUZIX,

Articles

Banked/Portable Basic IO System (B/P Bios) Pt I, DosMan: Design of DOS (MS-DOS),

local links

Dataman S4

  • OS: CPM 2.2, CPM 3.0, MP/M 1.1, MP/M-II, UZI180, Z-System,
  • Utilities: cpmtools,
  • other P112 pages: case, P112-GIDE, P112-4 Port LAN,

back to crowdfunding, retrocomp page.

History

2019-06-06: Bitraf build night, tonight I managed to find time to mill out (on the PCB mill at Bitraf) the P112 serial adapter that I made in Kicad a while ago. Tested - worked at once!

2019-05-24: and the P112 boots from the CF card

SMC IO chip identified (FDC37C665GT): configuring
ROM v5.4 Dated: 08 Oct 2013  CPU clock: 16.000MHz
RAM available: 1024kB. From 00000 to FFFFF
        ROM shadowed into 1st 32kB



OS loaded, booting...

P112 - B/P 52.00k Bios V1.3  08 Oct 13


ZEX, Version 3.1
A0> ZEX: ldp2d

ZSDOS Time Stamp Loader, Ver 1.1
  Copyright (C) 1988  by H.F.Bower / C.W.Cotrill


P2Dos Stamper in User Space, 15 Mar 1993 ...loaded at E968H
 Clock is : B/P BIOS Vector         1.0


A0> ZEX: zsconfig +a-

ZSCONFIG V1.0   Copyright (C) 1988   Harold F. Bower/Cameron W. Cotrill

  ...Configuring ZSDOS Ver 1.1
Stamp Access   = Disabled

A0> ZEX: tdd u

   ZsDos Clock SET !

 Fri  May 24, 2019  15:47:26

A0> ZEX: ldr sys.rcp,sys.fcp,sys.ndr

ZCPR3 LDR, Version 1.6
 Loading SYS.RCP
 Loading SYS.FCP
 Loading SYS.NDR
A0:BASE> ZEX: if ~ex z3tcap.z3t
A0:BASE> ZEX: goto ERR
A0:BASE> ZEX: fi
A0:BASE> ZEX: ldr z3tcap.z3t

ZCPR3 LDR, Version 1.6
 Loading Z3TCAP.Z3T
A0:BASE> ZEX: if input Load the B/P BIOS 1024K Banked Image ?
IF True? n
A0:BASE> ZEX: ldsys bpsys
A0:BASE> ZEX: goto EXIT
A0:BASE> ZEX: fi
A0:BASE> ZEX: goto EXIT
 GOTO Label EXIT
A0:BASE> ZEX: Done>
A0:BASE>

good

2019-05-24: connected up console from P4 to a (usb) serial port on my Debian workstation. Connections are

    P4  DE9 (male)
DCD 1   4 DTR
RXD 3   3 TXD
TXD 5   2 RXD
GND 9   5 GND

and connected screen to the port, like screen /dev/ttyUSB0 9600. (also 6 CTS is strapped to 7 DTR)

2019-04-18: SD card to CF card adapters could be useful.

2018-04-09: for cpmtools, P112 diskdefs (from the cc-tech mailing list) The format is described in the cpmtools diskdefs file. Below are the entries that seem most relevant to the P112.

diskdef p112
  seclen 512
  tracks 160
  sectrk 18
  blocksize 2048
  maxdir 256
  skew 1
  boottrk 2
  os 3
end

diskdef p112-old
  seclen 512
  tracks 160
  sectrk 18
  blocksize 2048
  maxdir 128
  skew 1
  boottrk 1
  os 3
end

diskdef gide-cfa
  seclen 512
  tracks 1000
  sectrk 16
  blocksize 4096
  maxdir 1024
  skew 0
  boottrk 2
  os 3
end

diskdef gide-cfb
  seclen 512
  tracks 1000
  sectrk 16
  blocksize 4096
  maxdir 1024
  skew 0
  boottrk 0
# Start of second partition
  offset 1000trk
  os 3
end

will be useful some day.

2015-10-23: serial port adapter, connections:

DE9 P4 name
1 1 DCD
2 3 RXD
3 5 TXD
4 7 DTR
5 9 GND (ground)
6 2 DSR
7 4 RTS
8 6 CTS
9 8 RI

must be verified. This is for the DCE version, you will need a null modem cable. This is ok, the connector is male (has pins).

2015-10-22: testing. I used my FreeBSD laptop, connected the usb to serial adapter to it, and used cu to connect:

# cu -l /dev/cuaU0 -s 9600

and it worked (as usual, this doesn't work as a non-root user).

2015-10-22: power supply - I soldered wires to the mini DC-to-DC converter (SKU 1253701), connected it to a bench PSU set to 12V, and adjusted the output to 5V. I connected power wires from P112, floppy drive and CompactFlash adapter via screw terminals to the DC-to-DC converter. I then connected the usb-to-serial adapter to my FreeBSD laptop.

2015-10-22: Bitraf build night - Ok, the adapters are wired straight through - pin 1 on the DE9 to pin 1 on the IDC connector. So an adapter is needed.

2015-10-22: serial port adapters - I should make adapters for the serial port pigtails, so that they will work, instead of trying to change the pigtails. Pigtail errata (PDF). Pinout of the connectors on the P112 board is this: P4 - serial port 1

pin signal
1 DCD (in)
2 DSR (spare in)
3 RXD (in)
4 RTS (spare out)
5 TXD (out)
6 CTS (in)
7 DTR (out)
8 SYNC / RI (in)
9 Ground
10 not used

P8 - serial port 2

pin signal
1 DCD (in)
2 RXD (in)
3 TXD (out)
4 DTR (out)
5 Ground
6 DSR (in)
7 RTS (out)
8 CTS (in)
9 RI (in)
10 not used

serial port 2 is implemented on the combination IO chip, and is strictly PC compatible.

Note 1: Pin 1 is at the top-left when holding the board with the battery to the bottom-right.

Note 2: The Z180 uses the CTS and DCD pins as hardware enables. For the port to operate, these must either be strapped to the DTR output, or connected via (for example) a "null modem" cable to another PC-AT compatible port. If left open, the port will be disabled.

I need to figure out the pinout of the pigtail adapters I have. A popular pinout is straight through - pin 1 on DB 9 to pin 1 on IDC and so on, with pin 10 not connected on DE9.

Pinout of a DE9 PC Serial port is this:

pin signal
1 DCD
2 RXD (in)
3 TXD (out)
4 DTR
5 GND (ground)
6 DSR
7 RTS
8 CTS
9 RI

picture of a DE-9M with pinout: DE-9 Serial Pinout. Wikibooks: RS-232 pinouts, www.db9-pinout.com,

2013-12-14: I changed the P11 (battery isolator) from off to on.

2013-12-13: using ckermit to access the P112 from my Linux laptop:

tingo@kg-u35jc:~/work/u35jc$ uname -a
Linux kg-u35jc 3.2.0-57-generic #87-Ubuntu SMP Tue Nov 12 21:35:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

starting kermit:

tingo@kg-u35jc:~$ kermit -l /dev/ttyUSB0 -b 9600 -p none -m none

init commands:

(/home/tingo/) C-Kermit>set esc ^_
(/home/tingo/) C-Kermit>set carrier-watch off
(/home/tingo/) C-Kermit>set flow none
connect
(/home/tingo/) C-Kermit>connect
Connecting to /dev/ttyUSB0, speed 9600
 Escape character: Ctrl-_ (ASCII 31, US): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------

A0:BASE>

SMC IO chip identified (FDC37C665GT): configuring
ROM v5.4 Dated: 08 Oct 2013  CPU clock: 16.000MHz
RAM available: 1024kB. From 00000 to FFFFF
        ROM shadowed into 1st 32kB



Z80 Series ROM-Resident Debugger V1.06: D-X Designs Pty Ltd  1997
Special P112 Version: Interrupts Supported
Type '?' for help

=

finally, boot from the floppy (z 1):

=Z 1

OS loaded, booting...

NvRAM Invalid...Defaults Used.

D-X Designs P112 Bios (V3)


ZCPR3 LDR, Version 1.6
 Loading Z33.ENV

ZEX, Version 3.1
A0> ZEX: ldr z33.ndr,z33.rcp,z33.fcp,z3tcap.z3t

ZCPR3 LDR, Version 1.6
 Loading Z33.NDR
 Loading Z33.RCP
 Loading Z33.FCP
 Loading Z3TCAP.Z3T
Path Loaded
A0:BASE> ZEX: if ~EX z3tcap.z3t
A0:BASE> ZEX: type note.txt
A0:BASE> ZEX: fi
A0:BASE> ZEX: Done>

Next, go to CP/M and figure out how to set up TCAP.

2013-12-12: hardware - ok, the 8-pin stackable headers work, setting two of them after one other on one row of the connector. I had to trim off a bit of plastic on the the side where two 8-pin headers meet. The standoffs are 20 mm long (excluding the threads), and the threads doesn't fit the original standoffs. For now I just connected the original standoffs (the 10 mm long ones) on the underside of the GIDE board and the new ones (brass, 20 mm) to the P112 board. The original standoffs provided with the LAN board are 25 mm (excluding threads, they might work, but then I need to cut the pins on the stackable headers a bit shorter.

2013-12-12: hardware - stackable headers - the package with 3 x "10pcs 8 Pin Female tall stackable Header Connector socket for Arduino" arrived today. It took 30 days. brass standoffs - the package from FastTech with 3 x SKU 1310001 - "Brass Stand-Off Hex Screw Pillars (10-Pack)" also arrived today, 30 days.

2013-12-06: power supply - the package from FastTech arrived (finally). I now have 1 x 36W Replacement Power Supply AC Adapter w/ EU Plug Cord (SKU 1427202) and 1 x Mini DC-DC Converter Voltage Stabilizer/Regulator Module (SKU 1253701) to use as a power supply.

2013-11-26: the package with (five) Atmel AT29C256's (AT29C256-90PI / -90PC) that I ordered on eBay dumped into my mailbox today. Good if I need them.

2013-11-12: power supply - I got a shipping notice from FastTech for the package with the parts for the power supply in it. Shipped via Singapore post.

2013-11-11: P112-GIDE: How to avoid the battery holder on the P112? Perhaps using longer connector pins will work? I'll try stacking connectors and see if that works. I found "10pcs 8 Pin Female tall stackable Header Connector socket for Arduino" on eBay (from China) and ordered 3 of those, price was USD 4.49 each, a total of USD 13.47 - shipping included. I also ordered some brass standoffs from FastTech: 3 x SKU 1310001 - "Brass Stand-Off Hex Screw Pillars (10-Pack)" for USD 3.75 - free shipping.

2013-11-10: the package from TG Consulting included the following:

1 x printed parts list (3 sheets) for Primary GIDE and 4-Port LAN Adapter
1 x floppy disk (3.5 inch), labeled "P112/GIDE Boot, B/P BIOS, Distribution Disk" and "9600 Baud, 8N1, No Flow Control", "2 Floppy, 1 IDE", "64K, 128K, 256K, 512K, 1M"
1 x CD-ROM, labeled "P112 GIDE + 4-Port LAN", "TG Consulting", "09/13/2013".
1 x ziplock bag with PCB and parts for P112-GIDE
1 x ziplock bags with PCB and parts for P112 4-Port LAN Adapter

2013-11-09: I got a pickup notice in the mail, and fetched the package from TG Consulting at my local PIB (RIMI Trondheimsvn.). As usual, packages from another country comes with a price. NOK 133.- in customs fee ("fortollingsgebyr") and NOK 229. in value added tax ("mva"), a total of NOK 362.-. This brings the price of P112-GIDE and 4-port kit to NOK 1222.84 + NOK 362.- = NOK 1584.84.

2013-11-07: power supply - from FastTech, I ordered a 36W Replacement Power Supply AC Adapter w/ EU Plug Cord (SKU 1427202) which outputs 12V (DC) and 3A and a Mini DC-DC Converter Voltage Stabilizer/Regulator Module (SKU 1253701) with adjustable output voltage, and 3A maximum current. The plan is to use this to power the P112 and addons.

2013-11-05: test with updated EEPROM: I used gtkterm again, connected with 9600-8-N-1 to /dev/ttyUSB0:

SMC IO chip identified (FDC37C665GT): configuring
ROM v5.4 Dated: 08 Oct 2013  CPU clock: 16.000MHz
RAM available: 1024kB. From 00000 to FFFFF
        ROM shadowed into 1st 32kB



Z80 Series ROM-Resident Debugger V1.06: D-X Designs Pty Ltd  1997
Special P112 Version: Interrupts Supported
Type '?' for help

Doesn't look like it autoboots:

=Z

Z80 Series ROM-Resident Debugger V1.06: D-X Designs Pty Ltd  1997
Special P112 Version: Interrupts Supported
Type '?' for help

Has it got any new commands?

=?

   C O M M A N D   H E L P   (Separate fields by a space)

Commands Available:
: <Intel hex.>    Input line of Intel hex-format data
?                 Display this help
B [addr [count]]  Set/clear breakpoint
D addr [length]   Display/change memory
G [addr]          Go run program (from addr)
I port            Input & display byte from port
N [count]         Run (next N) instructions
O port data       Output data byte at port
R [register name] Display/change user registers
Z                 Boot First Available Device
  Z 1, Z 2, or Z 3  Boot from Floppy 0, SCSI 0, or GIDE Master
S                 Setup DS-1302 RAM Parameters
T                 Display Date/Time
  T S               Set Date/Time
L                 Load OS (First Available) and return to DEBUG
  L 1, L 2, or L 3  Load from Floppy 0, SCSI 0, or GIDE Master
P                 Execute P112 Tiny Basic
  P R               Re-Execute Tiny Basic

=

Perhaps Z 3? Anyway "Z 1" to boot from floppy works, see the Z-System page.

2013-11-05: eeprom - send a file to the burner:

start receive on S4 (via "RE" command), then send a file via the ~> command to cu:
>RECEIVE INTEL   ~>Local file name? /home/tingo/dl/p112/eeprom/P112_ROM_5x4.hex

EOF 009B8

Ok. Dump again:

>DUMP 00000,50
 00000  C3 E2 00 13 10 07 FF FF   Cb....
 00008  C3 7B 11 AE 0C BC 0C FF   C{...<.
 00010  C3 1C 03 FF FF FF FF FF   C..
 00018  C3 DA 02 FF FF FF FF FF   CZ.
 00020  C3 47 2B FF FF FF FF FF   CG+
 00028  FF FF FF FF FF FF FF FF   
 00030  FF FF FF FF FF FF FF FF   
 00038  C3 EE 33 52 4F 4D 20 76   Cn3ROM v
 00040  35 2E 34 20 44 61 74 65   5.4 Date
 00048  64 3A 20 30 38 20 4F 63   d: 08 Oc

>DUMP 00050,50
 00050  74 20 32 30 31 33 00 44   t 2013.D
 00058  2D 58 20 44 65 73 69 67   -X Desig
 00060  6E 73 20 50 74 79 20 4C   ns Pty L
 00068  74 64 2C 20 50 65 72 74   td, Pert
 00070  68 20 41 75 73 74 72 61   h Austra
 00078  6C 69 61 00 ED 57 67 ED   lia.mWgm
 00080  38 33 C6 04 6F 7C B5 C9   83F.o|5I
 00088  F3 21 01 00 ED 21 0F ED   s!..m!.m
 00090  29 0E ED 21 0D ED 29 0C   ).m!.m).
 00098  ED 38 10 F6 11 ED 39 10   m8.v.m9.

Ok, test the ROM again ("PR"):

>PRETEST 28F256
 00000-07FFF=00000
BLANK ROM

Can we burn ("BU") it?

>BURN
AMD 28F256
12.00V Burn pin 1
 00000-07FFF=00000
SAME

It did. Good. LOad and DUmp confirms the device now has the new contents.

2013-11-05: eeprom - connecting up to the t2 machine again, it has the Dataman S4 connected: tingo@kg-core1$ ssh -e none t2 change to correct directory:

tingo@kg-t2$ cd ~/dl/p112/eeprom
tingo@kg-t2$ l
./                ../               P112_ROM_5x4.hex

and connect to the burner:

tingo@kg-t2$ su
Password:
root@kg-t2# cu -l /dev/cuau0 -s9600
Connected

>

Ready. Check which device it is configured for with "CP":

>CP
>SELECT DEVICE


AMD 28F256
12.00V Burn pin 1
10us No Overprog
Alg 66, Ref 011A

correct. Dump some bytes via the "DR" command:

>DUMP 28F256
00000,50
 00000  C3 00 00 13 10 07 FF FF   C.....
 00008  C3 7B 11 AE 0C BC 0C FF   C{...<.
 00010  FF FF FF FF FF FF FF FF   
 00018  FF FF FF FF FF FF FF FF   
 00020  FF FF FF FF FF FF FF FF   
 00028  FF FF FF FF FF FF FF FF   
 00030  FF FF FF FF FF FF FF FF   
 00038  FF FF FF FF FF FF FF FF   
 00040  FF FF FF FF FF FF FF FF   
 00048  FF FF FF FF FF FF FF FF   

>DUMP 28F256
00050,50
 00050  FF FF FF FF FF FF FF FF   
 00058  FF FF FF FF FF FF FF FF   
 00060  FF FF FF FF FF FF FF FF   
 00068  FF FF FF FF FF FF FF FF   
 00070  FF FF FF FF FF FF FF FF   
 00078  FF FF FF FF FF FF FF FF   
 00080  FF FF FF FF FF FF FF FF   
 00088  FF FF FF FF FF FF FF FF   
 00090  FF FF FF FF FF FF FF FF   
 00098  FF FF FF FF FF FF FF FF   

so it is not all zeroes.

Erase the chip via the "CE" command:

>ERASE
AMD 28F256
12.00V Burn pin 1
Writing All Zeros

Erasing
Done.

Try a dump ("DU") again:

>DUMP 00000,50
 00000  C3 E2 00 13 10 07 FF FF   Cb....
 00008  C3 7B 11 AE 0C BC 0C FF   C{...<.
 00010  C3 1C 03 FF FF FF FF FF   C..
 00018  C3 DA 02 FF FF FF FF FF   CZ.
 00020  C3 47 2B FF FF FF FF FF   CG+
 00028  FF FF FF FF FF FF FF FF   
 00030  FF FF FF FF FF FF FF FF   
 00038  C3 EE 33 52 4F 4D 20 76   Cn3ROM v
 00040  35 2E 34 20 44 61 74 65   5.4 Date
 00048  64 3A 20 30 38 20 4F 63   d: 08 Oc

>DUMP 00050,50
 00050  74 20 32 30 31 33 00 44   t 2013.D
 00058  2D 58 20 44 65 73 69 67   -X Desig
 00060  6E 73 20 50 74 79 20 4C   ns Pty L
 00068  74 64 2C 20 50 65 72 74   td, Pert
 00070  68 20 41 75 73 74 72 61   h Austra
 00078  6C 69 61 00 ED 57 67 ED   lia.mWgm
 00080  38 33 C6 04 6F 7C B5 C9   83F.o|5I
 00088  F3 21 01 00 ED 21 0F ED   s!..m!.m
 00090  29 0E ED 21 0D ED 29 0C   ).m!.m).
 00098  ED 38 10 F6 11 ED 39 10   m8.v.m9.

That's funny. Checking more, it seems like the erase operation restored the contents??

Do a test via the "PR" command:

>PRETEST 28F256
 00000-07FFF=00000
BLANK ROM

and now it claims it is blank?? dump ("DU") again:

>DUMP 00000,50
 00000  C3 E2 00 13 10 07 FF FF   Cb....
 00008  C3 7B 11 AE 0C BC 0C FF   C{...<.
 00010  C3 1C 03 FF FF FF FF FF   C..
 00018  C3 DA 02 FF FF FF FF FF   CZ.
 00020  C3 47 2B FF FF FF FF FF   CG+
 00028  FF FF FF FF FF FF FF FF   
 00030  FF FF FF FF FF FF FF FF   
 00038  C3 EE 33 52 4F 4D 20 76   Cn3ROM v
 00040  35 2E 34 20 44 61 74 65   5.4 Date
 00048  64 3A 20 30 38 20 4F 63   d: 08 Oc

>DUMP 00050,50
 00050  74 20 32 30 31 33 00 44   t 2013.D
 00058  2D 58 20 44 65 73 69 67   -X Desig
 00060  6E 73 20 50 74 79 20 4C   ns Pty L
 00068  74 64 2C 20 50 65 72 74   td, Pert
 00070  68 20 41 75 73 74 72 61   h Austra
 00078  6C 69 61 00 ED 57 67 ED   lia.mWgm
 00080  38 33 C6 04 6F 7C B5 C9   83F.o|5I
 00088  F3 21 01 00 ED 21 0F ED   s!..m!.m
 00090  29 0E ED 21 0D ED 29 0C   ).m!.m).
 00098  ED 38 10 F6 11 ED 39 10   m8.v.m9.

Hmm, not blank.

2013-11-01: hardware - TG Consulting notified me that my order for 1 x GIDE kit and 1 x 4-port kit was shipped.

2013-11-01: contingency plan: I just ordered a few (five) Atmel AT29C256's (AT29C256-90PI / -90PC) on eBay, just in case I don't manage to program the Am28F256A again.

2013-11-01: try to BURN it again:

>BURN
AMD 28F256
12.00V Burn pin 1
 00000-07FFF=00000
FAILED AT 00001
00001 RAM=E2 ROM=00

it still fails. Pressing ENTER some more times:

00010 RAM=C3 ROM=FF
00011 RAM=1C ROM=FF
00012 RAM=03 ROM=FF
00018 RAM=C3 ROM=FF
00019 RAM=DA ROM=FF
0001A RAM=02 ROM=FF
00020 RAM=C3 ROM=FF
00021 RAM=47 ROM=FF
00022 RAM=2B ROM=FF
00038 RAM=C3 ROM=FF
00039 RAM=EE ROM=FF
0003A RAM=33 ROM=FF
0003B RAM=52 ROM=FF
0003C RAM=4F ROM=FF
0003D RAM=4D ROM=FF
0003E RAM=20 ROM=FF
0003F RAM=76 ROM=FF
00040 RAM=35 ROM=FF
00041 RAM=2E ROM=FF
00042 RAM=34 ROM=FF
00043 RAM=20 ROM=FF
00044 RAM=44 ROM=FF
00045 RAM=61 ROM=FF
00046 RAM=74 ROM=FF
00047 RAM=65 ROM=FF
00048 RAM=64 ROM=FF
00049 RAM=3A ROM=FF
0004A RAM=20 ROM=FF
0004B RAM=30 ROM=FF
Esc

crap.

2013-11-01: transfer the filer to the S4 again (via "RE"):

>RECEIVE INTEL   ~>Local file name? /home/tingo/dl/p112/eeprom/P112_ROM_5x4.hex

EOF 009B8

Looks good. DUmp confirms that it got transferred.

2013-11-01: checking the EEPROM (via "PR"):

>PRETEST 28F256
 00000-07FFF=00000
WILL BURN

good to know.

2013-11-01: I updated the library to version 2.93, see the Dataman S4 page (it was 2.14 before).

2013-11-01: updating the EEPROM. I used the SETUP key on the S4 to change to Intel format. Next, start receive on S4:

>RECEIVE INTEL  
and start transfer via (~>)
~>Local file name? ~/dl/p112/eeprom/P112_ROM_5x4.hex
~/dl/p112/eeprom/P112_ROM_5x4.hex: cannot open
Ok, try an absolute file name:
~>Local file name? /home/tingo/dl/p112/eeprom/P112_ROM_5x4.hex

EOF 009B8

That worked. Do I dare to BURN it? Go, go ("BU" via serial)

>BURN
AMD/MMI 28F256
12.00V Burn pin 1
 00000-07FFF=00000
FAILED AT 00003
00003 RAM=13 ROM=12
00004 RAM=10 ROM=11
00005 RAM=07 ROM=30
00009 RAM=7B ROM=8D
0000A RAM=11 ROM=10
0000B RAM=AE ROM=C0
0000C RAM=0C ROM=0B
0000D RAM=BC ROM=CE
0000E RAM=0C ROM=0B
00011 RAM=1C ROM=E2
00012 RAM=03 ROM=00
Esc

OK, perhaps it must be erased first ("CE" via serial)

>ERASE
AMD/MMI 28F256
12.00V Burn pin 1
Writing All Zeros

Erasing
Done.

Try burn again:

>BURN
AMD/MMI 28F256
12.00V Burn pin 1
 00000-07FFF=00000
FAILED AT 00011
00001 RAM=E2 ROM=00
00011 RAM=1C ROM=00
00012 RAM=03 ROM=00
00013 RAM=12 ROM=13
00014 RAM=11 ROM=10
00015 RAM=30 ROM=07
00019 RAM=DA ROM=7B
0001A RAM=02 ROM=11
0001B RAM=C0 ROM=AE
0001C RAM=0B ROM=0C
0001D RAM=CE ROM=BC
0001E RAM=0B ROM=0C
00020 RAM=C3 ROM=FF
00021 RAM=47 ROM=FF
00022 RAM=2B ROM=FF
00030 RAM=C3 ROM=FF
00031 RAM=68 ROM=FF
00032 RAM=28 ROM=FF
00038 RAM=C3 ROM=FF
00039 RAM=EE ROM=FF
0003A RAM=33 ROM=FF
0003B RAM=52 ROM=FF
0003C RAM=4F ROM=FF
0003D RAM=4D ROM=FF
0003E RAM=20 ROM=FF
0003F RAM=76 ROM=FF
00040 RAM=35 ROM=FF
00041 RAM=2E ROM=FF
00042 RAM=34 ROM=FF
00043 RAM=20 ROM=FF
00044 RAM=44 ROM=FF
00045 RAM=61 ROM=FF
00046 RAM=74 ROM=FF
00047 RAM=65 ROM=FF
00048 RAM=64 ROM=FF
00049 RAM=3A ROM=FF
0004A RAM=20 ROM=FF
0004B RAM=30 ROM=FF
0004C RAM=38 ROM=FF
0004D RAM=20 ROM=FF
0004E RAM=4F ROM=FF
0004F RAM=63 ROM=FF
00050 RAM=74 ROM=FF
00051 RAM=20 ROM=FF
00052 RAM=32 ROM=FF
00053 RAM=30 ROM=FF
00054 RAM=31 ROM=FF
00055 RAM=33 ROM=FF
00056 RAM=00 ROM=FF
00057 RAM=44 ROM=FF
00058 RAM=2D ROM=FF
00059 RAM=58 ROM=FF
0005A RAM=20 ROM=FF
0005B RAM=44 ROM=FF
0005C RAM=65 ROM=FF
0005D RAM=73 ROM=FF
0005E RAM=69 ROM=FF
0005F RAM=67 ROM=FF
00060 RAM=6E ROM=FF
00061 RAM=73 ROM=FF
00062 RAM=20 ROM=FF
00063 RAM=50 ROM=FF
00064 RAM=74 ROM=FF
00065 RAM=79 ROM=FF
00066 RAM=20 ROM=FF
Esc
>

Nope. Did it even get erased? Let's try to load it again:

2013-11-01: copying the EEPROM. The Am28F256 is a 256 kbit or 32k byte EEPROM, addresses from 00000 - 07FFF. I took out the EEPROM, plugged into my Dataman S4, selected Am28F256 via the PROM key, and loaded the contents via the LOAD key. I connected to t2 (my floppy and serial comms machine) with tingo@kg-core1$ ssh -e none t2 to get a transparent connection. Back on the S4 I used the SETUP key to verify that it was 9600 bps, no handshake and Motorola format. Use a directory for this:

tingo@kg-t2$ pwd
/home/tingo/work/p112

and su

tingo@kg-t2$ su
Password:

connect via cu:

root@kg-t2# cu -l /dev/cuau0 -s9600
Connected

>

connected - good. Configure cu (settings i ~s, beautify off, hardwareflow on):

~[set] !be hf=on

verify settings (~v):

~v
beautify false
baudrate 9600
dialtimeout 60
eofread
eofwrite
eol
escape ~
exceptions
force \^P
framesize 1024
host cu9600
log /var/log/aculog
phones
prompt \^J
raise false
raisechar \^@
record
remote
script false
tabexpand false
verbose false
SHELL /bin/sh
HOME /root
echocheck false
disconnect
tandem true
linedelay 0
chardelay 0
etimeout 0
rawftp false
halfduplex false
localecho false
parity none
hardwareflow true
linedisc 0
direct true

looks ok. Set up a receive file:

~[set] rec=p112-3.log

turn on scripting

~[set] sc

send file:

>SEND MOTOROLA
00000,07FFF
[...]
S1237FA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
S1237FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
S1237FE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
S9030000FC

turn off scripting

>~[set] !sc

that took some time. Display the checksum:

>CHKSUM 28F256
SUM = 005B9B0D

Perhaps nice to know.

2013-10-31: case - hmm, what about a PockeTerm and a small LCD screen integrated into the case? I would need an external keyboard, but still... 2013-10-31: hardware - floppy drives. The drives are made by Samsung, model SFD-321B / LFBL1. Power is specified as 5 V DC, 0.7A.

2013-10-29: hardware - I ordered a GIDE kit and a 4-Port Kit from TG Consulting, the price was a total of USD 199.- which break down as:

GIDE Kit ---------  $55
4-Port Kit ------- $120
Int'l Shipping ---  $24
-----------------------
Total              $199

Grown men and the price of their toys... Anyway that is about NOK 1222.84 in total.

2013-10-28: hardware - floppy drives - this afternoon I got a pickup message about the package from Dustinhome.no and picked up the package at my local PIB (RIMI Trondheimsvn.) later in the evening. So now I have two 3.5 inch floppy drives black (5010601388) ready for the P112.

2013-10-25: after writing a boot floppy on my floppy machine, I rigged up a floppy drive to the P112, using a PC psu with pins 14 and 15 shorted to power the floppy drive. And booted Z-system for the first time:

=Z

OS loaded, booting...

NvRAM Invalid...Defaults Used.

D-X Designs P112 Bios (V3)


ZCPR3 LDR, Version 1.6
 Loading Z33.ENV

ZEX, Version 3.1
A0> ZEX: ldr z33.ndr,z33.rcp,z33.fcp,z3tcap.z3t

ZCPR3 LDR, Version 1.6
 Loading Z33.NDR
 Loading Z33.RCP
 Loading Z33.FCP
 Loading Z3TCAP.Z3T
 File Z3TCAP.Z3T Not Found
Path Loaded
A0:BASE> ZEX: if ~EX z3tcap.z3t
A0:BASE> ZEX: type note.txt

;NOTE:  The STARTUP Loader did not load a Z3T TCAP file.  You must
;       run the TCSELECT program to create a file called Z3TCAP.Z3T.
;       You can do so by running the following command line now:
;
;               TCSELECT Z3TCAP.Z3T
;
;       This command will open a library of TCAP definitions, and
;       allow you to select the one that fits your terminal. When
;       the program finishes, enter the following command line:
;
;               LDR Z3TCAP.Z3T
;
;       This will load the TCAP defintion file for your terminal.
;       Future Cold Boots will then load the file automatically.
;
;       Afterwards, you can edit the file STARTUP.ZEX and remove
;       the if--fi lines at the bottom of the file.  You can also
;       delete this file - NOTE.TXT.

A0:BASE> ZEX: fi
A0:BASE> ZEX: Done>
A0:BASE>

Cool.

2013-10-25: hardware - I ordered two internal floppy drives (and one external usb, for other uses) for the P112 from Dustinhome.no at NOK 279.- each. Shipping was NOK 99.-

2013-10-24: first P112 complete test - I rigged up a temporary serial connection to P4 and used a usb-to-serial adapter connected as ttyUSB1 on my Linux laptop. Fired up gtkterm at 9600-8-N-1 on /dev/ttyUSB1 and powered up the P112. Output:

SMC IO chip identified (FDC37C665GT): configuring
ROM-code built: 30 Nov 2012  CPU clock: 16.000MHz
RAM available: 1024kB. From 00000 to FFFFF
        ROM shadowed into 1st 32kB
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format
Unrecognizable disk format

Z80 Series ROM-Resident Debugger V1.06: D-X Designs Pty Ltd  1997
Special P112 Version: Interrupts Supported
Type '?' for help

=

Nice. Commands:

=?

   C O M M A N D   H E L P

Separate fields by one or more blanks

Commands Available:
: <Intel hex.>    Input line of Intel hex-format data
?                 Display this help
B [addr [count]]  Set/clear breakpoint
D addr [length]   Display/change memory
G [addr]          Go run program (from addr)
I port            Input & display byte from port
N [count]         Run (next N) instructions
O port data       Output data byte at port
R [register name] Display/change user registers
Z                 Boot First Available Device
  Z 1, Z 2, or Z 3  Boot from Floppy 0, SCSI 0, or GIDE Master
S                 Setup DS1202 RAM Parameters
T                 Display Date/Time
  T S               Set Date/Time
L                 Load OS (First Available) and return to DEBUG
  L 1, L 2, or L 3  Load from Floppy 0, SCSI 0, or GIDE Master
P                 Execute P112 Tiny Basic
  P R               Re-Execute Tiny Basic

=

Hmm, Tiny Basic?

=P

P112 TINY BASIC V1.0 (ROM), 18 FEB 1999

OK
>

Oh yes. But you need to use uppercase commands:

>SYSTEM
Exiting to Monitor...
=

All for now.

2013-10-24: jumper settings - P1 - RAM size selector, since I have 512kb chips, I set this at 1-3, P2 - DMA requests - set as default 1-2 and 4-5, P3 - Flash bootload selector default 1-2 and 3-4, P5 - SYNC jumper default 1-2 (installed), P11 - battery isolator, I left this one off for now, P12 - ROM pin-3 function - default 1-2, P13 - RAM pin-30 function - set 2-3 which connects pin-30 to A17 since we use 512 kb chips,

2013-10-24: insert SRAM chips: U2 and U3 are 512k x 8 SRAM chips (bag: 913-AS6C4008-55PCN), insert (flash) boot ROM: U4 is a 32k EEPROM of type Am28F256A and labeled "P112 BOOT ROM FEB 4, 2006 5.1". Insert battery B1 - CR2032 into the battery holder.

2013-10-24: second power test: without ROM and RAM chips, try another power - no smoke, no smell - good.

2013-10-24: populate board with integrated circuits: U6 - DS1302 (RTC chip, bag: 700-DS1302), U15 - TL7705ACP (TI reset gen., bag: 595-TL7705ACPE4), U5 - 74hct00 (bag: 595-CD74HCT00EE4), U8 - 74act02 (bag: 595-CD74ACT02E), U11 - 74act139 (bag: 595-CD74ACT139E), U7 and U10 - LT1133 (RS232 tx/rx),

2013-10-24: first power test: with the empty board, connected up power, nothing smoked, no bad smell - good.

2013-10-24: more soldering - headers: header P1 is 1x3 and 1x1 in a "T" shape, I used a jumper block to hold the single pin, and tape to hold it all down, P5 and P11 is 1x2 pins, P12 and P13 is 1x3 pins, P2 and P6 is 1x5 pins, P3 is 2x2 pins, P4 and P8 is 2x5 pins, P14 is 2x10 pins, P7 is 2x13 pins, P9 and P10 is 2x17 pins, remaining crystals: Y1 is 16 MHz (CPU clock, bag: 815-AB-16-B2), Y3 is 24 MHz (IO chip clock, bag: 815-AB-24-B2), and cut the wires. Battery holder: B1 vertical 20mm button cell (bag: 614-VBH2032-1), expansion connector J1, a white DIN48 connector (bag: 649-93488314755V1LF),

2013-10-23: soldering - capacitors: C12 (bag: 581-SR151A121KAR) 120 pF ceramic (marked "121 A1K"), C1, C2, C25, C26 22pF ceramic (bag: 595-CN15A220J, marked "BC 22J") and cut the wires. Bypass capacitors, 14 in all: C3, C15, C16, C16, C17, C18, C19, C20, C21, C22, C23, C24, C28, C29, C30 0.1 mikroF (bag: 581-SR205E104M, marked "104 E5M") and cut the wires. C13 and C14 22 mikroF 10V tantalum (bag: 581-TAP226K006SRW, marked "22µ" and polarity) the positive lead goes to the tapered end of the rectangle. 9 x 1 mikroF 16V tantalum (bag: 581-TAP105K020SCS, marked "1µF" and polarity): C4, C5, C6, C7, C8, C9, C10, C11, C27. In addition to the markings, the positive lead is longer. Afterwards, cu the wires. Next up resistor packs: 7 x 220 ohm (bag: 265-22-RC, marked "8A221G") in U13, the dot (pin 1) on the component into the square pin on the silkscreen, 7 x 2.2 kohm (bag: 774-77081222P, marked "CTSK114977081222P") in U14, 7 x 47 kohm (bag: 265-47K-RC, marked "8A473G") in U16 and U17. Resistors: all resistors are mounted vertically, with the tolerance ring (gold) down R9 47k red-violet-orange, R3, R4, R11 is 4.7 kohm yellow-violet-red, R5, R7, R10 is 10k brown-black-orange, and cut the wires. R1, R2, R6, R8, R12, R13 is 47k yellow-violet-orange, and cut the wires.

2013-10-22: started soldering: I soldered in the Y2 crystal (bag: 559-NC38-6-FL), then I soldered in sockets: 3 x 32 pins (bag: 517-4832-6004-CP) for U2, U3 and U4, 2 x 24 pin (U10, U7), 2 x 14 pins (bag: 517-4814-3000-CP) for U5 and U8, 1 x 16 pins (bag: 517-4816-3004-CP) for U11, 2 x 8 pins (bag: 517-4808-3000-CP) for U6 and U15. 2013-10-22: looking closer at the PCB, the pre-soldered components are U9 (SMC FDC37C665GT), D1 (BAR43C), U1 (Zilog Z8018216FSC cpu), D2 (BAR43), Q1 (BCW71). Not included components: U12 (the 5 / 12 V converter) is not included.

2013-10-15: contents of the package: 1 x CD marked "P112 Single Board Computer Docs v1.3 with Rlee's Archive", 1 x CD marked "Walnut Creek CDROM CP/M", a single sheet of paper, labeled "Errata", 1 x PCB (printed circuit board) with the two SMD components already soldered on, 1 large plastic bag of components. Components:

2 x pigtails (serial)
1 x pigtail with a 4 pin molex connector on
1 x single row header 25 pins
2 x double row headers 2 x 40 pins
2 x IC socket 28 pin
1 x bag marked 517-4816-3004-CP containing a IC socket 16 pins
1 x bag marked 517-4832-6004-CP containing 3 x IC sockets 32 pins
1 x bag marked 517-4808-3000-CP containing 2 x IC socket 8 pins
1 x bag marked 517-4814-3000-CP containing 2 x IC socket 14 pins
1 x bag marked 595-CD74HCT00EE4 (contains 1)
1 x bag marked 595-CD74ACT139E (contains 1)
1 x bag marked 595-CD74ACT02E (contains 1)
1 x bag marked 595-TL7705ACPE4 (contains 1)
1 x bag marked 614-VBH2032-1 (contains 1)
1 x bag marked 649-93488314755V1LF (1 x connector)
1 x bag marked 700-DS1302 (contains 1)
1 x bag marked 913-AS6C4008-55PCN (contains 2)
1 x ziplock bag containing P112 Boot ROM and 2 other IC's
1 x ziplock bag marked 265-220-RC (contains 1)
1 x ziplock bag marked 265-47k-RC (contains 2)
1 x ziplock bag marked 291-4.7k-rc (contains 3)
1 x ziplock bag marked 291-10k-RC (contains 3)
1 x ziplock bag marked 291-27k-RC (contains 1)
1 x ziplock bag marked 291-47k-RC (contains 6)
1 x ziplock bag marked 559-NC38-6-FL (contains 1)
1 x ziplock bag marked 581-SR151A121KAR (contains 1)
1 x ziplock bag marked 581-SR205E104M (contains 12)
1 x ziplock bag marked 581-TAP226K006SRW (contains 2)
1 x ziplock bag marked 581-TAP105K020SCS (contains 9)
1 x ziplock bag marked 595-CN15A220J (contains 4)
1 x ziplock bag marked 658-CR2032 (contains 1)
1 x ziplock bag marked 774-77081222P (contains 1)
1 x ziplock bag marked 815-AB-16-B2 (contains 1)
1 x ziplock bag marked 815-AB-24-B2 (contains 1)
1 x ziplock bag marked 885-M7582-46 (contains 10)

That's all.

2013-10-15: fetching the package: tracking indicated that my package had arrived at my local PIB (RIMI Trondheimsveien), so I printed out the pick up note and fetched the package. I had to pay NOK 271.- in tax (MVA) and NOK 261.- for handling ("fortollingsgebyr"), a total of NOK 532.- the package has a sticker on it saying that it has been opened by Posten for customs handling (not specified more).

2013-10-11: I received a letter (you know, on real paper) from Posten (the postal service) requiring me to send them documentation on the contents and value of the package. Oh, and they changed the tracking number on the package too. Luckily, they provided an email address, so I just had to print out the relevant emails from Kickstarter in PDF format, scan the letter (they want a copy of that too) and send them an email. I got a confirmation email back. We'll see how long this takes.

2013-09-26: I received a shipping notice from USPS.

2013-09-24: the delivery survey was sent out.

2012-11-12: the project was funded.

2012-10-28: I changed my pledge to USD 182.- which gives me all the parts too: "This get you the above AND a complete set of parts. No need to go to Mouser, et al to buy the parts seperately.". Estimated delivery is December 2012.

2012-10-19: I pledged USD 112.- which gives me "This gets you a P112 board with surface-mount parts soldered on, a boot ROM chip, and serial port pigtails." + shipping. Other info: "You'll need to source the rest of the parts (very easy). Add a serial terminal, floppy drives, power supply, and chassis and you're set.".