The C16 has 2 ROM chips, both 16 kB in size: one contains the KERNAL (characters included) while the other one contains the BASIC interpreter. The original ROMs draw quite some power, I'm told, so finding a way to replace them sounds like a good idea. Luckily the original pinout is directly compatible with the Winbond W27C512 EEPROMs I use in a lot of my projects and these consume way less power, being modern CMOS parts (which could create a lot of problems when interfaced with the TTL logic we use, but it seems to work well in practice), so things look pretty straightfoward.
Although, the W27C512 is a 64 kB EEPROM and we don't want to waste 75% of its space, do we? I started thinking about what to do with the extra space and having multiple selectable KERNALs didn't look particularly interesting to me (plus you can easily do it with just a little help anyway). I rather started to think how hard it would be to keep the KERNAL and BASIC on a single EEPROM and realized a single AND gate would do the trick. But then I would need to add a 7408 chip for that and I would be left with 3 unused AND gates which is just another shame (yes, I could do that with a couple of diodes but bear with me) so I started looking into ways to put those to some use.
The Plus/4 is nothing more than a C16 with 64 kB of RAM (which we already support), a User/RS-232 Port (not compatible with the User Port of the C64 though) and some built-in desktop "productivity" software (named 3-Plus-1) contained in two additional 16 kB ROMs, dubbed Function ROMs. The Enable signals for these ROMs are also available in a C16, they are just unconnected but we had already marked them in the V1 schematics.
So it appears we have all the signals, the right amount of free space in our EEPROM and the exact number of spare AND gates to get our LittleSixteen even closer to a Plus/4:
The AND gate I used is a very common 74LS08 which I placed just above the CPU, labeled U90. Of course I wanted to leave the possibility of using the original ROMs, which forced me to add a few configuration jumpers. I chose to go for solder jumpers, as you're not going to change them every other day. If you want to use the original ROMs, you can avoid mounting U90 altogether:
While the 3-Plus-1 suite is not particularly well-regarded and might make this mod look not exactly great, I think other software can be used as function ROMs. For instance, I will surely try to put Commodore's implementation of the Logo programming language in there, which would make things much more interesting.
Like it or not, but LittleSixteen is now only one step away from the mighty Plus/4...
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.