Zeta SBC
Zeta SBC v1.
Features
- Z80 CPU
- 16550 UART - for connecting a console
- 8255 PPI - can be used for attaching a hard drive using PPIDE or controlling some external devices
- SMC FDC9266 floppy disk controller - NEC 765A / Intel 8272 compatible, with integrated data separator
- 512 KiB of battery backed SRAM
- DS1210 Novolatile Controller chip
- 512 KiB of flash memory
- RTC - DS1302
PCB: v1.2
power: + 5 VDC, center positive.
jumpers
jumper | usage | details |
---|---|---|
JP1 | CONFIG | jumpered (currently not used) |
JP2 | PIN25_GND / VCC | jumpered 2-3 (VCC on pin 25). 1-2 pin 25 is GND. Default is not jumpered |
JP3 | FDC_INT / NMI | not jumpered (default) |
connectors
connector | usage | details |
---|---|---|
P1 | power | +5V (center positive) |
P2 | reset | for an external reset button |
P3 | serial | DB9 male - use a null modem cable |
P4 | parallel | same pinout as in other N8VEM boards (SBC V1, SBC V2, SBC-188) |
P5 | floppy | for floppy |
P6 | power for floppy | for floppy |
Firmware
RomWBW (v2.7.1): ZETA_std.rom: floppy via built-in FDC, Drives A:=ROM, B:=RAM, C:=FD0, D:=FD1, E:=PPIDE00-0, F:=PPIDE0:01 (the last two look wrong for this ROM)
Links
Links: Zeta SBC (v1), Zeta SBC V2, RetroBrew Computers Wiki: boards:sbc:zeta, mini PPIDE, Zippsters mini-PPIDE layout, PPIDE, mini PPISD, RomWBW, UNA bios, Github UNA CP/M,
more links
FLASH4 - a CP/M program which can read, write and verify Flash ROM contents to or from an image file stored on a CP/M filesystem,
other links
BASIC for CP/M, pinouts.ru : p-ata / IDE interface and cable, p-ata to CompactFlash (CF) adapter, KiCad links: best practices - library management,
RBCF threads
my own Zeta SBC - bringup instructions?, Zeta SBC - erratic boot, Zeta SBC - best storage option?, Zeta SBC and PPIDE - the PPIDE doesn't work,
local links
Dataman S4, CF card testing, Gotek floppy emulator,
Hints
console speed is 38400. With screen and ttyUSB0: screen /dev/ttyUSB0 38400
History
2019-05-23: P4 - parallel port pinout. Pin 1 is marked with a triangle on the PCB silkscreen.
PC0 1 2 PA0 PC1 3 4 PA1 PC2 5 6 PA2 PC3 7 8 PA3 PC4 9 10 PA4 PC5 11 12 PA5 PC6 13 14 PA6 PC7 15 16 PA7 PB7 17 18 PB0 PB6 19 20 PB1 PB5 21 22 PB2 PB4 23 24 PB3 (jp2) 25 26 gnd
jp2 - jumper to set vcc or gnd on pin 25
2019-05-22: floppy - with a Gotek / FlashFloppy (3-digit LED display, jumpered S1 and JC) connected at the end of a floppy cable, I can select images and stat and dir it:
B>stat c: Bytes Remaining On C: 294k B>zxd c: ZXD Ver 2.1 22 May 2019 18:01:18 Filename.Typ Size Modified Filename.Typ Size Modified -------- --- ---- -------- -------- --- ---- -------- CLKRAM .180 32k MAKEROM .COM 2k DATA .INC 6k MAKEROM .ZEX 2k DATTIM .180 10k ROM .180 40k DEBUG .180 28k ROM .HEX 30k DISKOP .180 38k ROMV5 .DOC 4k EQU .INC 12k SCSI .180 10k GIDE .180 8k VT100 .Z3T 2k MACROS .INC 2k C0: -- 15 Files Using 226K (294K Free)
(switch to a different image)
B>zxd c: ZXD Ver 2.1 22 May 2019 18:02:21 Filename.Typ Size Modified Filename.Typ Size Modified -------- --- ---- -------- -------- --- ---- -------- BPSYS .IMG 20k TCSELECT.COM 4k HDCOPY .ZEX 2k Z3TCAP .TCP 10k HDUPD .ZEX 2k Z3TH19 .Z3T 2k LDDS .COM 4k Z3TVT100.Z3T 2k LDNZT .COM 4k Z3TVT320.Z3T 2k LDP2D .COM 4k Z3TVT525.Z3T 2k NOTE .TXT 2k Z3TW370 .Z3T 2k C0: -- 14 Files Using 62K (264K Free)
(switch to another image)
B>zxd c: ZXD Ver 2.1 22 May 2019 18:03:48 Filename.Typ Size Modified Filename.Typ Size Modified -------- --- ---- -------- -------- --- ---- -------- -README .1ST 4k VT100 .Z3T 2k LICENSE .TXT 20k VT525 .Z3T 2k NOTE .TXT 2k Z3TCAP .TCP 10k TCSELECT.COM 4k C0: -- 7 Files Using 44K (24K Free)
(that was the last image so far)
2019-05-22: load clock driver
B>ldds ZSDOS Time Stamp Loader, Ver 1.1 Copyright (C) 1988 by H.F.Bower / C.W.Cotrill N8VEM HBIOS Clock Driver ...loaded at CCF0H Clock is : N8VEM HBIOS Clock 1.0
set date and time
B>td s Enter today's date (MM/DD/YY): 05/22/19 Enter the time (HH:MM:SS): 11:42:50 May 22, 2019 11:42:50
ok. 2019-05-22: and today it just boots:
RomWBW.... ZETA Z80 @ 20.000MHz ROM=512KB RAM=512KB UART0: IO=0x68 16550A BAUD=38400 DSRTC: Sat 2000-01-01 00:00:02 MD: UNITS=2 ROMDISK=416KB RAMDISK=384KB FD: IO=0x36 UNITS=2 PPIDE: IO=0x60 UNITS=2 N8VEM HBIOS v2.7.1, 07-Apr-2015 ZETA Z80 Boot Loader Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> BOOT ZSYSTEM FROM ROM ZSDOS 1.1 for ZETA Z80, CBIOS v2.7.1 Formatting RAMDISK... Configuring Drives... A:=MD1:0 B:=MD0:0 C:=FD0:0 D:=FD1:0 E:=PPIDE0:0 F:=PPIDE0:1 3084 Disk Buffer Bytes Free B>
sigh. But, better than nothing. This is without any storage devices attached (ppide, Floppy / Gotek)
2019-05-15: powering on the Zeta only gives (I have screen /dev/ttyUSB0 38400 running)
WW...
in screen output. Not sure what the problem is. voltage of the CR2032 battery was a bit low (2.21V) so I replaced it. But that didn't help.
2019-05-15: connected a Gotek Flashfloppy and powered it from the JST connector next to the power connector. It works, FlashFloppy (without usb stick) shows "F-F" on the display when the Zeta is powered on.
2019-05-13: I should connect up a Gotek (with FlashFloppy firmware) and maybe a floppy drive.
2019-04-18: SD card to CF card adapters could be useful.
2017-06-14: test CF cards - both cards work (IO can read and write them) when connected to a usb card reader on my Fedora work laptop. 2017-06-14: tested with two different CF cards (same "brand" and size (512MB), but they don't work. Perhaps the cards (or the adapter) is broken?
2017-06-14: ZETA_ppide.rom - I attatch the PPIDE, and try again
B>RomWBW.... ZETA Z80 @ 20.000MHz ROM=512KB RAM=512KB UART0: IO=0x68 16550A BAUD=38400 DSRTC: Wed 2017-06-14 13:17:16 MD: UNITS=2 ROMDISK=416KB RAMDISK=384KB FD: IO=0x36 UNITS=2 PPIDE: IO=0x60 UNITS=2 N8VEM HBIOS v2.7.1, 07-Apr-2015 ZETA Z80 Boot Loader Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> BOOT ZSYSTEM FROM ROM ZSDOS 1.1 for ZETA Z80, CBIOS v2.7.1 Configuring Drives... A:=MD1:0 B:=MD0:0 C:=FD0:0 D:=FD1:0 E:=PPIDE0:0 F:=PPIDE0:1 3084 Disk Buffer Bytes Free B>
good.
B>clrdir e: CLRDIR V-0.4 (06-Aug-2012) by Max Scane Warning - this utility will overwite the directory sectors of Drive: E: Type Y to proceed any key other key to exit. Y PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT] PPIDE: CMD=20 [READ] 00000000 --> 00 00 RC=02 [READY TIMEOUT]RomWBW....
not so good.
2017-06-14: test with ZETA_ppide.rom - I put the EEPROM back into the socket on the Zeta, fire up screen
[tingo@kg-elitebook RomWBW]$ screen /dev/ttyUSB0 38400
and I'm ready for a power on.
RomWBW.... ZETA Z80 @ 20.000MHz ROM=512KB RAM=512KB UART0: IO=0x68 16550A BAUD=38400 DSRTC: Wed 2017-06-14 13:15:08 MD: UNITS=2 ROMDISK=416KB RAMDISK=384KB FD: IO=0x36 UNITS=2 PPIDE: IO=0x60 UNITS=2 N8VEM HBIOS v2.7.1, 07-Apr-2015 ZETA Z80 Boot Loader Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> BOOT ZSYSTEM FROM ROM ZSDOS 1.1 for ZETA Z80, CBIOS v2.7.1 Configuring Drives... A:=MD1:0 B:=MD0:0 C:=FD0:0 D:=FD1:0 E:=PPIDE0:0 F:=PPIDE0:1 3084 Disk Buffer Bytes Free B>
(this is without the PPIDE attached). 2017-06-14: Dataman S4 - burn the EEPROM with "BU"
>BURN SST 39SF040 5V Burn 00000-7FFFF=00000 SAME >
programmed and verified. a few "DR" (dump rom) commands at the beginning and the end (of code) - contents look ok.
2017-06-14: Dataman S4 - select device with 'CP' (reference number is "240D")
>CP >SELECT DEVICE ALLIANCE 29F002B 5V Burn Data Polling Alg A3, Ref 2400 SST 27SF256 12.00V Burn pin 1 50us Single Pulse Alg A0, Ref 240D SST 39SF040 5V Burn Data Polling Alg A4, Ref 240D >
do a pretest with "PR"
>PRETEST 39SF040 00000-7FFFF=00000 WILL BURN >
it is not blank, so erase it with "CE" (chip erase)
>ERASE SST 39SF040 5V Erase Done. >
another pretest
>PRETEST 39SF040 00000-7FFFF=00000 BLANK ROM
now it is blank. 2017-06-14: Dataman S4 - and the transfer appears to have succeeded:
>RECEIVE INTEL EOF 7FFFF >
nice. Doing DUmps at the beginning and at the end (of code); yes the contents look alright. Cool!
2017-06-13: Dataman S4 - retry transfer at 9600 baud.
2017-06-13: Dataman S4 - ok, transfer at 115200 didn't work out. Unfortunately, minicom doesn't support 28800 or 14400. If I try to start minicom with '-b 28800' or '-b 14400' it just selects 115200. So that only leaves 9600. Oh well.
2017-06-12: Dataman S4 - transfer the file via REceive on S4 and Paste (Ctrl-Y) in minicom. When navigating a directory tree in minicom, press space twice to enter a directory.
2017-06-12: Dataman S4 - first fill the RAM with a known value (via "FI" command)
>FILL 00000,07FFF,FF
oops, wrong range, do again
>FILL 00000,7FFFF,FF >
it takes a few seconds, but it is better now. A few "DU" commands verify that the contents is now "FF".
2017-06-12: Dataman S4 - I connected it up via minicom, and changed baud rate to 115200 (via the "BAud" command):
>SET SERIAL PORT 115200 Set terminal baud rate, strike any key .. >
verify file format (via "FF" command)
>FILE FORMAT INTEL >
ok.
2017-06-12: ROM - convert the PPIDE ROM to an Intel hex file
[tingo@kg-elitebook RomWBW]$ srec_cat RomWBW/Output/ZETA_ppide.rom -binary -o zeta_ppide_intel.hex -intel
ok.
2017-06-12: xmodem - xm5 works, unfortunately the RAMdisk is only 384k, too small for a 512k file.
A>b:xm5 XMODEM ver 5.0V - N8VEM [CRC capable] ++INVALID OPTION ON XMODEM COMMAND++ Must be S for SEND; R or RC for RECEIVE A>b:xm5 r zeta_ppide.rom XMODEM ver 5.0V - N8VEM [CRC capable] FILE OPEN - READY TO RECEIVE ..^C^C A>dir | ZETA_PPI.ROM
ok.
2017-06-12: flash - check out the flash program
B>flash FLASH4 by Will Sowerbutts <will@sowerbutts.com> version 1.2.1 Using RomWBW bank switching. Flash memory chip ID is 0xBFB7: 39F040 Flash memory has 128 sectors of 4096 bytes, total 512KB Syntax: FLASH4 READ filename [options] FLASH4 VERIFY filename [options] FLASH4 WRITE filename [options] Options (access method is auto-detected by default) /PARTIAL Allow flashing a large ROM from a smaller image file /ROM Allow read-only use of unknown chip types /Z180DMA Force Z180 DMA engine /ROMWBW Force RomWBW bank switching /UNABIOS Force UNA BIOS bank switching /P112 Force P112 bank switching
ok.
2017-06-12: xmodem - figure out how it works
B>xm /? XMODEM v12.5 - 02/11/12 N8VEM UART Uploads files to specified or current disk/user Private files to B14: ++ Examples of valid options: ++ (use Ctrl-C or Ctrl-K to abort) XMODEM S HELLO.DOC send a file to you XMODEM S B1:HELLO.DOC send from a named drive/area XMODEM SK HELLO.DOC send in 1k blocks XMODEM L CAT.LBR CAT.COM send a file from a library XMODEM LK CAT.LBR CAT.COM send in 1k blocks The '.LBR' file extension may be omitted XMODEM R HELLO.DOC receive a file from you XMODEM RP HELLO.DOC receive in a private area Add 'C' for forced checksum ('RC' 'RPC') Add 'X' for forced 128 byte protocol ('RX' 'RPX') 'R' switches from CRC to checksum after 5 retries XMODEM A shows areas/space for uploads
ok.
2017-06-09: how-to initialize a new drive (from RomWBW wiki page).
ASSIGN - (ASSIGN /?) add, change, delete drive letter assignments. CLRDIR - initialize (clear) a drive. SYSCOPY - copy system image to a device to make it bootable
doesn't sound too bad.
2017-06-09: second test - now I get power to the CF adapter (the Activity and Slave Present LEDs lights up). Now I need a ROM that supports the PPIDE.
2017-06-09: first test - no light in the power LED on the PPIDE. Because - I had forgotten to jumper JP2 on the Zeta SBC. I put a jumper on JP2 (2-3, farthest away from Parallel connector (P4), this provides + 5V to pin 25 of P4.
2017-06-09: I soldered up one Mini PPIDE board, and put a SN74LS14N in.
2017-06-09: figuring out the connector pins of Zippster's mini PPIDE board: when you hold the board so that you can read the text normally, the smaller connector (for the parallel port) has pin 1 on the lower left. The larger connector (IDE) has pin 1 on the upper right
2017-06-08: when I got home this afternoon, the package (ok insulated envelope) from OSH Park was waiting in my mailbox. Only seven days from shipped to arrived here. Nice!
2017-06-01: OSH Park sent me messages this evening, they have received the boards from the fab, and shipped them. No delay there, these people keep busy. Nice!
2017-05-23: OSH Park order - later in the evening, I got first an "assigned to panel", then a "sent to fab" message. Damn, these people are fast! 2017-05-23: I ordered a set (3) of n8vem ppide boards from OSH Park. The cost was USD 13.75, shipping included.
2017-05-19: today I picked up the package from elektroshop.no at my local PIB (Extra Trondheimsveien) before going to the office. It got the pick up message yesterday.
2017-05-18: mini ppisd - I installed KiCad 4.0.6 on my laptop. I opened ppisd.pro i KiCad. When I open EEschema, I get this error message:
not found the following libraries were not found: special opendous lm317-to92-invert N8VEM-KiCAD
something is missing.
2017-05-16: power on - more testing. Plug in power
RomWBW.... ZETA Z80 @ 20.000MHz ROM=512KB RAM=512KB UART0: IO=0x68 16550A BAUD=38400 DSRTC: Tue 2017-05-16 10:51:19 MD: UNITS=2 ROMDISK=416KB RAMDISK=384KB FD: IO=0x36 UNITS=2 N8VEM HBIOS v2.7.1, 07-Apr-2015 ZETA Z80 Boot Loader Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===>
so that works. And later (at about 16:30) I notice that the Zeta has crashed:
can I reset it? Yes, a long press on the RESET button and it is back:
Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> BOOT ZSYSTEM FROM ROM ZSDOS 1.1 for ZETA Z80, CBIOS v2.7.1 Configuring Drives... A:=MD1:0 B:=MD0:0 C:=FD0:0 D:=FD1:0 3636 Disk Buffer Bytes Free B>
ok. Hey it crashed again within minutes
B> >>> FATAL ERROR: AF=01BB BC=3101 DE=E640 HL=CFE5 PC=057C SP=CFE3
Somethings isn't well.
2017-05-15: ZSystem - more commands stat
B>stat a: Bytes Remaining On A: 376k B>stat b: Bytes Remaining On B: 4k B>stat val: Temp R/O Disk: d:=R/O Set Indicator: d:filename.typ $R/O $R/W $SYS $DIR Disk Status : DSK: d:DSK: User Status : USR: Iobyte Assign: CON: = TTY: CRT: BAT: UC1: RDR: = TTY: PTR: UR1: UR2: PUN: = TTY: PTP: UP1: UP2: LST: = TTY: CRT: LPT: UL1: B>stat dev: CON: is TTY: RDR: is TTY: PUN: is TTY: LST: is TTY:
stat dsk
B>stat dsk: A: Drive Characteristics 3072: 128 Byte Record Capacity 384: Kilobyte Drive Capacity 256: 32 Byte Directory Entries 0: Checked Directory Entries 256: Records/ Extent 16: Records/ Block 64: Sectors/ Track 0: Reserved Tracks B: Drive Characteristics 3072: 128 Byte Record Capacity 384: Kilobyte Drive Capacity 256: 32 Byte Directory Entries 0: Checked Directory Entries 256: Records/ Extent 16: Records/ Block 64: Sectors/ Track 0: Reserved Tracks
stat usr
B>stat usr: Active User : 0 Active Files: 0
ok
2017-05-15: set the clock (from ZSystem)
load clock driver
B>ldds ZSDOS Time Stamp Loader, Ver 1.1 Copyright (C) 1988 by H.F.Bower / C.W.Cotrill N8VEM HBIOS Clock Driver ...loaded at CCF0H Clock is : N8VEM HBIOS Clock 1.0
set clock
B>td s Enter today's date (MM/DD/YY): 05/15/17 Enter the time (HH:MM:SS): 15:47:00 May 15, 2017 15:47:00
ok.
2017-05-15: while checking chips on my Zeta I noticed that the HALT LED was lit, so I looked at my console screen, and discovered that it had another FATAL ERROR. So I pushed the reset button, and booted Zsystem from ROM. Works nicely:
B>dir | ASM .COM | CLRDIR .COM | COPY .CFG | COPY .COM | DDT .COM | DDTZ .COM | DIF .COM | DUMP .COM | ED .COM | FA16 .CFG | FILEATTR.COM | FILEDATE.CFG | FILEDATE.COM | FLASH .COM | INITDIR .CFG | INITDIR .COM | LBREXT .COM | LDDS .COM | LDP2D .COM | LINK .COM | LOAD .COM | MBASIC .COM | NULU .COM | PIP .COM | PUTDS .COM | RELOG .COM | RMAC .COM | STAT .COM | SUBMIT .COM | SUPERSUB.COM | SURVEY .COM | TD .CFG | TD .COM | UNARC .COM | XSUB .COM | ZAP .COM | ZCAL .COM | ZCNFG .COM | ZCNFG24 .CFG | ZDE .COM | ZDENST .COM | ZPATH .COM | ZSCONFIG.COM | ZXD .CFG | ZXD .COM | 1200 .COM | 38400 .COM | 9600 .COM | FDTST .COM | RTC .COM | XM .COM | XM5 .COM | ASSIGN .COM | FORMAT .COM | OSLDR .COM | SYSCOPY .COM | SYSGEN .COM | TALK .COM | CPM .SYS | ZSYS .SYS
I can run survey:
B>survey *** System Survey (June 82) *** Drive A: 24K bytes in 0 files with 360K bytes remaining Drive B: 380K bytes in 60 files with 4K bytes remaining Memory map: 0 8 16 24 32 40 48 56 64 | | | | | | | | | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCCCBBBBBBB T=TPA C=CPM B=BIOS or unassigned R=ROM or bad BIOS at E603 iobyte 00 drive 01 BDOS at D806 65535 Bytes RAM 0 Bytes ROM 55302 Bytes in TPA 0 Bytes Empty 65535 Total Active Bytes Active I/O ports: 30 31 32 33 34 35 36 37 38 3A 3C 3E 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 36 Ports active
ok
2017-05-15: looking for trouble - today I checked that all ICs have power (VCC), and that is with in spec (+ 5V). All chips checked out ok.
2017-05-12: I tried with a different usb to serial adapter, but no luck here either.
2017-05-11: Bitraf build night - I took a few photos of my Zeta, and discovered that it doesn't boot properly if the battery is missing. With battery it looks like this:
RomWBW.... ZETA Z80 @ 20.000MHz ROM=512KB RAM=512KB UART0: IO=0x68 16550A BAUD=38400 DSRTC: Sat 2000-01-01 00:00:36 MD: UNITS=2 ROMDISK=416KB RAMDISK=384KB FD: IO=0x36 UNITS=2 N8VEM HBIOS v2.7.1, 07-Apr-2015 ZETA Z80 Boot Loader Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> I waited a bit, and then this happened Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> ��.�0���������� >>> FATAL ERROR: AF=FF82 BC=0000 DE=3EEA HL=0FB8 PC=0FB8 SP=FFC8
and the HALT (yellow) LED lights up. Hmm... and now I'm out of luck - the Zeta refuses to print antyhing to console. No visble signs when I press the reset button either.
2017-05-09: I ordered 74LS07, 74LS14 (and others) from elektroshop.no.
2017-05-07: storage - the mini PPISD is another option. mini PPISD page. I have AMS1117 SD card adapters (looks like the SKU 297664 from DX) in case that helps. Requires a 74LS07 or similar.
2017-05-05: storage - mini PPIDE is an option. mini PPIDE page, Zippsters mini-PPIDE layout. bill of materials:
1x 74LS14 or equivalent 1x 14-pin narrow socket 1x 26-pin header (13x2) or ditto male IDC connector for parallel 1x 40-pin header (20x2) or ditto male IDC connector for IDE 1x 100 nF regular capacitor 1x LED 1x 470 ohm resistor 1x 4-pin power connector 1x 2-pin header for jumper JP1 1x 3-pin header for jumper K1
JP1 should be jumpered for CF devices that get power from IDE, leave it open if you have an hard drive that gets external power.
K1 determines usage of pin 25 on the parallel port. Jumper it to pins 1-2 if you have an old N8VEM V1 (GND), jumper it to pins 2-3 if you have a current N8VEM V2 (+5V).
The 4-pin power connector is only needed to be used with N8VEM V1.
2017-05-04: power on - first test. I connected a null-modem cable, started screen with screen /dev/ttyUSB0 38400 and connect 5V power to the Zeta. at first I only get a few characters of output, then I press the RESET button on the Zeta:
RomWBW.... ZETA Z80 @ 20.000MHz ROM=512KB RAM=512KB UART0: IO=0x68 16550A BAUD=38400 DSRTC: Sat 2000-01-01 00:02:47 MD: UNITS=2 ROMDISK=416KB RAMDISK=384KB FD: IO=0x36 UNITS=2 N8VEM HBIOS v2.7.1, 07-Apr-2015 ZETA Z80 Boot Loader Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===>
nice. Try to boot CP/M:
Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> BOOT CPM FROM ROM CP/M-80 2.2 for ZETA Z80, CBIOS v2.7.1 Configuring Drives... A:=MD1:0 B:=MD0:0 C:=FD0:0 D:=FD1:0 3636 Disk Buffer Bytes Free B>
reset and try to boot ZSystem
Boot: (C)PM, (Z)System, (M)onitor, (L)ist devices, or Device ID ===> BOOT ZSYSTEM FROM ROM ZSDOS 1.1 for ZETA Z80, CBIOS v2.7.1 Configuring Drives... A:=MD1:0 B:=MD0:0 C:=FD0:0 D:=FD1:0 3636 Disk Buffer Bytes Free B>
that works too.
2017-05-04: build - I inserted the flash chip into the socket on the Zeta.
2017-05-04: program flash - with the device in the socket, verify that correct device is selected:
>CP >SELECT DEVICE SST 39SF040 5V Burn Data Polling Alg A4, Ref 240D looks good, test it
PRETEST 39SF040 00000-7FFFF=00000 WILL BURN
good, try a burn now
BURN SST 39SF040 5V Burn 00000-7FFFF=00000 FAILED AT 0010C 00105 RAM=FE ROM=80 00107 RAM=27 ROM=22 0010A RAM=20 ROM=00 0010B RAM=01 ROM=00 0010C RAM=CD ROM=01 0010D RAM=58 ROM=00 Esc
hmm, that didn't take. Do I need to erase it first? do a "Chip Erase"
ERASE SST 39SF040 5V Erase Done.
now do a "PRetest"
PRETEST 39SF040 00000-7FFFF=00000 BLANK ROM
ok, now it is blank. Try to program again
BURN SST 39SF040 5V Burn 00000-7FFFF=00000 SAME
programmed and compared ok, in about 4 or 5 minutes. A few "Dump Rom" commands vereify that the content is in. Good. 2017-05-04: I let the transfer progress, it has finished, but I don't know when it finished:
RECEIVE INTEL
EOF 7FFFF
looks ok, try to dump some of the data - yes, it looks like the same data. Ok, insert the flash device and try to program it. 2017-05-03: I started mincom at 9600 bps, selected REceive on the S4 (format is still Intel), and selected Paste (Ctrl-Y) in Minicom. I then selected the zeta_std_intel.hex file, and transfer progresses, with no obvious problems yet. At 9600 bps, the transfer takes too long time. 2017-05-03:transfer to Dataman S4. I'm using a different usb-to-serial adapter today, but it is also PL2303 based, like so:
May 3 15:10:22 kg-elitebook kernel: usb 3-2: new full-speed USB device number 8 using xhci_hcd May 3 15:10:22 kg-elitebook kernel: usb 3-2: New USB device found, idVendor=0557, idProduct=2008 May 3 15:10:22 kg-elitebook kernel: usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 3 15:10:22 kg-elitebook kernel: usb 3-2: Product: USB-Serial Controller D May 3 15:10:22 kg-elitebook kernel: usb 3-2: Manufacturer: Prolific Technology Inc. May 3 15:10:22 kg-elitebook kernel: pl2303 3-2:1.0: pl2303 converter detected May 3 15:10:22 kg-elitebook kernel: usb 3-2: pl2303 converter now attached to ttyUSB0
ok. 2017-05-03: firmware - try the intel format instead: ```sh [tingo@kg-elitebook RomWBW]$ srec_cat RomWBW/Output/ZETA_std.rom -binary -o zeta_std_intel.hex -intel
so, differences to the old one - old
[tingo@kg-elitebook RomWBW]$ srec_info zeta_std.hex -inhx16 Format: Intel Hexadecimal 16 (INHX16) Data: 000000 - 07FFFF
new
[tingo@kg-elitebook RomWBW]$ srec_info zeta_std_intel.hex -intel Format: Intel Hexadecimal (MCS-86) Data: 000000 - 07FFFF
and file size
[tingo@kg-elitebook RomWBW]$ ls -lh *hex -rw-rw-r--. 1 tingo tingo 1.2M May 2 16:50 zeta_std_inhx16.hex -rw-rw-r--. 1 tingo tingo 1.2M May 3 14:59 zeta_std_intel.hex
try motorola format
[tingo@kg-elitebook RomWBW]$ srec_cat RomWBW/Output/ZETA_std.rom -binary -o zeta_std_motorola.hex -motorola
same size
[tingo@kg-elitebook RomWBW]$ ls -lh *hex -rw-rw-r--. 1 tingo tingo 1.2M May 2 16:50 zeta_std_inhx16.hex -rw-rw-r--. 1 tingo tingo 1.2M May 3 14:59 zeta_std_intel.hex -rw-rw-r--. 1 tingo tingo 1.2M May 3 15:07 zeta_std_motorola.hex
oh, well,
2017-05-02: minicom - minicom says it supports hardware handshaking, but the transfer doesn't work, I get an error, and after the ascii transfer is finished, nothing is in RAM? If I try to "paste the file I get checksum error too. Like this
>RECEIVE INTEL Checksum Error
and now the battery is low, so this ends experiments for today
ABORT - BATTERY LOW
ok.
2017-05-02: cu (from thge uucp package) doesn't seem to have hardware flow control.
[tingo@kg-elitebook RomWBW]$ cu -l /dev/ttyUSB0 -s 9600 Connected.
list variables
>~v escape ~ delay true eol \015\025\003\017\004\023\021\022 binary false binary-prefix \026 echocheck false echonl \015 timeout 30 kill \025 resend 10 eofwrite \004 eofread $ verbose true
try to set some variables
>~s!be cu: be: unknown variable (~v lists variables) >~[kg-elitebook]s!hf=on cu: !hf: unknown variable (~v lists variables)
ok, it doesn't work. Crap.
2017-05-02: Connect to my Dataman S4 with screen:
$ screen /dev/ttyUSB0 9600
verify the EEPROM (PR)
>PRETEST 39SF040 00000-7FFFF=00000 WILL BURN
check file format (FF)
>FILE FORMAT INTEL
send file via Ctrl-A ':' (colon) then readreg p zeta_std.hex which slurps the file into screen the RE (receive on the S4) followed by Ctrl-A ':' paste p unfortunately I get checksum error.
2017-05-02: firmware - use srec_cat to convert to intel16 (Intel Hexadecimal 16-bit) format:
[tingo@kg-elitebook RomWBW]$ srec_cat RomWBW/Output/ZETA_std.rom -binary -o zeta_std.hex -inhx16
verify
[tingo@kg-elitebook RomWBW]$ srec_cat zeta_std.hex -inhx16 -o -binary | od -tx1z | head 0000000 c3 00 01 ff 70 00 ff ff c9 ff ff ff ff ff ff ff >....p...........< 0000020 c9 ff ff ff ff ff ff ff c9 ff ff ff ff ff ff ff >................< * 0000060 c9 ff ff ff ff ff ff ff ed 4d ff ff ff ff ff ff >.........M......< 0000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >................< * 0000140 ff ff ff ff ff ff ed 45 ff ff ff ff ff ff ff ff >.......E........< 0000160 76 b5 01 07 80 00 9b 00 9f 00 00 00 00 00 00 00 >v...............< 0000200 52 4f 4d 57 42 57 20 76 32 2e 37 2e 31 2c 20 30 >ROMWBW v2.7.1, 0< 0000220 37 2d 41 70 72 2d 32 30 31 35 00 57 42 57 00 52 >7-Apr-2015.WBW.R<
with original
[tingo@kg-elitebook RomWBW]$ od -t x1z RomWBW/Output/ZETA_std.rom | head 0000000 c3 00 01 ff 70 00 ff ff c9 ff ff ff ff ff ff ff >....p...........< 0000020 c9 ff ff ff ff ff ff ff c9 ff ff ff ff ff ff ff >................< * 0000060 c9 ff ff ff ff ff ff ff ed 4d ff ff ff ff ff ff >.........M......< 0000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >................< * 0000140 ff ff ff ff ff ff ed 45 ff ff ff ff ff ff ff ff >.......E........< 0000160 76 b5 01 07 80 00 9b 00 9f 00 00 00 00 00 00 00 >v...............< 0000200 52 4f 4d 57 42 57 20 76 32 2e 37 2e 31 2c 20 30 >ROMWBW v2.7.1, 0< 0000220 37 2d 41 70 72 2d 32 30 31 35 00 57 42 57 00 52 >7-Apr-2015.WBW.R<
looks good.
2017-05-02: firmware - I downloaded RomWBW 2.7.1, the ZETA_std.rom image looks like it can be used. Now I only need a tool to convert it to Intel hex format.
2017-05-02: Bitraf - day break - I use my Dataman S4. The PROM key verifies that the S4 is set for a SST 39SF040 (the I press ESC). I insert the Flash EEPROM and press TEST, the S4 tests 00000 - 7FFFF for zero (=00000) and prints "will burn". Good.
2017-04-27: Bitraf - build night again. I found a donated + 5V 2.1A power adapter (center positive), and connected it to P1 on the unpopulated Zeta board. I then measured the voltage across the pins of P6 (floppy drive power). Ok. Connected up power (D2, PWR - green lead towards the D2, white lead towards PWR) and halt (HLT, D3 - yellow lead towards D3, white lead towrds HLT) LEDs, And the green LED lights up when I plug 5V to the board.
2017-04-19: DS1302 - I found a 1187303 RTC clock module from FastTech, this has a socketed DS1302. Nice.
2017-04-19: flash - the flash chip used is a 39SF040 (SST39SF040). Can my Dataman S4 program it? Yes - according to the Supported Device List, v3.30, the 39SF040 is listed under SST. My S4 has Lib 2.93, the 39SF040 is supported there too. Cool.
2017-04-06: Bitraf - build night again. Soldering sockets U5, U1. sockets (16-pin) U9 - U13, U24, socket (14-pin) U14 - U20, capicators C1 - C28, C29, C30, connectors P1, P6, P3, switch SW1, connector P5, P3, connector for LED D2, P2 (reset), JP1, JP2, JP3. Soldering finished.
2017-03-30: Bitraf - build night again. soldering sockets U1, U4 - U6 (40 pins) - only U4 and U6,
2017-03-23: parts - for the DS1302, check your parts box.
2017-03-23: parts - I found 14 pin sockets at Bitraf (in the member parts section). So now I have sockets for U14 - U20.
2017-03-23: soldering - R2 10k, R1 10 ohm, R3 & R4 470 ohm, RR1 4.7 k, RR2 1 k, D1 1N4148, sockets: U21 - U23, U25, U26, U7, U8, U2, U3,
2017-03-23: Bitraf build night. parts - almost all parts are there, the only parts missing are the ones not checked on the BOM list. Missing: standoffs, screws, sockets U14 - U20, U25 (DS1302 - RTC),
2015-08-03: contents: 1 x BOM - bill of materials, 4 A4 sheets. 1 x printed circuit board labeled "Zeta SBC", "Version 1.2", 1 x plastic bag of components.
2015-08-03: got a pick-up notice with my mail, and picked up the package from my local PIB (Rimi Trondheimsveien) after work. Had to pay NOK 263.- (NOK 140.- handling charge, NOK 123.- value added tax).
2015-07-06: I paid USD 30.- for the Zeta SBC 1.2 kit, and USD 30.- for the PockeTerm kit, plus USD 19.67 for shipping. A total of USD 79.67.