Posts
Release 2024-04-28
This new releases has several improvements.
Better joystick support Important code reorganisation has been done, so that USB controllers and joysticks are detected in a more predictable way.
Different joysticks are now assigned to the ST joysticks in detection order. This means the two joysticks will remain in the same order from one time to the other.
Some peripherals will not be incorrectly detected as joysticks anymore, and a basic detection heuristic is used to identify how peripherals reports their events, as this may differ between devices.
Posts
Release 2024-02-11
The new 2024-02-11 release is available.
On the menu: monochrome mode, RAM expansion, and keyboard bug fix.
Monochrome mode zeST was having display issues when running in monochrome high resolution mode. There was an unwanted white border on the left side of the screen, some pixels were not displayed properly and the scanlines were larger than the expected 640 pixels of width. This is fixed now.
In parallel, I have been conducting experiments on enabling a monochrome mode that would be more compatible than the standard one of some monitors, especially because of the non-standard 71.
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).
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.
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.
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.
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.
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.
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.
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: