Jump to content
IGNORED

Anyone having a problem with Tomarc?


orangest

Recommended Posts

When I try to play on my 7800, it opens with an "End of Level" screen for a second, then goes to the title screen, which has very distorted music. The game will usually play for a little bit and then usually ends up crashing in some way. I tried it out in my heavy-sixer, and got the same except that it displays "End of Level 98" upon starting. Just wondering if anyone else was having a similar problem...

Link to comment
Share on other sites

When I try to play on my 7800, it opens with an "End of Level" screen for a second, then goes to the title screen, which has very distorted music. The game will usually play for a little bit and then usually ends up crashing in some way. I tried it out in my heavy-sixer, and got the same except that it displays "End of Level 98" upon starting. Just wondering if anyone else was having a similar problem...

Can you post the binary?

Link to comment
Share on other sites

It's a bad dump with incorrect start vectors. I don't know why it works in Stella unless F6 games start in the first bank (other bankswitch routines seem to start in the last bank, so it seems very odd that Stella would do this only for F6.) Fortunately with this one, the correct startup vectors are easy to fix, and I've done that, but perhaps I need to change Harmony code to match Stella for better compatibility with other bad dumps.

Road Runner (1989) (Atari, Robert C. Polaro) (CX2663) (fixed) ~.bin

  • Like 3
Link to comment
Share on other sites

It's a bad dump with incorrect start vectors. I don't know why it works in Stella unless F6 games start in the first bank (other bankswitch routines seem to start in the last bank, so it seems very odd that Stella would do this only for F6.) Fortunately with this one, the correct startup vectors are easy to fix, and I've done that, but perhaps I need to change Harmony code to match Stella for better compatibility with other bad dumps.

Right now, Stella always uses bank 0 as startup for F4 and F6. I'm not sure why; perhaps testing indicated that those were the best values. For a correctly programmed ROM, it shouldn't really matter, but there are many bad dumps out there.

 

F8 uses bank 1 by default, with the ability to use bank 0 (for certain ROMs that have the banks swapped). Again, this came from extensive testing.

 

I'm not opposed to changing this scheme, but I'd want to know for sure that bank 1 is supposed to always be the startup bank. In other words, is this merely a convention (in which case Stella can ignore it), or was the hardware wired to work that way (in which case Stella is doing the emulation incorrectly)?

Link to comment
Share on other sites

It's a bad dump with incorrect start vectors. I don't know why it works in Stella unless F6 games start in the first bank (other bankswitch routines seem to start in the last bank, so it seems very odd that Stella would do this only for F6.) Fortunately with this one, the correct startup vectors are easy to fix, and I've done that, but perhaps I need to change Harmony code to match Stella for better compatibility with other bad dumps.

Batari,

 

Should a Road Runner cart be re-dumped?

 

8)

Link to comment
Share on other sites

IMO Stella should start at a random bank (like the original), at least there should be an option. Same goes for Harmony, if possible.

I think Stella and Harmony have slightly different goals. Stella tries to emulate the hardware exactly and not necessarily work with all bad dumps, so that is the correct behavior for Stella. I think the goal for Harmony should be for compatibility with as many binaries as practical, bad dumps or not, so starting in random banks will move away from that goal.
It's a bad dump with incorrect start vectors. I don't know why it works in Stella unless F6 games start in the first bank (other bankswitch routines seem to start in the last bank, so it seems very odd that Stella would do this only for F6.) Fortunately with this one, the correct startup vectors are easy to fix, and I've done that, but perhaps I need to change Harmony code to match Stella for better compatibility with other bad dumps.

Batari,

 

Should a Road Runner cart be re-dumped?

 

8)

I would say yes. I just fixed the reset vectors so the game will start properly in every bank. This works but may not exactly match what is actually on the actual ROM. Edited by batari
Link to comment
Share on other sites

I have, and it works great for me, thank you.

 

I discovered last night however that Midnight Magic won't boot up for me at all. Again checked with roms from Rom Hunter and AA. Sorry to be such a pain in the rear.

 

Great!

 

Hmm, I guess I need to find my Midnight Magic cart now. :)

 

Mitch

Link to comment
Share on other sites

I haven't checked but I'll bet it's another bad dump. The Harmony sure is good at finding bad dumps :)

Yep, it seems that the reason Stella defaults to starting in the lower bank is because otherwise many ROMs didn't work otherwise. I always thought that this was providing more accurate emulation, but now it seems there really are quite a few bad dumps (and badly programmed games) out there.

Link to comment
Share on other sites

Midnight Magic actually has a programming error. If it starts in bank 0, it's fine, but if it starts in another bank, it attempts to start by pushing reset vector minus one into the stack, switching to bank 0, and issuing a RTS.

 

Only problem is, it doesn't initialize the stack pointer. Assuming random bank and random stack pointer, actual carts should have 37.5% chance of failure on 2600s (they may work 100% on 7800s due to the 7800 BIOS.)

 

On Harmony, this failure rate is 100% because we start in a bank other than zero and although we start with a stack pointer initialized, it doesn't point to RAM so it won't work.

 

I have fixed the binary but apparently I need to change the BIOS as well to always start F6 games in the first bank.

Midnight_Magic_fix.bin

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

Midnight Magic actually has a programming error. If it starts in bank 0, it's fine, but if it starts in another bank, it attempts to start by pushing reset vector minus one into the stack, switching to bank 0, and issuing a RTS.

Interesting... I wonder if that's why my Midnight Magic cart doesn't always work 100% on my 2600. (The actual cart - not Harmony.)

Link to comment
Share on other sites

Midnight Magic actually has a programming error. If it starts in bank 0, it's fine, but if it starts in another bank, it attempts to start by pushing reset vector minus one into the stack, switching to bank 0, and issuing a RTS.

Interesting... I wonder if that's why my Midnight Magic cart doesn't always work 100% on my 2600. (The actual cart - not Harmony.)

That would be why! It should work most of the time, however.

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