Saturday, January 19, 2019

Conversion of the NTSC Commodore C16 to PAL

So the catalyst to this whole "learn EPROM programming" project has been to convert my recently repaired American Commodore C16 to PAL video standard.   Back in the day, before HDMI, video standards were very different for American and European machines.   Trying to run software designed for one region of the world would usually not work, or at least not work well.

The Commodore C16 really didn't sell very well in the United States because of the Commodore 64's pre-established success at when the C16 was released.   It wasn't compatible with the C64's hardware or it's software.  It lacked the SID (3 voice sound chip of the C64) and it's cost-reduced design intended for business use also lacked sprite capability.   It does however have 121 colors. (The Commodore 64 has 16) and did in fact have a very good software library developed for it, in Europe.  (PAL standard)

So time to upgrade the Commodore C16 to PAL using skills learned hours ago....



First up is the replace the NTSC video crystal, a 14.31818 with a 17.734475 (digikey part# 300-6038-ND)




The original crystal carefully removed.











Replaced with the new 17.734475











Naturally I also had to re-program the 27128 EPROM with the PAL version of the kernel.
(Bo Zimmerman's FTP site to the rescue here)   Read older entries for how/why.

.... and ...


A working PAL Commodore C16!


Keep in mind that if you do this mod, you need to have a screen capable of handling the PAL signal from the Commodore C16.   I'm using a Extron DVS 204 Digital Video Scaler which accepts both NTSC and PAL S-video signals and converts them to VGA.   I'm using a MAG VGA CRT monitor which makes the signal look great.

Time to put this machine back together and grab some 16k PAL games to play while it continues to snow.


Programming a replacement NTSC kernel rom.

So the first project is to program a replacement NTSC kernel rom for my recently repaired Commodore C16.   This step will simply replace the original NTSC kernel from Commodore with a programmed EPROM.   The idea of this step is to insure that I'm programming the chips correctly.  (and not breaking a working computer.)

I downloaded the NTSC kernel from Bo Zimmerman's FTP page (Thank Bo!) and noted that it was a 16K file meaning that I'll need to use a 27128 (128 / 8 = 16k) chip.

In less time that it takes to update this blog.   It worked!

Replaced 318005 located at U4 with the programmed EPROM.

Information for this was located in the Commodore C16 Service Manual, page 4 and page 5.  (Thanks to Plus4World)

I'm reasonable sure that at this point I could replace the BASIC rom as well, and even add JiffyDOS by simply locating the correct .BIN files and making new EPROMS.

I'm not really seeing the need for JiffyDOS as the programs this machine can currently load at 16k max and they load reasonably fast already.

Looking at the .bin, it looks like I could easily change various text items to customize the look of the boot message, errors, etc.

Lesson's learned so far:

Clear buffer before programming.
Program & Verify chip.




Next up.

Re-program the kernel rom again, this time with a PAL kernel and replace the crystal with one sourced from digikey to support the correct video output.


Day one


Day one:  Weather forecast: Weekend Winter Snowstorm

Packages containing the Willem Eprom Programmer and various EPROMS arrived yesterday.   I purchased the programmer with cable from Ebay seller mcutools.   They have already proven to be good communicators with good answers and advice for several pre-sale questions.   The package arrived reasonably packed with programmer, cable, and CDROM containing the software and manual.  He has also provided a support email address in case I get stuck.


The web-based manual appears to provide "just enough" information to get started and the root folder of the CDROM contains several quick reference pictures that clearly answer what are probably common questions.   The only simple thing that was not obvious to me was the correct seating of the chip in the ZIF socket itself.   I own another programmer which has you seat the chip toward the top of the programmer with extra space in the socket at the bottom.   This programmer seats the chip at the bottom of the socket with an extra space at the top. 

So far this morning, I've managed to properly set the switches and confirm that my EPROM eraser is doing the job with 20 minute erase times.





I've installed the software on a pre-prepared Windows XP box at the advice of the seller.   Since this programmer requires an old fashion LPT (printer) port this is something that you need to plan for.  As I'm a computer technician by day, I've got tons of spare parts, systems, etc.  So not really a big deal for me.

At this point I've learned the following commands in the software:


  • Setting the switches/jumpers using the picture provided when you choose the right chip.
  • Check hardware (under Help) shows you the programmer is being seen by the PC.
  • Clear buffer (sets the buffer in the software to zeros)
  • Read Chip (reads what is on the chip.  An erased chip shows all FF (or 1's)
  • Blank Check (confirms that the chip is blank.)
Next up, I'll attempt programming a 27128 (16k) chip with the NTSC kernel for the Commodore C16 and see if I can replace the original kernel chip with an EPROM.


Thursday, January 17, 2019

UV Eraser Arrives First

The EPROM UV Eraser arrived first.   Bought from a semi-local seller on Ebay, who then shipped it from his Amazon prime account.  (Didn't think to check Amazon for this) -- He made a couple dollars by drop-shipping the item.

I've located a few more EPROMs that have been kicking around the shop so I've added a few more 8k, 16k and 64k chips to be erased.

I've also learned that to determine the size of the EPROM, divide the last digits of the printed on the EPROM by 8.

2764  =  64 / 8 = 8k
27C128 = 128 / 8 = 16k
27512 = 512 / 8 = 64k

Dropping a few into the eraser today at 6.  We'll see when the programmer arrives if they still function.

Tuesday, January 15, 2019

Bunch of hardware ordered.

Initial research done and orders placed.

Here's what is on it's way this direction:

KEE Willem EPROM programmer/w LPT Cable.


This the 5.0 version which should be right for the EPROMs I'm looking to program. These have a reputation of not being perfect, but are cheap and generally get the job done.







EPROM Eraser Drawer:

The EPROM eraser is a must, that is unless I want to leave them outside in direct sunlight for 3-4 weeks.   The sunlight levels in Ohio during the winter would probably mean 2-3 months.  This should get the job done within an hour or two.







The following EPROMs have also been ordered:


* several 27256 and 2764A


Now it's time to wait for parts to arrive.

Learning EPROM programming.

It's been a long time since I've posted to this blog. It's overdue. Thanks to some birthday money contributed by several members of my family this year, I've invested in a few interesting pieces of *sort of* retro technology to learn something new:

  EPROM programming. EPROMS are UV erasable chips which were common in computers more than two decades ago. The goal of this learning project is as follows:

  * Program a replacement EPROM to replace the NTSC kernel with a PAL EEPROM in my Commodore C16 computer.
Along with a crystal replacement, this will allow the machine to play PAL (Europe) games.

  * Program a PIC chip for my WII to ATARI adapters. 
Not an EPROM, but this programmer will also program the PIC chips required for that project that was set aside when my existing programmer was incapable of doing the job.

  * Program a C64 JiffyDOS kernel for one of my Commodore C64s.
Technically, I have an EASYFLASH 3, with a virtual version, but it would be nice to say I've done this successfully.

  * Program a C64 cartridge game of some type.

  * Program replacment HI/LO EPROMs for my Commodore Plus4 with some useful software.

I've had to piece together a lot of information from various sources, so hopefully this blog will help someone else who decides to explore this somewhat lost art.   I suspect I will make mistakes along the way, so read everything to make sure I've not followed up with corrections in a later post.  More to follow.