My Ultimem ID is also 17 ($11).tokra wrote:To my surprise PEEK(40947) $9ff3 produced a value of 17 ($11) instead of 18 ($12), which mean this is a VIC-MIDI-cart instead of an Ultimem according to the docs:
http://www.go4retro.com/products/ultimem/
![]()
![]()
![]()
Is this falsely documented? Or is my device flashed with the wrong firmware or something?
UltiMem
Moderator: Moderators
- majikeyric
- Vic 20 Afficionado
- Posts: 354
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: UltiMem
Re: UltiMem
You should only need to hold the middle button to bypass auto start on boot. If you need to reset. Hold down middle and press right buttontokra wrote:Just received my Ultimem today. Took me some time no find out you need to hold all three buttons on reset to circumvent it starting with Quikman.
Anyway, in my first experiments I tried running Doom (works) and peeked the values of the device. To my surprise PEEK(40947) $9ff3 produced a value of 17 ($11) instead of 18 ($12), which mean this is a VIC-MIDI-cart instead of an Ultimem according to the docs:
http://www.go4retro.com/products/ultimem/
![]()
![]()
![]()
Is this falsely documented? Or is my device flashed with the wrong firmware or something?
I also noticed the docs mention:
BLK2_BANK ($9ffa/b)
Default Value 4:
BLK3_BANK($9ffc/d)
Default Value: 4
While in reality BLK3 is (rightly) mapped to default value 5 (otherwise the two BLKs would not work if mapped to the same bank).
It looks like I have the docs wrong. I will fix tonight.
Re: UltiMem
I think I found some more issues in the docs:
Also, can you please let me know if I understand this correctly:
UltiMem: 8 megabyte (Flash)-ROM and 1 megabyte RAM
= banks 0-1023 ROM & banks 0-127 RAM
VIC-Midi: 512 KByte (Flash)-ROM and 128 KByte RAM
= banks 0-63 ROM & banks 0-15 RAM
What happens if I address a bank out of this range?
I think the information about UltiMem/VIC-MIDI should really go into the Denial WIKI, I have set up a page for that now.
Shouldn't this be "set to ROM bank 0" instead? Otherwise no image could autoboot. Also I assume ROM always means the Flash?On boot, BLK5 is set to RAM bank 0. All other banks are disabled
What is "switch0"? On my Ultimem the three switches are named S1,S2 and S3 with S3 being the reset-switch. I assume you mean switch S2 in this case?On boot and reset, holding down switch0 will disable BLK5 ROM visibility
As mentioned earlier majikeyric's and my UltiMem report $11, so is this an error or does the VIC-MIDI CART actually report something else?ID ($9ff3)
$11 for VIC-MIDI CART
$12 for ULTIMEM CART
Also, can you please let me know if I understand this correctly:
UltiMem: 8 megabyte (Flash)-ROM and 1 megabyte RAM
= banks 0-1023 ROM & banks 0-127 RAM
VIC-Midi: 512 KByte (Flash)-ROM and 128 KByte RAM
= banks 0-63 ROM & banks 0-15 RAM
What happens if I address a bank out of this range?
I think the information about UltiMem/VIC-MIDI should really go into the Denial WIKI, I have set up a page for that now.
Re: UltiMem
Yes and it is now correct in the docstokra wrote:Shouldn't this be "set to ROM bank 0" instead?
Yes, and I clarified in the docsAlso I assume ROM always means the Flash?
Yes, and I clarified in the docs. Looking at the UltiMem while plugged in, from left ot right, it is switch 1, switch 0, resetWhat is "switch0"? On my Ultimem the three switches are named S1,S2 and S3 with S3 being the reset-switch. I assume you mean switch S2 in this case?
I had them backwards. Docs updated.As mentioned earlier majikeyric's and my UltiMem report $11, so is this an error or does the VIC-MIDI CART actually report something else?
Yes
Also, can you please let me know if I understand this correctly:
UltiMem: 8 megabyte (Flash)-ROM and 1 megabyte RAM
= banks 0-1023 ROM & banks 0-127 RAM
YesVIC-Midi: 512 KByte (Flash)-ROM and 128 KByte RAM
= banks 0-63 ROM & banks 0-15 RAM
The bank registers are only 10 bits wide, so the value will wrap at that point. RAM address is shorter (7 bits), but only the loweest 7 bits are connected to RAM, so bank 128 = bank 0.
What happens if I address a bank out of this range?
Jim
Re: UltiMem
Thanks, I updated the Wiki-page as well, also put in a Getting started-section on how to use the UltiMem as a simple RAM-expansion.
Re: UltiMem
I'm stuck at this point. Starting flash4file.exe just gives me an error "The NTVDM CPU has encountered an illegal instruction". I tried this on 4 different PCs with Win7,Win10, an old XP-machine and even in DOSBox. Always the same error. I was trying to create my first ultimem-image:pixel wrote:Then make a compressed version for flash.prg.Code: Select all
./flash4file.exe ultimem.img ultimem.bin
Edit: Ok, I have recompiled the flash4file.exe using http://www.onlinecompiler.net/ - if anyone needs it here it is:
Re: UltiMem
I have been able to create my first UltiMem-Boot-Image now. It is a simple RAM-expansion-chooser, so you can use the UltiMem easily to configure it for Doom or any program you'd like to load.
To put this image on the Ultimem copy the flash.prg and ultimem.bin to an SD-card or floppy-disk. Reset your UltiMem to BASIC (hold middle-button while pushing right button), it should then show the usual startup message "3583 bytes free". Then just LOAD and RUN flash.prg - it will do its work for about a minute and when it's finished you can press reset on your UltiMem again (right button).
To put this image on the Ultimem copy the flash.prg and ultimem.bin to an SD-card or floppy-disk. Reset your UltiMem to BASIC (hold middle-button while pushing right button), it should then show the usual startup message "3583 bytes free". Then just LOAD and RUN flash.prg - it will do its work for about a minute and when it's finished you can press reset on your UltiMem again (right button).
Re: UltiMem
I improved my UltiMem-Image to include a fastloader (SJLOAD). Basically for any config you choose that is not 37K, you can type "SYS 40000" after reset to activate it. Hiding in this area SJLOAD is highly compatible. You can even run Doom with it for much faster loading and in-between-level-time.
This is basically the same as tlr did for the MegaCart, however it is not as comfortable to use yet since you have to start it by SYS manually. However if not activated you will not notice it is there at all. I compiled SLOAD with the most basic options so it only takes up around 940 bytes, allowing it to be placed at $9c40 (easy to remember decimal 40000). This way it also does not conflict with the Ultimem-registers (although I disable those in my config-menu for compatibility reasons).
Below you can find the image for download. Install as before by putting both files on a disk or SD-card and load/run flash.prg.
This is basically the same as tlr did for the MegaCart, however it is not as comfortable to use yet since you have to start it by SYS manually. However if not activated you will not notice it is there at all. I compiled SLOAD with the most basic options so it only takes up around 940 bytes, allowing it to be placed at $9c40 (easy to remember decimal 40000). This way it also does not conflict with the Ultimem-registers (although I disable those in my config-menu for compatibility reasons).
Below you can find the image for download. Install as before by putting both files on a disk or SD-card and load/run flash.prg.
Last edited by tokra on Sat May 28, 2016 2:00 am, edited 1 time in total.
- majikeyric
- Vic 20 Afficionado
- Posts: 354
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: UltiMem
Is there an easy way to uncompress image files compressed with flash4file ?
Re: UltiMem
I don't think so and cannot see what reason would there be to do so?
- majikeyric
- Vic 20 Afficionado
- Posts: 354
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: UltiMem
I tried it in VICE with my two images, but it says "invalid cartridge image". Not sure what could be the cause. Maybe VICE expects 8 MB-images? In my first try I created an 8 MB-image but this took half a day to flash compared to a minute for the smaller image, so I am now using these. You can try for yourself:
- majikeyric
- Vic 20 Afficionado
- Posts: 354
- Joined: Fri Oct 24, 2014 2:08 pm
- Website: http://majikeyric.free.fr
- Location: France
Re: UltiMem
Yes VICE expects 512KB or 8MB image files.
You can use makecart (without filelist.txt) to create such a file :
You can use makecart (without filelist.txt) to create such a file :
Code: Select all
makecart menu.img ultimem.img 524288 < NUL
Re: UltiMem
VICE also accepts 16MB files.
Thanks for the Windows binaries, tokra!

A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
https://github.com/SvenMichaelKlose
Re: UltiMem
Would be nice if there was an "official" boot image for this cart along the lines of the megacart menu. I guess this cart would then offer everything the MC does but offer the benefit of ready availability, updatable and larger memory.