Introducing zeST
What is zeST
zeST is a project for re-creating an Atari ST on top of a FPGA platform. It is a free and open-source project, available under the GPLv3 license.
Features
- It aims to achieve fairly good cycle accuracy, thanks to Ijor’s fx68k cycle-accurate implementation of the MC68000 processor.
- It was developed in order to run on top of the popular Xilinx Zynq-7000 family of FPGA-based SoCs, even though it should not be too difficult to port it to other hardware.
- It is designed to run on cheap development boards, provided they have HDMI video output, USB input, and decent general purpose memory space (DDR is okay).
- It favors the use of modern peripherals: USB keyboard, mouse, and game controller, HDMI monitor for video and audio output.
- It reuses some open source components: the MC68000 processor, the keyboard HD6301 microcontroller, and the ACIA chips. All other Atari ST components have been redesigned from scratch.
- All the hardware code is written in VHDL language.
- Peripherals (Mouse, keyboard, floppy) are partly implemented in hardware, with the help of software that runs on the Arm cores that are present on the Zynq chip. The software part runs on an embedded Linux system, enabling access to input devices, disk image files etc.
Compatibility
The ultimate goal is total compatibility with games, demos, and all software that could use the hardware in non-standard ways.
For now, the major issue is STF cycle compatibility. In its current state, it allows most advanced video tricks such as fullscreen, sync scrolling, even the most advanced 4 pixel scrolling techniques. Compatibility continues to be improved and enhanced on a regular basis.
For a complete list of identified issues, you can visit the issues section of the GitHub page.
Available platforms
For now, three FPGA board families are supported :
- the Microphase Z7-Lite board, 7010 and 7020 versions
- the MyIR Z-Turn board, 7020 version (does not seem to be available anymore)
- the Trenz Electronic TE0726 “ZynqBerry”, revision 04, 7010 version
The Z7-Lite and Z-Turn board families are available in two versions: one with the Zynq 7010, the other with Zynq 7020. The former has a smaller FPGA part, it is cheaper and will be sufficient for zeST. Whether you choose the 7020 depends on if you plan to use it for other, larger projects or not. The ZynqBerry is available in two variants: one with the Zynq 7007S and the other with Zynq 7010. Only the 7010 version is supported (7007S does not have enough logic resources available).
Other boards will be supported in the future, depending on availability and prices.