This is an old post, preserved for reference.
The products and services mentioned within are no longer available.
I've added an LED bargraph for testing, I don't think the final version needs that, as much as I like flashing LEDs, it's not really necessary. With the additional write gated logic, and the microcontroller code written, the LEDs were all being set correctly. The idea of operation would be as follows, when the VIC20 is powered on, a default mode is selected which runs a menu program from ROM. The menu will have a choice of options, all of which will lead to setting the mode and ROM address and resetting the VIC20. When the VIC20 resets, the selected game or whatever will run. There is a button on the cartridge which when pressed will bring the menu back up. It does this by resetting the VIC20 and setting the mode back to the initial state - the mode changes happen whilst reset is held down so it is never in an inconsistent state.
I've setup 4 commands:
- POKE 38928,X - change to mode X imediately
- POKE 38929,X - change to ROM address X imediately
- POKE 38930,X - change to mode X, apply pending ROM change and reset
- POKE 38931,X - preset ROM address for above
This should cover most of the options required. The menu should be able to offer things like
- Run a game cartridge from ROM (8K/16K/Atari 16K/Scott Adams 16K)
- Run the VIC20 diagnostics software (which needs ROM and RAM)
- Run Super Expander or other BASIC with up to 27K RAM
- Exit to BASIC with 3K-35K RAM
But also I think I should be able to get it to run some commands on reset,
- Exit to BASIC with 3K-35K of RAM and execute LOAD "*",8
- Exit to BASIC with 11K-35K of RAM and execute LOAD "FB20-8K",8
- Select a Scott Adams adventure and execute SYS 32592
Being able to autostart a diskimage or the file browser on an SD2IEC (or a 1541 if you like), would be a nice feature to have, and avoiding typing SYS 32592 makes the Scott Adams adventures easier to use.
The new board is now designed and ordered, and will still fit in an original cartridge case. Whilst I'm waiting for those to arrive, I need to write the menu program.
There has been a lot of interest so far, I think this has the potential to be a very useful product. I'm thinking in future I could remove the large (and expensive) EPROM and use a larger micrcontroller to load the ROM images into RAM from a small serial EEPROM. The whole thing could then go surface mount and once the board is smaller, maybe even a custom cartridge case....
Update:
The new boards are here, the software is taking a bit longer to write.
My VIC-20 coding is a bit rusty. I have a very basic BASIC version, but I am looking to write a better version in C.
Update 2:
I have some simple single ROM cartridge PCBs, if you only want to replace a single game.
If you like DIP switches, I still have some of the current version of the PCB available, built and tested with up to 35K RAM and 32 ROM images:
The menu software has been rewritten in C.
Update 4: Penultimate Cartridge V4.3 available now, all menu driven, no DIP switches.
2022 Update: The production version of the Penultimate Cartridge is now available from The Future Was 8 bit