Almost no-one will need this knowledge, but I might need to remember it. In order to add Mini PPISD support to a RomWBW 3.01-supported system, you need to create a file called something like Source/HBIOS/Config/ZETA2_ppisd.asm (for yes, I’m using a Zeta SBC V2) containing:
#include "cfg_zeta2.asm" UARTCFG .SET UARTCFG | SER_RTS CRTACT .SET TRUE PPIDEENABLE .SET FALSE SDENABLE .SET TRUE PPPENABLE .SET FALSE PPISD .EQU TRUE
Running make from the top-level directory should create a ROM image called Binary/ZETA2_ppisd.rom for you to write to flash. Since my floppy drive isn’t feeling too happy, I had to resort to buying a TL866II Plus programmer to write the chip.
And it worked!
RomWBW HBIOS v3.0.1, 2021-03-12 ZETA V2 Z80 @ 8.000MHz 0 MEM W/S, 1 I/O W/S, INT MODE 2 512KB ROM, 512KB RAM CTC: MODE=Z2 IO=0x20 UART0: IO=0x68 16550A MODE=38400,8,N,1 DSRTC: MODE=STD IO=0x70 Sun 2021-03-14 17:47:13 CHARGE=OFF MD: UNITS=2 ROMDISK=384KB RAMDISK=384KB FD: IO=0x30 UNITS=2 SD: MODE=PPI IO=0x60 DEVICES=1 SD0: SDSC NAME=SD BLOCKS=0x003C7800 SIZE=1935MB Unit Device Type Capacity/Mode ---------- ---------- ---------------- -------------------- Char 0 UART0: RS-232 38400,8,N,1 Disk 0 MD1: RAM Disk 384KB,LBA Disk 1 MD0: ROM Disk 384KB,LBA Disk 2 FD0: Floppy Disk 3.5",DS/HD,CHS Disk 3 FD1: Floppy Disk 3.5",DS/HD,CHS Disk 4 SD0: SD Card 1935MB,LBA ZETA V2 Boot Loader ROM: (M)onitor (C)P/M (Z)-System (F)orth (B)ASIC (T)-BASIC (P)LAY (U)SER ROM Disk: (0)MD1 (1)MD0 (2)FD0 (3)FD1 (4)SD0 Boot Selection?
I was pleasantly surprised how easy it is to use a TL866 programmer under Linux. minipro does all the work, though. To write and verify the whole 512K Flash ROM, it’s:
minipro -p SST39SF040 -w ZETA2_ppisd.rom
The programmer supports over 16000 devices, of which around 10000 are variants (form factor, programming voltage, speed, OTP, etc). It’ll also verify over 100 different 74-series logic chips. It’s not a super cheap device (mine was a little over $80, from Simcoe Diy) but it does a lot for that price.
Next stop: try rebuilding BBC BASIC with RomWBW’s timer support included ..