Atariscne.org

We are finally releasing this new major version of zeST!

This has been a rough ride. New components, updated ones, a new switchable cores system, a boot screen… Putting it all together took us longer than expected.

But as good things come to those who wait, here it finally is!

STE support

This new release introduces Atari STE support. This is the result of months of work, in which we reimplemented the STE starting from zeST’s ST design.

This work is based on all the available information we could find. Among the most noteworthy resources are the Atari STE motherboard schematics, the GSTMCU ASIC design recovered by Christian Zietz, the Atari STE FAQ, as well as The Atari ST(E) BLiTTER in brief by The Paranoid of Paradox.

The ASIC designs allowed us to reproduce the (hopefully) exact behaviour of the GSTMCU, which is the central logic of the STE. This was already what was done for the ST implementation: considering the STE design was not started from scratch but as an extension to the ST design, I initially removed the STE-specific parts of the GSTMCU to make the ST GLUE design. This worked pretty well, apart for some clocking logic that I had to modify as it apparently was implemented differently. The STE port “simply”“ reintroduces the removed parts.

For the Shifter, we started from the Shifter design for the ST that we had implemented following the schematics Ijor released with his Atari ST shifter decap work. We then added the STE-specific logic for the additional STE features, such as hardware scrolling and DMA sound management.

Our blitter implementation, already introduced in the previous release, was done from scratch. We did a strictly behavioral implementation of the logic, considering its operation is simple enough to be reproduced . Of course the devil lies in the details, and we encountered many bugs in demos and games that helped us refine our design. For timing validation, me made sure blitter execution take the same amount of cycles as on the real machine, in blitter demos, as well as Zerkman (me!)’s MPP multipalette image converter. We also used Ijor’s Blitter version test for timing validation. Now our blitter behaves very well, even though we spotted some remaining glitches that we’ll have to fix in a future release.

This release already allows to run demos with advanced hardware techniques, such as the We Were @ demo by Oxygene:

 

And also the beautiful Ne’e Nalu Uhane demo by DHS:

Even though we know it is still not perfect, it can already run a large amount of STE-specific programs.

 

 

Not 100% compatible yet

There are still missing or incorrectly-implemented features.

  • There is no LMC1992 implementation yet. This component is used on the STE to mix the audio channels from the YM2149 soundchip and the DMA audio, with settings for bass and treble, volume etc. For the moment, the YM2149 and DMA audio mix is done statically, and all LMC1992 commands are ignored. A future release will have a proper implementation.
  • This implementation uses only one 8 MHz clock. The STE has two different ones, the major noticeable issue being glitches on some timer effects in YM music replay routines. For maximum compatibility we should also fix this in a future release.

Switchable cores system and boot screen

Now that zeST supports both the ST and the STE, we had to add a core switching system, so the FPGA gets reprogrammed not only at boot time, but whenever the user wants to switch from one core to the other.

Fortunately it turns out this is well supported by the Linux system so things were not too complicated to set up.

This system allowed us to add another feature: the boot screen. Since we can now easily switch cores, we can use another one on boot, so the screen displays something during the Linux boot process. I reused some old rotozoomer effect I did for a Presentation at Shadow Party 2021, I hope you’ll like it!

Various changes

Blitter fixes

We fixed the blitter logic to fix wrong behaviours of our blitter implementation:

  • incorrect insertion of 1 bits (instead of 0) in “no final source read” mode
  • wrong behaviour of halfone value mixing in SMUDGE mode

GEMDOS drive fix

  • Fixed a wrong behaviour when using the GEMDOS drive as the boot drive. The OS was doing unnecessary accesses to the floppy drive before actually running the boot process. Booting is faster now, especially when running without a floppy image “inserted”.

Floppy drive emulation fixes

  • We fixed our implementation of the WD1772 floppy drive controller to reflect the actual behaviour of the status register.
  • We implemented the behaviour of the floppy write protection status bit when changing floppy images, so demos and games relying on this bit to detect floppy changes work.

Changes in the user interface

  • There is now a “Shut down” option in the main setup menu, so you can stop the zeST without any risk of filesystem corruption and losing data.
  • We made various fixes to solve misbehaviours and crashes in the user interface.

 

💾 Download the new zeST with STe support

🔗 Visit the zeST project site

 

 

Comments

AdamK
Sunday, 08 November 2026 12:31
Is that a royal 'We', or Zerkman, you are not alone developing zeST?
Quote
zerkman
Sunday, 08 November 2026 15:19
we = Thadoss and I
Quote

Add comment

Submit

© 2025-2026 The Atariscne Collective | info@atariscne.org