Shoestring

Feb 212020
 

21/02/2020 10:59 ( AEST )

I’ve been meaning to update this page for awhile but work and life has got the better of me.

If your Track&Field/Hyper Olympic has the following layout then you have unencrypted roms and you will need this updated version of my diagnostic to run on this particular board.  Note that this version will not run on boards equipped with a K1 cpu ( 42 pin custom IC ) or a game ( usually a bootleg ) with daughterboard that has a 6809 processor onboard, the daughterboard version also has some extra logic associated with it to decrypt/unscramble the opcodes.

Note: The board does not have a K1 CPU but uses a standard 6809 processor to run the game. Decryption related circuitry is also absent from this version.

I have prepared a version that will run on this board.

 

See TEST VERSION 1.2 – Unencrypted for download

9/02/2017

TEST 1.2 is now the current version which installs in socket 5A on Konami and Centuri versions.

  • Fixed detection of ROM A7 [ $9E99 ] ( Hyper olympic bootleg) which broke in TEST 1.1

See TEST VERSION 1.2 for download

21/08/2015

TEST 1.1

This is a test release.  A BETA version will replace it and this post will be updated pending sufficient feedback. It has been reported by one tester that this version works on real hardware but more feedback is desired.

IMPORTANT: The diagnostic EPROM now installs @ 5A on the Centuri and Konami boards. For the Hyper Olympic bootleg install the EPROM @ A7 and for the NZ bootleg install @ 2A.

This frees up 4 sockets for verifying game EPROMs instead of only 3. Since 5A is mapped to 0xe000-0xffff and the reset vector is obtained at 0xfffe/0xffff, it made sense to move the test rom to this socket.

See TEST VERSION 1.1 for download

test 1.1

IMPORTANT: All versions below install in socket 1A

18/08/2015

Bullet points represent items fixed in the current version.

BETA 1.3 is current.

  • ROM A1 FOUND! text missing when generated check-sum verifies successfully in socket 3a & 4a.

TODO: Future versions will install in socket 5a. The main reason for this change is to ensure the test rom boots since the 6809 obtains the reset vector from EPROM A5 ( 0xfffe ), there is a chance that the reset vector could be corrupted if the game EPROM A5 is bad. Moving the code to run from socket 5a will prevent such an event and also make the first 4 sockets available for verifying an A5 EPROM or any others.

 

See 1.3 for download CHK: F3E9 CRC16: 1421

16/08/2015

BETA 1.2

  • Further checks suspended if video ram/colour ram is bad. Priority given to preserve NVRAM/high scores. ( worst case scenario – screen totally unreadable ).
  • Introduced audio alert. 5 beeps for bad video ram 12H, 6 beeps for bad colour ram 11H.
  • Provided work around to keep tiles on screen if scroll ram is detected as bad.

See 1.2 for download CHK: F3EB CRC16: 5695

Special thanks goes out to Purity on UKVAC for his help with testing and feedback.

1/08/2015

BETA 1.1

  • Fixed SFX menu. Speech now plays from sound index 0x80

If you believe there are missing sounds please report them in the comments.

See 1.1 for download CHK: 9909 CRC16: AB36

30/7/2015

BETA 1.0

  • Bootleg rom support added ( see hyprolymb from the MAME set )
  • Fixed watchdog reset issue during EPROM check routine
  • Fixed character bank bug ( was displaying extra bank of null tiles )
  • Added CRC of current software to version string ( calculated at runtime )

BOOTLEG – HYPER OLYMPIC ( hyprolymb )

ROM A1 $9E99
ROM A2 $35E8
ROM A4 $2FDC
ROM A5 $7DD2
ROM A7 $F932

TODO: Fix SFX test in diag mode. Speech is not playing.

See 1.0: CHK: 9F7E CRC16: 2F6F

26/07/2015

BETA 0.9

  • Support for Hyper Olympic roms added
  • MISC code improvements

See 0.9 CRC16: 70E6

0000

See below for correct 16 bit checksums matching your set.

Pre-calculated ROM Checksums.

KONAMI – TRACK & FIELD

ROM A1 $9F6E
ROM A2 $3620
ROM A3 $2FA5
ROM A4 $7CA6
ROM A5 $FEEB

CENTURI – TRACK & FIELD

ROM A1 $9DBE
ROM A2 $3CA7
ROM A3 $17C8
ROM A4 $569E
ROM A5 $E991

KONAMI – HYPER OLYMPIC

ROM A1 $9E79
ROM A2 $35E8
ROM A3 $2ECE
ROM A4 $7DD2
ROM A5 $F932

25/07/2015

BETA 0.8

  • Support for Centuri roms added.

See 0.8 CRC16: 9EBE

24/7/2015

BETA 0.7

This EPROM installs on the CPU board @ 1A. This does not replace the original software in 1A but is only used as a means of testing the main-board, sound and video.

Diagnostic mode is accessible by holding down player 2 start whilst powering the game on.

In the normal mode ( power up tests ), nvram tests may be skipped to preserve high score data if so desired. This is done via DIP 8 of SW2. A ~10 second countdown is also included even if you desire to test your nvram, in this mode nvram tests may also be skipped by pressing the “player 1 button 1”.

Power up tests also include a rom utility. This currently identifies track & field software in any of the 3 available sockets ( 2A to 4A ). For example, an A1 ROM installed in any of the above available sockets will still be identified for its designated 1A socket.

Important: A5 ROM needs to remain in socket 5A, this is because the 6809 obtains its reset vectors from this ROM. If the test rom or game fails to start and the screen is full of zeros, verify the A5 rom manually. 

Note: That this is a very BETA release and is currently in the testing phase, bugs are expected. Use at your own risk if you love those high scores.

See 0.7  CRC16: 8C8A

Apple IIe repair log – bad ram

 Computer Repair Logs, Repair Logs  Comments Off on Apple IIe repair log – bad ram
Aug 262019
 

I recently received this Apple IIe PCB from the U.S to try my luck on salvaging the 60hz IOU and using it in my International NTSC board in the hopes of getting colour which I did successfully in my previous post. This board was advertised as untested, so that normally means “DEAD” and I assumed so.

 

 

Taking one look at the RAM suggests there were issues in the past and most likely still issues. We have some original mT ( Micron ) / Apple branded DRAMs mixed in with the various replacements. Micron don’t exactly have the best reputation in regards to reliability so this is definitely a red flag. These were used by Commodore, Atari and obviously Apple as well. I guess they were cheap!

 

 

Based on the excellent condition of the board I was happy and confident in firing it up. It displays some kind of RAM error but it’s not very helpful, definitely not as helpful as the reporting in the Enhanced IIes built in diagnostic. I don’t have a choice but to go through and check each DRAM individually.

 

 

My TopMax helps me find 4 bad DRAMs of the 8. Three of which were Micron ( expected! ).

 

Dead RAM chips on the left clearly marked  to remind me that these are dead and not to be mixed up with working. These will come in useful for refining my Atari 8bit diagnostic tool.

I temporarily replaced the dead RAM chips with known good Micron pulls from my friends Atari 800xl. But I do have some NOS TMS 150ns chips that will be going in shortly.

 

Replacing the RAM confirms the fix.

 

It’s nice to have a second board ready to go if I need it, and the fact that it’s a non enhanced board with everything socketed is a plus.  I’ll be looking at converting this over to enhanced at some point via a enhancement kit which involves a 65C02 and newer roms for Apple IIc compatibility.

 

Apple IIe enhanced ( Platinum ) – NTSC 50hz to 60hz conversion

 Computer Repair Logs, Mods, Repair Logs  Comments Off on Apple IIe enhanced ( Platinum ) – NTSC 50hz to 60hz conversion
Aug 252019
 

The final revision of the exported Apple IIe and Platinums use the International NTSC PCB, this ships with a very odd 50 hz NTSC configuration. The stock motherboard is fitted with a 14.238Mhz and requires the original 50hz Apple IIe Color Monitor to display a non monochrome picture on the screen. A standard 60hz capable NTSC monitor or 50hz PAL monitor ( as expected ) fails to pickup the colour on these machines due to some odd Hybrid combination.

Unfortunately my Apple Color monitor has a dead flyback and all efforts to source a replacement or substitute part went nowhere so I had to find an alternative. One alternative is using a PAL / Color encoder card but these are rare and expensive whenever they turn up.

The theory to get colour involves changing the crystal at Y1 from 14.238Mhz to 14.31818MHz, this is logical and seems to work for most people who have tried this modification. One of the issues surrounding the crystal has already been discussed at length on the various forums, it must have an ESR of 25 ohms and not any off the shelf crystal will do apparently. Most people have had success using the specific type of crystal with the right characteristics, unfortunately I have not. After changing the crystal at Y1, I still had a black and white display on all my monitors ( Sony PVM, Philips & TEAC LCD  ) which are capable of displaying 60hz NTSC in colour.

The PVM and my Commodore 1084s PAL monitor ( Philips made ) had no issues with locking on to sync despite the black and white monochrome picture ( expected in the 1084s case ). My Philips LCD still interpreted the signal as PAL even after changing the main crystal. In fact the signal was not stable and both LCDs were struggling to lock on to sync permanently, with the picture slightly shimmering or going completely out of sync for at least half a second ( as in the TEAC’s case ).

 

This has left me scratching my head as it appears that ALL my monitors were very picky , yet other people had success.

The Technical Reference Manual, in chapter 7 states that the IOU ( input / output unit ) handles and generates the video signals, video blanking, horizontal  signals via some internal counters.

http://www.applelogic.org/files/AIIETECHREF3.pdf

There are several different versions of the IOU but information out there is rather confusing and in some cases incorrect and that’s something I’d rather not cover at all. The NTSC International and even the PAL models use a very specific version of the IOU not found in the non export, U.S versions.

  • IOU 344-0022 ( used in International NTSC 50hz and PAL models ).
  • IOU 344-0020 ( NTSC 60hz ).

I had an idea to swap out the original 344-022 IOU for the 344-0020 and I took my chance on a non tested earlier IIe PCB.  Thankfully only 4 RAM chips were bad ( mostly Micron, surprise surprise! ) which I’ll cover in my next repair log. I very carefully remove the original IOU, installed a machined pin socket and swapped the IOUs over. The original IOU still works in the other IIe after all that surgery ( Phew! ).

At some point later on I had to replace the RAM as well most likely caused by accidentally handling static prone devices without an anti-static wrist strap ( whoops! ). Not to worry, I have plenty of spares.

 

The results with splendid colour on my PVM!

 

And a valid NTSC signal on my Philips LCD ( Karateka in action! )

 

Conclusions: It was suggested the possibility that the original IOU was damaged or partially faulty ( I have to keep that in mind ) but I’ll never know unless someone else confirms the same or I can get my hands on another IOU ( 344-0022 ). I previously had the same exact issue in another IIe before I sold it, however I was using FOX143-20 branded crystals ( which have an ESR of 40 ohms ) at the time rather than the proven to work ones below which have an ESR of 25 ohms.  I still have my FOX crystals on hand, so at some point I’d like explore those again and see if colour is still possible given I’ve swapped the IOU over to the 60hz version.

 

The following crystals have been proven to work.  Still no colour on your International NTSC board  ? Try a different IOU by substitution.

ECS-143-S-1

ECS-143-S-1X.

These can be found at the link below.

https://www.digikey.com/products/en?keywords=ECS-143-S-1

Shoestring’s Atari 8bit ram tester

 Computer Repair Logs, General  Comments Off on Shoestring’s Atari 8bit ram tester
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 in the 0x800 to 0xBffff memory region ( 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 diagnostic tool 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 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. I am currently further testing and investigating  more reliable solutions.

To Do – In future version.

  • Wre-write the code regarding the reporting side of things and not totally rely on 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

Download link 1: a8diag1-6.rom

Download link 2: 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.

 

Atari 800xl repair log #2

 Computer Repair Logs, General, Repair Logs  Comments Off on Atari 800xl repair log #2
Jun 022018
 

Although I grew up with a Commodore 64, I have a soft spot for Atari 8 bit machines. My mission in life is to save them all from going into landfill.

I spotted this grimy Atari 800XL on Gumtree very recently as untested, it came with an Atariwriter Word Processor Cartridge. I met the friendly chap selling the item and we did the exchange for the computer at Town Hall steps, which is a popular meeting place in Sydney.

Taking the machine apart, I was happy to see that the machine was fully socketed and that the PCB was in excellent condition despite it needing a good clean. Actually, I was expecting a fully socketed machine because it was made in Hong Kong just like my 600xl was. Another pleasant surprise was the brand of DRAMs used ( OKI ) instead of the mT variety, which have a bad reputation for reliability and were used extensively in the Atari 8 bit and C64 line.

I had a close friend of mine over after work and we went through the troubleshooting together. Unfortunately, not much happens after power it up. A black screen most of the time and sometimes an intermittent picture, obviously this is a sync issue.

Sometimes I manage to get a screen that looks like this. This is a good sign. At least I know the CPU, ROMs and DRAMs are working to some extent to produce this screen.

 

Luckily I  have a fully socketed 65XE to swap parts to and from.  I also tried a known semi good GTIA which was bad on one output only but produced a nice clean picture in a working machine. The GTIA is responsible for generating the luminance, color and csync signals to produce an image to the screen.

Replacing it doesn’t change a single thing so I consult the schematics, the signals go directly to a hex non inverting buffer ( 4050 ) so I switch my logic probe to the CMOS setting and start probing the chip. Output 6 ( lum0 ) is good, lum1, 2 and 3 were all bad and all outputs were floating. I wanted to check the CYSNC line (  composite sync ) and that was also floating ( no signal at all  ).

I short the input and output pins of the 4050 ( pins 14 & 15 ) with my logic probe briefly which restores the picture to the screen.

Replacing the chip completes the job!

Now onto the next challenge, cleaning the motherboard and case!