Technology has this weird way of messing with you ! You expect something dumb to be easy and you find out it's the contrary...
Board One of this project is a manual/user bus controller : a HEX keypad lets you enter data and a few rows of hexadecimal 7 segment digits show the results. That is so DUMB that I was shocked it couldn't be made out of dirt-cheap, easy-to-use SOIC chips, like "one chip per digit" to keep timings and routing simple.
To be fair, you can find CD4511 in SOIC for $0.1.
Some 74xx4X chips work similarly and are covered extensively on web tutorials. But they are "BCD" converters, not "binary" or "hexadecimal". So this is the mess you get :
You can probably find hexadecimal-compatible drivers : DM9368 or another hard-to-find vintage DIP driver, that consumes space, money and current.
Let me put this in perspective : the boards will use SMD devices on flexible Kapton PCB, should be pretty compact, cheap and energy-conscious (because one board is nice but the power budget could be largely exceeded when all the boards run together, I hope it to run off a USB port...).
The first board will have at least 15 hex digits, and more if possible !
- 1 digit : SND address
- 4 digits : SND data
- 1 digit : SI4 address
- 4 digits : SI4 data
- 1 digit : Result address
- 4 digits : Result data
If possible :
- 4 digits for PC address
- 4 digits for NPC address
- 4 digits for current instruction
Did I mention that I couldn't find ultra-flat LED 7-segments displays ? Should I use 0603 SMD LEDs ? (They cost 10$ for 1Kpc so it's in the project's spirit, "a ton of dirt cheap parts to do fun things" and they can be driven by a HT1632 matrix controller)
I don't want to have to use a microcontroller but it looks like it is a necessary evil :-( I can't use a fistful of TIL311, they are expensive, obsolete, through-hole, power-hungry, thick and large...
A MCU will also solve the issue of timings, keypad input, sending the keypad data to the right output... But it will spoil the magic of not needing ANY program to drive/run the rest of the boards :-/
Edit (2016) : solved ;-) see #DYPLED