Shoestring

Sep 252015
 

This is one I fixed some time ago but still worth posting here.

Problem 1: The display would exhibit streaks of grey lines mostly around sprites as the pcb warmed up & progressively get worse over the period. Symptoms would sometimes completely disappear after 10-15 minutes.

Note the grey lines around the sprites.

IMG_1387IMG_1424

After inspecting the board there didn’t appear to be any bad connections. I suspected an intermittent component fault.

I didn’t have any freeze spray so I cooled off suspect chips ( I used some ice wrapped up in a sealed plastic bag to avoid any leak )  and found cooling the transistor @ Q4 on the video board would reproduce the above problems. I replaced the faulty 2sc1815 transistor at Q4 on the video board which cleaned up the video sync signal.

Problem 2: Game boots sometimes, other times it does not start and boots to junk. 

Probed 6502 address pins, found that all were stuck high whenever the game failed to boot. All other signals looked OK. I tried substituting the main CPU for the sound CPU ( a  6502 as well ) but the symptoms were the same.

I traced the RST signal from the CPU to a 555 timer. There appeared to be a problem with pin 8 from the inverter at 9C to the trigger of the 555. Whenever the game booted to junk pin 8 of the inverter was floating & my logic probe was not registering the normal RST behaviour you would expect. I suspected a bad LS04 at 9C and planned to replace it.

Removed the LS04 at 9C. Pin 7 which is the ground pin was crushed under the IC. In other words it completely missed the plate thru hole ( it was blocked with solder ) during manufacturing and wasn’t making good contact with the ground pad. This game would have been faulty since the day it left the factory & explains the chip’s intermittent behavior.

Re-installed the inverter & re-tested with good results, no more booting to junk!

Sep 232015
 

24/09/2015

A09 Konami-1 v1.4 update ( enhanced )

This is the final version unless some major bugs are found. I really can’t think of any other features you would want in an assembler.

  • RESET & IRQ vector support via -r & -i command line switches
  • Specifying -r or -i switch automatically pads binary to nearest multiple of 8kb
  • Creates multiple binary files from target for easy deployment to EPROMs ( max 8*8kb files )

The source code within the following archive contains original code which is copyright under the GPL2 & BSD3 licenses.

Please see comments in a09.c & konami1.c for license details.

Version: A09 v1.4

1.4

25/08/2015

A09 Konami-1 v1.1 update ( enhanced )

In this version the following improvements have been made

  • Source lines increased to 256 characters
  • Symbols increased to 32 characters
  • Use of underscored permitted in symbols
  • Symbol table is generated dynamically, previously it was limited to 2048 labels

Source, Windows & OSx64 executable provided in the package which can be downloaded from Programs/Software.

Thanks and credit goes out to Cmonkey for the first 3 improvements.

Version: A09 v1.1

v1.1

12/07/2015

If you’re reading this again at some point in the future then chances are you’ve discovered the following error message and want to fix it.

Sorry, no storage for symbols!!!

The A09 assembler has a maximum limit of 2048 labels hard coded by default which is definitely not enough if you want to re-assemble 6809 source from some of the konami1 games, dis-assembly can easily exceed 2048 labels.

#define NLABELS 2048

Modify the above value of 2048 in the source to your desired value and compile using the following command line. I increased mine to 100,000 as memory is not an issue these days.

gcc -o A09.exe A09.c konami1.c

9/7/2015

To get people who are interested started in home-brew apps on the Konami-1. I’ve included a very basic hello world asm source example which I’ve added to the download package. Produces the following output on a Track & Field PCB in SOCKET1A. The game EPROM A5 must be in SOCKET5A for this to work as the reset vector to the ROM A1 is obtained here.

Normally, your home brew code should be modified to start from 0xe000 and installed in SOCKET5A on the track & field pcb. The binary should be padded out to 8kb and the reset vector can be set to e000 from offset fffe in the produced binary using a hex editor.

7/7/2015

This assembler is based on the original A09 assembler sources written by L.C. Benschop which can be found here at https://koti.mbnet.fi/~atjs/mc6809/

This is a modified version of the above source that encrypts op-codes in order to run code on the Konami-1 CPU. This was the custom 6809 CPU used in games such as Gyruss, Track & Field, Circus Charlie, Roc ‘n Rope..etc.

This will allow for home-brew apps to run on the Konami-1 CPU without the need to encrypt op-codes by hand. The code uses the konami1_decodebyte() as found in the MAME sources, this function handles the op-code encryption for the Konami1.

Version: A09 v1.0

k1

 

 

 

 

 

 

 

 

Jul 182015
 

18/07/2015

  • Added support for Atari licensed version
  • SFX counter broke after exiting character menu and re-entering SFX menu
  • Wrong ram associations with pcb locations now fixed.
  • Holding down player 2 start during power-up enters diagnostic mode

Important: Porchy discovered that 0x1 needs to be written to 0xc308 or nothing shows up on the screen at all on a PCB. This was undocumented but now we believe the value 0x1 must be written during initialization of the screen. The latest release addresses this issue. Thanks to Porchy!

To fix: Some sounds still play after exiting SFX test to main menu.

Note: Diagnostic mode relies on good RAM and ROM for configuration data to facilitate the support of multiple Time Pilot versions in the one ROM. Do not rely on results from the diagnostic mode without sorting out issues associated with RAM and ROM first.

0000

21/6/2015

The EPROM ( a 27c64 ) once burned with this software installs on the CPU board @ 5H and can stay in there permanently if so desired.

Performs tests of the RAM & game EPROMs on the CPU board. This supports Konami and Centuri versions of the software, bootlegs are not supported yet.

Also has a built in diagnostic mode for testing inputs, sound output and displays character & sprite tables. The diagnostic mode is accessible via DSW2. All dips must be on except for dip 3 to access the diagnostic mode of the program.

Would like to thank cmonkey for providing me with technical info which assisted me in being able to display the sprite & character tables properly. Also like to thank the MAME team for their hard work on the emulator which I used as a tool for debugging/testing purposes throughout the development of this program.

See downloads in ROM Files for the binary.

000300000004

000100060005

 

Gyruss test/diagnostic rom update

 General  Comments Off on Gyruss test/diagnostic rom update
Jun 302015
 

16/03/2018

Minor fix.

Text references 8C instead of 19E when sub-cpu EPROM fails checksum.

Fixed output to reference 19E.

04/07/2015
Minor changes.
1.Holding down player 2 start during powerup will enter the diagnostic mode.
2.Some changes made to the presentation of the sprite viewer

0007

30/6/2015
This update includes character and sprite test menu additions to the diagnostic mode.  Useful for verifying bad tiles and sprites.
See roms section / downloads for update.

0003 0005 0004

Jun 242015
 

23/6/2015

In my previous repair I replaced a single capacitor to get the monitor working but this fix would prove to be temporary and only last a couple of months before something would go horribly wrong. The monitor is over 20 years old after all, so that was to be expected.

Several weeks ago I observed the monitor switch off for a split second and then back on, I thought this was strange but I knew something inside was on the way out. Since then strange lines would appear on the screen for a few minutes after power up.

And more recently, I was in the middle of playing SSF2 when the monitor totally crapped out on me all of a sudden, the screen went blank and the power led went off. There also was a high pitched whine coming from the monitor which is common when the FBT dies in these monitors, or so I read on the various C= forums. When powered off the high pitched whine would gradually decrease in pitch until it was no longer audible.

On to the repair. After opening the back of the monitor it was important to take the necessary precautions. All parts and tools were placed against the wall away from my work area ( the floor )  to create a safe working environment and prevent injury or damage to any components. I don’t have a large enough work bench so this was the best I could do with what I have.

 

IMG_0132

Tools used for this repair

  • flat head head screwdriver, automotive gauge wire & alligator clips ( used to discharge the CRT )
  • 240v 60w globe – series light bulb trick ( used to limit current ). 100w would have been better but I couldn’t find one.
  • DMM
  • Goot soldering station
  • Goot solder pump
  • 60% tin 40% lead solder
  • Plenty of coffee & biscuits were consumed in the process

 

The next step was to discharge the CRT to avoid electric shock or worse. See my previous repair log for information on discharging CRTs. There is a link to a video by John’s Arcade which takes you through all the necessary steps to safely discharge it. Please do not do this if you are not confident or competent. You can get a nasty shock!

CRT discharged and anode suction cap removed from the tube. Discharging takes a fraction of a second with the screwdriver & attached wire from the screwdriver shaft to chassis ground of the monitor. Wait 10-15 minutes and repeat the discharging process to be safe or you can allow the flat-head screwdriver to maintain contact with the anode cap terminals and walk away for 15 minutes and do something else for awhile, like make a cup of tea or coffee.

 

Once discharged I then completely removed the FBT ( AT2079 37591 ) & the HOT ( horizontal output transistor – D1577 ). I also removed the neck board from neck tube which is required.

I wanted to test the power supply under some load. I soldered a 240v 60w lamp to the b+ ( to live ) and ground ( to neutral ) at the pads of where the FBT was installed. Pin 3 is b+ and pin 11 is ground.

At least the power supply section looks good with the load. I measured 130vdc across the cap at 2451.

IMG_0140

I decide to look at the HOT which can also fail and take out the FBT in the process.

The D1577 HOT looks good to me but I have already ordered a spare just in case I need them. The BU508A is also suitable and was actually used in the same model. I ordered the BU508A

6

I’m confident the flyback is bad. I ordered a hr7533 ( which is a suitable replacement for the AT2079 37591 ). Since I am in Australia I found a supplier of the LOPT at Wagneronline instead of ordering from abroad which is handy for us Aussies if you happen to be one and are reading this. https://www.wagneronline.com.au/hr7533/9/ps/

If you have the earlier version of the 1084 shown below with the on/off switch on the front ( 1084S-P ) then the replacement flyback is the hr7506 which Wagneronline stocks as well.

Commodore_1084S-P_small_ebay.de

 

24/6/2015

Wow that was fast shipping, 1 day from Sydney. So I really couldn’t wait to start working on the monitor this afternoon.

IMG_0151

The next step was to remove the wires from the FBT to the neck board. To do this I had to de-solder and remove the RF shield first.

IMG_0152

One of the wires from the old FBT to the neck socket snapped, so I had to remove the neck socket from the panel to remove the broken wire, no big deal 🙂

IMG_0153

The socket had to come apart to get the small piece of wire out. With patience I succeeded in getting the wire out without destroying the socket.

IMG_0154

After re-assembling the neck panel and soldering the two wires from the FBT to it, I soldered the 7 pins of the FBT to the main PCB. Then soldered in the new HOT and attached the clamp which holds the HOT in place so that it has good contact with the heat-sink, getting the HOT into that tight space was difficult and frustrating to say the least but I succeeded eventually.

IMG_0157

Moment of truth has arrived. I powered on the monitor with SSF2 running and was delighted to hear no high pitched whine sound however, the display was so bright that the CRT was blinking. I adjusted “screen” on the flyback until the blinking stopped and I could see faint text on the screen. I put the game into test mode and selected the dot hatch pattern and tweaked “focus” until I could get the display as sharp as possible. I then adjusted the “screen” to get the brightness where I wanted it & then finished off by tweaking “focus” once again.

 

IMG_0158

Happy with the results. The strange lines I described earlier are now gone and the display has never looked better. I re-assembled the monitor and I plan to play a few more rounds of SSF2 tonight.

IMG_0160

Thanks to caius for helping me with this repair.