Niche Knowledge: Z80 parallel port SD card on Zeta2

green circuit board with secure digital card slot on left and 40-pin parallel interface connectors on the right
Mini PPISD board: a slow SD card mass-storage system for 8-bit computers

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

Zeta: heart-in-mouth time …

flashing zeta romI’d been having no luck getting the SD card working on my Zeta. I got help on the mailing list, and uploaded a new 512KB Flash ROM image (via XMODEM and floppy; teh slow!). So now I have two multi-megabyte drives on my CP/M computer — whee!

spiff with a silent X

I’ve been playing with XSPF, mostly so I can use the XSPF Web Music Player. There’s a Perl API for working with XSPF (XML::XSPF) which works well, but is extremely short on documentation.

Creating a playlist with XML::XSPF is pretty logical: create a new track object for each new track, then feed an array of these tracks into the playlist object. It took me a couple of hours of fiddling about (and much use of Data::Dumper::Simple, the plain man’s guide to tortuous data structures) to find that out.

The end result is this:
id32xspf – create XSPF playlist to stdout from a list of MP3s with ID3v2 tags.
It’s intended for use on a local directory of MP3s, which will subsequently be uploaded to a website. It uses MP3::Info to do the tag work.
It has some limitations:

  • every file must have ID3v2 tags.
  • it doesn’t handle file:// locations at all well, as their syntax is system-dependent. You’ll probably have to use the --urlbase option. For example, for Unix systems for local files in the current directory, I find -u file://`pwd`/ works well.
  • it doesn’t include track numbers, as I didn’t know that XSPF supported them.
  • it doesn’t create track artwork links, as this isn’t included in ID3 data.

One slightly amusing caveat about the XSPF Web Music Player is that it doesn’t understand the rate of some of lame‘s more amusing VBR presets. If you feed it files from the voice preset (56kbit, mono, resampled to 32000Hz), the results sound like Pinky & Perky

nostalgia for something that never existed

The Verbatim FlashDisc seems to be a solution without a problem to solve.

verbatim flashdisc

It’s a cheap ($4) but very tiny (16MB) USB memory key in the vague form of some kind of magnetic media. There are problems:

  • $0.25/MB may seem cheap, but it would mean that a 1GB key at this price was $256
  • It neatly blocks most of the USB ports on a machine
  • Just what kind of media is it supposed to be? It looks closest to an old spool of mag-tape, but folks buying this wouldn’t remember that.

big big blades

Visiting Siemens’ factory in Aalborg, we saw the blade fabrication process. I was pleasantly surprised to discovered that a major component of their blades is balsa wood, which, when combined with clear glass fibre and epoxy, makes a lovely organic-looking surface. It’s a shame that they have to be painted, but environmental degradation will always get ya in the end.

These blades are big:

Siemens B45 blade being loaded on a truck

The above is a 45m blade being loaded onto a truck.

big blades in the yard

Here is a bunch of 45m blades waiting to be finished and painted. You’ll note that there’s still some mould flash on the edge of the blade; that gets ground off. The submarine-like thing on the right is the truly colossal Siemens B52 blade (as a lifelong fan of Kate, Cindy, Ricky, Keith and Fred, the name alone made me happy, even if I knew it denoted a 52m blade). It was so large our entire party managed to stand inside the blade root, with no stooping required.

review of CanWEA 2005 swag bag

So I’m at the 2005 CanWEA conference for the next few days. The swag bag is a standard nondescript nylon thing, thankfully big enough to take my iBook and a few other bits and pieces. The contents are a bit disappointing, though:

  • a very plasticky flashlight that I may discard after harvesting its batteries.
  • a small bag of jujubes.
  • a copy of North American Windpower magazine (which in itself is quite a decent magazine, so is actually one of the highlights).
  • a trade show guide, but no conference program (they were held up in customs; can’t we print ’em here?)
  • various company brochures, zzzz.

You’ll note an absence of useful pens, pads, USB keys, model turbines, or other special swag. I was hoping for more …