Close
0%
0%

STEbus Z8000

Interfacing an existing Z8000 design to the STEbus

Similar projects worth following
Based on an existing CP/M-8000 machine: https://github.com/4sun5bu/Z8001MB
My goal is to fit it on a Eurocard and talk to others.
I have a Z8001 CPU and Z8581 clock chip from eBay for £8.
CPU is rated 6 MHz so I may run that at 4 MHz derived from 16 MHz STEbus clock.
Or use a 48 MHz oscillator divided by 3 to get the STEbus clock, and divided by 8 to get a 6 MHz CPU clock.

Well, another "I've just got the chips" project :-(

However, I have also collated a lot of data, including the Byte Trump Card Article and a couple of books about the Z8000. One by Lance Leventhal, one by Bradly K. Fawcett.

I have started creating the Z8000 BASIC interpreter from the book by Rolf-Dieter Klein. Someone has already got it going and has videos on YouTube, but no links to code or circuit design. He has a homepage in Japanese: http://737mhz.blog130.fc2.com/ and more discussion but still no technical details.

http://www.pofo.de/S8000/ has a lot of information about Zilog's Z8000 systems but they may be too complex for my wishes.

Zilog Z8000 technical manual in html form.zip

Technical manual, partial conversion to html.

Zip Archive - 34.81 MB - 11/12/2021 at 20:30

Download

Zilog Z8000 programmers guide.zip

Application note about Z8000 programming, in html form.

application/zip - 76.90 kB - 11/12/2021 at 19:13

Download

STE-Z8001_glue_logic_1.eqn.txt

First draft logic equations to fit the 4sun5bu design TTL circuitry into a single 22V10 chip. Not compiled or tested yet!

plain - 2.82 kB - 11/11/2021 at 13:32

Download

Z8000_BASIC-lst.txt

The listing allows the data words to be checked against the assembler statements. It has allowed me to spot and correct several mistakes in both parts.

plain - 116.40 kB - 11/09/2021 at 16:05

Download

Z8000_BASIC-src.txt

Avoids the need for a Z8000 assembler by taking the listing from the book, turning the Z8000 assembly statements into comments and the hex data into code that most assemblers can handle. Unchecked and untested.

plain - 46.56 kB - 11/09/2021 at 16:05

Download

View all 10 files

  • CP/M-8000

    Keith11/09/2021 at 23:46 0 comments

    After wondering where 4sun5bu got the original source code from, I found it here:

    http://www.cpm.z80.de/source.html

    You can also find the manuals here:

    http://www.cpm.z80.de/drilib.html

    Archived and OCR'd at:

    CP/M-8000 System Guide

    CP/M-8000 Programmer's Guide

    CP/M-8000 User's Guide

  • Compact Flash interface

    Keith11/09/2021 at 23:30 0 comments

    The original design uses an 8-bit data path. So it either works in the relatively slow 'PIO' mode, or wastes half the card data.

    A CF card can also present itself as a memory-mapped device, showing 1K of 16-bit words at a time.

    I think the CPU may be able to boot directly from the CF card in memory mode, bypassing the need for the ATmega device.

  • Glue logic

    Keith11/09/2021 at 23:08 0 comments

    The TTL chip glue logic inputs and outputs are:

    Inputs  Outputs
    AS      ALE to two 74F573 chips
    !MREQ   RAM CS
    B/!W    RAM_ODD !CS
    A18     RAM_EVEN !CS
    A19     RAM !OE
    !DS     RAM !WE
    R/!W    
    A4      SCC !CS
    A5      CIO !CS
    A0      IDE !CS
    !DS
    ST0-3

    Adding up to 15 inputs and 9 outputs = 24 i/o pins total. More than a 22V10 has.

    The RAM active high CS output can be omitted by using MREQ in the active-low chip select equations.

    The AS and ALE pins can be omitted if kept in an external inverter.

    The CIO select output pin is not currently used (freeing one pin).

    The steps above reduce the pin count to completely fit in a single 22V10 chip.

    The SCC select output could be used to select a USB FIFO interface instead.

    I have attached a first draft logic equation, but not tried compiling it yet,

  • Project proposal

    Keith11/09/2021 at 14:48 0 comments

    I propose starting from an existing CP/M-8000 machine project, which looks like this:

    Z8001MB.JPG

    My project proposal is to

    • construct on a Eurocard (160x100 mm)
    • replace multiple TTL chips with GAL chips
    • add a FIFO-interface USB module (replacing the Z8530 UART and serial USB module)
    • add an STEbus interface

    4sun5bu's sparsely-populated board has about 48x84 holes and looks about 5.4x9.25 inches or 235x137 mm. This is twice the area of a 160x100mm eurocard. I think it should fit.

    4sun5bu says that 74F logic should be used, because 74LS is not fast enough.
    I shall take that as a warning to pay attention to timing.

    The Compact Flash interface is unbuffered. 
    You might be able to use an IDE/PATA drive 
    with a very short cable, not the long cables used in old PCs.

    I intend to port some or all of the glue logic to GAL chips.
    This will make changes quicker than rewiring.

    Parts list:

    Qty Device Package Comment

    1 Z8001 DIP48 Essential
    2 RAM DIP32 Essential
    1 USB DIP24/40 Replaces Z8530 serial chip 
    1 ATmega164 DIP40 Controls boot-up

  • Research

    Keith11/09/2021 at 14:07 0 comments

    One of the first parts in technical papers is a survey of existing works. 

    Z8000 board (the Trump Card) by Steve Ciarcia in Byte magazine

    Hardware: A full-length ISA board as a slave to the PC. Most of it is a massive array of sixty-four 4164 DRAM chips giving 512K of RAM. These could be replaced by a a pair of 512K SRAM chips. Communication is through a 2K RAM with counter supplying the address lines.

    Software: It ran a BASIC interpreter but I can't find it in any form on the web.

    Documentation: Several articles in Byte magazine. 

    Z8000 board by Rolf-Dieter Klein

    Hardware: I believe this is documented in one of his books, but I can't find a copy online.

    Software: There is a listing of a Z8000 BASIC interpreter (and the Z80 BASIC it was based on) in his book. I've had a go converting the listing into a form that can be assembled by non-Z8000 assemblers, but I have nothing to test it on yet.

    Documentation: His books are in the German language. 

    Z8000 board by Christopher Ramage

    Hardware: He has made a PCB for this. An Atmel Arduino board is used for boot-up and debugging.

    Software: Not publicly available.

    Documentation: Just the circuit diagram.

    Z8000 S8000 system by Zilog

    Hardware: Lots of documentation on this website but the S8000 system is very big and used lots of small-scale TTL and chips of the period. So it is bigger and more complicated than necessary in 2021. 

    Software: Many EPROM images with source code.

    Documentation: Plenty. Some of the scanned circuit diagrams have been redrawn on a modern ECAD package, and are much easier to read.

    Z8000 board videos by 737MHz

    Hardware: Constructed on prototyping board.

    Software: Runs BASIC. 

    The videos show the board running BASIC but there is no verbal or written commentary.

    Documentation:  Nor links to any documentation. 

    The PC downloading software has a Japanese user interface, so searching for Japanese web-pages is a rich source of links.

    Z8000 projects on Github

    tgtakaoka has done a lot of work writing assemblers, and supporting the Z8000.

    4sun5bu has a Z8001 project built on prototyping board with circuit diagrams and software. It boots from a microcontroller, and runs CP/M-8000. It is the most advanced project I can find.

    4sun5bu is also this chap: https://www.blogger.com/profile/10308244904742468931 whose Japanese name translates to 4 inch 5 minutes. I think it refers to a size of dagger. His  blog  https://choisaki.blogspot.com/ has a lot of Z8000 stuff.

  • BASIC interpreter

    Keith11/07/2021 at 04:11 0 comments

    2021-05-07

    I've found source code for a Z8000 BASIC interpreter and monitor, in an online book by Rolf Dieter Klein. I did a quick check of the OCR. My Chrome browser can translate the German to English, not perfectly but fairly readable.

    The OCR'd listing is very poor, so that will be a lot of work to restore to usable source code.

    Jurjen Kranenborg reports he is developing a monitor and BASIC interpreter based on Klein's code. https://www.kranenborg.org/z8000/software/index.htm but no sources are visible yet. I have had a go myself, but have no Z8000 assembler yet.

    2021-11-05

    Lacking an assembler, and needing a reference to check an assembler output, I converted the book's listing into something that can be assembled as a collection of labels, hex words and ASCII characters. The original assembler statements are made comments. This involved a lot of editing and typing the hex data in by hand!

View all 6 project logs

Enjoy this project?

Share

Discussions

Just4Fun wrote 05/18/2022 at 11:53 point

Very interesting! Found your research project just now. I've a couple of Z8001 around and with the info here I should be able to make a sort of Z8000-MBC running CP/M Z8000 when I have the time...  :)

  Are you sure? yes | no

Ken Yap wrote 11/10/2021 at 00:50 point

Very interested in seeing you bring this piece of history back to life. I never had any Z8000 chips so my nostalgia isn't strong but I did use a Z8000 Xenix system back in the day.

  Are you sure? yes | no

zpekic wrote 11/07/2021 at 23:23 point

I remember reading the Z8001/2 documentation back in late 80ies and being blown away by the complexity of instruction set, addressing modes, supported data types (up to 64 bits if I am not mistaken?). Btw, would some of the system software for Olivetti M20 maybe run? 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates