Jump to content
IGNORED

UnoCart firmware update(s)


DirtyHairy

Recommended Posts

  • 4 weeks later...

My chess program now uses the 3E+ bank-switch scheme, and it appears that the UnoCart does not currently support this.

Would it be possible to update/release a new version of the UnoCart to support 3E+?

 

See the following for details/code...

 

 

 

 

Edited by Andrew Davie
  • Like 1
Link to comment
Share on other sites

On 5/16/2020 at 2:52 AM, Andrew Davie said:

My chess program now uses the 3E+ bank-switch scheme, and it appears that the UnoCart does not currently support this.

Done. v14 is now released on Github and support 3E+ banking, thanks to a pull request by AlNafuur.

  • Like 2
  • Thanks 3
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 2 weeks later...
On 7/6/2020 at 8:11 AM, ronnie said:

Hi guys, does anyone have the NTSC Congo Bongo and Moonswepper roms working on the unocart?

Congo Bongo seems to be working fine, but Moonsweeper has issues. Incorrect colors, missing enemies, the people you're supposed to rescue all line up on the left side of the screen.

Link to comment
Share on other sites

  • 4 weeks later...

 

Please fix the UNO Cart BIOS to support KC Monster Maze R2 - the animation falls apart on some of the characters making the game unplayable, it should look like this:

 

 

 

Details - this is a SuperCharger game that plays correctly via the Harmony Cart and in Javatari:

https://javatari.org/?ROM=http://relationalframework.com/KC_Monster_Maze_R2.bin&SCREEN_FULLSCREEN_MODE=1

 

Curious if this game works correctly on @Al_Nafuur's wireless version of Unocart and I will be testing it in Gopher presently with @JetSetIlly

 

Here is the ROM: KC_Monster_Maze_R2.bin

 

I think the error may be in the BIOS init; the game was designed to fall apart like this if a Sega pad was plugged in, because KC bounces off of the walls and is very hard to control with a pad - a joystick is required for more precision to keep the cooperative AI from taking control unexpectedly.

 

  • Like 1
Link to comment
Share on other sites

33 minutes ago, Mr SQL said:

Curious if this game works correctly on @Al_Nafuur's wireless version of Unocart and I will be testing it in Gopher presently with @JetSetIlly

 

Just did a short test with the file you provided. It loads and starts with the PlusCart. It is playable, but the maze is on my setup (PAL 2600jr) very difficult to recognize.

 

Can you provide a video how it looks like on the UnoCart?

Link to comment
Share on other sites

15 hours ago, Al_Nafuur said:

Just did a short test with the file you provided. It loads and starts with the PlusCart. It is playable, but the maze is on my setup (PAL 2600jr) very difficult to recognize.

 

Can you provide a video how it looks like on the UnoCart?

Yes here is a clip from the Uno compared to the Harmony:

 

Link to comment
Share on other sites

UPDATE: I tested KC on Gopher2600 with @JetSetIlly and it worked perfectly! :) 

 

Gopher2600 uses the real SuperCharger BIOS ROM rather than emulating the BIOS while the Harmony/Encore emulates just the part of the BIOS necessary to run the game.

 

The UnoCart goes further to emulate more of the SC BIOS including the curtain opening, however the SC BIOS initializes the paddle RAM which the UnoCart either does not do or initializes differently triggering the bug:

 

Plugging in a Sega-Pad will cause the game to break apart like this using a real SuperCharger or the Harmony/Melody cart by design, because the Sega-Pad initializes the paddle RAM to a different state than the SC when it is plugged in.

 

Link to comment
Share on other sites

I'll check out Moonsweeper and Congo Bongo.

 

As for the supercharger: the UnoCard does not emulate any part of the SC BIOS. Instead, it uses a minimal BIOS stub that draws the loading bars and then transfers control back to the ARM code that reads and swaps in the requested load from the SD card. Also, the BIOS stub runs only if a new load is requested, it is not executed when the cartridge starts. There is no such thing as paddle RAM, but of course the state of the console (RAM, TIA registers etc.) encountered by the ROM on startup will differ between the UnoCard and an original supercharger. You should make sure that you do your own initialization on startup.

 

@Al_Nafuur I guess you are using the same driver code for the SC on the Pluscart, or did you make any changes?

Edited by DirtyHairy
Link to comment
Share on other sites

15 hours ago, DirtyHairy said:

 

@Al_Nafuur I guess you are using the same driver code for the SC on the Pluscart, or did you make any changes?

 

The emulation function of the PlusCart only differs at DATA_OUT and DATA_IN (no "<<8" and ">>8" needed for the PlusCart).
The setup_rom function, which copies the bios to the ROM buffer and sets the TV mode in bios, is also nearly identical to the UnoCart.

Loading the multiload_map and the multiload parts is different to the UnoCart. The PlusCart uses http request instead of SD file reading.

 

The multiload_map function of the PlusCart makes the assumption that supercharger files, not bigger than 8448 bytes, are not really using the multiload and thus always uses the multiload_id "0", additionally there is a bug in the multiple range-request function of the PlusCart which will lead to wrong multiload_ids for supercharger files bigger than 8448 bytes 

Link to comment
Share on other sites

21 hours ago, DirtyHairy said:

As for the supercharger: the UnoCard does not emulate any part of the SC BIOS. Instead, it uses a minimal BIOS stub that draws the loading bars and then transfers control back to the ARM code that reads and swaps in the requested load from the SD card. Also, the BIOS stub runs only if a new load is requested, it is not executed when the cartridge starts. There is no such thing as paddle RAM, but of course the state of the console (RAM, TIA registers etc.) encountered by the ROM on startup will differ between the UnoCard and an original supercharger. You should make sure that you do your own initialization on startup.

The SuperCharger BIOS handles initialization on startup so I think it's better if the stub can emulate this aspect rather than requiring the programmer to repeat it, so that the full 6K can be used for the game. 

 

btw I was working with some old demo code recently, and I believe you were correct about CBS RAM being randomized on startup. I have an interesting CBS RAM binary for Arkanoid Airhead that is white on the flashback portable, black on the Uno and Harmony carts, and Rainbow on the Retron 77 console because of three different ideas on emulating it for best compatibility. In this instance, the game is still playable and more interesting if you have all three different consoles to play it on! :)

Link to comment
Share on other sites

On 8/8/2020 at 10:29 AM, DirtyHairy said:

I'll check out Moonsweeper and Congo Bongo.

Could the issue be related to the starting bank?

 

The original NTSC version of Congo Bongo doesn't initialize the console if it starts from bank 0 and typically crashes in that case. The alternate version (marked with "[a]" in Romhunter's collection) fixes this and the PAL version runs correctly regardless of the starting bank.

 

Moonsweeper has the same issue: both NTSC roms usually glitch if started from bank 0, while the PAL one starts fine from either bank.

Link to comment
Share on other sites

I know this is rather far from firmware, but I chose this space for easy finding...

 

As @Andrew Davie asked for my modification of a thingiverse design of a 2600 cartridge shell done for a UnoCart 2600, I decided to pick them up from my tinkercad account. So here they are, happy printing.

UnoCart-2600_case.zip

  • Like 2
Link to comment
Share on other sites

On 8/8/2020 at 4:29 AM, DirtyHairy said:

the state of the console (RAM, TIA registers etc.) encountered by the ROM on startup will differ between the UnoCard and an original supercharger

@Dirty HarryI think you've created your own SuperCharger implementation, every other one performs an init like the SuperCharger.

 

This reminds me of when you merged the frames in Stella breaking STARBLITZ on that platform; why not shoot for more compatibility instead of trying to break games that push the envelope? You've previously thrown a lot of insults while sharing your perspective, so it looks rather deliberate - and that's too bad it's a fun game.

 

Why not try to write a fun game instead of having fun breaking them?  It would give you a better understanding of the Atari and so would not just copying code but writing an original implementation from the ground up.

 

The non-functional code you are adding is original code, yet it is only breaking my games selectively which looks like a very old game:

 

 BreakingAway.JPG.03a00558571395ea7da287cee7d33183.JPG

 

Today some of the other racers have powerful engines hidden in the frames and don't need help from anyone throwing sticks. 

 

On 8/9/2020 at 3:05 AM, Mr SQL said:

There is no such thing as paddle RAM

There are more than 128 bytes on the Atari, please fix the bug so folks can enjoy the game on the UnoCart too.

 

Link to comment
Share on other sites

On 8/13/2020 at 4:44 AM, SvOlli said:

I know this is rather far from firmware, but I chose this space for easy finding...

 

As @Andrew Davie asked for my modification of a thingiverse design of a 2600 cartridge shell done for a UnoCart 2600, I decided to pick them up from my tinkercad account. So here they are, happy printing.

UnoCart-2600_case.zip 42.89 kB · 4 downloads


And thanks... I printed this today - came out fine.  I used some glue to put the parts together.

On my cart, at least, the configuration pins are slightly offset from the hole position.

 

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