Hello everyone.
I have been searching C64 games for different character sets and transferring them to be used on the Vic 20. I have had much success with it but have recently run into a problem. Maybe someone can help me out.
Software I am using:
ICU64 - to locate the character sets.
VICE - to save the character sets to disk.
s "FILENAME" 8 start end
DirMaster - to lift the file from disk created in VICE.
HexEdit - to change the load address to a Vic 20 location.
Character Editor - to look at them on the Vic 20.
That is basically the exact procedure I use and most of the time it works very well. The problem comes up when I try to save a character set from the $d000-$dfff range. All I get is a repeating sequence. Anyone have any idea why this is happening?
Saving Character Sets in VICE
Moderator: Moderators
Re: Saving Character Sets in VICE
The problem is that $D000-$DFFF is a very busy area of the C64, it contains registers for the SID & VICII chips, the I/O area and the character ROM underneath that.
You can't just save that area, to access it you'll need to first temporarily disable the interrupts, swap out the I/O area for the CHAR-ROM underneath, copy the ROM to a different area of RAM, swap the I/O back in then re-enable the interrupts.
Then you can save the copy that you made.
It can be done in BASIC but it takes a long time, it's best to do it in machine language, which is almost instantaneous.
Here's a program that I wrote to dump the Character, KERNAL & BASIC ROMS to disk. romdumper.prg
You can't just save that area, to access it you'll need to first temporarily disable the interrupts, swap out the I/O area for the CHAR-ROM underneath, copy the ROM to a different area of RAM, swap the I/O back in then re-enable the interrupts.
Then you can save the copy that you made.
It can be done in BASIC but it takes a long time, it's best to do it in machine language, which is almost instantaneous.
Here's a program that I wrote to dump the Character, KERNAL & BASIC ROMS to disk. romdumper.prg
Ray..
- Mike
- Herr VC
- Posts: 4976
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Saving Character Sets in VICE
Within the VICE monitor, the memory view first corresponds to the value in the $01 port register. In most cases the I/O area from $D000 .. $DFFF is active.GreyGhost wrote:VICE - to save the character sets to disk.
s "FILENAME" 8 start end
For the C64 you can, however, switch the VICE monitor to another view with the 'bank' command. bank ram, for example, switches to all RAM visible within the monitor.
If you mount a directory on the host PC within VDrive, you can omit the *.d64 and don't need DirMaster to extract the file. Just use 0 instead of 8 as 'drive number'.
Re: Saving Character Sets in VICE
Thanks, the "bank" command worked nicely. I assumed that VICE would show which ever bank was active at the time the monitor was opened.
Rob