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.