Page 1 of 1

Unexpanded VIC Font Editor

Posted: Fri Apr 19, 2024 6:10 pm
by davervw1
I made a thing started from scratch Sunday. Open source. Here's the blog article. 24 levels of undo/redo. Clipboard copy/paste/cut, and other stuff shown in image including shifting image left/up/down/right. Have fun on the original Vic-20!

If you have any 3K/8K/etc. expanded RAM, remove before you try. Otherwise the source is editable (ACME pure 6502).

Blog: https://techwithdave.davevw.com/2024/04 ... cters.html
D64: https://github.com/davervw/ch20edit/raw ... 20edit.d64

Image

(mod: thread moved to Programming section)

Re: Unexpanded VIC Font Editor

Posted: Sat Apr 20, 2024 5:31 am
by Mike
davervw1 wrote:I made a thing started from scratch Sunday. [...]
Nice! It's an interesting idea to move up the BASIC start to $1800, so the character set sits comfortably at $1000.

You might consider adding a raster split in the middle of the screen, between UI and font display, so the UI can still use the standard character set.
If you have any 3K/8K/etc. expanded RAM, remove before you try.
... or use 3K.PRG to temporarily unexpand the VIC-20 (load with "...",8,1) until the next power cycle or reset.

Greetings,

Michael

Re: Unexpanded VIC Font Editor

Posted: Sat Apr 20, 2024 6:28 pm
by davervw1
Thanks for moving this into the right board. I now better understand this forum's organization.

The raster/timer split on Vic-20 is an interesting idea I considered. But I chickened out and ran out of RAM -- only 13 bytes free!!! so it could be rather difficult. But there are more bytes/buffers elsewhere that could steal some bytes from, and further space optimizations. Seems like a useful feature. I am definitely shooting for it with its younger sibling Commodore model that comes with more RAM. But that doesn't help us here. Then again, with more Vic-20 RAM, we could also edit 4K double character sets also.

Alternative is that the user can press @ and it will swap RAM/ROM sets on demand.

Ah, I get your temporary unexpand comment... yeah -- since the video memory map is identical, LOAD... 8,1 is necessary then SYS manually instead of RUN. I hadn't tried that yet, but seems like a solid idea too. Bummer is putting character set in the middle of BASIC RAM though. 3K free before the set, and 1.5K free after. Not sure what other options there are, ah I see could relocate set to $1400-$1BFF and then only $1C00-$1DFF (half a K) is "wasted" not available to BASIC. Could also have a new branch for a variation that does this and avoid the manual SYS. Of course that's why we have 8K/16K/24K, etc. RAM expansions too. Doesn't seem like we need to be restricted to unexpanded, it was just a challenge I set myself and that was the configuration I started with in early 80s. I suspect I will submit new versions as I've already dealt with changes necessary for changing some of the addresses for an unnamed other popular Commodore 8-bit system.

Thanks again!

Re: Unexpanded VIC Font Editor

Posted: Sun Apr 21, 2024 2:39 am
by Mike
davervw1 wrote:Ah, I get your temporary unexpand comment...
Probably not.
yeah -- since the video memory map is identical, LOAD... 8,1 is necessary then SYS manually instead of RUN.
The tool I linked to, "3K.PRG", temporarily 'unexpands' the VIC-20. It sets the BASIC limits and the screen position as for the unexpanded VIC-20, so programs that rely on a given position of BASIC start and position of screen memory can be run without the need to physically remove memory expansions.

It is supposed to be loaded with ",8,1" as parts of it load into the $03xx vector area. It thus autostarts, without any SYS or RUN.

Re: Unexpanded VIC Font Editor

Posted: Sun Apr 21, 2024 9:07 pm
by davervw1
Ah I completely missed the link. Thanks for the pointer.