Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Technology

Zilog (re-)introduces the Z80 237

The Finn writes "Zilog has introduced an update to their now infamous Z80 line of processors. The new eZ80 ``[...]is one of the fastest 8-bit CPUs available today, executing code 4 times faster than a standard Z80 operating at the same clock speed.'' The last Z80-based computer I actually used for any length of time was a Xerox 820-II CP/M box, but the Z80 continues to live on in all kinds of embedded applications. "
This discussion has been archived. No new comments can be posted.

Zilog (re-)introduces the Z80

Comments Filter:
  • Yes, there are several programs that accomplish this. There's Telnet 83 [calc.org] for the TI-83 for one... then there's FTerm [ticalc.org] for the TI-92. There's others that I can't locate at the moment. But to sum up, yes it is possible already, but in theory this new eZ80 could make it more possible :)
    Adam Berlinsky-Schine [mailto]
  • Actually the MC68000 is more of a 32 bit chip. The data bus is only 16 bits wide, and it uses 24 bit addressing (IIRC), but all the registers are 32 bits wide.
  • Of course, the headroom required for this speedup was already provided in the original design... the Z-80 required 2-4 times more clocks for a given instruction to execute than the 6502!

    Of course, it all balanced out, since the 6502 needed 2-4 times as many instructions to do anything...

  • Hehehe. Actually, I'm still waiting for the tape to load. ;>
  • well, Scott is not the Dilbert guy.... his homepage is here
    http://www.pcii.net/~msadams/
    If you check out that page it includes links to playable versions for most platforms... including for a Palm Pilot *grin*
    ..... Now if I can just get out of this FunHouse :)
  • I learned on a 'Cosmac ELF II' with an 1802 processor. Yes, weird, limiting in many ways (multiply opcode? What multiply?!).

    But it was small and easily understood. That helped with other processors, from 6502 to 8086 to 68hc11, and PIC and 8051... the only real trouble was getting used to being 'starved' for registers on some by comparison. But everything seemed to be a step up, otherwise.


  • Agreed: I love the PIC series.

    The conditional skips definitely lead to subtle code. For one thing, you can do interesting complex expressions with consecutive multiple conditional skip instructions.

    Better, A lot of times you end up skipping over non-branch instructions and that idiom ends up being great for code that has to count clocks (wire protocols and the like), since the skipped instruction still takes a cycle to be skipped.

    Sigh... :-)

    --j

  • It just means you have a better memory than me! Those backward jumps (now does that include the jump instruction itself..) always were a pain. I never had a case - just had the mobo, naked keyboard, PSU, etc all spread out on a table top, along with an old 19" B/W TV for that wobbly modulated 40 character display :-)
  • Funny how many of the intermediate processors aren't being fabbed anymore. Anyone still making 8086s (acutally, probably) 286s? 386s? 486s?

    Usually what happens (with intel at least) is that they modify their old designs and make ``embedded'' versions of the chips in their older fabs. The company I work for (who shall remain nameless) uses the 80186 (no joke) and the i386EX (32-bit mode only 80386) in two of its products.

  • But if I had bothered, I would have learned it on the 6502 in the Commodore 64.

    I even got the Programmer's Guide from Toys R Us.

    Only thing is, I never got C64Mon or any other assembly language monitor :-(

    And then last summer, I looked through the Programmer's Guide and realized they didn't tell you how to use floating-point arithmetic. So fractal programs with reasonable speed are out the window ;-|

    I have used SPIM but not for anthing worthwile.
  • Intel release the 4004.com

    Naturally it'll come in a choice of iMac inspired dayglo plastic packaging. :-)

  • The hidden instructions would work only if Zilog kept the *exact* same microarchitecture and hardwired the instruction decode logic and state machine implementations the same way. I would guess they would clean up the design and do more things in parallel . After all, double pumping a 4 bit ALU to implement byte wide instructions is hardly required in a Z80 core implemented in 0.35 um CMOS or whatever.
  • Well I finally got on to /. after floyd wrecked my service on the East Coast for 3 days... BUT I digress... The First story to catch my eye is about the grand ol' Z80 processor???? This brings back SUCH a nostalgic twinge... I remember raising $1830 to buy a TRS-80 Mod III with DUAL *wow:)* drives and a whopping 48K RAM.. It was such a powerhouse back then.. I guess the point I'm coming to is this. I remember being a 10 year old sitting in front of that "blue screen" (I had the el cheapo mesh screen over the CRT) for almost Days on end... first playing games as the old Scott Adams Adventures... Then Zork, the wonderful old games of Labyrinth, Bedlam... These games drove me to try to create some of my own (I STILL have my 1st edition D&D Greyhawk and Blackmoor books) Well... The different DOS's had their own uses.. I hated NewDOS, but TRS-DOS was OK for minor programming in basic. After a year or two I worked my way up to working in Debug and hacking around in assembler.. Then one day it happened.. My mother's Master Thesis(Written in Scripsit) CRASHED hard, but I was able to recover it by sitting a typewriter in front of the MODIII and reading most of the text from debug and interpolating the rest from the hex codes.
    I never thought then that I would be able to use those skills today (i.e. working algorithims in COMOS and perl etc...), but now I actually wish I had the time I had back then to really devote to learning what made that machine tick, and use that to learn what my servers today can do. I know I'm not the only one out there that feels that way, and for those of you who scoff at us "old farts" waxing nostalgic, trust me.... You can have your imaginations handed to you via GUI and imagery, some of us had to use our own visual imagery INSIDE, and between you and me, I kinda like mine more :) As I always say, if you want to learn, you MUST read. Be it Books or threads... you MUST read to learn... ok enough. Thanks for your patience
  • It's great for beginners at assembly programing - it has a nice, simple, clean architecture and instruction set

    Nah, that was the 6809 you're thinking of. It actually had addressing modes that were worth something ... not like the PDP-11 (only applied to one operand) but it was easy to work with those.

    - Jojo

  • i have had a ti-85 that i have had for almost 5 years now that has survived more drops, spills and being stepped on then i care to think about, plus its been turboed, i think it now runs something like 6 times faster than a standard on. i also have a 86 and 89 that i've had no problem with, i'd like a hp but none of my classes have ever taughr to them and i understand the learning curve is a little steep, so i never found it worth the extra expense of a 4th graphing calc
  • Actually, you're not quite correct. The TI-8x series of calculators DO use the Z80. It's the TI-9x series that use the Motorola 68k. Now, if I only had a spare $150 lying around, I could get me a nice TI-93 and all would be good.
  • err..hex *is* assembler...its jost not translated automatically with a compiler..you do it by looking in a code book and translating manually..I have a ZX Spectrum 128K that i did some on...as well as an 8085.
  • Zilog's greatest product line.

    From the little Z8's to the z180's, et. al.

    Those things are great. I have both a TI-85 and a TI-86. I was really happy to be able to recommend those great ZWorld [zworld.com] contollers at a job a while back. An absolute dream to work with. I recommend them all over the place now.

    Man, they were pretty successful in milking them. I have their 1997 Master Selection Guide here and it's full of really neat app-specific chips for PDA's, set-top boxes, data communications, DSP (including voice), and so on.

    Zilog were really smart with the Z80. Good for them. And they did it without all that shameless marketing certain-other-processor-companies are known for.
  • No, only the TI-89, TI-92, and TI-92+ Calculators use 68K processors. All the others (for our sake let's say TI-82 through TI-86) use a Z80 processor. And whoever said they wanted a TI-93 - save up all you want but the calculator doesn't exist :) (TI-92+ maybe?)
    Adam Berlinsky-Schine [mailto]
  • Sure do remember it, my first consulting job was Z80 assembly, an ultrasound probe to measure depth of human eyes. The "Klingon" instructions, as I remember calling them back then, were quite useful indeed. I'd take Z80 over 8085 any day.

    For my money though, nothing beats an 8032 for a *simple* 8-bit embedded microcontroller. Named bits, quasi-bidirectional ports and a multiply and divide are just too useful, not to mention cycle counting is far easier.
  • Once you've seen ONE assembly, they are all the same, but you need to start humble, and the Z80 was just a great start for me.

    Ever seen PIC assembly? Some things are the same, but some of it is way off the beaten track.

    There's an unconditional jump called GOTO.

    There's no real conditional jump...

    BTFSC/BTFSS - Bit Test F, Skip if Clear/Skip if Set. It basically skips the next line if a specific bit is clear or set. Make the next line a GOTO and you essentially have a conditional jump.

    SWAPF - Swap nybbles in F. Interesting.... especially for a RISC chip...

    If you're used to other architectures, the PIC looks, well, wierd. The first thing most people notice is the lack of instructions that begin with 'J' :-)* However, it is really easy to program and I've seen absolute beginners to any type of programming eat into it *really* quickly.

    Of course, the Z80 is great for getting into more "traditional" architechtures. Now with TI explicitly enabling asm programming on their calculators (without having to use memory dumps) a lot of young ones are delving right into it.
  • C compiler : Yes! I had a Spectrum 128 (like a + with extra RAM and the AY3-8192 3-channel sound chip) and ran the HiSoft C compiler. That's how I learned to code C when I was 13.

    There was also an assembler/debugger/compiler suite from Ocean calld Laser Genius. I had Laser BASIC and the Laser BASIC compiler too, and the dreaded Artic FORTH.

    Before that I had a ZX81 with an add-on keyboard, 16K RAM pack and a multi-tasking FORTH ROM by Skywave software. It was on a daughterboard with the BASIC ROM so you could power down and switch either ROM in and out.

    I still have it in a cupboard in my parent's house. I would love to transfer that ROM code across onto a PC so I could run it in a ZX81 emulator.

    The Z80 was way cool as a processor, so much easier to code for than the 6502 with its 256-byte stack, although it did have a "page 0" of quickly adressable RAM (ie the first 256 bytes) which almost made up for its poor register set.

    Ah, those were the days. I wish I'd then bought a 68000 machine, but my dad wouldn't let me since they weren't "proper machines" becasue they didn't "run 1-2-3" (without an emulator).
  • ^K^B start block
    ^K^K end block
    ^K^v move block
    ^K^C copy block
    ^K^Y delete block
    Hey! How did you know?!?! That's what I use every day for 5 years now! joe(1)...

  • Anyone used Sinclair Spectrum around here? I still remember awesome programs like:

    16k Pascal compiler (Hi-Soft) with integrated editor
    21k C compiler
    6K Lisp interpreter
    5K Forth interpreter

    People were careful with every bit those days.

    I remember there was a group at the Cluj Computing Center in Romania, who had found something like 26 hidden, not documented but working instructions in the Z80. I wonder if eZ80 still has them.

    Lotzi Boloni
  • No. The Commodore 64 was a 6800, as was most of the Atari machines (the 400 may have been 6502, but I'm not sure...)
  • by jafac ( 1449 ) on Monday September 20, 1999 @07:05AM (#1671160) Homepage
    And next year, intel will be releasing the 8088, renamed "Merced". . .

    "The number of suckers born each minute doubles every 18 months."
  • What YOU don't realize is:
    Z80 - $2
    RAM - $2
    Glue logic - $2
    ROM - $2
    Board space - priceless, if your project must be small (hand-held), light (space), or both.

    Furthur, if I already HAVE to have the FPGA for other reasons, incremental cost of the additional gates for the core is only a few dollars.
  • You might be use a Z80 (indirectly, but not very much so) when you eat at a restaurant, shop at the local mall, etc., and pay with your credit card. Pay attention to the credit card reader -- is it the (very common) TRANZ 330 from HP/Verifone? If so, a Z80 is handling your credit card data... (See here [verifone.com] for more TRANZ 330 specs, including the blazing 300/1200bps modem...)
  • Coolness, does this mean that I can finally put my Timex Sinclair 1000 on the internet? I had the ram pack AND the printer. Hopefully someone will port Mosiac to its wierd BASIC lang and I can have another machine that will time out trying to load up Slashdot.
  • by Anonymous Coward
    Uh, ok....so how to I get an upgrade for my TRS-80? Will my TRS-80 Opera program run faster now and screw up the timing of the music? Will the casette port be able to handle this?

    Better yet, will the embryos behind the counter at Radio Shack be able to tell me what a TRS-80 even is?

    Inquiring minds want to know!

  • oh yeah.... eliminator, battlezone,Valkyrie... I have a shoebox FULL of those old games... (You had to LOOOVE Lo-RES TRS-DOS games) well... have fun and enjoy
  • You could get an expansion card for the Apple ][ which has a Z-80 chip on it. We used this to run CP/M back in about 1982-3, ISTR.

    I still think that the BBC Micro was the best 6502 based machine available: tons of built in i/o, good graphics, a structured basic *with the assembler built in*.

    Great games too: remember the original Elite?

    dave "vdu 19,4,0,0,&ff"
  • by Anonymous Coward
    I have overclocked my TI-82, but I knew that some assembly programs (especially those written for the heavily-optimised shell CrASH) wouldn't run correctly, so I put in a DPDT switch to select either the new or original speed (capacitor). (I also put in a connector for a wall-wart or velcro-attatched AAx4-battery pack. AAAs are a ripoff.) The reason that the programs don't run correctly at higher speeds is that the display controller (connected to a port on the Z-80) can't keep up with the processor, especially if you use the CrASH graph memory copy routine, which has less delay in it to speed things up. Removing the capacitor in the TI-8x REALLY speeds things up, but the display is made totally useless. Unless you can find some way to speed up the display, forget upgrading to 4X speed. My 82 runs around 10MHz (~ 60% overclock) because it didn't work right if I went much higher. The display is a bottleneck on the 82 and 83. On the 85 and 86, however, the display is written to not through a port, but by direct writes to display RAM. It may be possible to overclock those more, but I'm sure you'll reach a point where your screen updates could exceed the actual refresh rate, which is unnecessary for [current] games (more complex games would be possible, however) but would really boost math processing. Another limitation is storage space. Just because you would theoretically have enough CPU for 16-level grayscale doesn't mean it would be practical. Uses too much space. (I've gotten 4-shade grayscale on my 82. An image viewer with up/down scroll of a compiled-in (nudie) picture. (Converting it to a usable format from JPG was a pain in the ass.) Only worked right on my calc due to compiled in delay lengths and such. I even used to play with the VAT (Variable Allocation Table, essentially FAT) and rename files.)
    I don't play with my calc a lot anymore. My new toy is a 486 40MHz with 20MB RAM, 1.2GB root drive, and 250MB swap/boot/other drive, Cirrus Logic 1MB VGA primary display, Hercules (using mdacon module, will compile into next kernel) secondary/messages disp, running Slack 4.0. For some damned reason some of the smaller fonts don't work properly in XFree, using SVGA server. Show up as static unless I partially cover the line of text with another window, and then it's still not perfect but at least it's readable.
    -- Matthew945@aol.blech.com [mailto]
    (Remove that blech to mail me hateful 'off-topic' comments [or better yet help on my font problem] because I'm bored.)
  • Better still, the TCP/IP availability makes possible a whole range of networked peripherals. Who needs USB?
  • I want one of these in my ti-86. Then i'd be able to watch it find roots of a 30 degree polynomial. And it would be great for games.

    Seriously though, it does say it's code compatible with the original Z80. Would it be too hard for some calculator hackers to "upgrade" a graphing calculator?

    Also, is the tcp/ip stack built into the chip? If so, could I browse the internet on my calc? You would just need a ppp implementation and a 9600 baud modem....
  • Hey, lets not forget you can Overclock the Z80 hella fast (see TI-8X overclocking)... as compaired to other CPU's this one goes almost 2X or even 4X as fast depending on the Calc

    More Resources @ http://www.ticalc.org
    http://www.calc.org
    http://www.ti-files.com(org?)
  • ACtually, there's a lot you can do with a Z80. It had a use in the past and it still has. We use moore's law to continue beeing more and more demanding on the hardware, but let's not forget those cute little beasties.
  • Hope you didn't cause a slashdot effect at that site. The two links I tried were dead. Will book mark and come back to that site after they reset the security software and put out the fires. If the Z80's are only $1.50 like someone said that might be the ticket to some homebrew projects instead of using PICS.
  • Isn't the Z80 the same processor used in lego mindstorms? If so... I'm thinking there's going to be a few adventerous(sp?) souls that are going to opt for a brain transplant.

    --
  • However, didn't Neo Geo have much better sound quality than the Genesis? I recall Neo Geo games having comparable sound to the SNES, or even better, if you consider how much ROM Neo Geo games got for sound samples.
  • by DonkPunch ( 30957 ) on Monday September 20, 1999 @07:13AM (#1671179) Homepage Journal
    The all-knowing, all-seeing DonkPunch looks into his crystal ball and sees the responses to this story:

    "Let's port Linux to it"
    "Let's make a Beowulf cluster"
    "I remember using a Z80...."
    "My company is developing embedded software for Z80s...."
    "Why? It's an 8-bit processor! Who uses that anymore?"
    "First Post"
  • Didn't the Commodore PET use a Z80?

    "The number of suckers born each minute doubles every 18 months."
  • by Skip666Kent ( 4128 ) on Monday September 20, 1999 @08:08AM (#1671181)
    Here's a bunch of Z80/CPM emulators [geocities.com] for all major platforms, kindly grouped together in one elegantly uncluttered site.

    Eat 'em up!


  • by Anonymous Coward
    I wonder if the hidden instructions still work on this baby. I'm looking at the codes tables and I don't see them. AFAIK, Zilog never acknowledged them, but they used to work on every single Z80 I tested them on. Some of these, especially the hidden rotation instructions, were pretty useful, too.
  • Assembly programming is easy on the z80 and there are still a lot of programmers who know how to do it. Combine this with a total cost of about a dollar for a chip and you have a winner.

    Why use a RISC thing or 68k processor when this one gets the job done more efficiently and at a lower cost? Just because more powerful processors are out there doesn't mean we need to use them. This is the same reason why my coffeemaker doesn't have a pIII-500 in it.

    With the rumors of the internet connected coffemakers, Zilog introducing a tcp/ip stack is a good move toward future embedded applications. This thing can probably easily be used in so called "internet appliances" at a very low cost and programmers don't have to learn a new instruction set.

    Andrew, waiting patiently for the era of the TI calculator with a web browser


  • If you took out every Z80 at Disneyland (and i assume D-World), the entire place would come to a grinding halt.

    My dad has been making homebrew computers to do the oddest of things there (gate coutners, ride controls, parade timing synchs, anamatronic computers, audio control systems, fireworks launchers, the list is practically endless) for 25 years.

    They work, they are cheap, they do the job, they don't run Windows. The new rides that crash (software... not hardware) a lot that were done by contractors (ie, Indiana Jones, etc) come down all the time because of the contractors insistance on using "I just got out of ITT Technical Insitute where i learned Visual Basic and now write software for Disneyland" Windows because all these goofballs think that the solution to everything is a PC with a x86, a Windows front end, and a serial port.

    My dad's Fireworks launcher - Mickey's Match - ran for well over 15 years and it just worked. No GPFs, no BSOD's... it just launched fireworks.

    ___
    "I know kung-fu."
  • heat for one thing and power for another. Believe it or not processors running at 16-100 Mhz generate heat! I ran the distributed.net DOS client on my 486 DX2/50 overnight once and then popped open the case, while it was still running, and touched the little magical chip containing the little Chinese guy who had been, for the whole night long, doing floating point calculations with his good friend Mr. Co-processor, and discovered that the chip gets hot. This was inside an old Gateway 2000 Behemoth-Tower with lots of interior volume and a good fan. Imagine a similar processor say a 486 SX/20, inside a little plastic TI calculator, sure it would be fast. But after you ran it for a while the plastic on the back would melt and get stuck to your flesh, inturupting your session of Super Mario Brothers 3D featuring Dolby Surround sound, and law suits would ensue. This is of course assuming that you would ever be able to shoe-horn a x86 processor in a tiny case, provide it with power, a bus, memory, and whatever else it wants. Power of course being the greatest obstacle...you can run a Z80 on 4 AA's for months of Tetris, graphing, and, oh yes... MARIO, but a x86 would require a battery pack the size of your TI-8x to give it enough juice for a day or two. In conclusion the eZ80 will be totally awesome if Texas instriments incorporates it in a Graphing calculator...Including a fast enough serial bus to connect a Cellular modem so you can go to slashdot.org and post lenghthy comments which will most likely never be read, such as this one.... Live long and enjoy your IPO!!
  • Well, a bit over-priced and under-spec'd. The Amiga and ST were out with their Motorolla 68000's so any Z80 machine then had a limited life-time ie 16/32-bit with 16 MB addressable memory vs. 8/16-bit wih 64K addressable memory + whatever you wired up to I/O ports.

    The Z80 was cool because it had separate I/O and RAM addressing on separate busses.

    ;->

    Groove-tastic, pop-pickers!
  • On a large scale? I don't see how it could possibly be practical. On a smaller, local, personal scale, sure -- just get together with some local hardware hacks and do it!
  • It's not an actual Z80 in the Gameboy and Gameboy Color. It's a
    work-alike. I/O and some of the registers are missing in both.
  • What makes this chip four times as fast? SIMD? On another note, what is the most powerful processor available that doesn't use a cooling fan?
  • What I don't understand is why Motorola dumped the 6809 instruction set for all its newer CPUs like the 6811. The 6809 was the best designed instruction set of any 8 bit CPU (its about 8 bit as the 8088). Even the 68000 was worse. Was the 6809 the last clean sucessful design the cpu world? (the NS32032 was clean but way too buggy).

  • Sadly, the display is dying on my TI-85 after less than a year. Teach me to leave it in my pack while taking the bus during the winter up here. I have to constantly rotate the brightness on the sucker.
  • the new z-80 is a 'good thing'. here's why:
    1) This paves the way for new texas instruments graphing calculators. (many run on z80s. it would be rather simple, according to zilog, to replace them with eZ80's.)
    2) i think that there's money to be made in a z80 based business computer. you could make the hardware for real cheap, and then custom tailor an incredibly efficient operating system, and business apps. the Z80 is how many decades old? Z80 programmers know that chip incredibly well by now, so they can get their code as efficient as possible. if all of the hardware was uniform, (like playstations) you wouldn't need to bloat the o/s with support for obscure parts that almost nobody has. also, being that the o/s code is completely new, you wouldn't need legacy support! I'm telling you, Z80 computers, while not perfect for gaming, could be made to outrun a PIII running win98 any day in business apps. for much less!
  • RCA COSMAC 1802 (have I got that right?!?) had no stack; all subroutine calls were corouties really, and left their return address in a register.

    Actually the 1802 did have a stack, just not by default. In fact it could have several, implemented using one of the 16 fully general purpose regs. You could even choose your PC, or use several (that got hairy real quick!). That dam D register was a major bottleneck, tho!

    sigh. I kinda miss my old Elf. Well...praps not that much. Miss my CoCos more!
    --
    If your map and the terrain differ,
    trust the terrain.

  • Sometimes beauty and elegance count for nothing. OS/9 was sort of nice too ... I mean the real one, not Apple's attempt to violate that trademark ("Mac" OS/9 indeed!).

    Even when it was in active use, the 6809 never had much real marketing. Motorola's strength wasn't appropriate to the task of World Domination, I guess.

    - Jojo

  • Only the ti89 and ti92 (big monster with qwerty keyboard) calcs have the mc68000. all others are z80
  • >The computer I had was a CPC 6128 Well no need of eZ80 for CPC as there is a TCP/IP stack in developpement which features : - An Amstrad serial interface driver - A loopback driver - A SLIP layer - IP and ICMP layers (so can be pinged) - UDP and rudimentary TCP layers - A DNS server - A TFTP server, write-only - A ping client - A finger client - A telnet client Go comp.sys.amstrad.8bit for more informations, and why not using CPC emulators ? It's great fun.
  • Try a TI-92 instead... ;)
  • Really?

    I never dealt with 232/485 on them so I can't comment on it.

    I liked having the included source code, I changed a few things in there quite easily. Their tech support did things like email me code snippets.

    The Dynamic C environment was really neat too. Costatements were pretty cool.

    Of course, I used them strictly for process automation so I guess it's a "right tool for the job" kind of thing. I wouldn't exactly use them for vision systems or anything :-)*
  • "Lets install one in ...."
  • As the other poster said, the Genesis used a z80 for sound processing. I'm not sure exactly what that powerbase convertor did that allowed you to play SMS games on the Genesis. I know a couple of the 'backup units' used the z80 side of the Genesis for their menus and thereby allowed you to run SMS and GameGear games on it (GameGear also used the z80). The Gameboy uses the z80 and the new color Gameboy uses some custom z80 that can run 2x as fast as the original one.
  • It's great for beginners at assembly programing - it has a nice, simple, clean architecture and instruction set.

    You got to be kidding. The Z80 is the only architecture that I would rank worse than the x86. Irregular registers, instructions that don't work well together (it's a pain to add an 8bit counter to a 16bit total), it's hard to put stuff into the index registers and using the index registers are incredibly slow, etc.

    I'm really surprised that the Z80 is used as much in the embedded world as it is. While the transistor count of a Z80 might be small, now a days, that cost savings is going to be swamped by the cost of testing/packaging anyway.

  • Zilog got started by kicking sand in the face of the Intel 8080/8085, then Intel all but wiped them out during the late 80s and 90s with the ludicrously successful 8051 core. This is second-sourced by dozens of semiconductor manufacturers, and supported by many modern optimizing C compilers.

    Zilog is a sad shell of its former self, having tried to diversify into DSPs and suchlike, but its a tough market and they don't have the volume.

    This announcement is just another tired attempt to pimp their legacy product portfolio by sticking the work Internet in a press release and 'e' before the product name. Boy, It's not like their based-on-a-20-year-old-core Big Idea is even shipping yet, not until 2000.

    ... and the guy who said its cool because it is available in VHDL, unless you already have spare configurable logic in your design, the necessary gates are probably >10x the price of the silicon CPU.
  • Now with TI explicitly enabling asm programming on their calculators (without having to use memory dumps) a lot of young ones are delving right into it.
    Sounds a lot like the HP28/48: 4MHz, 4bit saturn processor! When I got an HP48SX, I had to program the op codes in HEX. No doubt the ultimate geekness, the only problem being that too many jumps were giving you headaches...
    Also, 2 pass hand assembling becomes like a second nature :-)

    ---

  • That's the strangest myth I've heard. First of all, when did Texas Instruments open a branch in Taiwan and rename the company? Second of all, I've had several TI calculators for several years and the keyboards have never "been bad." I like them better than HP calculators, and so do most people.
    Adam Berlinsky-Schine [mailto]
  • My first programmable was an HP-32sII, and I loved that calculator. Come to think of it, I still do (and I still use it on a regular basis)

    And I do like they keyboards on the HP's better than the TI's. Something about the clickiness.

    nathan
  • Whoops, the 8088 was an incremental de-evolution of the 8086, a new chip that maintained *assembly* source compatibility, not object code compatibility, with the 8080.

    The whole family, and the special-register architecture is diseased. Thankfully, the Merced will deviate from this.

    -John

  • A friend of mine programs autopilot systems for Honeywell. I believe he said when he first started working for them about 6-7 years ago, they were using z80s for the embedded cpu's for flight control systems for several different types of aircraft.

  • Yeah, that's kinda funny. Why don't we ever see a 6502 or a Z80 that runs at 100MHz or more? I would think it'd be so much easier to design a high speed 8-bit processor than a 32 or 64 bit one.

    Since we're reminiscing about old processors... I cut my teeth on assembly language programming with my trusty 6809 processor in my Tandy Color Computer. It didn't have as many features as the Commodore 64 which was twice the price, but it was still pretty good.

    Programming in assembly gave me a greater appreciation for how computers work, and served me well at college. At Purdue, I took EE 362 (Microprocessors and Interfacing) which also used the 6809. I was the only guy in that semester's class who had done assembly language programming, so I aced it easily. I hadn't done interrupt-driven programming before, so I still learned a lot.

    Yep, those were the good ol' days. I bought the Tech Ref manual for my CoCo. It had complete schematics, as well as a description of all major functions. Compare that to today, when I was searching around Intel's site to see how big a L1 cache the PIII has. Sheesh, found some half-useless performance figures and a lot of marketing crap, but no spec sheet. What has the world come to?

    Of course, these days aren't so bad. I remember when I was struggling to get an 80-column display for my home system (finally got it with the CoCoIII but it wasn't that good). Then the struggle was to get something close to vi because I had been bitten by the Unix bug. I had started writing my own editor (not nearly as much OSS back then). Now I work and play on a pair of SGI 1600SWs in 24-bit color, with several 32-bit multi-tasking, multi-user OSs at my beck and call. With megabytes (instead of kilobytes) of RAM. I also have my choice of OO languages and compilers, instead of being faced with the decision of Basic vs. Assembly. So it's the good new days too.

  • The Z80 was my first introduction to Assembler as well, on an old TRS-80 Model II (*sniff*, I miss that big oaf).
    Imagine their suprise when an 11 year old (or around that) walks into a Radio Shack asking for a book on assembler for a machine they haven't sold there in like 5 years or more. :)
  • From an instruction set architectural point of view, the eZ80 sounds roughly about as powerful as a MC68000, which was introduced in 1979 and was the first member of its family. Zilog has been playing catch up ever since. First the Z8000, then the Z80000. The pinout of the eZ80 vaguely resembles an 68008. Eight data lines, Twenty four address lines (Okay, so the 68K doesn't have A0, but rather two decoded strobes: UDS and LDS).

    As for the instruction set; the Z8000 and Z80000 are rather obscure architectures. According to the eZ80 PDF spec, Z80 programming is supported in some kind of virtual machine mode, probably similar to V86 on 80x86 processors. From what I gather is that you run Z80 code in a 64 kilobyte ``sandbox''. Blech! Whatever abundance of Z80 programming talent may be out there, if I'm to believe you, is only directly applicable to this lobotomized mode. I'm guessing, but the full mode likely has an instruction set that is compatible with the 32 bit Z80000, so you want to be coding in that language.

    (You know, a lot of people know 8086 programming! But what does that have to do with 32 bit 80386? Would you build on a 80386 on the justification that you can easily find DOS programmers who can hack 8086 code? Oops.)

    It's likely that more people know 68K programming than Z80*000* programming. 68K programming hasn't changed much in twenty years, in the sense that if all you know is the original Motorola instruction set (which is pretty darn nice as far as these things go), you can still make fairly good use of any of the family members, unconstrained by address space or register size issues. That is not the case with these awful 4004 descendants, which, despite maintaining measures of backward compatibility, have undergone radical instruction set transformations.

    Anyway, you'd probably want to program a 32 bit processor in a higher level language---so ultimately who cares how nice the instruction set is from the programmer's perspective? You can pick up a new machine language on week's notice if you need to; you just need a solid architecture reference manual.

    As for the TCP/IP stack---big deal. All you need is a C compiler and some time to port an existing stack. I suspect that these things are a lot easier to come by for a 68K system, than for a Z80* system. (Here is a question: for one thing, is GCC currently targetted for Z80K?)

    But I'm all for diversity: let me know when they have Linux or *BSD running on some Z80* box. ;)
  • What assembler (and machine language :-) teaches is that a line of code is not just a line of code; I know far too many so called programmers who haven't got a clue that some lines are fast and efficient, some are slow and inept.

    You learn how operations break up into smaller pieces. You learn that timing varies all over the map. You learn the details of how instructions work, and how that affects programs, for speed, size, clarity, modularity, expandibility.

    You gain new respect for compilers and compiler writers. You gain an insight into what makes computers tick that has nothing to do with counting cycles and bytes. You become a much better compiler language programmer without having to worry about counting cycles and bytes, because you have learned the gestalt of computers. Only assembler and machine language teach that.

    Certainly some programmers become excellent without ever knowing assembler, but I have met far too many who simply have no understanding deeper than syntax limits of the language of the day. I seriously believe that assembler should be the second language learned, preferably on 8 bit micros where the instruction set, timing and size, can be memorized just by using it. (The first language should be something like Logo, or Python, or maybe the new Rebol, where the goal is to find out if analyzing and debugging is something the student likes.)

    As for PICs, I looked them up for a job interview a few years back. Same reaction as when I first saw Sparc and Alpha specs. Yay! another assembler (ahh the Alpha is sweet, especially the atomic r/w). Several cute tricks, but once you have a dozen assemblers under your belt, there are no surprises. 68K, Yay and Thank You Motorola! VLIW, Yay! Merced, Yay! They all have their tricks, and they are all fun.

    There is only one exception, and that is the x86. It has no redeeming features. Disgusting registers, disgusting opcodes, and nothing interesting. Wrote a virtual emmory system for 386. What a pig dog!

    --
  • >what is the most powerful processor available that doesn't use a cooling fan?

    Possibly one of the StrongARMs (e.g. the Netwinder's SA110 @275MHz)?
  • RCA COSMAC 1802 (have I got that right?!?) had no stack; all subroutine calls were corouties really, and left their return address in a register.

    CDC 6600/7600 had marvelous interacting registers. Set A1-5 with an 18 bit address and the corresponding 60 bit X register was loaded from that location; set A6-7 and the X was stored to that location; following instructions executed in parallel with the transfer. I have seen many references to them as the first RISC machines, and this was mid 60s. Wonderful wonderful machines. They also had the PPUs to handle I/O and system control. Up to a dozen or so 12 bit computers. Actually one PPU which rotated thru a "barrel" of the dozen or so registers sets and memory banks, looking like separate slow processors. A lot of fun.

    Old drum machine spun at 17000 rpm; 200 bands of 25 words aiece I think, decimal, or should I say biquinary (quibinary? Univac had it one way, IBM the other) where the 4 bits were 5-4-2-1 not 8-4-2-1. One gate per circuit card, vacuum tubes power supply, took an hour to spin down. We rewired the instruction set to give us new capabilities!

    1620, another decimal machine, with a CRT hooked up so you could toggle the sense switches to play space war.

    Fond memories indeed.

    --
  • Also, the Commodore disk drives (1541 and 1571) had their own on-board 6502 processor, RAM (8K ?) and ROM (32K ?). They communicated over a serial bus, and you could even chain two drives together and install a little program to automatically copy disks (which would still work after unplugging the computer).

    Of course, we didn't have RC5 back then...
  • The 6502 was the first chip I learned assembler on. In fact, back then, assemblers were pretty expensive (no open source assemblers, either), so I memorized all the opcodes and did quite a bit of hacking in raw hex on that chip. Those were the days. :)

    Of course, I later learned 8086 and then 80386 assembler (I refused to learn the 16-bit protected mode 286 stuff as it was way too crufty :), but by then I had an assembler (in those days MASM was widely available and I got it for free)...

    Now I couldn't remember the opcodes for the 6502 if I tried... I haven't coded on that chip in years.

    Oh yeah, and the only popular machines with the 6502s were the Apples. The 6800 was really popular on the Commodores. But the rest of the industry standardized on the Z80.

    FWIW, the 6502 later begat a 16-bit version, the 65816, which was put into the Apple IIgs in 1986, which was really the first "multimedia" computer (stereo quality sound [not yet available on the Macs at that point], had a CD-ROM drive available for it, had decent graphics for the time (640x400). AFAIK, Motorola is still selling the chips for embedded applications (they were last time i checked), but who knows.

  • There seems to be a consensis here that the Z80 runs @ 1 Mhz. I know the Z80 is in the TI-81 to TI-86, and in these devices it runs @ 6 MHz, which is evenidenced by some of the impressive programs which can be run on assembly progamming. God knows that little processor has saved me from the bordom of a lenghthy physics lecture and endless notes in a humorously easy computer class, by providing me with the wonders of Tetris and Super Mario. What I don't understand is how the clock speed of the eZ80 will be changed, the brochure says it is capable of up to 80 Mhz, while executing instructions four times faster than the original Z80. Will each chip have a different clock speed or will all of the chips be capable of 80 Mhz??

    I am very interested in taking apart my TI-82 or -86 and putting a eZ80 in the socket. But will the new processor run on the same voltage? If it runs @ 6 Mhz it will be four times faster, something which will be a definite advantage when graphing equations or manipulating Matricies...

    Howfully prices will be set soon, something cheap enough to allow one to tinker with and not worry about if it gets fried in your graphing calculator.
  • That means that I can get the VHDL description of the device, and drop it into an FPGA or ASIC (field programmable gate array and application specific integratted circuit) and make a single-chip solution to some embedded problem. Who would buy the actual silicon from Zilog?

    A FPGA from Xilinx costs about $20. The Z-80 costs a few dollars. Multiply the difference by about 1 million and you see significant savings by using the Z80 from Zilog.
  • by Issac ( 28057 ) on Monday September 20, 1999 @09:06AM (#1671239)

    I remember the good 'ole days of Cromemco and the Cromix operating system. Some of the machines had a Z80 and a Motorola 6800 DPU. The Z80 ran backward comtability programs andthe 6800 ran the OS.

    My dad and I hooked up an A-to-D board and controlled an RC car in the garage. Talk about your open standards. It schematics, replacement component #'s (not part #'s, component), journals about the hardware/software similar to the linux community or LJ ("TechTips" it was called).

    It had the original Star Trek and Adventure, I blasted banner pages at all of my dads employees, and sat dumb-founded by the high-speed dot matrix printer with the gree-bar. It rattle back and forth until it walked accross the room. I can remember having to build a sound absorbing box because nobody could hear the phone over the top of it.

    I guess my favorite thing about the system was being able to fry a serial port controller in the morning and have it repaired in an hour with off the shelf components.

  • That wouldn't matter for the TI-89 or 92, though, since they use a Motorola processor anyway. But connecting to the internet... wow. I'll have to find out more about that.

    And I still think it should be possible to put Linux on an 89.
    --
  • Don't know about the PET, but the C-128 had a Z80 in addition to the 8502 (6502-derivative) main CPU. However, you could only use one CPU at a time (Z80 for CP/M compatibility, 8502 for everything else).

  • Although the PIC branching logic seems a bit confusing, it makes sense at a low level. The PIC is pipelined so that the next instruction is being fetched while the current one executes. In the case that a conditional instruction wants to "skip", the CPU just replaces the fetched instruction with a NOP.

    The aspect of the PIC which I found the most confusing was trying to do a table lookup from ROM. I was used to a 6502/68000 style where you would use an indirect addressing mode, like "move.b (a0),d0". On the PIC you have to call a subroutine which adds the desired table offset to the program counter register, thus jumping somewhere into a block of RETLW xx instructions (which return from a subroutine with a constant 'xx' in the W register). It gets harder if your table crosses a page boundary.

    Still, apart from a few oddities, I like PICs. There is a series with Flash memory (e.g. 16F84) rather than EPROM, which greatly speeds up the development cycle time (no more UV-erasing). There's also a series (e.g. 12CE518) which comes in an 8-pin package with up to 6 I/O lines, and a serial EEPROM on board.
  • This is the same reason why my coffeemaker doesn't have a pIII-500 in it.
    My coffemaker has a PIII-500 in it - for a heating element!
  • Oh yeah, glad I wasn't the only one to do that! My HS bought a TRS-80 MIII back in '81 and once I reached the limit of what I could do with basic, I then moved on to Z80 assembler because that's all else there was.

    Then I got to Purdue where I learned 'the true nature of the Force' with OS/360 BAL. Thank god they got a vax 11-780 the next year or I might have given up on programming as a career (I eventually did anyway, but not because of IBM mainframe assembly.

    By the time I graduated in '86 they had IBM XT's but I never had much of a chance to program assembler on those.
  • ah, oops - I replied earlier b4 I saw that you had already done it for me. :-)

    How about a TRS-80 / Sinclair flame war?
  • The Z80 is the only architecture that I would rank worse than the x86.

    Hmph. Go find some documentation on the Saturn CPU used in the HP-28/48/49 calculators. It makes the Z-80 look like a 68000 from that aspect.


    instructions that don't work well together (it's a pain to add an 8bit counter to a 16bit total)

    You mean like:


    INC C
    LD B,0
    ADD HL,BC
    (surround the LD B,0 with a PUSH/POP if needed)?

    In general, the Z-80 was simple to learn and use, from both the hardware and software perspectives. I'm happy to see it still around. Some things I did with it in 1980 (say, a programmable sequence tone generator - in 4 chips and no RAM) were next to impossiblt to do as well or as cheaply for years afterward.

    --
  • I remeber the 820, almost bought one.
    It's 8 inch drive was compatable with an
    IBM key to disk machine, don't remember the
    number. Anyway, I wrote a program to emulate the
    key to disk machine and it worked. Just didn't
    have the cash to buy it at the time.

    My wife wanted a setup like that to replace
    her keypunch machine. We still have it.
    Maybe I should ebay the keypunch machine!
  • Comment removed based on user account deletion
  • by Christopher B. Brown ( 1267 ) <cbbrowne@gmail.com> on Monday September 20, 1999 @07:15AM (#1671286) Homepage
    From a practical standpoint, the people that will care about this announcement are those that construct embedded systems. The microwave oven you buy next year could conceivably contain an "eZ-80."

    On the other hand, the larger memory space and (seemingly built-in?) TCP/IP stack offers the opportunity to build a "RetroWeb Server." Note that ZSDOS, [psyber.com] a ZCPR variant, is now available under the GPL.

    The possibilities are immense, I mean, minscule. A complete web server could probably fit in a volume of 2 cubic inches...

  • The original Sega console system, the Sega Master system was powered by the z80. Back in the day that was the system to own. It didn't have tons of games but the graphics ruled the NES. They even made a converter for the Genesis that had a z80 in it for backwards Master System compatability. Great old system, still wouldn't trade my Dreamcast for one though.

    Pete
    I can see through time - Lisa Simpson
  • by Anonymous Coward on Monday September 20, 1999 @07:18AM (#1671290)
    It was recently announced that Amiga would incorporate these chips into their new machine designs.
  • If you have the computer link cable for the TI calc, on the site ticalc.org (I think) there is a terminal program... hook an external 9.6 modem to the computer link cable and start hacking!
    -phil
  • by evilpenguin ( 18720 ) on Monday September 20, 1999 @07:19AM (#1671294)
    I couldn't agree more. It had several cool features. Bit testing instructions. Two complete sets of general purpose registers (EX and EXX instructions, remember?). More on-chip integration than most (the refresh register for dynamic memories). It had a vectored interrupt system. All of this and full instruction set compatibility with the much less capable 8080A (and its later incarnation, the 8085).

    My Dad was an EE who worked for Control Data and I was a pimply-faced teenager who loved programming. We homebrewed an S-100 bus based Z80A computer between 1975 and 1978 (so it took us awhile!). I wrote the BIOS for our hardware for CP/M 1.2 (later 1.4 and 2.0 also) in Z80 assembler.

    We also did a number of embedded projects with the chip. The z80 had features that were a dream for embedded programmers. In our case, we made a simulated event-driven machine by polling during a timer interrupt. We made use of the aforementioned dual register sets. Instead of the normal chaos of stack frame switching (and hoping you do it right) we just said the prime register set is for the interrupt service routine and the regular set is for the normal operation. On entry to the ISR, just do an EXX and on exit do another one. No disruption of the "application" whatsoever, plus interrupt latency is unbeliveably small (no external bus cycles at ALL!)

    I did and do love this chip. I know it can't really cut it as a general purpose computer CPU anymore, but some of those apps that were built on and ran on this hardware (WordStar, etc.) did quite a bit. They're not that much weaker than Word and they would run in less than 64k on machines clocked at from 2 to 6 MHz. How well would Word do?

    It is great to see this processor still alive and kicking.
  • The Z80 is an awesome processor. It's great for beginners at assembly programing - it has a nice, simple, clean architecture and instruction set. It has thousands of uses in embedded applications and is plenty fast for most of them. The Z80 is available for $1.50 a piece (at Fry's) and even takes very little power and produces very little heat.
  • Some time back I wrote a patch for a public-domain Z80 assembler to let you also use the intel opcodes (with a pseudo-op to switch between them), to simplify some porting of an 8080 ROM monitor/debugger. The Z80 was "trailing edge" technology at the time, so I didn't publish them. Maybe I ought to now. (If I can find 'em. B-) )
  • by Eg0r ( 704 ) on Monday September 20, 1999 @07:31AM (#1671327)
    Those were the old good days, going straight from basic to assembly, because you only had those two languages available on your computer 8-)

    The computer I had was a CPC 6128 and Gee, did I just love this computer? I even made myself an 8Kb memory extension to write my own boot code that you would call like |Eg0r and stuff from the basic prompt, brilliant!

    Anyway, I still do think that in order to learn assembly properly, all you need is a processor you understand everything about, from registers to conditional jumps and so on... Man, x86s are just too complicated to program :-need all those instructions? I know it's cool to have instructions that would take you several op codes to get the same result, but when you learn, all you need is the bare minimum :-)

    Anyway, what I learned about the Z80 around when I was a 14 year old teenage kid thinking 'Gee, 8K? I'll NEVER need that much space' :-) helped me with the motorola 68K (both at school and on my Amiga) and then with the TMS320C30, C50, C40 DSPs...

    Once you've seen ONE assembly, they are all the same, but you need to start humble, and the Z80 was just a great start for me.

    Of course, this is all redundant now, because VLIW is not something you code by hand, but having some knowledge being able to code a microcontroller is never lost!

    See Imaging [imaging.com] tutorials 1 [imaging.com] and 2 [imaging.com] to get some ideas of what can be done both in C, assembly and MMX!

    So, what do you guys have learned assembly on?

    ---

  • by dattaway ( 3088 ) on Monday September 20, 1999 @07:38AM (#1671351) Homepage Journal
    I'm not sure about Legos, but the Z80 is used in industrial controllers and has proven very reliable. I see the Z80 pop up in various products over time. The Z80 may never die.

    Here [attaway.org] are some Z80 source code for projects done back in college, including GUI with mouse, etc.
  • Hitachi did a couple of 'extended' variants on the Zilog Z-80 as well. The Hitachi HD64180 is a souped-up Zilog Z-80, and later reissued as the Zilog Z-180. Includes a simple two-segment MMU which allows for access to greater than 64K, several new instructions, and a whole lot of internal special-purpose memory-mapped registers that control things like the on-board serial ports. A great chip for embedded work; I've been brushing up on Z-80 assembly code that I used on an old friend's TRS-80 model I years ago, because we found one of these as a controller chip inside a high-end VCR.

    Hitachi has done this sort of thing before; the Hitachi 6309 is essentially a souped-up Motorola 6809, as many of the old TRS-80 Coco fans know...

    -- Bryan Feir
  • by wowbagger ( 69688 ) on Monday September 20, 1999 @07:45AM (#1671357) Homepage Journal
    What many of you don't realize is the importants of the statement "Synthesizable core". That means that I can get the VHDL description of the device, and drop it into an FPGA or ASIC (field programmable gate array and application specific integratted circuit) and make a single-chip solution to some embedded problem. Who would buy the actual silicon from Zilog? But give me a small, simple core in my ASIC and I'll be a happy man.

    BTW, I too learned my assembly on a Z80. I learned real quick what happens when an ISR takes too long by writing code to blink the screen on a TRS-80 from interrupt, a lesson that I have carried forward into my years as a professional embedded software designer.

Technology is dominated by those who manage what they do not understand.

Working...