amramsey wrote:It takes roughly an hour for basic to poke a 0 to every location in my bankswitched card. Ouch! There are 60 banks of 8k each sitting at $A000 (BLK5). They are switched by poking to any address in IO2 memory space ($9800 or 38912 decimal).
...
I didn't have any big ram chips sitting around so I used a 512k battery back ram module from TI (BQ4015). It would be trivial to extend this to 2048k of ram (still have pins left on the CPLD) but I'm not sure what the point would be. Not that there is any point to a 512k Vic anyhow.
Like I said... I think there is a point... a RAMLink for the VIC-20!
However, since anybody who wants a RAMLink for the VIC would have serious problems with the banks being visible at $A000 (software compatibility with cartridge images) then I would suggest you place control registers in the IO2 range and use IO3 as a 1Kbyte window. Much easier to use like that.
Then again, if you have a uC programmed to transfer to/from an SD-card into that 1k window, you can have a much larger RAMLink at a much lower cost. Perhaps with a little premium on transfer speed but not necessarily noticeable considering the speed at which the VIC-20 runs.
eslapion wrote:Nonetheless, a VIC-20 RAMLink, even with far less capacity than 64Mbytes, would a considerably better and more versatile cartridge than the megacart, on which you can't store anything permanently other than its originally burned EPROM content.
More flexible for large programs perhaps (never mind the issues with managing that many blocks in source code), but not more flexible in terms of running existing software.
I'm not much up on the goodies available for the C64. What is the Ramlink used for? Just Geos which has some sort of memory manager built into it to make it work? Is there an assembler or C compile which supports banking into a ramlink?
eslapion wrote:Nonetheless, a VIC-20 RAMLink, even with far less capacity than 64Mbytes, would a considerably better and more versatile cartridge than the megacart, on which you can't store anything permanently other than its originally burned EPROM content.
Good point!
How's that FlashCart project coming along?
Mega-Cart: the ultimate cartridge for your Commodore Vic-20
eslapion wrote:Nonetheless, a VIC-20 RAMLink, even with far less capacity than 64Mbytes, would a considerably better and more versatile cartridge than the megacart, on which you can't store anything permanently other than its originally burned EPROM content.
Good point!
How's that FlashCart project coming along?
The Flashcart's hardware is complete and working... for some reason, the people who could develop an OS for it have decided to snob it.
amramsey wrote:More flexible for large programs perhaps (never mind the issues with managing that many blocks in source code), but not more flexible in terms of running existing software.
Virtually all programs made for the Commodore 64 which do not reprogram the drive work well with a RAMLink... I see absolutely no point in even trying to directly manage the blocks in the source code of the software being used. The built-in DOS of the RAMLink does it all for you.
What is the Ramlink used for?
Its a battery backed RAM drive. The only thing is, it uses completely antiquated technology (DRAM which needs constant refreshing and power)which could be replaced with an SD-Card and you could do completely away with the batteries and special power supply.
Just Geos which has some sort of memory manager built into it to make it work?
The RAMLink is compatible with virtually all single file C64 programs and those which do not reprogram the drive to implement its own fast loader.
Is there an assembler or C compile which supports banking into a ramlink?
There is no such thing because frankly, the built-in DOS of the RAMLink makes such supports absolutely needless.