VIC20 ROM Cart Loader (in BASIC)

Basic and Machine Language

Moderator: Moderators

Post Reply
Bobbi
Vic 20 Afficionado
Posts: 355
Joined: Thu Oct 13, 2016 11:35 am
Location: Toronto
Occupation: Programmer

VIC20 ROM Cart Loader (in BASIC)

Post by Bobbi »

I got fed up with messing around with memory configurations and trying to remember the various SYS addresses for starting Scott Adams, VICMON and Programmers Aid, so I wrote a little BASIC program to help. I have also tried to collect together a complete set of Commodore VIC20 cartridge images (for my NTSC system.)

This little program does a few things for you:
1) Shows which memory banks are enabled and disabled
2) Presents a menu with all Commodore carts allowing easy startup
3) Stops you loading a cart into an unwriteable (or non existent bank)
4) Handles messing around with memory layout so Scott Adams works with BLK1 present
5) Handles two part load (eg: for Pinball cart)
6) Handles special startup SYS command for Scott Adams, VICMON, Programmers Aid

Hope someone finds it useful. Just needs SD2IEC and 32K memory expansion (I use the Dorktronic one.)

Incidentally, it seems that cartridge Star Post (and only that one) will not run unless you set BLK5 (or all of expansion memory) read only. I will add a warning for that in the program. If you want to add more carts, just append a new DATA line for each cart (format should be obvious from the other entries.)

Let me know of any bugs. Thanks to Mike for helping get Scott Adams to work without having to disable BLK1.
Attachments
cartldr-0.1.zip
(264.44 KiB) Downloaded 102 times
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: VIC20 ROM Cart Loader (in BASIC)

Post by eslapion »

Bobbi wrote:Incidentally, it seems that cartridge Star Post (and only that one) will not run unless you set BLK5 (or all of expansion memory) read only.
There are many game cartridges which try to self modify as a means of copy protection. Omega Race was one of them.
Be normal.
Bobbi
Vic 20 Afficionado
Posts: 355
Joined: Thu Oct 13, 2016 11:35 am
Location: Toronto
Occupation: Programmer

Re: VIC20 ROM Cart Loader (in BASIC)

Post by Bobbi »

Omega Race *seems* to run OK without setting BLK5 read-only. The only one I had issues with was Star Post (and I tried them all briefly.)
User avatar
srowe
Vic 20 Scientist
Posts: 1322
Joined: Mon Jun 16, 2014 3:19 pm

Re: VIC20 ROM Cart Loader (in BASIC)

Post by srowe »

Not all the problems are caused by copy protection. Some are optimizations using shifts to move bits directly from memory to the carry bit without going through a register. Running from ROM works fine as the shifted value cannot be stored back, but with RAM the new value is used next time (with unplanned consequences).
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: VIC20 ROM Cart Loader (in BASIC)

Post by eslapion »

Bobbi wrote:Omega Race *seems* to run OK without setting BLK5 read-only. The only one I had issues with was Star Post (and I tried them all briefly.)
If you have a patched version yes.
http://www.zimmers.net/anonftp/pub/cbm/ ... 20Race.prg

If you have the Commodore original ROM image then you'll have immediate problems. http://www.zimmers.net/anonftp/pub/cbm/ ... e-orig.prg

The Zimmer's server says: "Original version of Omega Race. Does not run in RAM."

Also, AFAIK, all Atarisoft VIC-20 cartridges are like that too. I also remember Krazy Antics causing problems.
Be normal.
Bobbi
Vic 20 Afficionado
Posts: 355
Joined: Thu Oct 13, 2016 11:35 am
Location: Toronto
Occupation: Programmer

Re: VIC20 ROM Cart Loader (in BASIC)

Post by Bobbi »

That explains why my Omega Race works :)
Post Reply