-
Trump Card boot code
02/07/2023 at 23:44 • 0 commentsScott Baker managed to buy a Ciarcia Trump card on eBay in 2022, without disks of software (someone sent him those later).
The board does have two 2K boot ROM chips, which only have about 62 bytes of active code. And they are listed in the articles. I have OCR'd them and posted them here.
The code talks through a 2K RAM with the address lines driven by a counter. The interface is the 8-bit PC bus, which is completely obsolete in 2023.
Since the boot code is simply to load code through an 8-bit stream, a modern alternative might be to use an FTDI 8-bit FIFO USB module. You could then hurl a block of code through a virtual terminal then run it.
-
CP/M-8000
11/09/2021 at 23:46 • 0 commentsAfter 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:
-
Compact Flash interface
11/09/2021 at 23:30 • 0 commentsThe 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
11/09/2021 at 23:08 • 0 commentsThe 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
11/09/2021 at 14:48 • 0 commentsI propose starting from an existing CP/M-8000 machine project, which looks like this:
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
11/09/2021 at 14:07 • 0 commentsOne 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 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 these days.
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: No 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.
Scott M. Baker's Z8000 + CP/M 8000 project
Based on 4sun5bu's project, and laid out on PCBs. The memory is on a different card to the CPU.
-
BASIC interpreter
11/07/2021 at 04:11 • 0 comments2021-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!