Jump to content
IGNORED

Ultimate Cart (SD multicart) - Technical thread


electrotrains

Recommended Posts

Hi Tane,

 

No risk at all - the file is just loaded into SRAM on the FPGA on boot, in place of the built in 8k cartridge boot rom. It doesn't change the FPGA firmware at all - so delete the file from the SD card and you are back to where you started. There is no way to brick the cart without reporgramming the FPGA, which requires an Altera FPGA blaster.

 

Robin

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...

Pictures:

 

1) Composite video: no distortion

 

2) With Sophia: distortion with movement games:

 

Game with movement: Super Cobra, moving from right to left. Distortion column at the right:

post-64419-0-73965200-1540664535_thumb.jpg

With a single screen game: there is no distortion:

post-64419-0-68800000-1540664543_thumb.jpg

Also, in the main menu there is a blinking in the title:

post-64419-0-90091100-1540664550_thumb.jpg

Link to comment
Share on other sites

“Kiteo, his eyes closed,” , “Chenza, at court. The court of silence.” Channel closed

 

ja,ja you're very funny.

PD: Relax, just testing the output in the TV.

https://www.youtube.com/watch?v=3-wzr74d7TI

 

In my mind: Star Trek: The Next Generation...

The Next Generation...

The Next Generation...

The Next Generation...

The Next rev.D?...

Edited by tane
Link to comment
Share on other sites

  • 4 months later...

 

Electrotrains might be better able to enlighten us on this, since the Atari-side software is basically just a client which asks the ARM chip to serve up directory entries. I don't think there's any recursive scanning going on, but perhaps you could make a video or something to better illustrate things. :)

Only took me two years to get around to this. :)

 

Only seems to happen with some directories. I have a similar hierarchy under dsk, which has the same named folders and it comes up almost immediately. The one shown in the video holds all my .xex files. Seems to take about 45 seconds to show a-z and a couple other directory entries. If there's any thing else I can do to help debug just let me know.

 

https://www.dropbox.com/s/v5205eilf53j3rm/IMG_8999.MOV

Link to comment
Share on other sites

  • 1 month later...

Hello together,

 

I have found a compatibility problem with the Ultimate Cart and the classic Atari 800 (non-XL/XE) computer.

 

When using the Ultimate Cart on this machine, any memory access to non-enabled ROM area will nevertheless cause a bus contention with the underlying RAM at $8000-$bfff.

 

The reason being that the Ultimate Cart relies on the Atari XL/XE MMU behavior that /S4,/S5 is disabled when RD4,RD5 is kept low.

 

But unfortunately, on the Atari 800, /S4 & /S5 are always active. Only the RAM is not mapped when RD4, RD5 is driven high...

 

The problematic part of the FPGA code is here:

 

CART_DATA <= data_out when (CART_S5 = '0' or CART_S4 = '0' or (CART_CTL = '0' and (sic_read_d500 or xex_read_d500))) else "ZZZZZZZZ";

 

FPGA always drives data bus drivers when /S4 or /S5 is pulled low.

 

It should mask the read data according to the state of RD4 & RD5:

 

CART_DATA <= data_out when ((CART_S5 = '0' and CART_RD5 = '1') or (CART_S4 = '0' and CART_RD4 = '1') or (CART_CTL = '0' and (sic_read_d500 or xex_read_d500))) else "ZZZZZZZZ";

 

Since this is an easy modification to gain full compatibility, I would strongly recommend to include it in the official firmware branch.

 

Otherwise, people as myself will experience strange glitches and instabilities when using 8K ROMS on their Atari 800 (e.g. doing as simple things as just loading the BASIC cartridge).

 

Thanks!

Edited by Vigo
  • Like 2
Link to comment
Share on other sites

 

Since this is an easy modification to gain full compatibility, I would strongly recommend to include it in the official firmware branch.

 

Otherwise, people as myself will experience strange glitches and instabilities when using 8K ROMS on their Atari 800 (e.g. doing as simple things as just loading the BASIC cartridge).

 

Thanks!

 

 

Hi Vigo,

 

I wasn't aware of this - thanks for your analysis and suggested fix.

 

Can anyone else confirm instability with 8k ROMs on an 800? I hadn't had any reports of this prior to now which is slightly surprising. Maybe not that many people use the Ultimate Cart on these older machines...? I only have XL and XE machines to test with.

 

Anyway, I'll see if I can find some time soon to test your fix and get the patch committed to the official firmware.

 

Robin

  • Like 2
Link to comment
Share on other sites

 

 

Hi Vigo,

 

I wasn't aware of this - thanks for your analysis and suggested fix.

 

Can anyone else confirm instability with 8k ROMs on an 800? I hadn't had any reports of this prior to now which is slightly surprising. Maybe not that many people use the Ultimate Cart on these older machines...? I only have XL and XE machines to test with.

.

Anyway, I'll see if I can find some time soon to test your fix and get the patch committed to the official firmware.

 

Robin

 

Hi Robin,

 

thanks for recognizing the issue.

 

I actually compiled a new FPGA bitstream now, but I'm struggling to get the FPGA updated with my original (expensive) USB Blaster Rev C (Error 35).... :?

 

The correct VHDL line, btw, is:

 

CART_DATA <= data_out when ((CART_S5 = '0' and high_bank_enabled = '1') or (CART_S4 = '0' and low_bank_enabled = '1') or (CART_CTL = '0' and (sic_read_d500 or xex_read_d500))) else "ZZZZZZZZ";

 

Any Atari 800 user can easily confirm the issue by starting any Atari BASIC revision and typing "PRINT FRE(0)" <RETURN>.

 

An 48K machine will only display "29710" (=32K memory detected).

 

This is because the FPGA is driving the data bus, even though RD4 has been correctly set to low (RAM enabled).

 

Now gotta fix this stupid Programmer issue I have....

Edited by Vigo
  • Like 3
Link to comment
Share on other sites

Hi there,

so, it turned out that my Ultimate Card had a weak solder connection on the TMS pin...

Anyway, I resoldered the pin, reprogrammed the FPGA, and now my Atari 800 reports 37902 bytes from Basic (as it is supposed to do)! :)

Therefore, I consider that the fix I proposed here in this thread is working correctly.

 

Strange that I seem to be the first person to notice this issue...

Edited by Vigo
  • Like 2
Link to comment
Share on other sites

Strange that I seem to be the first person to notice this issue...

I guess since the predominant use of the Ultimate Cart is to play games, and not with productivity / programming software, and most (all?) 8K games will run fine with 32 vs 40K RAM. Easy to miss. Good catch though!

Link to comment
Share on other sites

I have a 48k 800 and an Ultimate Cart SD running whatever firmware was current last November.

 

When I run "PRINT FRE(0)", I get 37899, despite not having the fix you propose.

 

The only thing I have done to this machine is this:

 

https://www.wudsn.com/index.php/productions-atari800/tools/thecart/atari-800-fix

 

Any Atari 800 user can easily confirm the issue by starting any Atari BASIC revision and typing "PRINT FRE(0)" <RETURN>.

 

An 48K machine will only display "29710" (=32K memory detected).

  • Like 1
Link to comment
Share on other sites

Ah but his firmware fix is the forgotten thing and how it's done, the hardware fix is definitely needed as this sort of thing replicated through out time and devices that use the cartridge/pbi that need the timing. A number of people put switches in to allow using some older devices/cartridges to work and then use the switch to help with carts and newer item that use the phi timings instead... long story short, if all devices took both approaches into account, the systems would be rock solid. If you dig deep enough you will probably find discussions or which carts had issues with the 800/400 and vice versa with the XL/XE. Precisely for both reasons.

Edited by _The Doctor__
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...