What's new

MV1B1 Stuck in service mode

widdiful

Beginner
Joined
Mar 28, 2023
Messages
10
Reaction score
0
Location
UK
I recently got an MVS and supergun setup and it worked perfectly for a few days, but one morning it started having this issue and it hasn't worked properly ever since.
Regardless of how I have the hard dips set, the console will briefly display "WORK RAM TEST" as if all the switches are enabled. But then it will enter service mode after a couple of seconds. Without a cart, this will be the hardware test with the checkerboard pattern, IO check, calendar options etc. With a 161-in-1 cart (my only cart), it will boot to the game select menu and function properly as it does not have a service menu and nor does it react to the pause switch. But after selecting a game, "WORK RAM TEST" will display again for a few seconds and then go to the game's service menu. It will recognise the game in the soft dip settings, but I am unable to exit the service menu as it believes switch 1 is enabled. Here are some screenshots from the hard dip settings and the IO check:
hard dip.png
io check.png

There are some inconsistencies here, with 3-6 being on in the hard dip check and off in the IO check. And the test button is constantly held down. All other inputs are working perfectly fine. I have read that leaving it in the work ram test mode for over 30 minutes can fix issues, but even with all the dip switches actually turned on, it will still enter service mode a few seconds after boot.

Things I have tried/checked:
  • While I don't have another functioning MVS, the test button on the supergun works fine while connected to a Pandora's Box.
  • I get this same issue with another supergun connected.
  • Cleaned the dip switches with isopropyl alcohol.
  • Cleared the RAM from within the hardware check menu multiple times.
  • Left the MVS unplugged and with its battery removed for over 24 hours to hopefully clear the RAM.
  • Replaced the battery with a fresh one in case that's somehow connected.
I do not have a unibios but I do wonder if that could fix this issue, as I believe that it can fix other hardware issues.
I am fairly new to hardware and electronics, so you will have to bear with me a little bit.
Any suggestions on how this could be fixed or if the console is just a write-off would be greatly appreciated. Thanks.
 
Does the supergun have a test button on it?
 
It does, it was working fine in the past and still works fine when connected to a Pandora's Box. I also get the same issue with a different supergun, so I believe that the supergun's test button is not the issue.
 
Oh I missed that piece in the above. I assume when you actually turn on the dip for test mode, it doesn’t do anything different.

Do you have a multimeter?
 
Correct, no combinations of the dip switches made any difference.
I do own a multimeter and have tried to check continuity between the pins on the dips and their destinations, but after looking at the dev wiki I'm not really sure where exactly they connect on the chips. I can tell that they're not grounded, at least.
 
measure the voltage on the dip bank... it's probably a bad dipswich bank they do fail, and can get stuck on or stuck off.
 
Seems to be getting 5.18V, which is the same as what my supergun's display is reading.
 
Decided to check the pins on the dip bank, when a switch is on there is continuity between its two pins. No continuity when they're off. This seems to be perfectly normal behaviour, so I think I can be pretty confident that the issue does not lie in the dip bank. It could be a hardware fault somewhere else along the path from the dip bank to each switch's destination, or maybe just some sort of software corruption if that's possible?

Does anyone happen to know which pins on which chip handles the dip switches? I've been unable to find them on the Neo Geo dev wiki. Otherwise, I suppose I just have to cross my fingers and hope that installing a unibios will magically fix everything. I think I've exhausted my knowledge on this sort of stuff.
 
No continuity when they're off. This seems to be perfectly normal behaviour, so I think I can be pretty confident that the issue does not lie in the dip bank. It could be a hardware fault somewhere else along the path from the dip bank to each switch's destination
that would be normal behavior.

One side of the bank should be grounded and the other side goes directly to the NEO-F0 https://wiki.neogeodev.org/index.php?title=NEO-F0

so next thing would be to check continuity between the dip bank and F0... and between the dip bank and ground. if the dip bank is good and the traces are good then you've likely got a bad NEO-F0 custom

another thing to check would be to put a multi-meter on the dip pins of that chip while running. If you're getting 5V on the Pin and it's reading that the dip is set then the issue is definitely internal to the NEO-F0
 
Last edited:
I checked continuity with all the pins on the NEO-BUF and couldn't tell which ones exactly were connected, everything that seemed to be connected was a VCC pin. But maybe that's part of the problem itself. Replacing the NEO-BUF is way out of my depth, so if that is the solution then maybe it would be better getting a new one and selling this for parts.

I could get a new one but I am worried that my setup itself may have caused damage to the system. After all it was stuck in a warehouse for who knows how long, then I plug it in for a few days and it's dead overnight. But if these are notorious for failing, would it be possible that it was on its last legs before I got it and it was just a matter of time before it failed after being turned on for long enough, regardless of what it was connected to?
 
I could get a new one but I am worried that my setup itself may have caused damage to the system.
Seems to be getting 5.18V, which is the same as what my supergun's display is reading.
In the future, 5.00v is the target for your 5v rail. I’d dial down that psu for a start. Also check with a multimeter to make sure the supergun’s display is accurate.
 
Can confirm that the display is accurate. There is a voltage adjustment knob but the lowest it gets to is 5.18 sadly. Is this too high and could cause damage? I wouldn't be adverse to opening it up and adding a resistor or two if need be. It's an Aliexpress one that uses a laptop power supply and has Saturn controller ports, which I had heard weren't the best but both features were very important to me. So I'm hoping that the slightly higher voltage isn't too much of an issue in the future.

Edit: Actually, the power brick outputs about 12.68V instead of just 12V. Maybe that's where the voltage issue lies.
 
Have you tried temporary desolder the test and service wires from the jamma harness yet?
 
I haven't, but the same issue happens with a different supergun and does not happen if something else is connected to the same supergun. So I don't think that it's a problem with the supergun, unless it's a hardware fault on the MVS that was caused by the supergun.
 
in an ideal situation you would replace that 12v with a proper adjustable arcade psu. That will output 5v 12v and -5v instead of relying on a supergun to convert 12v into all those.

They’re like $20, but something tells me that supergun will not support it. If you want a long term solution I’d look into a HAS or a Minigun, which use normal arcade power supplies. But that’s a larger investment for sure.

5.18v may not be killing things outright, but it’s wearing them out more quickly. The 5v rail is, at best, 5% tolerant — so 4.75 to 5.25. Some boards are less, and it’s not like you’re going to research every chip in the 5v circuit to see what tolerance is, so it’s always best to dial it in to 5.0. I’m sure if you find a 12v supply that actually outputs 12.0 you will probably be in better shape.
 
The hard dip issue appears to being caused dead output from that NEO-BUF to the right of the dip switches. Dead output is when the CPU tries to read from a memory location but no signals are put on the data bus. This results in the byte code from the next instruction filling the register.

Hard dips are read from memory location 0x300001. The byte value read from that location contains the state of the 8 hard dips. A bit being 0 means the hard dip is ENABLED, while a 1 means DISABLED.

The code associated with your pictures are as follows.

Code:
SETTING UP THE HARD DIP
----------------------------------------------
ADDR    ASSEMBLY                BYTE CODE                   
c1849e  move.b  $300001, d0     1039 0030 0001 // read hard dips into d0
c184a4  not.b   d0              4600
                                  ^^

In your picture it looks like all dips are likely enabled. This would be expected if d0 registered got fill with that 0x00 from the next instruction. All bits being 0 means all dips would be considered enabled.

Code:
I/O CHECK
----------------------------------------------
ADDR    ASSEMBLY                BYTE CODE
c16434  move.b  $300001, d0     1039 0030 0001 // read hard dips into d0
c1643A  move.w  #$7328, d1      323C 7328
                                  ^^
In your picture it shows hard drips as 1100 0011. This would be expected if d0 register got filled with that 0x3C (0011 1100) from the next instruction. In order to show the correct enable/disable values on screen the read bits would need to get flipped, giving the seen 1100 0011.

So either the NEO-BUF is bad or the enable/dir signals going into it are missing/wrong.

For the stuck TEST button, it maybe faulty CRE401 near the right side of the jamma connector. I would also double check none of the pins from those CRE401's are touching on the underside of the board.
 
Thanks for the detailed breakdown. Can confirm that none of the CRE401 pins are touching. If the causes for both the dip switches and the test button were in two almost opposite parts of the board, then it is curious that both issues started happening at the same time. Unless there's some other point on the board that could affect both if broken?

I am okay with a soldering iron, so if I could clip off the NEO-BUF and install a replacement that might fix it. Same with the CRE401s. Sadly I don't have the tools or expertese to remove them properly. Are there any further checks that I could do to make sure that they do actually need replacing? If replacing them like that is a bad idea, then it would probably be best to pass it on to someone else who could make better use of the board.
 
Back
Top