More then 32+3k ?
Moderator: Moderators
More then 32+3k ?
Hi,
I wish to ask to hardware experts if is theoretically/practically possible to add other ram to the VIC not "only" the classic full expansion 32+3k but an additional expansion in the User/cart port like the 1764 Ram Expansion Unit (REU) for the C64.
I don't know how to use these additional ram but i'm sure that if is possible to use it i will got some nice ideas....
I wish to ask to hardware experts if is theoretically/practically possible to add other ram to the VIC not "only" the classic full expansion 32+3k but an additional expansion in the User/cart port like the 1764 Ram Expansion Unit (REU) for the C64.
I don't know how to use these additional ram but i'm sure that if is possible to use it i will got some nice ideas....
Mega-Cart: the cartridge you plug in once and for all.
Re: More then 32+3k ?
The C64's REUs are very powerful hardware. In case people don't know much about them, the original Commodore ones have 128k to 512k RAM in them that is completely external to the computer. They have a chip in them (called the REC) that can be instructed to transfer between REU memory and the computer's memory.
You set a 24 bit address in REU memory, a 16 bit address in computer memory, a 16 bit length register, and then set whether you want to move from C64 to REU, REU to C64 or both (swap). It then executes the transfer at a full 1 byte per cycle, roughly 1MB per second (half that for a swap).
A simpler RAM expansion for the C-64 is the geoRAM and BBGram. They use 2 pages of IO (both $DExx and $DFxx). One page is a 256 byte "window" into the unit's RAM. The other page has a few registers to control what page of RAM is being looked at.
This kind of expansion has much simpler hardware, and was simpler to figure out how to program, but it's far less powerful.
It'd be cool to see something like this for the VIC, but at the same time not a whole lot of C64 software was made to use this kind of hardware even when it was fairly commonly available and had some real practical use, so would the effort and expense be worth it on the VIC?
You set a 24 bit address in REU memory, a 16 bit address in computer memory, a 16 bit length register, and then set whether you want to move from C64 to REU, REU to C64 or both (swap). It then executes the transfer at a full 1 byte per cycle, roughly 1MB per second (half that for a swap).
A simpler RAM expansion for the C-64 is the geoRAM and BBGram. They use 2 pages of IO (both $DExx and $DFxx). One page is a 256 byte "window" into the unit's RAM. The other page has a few registers to control what page of RAM is being looked at.
This kind of expansion has much simpler hardware, and was simpler to figure out how to program, but it's far less powerful.
It'd be cool to see something like this for the VIC, but at the same time not a whole lot of C64 software was made to use this kind of hardware even when it was fairly commonly available and had some real practical use, so would the effort and expense be worth it on the VIC?
- eslapion
- ultimate expander
- Posts: 5037
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
The REU is "powerful" because it uses the DMA capability of the C64, which the VIC-20 doesn<t have.brain wrote:A banked RAM approach, like geoRAM/BBGRam/and RamLink is easy to build. REU requires a way to stop the processor, which I do not believe the VIC-20 has.
Jim
I could easily make a banked 2MBytes expansion for the VIC simply but modding the Behr Bonz cart I presently make by replacing the 2Mbytes EPROM with a 2MBytes static RAM chip.
As a matter of fact, I offered something like that to Schlowsky last year.
- eslapion
- ultimate expander
- Posts: 5037
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
You want 64kb? No problem... I already have 32k ROM + 32k RAM on the ultimate expander. Going 64k RAM is peanuts.d0c wrote:get the vic20 up to 64kb and 40col.... then we are taking serious action
40 column is available as software. However, if you want a real hardware 40 col. solution like the data-20/Protecto 80 offers then you're in for a nasty surprise.
To me, doing that is more difficult than making a 2Mbytes REU for the 64.
If you have 10k$ to spare, then maybe, just maybe, I could consider it.
Why can't you accept the VIC as she is?
I see 8k expansion as breast enhancement surgery, a 3k cart is a nose job. What you guys are talking about is tantamount to a sex change operation! I believe one must, by law, currently undergo intense counseling before attempting such a surgery. Perhaps one must be required to fully appreciate the VIC's unexpanded capabilities before attempting any hardware modifications. Perhaps playing every unexpanded game in Zimmer's archive.

wow, there is a lot of interest about this question....
btw what i'm thinking is a sort of big drive where the user may store his games/programs by using a program burned in this unit for example in BLK5 or in IO area or simply loaded from the drive.
For this unit 2MB may be enough but why not 16MB of NVRAM or Flash ROM or MMC/CF cards, i imagine it as a big drive with a Vic Driver (a program) to load upload things from and to it.
You may release specific big games for it, the game need to call the driver with a JSR $A100 (BLK5) or JSR $9F00 (IO space) with some parameters in A/X/Y or some locations to load/save things from/to the unit to/from a specific Vic memory Area.
I think that maybe a new nice Vic hardware piece.
btw what i'm thinking is a sort of big drive where the user may store his games/programs by using a program burned in this unit for example in BLK5 or in IO area or simply loaded from the drive.
For this unit 2MB may be enough but why not 16MB of NVRAM or Flash ROM or MMC/CF cards, i imagine it as a big drive with a Vic Driver (a program) to load upload things from and to it.
You may release specific big games for it, the game need to call the driver with a JSR $A100 (BLK5) or JSR $9F00 (IO space) with some parameters in A/X/Y or some locations to load/save things from/to the unit to/from a specific Vic memory Area.
I think that maybe a new nice Vic hardware piece.
Mega-Cart: the cartridge you plug in once and for all.
Back when I used to do most of my computing via serial, I started a design for interfacing a 6545 CRTC, 6551 UART and 32KB of RAM windowed through $A000. My plan was to port Craig Bruce's ACE OS to the VIC.brain wrote:A banked RAM approach, like geoRAM/BBGRam/and RamLink is easy to build. REU requires a way to stop the processor, which I do not believe the VIC-20 has.
I started a new job at that time and never had time for this sort of stuff since. The 6545 never really got going too well, I was just going to rip off the Data20. But the windowed $A000 and UART worked OK. Windowed memory can scale to whatever.
Eslapion's Behr-Bonz design could handle something like this with no worries.
I find it hard to be a 5K purist. IMHO it was a large mistake for C= to ship the VIC with that 3K hole, 8K stock would have been a lot more useful and been a better baseline for developers.Jeff-20 wrote:Why can't you accept the VIC as she is?I see 8k expansion as breast enhancement surgery, a 3k cart is a nose job.
Unfortunately, the BB current design does not support bank switching. Once a single bank is selected, the only way to unselect a 16K block is to power off.Stinky wrote:Eslapion's Behr-Bonz design could handle something like this with no worries.
MegaCart included bank switching a a very early design phase (when 32K RAM was added).
Adaptation of MegaCart design to accept mach larger static ram size is not very difficult.
