Another ram expansion? Yes it is

Modding and Technical Issues

Moderator: Moderators

User avatar
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

Post by mythic66 »

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.
Attachments
20240126_173941.jpg
20240126_173922.jpg
User avatar
akator
Vic 20 Afficionado
Posts: 328
Joined: Wed Apr 14, 2010 6:01 pm

Re: Another ram expansion? Yes it is

Post by akator »

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.
pixel wrote: Mon Jan 01, 2024 3:51 pm The UltiMem is really the One And Only for the VIC so far and as far as I know no-one really utilized it yet – for just launching files from ROM its features are overkill.
Yeah, the UltiMem has so much untapped potential.
User avatar
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

Post by mythic66 »

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.
avsars
Vic 20 Newbie
Posts: 4
Joined: Thu Feb 08, 2024 6:07 am
Location: Istanbul

Re: Another ram expansion? Yes it is

Post by avsars »

Hi, this is really amazing.
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.
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.
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Another ram expansion? Yes it is

Post by Mike »

avsars wrote:Is there a way to address this problem with this memory expansion?
No. See here: https://sleepingelephant.com/ipw-web/bu ... U+VIC+side, and to quote from there:
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. [...]
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).
avsars
Vic 20 Newbie
Posts: 4
Joined: Thu Feb 08, 2024 6:07 am
Location: Istanbul

Re: Another ram expansion? Yes it is

Post by avsars »

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 am
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. [...]
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).
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Another ram expansion? Yes it is

Post by Mike »

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.
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.

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:
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.
Further discussion about the VFLI mod should perhaps continue in the corresponding thread.
avsars
Vic 20 Newbie
Posts: 4
Joined: Thu Feb 08, 2024 6:07 am
Location: Istanbul

Re: Another ram expansion? Yes it is

Post by avsars »

Mike wrote: Thu Feb 08, 2024 1:06 pm 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.
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.
mythic66 wrote: Mon Jan 01, 2024 8:38 am I had a question about memory banking. I want to keep it simple and not have a zillion of choices. Would it be better
to map 8k x 8 banks to a specified address BLK, or having 16k x 4 banks across 2 consecutives address BLK ( i.e BLK1-BLK2 )?
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.
User avatar
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

Post by mythic66 »

@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 :D ) , 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.
avsars
Vic 20 Newbie
Posts: 4
Joined: Thu Feb 08, 2024 6:07 am
Location: Istanbul

Re: Another ram expansion? Yes it is

Post by avsars »

Great! I'm looking forward to it, I wish you success in your project.
mythic66 wrote: Fri Feb 09, 2024 3:30 pm It will also be solderless and plug and play, with additional VRAM banks.
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Another ram expansion? Yes it is

Post by Mike »

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.
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.
It will also be solderless and plug and play, with additional VRAM banks.
Please note, not all VIC-20s have the relevant chips (select logic, mainboard RAM) socketed.

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.
Post Reply