• Please review our updated Terms and Rules here

IS the Sharp PC-1500 a “Z80-clone” machine or not?

Abmvk

Experienced Member
Joined
Feb 11, 2023
Messages
102
Location
Netherlands
I read somewhere the Sharp PC-1500 was build around a low energy-version of the Z80. But when I found some documentation about programming it in machine language, what I saw was not exactly what I know to be Z80 assembly. So now I wonder, did I read wrong?
 
That's a common myth. I think people confused "As powerful as a Z80" with "it's running a Z80".
That might very well explain my confusion.

It also solves a problem for me tbh. I was going to try and get the assembler for the PC-1500 on my system. I found the software, was thinking about a way to get it on the system. Now I know I don’t need to bother, as I am to old to learn a new assembly language I think :).
 
The Technical Reference Manual (http://www.pc1500.com/docs/PC1500_Technical_reference_manual.pdf.zip) over on the PC1500 site says that it is a LH5801 microprocessor. Chapter 4 covers a description of the hardware in the computer.

The PC1500 site (http://www.pc1500.com/) has lots of info, manuals, software, links and other stuff related to that system.

By the way, it's a really nice system.
Nice, yes, I think it may be. But it is not as intuitive for me as I would have hoped. Lots to find out still, so it is a nice puzzle at the moment. But I like it so far!
 
That's a common myth. I think people confused "As powerful as a Z80" with "it's running a Z80".

There doesn’t seem to be a stand-alone datasheet for the 5801, but from skimming the Technical Reference manual for the PC-1500 system I’d agree, it’s “Z-80-ish”. The basic layout seems like a cross between the 8080 and the Z-80, but it doesn’t have the Z-80’s index or “shadow” registers. More importantly, perhaps, it also doesn’t seem to have the “IN/OUT” I/O space of the Intel or Zilog processors? (Instead of MREQ and IORQ pins it has two separate ME lines for a total of 128k of addressable memory space, but instructions can only be fetched from the first one, second one data only. Which kind of makes it similar in practice but the instruction set as a result doesn’t have IN/OUT commands.)

Reading this I actually wonder if this CPU shares any DNA with the one used in the original Gameboy, which likewise is *kind of* a cross between the 8080 and Z80 with its own weirdness mixed in.

Anyway, I’m not going to sit down and wade through both this and the Z80 manual to compare every instruction coding, but I’d be pretty surprised if they were compatible enough to use a Z80 assembler to code for it.
 
Pretty nice processor, actually

But definitely not an according to Hoyle Z80

I did a little digging and found out the “Z80-ish but not really” CPU in the original Gameboy was also made by Sharp, under the designation LR35902, and if you look up comparisons between it and the 8080/Z80 it is *spookily* similar to the PC-1500/PC-2 CPU, including differences like missing the index registers and only using memory mapped I/O. It’s in fact so much like it I’m wondering if they’re object code compatible, or at least close.

If that were miraculously the case there are assemblers and compilers for doing Gameboy homebrew, maybe they could be adapted?
 
Last edited:
Nice. Don’t know if my wife agrees tho
woman walks into the dentist's office ...... sits on the chair and tells the dentist:
doctor.... as much as I am scared of sitting thru dental work, I am not afraid of
going through labor....
the doctor says: mam..... please decide which....I have to adjust the seat...

ziloo 😊
 
Last edited:
I read somewhere the Sharp PC-1500 was build around a low energy-version of the Z80. But when I found some documentation about programming it in machine language, what I saw was not exactly what I know to be Z80 assembly. So now I wonder, did I read wrong?

That's a common myth. I think people confused "As powerful as a Z80" with "it's running a Z80".

Correct, it s a common myth same way as the very popular myth of thinking Game Boy (orignal DMG, Game BoyColor and Game Boy Advance for Game Boy compatibility and as auxiliary processor and on consoles compatible with GBA as for example Nintendo DS) has a Z80 CPU. Both systems have a Sharp CPU not being Z80, nor very close to it. Game Boy CPU misconception is much bigger, as it is cited in a lot of places where some uninformed people talk about Z80 uses in popular computers and consoles.

It may be SM83 Sharp CPU (used on Game Boy) is nearer to Z80 than LH-5801 Sharp CPU (used in PC-1500), but even SM83 is nearer to Intel 8080 than to Z80, while being none of them.

On the Sharp PC-1500 misconception it could be contributed the fact that later Sharp PC-1600, an "upgraded" PC-1500 with 4 lines display and more memory, has two processors, one being a true Z80 compatible Sharp CPU, and the other being the old LH-5801 Sharp CPU for compatibility with old PC-1500 software.
 
Last edited:
Now I know I don’t need to bother, as I am to old to learn a new assembly language I think :).

I understand it is not a popular assembler CPU, as it was used in only a few computers, not as popular as 6502, Z80, 68k, 8086 assembly, but learning a new and different topic helps to maintain a young brain.

And it is not for example not as strange as Saturn CPU, a CPU used in the much popular HP 48 series of pocket computers (they were sold as advanced programmable calculators, but really they were pocket computers), being it a "strange" 4 bit CPU with 20 bit address (much bigger than typical 16 bits address on 8 bit CPUs) and some 64 bit registers. Even Saturn CPU uses and "strange" assembly syntax (at least strange compared to more know 6502, Z80, 8086, 68k assembly).
 

Nice. Don’t know if my wife agrees tho

I think Sharp PC E220 is a very bad choice. It has a Z80 compatible CPU (in CMOS technology) BUT it has no graphic display while being 4 lines: each character has a dot matrix area but they are isolated from other characters, so you can't draw a continuous graphic on that display. You can see it on this picture:

Sharp_PC-E220_%28brighter%29.jpg


It is really bad. Even Sharp PC-1500, while having only one line of text, has a graphical display so you can draw a continuos graphic through all its dot matrix display. PC-1500 has a continuos 156×8 pixels LCD.

If you want a Z80 on a Sharp pocket computer with that format here are some better options having Z80 compatible CPU:

-Sharp PC-1600: this is the PC-1500 successor (having two CPUs, a Z80 compatible and LH-5801 for PC-1500 compatibilty). It has a graphic display of continuous 156×32 pixels.

-Sharp PC-G850: theses machines incorporate Z80 assembler on ROM, but I think they were sold only on Japan. Although some good people has made doc available in English:
The problem is you will continue having some menus in Japanese.
In this video you can see that machine, even showing its Z80 assembler and machine language monitor:
 
The PC-1500 CPU is not related in any way to the Z80. It is its own animal, a Sharp lh5801.

I suspect the confusion came from the fact that originally Sharp did not release any technical documentation. A few enterprising souls set out to figure out how the processor worked. One person created their own mnemonic set to describe how the processor opcodes they discovered worked. Someone else used the Z80 mnemonic set (modified to the peculiarities of the Lh5801.) Some other folks saw this Z80like mnemonics and said "Oh! It's a Z80". A company in Germany that made an assembler for the lh5801 also made up their own mnemonic set.

When Sharp finally did release the technical manual with the official mnemonic set it was a bit late as there were at least three others already in use. If you look at period publications about machine code on the PC-1500 they may have used any of these four sets of mnemonics which makes understanding the code more of a chore. IMHO, the Sharp set makes the most sense and has the bonus of not requiring any translation when checking the Sharp technical manual.
 
Worth knowing:
Afaik the PC1500 and it's similar younger sibling PC1600 use a different processor from a lot of other Sharp pocket computers from the 80's.
 
I understand it is not a popular assembler CPU, as it was used in only a few computers, not as popular as 6502, Z80, 68k, 8086 assembly, but learning a new and different topic helps to maintain a young brain.

And it is not for example not as strange as Saturn CPU, a CPU used in the much popular HP 48 series of pocket computers (they were sold as advanced programmable calculators, but really they were pocket computers), being it a "strange" 4 bit CPU with 20 bit address (much bigger than typical 16 bits address on 8 bit CPUs) and some 64 bit registers. Even Saturn CPU uses and "strange" assembly syntax (at least strange compared to more know 6502, Z80, 8086, 68k assembly).
:) you are probably right. But I have learned my share of languages, Z80, 8086, ARM64 assembly, C, Basic, Pascal, Rust, dBase III, dBase IV, COBOL, SQL, CL/400, maybe I will start on Swift soon, I think my brain is young enough now
 
Back
Top