Jul 262019
 

The ‘CUS99′ (simply silkscreened ’99’) is a custom IC used on Namco arcade PCBs.It’s a 16 pin SIL component covered with a brownish coating :

It can be found on pre-System86 (Pac-land, Sky Kid, Gaplus, Dragon Buster and other boards..), System86 (Rolling Thunder and other games on same PCB layout) and System 1 hardware.From the scarce info about it the ‘CUS99’ is involved in sound volume control but we knew nothing more detailed about, pinout from official schematics apart :

Recently I’ve been sent by the user ‘JorgePT’ a pile of System 1 boards for repair hence, with his permission, I analyzed the part. After drawing schematics of its internal structure I came to the conclusion that the ‘CUS99’ is nothing more than a 4-bit DAC with output level control performed by analog switches.Its design was quite simple and easy to reproduce with few parts  :

Testing of the repro on a Pac-Land PCB was successful:

Thanks again to ‘JorgePT’ for his willingness.

 Posted by at 10:32 am
Jul 262019
 

Here’s a repro of the KNA 6032601 found on boards like Kung Fu Master and Tropical Angel.

While it’s not known to fail as often as the KNA 6034201 (which Caius has already made a repro of ) it has been know to start failing lately.

 

It’s a 40 pin custom IC on the TOP board of the kung Fu Master stack, sitting at E1 & E2 between two rams and the colour proms

This most likely deals one deals with the final image processing, like layer priorities, just before outputting data into the colour proms

I used a bootleg to see how this one was reverse engineered by bootlegers at the time and identified and area between the rams and the colour proms.

Tracing multimeter confirmed those 9 LSxx ICs were indeed connected to the same ICS as the custom. So I fired up easyEDA and got busy .

A few days later, voila! a working IC and a working board. Not a complicated thing to do, it just takes time to trace back everything .

Huge thanks to Caius for his recent inspiring work on making repros for a lot of these custom ICs and has prompted me to look into the topic and start making my own too. The more the better !

And as usual, for those who prefer the video format :

Jul 232019
 

For Atari 800XL, 800XLF, 65XE and 600XL 64kb home computers.

Diagnostic program – previews

 

 

 

 

 

 

This program installs in the OS ROM socket and is used as a means for testing the DRAM and the Atari Basic ROM. If you have some spare 27c128s lying around then this can easily be installed without an adapter in any Atari 8 bit.

When the program first fires up you’ll see a black screen & hear an annoying sound as the data is being written to the first 2kb of DRAM, this is intentional and to let you know that the program is busy writing data and evaluating it. The first chunk of memory is critical to test as this contains page zero and work ram used for assembler programs accessing shadow registers..etc

  • Evaluates the first 2kb 0x0000 – 0x07ff.
  • Calculates a checksum of the BASIC ROM and stores the result in zero page if the memory there is good.
  • Turns off BASIC.
  • Performs evaluation from 0x800-0xbfff ( this includes the memory under the BASIC ).
  • Copies a large chunk of the ROM to DRAM starting at offset 0x900.
  • Turns off OS rom.
  • Tests the remainder of the memory 0xc000 – 0xffff,  including the memory underneath the OS ROM but skipping the I/O area ( 0xd000-0xd7ff )

Memory test algorithms used

  • Checkerboard, Inverse checkerboard, Walking 1s, Walking 0s, 1s, 0s and exhaustive.

Example of walking 1 bit pattern evaluation

This writes the bit pattern directly to PMG address space which is visible on the right hand side of the screen in red.

Bad ram detected ( the arrow indicates a bad data bit was read back )

What it does

  • During testing,  the program displays bit patterns on screen which represent the data written to DRAM.
  • Plays sound to indicate CPU is functioning ( for systems playing blind ).
  • High beep = cleared one of the available algorithmic tests.
  • Low beep = successfully evaluated 100 memory locations with no errors during the exhaustive search.

Note: This does note evaluate the memory underneath the I/O ( 0xd000 – 0xd7ff ).  As there is no possible way ( that I know of ) to access it like you can in the Commodore 64 via bank-switching. Programs do not utilise this area of memory anyway.

Pre calculated Basic ROM checksums 16 bit [ sum of bytes ]

  • REV A – 0x12c9
  • REV B – 0x4469
  • REV C – 0x42ab

Advantages of using the ROM

  • It will still boot up with no DRAM installed or with dead DRAM, as long as that is the only problem.
  • Great for testing completely dead systems with a black screen. If the system does not start then there are other hidden issues. If your system starts up fine with this ROM and there are no DRAM errors, suspect a bad OS ROM ( this would normally cause a red screen ).

Note –  Chips that get hot to the touch including DRAM chips indicate an internal short. This should be addressed prior to using this diagnostic tool. +5 voltages below 4.75v will cause instability and unpredictable results.   First remove the suspected chip from the machine then power the machine on and confirm no other chips are getting hot to the touch before installing the replacement chip, this is to prevent the possibility of damaging the replacement chip, confirm no short present by checking the +5v reading at one of the chips.

Do not use this program if you have not verified the operation of the power supply.

Limitations

  • PMG graphics are written to memory, so if bad ram is detected within these areas then expect unreliable results as the wrong vertical position on screen will be reported ( via an arrow ) which indicates the wrong data bit being identified.  By all means, any error detected should not indicate a false positive and you should manually test each DRAM chip externally using a RAM tester or device programmer that can handle these types of devices.

To Do – In future version.

  • Wre-write the code regarding the reporting side of things and not use PMGs to indicate bad data bits. This will make reporting more accurate.
  • Write a 128kb version for 130XE machines.

What I probably won’t do

  • Write a version for systems with memory exceeding 128kb. The diagnostic was written as a means for trouble shooting a basic system.

Download

a8diag1-6.rom

DRAM configuration of  600xl

This tool is compatible with the following DRAM configuration in the 600XL which requires two 4464s installed in the original sockets with 3 additional wires. See following link for instructions. If you use a 3rd party RAM expansion board, then chances are it will have 8 x 4164 1 bit DRAMs. Whilst you can certainly check the integrity of the RAM on the board using this program, you’ll most likely need to identify the bad chips yourself.

Atari 600xl 64kb mod

This is the cleanest method in my opinion as it does not require soldering any wires to the board and is easily reversible.

 

Jul 222019
 

One drunken day at the excellent Revival event I offered to look at a Nintendo Space Firebird PCB.
Initially I was given the eBay link which had a few pictures of the fault.

When I got the board I did my usual visual checks and found a few things I didn’t like the look of.
First up both main RAM chips are socketed. I removed these to check out of circuit and found this

I fixed that up by removing a leg from a donor chip and soldering it on

Next up was the 8212 Input/Output port. It too was socketed with a single wipe socket but what really got me suspicious was the state of the soldering

I wasn’t a fan of this so desoldered it. When I desoldered it I found this

A bit of trace has been lifted there. I can only assume this has been removed before.
I fitted a new socket and moved on.

Found a burnt looking resistor on the sound PCB

The resistor still reads 20 ohms but i will replace that once my parts order comes in.

Lastly there were a few areas with the solder mask removed and solder on it. Not a huge problem but it needs addressed.
I cleared the excess solder from these places and covered them using a Chemtronics pen.

Not pretty but it does the job.

Firing up the PCB for the first time confirmed the original fault was still present.
As the fault was with the video I looked there first.
I started by reseating the two socketed RAM chips

To my surprise this fixed up the graphics. Not sure what effects the previous fixes would have had but Im not removing them to find out.

New problem now. The game hangs at the title screen at the same point every time.
Whenever I get issues like this I always think RAM or ROM issues.
I had already confirmed the RAM so went on to dealing with the ROM’s.
All of them were a match for Space Firebird according to MAME’s ROMident but the ROM at location 5J was for a different version of the game.

It should have been this

I erased and reprogrammed the 2716 EPROM and now the game plays fine.

While comparing gameplay against MAME I realised some colours were missing

This should look more like this

I chased this round for quite a long time only to realise that the 74LS04 inverter I was using (as stated in the manual) to invert the colours was my problem. Switching to the proper Nintendo inverter PCB made everything look right again.

All that’s left now if to replace all those capacitors on the sound PCB and that burnt looking resistor and this board is done

 Posted by at 6:18 pm
Jul 212019
 

I got this board a few years ago when I got a Pac-Man cabaret cab that had been converted to Trojan.

The whole cab was sold to me as not working so I assumed the board wasn’t booting either I converted the cab back to pacman and put this board aside until this year

So I fired up the board and it booted up just fine. However there was absolutely no sound coming out.

One of the issues with this board is that there aren’t any schematics available for it.
Luckily the sound section is almost identical to Ghost n Goblins.
Since the traces are visible on the board, I drew them for help on the back of the board.
Crude but it helped figure out things a bit.

It’s got that same sound module (85H001) to drive two YM2203 (3 channel sound chip)
The signal is then fed to a YM3014 DAC, and LM324 Op-Amp and a final HA13001 power amplifier.

Probing the YM2203, YM3014 , LM324 I can see signal coming out of all these and into the input of the power amplifier .

 

However there’s nothing coming out of the HA13001 so I’m assuming this is the culprit here.
Removing it, half the legs broke off . No wonder it wasn’t working

I fitted a new one and the sound came back right away and I was able to enjoy a quick game of Trojan

A quick and easy one but you need these every now and then

And as usual, for those who prefer the video format: