Re: VIC-20 basic memory start + basic stub + etc

From: Anders Carlsson <anders.carlsson_at_sfks.se>
Date: Wed, 8 Feb 2012 13:50:30 +0100
Message-ID: <2B1FE6C0F79B430395DD6BC367AB6DC5@ryds>
Hello,

> is it possible to switch off (from cartridge port) all the internal ROMs 
> somehow (hmm and/or I/O)?

This is slightly beyond my skills, but I believe the simple answer may be 
"no", due to the VIC-20 has a 6502 without the I/O register on the 6510. 
There are cartridges like Mega-Cart and even more Final Expansion that come 
with large amounts of Flash and RAM, but I believe those can only bank 
switch their content into the memory blocks accessible from the cartridge 
port. Those would be memory block 0 (half of it), 1, 2, 3, 5 and I/O blocks 
2, 3 IIRC.

So yes, there are cartridges with more than 64K RAM but not likely 
continuously available as on the C64.

> VIC-I [..] can support up to 31 (hmm, 32?) characters

Yes, if you have a monitor or TV with very generous overscan. I think the 
best I've managed were 28 columns on PAL, but only 24-25 columns on NTSC. 
The pixel size will be the same, just less border areas. You can have some 
30+ rows too, if your monitor can display it.

Memory wise, you will need to allocate more memory for the video matrix. By 
changing VIC pointers and logical video matrix location 648, you can easily 
use a full 1K for video matrix if you need to. Remember the unexpanded 
VIC-20 has 5K of CPU accessible memory (plus 1K nybbles for colour memory 
that can be made to run code within if you use the right instructions - 
Marko did this once) of which 1K is the low memory for zeropage, stack, 
Basic workspace, tape buffer etc, 3.5K is Basic program space and 0.5K is 
the video matrix. As it happens, 22*23 = 506 so quite enough to fit within 
512 bytes.

Of course if you want to discuss true bitmapped graphics, since the VIC-I 
doesn't have a such mode one has to simulate it with a custom graphics set 
where each character is used once. Combined with the unique 8x16 character 
mode and locating a small video matrix in the low 1K, one can fit a rather 
good image even on an unexpanded VIC-20, illustrated on demos such as VIMMII 
and others.

Best regards

--
Anders Carlsson


       Message was sent through the cbm-hackers mailing list
Received on 2012-02-08 13:00:26

Archive generated by hypermail 2.2.0.