KiCad Design Files for the LH5801 Sharp Microprocessor

I’m currently working on a custom development board, based on a quarter of a century old microprocessor, the Sharp LH5801. This microprocessor is the heart of the Sharp PC-1500(A) Pocket Computer, also known as Tandy TRS-80 Model II.

I’ve got plenty of documentation on the processor and the Sharp PC-1500, but what I did not have was a spare processor to play with. Recently, I got hold of a dozen of them, so no excuse anymore for not playing with them. 🙂

I started the design process by measuring out the package size in mm and wondered about the strange results I got… Well the size of LH5801 package is – bang on – 0.7 inches. It also has an odd number of pins for such a package size: 76 pins. Both make it pretty impossible to use the standard footprints provided by various package libraries. At least a short round of googling for packages for Eagle CAD or KiCad was unsuccessful.

So I had to design my own footprint which was smoother than expected. I used a already present layout with the correct footprint pitch and adapted copied/adapted the pins.

The part was made with KiPart (based on a CVS table).  The pin description and layout was taken from the Sharp PC-1500 Technical Reference Manual.

The resulting KiCad part and footprint is in my Sharp PC KiCad Library at GitHub.

Sharp PC ROM File Collection (with Hashes)

This short post is to document Sharp PC ROMs I’ve come across so far. I’ve used MD5 and SHA1 checksums to allow their comparison. It would be nice if you could notify me of any ROMs out there that do not match the ones documented here… In an earlier post I’ve described a simple way to dump the ROMs.

  • Sharp CE-150
    Serial 31015xxx
    Memory Area A000-BFFF (8 kB)
    MD5 eb9aa5156c6849890b137799efc50a4b
    SHA1 a3aa02a641a46c27c0d4c0dc025b0dbe9b5b79c8
  • Sharp PC-1500
    Serial 20007xxx
    Memory Area C000-FFFF (16 kB)
    MD5 fbc55a9a8743e619b7709721ff5bcbff
    SHA1 d706d2e69cabbbbbe24f708cb3bc921fa1a2b704
  • Sharp PC-1500 / Sharp PC-1500A
    Serial 20011xxx (Sharp PC-1500)
    Serial 31070xxx – 57012xxx (Sharp PC-1500A)
    Memory Area C000-FFFF (16kB)
    MD5 8ebec8b0ef358645df14807c31df7d06
    SHA1 51a9e37a670b6cf199f0814e96a7e4fda6f44b60

Feel free to contact me and provide me with ROM file I do not (yet) have in my collection. I will also try to make the ROM files available in the next weeks.

Sharp PC-1500/1600 ROM Dump Method 2: Desoldering the ROM Chips

To make it clear from the beginning: this is a (possibly) destructive method of reading ROM chips. The process of extracting and possibly a resoldering of the memory chip might fail. In my case I’ve tested it on two Sharp CE-150 PCBs I’ve declared to be spare parts. It is only a proof of concept as there are simpler non-destructive ways of ROM extraction on a Sharp PC. I was just curious and so I’m describing my experiences.

Well… At first I did not want to desolder the ROMs: I started with the intention to use a set of probes attached to the individual pins of the chip to read the content of the Sharp PC / CE ROM chips. This did not work due to the narrow leg distance of the QFP chips (0.8 mm).

Probe Connection Problem

Desoldering QFP chips can be done rather quickly with a hot air gun. At least that’s the most comfortable way I know of. I usually add some flux and in some cases larger quantities of leaded solder. The latter decreases the melting point and speeds up the process. I don’t care about solder joints as the chips and the pads can easily be cleaned after the removal. Excessive amounts of solder can be removed with flux and a clean soldering iron tip.
Continue reading

Sharp PC-1500/1600 ROM Dump Method 1: Audio Transfer via CE-150 Extension

In this post I’m describing a method which is widely used to Dump RAM and ROM images on Sharp PC-1500 and PC-1600 systems. This method is non-destructive and can be used on most Sharp PC ROMs and extension cards. It only requires a Sharp CE-150 extension, an audio cable, and a computer with a microphone input (i.e. sound card).

Besides a plotter, the CE-150 Color Graphic Printer also provides two audio interfaces (line-in and microphone output). These were (and still are) used to transfer code or data between Sharp PCs and tape recorders. Today, such recorders are mostly outdated but the method works nonetheless with sound cards. Software tools are freely available (e.g. pocket-tools) that allow the transformation of recorded audio files into binary dumps and even further into BASIC code.

Continue reading

Sharp PC 1500/1600 Schematics Collection

To facilitate the access to Sharp Pocket Computer schematics I’ve started to collect and mirror some of them on my web site. This should allow Sharp PC 1500/1600 enthusiasts to update, modify, and especially to repair their hardware.

The Sharp PC 1500/1600 series are obsolete hardware. Their schematics are already freely available on the internet and therefore considered to be in the public domain. Please inform me if you own a copyright on some of this material and do not want it to be available on my web site.

HIF6A-60PA-1.27DS as Replacement for JAE PICL-60P-LT Sharp-PC Connector

Needing a replacement for the long ago discontinued Sharp-PC connector JAE PICL-60P-LT, I dug through a lot of datasheets and finally found a pin-compatible one:

Hirose HIF6A-60PA-1.27DS – Datasheet
Hirose HIF6A-60PA-1.27DS – Digi-Key Link

The connector fits good enough for my purposes. If necessary removing a bit of the plastic case left and right of the pins improves the connectivity as the replacement connector is a bit broader.

There is also a version with mounting holes (HIF6B-60PA-1.27DSL) which I will also try to get my hands on (currently not in stock).

My original solution was to use a 2×30 1.27×2.54 pin header as shown in this post, but the narrow space between the pins led to serious constraints in designing a new interface board (more about that when it’s ready).
HIF6A-60PA-1.27DS JAE PICL-60P-LT 1

Reverse Engineering a Sharp CE-160 Cartridge

I wanted to make a small tutorial on how to reverse engineer old PCBs, in this case how to trace the vias of a Sharp CE-160 cartridge.Disassembly of a Sharp CE-160 cartridge

Disassembled Sharp CE-160 cartridgeAfter disassembling I’ve made photos of both sides of the cartridge:

Sharp CE-160 - Top layerSharp CE-160 - Bottom layer

The following step was inspired by an EEVBlog tutorial on reverse engineering a Rigol DS1054Z. The two photos were then aligned (photoshopped) to fit onto each other when printed. One of the two layers needed to be mirrored, and it took a bit to align all vias. Luckily the two photos was taken with a tripod from the same angle. The result was printed onto plastic photocopy foil.

Sharp CE-160 - Top and bottom layer overlay Sharp CE-160 - Printed top and bottom layer overlayThis allows tracing the routes from both sides, including the vias.

In some cases traces were hidden under chips or other parts. I used my multimeter (set to measuring resistance) and needle pin tips to trace them:

Tracing Sharp CE-160 tracks with needle-tip probes

256k Memory Module for the Sharp PC-1600

Two months ago I was contacted by Tom who asked me for one of my Cartridge Breakout Boards. He wanted to build a 256k memory module for his Sharp PC-1600. Well, I was happy to provide him one of the boards for free and two weeks ago he informed me that he succeeded in building an expansion module:

256k Module 1

He kindly offered me one of his modules. 🙂 I still have to take advantage of the ‘enormous’ amount of memory my Sharp PC-1600 now has. So far I’ve done a bit of testing and the results are pretty impressing:

256k Module 2

Thanks again, Tom, for sharing this with me.

Update: For my French friends out there – there is actually a thread (Extensions mémoire 256KB…heu non… 512KB) with more details on the cartridge mentioned above.

Sharp PC Cartridge Adapter Board

The following cartridge adapter board completes my already presented series of Sharp PC adapters: my Interface and my Cartridge.

The Sharp PC-1500 and PC-1600 can both be extended via one (two) module slots. Pretty common are memory extension cartridges, but there are also more sophisticated modules. I have a few that contain an (E)EPROM with program code on it. I have a few of the latter ones and to facilitate reading out their content I’ve built an adapter board:

 

Sharp PC Cartridge Adapter

The 40-pin connector was cut out of a regular PCI slot (not PCI Express). You can actually get two connectors out of one slot.

PCI slots cut apart for application in cartridge adapters

Pin headers allow easy access to the data, address, and control lanes of the cartridge. In many cases this allows easier debug access to the content of a cartridge (it EPROM) than reading (i.e. ‘beeping’ out) its content directly via the PC-1500/PC-1600 + PC-150 interface.

Cartridge adapter with inserted card

The adapter board works for me but it can be pretty annoying to get the pads of a module aligned with the connector pins in the 40-pin slot. It usually takes me a few retries to get good contact on all pins. Some kind of guide rail on both sides would be helpful, but hey, it’s a hack… 😉