Page 1 of 2

What are the largest programs ever made for the Vic?

Posted: Thu Jan 31, 2013 4:46 pm
by darkatx
After humiliating myself trying to run Kweepa's Doom on my 32k expander...lol...I got to thinking...are there any other programs/software that uses more than 32K on the Vic?
Be an interesting list?

Posted: Thu Jan 31, 2013 11:07 pm
by Vic20-Ian
512k FE3 ramdisk ;-)

Posted: Fri Feb 01, 2013 7:35 am
by TBCVIC
I'm planning on a game for the FE3, but it won't be finished any time soon, like 10-20 years perhaps :)

Posted: Fri Feb 01, 2013 9:03 am
by Jeff-20
Not mine :lol: But I think 512k game would be awesome!

Posted: Fri Feb 01, 2013 9:18 am
by Vic20-Ian
Wonder what could be done with 512k?

All the things I would think about are likely to be achievable in 64k.

Mercenary, Starglider, Elite...

What sort of game would a 512k game be?

Posted: Fri Feb 01, 2013 9:41 am
by tokra
Since the 512K feature of the FE3 is just bank switching, anything that can be done with it could also be done with disc-access - just a little slower. A little downside of the FE3 bank switching is that AFAIK you can only switch the full 32K-expansion block and not in smaller slices (like 4K or 8K) which would be much more useful.

Posted: Fri Feb 01, 2013 11:44 am
by Ghislain
Vic20-Ian wrote:What sort of game would a 512k game be?
I don't have an FE3 expander and I'm not familiar with how it performs bankswitching... but how hard would it be to make an animated Dragon's Lair type game where the various frames of animation are bankswitched into the accessible memory of the VIC chip?

If that is possible then I think that with an SD card + 512 K of RAM, you could port Dragon's Lair and Space Ace for the VIC-20.

Posted: Fri Feb 01, 2013 11:49 am
by tokra
Ghislain wrote:but how hard would it be to make an animated Dragon's Lair type game where the various frames of animation are bankswitched into the accessible memory of the VIC chip?
Sadly, that's not possible, since you can only switch areas $2000-$7fff and $a000-$bfff as a whole. This obviously excludes VIC-animation unless you use lda #00; sta $xxxx commands directly which needs 6 times the space...

And with 512K you still have only 16 x 32K blocks, which would fit about 16 frames if done this way.

Posted: Fri Feb 01, 2013 12:06 pm
by Mike
Ghislain wrote:but how hard would it be to make an animated Dragon's Lair type game where the various frames of animation are bankswitched into the accessible memory of the VIC chip?
The expansion port is not accessible by the VIC chip.

Especially an external 3K expansion is not "seen" by VIC, even though it maps into the memory range $0400 .. $0FFF.
tokra wrote:Since the 512K feature of the FE3 is just bank switching, anything that can be done with it could also be done with disc-access - just a little slower.
The Bible Series, Part II has a text base over 800KB worth, so I had to use some compressing scheme to fit the whole Torah alongside images and the menu system on a 3 1/2 inch disc for the 1581. Thankfully, even the largest chapters load fine into RAM with a +24K RAM expansion.

I wrote a variant of the text display program which can use a REL file as buffer, instead of RAM. That REL file could also be placed into the FE3 RAM Disk. ;)

Posted: Fri Feb 01, 2013 12:14 pm
by darkatx
Is it still possible to make smaller frames and a lower FPS and load them on the fly like Tokra mentioned?

:?:

Posted: Fri Feb 01, 2013 12:28 pm
by Mike
You can refresh a whole MINIGRAFIK bitmap sans attributes nearly 30 times per second. See here.

It 'just' needs a more flexible RAM expander than FE3, like this one:

- 256 'pages' with 8K each, i.e. 2 MB in total,
- 4 registers in the I/O area, for BLK1..3 and BLK5, which allow to map any of the 256 pages to the respective BLK.

Such an expander could then provide fresh data for a new frame in BLK5, which would then be blitted down to $1100 .. $1FFF. A bitmap of MG needs slightly less than 4K, so this solution could show an animation with over 500 frames.

Posted: Fri Feb 01, 2013 12:47 pm
by darkatx
It appears that your loader is overkill for normal animation purposes. 30 FPS at full frame is excellent but not entirely necessary.
Kweepa's Doom is a primary example of small window but still pure entertainment.
Don't really need a full frame maybe something smaller - like three quarters size? And I have to argue with Carlsson's idea of anything less than 15FPS looking like slideshow. Is it fluid? No.
But possibly very playable and enjoyable?
Yes...most animation houses sometimes cheat to as low as 12 FPS in certain sequences and our perception smoothes it out. Seeing as Dragon's Lair and Space Ace is just click and watch type game - this almost seems doable in spite of the FE3's limits...at least a simple demo could be pulled off?

Posted: Fri Feb 01, 2013 1:09 pm
by Mike
darkatx wrote:[An animation in a smaller frame with <30 frames per second] almost seems doable in spite of the FE3's limits ... at least a simple demo could be pulled off?
Let's see ... a 64x64 pixel bitmap needs 512 bytes, the FE3 RAM Disk achieves slightly more than 9 KB/s for load, which leads to ~18 frames per second. The capacity of the RAM Disk actually is 480K (32K are still needed for the RAM expansion itself), still this could hold nearly 1000 frames ... if there were no limitation to 100 files ATM.

REL file access is slightly slower at 4 KB/s, but would allow for more than 100 files/frames (with the added advantage of a tidier directory ;)).

Posted: Fri Feb 01, 2013 2:00 pm
by darkatx
Mike wrote:...REL file access is slightly slower at 4 KB/s, but would allow for more than 100 files/frames (with the added advantage of a tidier directory ;)).
Hey, that is promising! :)
Even at a steady ~ 8 FPS that would still make it playable. :D

Are they even selling FE3's anymore? :? The only options seems to be purchasing a Megacart or build your own FE cart.

Would XPander 3 also be an option to get over the 32K hump?

Posted: Sat Feb 02, 2013 7:23 pm
by RJBowman
Many old BASIC games for the VIC were "double loaders"; the first program would do something like set of the game graphics in memory and display instructions on the screen, then it would load another program which would actually play a game. In total, it wasn't really a huge program because ithe double loading was a way of getting around the 3.5k limitation, but it goes to show you that swapping code from storage on the VIC was common practice in the day.