I have no background in electronics or programming. Everything I have learnt over the years has been through self teaching and the help from other kind people willing to lend a hand.

Feb 122017

This project and doesn’t really have much of a purpose as most things are already dumped but as there wasn’t an easy option for dumping a Lynx cart I thought id throw something together.
Like most of my projects it uses the Arduino MEGA 2560. I got hold of a scrap Lynx of eBay and harvested the cartridge connector from and quickly threw together a PCB.
The end result is pretty rough and if there was any need I would probably revisit this and make it a little better.

I made some Windows software too.

The Arduino software has the job of detecting how big the cartridge being dumped is then sends all the data to the PC. The PC software saves the binary file and can also detect any anomalies. For example, the game Block Out that I have actually skips an address pin but the one higher is connected. This results in garbage data being sent if it is not dealt with properly. I’m not sure if all Block Out carts have this or what but its the only one i’ve found that has it.
The PC software can also save the dumped files CRC32 to a file so I can easily compare my dumps against ones that are already out there. Im not expecting to find anything wrong or different versions but you never know.

 Posted by at 3:30 pm

Outrun Music Extender

 Projects  Comments Off on Outrun Music Extender
Jan 222017

Cmonkey and me worked on this project back in March 2015.
Cmonkey found that the new tunes added to the 3DS release of Outrun were in the same format as the original arcade. With that in mind he set about adding the tunes to his Outrun arcade PCB. He succeeded but the problem was there wasn’t enough room in the standard EPROM’s to add these alongside the existing music.
My contribution started here and found one of the pins of the PLD used to select chips was essentially unused so I could use this to switch the new music in and out. Cmonkey modified the code so that the gear shift lever switched in the new tunes.
I designed a PCB which will slot directly into the Z80 code EPROM socket on the Out Run board set. The PCB incorporates a PLCC32 socket and map the pins of a 28-pin 27512 EPROM to the equivalent pins of a PLCC32 memory (39SF010A or equivalent).

Original mock up of the PCB

Parts required for this are
1 x PLCC32 socket
1 x 1Mbit PLCC32 flash memory (39SF010A or equivalent)
4 x 27512 EPROM’s for the patched 68000 code
1 x GAL16V8 for new Z80 address decoding
2 x 14-way pin headers
1 flying wire to link the A16 point on the PCB to pin 18 of the GAL

 Posted by at 8:56 am

The New Zealand Story repair log #2

 PCB Repair Logs  Comments Off on The New Zealand Story repair log #2
Dec 302016

While waiting for the PCB’s to come for my resistor ladder replacement this New Zealand Story PCB decided to fail again.

I suspected more failed MASKROM’s but they are dumped out fine and that was the start of my frustrations.
I was a bit lost so I made up some partial schematics but found nothing.
Jailbars are usually a sign of a ROM failure but as the original MASKROM’s are 23C1000 and there is no easy drop in replacement available I relied too much on checking the ROM’s out of circuit as I didn’t want to needlessly make up ones with the adapters I ordered last time.
Turning to MAME for help, I made a program that takes a ROM dump and allows me to introduce a ‘bad bit’ to test in MAME. By doing this I closed in on what could be a potential candidate for a ROM issue.

B53-05 gave me similar issues when introducing bad bits and making up another MASKROM replacement proved this as the problem was fixed!

This kind of problem is becoming quite common now I feel. The ‘perfect’ conditions generated by a programmer gives no issues reading the ROM but for some reason they don’t work well in circuit.

As you may recall from my last repair log on this PCB, I found a resistor ladder that was broken. Anyway I made up a PCB that allowed me to fit SMT resistors to whatever values I wanted. I made up on and tested.

 Posted by at 5:15 pm

Commodore 64 Game Killer cartridge

 Technical Info  Comments Off on Commodore 64 Game Killer cartridge
Dec 152016

Found this oddity on eBay not too long ago.

Its a crude device that attempts to disable collision detection for games that used hardware sprites.
It device itself wasn’t too successful but it was cheap and love my C64 so here it is.
I spend half an hour drawing up a schematic for the device and also dumped the ROM which is in the downloads section.

Cant imagine anyone ever needing to use the schematic for anything. Its very simple and any fault finding could be done in moments and who in the right mind would want to create more of these things but it was a small side project.

 Posted by at 1:26 pm
Nov 132016

Recently a user on the UKVAC forums released his home made tester known as the AR81 upon the world.
Original forum thread can be found HERE

It has many uses and more are being added regularly. The most interesting to me was the ability to check TTL in circuit.

It accomplishes this by storing states of known good chips and then taking a snapshot of all the pins at a given time then comparing the snapshot against its own database of stored states.
I’ve had pretty good results using this feature so far and found it useful enough to devote some time towards expanding its databases.

I currently have some concerns about how users of this will go about sharing their state map files. There is a github that has these files on which I believe is considered ‘official’ but what if I have a drastically different set of states stored in my file when I come to upload it, what happens to the states that might have been stored in the github version if I don’t have them in mine? Now its worth mentioning I dont really understand github and although I am aware of diff files I don’t know how they work or what their limitations are. It may well be the case that it can handle this scenario without problems. If it does then great, that’s one of my concerns dealt with.
My other concern is who’s checking these files? What if someone has uploaded a new set of states that is just wrong or flawed in some way? It could go unnoticed for quite some time.
With that in mind I set to work creating some tools to let me deal with both of these problems.
I know have 3 different program made.
The second two I made are closely related so ill deal with those first.
One of them can be used to merge two files together but will exclude any entries that are duplicates. It can also be used for checking an existing file does not contain duplicates or any other strangeness like incorrect formatting of the unused pins or the GND pin not being defined as 0 etc. Its final use is to display individual state maps on screen in a more user friendly format so they can be manually confirmed for correctness (or not). If not then they can be removed easily.

So far I have successfully used it to remove a few errors I have found among various files and I am currently in the process of putting a set of files together that I believe are functionally correct. If they aren’t in some way then at least the blame can be accounted to me and not someone else.

The third program I made is in early development but has been a massive time saver.
Take for example a 74LS245 chip. The total number of valid state combinations is 512. Now that’s excluding any states that occur while the /OE is HIGH. I personally don’t feel those should be included as the chip should be in high impedance mode. Others may completely disagree with me but that’s fine, I can see both sides of the argument. There is a new version of the software on its way that allows the user to specify and output enable pin and state so any test results will be ignored if not in the correct state.
Anyway, finding and saving all these states from a working chip in circuit is going to be a massive task. Given the relatively simple operation of the 245 it was easy enough to procedurally generate all 512 valid logic states which is what this program does.
I will add more chips as I get around to it but doing this procedurally gives me a ‘complete’ state map for a particular device.

Now, back to my first program. As anyone that visits this site will know I’m heavily into PAL chip dumping. Due to the way we ‘dump’ these PAL chips I end up with a binary files of all possible logic states for any given address. Using this binary file I can now create a state map for the tester so any compatible 20 pin PAL/GAL/PLS chip can be tested in circuit. Adding to the functionality of that it now also supports the 82S123 PROM. More devices will be supported as I get around to them as well.

I’ve spent a lot of time recently working on these files, much more time than i’ve spent actually troubleshooting with it but I think the end result will be worth it and hopefully everyone that uses one of these can benefit from it.
The files I create will be available from the relevant area in the downloads section once it has been created.

 Posted by at 2:14 pm