LGT-Turbo-Sound-emulator/README.en.md
2026-06-21 15:36:38 +02:00

5.4 KiB

LGT-Turbo-Sound-emulator

Hardware Turbo Sound (Dual AY/YM) emulator for ZX Spectrum based on the high-speed LGT8F328P microcontroller.

English | Русский

This project features a hardware emulator for two sound coprocessors, AY-3-8910 and YM2149F (complying with the Turbo Sound standard), designed for ZX Spectrum computers and their clones. The device is powered by the LGT8F328P microcontroller. Thanks to its 32 MHz clock speed and advanced architecture, it can process the Spectrum system bus commands with high accuracy and generate lag-free, 6-channel chiptune audio.

⚙️ Technical Highlights

  • Superior Sound Quality: Utilizes the built-in 8-bit Digital-to-Analog Converter (DAC) of the LGT8F328P. Unlike traditional PWM emulation, this approach ensures clean chiptune sound without high-frequency switching noise and significantly reduces the required external component count.
  • Maximum Performance: Running the LGT8F328P core at 32 MHz provides precise bus timing synchronization.
  • Full Compatibility: Complete emulation of the 6-channel Turbo Sound hardware standard.
  • Cost-Effective & Available: The LGT8F328P microcontroller is considerably cheaper, faster, and more accessible than the standard ATmega328P.

📐 Hardware Layouts

All printed circuit boards were designed using KiCad. The repository contains complete project directories, schematics, and production-ready Gerber files compatible with modern PCB fabs (JLCPCB, PCBWay, etc.).

The project supports 4 hardware form-factor variants to suit different installation needs:

1. DIP-28 (Crystal-less)

The most compact variant relying entirely on the internal 32 MHz oscillator. Ideal for tight spaces.

2. DIP-28 (With Crystal)

A compact layout that includes footprints for an external crystal oscillator (40/48/50 MHz) to achieve absolute timing accuracy.

3. DIP-40 (Crystal-less)

A convenient drop-in replacement form-factor designed to plug directly into standard vintage ZX Spectrum CPU or sound chip sockets without requiring any extra pin adapters.

4. DIP-40 (With Crystal)

A full-sized drop-in replacement layout utilizing an external clock generator for the ultimate emulation quality and stability.

💾 Firmware & Configuration

The project features specific binary builds corresponding to different clock generator modes, as well as separate firmware versions optimized for either AY-3-8910 or YM2149F chips (taking their unique hardware volume envelope tables into account).

AY-3-8910 Targeted Firmware

YM2149F Targeted Firmware


Flashing Instructions

To flash the LGT8F328P microcontroller, a specialized hardware programmer is required.

You can easily build one yourself using one of these DIY options:

  1. An Arduino-based programmer using LarduinoISP.
  2. An RP2040-based programmer using LarduinoISP.

Once your hardware programmer is ready, you can flash the compiled hex files using the AVRDUDESS GUI software tool.

Source Code Compilation

The complete source files can be found in the /Sources directory. The project compiles successfully using Atmel Studio 7.0.


🤝 Credits & Acknowledgments


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.