Why disable expanded blocks?

Modding and Technical Issues

Moderator: Moderators

Post Reply
User avatar
tsm
Vic 20 Newbie
Posts: 19
Joined: Sat Apr 19, 2014 6:19 am

Why disable expanded blocks?

Post by tsm »

Hello, I'm in the process of hacking a Super Expander into a 35K RAM expansion. I saw that people often add switches to disable this or that block, or the whole memory. What's the point of this? Is there any software that fails if RAM is present at some given spots? How many such programs are there? Which blocks give most problems? Is it useful to disable the 3K in block 0?
Thank you
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Re: Why disable expanded blocks?

Post by Boray »

Yes, screen and color memory is moved when having memory in block 1. Start address of the memory is changed when having memory in block 0 or block 1 so yes, different memory configurations make the computer incompatible. ALL programs suffer from this except for rare programs specially written for being used in more than one memory location. The only time when it doesn't matter is if you want to run a 8K program on 16K or more or a 16K program on 24K.

So you have to switch blocks/plug/unplug carts to run different programs, OR you can use a fully expanded vic-20 with my Vic-menu ( http://www.boray.se/commodore/vicmenu.html ), and it will downgrade to unexpanded or +3K expanded automatically by software when loading a program that requires it.
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
User avatar
tsm
Vic 20 Newbie
Posts: 19
Joined: Sat Apr 19, 2014 6:19 am

Re: Why disable expanded blocks?

Post by tsm »

I think I'll go with your program (awesome!), since I have an SD2IEC.
Anyway - as I understand it - to be able to run any software without unplugging the cartridge, one should add 6 switches, that is, 1 3PDT for block 0 and 5 SPDT for write enable and blocks 1/2/3/5. Do they all make sense or is it enough to just handle some of them, maybe 0 and 1?
Thank you
User avatar
Mike
Herr VC
Posts: 5130
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Why disable expanded blocks?

Post by Mike »

Some time ago, I posted a more elaborated answer to this question in the thread 'RAM... what to get?'. Short of limiting the RAM accessible to BASIC and putting screen and colour RAM at the correct place for unsuspecting programs/games by setting the addresses 641 .. 644 and 648 (and doing a soft-reset), a generic +35K RAM expander should provide for the three most important RAM settings:

- unexpanded (BASIC start at $1001, end at $1E00, screen at $1E00, colour RAM at $9600),
- +3K (BASIC start at $0401, end at $1E00, screen at $1E00, colour RAM at $9600), and
- +8K or more (BASIC start at $1201, end at $4000 or higher, screen at $1000, colour RAM at $9400), possibly including RAM in BLK5.

The shifting screen memory is the main reason a program or game doesn't work with another RAM configuration. Programs in machine language with a BASIC stub (which show just a SYS line when LISTed) most often fall over a different BASIC start address.

The last option in the list above effectively means 'switch on RAM in all blocks 1..3 and 5'. All programs which need at least +8K should also work with +16K or +24K. In the same way, programs which require +16K also work with +24K. In both cases, the extra +8K in BLK5 don't affect BASIC use, anyway.

Most programs will also be unaffected if the +3K is activated alongside the bigger RAM expansion. The +3K will be blocked for BASIC use anyway (RAM in BLK1 takes precedence), as BASIC need contiguous RAM and the screen memory can only be moved as far down as $1000 - the VIC chip cannot access the external +3K as screen memory.
User avatar
tsm
Vic 20 Newbie
Posts: 19
Joined: Sat Apr 19, 2014 6:19 am

Re: Why disable expanded blocks?

Post by tsm »

Thank you Mike! I feel relieved reading your recommendations, because that's just what I did in my hack of a Super Expander. It really works, that's crazy. :lol:
Post Reply