C64 user port to 24 bit address and 8 bit data


This prototype maps the C64's 8 output bits from the user port to 8 data bits + 16 address bits + 8 extended address bits. The Proteus schematic file is: https://github.com/martinpiper/BombJack/blob/master/UserPortTo24BitAddressSimple...

It accomplishes this by using the lower 3 bits (the low nybble) to activate 1 of 8 latches, using a demuxer, that store the upper 4 bits (high nybble) of the data from the user port. The last bit of the low nybble is used to enable or disable the demuxer which causes the latch load clock to transition from low to high, catching the latch to capture the inputs.

Writing a single byte therefore needs up to 16 writes from the C64 side. This is a slow memory bus interface, but does enable a prototype to be constructed on a breadboard and allows the C64 to precisely control the memory bus and write cycle timings for extra debugging capability.

The prototype was tested using a real C64 setting the output user port lines, then testing the correct levels are observed with my trusty 34 channel logic analyser.

The real memory bus interface has more complex logic to enable a single byte to be written to an auto-increment memory address. Which needs about 30 ICs compared to the 9 used for this simple interface.

Get MegaWang 2000 Turbo Edition hardware

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.