BIOS Discrepancies

Akuma
Posts: 138
Joined: Sat Dec 11, 2021 9:50 pm
Has thanked: 24 times
Been thanked: 46 times

BIOS Discrepancies

Unread post by Akuma »

After sorting out the N64 bioses, I am trying to setup the Saturn by sorting out its bioses and boy oh boy.
This is what I found:

I navigated to https://github.com/srg320/Saturn_MiSTer#compatible-bios to take a look at the candidates
After gathering the files, I renamed them to the names used in the webpage:

Code: Select all

524288 Oct 13 21:33 Sega_Saturn_1.00_Japan.bin
524288 Oct 13 21:33 Sega_Saturn_1.00a_USA.bin
524288 Oct 13 21:33 Sega_Saturn_1.00_Europe.bin
524288 Oct 13 21:33 Sega_Saturn_1.003_Japan.bin
524288 Oct 13 21:33 Sega_Saturn_1.01_Japan.bin
524288 Oct 13 21:33 Sega_Saturn_1.01a_USA.bin
524288 Oct 13 21:33 Hitachi_Hi-Saturn_1.01_Japan.bin
524288 Oct 13 21:33 Hitachi_Hi-Saturn_1.02_Japan.bin
524288 Oct 13 21:33 Hitachi_Hi-Saturn_1.03_Japan.bin
524288 Oct 13 21:33 Victor_V-Saturn_1.01_Japan.bin

Running a hash check and sorting the output by hash

Code: Select all

$ sha1sum *.bin | sort
2b8cb4f87580683eb4d760e4ed210813d667f0a2  Sega_Saturn_1.00_Japan.bin
3bb41feb82838ab9a35601ac666de5aacfd17a58  Sega_Saturn_1.00a_USA.bin
4154e11959f3d5639b11d7902b3a393a99fb5776  Victor_V-Saturn_1.01_Japan.bin
49d8493008fa715ca0c94d99817a5439d6f2c796  Hitachi_Hi-Saturn_1.01_Japan.bin
7b23b53d62de0f29a23e423d0fe751dfb469c2fa  Sega_Saturn_1.003_Japan.bin
8a22710e09ce75f39625894366cafe503ed1942d  Hitachi_Hi-Saturn_1.02_Japan.bin
8c031bf9908fd0142fdd10a9cdd79389f8a3f2fc  Hitachi_Hi-Saturn_1.03_Japan.bin
df94c5b4d47eb3cc404d88b33a8fda237eaf4720  Sega_Saturn_1.01_Japan.bin
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3  Sega_Saturn_1.00_Europe.bin
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3  Sega_Saturn_1.01a_USA.bin

Right of the bat you can see two identical hashes. If a hash is identical the content is the same and therefore cannot have a different version or region. Which leads me to believe that bios is for both the EUR and USA regions.

Since I do not trust the names at this point, I will rename them to their respective hash value, thereby filtering out all duplicates.

Code: Select all

$ for file in *.bin;do hash=$(sha1sum "$file"|cut -f1 -d\ );mv -fv "$file" "$hash";done

With "strings" I found a "BIOS string" and formulated a regexp for grep to extract that data:

Code: Select all

$ grep -ao 'BTR.*\..*F' *
2b8cb4f87580683eb4d760e4ed210813d667f0a2:BTR_1.00D1940921F
3bb41feb82838ab9a35601ac666de5aacfd17a58:BTR_1.000U941115F
4154e11959f3d5639b11d7902b3a393a99fb5776:BTR_1.019J950703F
49d8493008fa715ca0c94d99817a5439d6f2c796:BTR_1.019H950130F
7b23b53d62de0f29a23e423d0fe751dfb469c2fa:BTRD1.0032941012F
8a22710e09ce75f39625894366cafe503ed1942d:BTR_1.020H950519F
8c031bf9908fd0142fdd10a9cdd79389f8a3f2fc:BTRF1.030H950720F
df94c5b4d47eb3cc404d88b33a8fda237eaf4720:BTR_1.0191941228F
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3:BTR_1.000U941115F

The string is build afaict like this:

  1. string "BTR"
  2. version number
  3. unknown byte
  4. region or affiliate ? J=JAP U=USA H=Hi-Saturn 1=? 2=?
  5. 6-byte date 941115 eg: Nov 15 1994

Code: Select all

sha1sum                                         ver. ? r? date
===============================================================================
2b8cb4f87580683eb4d760e4ed210813d667f0a2  BTR_  1.00 D 1 1994-09-21  ?JAP
7b23b53d62de0f29a23e423d0fe751dfb469c2fa  BTRD  1.00 3 2 1994-10-12  ?JAP
3bb41feb82838ab9a35601ac666de5aacfd17a58  BTR_  1.00 0 U 1994-11-15  USA / ?EUR
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3  BTR_  1.00 0 U 1994-11-15  USA / ?EUR
df94c5b4d47eb3cc404d88b33a8fda237eaf4720  BTR_  1.01 9 1 1994-12-28  ?JAP
4154e11959f3d5639b11d7902b3a393a99fb5776  BTR_  1.01 9 J 1995-07-03  JAP
49d8493008fa715ca0c94d99817a5439d6f2c796  BTR_  1.01 9 H 1995-01-30  Hi-Saturn ?JAP
8a22710e09ce75f39625894366cafe503ed1942d  BTR_  1.02 0 H 1995-05-19  Hi-Saturn ?JAP
8c031bf9908fd0142fdd10a9cdd79389f8a3f2fc  BTRF  1.03 0 H 1995-07-20  Hi-Saturn ?JAP
===============================================================================

The sequence unfolded paints a different picture than https://github.com/srg320/Saturn_MiSTer#compatible-bios
But some blanks need to be filled in as I cannot extract more from the BIOS files reading hex.

Discrepancies found:

  • faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3 Sega_Saturn_1.00_Europe.bin
    faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3 Sega_Saturn_1.01a_USA.bin
    :: are identical files and the version and region are incorrect or incomplete.

  • 7b23b53d62de0f29a23e423d0fe751dfb469c2fa Sega_Saturn_1.003_Japan.bin
    :: looking at the build dates this is a 1.00 and the version numbering is 4 characters not 5 afaict

  • :: Sorting the list by build date instead of version numbering paints a more accurate picture

I wanted to test the bioses to see what I could find out, but I have some other commitments I have to attend to. Please comment, point out any mistakes and or additions so we can clean this up.

Akuma

Hydrochaeris
Posts: 8
Joined: Mon Mar 08, 2021 12:25 am
Has thanked: 2 times
Been thanked: 2 times

Re: BIOS Discrepancies

Unread post by Hydrochaeris »

Interesting, I wonder if srg320's list is just the easily available ones floating around (same as those you found and the ones I've seen), which are not well named. It seems there are some more Saturn BIOS versions that existed, since there were quite a few variants, like the Samsung Saturn (see https://segaretro.org/Sega_Saturn/Hardware_revisions). Or maybe one of those files with duplicate checksums are a Korean version, since those apparently looked like ones from another region?

Akuma
Posts: 138
Joined: Sat Dec 11, 2021 9:50 pm
Has thanked: 24 times
Been thanked: 46 times

Re: BIOS Discrepancies

Unread post by Akuma »

Updated the grep regexp because not all binaries tested gave results. Some of them because of the wrong endianess. But this could be solved by byte swapping with:

Code: Select all

dd conv=swab if=infile of=outfile 

It also gets rid of the capital F that I thought to be a terminator but wasn't

Code: Select all

grep -aoE '[A-Z0-9_]{4}[0-9]\.[0-9]{2}[A-Z0-9]{2}[0-9]{6}' filename

Results:

Code: Select all

sha1sum                                                 ver     m r     date
---
2b8cb4f87580683eb4d760e4ed210813d667f0a2	BTR_    1.00    D 1     1994-09-21
7b23b53d62de0f29a23e423d0fe751dfb469c2fa	BTRD    1.00    3 2     1994-10-12
3bb41feb82838ab9a35601ac666de5aacfd17a58	BTR_    1.00    0 U     1994-11-15
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3	BTR_    1.00    0 U     1994-11-15
e0f3df6c91ef761f2b5c31f4d1bb89156628aac8	STVB    1.06    F 0     1994-11-18
52d06f72aa979d67a2a96c6b860ba47d0c2dd444	BTR_    1.01    9 1     1994-12-28
df94c5b4d47eb3cc404d88b33a8fda237eaf4720	BTR_    1.01    9 1     1994-12-28
49d8493008fa715ca0c94d99817a5439d6f2c796	BTR_    1.01    9 H     1995-01-30
6bd6dc4e42bdefe450b35a1cc82aef158b0f8ad9	STVB    1.10    D 0     1995-01-31
e42e3ab84e76070e9bdaf223b46bfd0968af4ba5	STVB    1.10    J 0     1995-01-31
a10cd919c0adc1b48f7e0d9b1ab195407b9e8ffd	STVB    1.11    T 0     1995-02-20
34df90554645138dac78025915704cbcfc379159	STVB    1.11    J 0     1995-02-20
fbb91d3579582f6b7256fd1c15793a3187c25ece	STVB    1.13    T 0     1995-04-25
8d46fabfa6de8035e9f739aaaf82ee37310323e7	STVB    1.13    J 0     1995-04-25
9e0b08a2c4ccfb58494634243b080699d47db612	STVB    1.13    U 0     1995-04-25
bc7c845a4593c3f99c4e46f3859f6d27f5aaa266	STVB    1.13    E 0     1995-04-25
8a22710e09ce75f39625894366cafe503ed1942d	BTR_    1.02    0 H     1995-05-19
4154e11959f3d5639b11d7902b3a393a99fb5776	BTR_    1.01    9 J     1995-07-03
8c031bf9908fd0142fdd10a9cdd79389f8a3f2fc	BTRF    1.03    0 H     1995-07-20
f2d6f07fc0c199cf42b171ea9c5a02c6de9040c9	PCD1    1.13    J 0     1997-02-17
ad13a57d8ed7f8d4837a2e79c6dc38d9b6076cf3	STVB    1.14    T 0     1997-05-15
0156a19dd8b6b89b99f0358232d47917fb630e0d	PCS1    1.13    J 0     1997-08-21

edit: updated the list with more roms

Akuma
Posts: 138
Joined: Sat Dec 11, 2021 9:50 pm
Has thanked: 24 times
Been thanked: 46 times

Re: BIOS Discrepancies

Unread post by Akuma »

Well, this is as far as I got today. Some things about the BIOS string are still foggy. So any help or additional information is very welcome.

SEGA SATURN (console)

Code: Select all

sha1sum                                        ver. r r date   description
===============================================================================
2b8cb4f87580683eb4d760e4ed210813d667f0a2  BTR_ 1.00 D 1 940921 (DBG)(JPN) [!]
7b23b53d62de0f29a23e423d0fe751dfb469c2fa  BTRD 1.00 3 2 941012 (DBG?)(JPN) 
3bb41feb82838ab9a35601ac666de5aacfd17a58  BTR_ 1.00 0 U 941115 (USA) [!]
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3  BTR_ 1.00 0 U 941115 (USA) [!]
df94c5b4d47eb3cc404d88b33a8fda237eaf4720  BTR_ 1.01 9 1 941228 (JPN) [!]
52d06f72aa979d67a2a96c6b860ba47d0c2dd444  BTR_ 1.01 9 1 941228 (JPN) [h]
49d8493008fa715ca0c94d99817a5439d6f2c796  BTR_ 1.01 9 H 950130 (JPN) HISATURN [!]
4154e11959f3d5639b11d7902b3a393a99fb5776  BTR_ 1.01 9 J 950703 (JPN) V-SATURN [!]
8a22710e09ce75f39625894366cafe503ed1942d  BTR_ 1.02 0 H 950519 (JPN) HISATURN
8c031bf9908fd0142fdd10a9cdd79389f8a3f2fc  BTRF 1.03 0 H 950720 (DEV?)(JPN) HISATURN

[!] Known good dump
[h] Hack

SEGA TITAN (arcade)

Code: Select all

sha1sum                                        ver. r r date   description
===============================================================================
e0f3df6c91ef761f2b5c31f4d1bb89156628aac8  STVB 1.06 F 0 941118 (DEV) stv106
6bd6dc4e42bdefe450b35a1cc82aef158b0f8ad9  STVB 1.10 D 0 950131 (DBG) stv110
e42e3ab84e76070e9bdaf223b46bfd0968af4ba5  STVB 1.10 J 0 950131 (JPN) epr-17740
34df90554645138dac78025915704cbcfc379159  STVB 1.11 J 0 950220 (JPN) epr-17740a
a10cd919c0adc1b48f7e0d9b1ab195407b9e8ffd  STVB 1.11 T 0 950220 (TWN) stvb111t
bc7c845a4593c3f99c4e46f3859f6d27f5aaa266  STVB 1.13 E 0 950425 (EUR) epr-17954a
8d46fabfa6de8035e9f739aaaf82ee37310323e7  STVB 1.13 J 0 950425 (JPN) epr-17951a
f2d6f07fc0c199cf42b171ea9c5a02c6de9040c9  PCD1 1.13 J 0 970217 (JPN) epr-19730
0156a19dd8b6b89b99f0358232d47917fb630e0d  PCS1 1.13 J 0 970821 (JPN) epr-20091
fbb91d3579582f6b7256fd1c15793a3187c25ece  STVB 1.13 T 0 950425 (TWN) epr-17953a
9e0b08a2c4ccfb58494634243b080699d47db612  STVB 1.13 U 0 950425 (USA) epr-17952a
ad13a57d8ed7f8d4837a2e79c6dc38d9b6076cf3  STVB 1.14 T 0 970515 (TWN) epr-19854

Note: All STV bioses are byte-swapped (see post #3)

  • LEGEND:
    BTR="SEGA SATURN"
    STV="SEGA TITAN"
    PCD1 = unknown ?SEGA COMMANDER?
    PCS1 = unknown ?SEGA COMMANDER?
    D=?DEBUG
    F=?DEVELOPER
    J=JAPAN
    U=USA
    T=TAIWAN
    E=EUROPE
    H=HISATURN
    0=?NOT IN USE?
    1=?
    2=?
    3=?
    9=?

Hydrochaeris wrote: Sat Oct 14, 2023 5:07 am

Interesting, I wonder if srg320's list is just the easily available ones floating around (same as those you found and the ones I've seen), which are not well named. It seems there are some more Saturn BIOS versions that existed, since there were quite a few variants, like the Samsung Saturn (see https://segaretro.org/Sega_Saturn/Hardware_revisions).

That link was very helpful.

Hydrochaeris wrote: Sat Oct 14, 2023 5:07 am

Or maybe one of those files with duplicate checksums are a Korean version, since those apparently looked like ones from another region?

If two files have the same checksum, they are identical. If one bit is different, the checksum changes.

Akuma
Posts: 138
Joined: Sat Dec 11, 2021 9:50 pm
Has thanked: 24 times
Been thanked: 46 times

Re: BIOS Discrepancies

Unread post by Akuma »

This is everything I could find on the internet, I tried naming them but came up short.
If you find a better way, please fix it.

Legend:
[dbg] = DEBUG
[!] = Known good dump
[rf] = Region Free patch applied

Code: Select all

SHA1SUM                                   FILENAME
=================================================================================================
2b8cb4f87580683eb4d760e4ed210813d667f0a2  SATURN/BTR_-1.00-D1-940921-JPN-[dbg][!].bin
32054a8632d67edd6d3094984215accb3a28fd2c  SATURN/BTR_-1.00-D1-940921-JPN-[dbg][rf].bin
7b23b53d62de0f29a23e423d0fe751dfb469c2fa  SATURN/BTRD-1.00-32-941012-JPN-[dbg].bin
38f6cefb4860395d674128f5a93c7a87b8a79ba4  SATURN/BTRD-1.00-32-941012-JPN-[dbg][rf].bin
3bb41feb82838ab9a35601ac666de5aacfd17a58  SATURN/BTR_-1.00-0U-941115-USA-[!].bin
e2a3f00ac779f3794e0492a000126a0868f8638f  SATURN/BTR_-1.00-0U-941115-USA-[rf].bin
faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3  SATURN/BTR_-1.00-0U-941115-USA-[!]-(2).bin
8bbe4c3368a453ebfe5c771d262b07aeccdf0a38  SATURN/BTR_-1.00-0U-941115-USA-[rf]-(2).bin
a2e1c166dc56f9f7081cac69c25088c21d7a598e  SATURN/BTR_-1.00-0U-941115-USA-(3).bin
86ef261b2021a75a4aba04a64edaa16a52bb79c1  SATURN/BTR_-1.00-0U-941115-USA-[rf]-(3).bin
df94c5b4d47eb3cc404d88b33a8fda237eaf4720  SATURN/BTR_-1.01-91-941228-JPN-[!].bin
52d06f72aa979d67a2a96c6b860ba47d0c2dd444  SATURN/BTR_-1.01-91-941228-JPN-[rf].bin
49d8493008fa715ca0c94d99817a5439d6f2c796  SATURN/BTR_-1.01-9H-950130-JPN-HISATURN-[!].bin
edcc3947c481325567d3a049d7f23b396b4d06dd  SATURN/BTR_-1.01-9H-950130-JPN-HISATURN-[rf].bin
8a22710e09ce75f39625894366cafe503ed1942d  SATURN/BTR_-1.02-0H-950519-JPN-HISATURN.bin
2fab220bed7f72d197b439e9a748be51b1d68aa6  SATURN/BTR_-1.02-0H-950519-JPN-HISATURN-[rf].bin
4154e11959f3d5639b11d7902b3a393a99fb5776  SATURN/BTR_-1.01-9J-950703-JPN-VSATURN-[!].bin
c53dec838676db59b851301211a8b700590910bd  SATURN/BTR_-1.01-9J-950703-JPN-VSATURN-[rf].bin
8c031bf9908fd0142fdd10a9cdd79389f8a3f2fc  SATURN/BTRF-1.03-0H-950720-JPN-HISATURN-[dev].bin
fb15bbea4a4a2542499352b292e7e0d96def40ec  SATURN/BTRF-1.03-0H-950720-JPN-HISATURN-[dev][rf].bin
6bd6dc4e42bdefe450b35a1cc82aef158b0f8ad9  TITAN/DBG_STVB-1.10-D0-950131.bin
bc7c845a4593c3f99c4e46f3859f6d27f5aaa266  TITAN/EUR_STVB-1.13-E0-950425.bin
f2d6f07fc0c199cf42b171ea9c5a02c6de9040c9  TITAN/JPN_PCD1-1.13-J0-970217.bin
0156a19dd8b6b89b99f0358232d47917fb630e0d  TITAN/JPN_PCS1-1.13-J0-970821.bin
e0f3df6c91ef761f2b5c31f4d1bb89156628aac8  TITAN/JPN_STVB-1.06-F0-941118.bin
e42e3ab84e76070e9bdaf223b46bfd0968af4ba5  TITAN/JPN_STVB-1.10-J0-950131.bin
34df90554645138dac78025915704cbcfc379159  TITAN/JPN_STVB-1.11-J0-950220.bin
8d46fabfa6de8035e9f739aaaf82ee37310323e7  TITAN/JPN_STVB-1.13-J0-950425.bin
a10cd919c0adc1b48f7e0d9b1ab195407b9e8ffd  TITAN/TWN_STVB-1.11-T0-950220.bin
fbb91d3579582f6b7256fd1c15793a3187c25ece  TITAN/TWN_STVB-1.13-T0-950425.bin
ad13a57d8ed7f8d4837a2e79c6dc38d9b6076cf3  TITAN/TWN_STVB-1.14-T0-970515.bin
9e0b08a2c4ccfb58494634243b080699d47db612  TITAN/USA_STVB-1.13-U0-950425.bin
=================================================================================================
Hydrochaeris
Posts: 8
Joined: Mon Mar 08, 2021 12:25 am
Has thanked: 2 times
Been thanked: 2 times

Re: BIOS Discrepancies

Unread post by Hydrochaeris »

Akuma wrote: Sun Oct 15, 2023 8:11 pm

If two files have the same checksum, they are identical. If one bit is different, the checksum changes.

Yeah, I thought maybe a Korean BIOS version was just identical to another region's, just a different filename, but I misunderstood once I read the Segaretro page I linked above more carefully.

This Reddit thread (https://old.reddit.com/r/SegaSaturn/com ... load_link/) contains a comment with a google drive link to a supposedly-region free BIOS set. All seem to be dupes of those you've listed, except for one file named Hi-Saturn v1.02 (JAP-RF).bin, sha1sum 735494ba1b8b9be4930c1c3d62dcc93fb52c71ae.

Akuma
Posts: 138
Joined: Sat Dec 11, 2021 9:50 pm
Has thanked: 24 times
Been thanked: 46 times

Re: BIOS Discrepancies

Unread post by Akuma »

Hydrochaeris wrote: Tue Oct 17, 2023 2:55 am

This Reddit thread (https://old.reddit.com/r/SegaSaturn/com ... load_link/) contains a comment with a google drive link to a supposedly-region free BIOS set. All seem to be dupes of those you've listed, except for one file named Hi-Saturn v1.02 (JAP-RF).bin, sha1sum 735494ba1b8b9be4930c1c3d62dcc93fb52c71ae.

Yeah, that file was broken (incomplete region-free patch). Luckily someone fixed that already, so that file (with a bunch of others) went into the junk pile.

Hydrochaeris
Posts: 8
Joined: Mon Mar 08, 2021 12:25 am
Has thanked: 2 times
Been thanked: 2 times

Re: BIOS Discrepancies

Unread post by Hydrochaeris »

Akuma wrote: Tue Oct 17, 2023 4:56 pm

Yeah, that file was broken (incomplete region-free patch). Luckily someone fixed that already, so that file (with a bunch of others) went into the junk pile.

Gotcha, ok, didn't have time to test to see if it works or not.

The link was the google drive one in the Reddit thread (not sure about that file.io one you have), this one:
https://drive.google.com/file/d/1S3uhmA ... hdGc5/view

Akuma
Posts: 138
Joined: Sat Dec 11, 2021 9:50 pm
Has thanked: 24 times
Been thanked: 46 times

Re: BIOS Discrepancies

Unread post by Akuma »

Ikefix
Posts: 20
Joined: Thu Jul 01, 2021 4:49 pm
Has thanked: 9 times

Re: BIOS Discrepancies

Unread post by Ikefix »

Akuma wrote: Fri Oct 13, 2023 10:12 pm

After sorting out the N64 bioses, I am trying to setup the Saturn by sorting out its bioses and boy oh boy.

...

Same situation here XD

midline_slippy
Posts: 46
Joined: Sat Jan 27, 2024 12:14 pm
Has thanked: 4 times
Been thanked: 7 times

Re: BIOS Discrepancies

Unread post by midline_slippy »

Stupid question.

Is there a preferred BIOS you should use?
Looking at the files, in the end, there are only US and JP regions? I actually count 4, US, JP, JP-Hi, and JP-V. With RF variants of all 4.

Right now, I have the US-RF BIOS as my boot.rom. I don't have any issues opening any valid CHD files, except, I have to set the region correctly in the settings or I get the disk notsuitable screen. It's a minor inconvenience, but if there is a setting or file I am missing to avoid that, it would be awesome!!

midline_slippy
Posts: 46
Joined: Sat Jan 27, 2024 12:14 pm
Has thanked: 4 times
Been thanked: 7 times

Re: BIOS Discrepancies

Unread post by midline_slippy »

I had a break thru playing with the different BIOS. THANK YOU Akuma!! If you didn't do all this leg work, I wouldn't have figured this out.

BTRF-1.03-0H-950720-JPN-HISATURN-[dev][rf].bin

Using that specific bios as the boot.rom, I am no longer getting the non-suitable screen for any of my CHDs!! I had noticed CPN using the Hi-BIOS and asked on the youtube channel about this. He didn't know for sure if there was a difference. Apparently when I tested this back then, I was using either a non-rf or non-dev ver of that BIOS and didn't know that they existed...

Post Reply