Richardc64 wrote:Yeah, I pretty much abandoned the VIC after getting a C128. I've since thought of better and more versatile ways of doing what I did -- and more -- but don't expect to ever actually do them.
Sorry.
Ummm... ok. Well, that might be a 'career' shared by many who write here in Denial: the VIC-20 as first computer, replaced by a C64 or C128 or one of the 264 series, later on an Amiga or some entirely different computer, etc. Somewhere around 2002 I saw that emulators had gotten mature enough to think about what might have been possible to do on the VIC-20, giving one's own knowledge of today. Even better if you had kept the original hardware to run the newly written programs on the real iron.
That being said, I now count at least five 'officially' known VIC-20s with at least the +3K between $0400 and $0FFF filled with RAM accessible by VIC: yours, srowe's, wimoos', freshlamb's and mine. Now, my VFLI mod actually was a spin-off of a
longer project tokra and I did over the four years from 2010 to 2014: explore the display capabilities of the VIC-I. In doing so, we two managed to produce resolutions for
bitmapped displays and also uniform colour resolutions that were unheard of before. Especially the 208x256 resolution was regarded as sort-of holy grail (especially for the German members) to achieve. We finally managed to do this, and even supported this resolution with an own BASIC extension. In parallel to this, another mode was created with 72x256 pixels, FLI, i.e. all 3 global colours refreshed on each raster, and 8x1 pixel colour attributes (which required rewriting 9 bytes of colour RAM data on each raster!)
Both modes work on an unaltered VIC-20, just a RAM expansion is needed. Then, the CPU shuffles bitmap or colour data in sync to the raster beam into the RAM accessible to VIC. Which more or less monopolises the CPU to aid the VIC for the display. The foreground program is halted during display.
I wanted to see both things, that resolution of 208x256, and FLI, at once. Together with at least some remaining time (~20%) for the main CPU to run own programs. That's what I devised my VFLI mod for! Four years later, there's a slightly enhanced resolution of 224x280 available without FLI, and 104x256 is possible for FLI, without modding the hardware. We know now for sure, that doing both things at once is completely beyond the limits for an unmodded VIC-20.
For the former 208x256 resolution without FLI, I wrote a display routine which only requires two NMIs per frame to put the bitmap on screen (i.e. effectively 100% CPU time available!!) That routine should run unaltered on your modded VIC-20's as well (it does not require the 16Kx4 colour RAM). I've put it here for
download. In the d/l directory I put also some other tools, for example 'max.prg' moves the screen to $0400 and makes even more memory available for BASIC. There's also a slide show ('vfli_pan_slide') as demonstrator which loads VFLI images into an unmodded VIC-20 to display them, even if at reduced width (72 vs. 208 pixels), but with a sliding window. Please take your time to try out those programs.
There's still a lot to discover on our old friendly computer. No reason to throw the helve after the hatchet.