jwestfall69 / neogeo-diag-bios

Disassembly of smkdan's Neo Geo Diagnostics BIOS with added features
37 stars 8 forks source link

Mv4 Strange PBus test error : P2 unwritable upper #43

Open ragefan opened 3 months ago

ragefan commented 3 months ago

Hi,

I have a mv4 on which I know 100% the lower board is working (confirmed with a working upper board) while the upper board has an issue. Games are starting fine with sound but I have a remaining glitch I want to tackle (see below). The problem appears on ALL slot.

When testing with the pbus test in slot 1 for exemple, I have a P2 unwritable error. Looking at the doc, the error comes from one of this signal :

PORTWEL - P2 Low Byte Write Enable PORTWEU - P2 High Byte Write Enable

When tracing them, they go to the f244 mentioned in the doc then on the cn10. They're no broken traces.

Knowing that the lower board is ok, I don't understand the issue ? Could it be the cause of my graphic glitch ?

Thx

PXL_20240730_174750636 PXL_20240730_174809019

jwestfall69 commented 3 months ago

Writes to P2 are mostly used to trigger bank switching of the P roms. If P2 is unwritable the most likely symptom would be the game crashing. Even though there is continuity between that F244 and the PORTWEL/U pins there could be other issues

If it was me I would use a logic probe and work my way backwards/upstream from the PORTWEL/U pins on the cart until I saw a pulse from the P rom test trying to write to P2.

For your graphics issue I would try a different game. Puzzle Bobble is a highly bootlegged game and it could just be a faulty.

ragefan commented 3 months ago

Thanks for your answer. Games are not crashing actually (well at least the one I tested). I do see a pulse on PORTWEL/L up to the CN10 connector when I launch the test. I have continuity from the cart up to the pro-c0 through the cn10 connector and through the 2 74244.

Is P2 test the first test of the PBus test sequence ?

I tested with a game inserted and my probe is confirming a signal HIGH on this, maybe the game is not using bank switch ?

jwestfall69 commented 3 months ago

I would see where the pulsing stops along that path. If you see it going into a 244 and not coming out its probably something related to the 244. Just remember that 244s have an enable pin.

The P2 writable test happens after verifying we are getting output from it.

Games that use bankswitching would need to be larger then 2MB in size. The crash might not be immediate as the game would have to be at a point where it needed to bankswitch, it doesn't happen, then it crashes.

ragefan commented 3 months ago

Well, I see a pulse (when staring the test) on the CN10 connector up to the cartridge so I am guessing the upper board is ok right ? I will have to find a way to probe the lower board 244 while the upper board is on.

jwestfall69 commented 3 months ago

You are seeing the pulse on the PORTWEL/U test points on the diag prog board? Does the issue happening all slots or just slot 1? Have you cleaned the slots?

ragefan commented 3 months ago

Yes exactly, i see 1 pulse when launching the test then it stops with the error. This is the case on all slot. Slots are clean.

⁣Télécharger TypeApp pour Android ​

Le 4 août 2024, 06:58, à 06:58, Jim Westfall @.***> a écrit:

You are seeing the pulse on the PORTWEL/U test points on the diag prog board? Does the issue happening all slots or just slot 1? Have you cleaned the slots?

-- Reply to this email directly or view it on GitHub: https://github.com/jwestfall69/neogeo-diag-bios/issues/43#issuecomment-2267331766 You are receiving this because you authored the thread.

Message ID: @.***>

jwestfall69 commented 3 months ago

The way the write test work is this

  1. read word from memory location
  2. flip the bits of the word
  3. write the flipped word to the same memory location
  4. re-read the word from the memory location

If the re-read word is the same as the original read word it will trigger the unwritable error. Perhaps the write is happening but some fault is causing the read data to always be the same in the P2 region?

Try using a game thats over 1MB in size with unibios. Do unibios's CRC check on the game and see if its has any NG banks.