Jump to content

Photo

Ultimate Cart firmware - Now with XEX loading

ultimate cart multicart xex fpga

74 replies to this topic

#1 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • 299 posts
  • Location:Scotland

Posted Sat Feb 6, 2016 1:45 PM

Hi All,

One thing I really wanted to add to the Ultimate Cart was an easy way to use XEX files on the cartridge.

Thanks mainly to flashjazzcat, we've now added this as a feature to the firmware.
 

XEX files present on the SD card can now be browsed and launched just like cartridge/ROM files. Loading is practically instantaneous.

P1140522.jpg

You can program the attached new firmware to your Ultimate Cart using the (free download) Quartus 15.1 programmer. You will also need a USB Blaster (<$10 on ebay). Consider it a beta - there may be the odd bug.
 

This firmware also replaces my original menu with the improved version by flashjazzcat. Since this is now part of the firmware, you should remove any older version of it from the SD cart (i.e. remove _BOOT.ROM if you have it).

 

This will become the current firmware, and I'll upload the source files to github once this has had a bit of a wider test.

 

I'm sure this will be a very welcome addition to the cartridge firmware, and praise and thanks should be directed to flashjazzcat who wrote the XEX loader and the improved menu - tasks both way beyond my 6502 skills!

 

Robin

Attached Files


Edited by electrotrains, Sat Feb 6, 2016 1:46 PM.


#2 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,020 posts
  • Location:United Kingdom

Posted Sat Feb 6, 2016 1:55 PM

Thanks to Avery Lee for effortlessly diagnosing a bug I'd stared at for nearly two days. :)



#3 santosp OFFLINE  

santosp

    Dragonstomper

  • 787 posts
  • Location:Athens - Greece

Posted Sat Feb 6, 2016 2:13 PM

And before members who bought one U.C. from me, begin to ask with p.m. where to buy a programmer, I announce public cause I bought mine from this seller above.

 

http://www.ebay.com/...=STRK:MEBIDX:IT

 

Also a big BRAVO, to the last Atari programmer of this world! :)  :-D



#4 ProWizard OFFLINE  

ProWizard

    River Patroller

  • 4,674 posts
  • Into Stampede
  • Location:In the cattle!

Posted Sat Feb 6, 2016 2:14 PM

JAC has a fabulous way of booting ATR from a cart. His THE!CART tool does analyze an ATR and patches it so common vectors etc. are redirected to some kind of bankswitching loader. This means that not the 'original' ATR is on the cart, but a patched version of the ATR so it can boot/run from cart. Works pretty well (This is interesting, since TheCart! does not start up a soft-version of an OS as some other known solutions do, and which is rather incompatible).

 

I was able to put the disk games ECKN+ and Cropky on The!Cart.

 

Perhaps you guys can work something out like this for this ultimate SD cartridge too?



#5 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Sat Feb 6, 2016 2:23 PM

JAC has a fabulous way of booting ATR from a cart. His THE!CART tool does analyze an ATR and patches it so common vectors etc. are redirected to some kind of bankswitching loader. This means that not the 'original' ATR is on the cart, but a patched version of the ATR so it can boot/run from cart. Works pretty well (This is interesting, since TheCart! does not start up a soft-version of an OS as some other known solutions do, and which is rather incompatible).
 
I was able to put the disk games ECKN+ and Cropky on The!Cart.
 
Perhaps you guys can work something out like this for this ultimate SD cartridge too?

In theory the cpu on the fpga could do this when it's loaded the ATR from the SD card. It would be quite a big job though, since currently the cpu runs code from the ram embedded on the fpga and there isn't much more space left. However, its technically possible to run code from the fpga flash of which there is loads left. Not an avenue I've explored yet, but there is plenty documentation on how to do this.

Depends how reliable this auto conversion process is?

Edit - if Jac's tool can produce an standard (e.g. Atarimax) rom as output, there's no reason why the file couldn't be used on the ultimate cart with the current firmware.

Edited by electrotrains, Sat Feb 6, 2016 2:27 PM.


#6 ProWizard OFFLINE  

ProWizard

    River Patroller

  • 4,674 posts
  • Into Stampede
  • Location:In the cattle!

Posted Sun Feb 7, 2016 3:03 AM

I am not sure that the output is ready to use for AtariMax carts. I have been asking that myself months ago, and IIRC I tested it, but it did not work.

 

I don't think the logical system in your cart needs a lot (if any) extra code. When the banking scheme is known, the only thing that needs to be adapted is the ATR (which is patched by JAC's software).

 

I am sure about this, since I converted the output of JAC's tool (a few ATR's) for MyIDE 2, where I had to adapt the banking scheme only for MyIDE 2 so I was able to play Johny's Trouble, ECKN+, Cropky and a few more diskgames on MyIDE 2 on Stock Atari's.



#7 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Sun Feb 7, 2016 4:50 AM

Anyone tried the beta firmware yet? 

Some feedback good or bad would be useful.

 

Santosp reports the keyboard doesn't respond on his 130XE, so we'll need to look into that.

 

Robin



#8 santosp OFFLINE  

santosp

    Dragonstomper

  • 787 posts
  • Location:Athens - Greece

Posted Sun Feb 7, 2016 4:58 AM

Santosp reports the keyboard doesn't respond on his 130XE, so we'll need to look into that.

 

Robin

 

Finally maybe something go wrong during the firmware update.... Now all work fine. My apologies... :(



#9 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Mon Feb 8, 2016 5:24 AM

Beta 2 - fixes problem with some XEX files (e.g. dropzone). Hopefully this is the final version.

 

Robin

Attached Files



#10 _The Doctor__ OFFLINE  

_The Doctor__

    Quadrunner

  • 5,841 posts
  • Location:10-0-11-00:02

Posted Mon Feb 8, 2016 10:03 AM

I wish when the atr gets modified by the the cart tool that is would put a flag in the header and name it differently.... seeing how everything blend together and creeps about over the years.... it would be a good idea...



#11 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 14,020 posts
  • Location:United Kingdom

Posted Mon Feb 8, 2016 10:09 AM

Modifying ATRs on the fly would be fun. Read the boot sectors, patch any SIO calls there with calls to ROM-disk sector reads, then resume execution at the boot address, patching as we go. Would have to be a simulated boot, though, since we can't just restart the OS.

#12 rdea6 OFFLINE  

rdea6

    River Patroller

  • 2,757 posts
  • Location:Arizona USA

Posted Mon Feb 15, 2016 10:41 PM

And before members who bought one U.C. from me, begin to ask with p.m. where to buy a programmer, I announce public cause I bought mine from this seller above.

 

http://www.ebay.com/...=STRK:MEBIDX:IT

 

Also a big BRAVO, to the last Atari programmer of this world! :)  :-D

Now that my hardware is coming in the mail.  I begin to wonder where I get the software to program my ultimate cart.. 



#13 AtariGeezer ONLINE  

AtariGeezer

    River Patroller

  • 2,844 posts
  • Location:Santee, CA

Posted Mon Feb 15, 2016 10:55 PM

Now that my hardware is coming in the mail.  I begin to wonder where I get the software to program my ultimate cart.. 

https://dl.altera.co....0/?edition=web

 

I downloaded the software,  now just need to buy the Altera USB Blaster :)

You'll have to register as a user to download...



#14 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Tue Feb 16, 2016 4:02 AM

https://dl.altera.co....0/?edition=web

 

I downloaded the software,  now just need to buy the Altera USB Blaster :)

You'll have to register as a user to download...

 

The registration process is a bit of a pain and a lot of intrusive with Altera I found - I do not understand why they need to know my inside-leg measurement and whether I dress to the left or right in order to download a piece of free software!  Anyway the data input form is not especially well written and you can spoof it easily enough.  I just filled each field with 'you do not need to know' and the thing seemed happy.



#15 AtariGeezer ONLINE  

AtariGeezer

    River Patroller

  • 2,844 posts
  • Location:Santee, CA

Posted Tue Feb 16, 2016 4:22 AM

 

The registration process is a bit of a pain and a lot of intrusive with Altera I found - I do not understand why they need to know my inside-leg measurement and whether I dress to the left or right in order to download a piece of free software!  Anyway the data input form is not especially well written and you can spoof it easily enough.  I just filled each field with 'you do not need to know' and the thing seemed happy.

Yep, same here except I used all bogus info :)  I first tried with just a fake email as some sites just want an address to send spam to, but they had to have a valid email address to confirm a download...



#16 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Tue Feb 16, 2016 9:42 AM

The final firmware (XEX loading) is now posted on the github site.

https://github.com/r...e (XEX loading)

 

Robin



#17 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Sun Feb 21, 2016 9:09 AM

I can add my own report that the new firmware works perfectly!  It is not difficult to load the *.POF file in to Quatus, although it is a shame they do not release the 'Programmer' tool separately!

 

I used an old 4.9V 400mA mobile phone charger fitted with a dupont plug to power the cartridge while programming and the clone 'USB Blaster' performed as it should.  Excellent!!!



#18 santosp OFFLINE  

santosp

    Dragonstomper

  • 787 posts
  • Location:Athens - Greece

Posted Sun Feb 21, 2016 10:20 AM

I used an old 4.9V 400mA mobile phone charger fitted with a dupont plug to power the cartridge while programming and the clone 'USB Blaster' performed as it should.  Excellent!!!

 

Not needed to use external adapter to program your device. You could do it with the cartridge plugged on your Atari computer, with the power switch ON. My advice is to remove also your SD card.

On my pcb constructions, I have remove this 2 pin male DuPont connector. I did it because although I know why Robin place it there, for me is very dangerous to have 5 volt power supply on the air. If by mistake something metallic get in touch with it, will be catastrophic.

I left untouched the pcb prints, in case who someone need to check the voltage with a electronic multimeter.



#19 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Sun Feb 21, 2016 11:01 AM

 

Not needed to use external adapter to program your device. You could do it with the cartridge plugged on your Atari computer, with the power switch ON. My advice is to remove also your SD card.

On my pcb constructions, I have remove this 2 pin male DuPont connector. I did it because although I know why Robin place it there, for me is very dangerous to have 5 volt power supply on the air. If by mistake something metallic get in touch with it, will be catastrophic.

I left untouched the pcb prints, in case who someone need to check the voltage with a electronic multimeter.

 

Another reason I need to find a case that fits as soon as possible I guess!!!



#20 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Sun Feb 21, 2016 11:23 AM

I guess its possible someone could accidentally create a short across these pins - I put them there to power it when re-programming, since my Atari is some distance away from my PC. There's no harm de-soldering the header if you don't want it.

 

However, there's plenty of other places one could accidentally create a short on the PCB/components e.g. the voltage regulator. Just don't plug it bare into your Atari on a desk full of metal objects and you should be ok! :)

 

Robin



#21 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Sun Feb 21, 2016 11:43 AM

I guess I could install a female header there - that will reduce the short risk on one side of the board anyway.

 

Robin



#22 santosp OFFLINE  

santosp

    Dragonstomper

  • 787 posts
  • Location:Athens - Greece

Posted Sun Feb 21, 2016 2:20 PM

Robin, I did not say cause this connector is the only point for a possible short circuit on PCB. 

I have read your construction guide on GitHub, and I know cause this is as use for anyone make the construction by himself, to check for a possible short circuit on the main voltage on PCB, before receiving power.

For this reason I use the  phrase "I did it because although I know why Robin place it there...." on my previous message.

I from my side, I don't want to leave a male connector with power exposed. That was the reason who not included in. If its existence was crucial, (for example the only way to programming the board), then I will place a female one, as you mention on your last message.  ;)  


Edited by santosp, Sun Feb 21, 2016 2:20 PM.


#23 electrotrains OFFLINE  

electrotrains

    Moonsweeper

  • Topic Starter
  • 299 posts
  • Location:Scotland

Posted Sun Feb 21, 2016 2:54 PM

Agreed, and thanks for making me think about it.
I've just ordered a batch of 2x1 female headers from ebay for any future boards I make.

Would a polyfuse on the cart provide additional protection to the atari in the event of a short?

Robin

Edited by electrotrains, Sun Feb 21, 2016 2:58 PM.


#24 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,544 posts
  • Location:West Yorkshire, Great Britain

Posted Sun Feb 21, 2016 2:59 PM

I guess its possible someone could accidentally create a short across these pins - I put them there to power it when re-programming, since my Atari is some distance away from my PC. There's no harm de-soldering the header if you don't want it.

 

However, there's plenty of other places one could accidentally create a short on the PCB/components e.g. the voltage regulator. Just don't plug it bare into your Atari on a desk full of metal objects and you should be ok! :)

 

Robin

 

I found it useful for exactly the same reason Robin!  It would be awkward for me to programme with the board plugged in otherwise.  The header let me do it set on the desk in front of me.  I certainly would rather it was there and I took care when using it than trying to jury rig my Atari up so the USB Blaster would stretch.

 

If I get really paranoid about it I might put some shrink-wrap insulation around it and fold the top over to form a cover.



#25 kenames99 ONLINE  

kenames99

    Star Raider

  • 79 posts

Posted Sun Feb 21, 2016 3:54 PM

hi Robin,
a polyfuse or any fule would hlp in case of a short. I would go for it if I were doing the board design and layout.

Ken





Also tagged with one or more of these keywords: ultimate, cart, multicart, xex, fpga

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users