Posts
Release 2024-01-21
The 2024-01-21 release is not a major release, but is the result of quite some under-the-hood rework.
The most important highlights are the following:
Support for USB joysticks. This part is still very much in a beta state, and still requires quite some debugging effort. It was only tested on a Sony PS4 controller, which allows to emulate both a joystick (using the direction pad) and a mouse (using the touch pad).
read more
Posts
PC Keyboard Support
It’s been an issue since PC keyboard interfaces appeared, and has prolonged with emulators. It has always been a real pain to get PC keyboards to work properly on the Atari ST and its successors.
PC Keyboards and Atari machines In most cases - and this is what zeST does - keyboard management is a 1:1 mapping of keys, which is sufficient for alphabetic keys, but causes problems when trying to produce other characters, as they are on different keys between PC and ST keyboards.
read more
Posts
Z7-Lite 7020 support
zeST now supports a new FPGA board. It’s the Zynq 7020-equipped version of the Microphase Z7-Lite board, that was already supported in its 7010 version. It basically has the same capabilities of its little sister, but has significantly more FPGA logic resources available, which makes it suited for larger projects.
zeST still, and will probably remain perfectly suited for the smaller 7010 chip, though.
From now on, future releases will include configuration files for this board.
read more
Posts
Extended Video Modes
The latest release of zeST now features additional video screen modes, taking into account the unused pixels at the screen borders in colour modes. This allows user programs to achieve screen sizes of 416x276 pixels in low resolution, and 832x276 in medium resolution.
This is completely done in hardware. Extended modes can be enabled or disabled by changing the value of an additional bit in the hardware resolution register.
For compatibility reasons, this feature is disabled by default, and must be activated in the zest.
read more
Posts
Hard disk emulation support
After several months of inactivity (mostly due to health problems and personal issues), a new version of zeST is finally available!
It features support for hard disk drive emulation. Only one drive is emulated for now, but it would be rather easy to implement more.
On the technical side, the most difficult task was to implement a generic ACSI peripheral correctly and have it talk with the ST’s DMA controller, without disturbing the proper behaviour of the floppy controller, which is also accessed by the DMA chip.
read more
Posts
More Demos Working!
I don’t always post about new releases of zeST. There have been three of them since the beginning of the year, mostly for under the hood fixes that are not directly visible to the user.
This time, it’s different: I fixed a misbehaviour in the WD1772 floppy disk controller, improving the compatibility with some demos that were not loading before. Now we finally can run the mythical Dark Side of the Spoon demo, one of my favourites, and so far I haven’t discovered any problems with it.
read more
Posts
CPU bus, clocks and memory latency
In this new technical article, I will present how central elements like the ST bus, memory and clocks are implemented in zeST. This is a crucial part, since the choices we make here constrain all the rest of the hardware implementation. These choices are also very dependent from the hardware platform we are working on.
I will try to explain in the most understandable way as I can, so anyone with very basic notions of synchrorous logic and timing should be able to understand.
read more
Posts
Floppy emulation
This rather technical post describes how floppy drive emulation has been implemented in zeST.
I will try to explain about some internals of the ST, and the technical choices I made to implement floppy functionality that would work as similarly as possible to the real hardware.
The ST architecture around floppy disk management Here is an overview of the different main components of the Atari ST that are responsible for managing the floppy drive:
read more
Posts
HDMI is now working on the Z7-Lite board!
After some weeks of reading the HDMI documentation, programming, debugging, some months of inactivity because I was very busy with my job, and after an active debugging session at Silly Venture 2K21 in Gdańsk, Poland, I finally got the HDMI output in working order on the Microphase Z7-Lite FPGA board.
There should have been a video here but your browser does not seem to support it. A HDMI transmitter with the required functionality The challenge was to address the HDMI port on a board that had no dedicated HDMI controller chip, so the controller had to be implemented in the FPGA logic.
read more
Posts
Investigating a new FPGA board
As I explained in the previous post, I have acquired a Microphase Z7-Lite board, in order to check if it could be used as a possible platform for zeST.
As it is currently taking most of my time on zeST development, I am writing this post so you can understand what I am doing at the moment.
Meet the Microphase Z7-Lite board It is the cheapest I could find with the required elements I need: A Xilinx Zynq-7000 FPGA SoC, a SD card slot, sufficient memory, a HDMI port and some USB connectivity.
read more