In recent years, the number of ZX Spectrum emulators has grown significantly. Writing an emulator has almost become a relaxing hobby—akin to growing bonsai trees—for many of us. The Spectrum community has always been at the forefront of emulation, and today, we have one of the most advanced and vibrant ecosystems in this field.
We already have well-established formats such as snapshot, tape, disk, Microdrive, and hard disk images to support emulation. However, there is still no common standard for trace log files generated by different emulators. These logs are crucial for emulator developers, reverse engineering enthusiasts, and external analysis tools, yet each emulator currently implements them differently.
To address this, we initiated a discussion within the ZX Spectrum Discord community (invite link: https://zx.tr) and drafted a proposed standard just to get the ball rolling. Now, we invite all friends from SC, emulator developers and interested contributors to review, critique, and help refine this draft together.
Goals:
- Allow emulator developers to generate logs without adding unnecessary complexity or constraints.
- Enable emulator comparisons and benchmarking.
- Provide structured and consistent data for reverse engineering and external tools.
- And ultimately, foster a healthier and more unified emulation ecosystem.
Please take a look at the full proposal here: https://docs.google.com/document/d/19_orKOTDkcvlC2pwW4REIbcF498Zucmn9-3bfJAnLZo/edit?usp=sharing
A tool has been written to encourage the use of the standard. As of version 0.3, this tool can process ZXTL template lines, categorize tracelog files, and generate new log files in the desired format from the collected data.
This software is still in the testing phase and is offered under an open-source MIT license. Its development will continue in conjunction with Proposal.
Download ZXTL tool to convert ZXTL traces between formats (Beta). See releases.
Requires .net 9.0 framework (ZXTL Tool will automatically ask to download when you start the exe): https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-9.0.13-windows-x64-installer?cid=getdotnetcore
See also example ZXTL tracelog files under tracelogs folder.
