Release: New board support, improved floppy management, and bug fix
A new release of zeST is available! On the menu: support for a new board, improved floppy management, and bug fix.
New board support
zeST now fully supports the TE0726 “ZynqBerry” board from Trenz Electronic.
This is a Raspberry Pi 3-shaped board that features the same interfaces as the Pi, including 4 USB ports and an audio output jack connector.
Porting zeST to this board was rather challenging because I had to deal with various issues that I never encountered on other boards before:
- No SD card boot mode: I had to figure out a way to just install a bootloader on an onboard flash ROM so it finds the rest of its installation data on the SD card. I needed to patch the Xilinx FSBL (First Time BootLoader) C source code to do that. Also, I lost a lot of time figuring out that some settings (including the FPGA clock speed) were enforced by the bootloader in the flash ROM and not the binary code on SD card. I eventually set up a complete procedure for an inital set up of the board, that should be required only before first use.
- Swapped differential serial on HDMI output: To simplify the board design, some of the differential wire pairs have their two wires swapped on this board. A differential signal pair is a pair of wires (P and N) that encode a single bit at a time. If P is 1 and N is 0, then the signal is a 1, and if P is 0 and N is 1, the signal is 0. Swapping the P and N wires corresponds to performing an inversion on the output signal. I solved this in my zhdmi core by adding an instanciation parameter that allows inverting the output signal when the P and N wires are swapped.
Many thanks to Mara/Flush for buying the board and lending it to me.
Now zeST works flawlessly on this new platform.
Improved floppy management
I have implemented some undocumented quirks and glitches of the Atari ST’s floppy disk controller in zeST.
Those have been particularly well explained and documented by DrCoolZic on Atari Forum. Many thanks to him!
zeST now fully supports the Union demo’s copy protection. Now one can run the internal copy program and copy the demo to another floppy image file! 😅
Since that demo floppy features a copy protection, it is not available in ST or MSA image formats. Here is an image in MFM format, the native zeST disk image format. Just do not forget to unpack it before use.
Bus noise bug fix
The penultimate release of zeST featured, among others, two improvements:
- Complete MMU configuration, which enables the use of bus noise whatever the configured memory size;
- a cache-based, prefetch mechanism to optimise the accesses to the FPGA board’s DDR memory.
Well, guess what? I did these two fixes one after the other, and I did not check that the released version still passed the tests for the first fixes. It turns out that the new memory management system totally blocked the bus noise “feature”, notably used in the Ika I Compofylla demo by Newline.
It is now fixed, and as proof you can now enjoy Ika again on zeST, here is a screenshot:
That’s all folks!
Thank you for reading this release report.
As usual, download and installation instructions are available on the getting started page.
For any comments, do not hesitate to do it by replying to the dedicated Fediverse post.