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
- 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.".