The Z80 is still manufactured today and I was wondering whether there is any interest for a community or discussion group.
The Z80 is still manufactured today and I was wondering whether there is any interest for a community or discussion group.
I worked at Mostek maintaining the Fairchild Sentry testers used to test the Z80s when they first began to manufacturer them. The second computer I every
built (parts, pcb, solder) was the SDB-80 which was the Mostek Software Development Board for the Z80 with 16K bytes (8 - MK4116 16K bit) dynamic RAMs
which Mostek also made. The first wire wrap board I ever made was a 48K byte dynamic RAM board also using MK4116s that worked with the SDB-80. I can
tell you there were a bunch of happy technicians when we were told that Mostek would be second sourcing the Z-80 and even happier when we were told we
could buy SDB-80 kits and build them ourselves! Those were really fun days. I still have a Zilog Z80 in a ceramic package that says it was manufactured in
Dallas even though Mostek was actually in Carrollton a suburb in Dallas County just north of north-west Dallas.
COMPACT wrote:
It was quite rare to come across Mostek parts in Australia. We usually got Zilog, SGS and Sharp.
And from memory the SGS parts didn't support the undocumented instructions.
The latest post in this thread was recent enough for me to dare 'reply' to this 2016 entry - hope that's OK with you ?
During the '80s I've been professionally involved in a number of commercial projects, built around the PC-1500A pocket computer from Sharp.
This was often referred to then as a 'BASIC programmable calculator', though its functionality, capabilities, and the actual applications surpassed
that status by far.
With only superficial knowledge of microprocessors, I've always wondered about Sharp's own LH-58xx family. As far as I know, it has only been
utilized in the PC-1500 and its successor, the PC-1600. It wasn't until recently that I learned that Sharp had (and still has) its own line of OEM
4 and 8 bit microprocessors. The LH-5080 e.g. is offered as a member of the Sharp Z80 family, LH-0080.
For me this raises several questions:
- Is the LH-5801 really a Z80 derivative, as most sources over time have stated ? Doesn't the model number, 5800, seem odd, even peculiar,
when one realizes the importance of the Motorola 6800 in those days ?! In other words: LH-0080 makes sense, better still: is clear - LH-5800
is confusing. The only explanation I could think of, would be, Sharp meaning to discern her OEM products from her microprocessors intended
only for use in her own apparati - i.c. her line of pocket computers. Btw Sharp herself makes no mention of the Z80 (nor any other microprocessor
for that matter) in her Technical Reference Manual. (http://www.pc-1500.info/Data/Service_Manuals/PC-1500_Technical_Reference_Manual.pdf )
- Anybody has a clue as to what the letters, LH, stand for, and what the 5 might refer to ?
(Sharp being proud of her early chip design and production capabilities, called one of her seventies calculator lines: Elsi Mate, where Elsi stands
for ELSI - Extra Large Scale Integration)
- The CMOS LH-5801 had an impressive number of on-chip facilities/peripherals - probably more than the (standard ?) Z80.
I have not been able to find a (useful*) comparison with the Z80 itself, derivatives, or other microprocessors from the same era. Anybody ?
*(cpu-world hasn't brought me any further).
Thanks or answering !
Ray
Hi Ray,
I've not looked at Z80 for an extremely long time, so I could be wrong, but looking at this PC1500 machine code article (PDF) the instructions do not look like Z80.
For instance, on the last page of the PDF, there is this example program:
Taking an example, the red instruction, the Z80 does not have an RTS instruction according to here: Z80 / R800 instruction set
There's a RET instruction for the Z80, but it has a different opcode too (0xC9, not 0x9A).
Also, according to here: Frank C. Odds : Probe! a disassembler for the Sharp PC-1500 - PC-1500.info
the PC-1500's CPU only has three registers.
So, I believe that while it may have similarities to CPUs such as the Z80 or indeed any other CPU from the time, it's not a Z80 derivative (or not a very close one), nor compatible with z80 at mnemonic or opcode level.
One also has to remember that R650x and Z80 had altered instruction sets to evade intellectual property claims.
Sharp did make Z80 products and to me the PC-1500 looks like a Z80 inspired CPU with the index registers missing (like the gameboy CPU) and altered object code and a disguised instruction set.
e.g. BC = X pair and DE= Y pair.
The Texas Instruments TI-84 Plus CE Calculator that does have a eZ80 (a Z80 derivative) in it. With it one can play Gameboy and other games with it.
The processor itself is running at 48MHz but is using wait states to interface its slower memory and i/o.
If you do have one, don't upgrade to the latest firmware because it places unwanted scholastic restrictions upon it.
I concur those don't look like Z80 comands.
As an aside, when playing with my ZxSpectrum I found an interesting scenario when I was stepping through some code. It ran fine at full speed but errored in the debugger. There turned out to be a couple of commands that the chip knew about but the debugger (and documentation) did not.
Turns out that the undocmented commands are now documented
http://www.worldofspectrum.org/z88forever/dn327/z80undoc.htm
The CPU used for the PC-1500 is the LH5801. The native mnemonics have been made to look like 6800/6500 style ones.
Here is a quick partial cross reference between its mnemonics and Z80 equivalents.
http://www.pc-1500.info/Data/LH5801-ASMCodes_Sharp.htm
That's only a partial list of undocumented instructions. There are various sets posted around the Internet including Z80 Undocumented Instructions .
Also be aware that some instructions are used for alternate purposes of later generation Z80s and derivatives such as the Rabbit 2000, Z180, ez80 etc.
For example the relatively useless LD L,L (0x6D) is not supported by the eZ80.
Hi Shabaz,
Thank you for your reply. This was actually the first time ever (I'm 73) I participated in any professional community discussion on the Net.
So please don't mind my many newbie mistakes - one of them not being a prompt replier.
For everyone else here, interested in the Sharp PC-1500(A), your link to the pc-1500.info site is spot on, as this site offers the best,
i.c. most comprehensive info there is.
The LH-5801 microprocessor turned out to be a very powerful tool indeed in many applications of this pocket computer.
One of the projects I've been involved in was at a Nestlé plant for the production of powdered milk. The Swiss manufacturer
of the 5 parallel operating in-stream weighing-doseing units to be installed, required 5 full-fledged PCs as controllers - the chosen
brand being Commodore. The engineer in charge however judged this brand to be below industrial reliability standards, and
proposed the PC-1500A instead, i.e. 1 pocket computer instead of 5 PCs ! (a printer - not its 4-color plotter mate, CE-150 - was added).
Later system SW for real multi-tasking was developped by a third party - we utilized a MUX.
Before the mid-eighties there was also assembler/disassembler, hexmonitor, etc. software available; furthermore a C-compiler was offered,
along with Forth and several extended BASICs.
From your and Compacts reply it would seem the LH-5801 had only
(continued in post nr. 106)
Hi Ray,
That's interesting that it was used to control part of a Nestle production line. I do recall an episode on TV of 'How It's Made', which showed a production line in a factory which made piano music rolls, and part of it was controlled by an ancient Apple IIe machine. Since it worked, I guess the factory felt no need to port the code to anything more modern. Better to trust what is working : )
Into modern times, and a lot of retail stores in my area run very suboptimal hardware - consumer PCs! - always clogging up with dust from the Manager's office, running slow, and on the floor getting kicked around.
Hi Shabaz,
Let me try to recapture the lost part of my post with the Nestlé story first.
I meant to argue that your and COMPACT's reply suggested the LH-5801 had less hardware facilities than the Z80:
- "the PC-1500's CPU only has three registers" (you)
- "a Z80 inspired CPU with the index registers missing " (C)
For me this makes it a bit hard to understand, how a pocket computer with this CPU has been able to achieve such extraordinary results
in numerous high-level applications. Or is this just a matter of clever trickery by the application programmers ?
First of all (as far as I know), other than Z80, LH-5801 had 8-bit (full-width) registers - esp. in the accumulator.
Program counter and stack pointer were even 16 bit.
Secondly some items from the feature list of the Sharp CPU:
- (3) Use of a 6-byte general purpose register. in addition to the accumulator. allows to comprise three pairs of 2-byte date pointers. (misspelling Sharp)
- (12) Reducing program steps by means of 28-kind single step vector subroutine jurnp
If only there were a feature-by-feature or architecture comparison of the two microprocessors ...
Judging from the applications side (remember I lack sufficient knowledge of micoprocessors), I would say, LH-5801 was - maybe inspired by some
standard Z80, 6502, or even 6800 - yet an advanced proprietary design with a remarkable number of on-chip peripheral facilities. Your and COMPACT's
observations concerning family traits, in one way or another, are very interesting and seem to confirm my assumption all along, that LH-5801 was just not
your run-off-the-mill Z80 clone.
As stated before, the Nestlé project utilized a MUX. Later someone else devised real multi-tasking software for the PC-1500A. I suppose that requires
a quite sophisticated interrupt scheme/structure (esp. at a clock rate of only little more than 1 MHz), or can one do this by clever programming via a
high-level language ?
Last but not least: thank you all for a friendly welcome into this community !
Cheers
Ray
Hi Ray,
The Nestlé project sounds fascinating.
You'd expect the LH-5801 to be superior to the Z80 for its designated applications. The designers could pick, choose, optimise and add the features that they wanted.
It is was unlikely that a LH-5801 device needed to have the DRAM memory and 8080 legacy support because it was for low power consumption devices such as battery powered calculators.
Itsinbuilt timer is very handy. The Z80 required the addition of a CTC (Counter Timer Counter) or similar to do this.
There's nothing wrong about creating a CPU that's lacking the Z80's index registers. If fact these index registers can be a pain to use. The Game Boy version of the Z80 is also missing these index registers and look at the quality of the software for that.
If you look at most Z80 code, the IX and IY index registers if used, were seemingly used as a last resort. This is because the Index Register op codes need an 8 bit offset to be specified within the instruction.
It's also interesting to note that Cristophe Gottheimer's assembler for the LH-5801 uses the Z80 JR (jump relative) and mnemonics instead official Bcc (Branch) mnemonics. A clue to the LH-5801's origins perhaps?
One thing people always seem to overlook is that the Z80 limitations were set by the memory device performance limitations of the day. The designers at Zilog even incorporated inbuilt wait state support to handle slower memories and DRAM refresh support.
This this in mind the Zilog designers worked out that they could use a 4-bit accumulator and run it twice for 8 bit results in the time taken for a single memory fetch.
At the time common memory devices were small with 1K * 1 Static and 4K * 1 Dynamic RAMs being the most affordable. The larger and faster ones came years later.
Cheers and welcome to the community.
Very!
Hi Ray,
The Nestlé project sounds fascinating.
You'd expect the LH-5801 to be superior to the Z80 for its designated applications. The designers could pick, choose, optimise and add the features that they wanted.
It is was unlikely that a LH-5801 device needed to have the DRAM memory and 8080 legacy support because it was for low power consumption devices such as battery powered calculators.
Itsinbuilt timer is very handy. The Z80 required the addition of a CTC (Counter Timer Counter) or similar to do this.
There's nothing wrong about creating a CPU that's lacking the Z80's index registers. If fact these index registers can be a pain to use. The Game Boy version of the Z80 is also missing these index registers and look at the quality of the software for that.
If you look at most Z80 code, the IX and IY index registers if used, were seemingly used as a last resort. This is because the Index Register op codes need an 8 bit offset to be specified within the instruction.
It's also interesting to note that Cristophe Gottheimer's assembler for the LH-5801 uses the Z80 JR (jump relative) and mnemonics instead official Bcc (Branch) mnemonics. A clue to the LH-5801's origins perhaps?
One thing people always seem to overlook is that the Z80 limitations were set by the memory device performance limitations of the day. The designers at Zilog even incorporated inbuilt wait state support to handle slower memories and DRAM refresh support.
This this in mind the Zilog designers worked out that they could use a 4-bit accumulator and run it twice for 8 bit results in the time taken for a single memory fetch.
At the time common memory devices were small with 1K * 1 Static and 4K * 1 Dynamic RAMs being the most affordable. The larger and faster ones came years later.
Cheers and welcome to the community.
Very!
Hi COMPACT,
Sorry for my late response.
Thanks for your friendly reply, and for sharing your broad knowledge to fill-in some of the white spots in mine.
Further to the Nestlé project (and risking being thrown out by the moderator on account of wandering too much off topic ...): the 'poor'
PC-1500A had to communicate with 68000 processors in the Swiss units. When the info required to tackel this problem didn't come in time
to meet the project deadline, I decided to try and overcome the speed differences ... in BASIC (call me crazy). The only solution to get around
a formal handshake was applying probability calculation. It worked fine and reliable.
Reading the history of the Z80, it seems safe tot conclude that Sharp must have been (one of) the very first (1980/81) to produce a CMOS
derivative (?) with many on-chip extras. Just out of curiosity I've once tested the PC-1500A for power consumption (keep in mind that there
was also an I/O controller on board, the LH-5811). Battery life was specified as 300 hrs, i.e. with the usual unrealistic operational limitations.
So after a fortnight of continously running an endlessly repeated program with heavy duty calculations, that made as much use as possible
of display functions, and most of all of the BEEP option, I expected to find my PC-1500A 'dying'. But after more than 3 weeks only the LCD
contrast showed some signs of a nearing 'low battery' condition. Unfortunately I had to abort the experiment, simply because I needed the
pocket computer for my programming work.
The first assembler, as far as I know, was made by Rasso von Schlichtegroll, fairly soon after the PC-1500's introduction; later he developped
a successful line of system programs and tools under the RvS brand, eventually commercialized by the Holtkötter publishing firm.
Jumping to the present, recently produced emulators may be the best way to keep the PC-1500(A) alive (and leave curious young users
in awe). As to the limited storing capacity of RAM chips in those days: the LH-5811 has a direct adressing capability of 64 kB - nothing fancy;
but because of the PU and PV flipflop registers, the full addressing range was 512 kB. And would you believe it: in the early eighties a small
third party company, AMS in Germany on the Danish border, managed to pack this huge amount of storage inside the pocket computer !
I'm not sure if/how his maybe conflicted with an eventual RAM module in the bay for external memory ... Later they had their Gold Card
produced in Taiwan for the top models in Sharp's organizer line: 256 kB, while Sharp was still fiddling with 32/64 kB.
Didn't know the TI-84 was Z80-based; always wanted to have one, never got around to it ... The origin of my interest stems from the late
seventies, and was thus calculator-oriented. I could go now into the old AOS vs. RPN debate, but this would be a) off-topic, and b) maybe
not of interest to anybody in this group. Suffice it to say that It is useless to try and grasp Sharp's design concept for its pocket computers
without taking her EL-5100 scientific calculator into account.
Cheers
Ray
Hi COMPACT,
May I add another PC-1500A project story in response to your earlier interest, and present that, assuming you have also read my posts to Shabaz ?
(It would be boring i.m.o. to tell intertwined stories to two forum members, as if they didn't read each others 'incoming' posts, wouldn't it ?)
This story unfolded in the aftermath of PC-1500A's demise - ending in the permafrost of Siberia ...
As the story hasn't anything to do per se with Z80, does it interest you, and would it be acceptable in this thread ?
Would appreciate hearing from you
Cheers
Ray
You can create your own blog on any topic just by clicking on the "Create" button at the top of the page.
Threads like this Z80 topic just fade from view unless members keep adding anecdotes, so I think it is great to add stories directly to the thread, even if they are only peripherally related.
Thanks for your explanation and friendly comment, Doug !
I will certainly share my story in this blog, but hope you don't mind me waiting a bit for COMPACT to react ?
Btw, I've always been intrigued by the Friends-Amis story in connection with Matsushita Corp., leading to the development of the HHC.
Although based on the 6502 microprocessor, the resemblance to the design of the SHARP PC-1500 (including bay with peripheral) is
striking. The idea behind it may have been original, but just assuming that Matsushita had no knowledge of the earlier presented SHARP
pocket seems a case of blind faith.
Apart from that, European companies, Olivetti and Nixdorf, should be included in stories about the history of the development from calculators
to handhelds i.m.o.
Cheers
Ray
Hi COMPACT and Doug,
While the PC-1600 just didn't take off in the second half of the eighties, Sharp out of the blue discontinued the whole PC-1500A line. Among the
large number of commercial users worldwide with business application programs, one company especially had a huge practical problem with that:
Allianz, Germany's largest insurance company. They had abt. 50.000 (no typo !) PC-1500A systems for their commercial field service - now to be
written off just like that !
An other, very small, German company, having invested heavily in a rather unique application, decided, they could perhaps ensure continuity by
purchasing several dozen used systems from Allianz. Thus in the aftermath of the PC-1500A era a remarkable opportunity presented itself for us
(i.e. me and my son). Weilekes also was a father & son operation, who had devised a corrosion testing system for oil and gas pipes, to be used
in Siberia. The PC-1500A system was choosen because of its virtual indestructability and reliability in harsh environments. If anything, the mate
to the pocket computer - in fact a tiny 4-color plotter with system I/F - had to be overhauled meticulously. And that's where we came in.
My son (15 at the time) had already done so with several of these cigarette-pack size little gems*. Next the NiCad pack had to be exchanged for
a 'real' Sanyo (ask any model 'copter builder !). PC-1500A got a new keyboard switch mat, and any worn-out keys were replaced**. Refurbishing
further included all connectors, scratched LCD windows - sometimes complete cases were replaced.
Together with the Weilekes custom unit, the pocket computer + plotter were built into a special sort of cradle that the user wore like a candy seller
in a movie theatre; except this one had to shield the equipment from Siberian climate ... Sensors connected to the cradle were used for the actual
measurements. I believe these were basically resistance measurements - not surprisingly, taking into account the prominent position of German
developpers in skin resistance measuring medical devices.
What puzzles me now (was'nt aware of this then): both the former Soviet Union, and Hungary produced their own PC-1500A clone at the time;
wasn't Gazprom aware, or didn't they care ...?
Cheers
Ray
*of the Japanese ALPS brand, these days famous a.o. for its high-end audio-grade potentiometers
**Sharp spare part sets with only the [SPACE] and [ENTER] keys came in very handy indeed
Thank you, COMPACT and Andrew Johnson !
Think I'm just privileged, having lived (better still: mostly had my youth in) the era of:
- the birth of the micropocessor
- the development from calculators into hand-held computers
- the 'transistorizing' of electronics
- the chip revolution leading to "zero cost electronics" (Scientific American, 1975), and ultimately to hand-held communication devices
- the development of LCD and similar display technology
and so on ...
It all began when awed by a self-built X-tal receiver, while visiting a cousin - almost mystically fascinating !
Not only did I blend together one myself shortly after, but also began reading books on radio history from the school library (which didn't have
anything DIY). And I got pretty jealous of inquisitive people like myself, who had been lucky enough to live during the age of say Heinrich Hertz,
Marconi, and the like (unfortunately I discovered Tesla much later). So obviously, some people just cannot be pleased enough ... !
Cheers
Ray
P.S.: the excitement of listening to your self-built X-tal receiver is similar to watching your first program do what you envisioned;
in both cases, "you'll always remember your first time" ...