BIOS Address (A13-A15)

Tengugurl

Cheng's Errand Boy
Joined
Feb 9, 2017
Posts
111
Hey there!
I have a faulty AES that is giving the following error:

BIOS ADDRESS (A13-A15)

Actual: 00
Expected: 01

original.jpg

I had a look at the BIOS socket between pins 13 and 15 and all looks fine?

Also, the A,B,C,D buttons allow me to go to other tests, rather, it is sending me to an endless watchdog black screen click of death.

Hope someone out there has an idea what could be up.

Thanks!
Tengu
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
538
The short answer in this case is to check for continuity between bios pin 35 and 68k pin 42.

The tmi answer as I don't think its been documented what the actual/expected values mean for this error. The bios code is only 16k bytes in size and is mirrored 7 times in order to fill up the 128k bios rom. A single byte at offset 0x3FFB of each bios mirror contains a value indicating which bios mirror it is. The running bios is 0x00, first mirror 0x01 ... last mirror 0x07. The bios has a mirror test where it will attempt to read the mirror byte from each bios mirror and verify its the correct value. This is where the actual/expected values come from for this error. Note that the check is also done against the running bios's mirror byte to catch stuck A13-A15 pins. This would result in a expected: 0x00, actual: 0x0n, where n is between 1 and 7. This would also imply the bios is running from one of the mirrors.

In the picture above its indicating it tried reading the mirror byte from the first mirror, which should be 0x01, but got back 0x00. This would imply A13 never enabled causing the memory read to return the mirror byte from the running bios (actual: 0x00) instead of the first mirror (expected: 0x01).

I would also note that the mirror check happens before bios crc check, so its also possible the bios is corrupt. Both mirror/crc checks only happen during automatic tests.
 

Tengugurl

Cheng's Errand Boy
Joined
Feb 9, 2017
Posts
111
Thanks for both answers! :)

I just re-checked the continuity between BIOS pin 35 and 68k pin 42 and I am getting full continuity. :/

What's weird is that I popped in some stock JP BIOS lasts night and if I pressed down in a certain area of the BIOS chip and I was able to boot the console. I even get into the game play screen. (Well I couldn't play because my hand was pressing down on the board lol)

Can BIOS go corrupt so quickly?
I just had these made 2 weeks ago and they were working fine up until last night. (PS. UNIBIOS nor Stock BIOS will make the console boot as of now)

I wonder what it could be because because I have full continuity to all pins?

Thanks again!
Can't wait to hear what you think/ give any suggestion a go.
 
Last edited:

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
538
It sounds like you need to reflow the solder joints of your bios socket.
 

GadgetUK

Ace Ghost Pilot
Joined
Sep 27, 2013
Posts
1,323
On that particular board, I think you might have an address line connection missing to the E0 (or pressure sensitive). I could be wrong, but I suspect that the ROM OE is not set correctly for a specific address range.

And the clue is probably there - A13 to A15. Check those connections between the E0 and 68K.
 

BIG BEAR

SHOCKbox Developer,
20 Year Member
Joined
Dec 14, 2001
Posts
8,230
When you use the normal bios,what does the system do???
BB
 

Tengugurl

Cheng's Errand Boy
Joined
Feb 9, 2017
Posts
111
If I use the normal BIOS it goes into watchdog and a yellowish-black moving streak up and down the screen (with game in) or blue but clicking (Without a game) @ BB

The board is definitely pressure sensitive @ GadgetUK

To fix this pressure sensitivity, I took my hot air de-soldering gun to the EO and LO last night as those 2 ICs were reacting to the slightest touch while powered on. (I know, super scary as I could have messed it up worse lol)

Mission accomplished with the pressure sensitivity for the most part, LO isn't impacted by pressure nor the E0 anymore.

Surprisingly the only thing impacted by pressure now is the BIOS chip. (Even after re-flowing all the solder on the socket)
The BIOS will work but only if its positioned a certain way.

Still getting the same error with the diag. BIOS so yay I didn't break anything further lol.

I am going to check the connections between EO and the 68k like GadgetUK is proposing, maybe the signal is dropping somewhere to the BIOS.

Noob alert:
I am looking through the schematics here https://wiki.neogeodev.org/index.php?title=Schematics and looking for one that shows both the 68k and EO in the same pic but I am not seeing one? Am I missing something?

Sorry in advance, I am really trying to learn this stuf but I can catch on quick if nudged in the right direction lol. (I.e Super happy with how I fixed my WRAM issue by converting Hex to Binary to see which dataline was giving me issues)

Million dollar question here, when the Diag. BIOS calls out A13 to A15, how do I know which A13, A14 and A15 its referring to lol?
I look at these schematic pages: (I.e 68k 68k user RAM NEO-C1 PDF and System latch NEO-E0 Power supply) and I see differing A13's (I don't expect them to keep A13 the same throughout the board) - you know what I mean? lol

I guess I need to learn how to read these things, I got this far because Xian Xi's Partial connections (Based on AES 3-4).
Would you let me know if I am close in my thinking below? *attached image


View attachment 54183

You all rock! Thanks for your help :)
 

Attachments

  • Waaa.png
    Waaa.png
    387.9 KB · Views: 43
Last edited:

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
538
The A13 to A15 error from the diag bios is referring to the address lines of the bios itself (27c1024 pinout). So it would be pins 35, 36, and 37 on the bios. The discrepancy is because the 27c1024 starts counting its address lines starting with A0, while the 68k/neo-e0 start with A1.
 

GadgetUK

Ace Ghost Pilot
Joined
Sep 27, 2013
Posts
1,323
The A13 to A15 error from the diag bios is referring to the address lines of the bios itself (27c1024 pinout). So it would be pins 35, 36, and 37 on the bios. The discrepancy is because the 27c1024 starts counting its address lines starting with A0, while the 68k/neo-e0 start with A1.

I think she already has measured address line connections between the BIOS and the CPU though! The reason I suspect the E0 connecitons is that is used to drive the OE on the ROM, if one bit is missing (one of those upper bits), the ROM will be disabled when it shouldn't be. Presuming that the point its testing the ROM there it is doing it via code running from RAM. That's my theory, but I could be wrong.
 

GadgetUK

Ace Ghost Pilot
Joined
Sep 27, 2013
Posts
1,323
If I use the normal BIOS it goes into watchdog and a yellowish-black moving streak up and down the screen (with game in) or blue but clicking (Without a game) @ BB

The board is definitely pressure sensitive @ GadgetUK

To fix this pressure sensitivity, I took my hot air de-soldering gun to the EO and LO last night as those 2 ICs were reacting to the slightest touch while powered on. (I know, super scary as I could have messed it up worse lol)

Mission accomplished with the pressure sensitivity for the most part, LO isn't impacted by pressure nor the E0 anymore.

Surprisingly the only thing impacted by pressure now is the BIOS chip. (Even after re-flowing all the solder on the socket)
The BIOS will work but only if its positioned a certain way.

Still getting the same error with the diag. BIOS so yay I didn't break anything further lol.

I am going to check the connections between EO and the 68k like GadgetUK is proposing, maybe the signal is dropping somewhere to the BIOS.

Noob alert:
I am looking through the schematics here https://wiki.neogeodev.org/index.php?title=Schematics and looking for one that shows both the 68k and EO in the same pic but I am not seeing one? Am I missing something?

Sorry in advance, I am really trying to learn this stuf but I can catch on quick if nudged in the right direction lol. (I.e Super happy with how I fixed my WRAM issue by converting Hex to Binary to see which dataline was giving me issues)

Million dollar question here, when the Diag. BIOS calls out A13 to A15, how do I know which A13, A14 and A15 its referring to lol?
I look at these schematic pages: (I.e 68k 68k user RAM NEO-C1 PDF and System latch NEO-E0 Power supply) and I see differing A13's (I don't expect them to keep A13 the same throughout the board) - you know what I mean? lol

I guess I need to learn how to read these things, I got this far because Xian Xi's Partial connections (Based on AES 3-4).
Would you let me know if I am close in my thinking below? *attached image


View attachment 54183

You all rock! Thanks for your help :)


Yes, the E0 address lines connect to the ROM (same address lines), and also the CPU.
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
538
I think she already has measured address line connections between the BIOS and the CPU though! The reason I suspect the E0 connecitons is that is used to drive the OE on the ROM, if one bit is missing (one of those upper bits), the ROM will be disabled when it shouldn't be. Presuming that the point its testing the ROM there it is doing it via code running from RAM. That's my theory, but I could be wrong.

I spent some time a few weeks ago disassembling the diag bios. This is the list/order of the automatic tests

watchdog test
bios mirror test
bios crc32 test
wram/bram oe test (bram only if mvs or AES + C pressed during boot)
wram/bram we test (bram only if mvs or AES + C pressed during boot)
wram data test
wram address test
-------------------
z80 test (if D pressed at boot)
bram tests (skipped for AES unless C pressed during boot)
palette ram tests
vram tests
mmio tests

The tests above the line are specifically coded to not touch wram as it maybe bad.

If its not a continuity issue, then I would guess a short as BIG BEAR suggested.

Looking at the underside of my AES it looks like there is a trace that runs really close to the pins 35-40 on the underside of the board. It appears this trace goes from NEO-E0 pin 36 to 68K pin 45, which would be A17 (68k). Perhaps there is a partial bridge between some of the 35-40 pins of the bios and this trace.
 

Tengugurl

Cheng's Errand Boy
Joined
Feb 9, 2017
Posts
111
Check this out guys!

15596160203872420182909092226845.jpg

original.jpg

It's working now! Omg I can't thank you all enough for your help!!!

It was pin 35 lol (questioning my own work now)

May or may not be showing off my consolized systems in the pic. (Neo geo shrine)

Lesson learned, if you make a jumper wire, don't assume you fixed the prob, odds are you are missing a small trace that sends signal to the top of the board.

My 35 pin (BIOS) was jumped to the 68k but I didn't properly trace it as it wasnt a one for one shot from the bios to the 68k.

I decided to take a knife to the line close to the bios pin and solder a sliver of the old trace instead of an easy jumper spot and tada!

Yayyy! So freaking happy.
Couldn't have done it with your help :)
 
Last edited:
Top