BIOS Discrepancies
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:
- string "BTR"
- version number
- unknown byte
- region or affiliate ? J=JAP U=USA H=Hi-Saturn 1=? 2=?
- 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