Neo Diagnostics ROMs

smkdan

Galford's Armourer
Joined
Dec 30, 2009
Posts
452
This is something I started a long time ago but only got off the backburner recently. In a nutshell, it's a pair of diagnostic ROMs that's supposed to do a better job of error reporting. Ideally it ends up saving hours of trying to find the cause compared to what the original BIOS does for you. The other major thing is that it includes a Z80 ROM for an actual Z80 test instead of the really basic "Z80 ERROR" you might see. The Z80 part requires a spare CHA board (any one with NEO-ZMC), a socket and a 27c1001 to burn but it's optional. The BIOS just takes place of the regular BIOS but it can't be used to play games.

Enabling proper Z80 testing is the reason I started it since the original setup is almost worthless for that. It does have a full set of tests for the 68k end of things though. A lot of tests have been added and are more precise in reporting what actually appears to be wrong and are more likely to catch certain problems that the original tests can't. Another bonus is that it's more likely to give a meaningful info on a completely dead system since it doesn't rely on as many working components, so a system with the click of death is worth trying with something like this. There's a bunch of other things too but most of it on my site.

Here's the homepage with download links and some info. I tested this on my own AES+MV1T+MV2F+MV4F and it seems to work fine. Any suggestions or questions, just shoot. Even if you don't understand what an error is trying to tell you, just posting a pic of the results may help you save a lot of screwing around. I already got some use out of it with a 4 slot that I've been sitting on for a while and hopefully repairers or anyone with a load of systems can get some use out of it.
 

mjs256

Kula's Candy
Joined
Apr 1, 2010
Posts
292
:eek: WOW :eek: That is entirely awesome! You deserve a medal, sir! This will be extremely useful!
 

Xian Xi

JammaNationX,
Joined
Dec 1, 2005
Posts
27,694
It's finally public, so happy dude.

I urge everyone to support him by making a donation if you can. He's always making good stuff for the Neo.
 

distropia

Igniz's Servent
Joined
Apr 28, 2010
Posts
1,068
Thanks man. I'll give it a shot. When I can, I'll make a donation.
 

werejag

Galford's Poppy Trainer
Joined
May 3, 2005
Posts
2,626
now time to build an aes and a mvs cart but ill want labels
 

Xian Xi

JammaNationX,
Joined
Dec 1, 2005
Posts
27,694
Works pretty good, only thing I would say is maybe slow down the tones a little.

On an FZ I am working on I got:

BRAM ADDRESS (A0-A7) 1010010
Address: D00002
Actual: 0800
Expected: 0101

When I held C during boot I got ( did this only because I don't know if it only displays one error at a time, so I tried to skipp the BRAM test):

Palette Address A8-A12
Address: 400000
Actual: 1010
Expected: 0000
 

werejag

Galford's Poppy Trainer
Joined
May 3, 2005
Posts
2,626
how about a chr board specially made with a aes slot and a mvs solt on same cart.....
 

dragonpt

Over Top Auto Mechanic
Joined
Oct 19, 2008
Posts
857
It's finally public, so happy dude.

I urge everyone to support him by making a donation if you can. He's always making good stuff for the Neo.



DONE





This guy have my support, thanks for your hard work,
If i had more money i would made bigger donation, but i was a father 2 months ago (:)), so money is not too much now
 

dragonpt

Over Top Auto Mechanic
Joined
Oct 19, 2008
Posts
857
Since im an nuub on this

can you give me some info in what i need to have (eprom burner ?), and how to use it?

thanks
 

smkdan

Galford's Armourer
Joined
Dec 30, 2009
Posts
452
Thanks for the feedback/support.

@Xian: I had a typo that made backup RAM get address tested before data tested which should be the other way around, so don't trust that error info yet for BRAM yet. I updated sp1.bin so try download v011 from my site. I might slow down the tones the next time m1.bin gets an update. It stops on the first error it finds and the tests are done in fixed order. I didn't let you continue when errors are found since you can't skip them to play games anyway, but since it could be useful if you get a busted board with lots of issues I can add that in later on.

@dragonpt: You need EPROM programmer and 1x 27c1024 EPROM atleast. It's the same as if you were to make any BIOS. 27c1024 goes into the BIOS socket, then you just power on. To do sound tests, you need more: 1x 27c1001, 1x 32pin socket and almost any CHA board. "How to use" section on my site has more info.
 
Last edited:

NeoTurfMasta

DANCE DANCE KARNOV!,
20 Year Member
Joined
Jan 18, 2001
Posts
4,224
Congrats man, this is awesome! I'll be testing it this weekend on a few junker mvs boards I have. You know James, I have been thinking about recreating the dev board for low meg games. It would work perfectly for things like this
 

Xian Xi

JammaNationX,
Joined
Dec 1, 2005
Posts
27,694
Congrats man, this is awesome! I'll be testing it this weekend on a few junker mvs boards I have. You know James, I have been thinking about recreating the dev board for low meg games. It would work perfectly for things like this

Oh hell yes. That would be a perfect use for it.
 

Xian Xi

JammaNationX,
Joined
Dec 1, 2005
Posts
27,694
ok I tried v0.11

BRAM DATA (0000)
Addy: D00004
ACT: 7E77
EXP: 0000

Palette error is still the same.
 

smkdan

Galford's Armourer
Joined
Dec 30, 2009
Posts
452
@Xian: Palette RAM address looks like cut trace on A8 to both chips according to error info. A8(25) on both RAMs should go to PA8(28) on NEO-B1 according to pinouts. It looks like it's just a cut trace. Backup RAM data looks odd but I have some ideas. Is the result address+data values always the same? What happens when you power cycle and not just soft resetting? Output enable tests are in there but nothing specifically for write enables (should
be a future feature) and I'm suspicious about both chips outputting odd values on the same address.

edit: nevermind, just realised it said "Actual: 1010" instead of 0101. That's a palette bank problem. A12(2) on each palette RAM comes from an output from the HC259(12).

@NTM: Sounds interesting, I forgot about those dual connector dev boards. If you have something in mind that wouldn't cost much to develop that would be great.
 
Last edited:

Xian Xi

JammaNationX,
Joined
Dec 1, 2005
Posts
27,694
Just tried again and now it is:

Addy: D00002
Actual: 0900
EXP: 0000
 

smkdan

Galford's Armourer
Joined
Dec 30, 2009
Posts
452
Just tried again and now it is:

Addy: D00002
Actual: 0900
EXP: 0000

Random power up data explains it. I think it's just reading random garbage data that the RAMs power on with. I am pretty sure this is a /WE problem to both backup RAMs. The reads are working since the BIOS is getting output from them but the writes are failing and random garbage data comes out. They have individual /WE signals that are supposed to come from a pair of outputs from HC32 for write protection. Can you trace pin 27 on each BRAM to it?
 

Xian Xi

JammaNationX,
Joined
Dec 1, 2005
Posts
27,694
Random power up data explains it. I think it's just reading random garbage data that the RAMs power on with. I am pretty sure this is a /WE problem to both backup RAMs. The reads are working since the BIOS is getting output from them but the writes are failing and random garbage data comes out. They have individual /WE signals that are supposed to come from a pair of outputs from HC32 for write protection. Can you trace pin 27 on each BRAM to it?

The /WE from the BRAMs I know is handled by U17 which is the LS32 in the backup area. I check this board and it's connected fine. Is not having a battery installed part of the problem?
 

smkdan

Galford's Armourer
Joined
Dec 30, 2009
Posts
452
Unless the backup circuit is damaged it shouldn't matter unless they changed things later on. SRAM should be active with/without battery.

There's more to enabling backup RAM though. Q6(11) from the HC259 leads to an inverter (HC04 on 1F), then gets output to an LS32 input pair. The other LS32 input in this pair comes from a transistor according to the 1F schematic. They're named SRAMWEN and SRAMCS if you have the 1F schematic open but I don't know if this goes for the 1FZ too. There's also pins 98 and 14 from NEO-C1 that lead to inputs on this LS32. First page of the 1F schematic has the diagram. There's also the LS32 output that leads into a pair of its own inputs and that has to be good or else writes get blocked.

edit: missed inverter between HC259 and LS32, added that in.
 
Last edited:

massimiliano

ネオジオ,
Joined
Feb 27, 2004
Posts
3,199
Awesome projects here!

please join with Brian, a development/debug kit would be awesome!
 
Top