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.
I still have a motorized Slit-N-Wrap and I still use it once in a while. It used to be really fast for wiring low-speed backplanes - much faster than manually soldering connectors on PCBs. I built a circuit that would make it automatically stop wrapping after 7 turns.
I never had problems with shorts. They have 2 types of wire, one with a Tefzel (Teflon) jacket that is thicker than normal Kynar, the other is a thin green enamel coating (a bit like magnet wire). I never had problems with either type although I was always careful not to let the green stuff rub on square pins.
The Slit-N-Wrap wire is 28AWG and normally 30AWG is used for Wire Wrapping.
I usually use 24, 26 and 28AWG for prototyping because I find that 30AWG is a bit too flimsy.
Dobs of glue are also useful for holding wires in place.
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 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,
At around that time, a lot of the handheld devices were getting powerful, so the ultimate decision to use that instead of any other device may have been simply because it was what someone was experienced in.
From the very little production/shop floor experience I have, it was interesting (at the places I worked) to see that the tools used in production were different to what the rest of the organisation were using. In other words, different CAD tools, different procedures, and different hardware. I'm not saying it is ropey, but a lot of stuff is designed to be one-off or very low quantity production.
Regarding the suggestion of Z80 origins made to look like a non-Z80 device, I've no idea. Certainly it won't execute Z80 software without modification and assembly with a different assembler.
Many processors at the time were similar, from a birds-eye view. Even the different processor designs that soon emerged like RISC and SPARC still have instruction sets and registers, and buses.
There was historically plenty of anti-Japanese tech sentiment in the 1980's, when many people thought that Japanese firms were copying or stealing ideas. That idea still exists today. It's unfounded, and likely no more than western firms stealing western ideas from each other. Perhaps that sentiment inspired the suggestion that it looks similar to the Z80 I cannot tell, since I don't know where and when that suggestion originated. The Japanese government encouraged firms to buy rights to patented tech, that was a major policy at the time.
Depending how keen you are to research down that road, there are some books worth reading, they mention names of people who would know better than speculation, of which unfortunately there is a lot of on the Internet. The first is We Were Burning, and the second is Industrial Innovation in Japan. The first is an easier book to read. According to that, Sharp was extremely quick off the block developing calculators, and amongst the first to productize (not invent) CMOS, so it's quite natural they would either license a Z80 design, or design their own chip. Neither of which would be good reasons to fake instruction names to look like a different processor.
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 Shabaz,
Very interesting musings about Z80 and possible 'mimicry' ... And thank you for the literature suggestions.
I believe having gotten some idea of Sharp policy in the dozen or so years I've made a living out of their products in many applications.
Do share your viewpoint that a lot of Japanese manufacturers of the time had more than enough innovation capability of their own, in order
not having to rely on copying; they did however clever- and selectively enter into strategic alliances and joint ventures.
I was appalled to learn that the company was recently taken over by Foxconn, of all the lousy manufacturers of today ...
The Japanese goverment should be ashamed for not having done anything to prevent this - the company that produced the unique amber
EL-displays for the Space Shuttle and where Philips had to buy all their LCD patents !
Back to the good ol' eighties and Sharp policy: I still feel the only explanation that makes sense for the model number, (LH-)5801, is as follows.
Next to their OEM production of Z80 clones - LH080, etc. - they wanted a proprietary microprocessor design for their indeed innovative line of
pocket computers. However they did not want to isolate these products too much from the brands and models that had become well-known
market leaders, in order to reach the broadest possible acceptance. So they devised the number 5800, with a wink to the 6800; but in order
to prevent the impression that they would suggest to make a predecessor, or down-graded version, they made the number their own by changing
it into 5801. Speculative ? Sure, but have I "entered into the realms of phantasy" ?
There was btw a LH-5803, which was meant to emulate the 1500 in its successor, the PC-1600 in order to attain full SW-compatibility. (It didn't
work 100% - much like my XP Pro overlay on Windows 10; this was probably also the reason for the PC-1600 being a less stable system than the trustworthy 1500).
Cheers
Ray
Hi Shabaz,
Further to the Z80 discussion in relation to the Sharp PC-1600: reading the Technical Reference Manual, answers to several questions can be
found: http://pockemul.com/Documents/PC1600/PC1600TechnicalReference.pdf .
First of all, the main CPU, SC-7852, is a Z80A-clone. Second: Sharp specifies LH-5801/3 for what they call the subprocessor; so early production
probably was equipped with the 'old' PC-1500A CPU, which was then later on replaced by an upgraded version, the LH-5803.
After that the LH-58xx series was obviously discontinued, in favour of their SC family of micrprocessors - maybe to improve Z80(A)-compatibility.
The best - most comprehensive yet concise - overview: https://sharppocketcomputers.com/index.htm#basic . As an aside: It is remarkable that
after the 4-bit SC dual processor in Sharp's first pocketcomputer, the PC-121x had been succeeded by the 8-bit LHs, 4-bit SC-processors were
used again in later models.
Where the master-slave operation in the PC-1211 worked flawlessly, cooperation between the SC-Z80A and the LH-subprocessor more often than
not led to system instability, up to complete crashes.
The main disappointment with the PC-1600 however was its substandard (for Sharp at least !) LCD. Cramming this 4 times bigger display plus an
extra full size PCB, etc. into the same case as the PC-1500 however, is of course no mean feat ...
Maybe taking a glance at mnemonics and opcodes in the PC-1600 Tech Ref Manual can bring our decission nearer as to the LH-5801 was a Z80
derivative, or not. Memory allocation of the SC-Z80 surely differs considerably from that of the LH-5801, yet addressing range is equal (512 kB),
thanks to the flipflop registers in the LH; the SC seems having to do a lot of bank switching in large applications ...
Cheers
Ray
Hi Ray,
It could be derived from the Z80, I really cannot tell one way or another.
I used the Z80 a lot in the home 8-bit computer era with plenty of machine code (I had no assembler) but I cannot recall much apart from a few instructions and op-codes that won't seem to leave the brain : )
The embedded 8-bit stuff I encountered later was mostly Motorola based (6805 and 6811 particularly) and a few other manufacturers.
Hi Shabaz,
As Appendices at the end of the 276 page PC-1600 Tech Ref Manual I found mnemonics, op-codes, and what have you of both the SC- and the
LH-processor. Not my cup of thea, really ... But maybe someone else finds the clues, required to answer the question: was LH-5801/3 a Z80
derivative, or not ?
For me Chapter 7 is much more evocative, and it confirms my belief all along, that not only 'Ol Blue Eyes did everything "My Way" ...
It is quite impressive what Sharp has integrated on-chip*, next to the processor 'core' - this goes for the Z80A derivative, as well as for the LH.
I've called what they have packed into this pocketcomputer "no mean feat". If you look at the features, you can say that again:
- 3 microprocessors, two 8-bit main CPUs (one emulating the PC-1500A a.o.) + one 4-bit subprocessor (I/O)
- 3 x 36 kB ROM
- RS-232C I/F
- serial optical I/F, 38.4 kbaud
- analog input (ADC)
- automatic power off with external wake-up from peripheral
- floppy and RAM-disk options
- 60-pin fully programmable system/expansion bus output
- 2 memory module slots
Impressive ? Sure ! A joy to work with (as a programmer or a user) ? Not really ... And that's a shame.
PC-1600 has never been able to replace PC-1500A in the market, possibly because it became the victim of its own over-complexity ?
At the time (mid eighties and on) Sharp had already her organizer concept ready, later shared in the PDA concept with Apple (Newton),
and so probably didn't care too much ... (PC-12xx, 14xx, E200, and E500 series thriving)
Cheers
Ray
* a.o. the complete port processor, LH-5811, of PC-1500 in the SC main CPU
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