Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Prototype M404 BIOS

Reply to topic Goto page Previous  1, 2
Author Message
  • Joined: 14 Aug 2000
  • Posts: 740
  • Location: Adelaide, Australia
Reply with quote
Prototype M404 BIOS
Post Posted: Mon May 17, 2021 10:59 am
@Maxim, BIOS 1.3 is an export BIOS, so it will only load export games with a valid software header, and not domestic/Japanese games that don't have a header. That's what patch v2 did. These guys want a patched BIOS that loads any export or Japanese game out there when they talk about "compatibility".

Also @Maxim, "someone with a bit more skill" (sic.) that would be you right? :)

@L10N37 Speaking of patch v2, you may want to check if you patched the image correctly. I just tried my v2 patched image on emulicious with a game without a software header and there's no red flashing, it just stays on the end screen with swirling colours in the SEGA logo. Looks quite cool actually.

EDIT: No, I just downloaded it and compared it to my image and it has been patched correctly. No idea what the red flashing is.
  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Mon May 17, 2021 12:32 pm
I got that red flashing screen from Walter Payton.
It triggered several exception breakpoints. It reads from uninitialized RAM for example.
That can make the error a bit indeterministic.
  View user's profile Send private message Visit poster's website
  • Joined: 14 Aug 2000
  • Posts: 740
  • Location: Adelaide, Australia
Reply with quote
Prototype M404 BIOS
Post Posted: Mon May 17, 2021 3:42 pm
OK, I think I might know what's happening. This has been at the back of my mind all evening.

From the flashing, looping, and "uninitiaised RAM" message, I think the Interrupt might be landing right when the cart is mapped in and this is passing execution from the BIOS to the game interrupt handler.

If someone wants to test this, attached is M404 asynchronous patched v2a which disables interrupts while the BIOS is mapped out and the slots are mapped in for the checks.

Also attached is M404 asynchronous patch v4.
SMS Prototype (M404) [BIOS] Patched 2a.zip (2.37 KB)
M404 asynchronous patched v2a
SMS Prototype (M404) [BIOS] Patched 4.zip (2.36 KB)
M404 asynchronous patched v4

  View user's profile Send private message
  • Joined: 11 Jul 2009
  • Posts: 16
Reply with quote
Post Posted: Mon May 17, 2021 4:03 pm
Tried both of those with Kega emulator

Patch V2a

Specifically trying just the 10 games i had issues with.


Back to the Future III - black screen after bump screen

California Games II - Working

Comical Machine Gun Joe - stuck at bump screen

Fantasy Zone (Japanese) - stuck at the bump screen (now know about header)

Ghost House - Stuck at bump screen

Pit Pot - Stuck at bump screen

Rygar - stuck at bump screen

Satellite 7 - Stuck at bump screen

Shanghai - Working

Walter Payton Football - flashing red and black screen after bump screen

Patch V4

Back to the Future III - black screen after bump screen

California Games II - Now working

Comical Machine Gun Joe - Now Working

Fantasy Zone (Japanese) - Now Working

Ghost House - Now Working

Pit Pot - Now Working

Rygar - Now Working

Satellite 7 - Now Working

Shanghai - Now Working

Walter Payton Football - Still flashing red and black screen after bump screen
  View user's profile Send private message
  • Joined: 14 Aug 2000
  • Posts: 740
  • Location: Adelaide, Australia
Reply with quote
Prototype M404 BIOS
Post Posted: Tue May 18, 2021 3:44 am
Some interesting interoperability testing results there.

Re v2a:

If “stuck at bump screen” means you are seeing the animated SEGA logo with the swirling blue-white colours with “SEGA C 1986” below the logo, that’s actually the end state of the BIOS. This means the game failed the header check, the subroutine in DRAM has exited, and the BIOS program is in an infinite loop. This is not an error. This is the BIOS working as intended.

Where the screen is black after the bump screen, or the bump screen is static with no animation, that likely means the BIOS has completed and loaded the game but something in the game code has gone wrong. That’s really an analysis for someone that’s a big fan of the game and wants to invest time looking into why the game is not running. My previous post lists a few pointers why a game won’t load or run on a system.

Re v4:

As this version of the BIOS does no checking and just blindly passes execution to the game software on the cartridge, it will load any cartridge, including cartridges that have bad contact or a cartridge that will cause the system to crash, and even a cartridge that isn’t even inserted, which will also cause the system to crash. It updates RAM location 0xC000 which we know some games need to run on a system. So it’s odd that some games won’t load from this BIOS. Again, these games need to be analysed at case-by-case.

Anyhow, Enjoy! :)
  View user's profile Send private message
  • Joined: 27 Jun 2020
  • Posts: 212
Reply with quote
Post Posted: Tue May 18, 2021 10:29 am
Oh it's being tested, damn this whole time may have being testing the incorrect back to the future.
  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 623
Reply with quote
Post Posted: Tue May 18, 2021 12:37 pm
You won't magically get Back to the Future III to work on a non-PAL system by altering its BIOS.
The game does check whether it runs on 50 Hz. If it's not the case it locks itself up with a black screen on purpose.
You can patch out the soft-lock by NOPing (override with zeroes) the two bytes from $202c but the developers might have decided to lock up the game because it won't work without glitches on NTSC hardware.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jun 2020
  • Posts: 212
Reply with quote
Post Posted: Tue May 18, 2021 1:17 pm
The games are the same whether PAL or NTSC from what I've researched in the past, when we mod for 60hz here we are leaving the encoder on PAL but forcing the VDP to do 60hz so we get an out of spec signal that works as PAL60. They should all be technically region free, correct me If I'm wrong (besides Jap games) there are only 2 games I know of that glitch.

Terminator II: It's still playable, the guy rides past on the motorbike looking like a scrambled letter from the alphabet. Switching back to 50 won't fix this, you have to boot @ 50hz and leave it on 50hz.

Predator: You can switch on the fly, 50hz is fine, 60hz has some weird anomolies

Furthermore, pretty sure the American (?) Sonic with a relabelled barcode is actually a euro version that was just rebarcoded due to a shortage in the US or something
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Tue May 18, 2021 2:38 pm
Most SMS games are the same globally but then they run slower in 50Hz regions. However the timing of those 50Hz regions means more CPU cycles per video frame and also more non-display time per frame. That means games can have timing problems if run at the wrong speed. Thus some games will block themselves from running if the timing is wrong, and others will just be buggy.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jun 2020
  • Posts: 212
Reply with quote
Post Posted: Fri May 21, 2021 2:00 pm
Calindro wrote
You won't magically get Back to the Future III to work on a non-PAL system by altering its BIOS.
The game does check whether it runs on 50 Hz. If it's not the case it locks itself up with a black screen on purpose.
You can patch out the soft-lock by NOPing (override with zeroes) the two bytes from $202c but the developers might have decided to lock up the game because it won't work without glitches on NTSC hardware.


nopping 0x202c works as a 60hz patch, graphical glitching isn't terrible but it's there.
  View user's profile Send private message
  • Joined: 27 Jun 2020
  • Posts: 212
Reply with quote
Post Posted: Mon May 24, 2021 4:31 am
Hi again guys, a little off topic but can someone point me in the right direction of patching a Jap title to boot with Euro/ US BIOS?

I have a small stack of faulty 32kb cartridges from a lot, I expected a high failure rate due to the seller being a modder (at least SOR worked after a clean) but I want to make use of the shells and transplant jap games like comical machine gun joe that is technically a Jap only release onto the PCB's in the cart. Not sure of what I'll do with the one 64kb faulty yet.

Just to expand: machine gun joe doesn't boot , but action fighter does

Things I've tried:

Insert the TMR string @ 7FF0
Adjust region code from Japan to Export @ 7FFF
Adjust the BIOS checksum @ 7FFA

===========
"software error"
===========

Edit: all good, I had trouble with the checksum and found maxims header checker program, and just matched the calculated checksum to insert @ 0x7FFA along with the other hacks

Now to make some repro never released awesomeness haha


Also it's attached and should work with the M404 hacks prior to V4, but IMO they all need the delay added to hang on the BIOS screen a little longer. This is asynchronous V1 patch on a real system with the rom hack.

https://drive.google.com/file/d/1GJXHLj3ivE_cUEfJs3NgvRdMdYsBP1qP/view?usp=shari...
DSCN2221.JPG (4.26 MB)
DSCN2221.JPG

  View user's profile Send private message
  • Joined: 27 Jun 2020
  • Posts: 212
Reply with quote
Post Posted: Mon May 24, 2021 8:55 am
Walter Payton Football is crashing due to the FM chip being enabled which is subsequently also enabled on my FPGA based Mega-SG

This takes us to pretty well 100% compatibility, at least at 50hz

Cheers again guys, pretty much satisfied here and learned a bit about master system BIOS/ ROMS on the way
  View user's profile Send private message
Reply to topic Goto page Previous  1, 2



Back to the top of this page

Back to SMS Power!