Jump to content
electrotrains

Ultimate Cart (SD multicart) - Technical thread

Recommended Posts

I had a bricked one but using blaster and quartus after touching up solder on center pad and one other place brought it to life again. Your best answer is to simply try whatever it is you can if it no longer responds just like anything else....

Share this post


Link to post
Share on other sites

It's not bricked, but I'm editing the code and wanted to know if there's any risk when uploading a new boot.rom.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Another question:

In games like Super Cobra, and games that move from right to left, there is a distortion column at the right. Is there any way to fix it?

 

In Altirra the fix in done by setting the Overscan Mode to Normal.

 

Example in Altirra:

post-64419-0-91597300-1540657701.jpg

Edited by tane

Share this post


Link to post
Share on other sites

What sort of TV are you using? modern TVs show more of the screen than older TVs would and hence you are seeing this. Does yours have a show 4:3 option for example.

  • Like 1

Share this post


Link to post
Share on other sites

It's a modern TV, let's say 2017. It has 4:3 option, with black columns each side, but between the black column and the game screen, there is a distortion.

 

I will take pictures on real Atari.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

The 'glitch' in the Ultimate menu has something to do with widescreen mode IIRC. It doesn't hurt anything, and doesn't affect anything that's been loaded.

 

Edit: typo.

Edited by Kyle22

Share this post


Link to post
Share on other sites

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

I read somewhere that there was a problem with the Ultimate cart and the 400, but I can't find that discussion now that I'm looking for it!

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites

Hiya Robin,

 

Sorry to topic hijack, buy any work on getting ATR’s loaded on the Ultimate yet?? I want this to happen more than anything...

 

 

Sent from my iPhone using Tapatalk

Share this post


Link to post
Share on other sites

I wouldn't say that exactly, just that most of us have more memory and didn't notice for that reason.

Share this post


Link to post
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

Share this post


Link to post
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__

Share this post


Link to post
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.

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