UltiMem
Moderator: Moderators
Re: UltiMem
I put the order for 10 prototype units in last night. Should be back in 2 weeks.
Jim
Jim
- majikeyric
- Vic 20 Afficionado
- Posts: 354
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: UltiMem
The order status shows as shipped, but tracking does not show dates. Still waiting (but, to be fair, I didn't select fast shipping or put this in as a rush job, so I expected a bit of delay).
Jim
Jim
Re: UltiMem
Updates:
Boards came on Wednesday (HK Post took forever, which surprised me).
Soldered the CPLD up on Thursday night, and tested verilog code. Initial tests working (can read/write registers and read switches, and set LED)
Soldered up the FLASH ROM (8MB) tonight, and started tested. Had to rewrite portions of Marko's programmer code to use the new IC. Initial tests had a problem. Found some bugs in my Verilog that I hd to fix, then found a bug on the PCB (I did not pull the WriteProtect pin to Vcc). made a quick fix and then programmed the unit with what looks like hundreds of games (Marko made a batch programmer app that just dumps all the VIC-20 games and utils into a directory structure on the FLASH).
I need to order the 1MB SRAM for the unit yet and solder it in, so can't test RAM expansion yet. The older prototype board works fine with RAM expansion and I am using the same Verilog, so all should be OK (only 1 more signal to test: ram_ce, the rest are the same as the FLASH signals).
I just got it working, and it's 2AM, so I'm quitting for the night. I'll pop some pics and such up tomorrow.
JIm
Boards came on Wednesday (HK Post took forever, which surprised me).
Soldered the CPLD up on Thursday night, and tested verilog code. Initial tests working (can read/write registers and read switches, and set LED)
Soldered up the FLASH ROM (8MB) tonight, and started tested. Had to rewrite portions of Marko's programmer code to use the new IC. Initial tests had a problem. Found some bugs in my Verilog that I hd to fix, then found a bug on the PCB (I did not pull the WriteProtect pin to Vcc). made a quick fix and then programmed the unit with what looks like hundreds of games (Marko made a batch programmer app that just dumps all the VIC-20 games and utils into a directory structure on the FLASH).
I need to order the 1MB SRAM for the unit yet and solder it in, so can't test RAM expansion yet. The older prototype board works fine with RAM expansion and I am using the same Verilog, so all should be OK (only 1 more signal to test: ram_ce, the rest are the same as the FLASH signals).
I just got it working, and it's 2AM, so I'm quitting for the night. I'll pop some pics and such up tomorrow.
JIm
Re: UltiMem
I also added in some code to "unbrick" a unit if you accidentally store some non working code in the autostart slot.
Jim
Jim
- eslapion
- ultimate expander
- Posts: 5037
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
Re: UltiMem
May I suggest...
Having some experience with XC95xxXL CPLD (they are the core of PLAnkton), I can tell you its a very good idea when using these chips with 8 bit systems to program them for low power mode of operation. To prevent ringing on the outputs, enable slew rate limiters; these also contribute to reduce power consumption.
Also, make sure you buy the slower versions (10ns) of the chip, they are cheaper, use less power and will not dissipate any noticeable heat. Even in low power mode, they remain fast enough for 10-20MHz operation which is way above the requirements for a VIC-20.
Having some experience with XC95xxXL CPLD (they are the core of PLAnkton), I can tell you its a very good idea when using these chips with 8 bit systems to program them for low power mode of operation. To prevent ringing on the outputs, enable slew rate limiters; these also contribute to reduce power consumption.
Also, make sure you buy the slower versions (10ns) of the chip, they are cheaper, use less power and will not dissipate any noticeable heat. Even in low power mode, they remain fast enough for 10-20MHz operation which is way above the requirements for a VIC-20.
Be normal.
Re: UltiMem
Some pics:
Marko's menu program:

4MB of files! I did not know so much was made for the VIC-20

View of the actual PCB (SRAM is not yet installed - IC is on order). Note red "PCB fix" wire and JTAG interface coming out of the back of the unit.

Right button is reset, middle button is SWITCH0, which is available for software use, left button is SWITCH1, also available for general software use. Holding down SWITCH0 and pressing reset will reset VIC without starting cartridge. LED is also visible, which is usable under software control.
registers have moved a bit:
$9bf0 (config0): HRXXXX10L - H = hide regs, R = soft-reset, keep reg values, 1 = SW1, 0 = SW0, L=LED (0 = off, 1 = on)
$9bf1 (config1): XXCCBBAA - CC = IO3 config, BB = IO2 config, AA = RAM1,2,3 config
$9bf2 (config2): GGFFEEDD - GG = BLK5 config, FF = BLK3 config, EE = BLK2 config, DD = BLK1 config
$9bf3 (ID) : MMMMIIII - MMMM = MFR ID (0001), IIII = DEVID (0001 for Ultimem, 0002 for VICMIDI, which supports the same function)
$9bf4 (RAMLO) : low 8 bits of bank register (a bank is 8192 btes in size)
$9bf5 (RAMHI) : high 2 bits of bank register
$9bf6 (IOLO)
$9bf7 (IOHI)
$9bf8 (BLK1LO)
$9bf9 (BLK1HI)
$9bfa (BLK2LO)
$9bfb (BLK2HI)
$9bfc (BLK3LO)
$9bfd (BLK3HI)
$9bfe (BLK5LO)
$9bff (BLK5HI)
Notes:
IO2 and IO3 can be individually enabled, but share a bank register
configs are as follows:
00 = no memory present
01 = R/W FLASH present
10 = R/O RAM present
11 = R/W RAM present
Marko has been patching VICE to support the cart, so folks can be thinking about menu apps and such.
It'll hold 1024 8192 byte cart images in ROM, and will contain 1MB of SRAM. So, an REU-like capacity for the VIC-20. What will folks do with that?
Jim
Marko's menu program:

4MB of files! I did not know so much was made for the VIC-20

View of the actual PCB (SRAM is not yet installed - IC is on order). Note red "PCB fix" wire and JTAG interface coming out of the back of the unit.

Right button is reset, middle button is SWITCH0, which is available for software use, left button is SWITCH1, also available for general software use. Holding down SWITCH0 and pressing reset will reset VIC without starting cartridge. LED is also visible, which is usable under software control.
registers have moved a bit:
$9bf0 (config0): HRXXXX10L - H = hide regs, R = soft-reset, keep reg values, 1 = SW1, 0 = SW0, L=LED (0 = off, 1 = on)
$9bf1 (config1): XXCCBBAA - CC = IO3 config, BB = IO2 config, AA = RAM1,2,3 config
$9bf2 (config2): GGFFEEDD - GG = BLK5 config, FF = BLK3 config, EE = BLK2 config, DD = BLK1 config
$9bf3 (ID) : MMMMIIII - MMMM = MFR ID (0001), IIII = DEVID (0001 for Ultimem, 0002 for VICMIDI, which supports the same function)
$9bf4 (RAMLO) : low 8 bits of bank register (a bank is 8192 btes in size)
$9bf5 (RAMHI) : high 2 bits of bank register
$9bf6 (IOLO)
$9bf7 (IOHI)
$9bf8 (BLK1LO)
$9bf9 (BLK1HI)
$9bfa (BLK2LO)
$9bfb (BLK2HI)
$9bfc (BLK3LO)
$9bfd (BLK3HI)
$9bfe (BLK5LO)
$9bff (BLK5HI)
Notes:
IO2 and IO3 can be individually enabled, but share a bank register
configs are as follows:
00 = no memory present
01 = R/W FLASH present
10 = R/O RAM present
11 = R/W RAM present
Marko has been patching VICE to support the cart, so folks can be thinking about menu apps and such.
It'll hold 1024 8192 byte cart images in ROM, and will contain 1MB of SRAM. So, an REU-like capacity for the VIC-20. What will folks do with that?
Jim
- Richardc64
- Vic 20 Drifter
- Posts: 33
- Joined: Mon Feb 01, 2010 3:55 pm
Re: UltiMem
Awesome work.brain wrote:registers have moved a bit:
I don't see any mention of 3K. Have you eliminated that feature?
"I am endeavoring, ma'am, to create a mnemonic memory circuit... using stone knives and bearskins." -- Spock to Edith Keeler
Re: UltiMem
$9bf1: AA (RAM1,2,3 config)
Jim
Jim
- Richardc64
- Vic 20 Drifter
- Posts: 33
- Joined: Mon Feb 01, 2010 3:55 pm
Re: UltiMem
Cool! I blame my eyesight for missing that. (That and me looking for it among the BLK registers.)
"I am endeavoring, ma'am, to create a mnemonic memory circuit... using stone knives and bearskins." -- Spock to Edith Keeler
- majikeyric
- Vic 20 Afficionado
- Posts: 354
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: UltiMem
With the feature-list I'm wondering if the MegaCart-software (and library) could be adapted to the UltiMem? Feature-wise it looks to be on-par.
- eslapion
- ultimate expander
- Posts: 5037
- Joined: Fri Jun 23, 2006 7:50 pm
- Location: Canada
- Occupation: 8bit addict
Re: UltiMem
Its not on par at all!tokra wrote:Feature-wise it looks to be on-par.
The Flash memory chip has a capacity of 64 megabit (8 megabytes) which is 4 times the capacity of the PROMs of the Megacart.
It uses a single CPLD to control RAM and Flash which probably consumes less than 1/10th the power of all the glue logic ICs on the Megacart.
This is a MUCH better product.
Be normal.
Re: UltiMem
I'm pretty convinced the hardware is fine for production, so I am preparing the production quote and I currently have the price down to $60.00 (no case as yet, folks need to supply their own case). the SMT stencil is pushing the cost up a bit, but I might be able to trim somewhere.
Jim
Jim