Page 11 of 14
Re: UltiMem
Posted: Tue May 24, 2016 9:01 am
by majikeyric
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?
My Ultimem ID is also 17 ($11).
Re: UltiMem
Posted: Tue May 24, 2016 9:23 am
by brain
tokra 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).
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 button
It looks like I have the docs wrong. I will fix tonight.
Re: UltiMem
Posted: Wed May 25, 2016 12:24 pm
by tokra
I think I found some more issues in the docs:
On boot, BLK5 is set to RAM bank 0. All other banks are disabled
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 and reset, holding down switch0 will disable BLK5 ROM visibility
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?
ID ($9ff3)
$11 for VIC-MIDI CART
$12 for ULTIMEM CART
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?
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
Posted: Wed May 25, 2016 7:06 pm
by brain
tokra wrote:Shouldn't this be "set to ROM bank 0" instead?
Yes and it is now correct in the docs
Also I assume ROM always means the Flash?
Yes, and I clarified in the docs
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?
Yes, and I clarified in the docs. Looking at the UltiMem while plugged in, from left ot right, it is switch 1, switch 0, reset
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?
I had them backwards. Docs updated.
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
Yes
VIC-Midi: 512 KByte (Flash)-ROM and 128 KByte RAM
= banks 0-63 ROM & banks 0-15 RAM
Yes
What happens if I address a bank out of this range?
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.
Jim
Re: UltiMem
Posted: Thu May 26, 2016 1:41 am
by tokra
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
Posted: Thu May 26, 2016 4:08 pm
by tokra
pixel wrote:Then make a compressed version for flash.prg.
Code: Select all
./flash4file.exe ultimem.img ultimem.bin
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:
Edit: Ok, I have recompiled the flash4file.exe using
http://www.onlinecompiler.net/ - if anyone needs it here it is:
Re: UltiMem
Posted: Fri May 27, 2016 1:45 am
by tokra
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).
- ultiram.png (10.28 KiB) Viewed 4591 times
Re: UltiMem
Posted: Fri May 27, 2016 11:19 am
by tokra
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.
- ulticonfig.png (10.01 KiB) Viewed 4521 times
Re: UltiMem
Posted: Fri May 27, 2016 11:46 am
by majikeyric
Is there an easy way to uncompress image files compressed with flash4file ?
Re: UltiMem
Posted: Fri May 27, 2016 1:14 pm
by tokra
I don't think so and cannot see what reason would there be to do so?
Re: UltiMem
Posted: Sat May 28, 2016 1:39 am
by majikeyric
To test it in Vice before flashing.
Re: UltiMem
Posted: Sat May 28, 2016 1:44 am
by tokra
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:
Re: UltiMem
Posted: Sat May 28, 2016 2:37 am
by majikeyric
Yes VICE expects 512KB or 8MB image files.
You can use makecart (without filelist.txt) to create such a file :
Code: Select all
makecart menu.img ultimem.img 524288 < NUL
Re: UltiMem
Posted: Sat May 28, 2016 2:40 am
by pixel
VICE also accepts 16MB files.
Thanks for the Windows binaries, tokra!
Re: UltiMem
Posted: Sat May 28, 2016 4:17 am
by beamrider
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.