Release: Wireless, blitter and stuff
I am very pleased to announce this new major release. There have been significant additions on the host platform management part, as well as in the Atari ST core.
Platform management
On the host software side, there have been a major update on the OS side, as well as brand new wireless device management utlities integrated into the zeST user interface menu.
Buildroot update
The used version of the embedded Linux distribution, Buildroot, has been updated to the latest stable version (2026.02.1). This is important because the previously used version (2024.02.13) was more than one year old, and the new one is better suited to the version of the Linux kernel that is used now.
I would like to thank the people of the #buildroot IRC channel (especially wbx) for helping me fix problems with the upgrade,
as well as Michael Nazzareno Trimarchi from the Connman mailing list for quickly providing a fix for a problem I was having with Connman on the zeST board.
Linux kernel update
This new release also features the latest flavour of the Linux kernel for machines based on Xilinx chips. The Linux kernel was upgraded from version 6.1 to 6.12, which enables better drivers for peripherals, especially USB bluetooth and Wi-Fi dongles that can be used with zeST.
Additional drivers, as well as firmware files have been added to zeST to support some additional Wi-Fi devices. These mostly are for devices based on Realtek chipsets, up to 802.11n, that can be found for a reasonable price on online stores. Drivers for devices implementing more recent Wi-Fi stardards, including 5 GHz and up, will require a more recent Linux kernel that is not yet available in the Xilinx kernel tree.
Please note that Wi-Fi and Bluetooth mangement on zeST are still in an experimental state. Your device may or may not work, and there is no guarantee your specific device can or will be added to the list of supported devices.
You can get in touch with me or other community members, to get help about choosing a suitable wireless device.
Bluetooth device setup utility
Under the Tools menu, you’ll now be able to configure bluetooth I/O devices: keyboard, mouse and game controllers. Its use is rather straightforward: it first lists configured and discoverable devices. You can choose any of them, and decide to connect to a new device, or disconnect/remove configured devices.
If no keyboard or game controller is configured, you’ll need to either use a USB device to configure your new device, or configure it from the Linux commandline.
About game controllers, generic bluetooth controllers for PC generally work without any problem. Also, the Sony Dual Shock 4 for PS4 works, both as joystick (using the direction keys and X button) and mouse (using the touch pad and Δ button).
Networking setup utility
The Tools menu also contains a “Networking setup” entry to show the network status and configure a Wi-Fi network. The network is useful to transfer files between your computer and the zeST board using SSH, as well as setting up the system clock so the Atari’s RTC clock tells the correct time.
The networking setup utility shows the current IP address, as well as the list of available Wi-Fi access points.
You can connect to a Wi-Fi access point by selecting its name. This drives you to a dialog in which you can enter the network’s passphrase before connecting.
Improved keyboard management in the UI
Up to the previous release’s user interface, the keyboard was used only to navigate menu entries. It can now be used to enter text. Multiple keymaps are supported ; you can choose your keymap in the Tools menu.
Configuration save and load
You can now save your current zeST configuration as a new file, and load configuration files from the UI. The corresponding UI entries are in the Tools menu.
Selection filters
In any of the user interface menus and selection lists, including the file selector, you can narrow the search to entries that contain specific characters you type on the keyboard. Seaches are case-insensitive. For instance, if you type DEMO, only entries containing the word “demo” in any case combination will be shown.
The current filter is displayed on top of the list window. Use the Backspace key to remove the latest typed character, and Esc to clear the selection filter completely.
Bug fixes and improvements
Some bugs have been fixed in the GEMDOS drive management. Some programs that were not working are working now, such as Deluxe Paint and GFA Basic.
The change of Linux kernel and Buildroot versions somehow introduced some issues in the mouse management. The management of USB and bluetooth mice has been fully reworked, so it works again. It also now makes mouse movement detection more reliable, suppressing some situations in which the previous code lead the Atari keyboard controller to detect mouse movements going the wrong direction.
A misbehaviour in which status messages were garbled when the floppy status display was enabled (Using Meta+F keys) is now fixed.
The zeST no longer immediately reboots as soon as you leave a submenu after having changed a setting that requires a reboot. Instead, you can continue navigating the menus, change other options, save the config, etc. Reset will only occur when you exit the main menu, back to the ST.
Atari ST core improvements
Blitter
This new release introduces the blitter. This new feature is a joint work with Laurent Sallafranque, aka Thadoss from Dune, who has been learning and experimenting with VHDL for some time now. Many thanks to him and welcome Laurent to the zeST team! :)
The blitter was present on some Mega STs, to accelerate some graphics operations. Some STFs also featured a socket to install an optional blitter.
The blitter in zeST fully works in GEM, providing the expected acceleration. If you enable turbo mode, the blitter takes full advantage of the increased clock speed.
This blitter implementation has been built from scratch in VHDL, and implements 100% of the Atari ST’s blitter features. It was done with cycle accuracy and full compatibility in mind, however there may be a few bugs remaining. We are counting on the users’ feedback to help us identify bugs.
DMA chip optimisation
The DMA chip’s internal FIFOs have been reworked. This was old code from the early days of zeST, when I had about no experience in hardware programming. The FIFO implementation was inefficient and used quite a share of unnecessary resources.
The rework allowed to divide by more than 2 the number of the FPGA’s logic resources allocated to the DMA. Those resources can be allocated to other parts, for instance the new blitter.
I2S audio output
You can now connect an external I2S-based audio DAC to the zeST board, in the case you need an analog audio output that does not take its sources from the HDMI audio output.
It works on the Z7-Line, TE0726 and TE0727 boards. For the TE0726 and TE0727 that have a Raspberry Pi-compatible GPIO connector, I configured the I2S output so it uses the same pins as on the Raspberry.
If you want to know more about it, there’s been a discussion on the zeST Codeberg about the audio output, how it works and the kind of supported audio output modules.
That’s all folks!
Thank you for reading this release report.
As usual, download and installation instructions are available on the getting started page.
Comments
With an account on the Fediverse or Mastodon, you can respond to this post. Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one. Known non-private replies are displayed below.