Porchy

X Multiply repair log #3

 PCB Repair Logs, Repair Logs  Comments Off on X Multiply repair log #3
Aug 112014
 

Yes, again.
During some playing of this recently repaired board the game froze up.
On reset I was greeted with this static screen.
IMAG0758

Non booting boards are generally quite easy to fault find but due to the V30 I was having problems. This is when I came across a post on KLOV from some time ago with someone asking if an 8086 Fluke POD could be used to test a V30 based system. The general thinking was that it could but no one ever tried it, until now!
Im pleased to say it does work (excluding the RUN UUT function).

Very quickly I found that the main ROM’s could not be read properly. The correct signature was 6A03 and I was getting 6935.
Following my schematics I found that there is a 74LS373 at location IC51 that is used as the latch to address the ROM’s.
IMAG0759

This input was confirmed good but there was a stuck bit on the output.
I replaced this and the game was back once again. Ive left this soak testing and hopefully it will be rock solid now.
IMAG0761

So just to confirm. The 8086 pod for a Fluke 9010/9100 can be used to check V30 based systems.

Gradius 2 PLS173 dump added

 PAL Updates  Comments Off on Gradius 2 PLS173 dump added
Jul 272014
 

Here is the PLS173 dump I made. Its ID is 007789.
Its not a true dump as my programmer doesn’t support the device so this was made using the PAL dumper hardware and it compiles nicely into a GAL22V10 device.
The board it came from is not fully working so any feedback anyone can give would be great.

 Posted by at 7:55 pm
Jul 262014
 

I recently sold this PCB but after a week I was told the board had developed a fault.
The fault showed up as “RAM NG 10” at boot-up and there was some issues with the sprites.
IMAG0738

There is absolutely no logical meaning to the error message so using MAME I started corrupting different RAM values during it POST to see what RAM errors were flagged up during which memory writes.
Originally I couldn’t understand how the awful V30 CPU worked. Without knowing how it worked I was unable to use the MAME debugger effectively. Charles MacDonald came to my rescue and told me how the V30 addresses were set. Thanks very much to Charles.
You can see the outcome of that exercise in THIS previous post.

So now I knew for sure that the fault was with the sprite RAM. Now the next challenge, which RAM chip is the sprite RAM?
I originally tried shorting some address/data lines on RAM chips to see if any other errors were flagged but strangely it didn’t show anything else at all.
With nothing left to try I started making my own schematics up in the hope I could work out which RAM was responsible for the sprites.

Due to the complex nature of this board set, I was stuck for quite some time looking on the lower video PCB assuming (yes I know) that this is where the sprite RAM could be but was unable to find any problems at all.
Taking a step back I reversed the PAL chip XM_A-7D- into equations. Using these equations and the schematics I had drawn up I could take an educated guess as to what RAM chip was the sprite RAM.
Knowing that the sprite RAM lies at address 0xc0000, this means that address pins A19 & A18 would need to be active. Looking at the equations I could see that output pin 17 of the PAL chip would fit this address so I followed the signal which led to the /CE line of a 74LS245 of IC40 on the top CPU PCB.
xm245

The only chip that this chip goes to is a 2018 RAM chip at location IC52.
This was pretty good news. I removed the chip and it failed the tests so I replaced it and now all the POST tests pass.
The sprites are all back to how they should be too.
IMAG0733

Ill be keeping hold of this board I think. It was one of the first games I ever bought since getting into this hobby so it will stay with me for good now.

Jul 202014
 

At the moment I have an X Multiply PCB that shows a “RAM NG 10” error on startup.
Although I have yet to find the problem with this board I thought it best to find out exactly what RAMs these errors are referring to.
To make any sense of this you will need the memory map for the game found in M72.C file of the MAME source code.

Here is a short list of what I have found so far:
0x9c000-0x9ffff = RAM NG 1 (Work RAM)
0xc0000-0xc03ff = RAM NG 10 (Sprite RAM)
0xc8000-0xc8bff = RAM NG 9 (Palette RAM 1)
0xcc000-0xccbff = RAM NG 8 (Palette RAM 2)
0xd0000-0xd3fff = RAM NG (Video RAM 1)
0xd8000-0xdbfff = RAM NG (Video RAM 2)

 Posted by at 8:30 pm