Porting existing stuff (was Re: VIC-20 mega expansion memory map)

From: Ethan Dicks (erd_at_infinet.com)
Date: 2003-01-25 03:35:27

> Can't you just configure the video matrix to the overscan area?

Dunno.  Does that work without tricking the Kernel print routines
(this program just emits strings to $FFD2)

> On PAL, there are 35.5 visible columns (of which maybe 4 are
> invisible on some televisions).

31 is still better than 23.

> > Under VICE, this was easy.  With a real VIC-20, I was
> > considering blowing ROMs for a cartridge.
> Well, you could use my cartridge as a ROM disk (or even as a RAM
> disk, but you couldn't turn a bit from '0' to '1'; you'd have to
> turn 8192 kilobytes from '0' or '1' to '1' at once).

The virtual memory manager as implemented by treating the floppy as
a wad of 256 byte blocks (not C= DOS files) with its own internal
translation matrix of which memory page is at which spot on the
disk.  As the game progresses, the interpreter "page faults" and
the disk I/O routines use pretty ordinary Kernel calls to read the
right disk block into a 1541 buffer and read it in.  These blocks
never change, so are not ever written back out when the space needs
to be reclaimed.  There _are_ a few dozen impure pages which are
read in when the game is booted, but are never reclaimed during 
game play.  Those are what are written out for a saved game file.

So... it would be possible to allocate 96K-128K of ROM space and
re-write the interpreter to pull pages into RAM from there (or
to execute them directly from ROM).

> ...you could reserve the top memory pages for your game
> interpreter.  That data could even be kept in uncompressed form, so
> you wouldn't need to copy anything.

Depending on what is visible to the 6502 without register twiddling,
about the only thing that would have to be pulled into RAM would
be the impure pages (a few dozen K)... so it probably wouldn't be
too hard to use part of the 32K of RAM on the cartridge for that,
and get all the rest right from the ROM.


Visit "The Seventh Continent"

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail 2.1.4.