Image Map Image Map
Page 2 of 2 FirstFirst 12
Results 11 to 19 of 19

Thread: Z80 speed

  1. #11
    Join Date
    Jan 2014
    Location
    Western North Carolina, USA
    Posts
    1,403

    Default

    Your recollection is incorrect; Z180 implements all of the documented Z80 instructions. You're thinking Rabbit CPUs, which, IIRC, you have some experience with.
    --
    Thus spake Tandy Xenix System III version 3.2: "Bughlt: Sckmud Shut her down Scotty, she's sucking mud again!"

  2. #12
    Join Date
    Mar 2020
    Location
    Wayne National Forest
    Posts
    126

    Default

    Quote Originally Posted by lowen View Post
    Your recollection is incorrect; Z180 implements all of the documented Z80 instructions. You're thinking Rabbit CPUs, which, IIRC, you have some experience with.
    Well they call it Z180 in their documentation.

    Guess its just all who Z180 were talking.

  3. #13
    Join Date
    Jan 2014
    Location
    Western North Carolina, USA
    Posts
    1,403

    Default

    The current production Zilog Z8S180 is the one I'm talking about; it's a superset of the HD64180.
    --
    Thus spake Tandy Xenix System III version 3.2: "Bughlt: Sckmud Shut her down Scotty, she's sucking mud again!"

  4. #14

    Default

    I agree with lowen that the Zilog Z180 family impliments all of the documented Z80 instructions and it also added 12 new ones: SLP, MLT, IN0, OUT0, OTIM, OTIMR, OTDM, OTDMR, TSTIO and TST (3 variants). There are no instruction differences within the Z180 series (i.e. Z80180, Z8S180, Z8L180 etc.) although some have different internal I/O registers and react slightly differently to low power modes. They all use the same User Manual which describes the instructions.

    It's my understanding that there are rarely encountered differences between the Z80 and Z180 in RLD, RRD and DAA after a DEC instruction but I've never encountered any issues with this.

    Personal opinion: After writing assembler code for a variety of architectures over a 50 year span, I consider it extremely poor programming practice to use undocumented instructions. There is absolutely no reason why a manufacturer shouldn't change undocumented behaviour with different mask or microcode versions of an identically named processor. Moreover, it's my preference that undocumented instructions result in an exception event as it does with the Z180 TRAP.

  5. #15
    Join Date
    Mar 2020
    Location
    Wayne National Forest
    Posts
    126

    Default

    Quote Originally Posted by WSM View Post
    I agree with lowen that the Zilog Z180 family impliments all of the documented Z80 instructions and it also added 12 new ones: SLP, MLT, IN0, OUT0, OTIM, OTIMR, OTDM, OTDMR, TSTIO and TST (3 variants). There are no instruction differences within the Z180 series (i.e. Z80180, Z8S180, Z8L180 etc.) although some have different internal I/O registers and react slightly differently to low power modes. They all use the same User Manual which describes the instructions.

    It's my understanding that there are rarely encountered differences between the Z80 and Z180 in RLD, RRD and DAA after a DEC instruction but I've never encountered any issues with this.

    Personal opinion: After writing assembler code for a variety of architectures over a 50 year span, I consider it extremely poor programming practice to use undocumented instructions. There is absolutely no reason why a manufacturer shouldn't change undocumented behaviour with different mask or microcode versions of an identically named processor. Moreover, it's my preference that undocumented instructions result in an exception event as it does with the Z180 TRAP.
    Sadly there is lots of older software and especially games that did use undocumented instructions.

    With research some of this might be able to be patched and fixed. But many of them thought they would do.some stealth manuver that would help protect their code from being reverse engineered.

    Some undocumented were left over from beginning roots of Z80 and some early Z80 programmers had favorite old instructions that were only retained as undocumented.

  6. #16
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    35,334
    Blog Entries
    18

    Default

    There are numerous implementations of the Z80 in FPGA, most of which run faster than the original part.

  7. #17
    Join Date
    Jan 2014
    Location
    Western North Carolina, USA
    Posts
    1,403

    Default

    The FPGA Z80 core I've thought about trying out is Monte's Y80 core from his book "Microprocessor Design Using Verilog HDL" available on Amazon. If you don't know who Monte Dalrymple is, here's his resume: http://www.systemyde.com/resume.html. (in other words, he knows because he designed a bunch of this stuff at Zilog and for Rabbit).

    There is a Y80e open core that implements the non-ADL eZ80 instructions; Y80 is highly efficient.
    --
    Thus spake Tandy Xenix System III version 3.2: "Bughlt: Sckmud Shut her down Scotty, she's sucking mud again!"

  8. #18
    Join Date
    Mar 2020
    Location
    Wayne National Forest
    Posts
    126

    Default

    So what do you think? A 4 Mhz Z80 as installed in a M4 does on a good second, a little over 1 MIPS, after accounting for wait states etc.

    Of course this heavily depends on the instructions but just an average guess. But I would guess well over 1 MIPS and less than 2 MIPS?

  9. #19
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,060

    Default

    The *fastest* Z80 instructions take a minimum of four "T cycles", or clock ticks, with *zero* wait states. So a Z80 at 4mhz running nothing but NOPs could be said to be running at "1 MIPS". No faster.
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •