Home
Photo: Sound On Sound (March 1998)
Technics KN5000 Documentation
Welcome to the comprehensive technical documentation for the Technics KN5000 music keyboard. This site documents the internal architecture, firmware, and protocols of this 1997-era professional arranger keyboard.
A Digital Archaeology Project
This project preserves technical knowledge of the KN5000 through detailed reverse engineering. As physical hardware becomes scarce, accurate documentation ensures these instruments remain accessible for emulation, repair, and homebrew development.
Project Goals
| Goal | Description |
|---|---|
| ROM Reconstruction | Create buildable source code that produces byte-identical ROMs |
| MAME Emulation | Full system emulation in the MAME framework |
| Homebrew Development | Enable custom software development for the hardware |
| Compiler Development | LLVM backend for TLCS-900/H2, enabling C/C++ development |
Start Here
New to the project? Begin with the System Overview to understand how all the components work together.
Documentation by Topic
Hardware & Memory
| Page | Description |
|---|---|
| System Overview | Architecture diagram and subsystem guide |
| Hardware Architecture | Physical components from service manual |
| CPU Subsystem | TMP94C241F dual-CPU design |
| Memory Map | Complete address space layout |
Subsystems
| Page | Status | Description |
|---|---|---|
| Control Panel Protocol | Documented | Serial protocol for buttons, LEDs, encoders |
| Audio Subsystem | Documented | DSP effects, tone generation, voice management |
| Keybed Scanning | Documented | Hardware key scanning, note encoding, voice slots |
| Display Subsystem | Documented | Framebuffer layout, palette, VGA registers |
| Storage Subsystem | Documented | Floppy, flash, Table Data ROM, HDAE5000 |
| MIDI Subsystem | Documented | 26-channel voice routing, CC handlers, SysEx |
| UI Framework | Documented | 550+ widget handlers, event system, drawing API |
| Sequencer | Documented | 16-track engine, ring buffer, style system |
Protocols
| Page | Description |
|---|---|
| Control Panel Protocol | MCU serial communication |
| Inter-CPU Protocol | Main/Sub CPU latch protocol |
| HDAE5000 Disk Interface | IDE/ATA and PC parallel port |
| HDAE5000 Filesystem | Custom FSB/FGB/FEB filesystem |
Firmware Analysis
| Page | Description |
|---|---|
| Boot Sequence | Power-on to ready state |
| SubCPU Payload Loading | LZSS decompression, E1 bulk transfer, DMA investigation |
| Sub CPU Payload Transfer | 192KB firmware loading mechanism |
| ROM Reconstruction | Disassembly progress |
| Source Code Map | Guide to every source file in the disassembly |
| FDC Subsystem | Floppy disk handlers |
| Feature Demo & Presentation System | SSF XML scripting, demo assets, planned-but-unshipped floppy loading |
| Floppy Security Analysis | Code injection vectors via crafted update discs |
| HDAE5000 | Hard disk expansion firmware |
| Firmware v9 vs v10 | Detailed comparison of the last two firmware releases |
Homebrew
| Page | Description |
|---|---|
| Playing Games on MAME | Step-by-step guide to running homebrew games in the emulator |
| Another World VM | Full game port: bytecode VM, polygon rendering, input, frame timing |
Resources
| Page | Description |
|---|---|
| Image Gallery | 46+ extracted graphics (42 main CPU, 4 HDAE5000) |
| ROM Strings | Extracted text resources |
| Reverse Engineering | Methodology and strategies |
| Help Wanted | Contribution guide |
| Open Questions | Unsolved mysteries |
| Issues | Project task tracker |
Learning Paths
Choose based on your goal:
MAME Emulation Development
- System Overview - Understand the architecture
- Hardware Architecture - Physical components
- Memory Map - Address space
- Control Panel Protocol - HLE for buttons/LEDs
Homebrew Development
- Playing Games on MAME - Get the emulator running first
- CPU Subsystem - TMP94C241F programming
- Memory Map - Available resources
- Display Subsystem - Graphics output
- Another World VM - Full game port example
- Help Wanted - Tool development needs
Reverse Engineering Research
- ROM Reconstruction - Current progress
- Reverse Engineering - Techniques
- Open Questions - Areas needing investigation
- Issues - Specific tasks
Project Status
ROM Reconstruction Progress
All 6 ROMs: 100% byte-perfect match. Built with a custom LLVM TLCS-900 backend – 279,441 native instructions, zero workaround macros.
| Component | Size | Match | Status |
|---|---|---|---|
| Main CPU Program | 2MB | 100% | 239,683 native instructions |
| Sub CPU Payload | 192KB | 100% | 35,721 native instructions |
| Sub CPU Boot ROM | 128KB | 100% | 1,357 native instructions |
| Table Data | 2MB | 100% | 1,678 native instructions + binary data |
| Custom Data | 1MB | 100% | Binary data (no code) |
| HDAE5000 ROM | 512KB | 100% | 502 native instructions |
Homebrew Development
A homebrew SDK is available for writing custom HDAE5000 extension ROMs. Features a Quick Start guide, C + assembly build pipeline, and a fully playable Minesweeper game as a working example.
MAME Emulation
| Component | Status |
|---|---|
| MAME Driver | PR #14558 in progress |
| Display | 320x240 LCD working (VGA controller emulated) |
| Audio | DSP protocol decoded, tone generator HLE |
| Control Panel | Protocol documented, button state arrays emulated |
| HDAE5000 | Extension board detected, IDE/ATA wired, homebrew ROMs loadable |
| Floppy | UPD72067 FDC emulated, disk images available |
Quick Links
- Service Manual PDF (26MB, EMID971655 A5) - Schematics, board layouts, IC pinouts
- GitHub: ROM Disassembly - Source code
- GitHub: Homebrew - Custom software
- MAME Pull Request - Emulation work
- Discussion Forum
- Firmware Archive - All versions (v5-v10, HD-AE5000 updates)
- Keysoftservice HDAE5000 Page - Original HDAE5000 information
About This Project
| Project Lead: Felipe Sanches | Arqueologia Digital |
This documentation is developed with AI assistance from Claude Code. All content is verified against actual hardware behavior and service documentation. Contributions and corrections are welcome via GitHub issues.
We believe preserving technical knowledge of instruments like the KN5000 is essential for cultural heritage. If you find errors or have additions, please contribute.