Another ram expansion? Yes it is
Moderator: Moderators
- mythic66
- Vic 20 Drifter
- Posts: 32
- Joined: Sat Dec 31, 2022 1:21 pm
- Location: Canada
- Occupation: Technician
Re: Another ram expansion? Yes it is
A little update. I modified the menus. In the ram section, you can add as needed the RAM123 and/or IO2-3 with any 8k-16-24 and 32k config. In the ROM menu, I added an option to have a second basic rom. So with the OEM Kernal, it left 3 slots for other Kernal.
The choices are colorize in green.
The choices are colorize in green.
Re: Another ram expansion? Yes it is
I like the menu design.
Just curious — have you have tested with any of the various multicarts that also have RAM expansion built-in (like any of the Penultimate carts) to see if there are any conflicts? For example, a Penultimate can load from SD2IEC and set the cart's memory expansion internally to run the software.
Just curious — have you have tested with any of the various multicarts that also have RAM expansion built-in (like any of the Penultimate carts) to see if there are any conflicts? For example, a Penultimate can load from SD2IEC and set the cart's memory expansion internally to run the software.
Yeah, the UltiMem has so much untapped potential.
- mythic66
- Vic 20 Drifter
- Posts: 32
- Joined: Sat Dec 31, 2022 1:21 pm
- Location: Canada
- Occupation: Technician
Re: Another ram expansion? Yes it is
I didn't yet. I want to complete the basic setup, then i'll make some tests.
Indeed that Ultimem never been used at its full power ; I will keep mine simple and no fancy goodies. Just an internal way to
have expanded memory and kernal variant without clogging the expansion port.
Indeed that Ultimem never been used at its full power ; I will keep mine simple and no fancy goodies. Just an internal way to
have expanded memory and kernal variant without clogging the expansion port.
Re: Another ram expansion? Yes it is
Hi, this is really amazing.
I think there is a third problem: the VIC chip cannot see external RAM expansion. I am not an expert, but as far as I know expansion port and VIC lay on two different memory buses so VIC cannot reach expansion slot RAM. Is there a way to address this problem with this memory expansion? Since you use CPU slot so may be there is a way to assign this RAM to corresponding blocks so that VIC chip can reach them.mythic66 wrote: ↑Sun Nov 12, 2023 5:58 pm
There are many ram/rom expansions out in the wild, but most of them suffer from two problems ( IMO ). First, it use the expansion port, so without a port expander, your port is 'dedicate' to it. Secondly, it use dip switches to choose the amount of ram or rom slot to use( multi kernal ). For the internal expansion I saw, you have to open the 'hood' and move the dip switches.
- Mike
- Herr VC
- Posts: 4874
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Another ram expansion? Yes it is
No. See here: https://sleepingelephant.com/ipw-web/bu ... U+VIC+side, and to quote from there:avsars wrote:Is there a way to address this problem with this memory expansion?
As the expansion in question here 'sits' between CPU and CPU socket, it is located on the CPU side with regard to the bus buffers. The VIC chip has no access to the extra RAM (especially not to RAM1..3).Mike wrote:The 6502 in the VIC-20 cannot tri-state its address bus, therefore the address (and data) bus are split into a "VIC side" and a "CPU side" while the VIC is supposed to access memory. Internal RAM and character ROM are on the VIC side; KERNAL and BASIC ROM and everything on the cartridge port are on the CPU side. [...]
Re: Another ram expansion? Yes it is
Thanks Mike, I get it now. It is not only a matter of access then. It is related to timing, or state of the VIC access. I also saw your vfli mod, what you did there is superb, so you place 3k on the VIC side with hw mod. Is it possible to add more ram this way, i mean, can we add other blocks on the VIC side too? I know it is not much meaningful since VIC can utilize 4k but the display area could have been switched back and forth in that case.
Mike wrote: ↑Thu Feb 08, 2024 9:34 amAs the expansion in question here 'sits' between CPU and CPU socket, it is located on the CPU side with regard to the bus buffers. The VIC chip has no access to the extra RAM (especially not to RAM1..3).Mike wrote:The 6502 in the VIC-20 cannot tri-state its address bus, therefore the address (and data) bus are split into a "VIC side" and a "CPU side" while the VIC is supposed to access memory. Internal RAM and character ROM are on the VIC side; KERNAL and BASIC ROM and everything on the cartridge port are on the CPU side. [...]
- Mike
- Herr VC
- Posts: 4874
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Another ram expansion? Yes it is
The display routine of the VFLI graphics mode already does the latter: the bitmap utilizes $0600..$1FFF (i.e., 6.5 KB!) to display the 208x256 pixels and it switches the character generator base mid-screen from $0400 to $1000 to achieve this.avsars wrote:I [...] saw your vfli mod, what you did there is superb, so you place 3k on the VIC side with hw mod. Is it possible to add more ram this way, i mean, can we add other blocks on the VIC side too? I know it is not much meaningful since VIC can utilize 4k but the display area could have been switched back and forth in that case.
It is possible to add another "VIC visible" 2 KB in the I/O area, but doing that is much more complicated than my VFLI mod and would render all cartridges non-functional that utilize the I/O area for peripheral registers or other purposes, see here: 6560 Access to $9800-$9fff, and to quote from that thread:
Further discussion about the VFLI mod should perhaps continue in the corresponding thread.Mike wrote:Even though [providing the VIC with VRAM in $9800..$9FFF] could be done as well, it would require to block this address range entirely for external cartridges, rendering Mega-Cart, FE3, and also UltiMem largely non-functional.
Re: Another ram expansion? Yes it is
I have realized that you already explained the matter in detail in your previous posts. Thank you very much for your patience in answering my question. I knew that VIC cannot see the expansion RAM but I thought it was a matter of physical connection. Now I see that it is related to bus timing (or state) and it is only possible to achieve this by motherboard mod.
Nevertheless, what mythic66 does is still a great project.
I agree with Mike, best option is to be able to switch any 8K page to any 8K block, but if this is not a viable option, then a rolling bank at block 5 or block 3 will also work. If 1 byte is used for page switch, then it is possible to achieve up to 2MB with 256 pages of 8K at block 5 and it will be practical for programming.
- mythic66
- Vic 20 Drifter
- Posts: 32
- Joined: Sat Dec 31, 2022 1:21 pm
- Location: Canada
- Occupation: Technician
Re: Another ram expansion? Yes it is
@avsars
Mike sum up the challenge with adding memory visible to the VIC chip, but, I made a prototype circuit that will fix this problem. It will
also be solderless and plug and play, with additional VRAM banks.
But I have to finish this ram expansion first.
I also add a nice feature ( I think ) , by using the C= key and F3, you can toggle the write protection ON and OFF on the BLK5 ram expansion.
I will also look at the banking feature on the ram expansion.
Mike sum up the challenge with adding memory visible to the VIC chip, but, I made a prototype circuit that will fix this problem. It will
also be solderless and plug and play, with additional VRAM banks.
But I have to finish this ram expansion first.
I also add a nice feature ( I think ) , by using the C= key and F3, you can toggle the write protection ON and OFF on the BLK5 ram expansion.
I will also look at the banking feature on the ram expansion.
- Mike
- Herr VC
- Posts: 4874
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: Another ram expansion? Yes it is
Just for the record, I solved said "challenge" or "problem" years ago already with aforementioned VFLI mod, by installing the RAMx range memory on the VIC side of the bus.mythic66 wrote:Mike sum[s] up the challenge with adding memory visible to the VIC chip, but, I made a prototype circuit that will fix this problem.
Please note, not all VIC-20s have the relevant chips (select logic, mainboard RAM) socketed.It will also be solderless and plug and play, with additional VRAM banks.
The VFLI mod could be made "solderless" and "plug and play" as well, by placing all involved chips on adapter PCBs, these PCBs connected with the necessary wiring (also taking care of the pull-ups) and using a connector for the user port to tap the colour RAM bank. That shifts the burden to the manufacturer but does not make the mod any simpler in total.