NaomiDIAG : A diagnostic bios for Naomi 1 & 2

Is that even possible? @MetalliC?

Also, the only way to update a 1.XX firmware is by desoldering the flash chip. That's it.
 
@nem it was decade+ ago when I've been looking at DIMM 1.02 firmware disassembly, so I can't remember details...

but, in theory, if DIMM<->NAOMI interface have commands like POKE/PEEK to DIMM RAM - it might be possible to upload some our code there and patch DIMM firmware in RAM to make it run.

there is still the problem with "BIOS CRC protection" at hardware level, which blocks G1 bus access (i.e. DIMM/cart in Naomi or GD-drive in Dreamcast),
so fully custom BIOSes would be unable to access DIMM...
but I think this can be avoided using magic 1KB boot chunk from Naomi dev.bios
 
Last edited:
Is there a list of problems most likely to cause an all red screen? I've got two that do this, haven't had a chance to hook up serial yet to see if they output anything.
 
@nem it was decade+ ago when I've been looking at DIMM 1.02 firmware disassembly, so I can't remember details...

but, in theory, if DIMM<->NAOMI interface have commands like POKE/PEEK to DIMM RAM - it might be possible to upload some our code there and patch DIMM firmware in RAM to make it run.

there is still the problem with "BIOS CRC protection" at hardware level, which blocks G1 bus access (i.e. DIMM/cart in Naomi or GD-drive in Dreamcast),
so fully custom BIOSes would be unable to access DIMM...
but I think this can be avoided using magic 1KB boot chunk from Naomi

Yeh would
Be cool to utilize all them dimms with a flash boot
 
Example of RAM error, followed by the fault analysis. It's mixed french/english :D

Here it found the IC21s being faulty
Code:
[00:02:45.068] VRAM TEX1 bus de donnees ........ OK
[00:02:45.089] VRAM TEX1 bus d'adresses ........ OK
[00:02:45.098] passe 1/3 0101 : 10% 20% 30% 40% 50% 60% 70% 80% 90%  ok
[00:02:53.952] passe 2/3 1010 : 10% 20% 30% 40% 50% 60% 70% 80% 90%  ok
[00:03:02.798] passe 3/3 pseudo-aleatoire : 10% 20% 30% 40% 50% 60% 70% 80% 90%
[00:03:11.728]   Erreur detectee, localisation VRAM : 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%  ERR
[00:03:22.384] VRAM TEX1 (IC17S/19S/21S/23S) ........ ECHEC
[00:03:28.062]   bad data bits mask: 0000FFFF
[00:03:28.070]   -> VRAM TEX1 (IC17S/19S/21S/23S) 3 (IC21S) : voie suspecte (puce ou connexions)
[00:03:28.087]   @A5C00000 wrote 4EBCCB6D read 4EBCE7B7
[00:03:28.097]   @A5C00004 wrote 2DF11025 read 2DF137EE
[00:03:28.106]   @A5C00008 wrote F1434C3F read F143B7EE
[00:03:28.116]   @A5C0000C wrote 8058EBFD read 805818AF
[00:03:28.126]   @A5C00010 wrote 39C7A8AE read 39C7DF47
[00:03:28.136]   @A5C00014 wrote 5693D627 read 56935481
[00:03:28.146]   @A5C00018 wrote A6B3218C read A6B36F8B
[00:03:28.156]   @A5C0001C wrote 92DAD96D read 92DA691A
[00:03:28.165]   ... 786422 errors total

Another one that identify which traces are broken (DQ8 and DQ9 here):
Code:
[00:10:15.100] Reference PVR-A (PVR-B indetermine) ........ ECHEC
[00:10:15.195]   VRAM PVR-B et RAM Elan non testees, acces non valide.
[00:10:15.207]   Aucun verdict sur les puces RAM. Code acces : 5
[00:10:15.219]   PVR probe pass=0 addr=A57FFFFC expected=13579BDF observed=13579BDF xor=00000000
[00:10:15.236]   PVR probe pass=0 addr=A5FFFFFC expected=2468ACE0 observed=2468AFE0 xor=00000300
[00:10:15.253]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.271]   PVR probe pass=0 addr=A77FFFFC expected=A5963CC3 observed=A5963CC3 xor=00000000
[00:10:15.287]   PVR probe pass=0 addr=A7FFFFFC expected=5A69C33C observed=5A69C33C xor=00000000
[00:10:15.304]   PVR probe pass=1 addr=A57FFFFC expected=ECA86420 observed=ECA86420 xor=00000000
[00:10:15.321]   PVR probe pass=1 addr=A5FFFFFC expected=DB97531F observed=DB97531F xor=00000000
[00:10:15.338]   PVR probe pass=1 addr=A77FFFFC expected=5A69C33C observed=5A69C33C xor=00000000
[00:10:15.355]   PVR probe pass=1 addr=A7FFFFFC expected=A5963CC3 observed=A5963CC3 xor=00000000
[00:10:15.372]   Diagnostic VRAM : cellules puis paires d'adresses.
[00:10:15.384]   Bits CPU uniquement : correspondance broches RAM non etablie.
[00:10:15.405]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=AAAAAAAA observed=AAAAABAA reread=AAAAABAA peer_expected=AAAAAAAA peer_observed=AAAAABAA xor=00000100
[00:10:15.436]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8
[00:10:15.453]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=55555555 observed=55555555 reread=55555755 peer_expected=55555555 peer_observed=55555755 xor=00000000
[00:10:15.484]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 9
[00:10:15.501]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000001 observed=00000301 reread=00000301 peer_expected=00000001 peer_observed=00000301 xor=00000300
[00:10:15.532]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.550]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000002 observed=00000002 reread=00000302 peer_expected=00000002 peer_observed=00000302 xor=00000000
[00:10:15.580]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.599]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000004 observed=00000304 reread=00000304 peer_expected=00000004 peer_observed=00000304 xor=00000300
[00:10:15.629]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.647]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000008 observed=00000308 reread=00000308 peer_expected=00000008 peer_observed=00000308 xor=00000300
[00:10:15.678]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.696]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000010 observed=00000310 reread=00000310 peer_expected=00000010 peer_observed=00000310 xor=00000300
[00:10:15.727]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.745]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000020 observed=00000320 reread=00000320 peer_expected=00000020 peer_observed=00000320 xor=00000300
[00:10:15.776]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.794]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000040 observed=00000340 reread=00000340 peer_expected=00000040 peer_observed=00000340 xor=00000300
[00:10:15.824]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.843]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000080 observed=00000380 reread=00000380 peer_expected=00000080 peer_observed=00000380 xor=00000300
[00:10:15.873]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:15.892]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000100 observed=00000300 reread=00000300 peer_expected=00000100 peer_observed=00000300 xor=00000200
[00:10:15.922]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 9
[00:10:15.940]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=FFFFFEFF observed=FFFFFFFF reread=FFFFFFFF peer_expected=FFFFFEFF peer_observed=FFFFFFFF xor=00000100
[00:10:15.970]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8
[00:10:15.988]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000200 observed=00000300 reread=00000300 peer_expected=00000200 peer_observed=00000300 xor=00000100
[00:10:16.018]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8
[00:10:16.036]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=FFFFFDFF observed=FFFFFDFF reread=FFFFFFFF peer_expected=FFFFFDFF peer_observed=FFFFFFFF xor=00000000
[00:10:16.066]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 9
[00:10:16.084]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000400 observed=00000700 reread=00000700 peer_expected=00000400 peer_observed=00000700 xor=00000300
[00:10:16.114]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.132]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00000800 observed=00000800 reread=00000B00 peer_expected=00000800 peer_observed=00000B00 xor=00000000
[00:10:16.163]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.181]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00001000 observed=00001300 reread=00001300 peer_expected=00001000 peer_observed=00001300 xor=00000300
[00:10:16.212]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.230]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00002000 observed=00002300 reread=00002300 peer_expected=00002000 peer_observed=00002300 xor=00000300
[00:10:16.261]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.279]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00004000 observed=00004300 reread=00004300 peer_expected=00004000 peer_observed=00004300 xor=00000300
[00:10:16.309]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.328]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00008000 observed=00008300 reread=00008300 peer_expected=00008000 peer_observed=00008300 xor=00000300
[00:10:16.358]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.377]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00010000 observed=00010300 reread=00010300 peer_expected=00010000 peer_observed=00010300 xor=00000300
[00:10:16.407]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.425]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00020000 observed=00020300 reread=00020300 peer_expected=00020000 peer_observed=00020300 xor=00000300
[00:10:16.456]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.474]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00040000 observed=00040300 reread=00040300 peer_expected=00040000 peer_observed=00040300 xor=00000300
[00:10:16.505]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.523]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00080000 observed=00080000 reread=00080300 peer_expected=00080000 peer_observed=00080300 xor=00000000
[00:10:16.553]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.572]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00100000 observed=00100000 reread=00100300 peer_expected=00100000 peer_observed=00100300 xor=00000000
[00:10:16.602]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.621]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00200000 observed=00200300 reread=00200300 peer_expected=00200000 peer_observed=00200300 xor=00000300
[00:10:16.651]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.669]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00400000 observed=00400000 reread=00400300 peer_expected=00400000 peer_observed=00400300 xor=00000000
[00:10:16.700]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9
[00:10:16.718]   VRAM readback failure addr=A5FFFFFC peer=A5FFFFFC expected=00800000 observed=00800300 reread=00800300 peer_expected=00800000 peer_observed=00800300 xor=00000300
[00:10:16.749]   Voie associee par le BIOS SEGA (puce ou connexions a verifier) : IC21 CPU D: 8 9

I'm trying to debug a N2 issue(s), and this output looks like it could help - is this output via the serial console?
 
Back
Top