Page 1 of 8

From the sublime to the ridiculous - 8-byte PROM

Posted: Mon May 19, 2025 9:05 pm
by barnacle
Ok, I was bored, and I wondered how much real estate a diode PROM would take.

This is 8 bytes by 8 bits - just put diodes on where you want a zero on the output. It will fit - with a bit of squeezing - eight blocks, so 64 bytes, on a 160x100mm eurocard using 0603 surface mount components, and I don't think it would be much larger with vertically mounted diodes and DIP chips.

Silly, but there's a lot you can do with 64 bytes (you need eight of them for the vectors, of course)... and of course it's fully preprogammable, with a soldering iron :mrgreen:
diode_prom.pdf
(266.49 KiB) Downloaded 188 times
Neil

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Mon May 19, 2025 11:15 pm
by plasmo
I recall it takes 32 bytes to boot from CF disk, so it should be fun to build a 32 byte diode array to boot from CF.

I believe 64 bytes can fit in a 22V10, enough code to boot from bit-bang serial port. Maybe that code can transfer to diode array, hmmm…
Bill

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 1:23 am
by BigDumbDinosaur
plasmo wrote:
I believe 64 bytes can fit in a 22V10, enough code to boot from bit-bang serial port. Maybe that code can transfer to diode array, hmmm…Bill

Yeah, but a big mess ’o’ diodes, plus the buffer needed to produce the array’s output, will easily consume more PCB space than the ROM.  So I’m having a little trouble seeing any gain...other than the novelty of doing it in diodes.

Disclaimer: many moons ago, I designed a diode array for generating numerals using a bunch of light bulbs arranged in a 16 × 14 matrix.  It took a LOT of 1N4003s and was almost as energy-efficient as a steam locomotive with no superheater.  :D

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 1:25 am
by BigDumbDinosaur
barnacle wrote:
... and of course it's fully preprogammable, with a soldering iron :mrgreen:

I am old enough to recall when a computer was programmed with a plug board, which was sort of like programming with a soldering iron, just not as smoky.  :shock:

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 1:59 am
by 6502inside
barnacle wrote:
and of course it's fully preprogammable, with a soldering iron :mrgreen:
Maybe do it on a breadboard, and just pull the diodes you want to be zeroes?

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 2:44 am
by BigDumbDinosaur
6502inside wrote:
barnacle wrote:
and of course it's fully preprogammable, with a soldering iron :mrgreen:
Maybe do it on a breadboard, and just pull the diodes you want to be zeroes?

Or use a gazillion pin headers and jumpers so the parts count can be run up a little higher.  :D

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 2:44 am
by plasmo
BigDumbDinosaur wrote:
Yeah, but a big mess ’o’ diodes, plus the buffer needed to produce the array’s output, will easily consume more PCB space than the ROM.  So I’m having a little trouble seeing any gain...other than the novelty of doing it in diodes.
There is one good reason for diode array ROM; it does not need a EPROM programmer. EPROM programmer is a very specialized hardware that is about $70. Newbies may not want to invest in such an expensive hardware if they just want to dabble in retro computers. I think diode array ROM may serve as a cheap, interesting way to bring up the first 6502 that can talk to serial port and load application programs, including a flash programming software.
Bill

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 5:05 am
by barnacle
This was actually inspired by some tech I worked with (and repaired) in the seventies: a Riley caption generator, which used punched paper tape to hold the captions and a big rack of diode proms to hold the character fonts, a couple of characters per card. I can't find anything about it on the interwebs; it's way too old to be anywhere except specialist broadcast tech sites and they're way down in the listings if they exist. Similar to BDD's lightbulb driver, I suspect, but tied to TV scan rates.

But as Bill points out: it doesn't need a programmer, and the diodes are half a dollar a hundred from LCSC.

It was never intended as a serious part of a modern design, but as a temporary solution for booting something? A quick look at a PCB layout indicates that the array would comfortably fit in about 50mm by 16mm so sixty-four bytes on a eurocard won't break the bank.

Unfortunately, it won't work with LEDs in place of the diodes, without some sort of level changer on the output (though that's not impossible): a rom array that lights up the bits being accessed would be lovely :mrgreen:

Neil

edit: Hmm... red LEDs, pulled down to -2v? That might work... Turns out 0603 LEDs are even cheaper than the Schottkys.

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 6:50 am
by BigEd
It's a fine idea for a thing to build! For me, it has visual appeal, a minimalist appeal, and is a solution to the bootstrapping problem.

Several previous mentions, some with photos:

In Bootstrapping an SBC
How to Build a Microcomputer … and really Understand it.
Diode ROM and Serial Bootloader
Hexadecimal displays
In Vulcan-74 - A 6502 Compatible Retro MegaProject
Simplest self-contained project

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 1:11 pm
by plasmo
One thing that has bothered me when newbies asked for an EPROM programmer solution is the recommendation for AVR/PIC/Pi based solutions. This is 6502.org, I would have thought there are 6502-based solutions. It has motivated me to designed a 6502-based programmer,
viewtopic.php?f=4&t=6841&hilit=Prog65#p88087
Alternatively I think W65C134 is also a suitable EPROM programmer solution; and now I think a diode matrix ROM may be another good solution.

I have a barebones 6502 with prototype area that uses 22V10 as ROM, I think I can replace 22V10 with diode matrix.
Bill

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 1:45 pm
by BigEd
It's nice to have a 6502-based programmer, but it still leaves you with a bootstrapping problem!

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 2:00 pm
by plasmo
Exactly, 6502-based programmer requires a bootstrap solution that does not need programmable devices, or devices that is already programmed, like W65C134.

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 2:42 pm
by 8BIT
For what its worth, when I started out with my SBC-2, I needed a way to program a 32kx8 EEPROM. I didn't want to pay hundred's of dollars for a commercial programmer. So, I hacked together a PC parallel port programmer using QuickBASIC on a Windows98 machine. I used a couple of 8 bit latches to hold the address and one for control bits. I don't recall the details, but I think I used some handshake pins for strobing the control latch. If anyone is interested, I might still have the QB source files.

After I had the EEPROM programmed, I created an EEPROM programmer that was driven from my SBC-2's VIA ports. There's info on that here: https://sbc.rictor.org/28256.html This was one reason I wrote the XMODEM transfer protocol - so I could transfer source data via serial to my SBC so I could write it onto the EEPROM's.

"Necessity is mother of invention" holds true.

Daryl

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 4:53 pm
by AndrewP
Another solution to hardwiring bootstrap code could be to use line drivers and selectors.

I needed a 16 colour palette with each colour represented by 8bits. For that I used 8 74LVC16244 16bit line drivers in 2x8bit configuration and a pair of 74LVC138s* to select them.

For a ROM the op-codes could be hard-wired into the line drivers inputs (I happened to use DIP switches but that was so I could experiment with colours).

For 64 bytes of ROM I think you'd need "only" 32 '16244s and 9 '138s. That's lot of board space (to me) but quite doable.

*I don't remember why i did this instead of just using an ATF22v10 or a CPLD or something. I think I might have thought I wanted that nanosecond response time.

Re: From the sublime to the ridiculous - 8-byte PROM

Posted: Tue May 20, 2025 6:28 pm
by barnacle
Starting with Neolithic, I also needed an EEPROM programmer, so I built one as a card to be carried on a Nucleo, with 32k ram onboard. A (rough) bit of C on the laptop sends an intel hex file across a line at a time, and that goes into the ram; a further command copies the ram to the EEPROM. It's not a quality solution, but it works.

Neil