Music made for the HuC6280 chip, featured in the PC-Engine / TurboGrafx16.
Submission should be able to play back on real hardware (or in an emulator)!
- File Formats & Playback
The PC Engine / TurboGrafx-16 was a home video game console by NEC and Hudson Soft, released in 1987 for Japan and 1989 in North America respectively.
This article covers a small technical specification of the sound part of the console, available tools to compose for the format, ways to reliably play back files as well as mentioning some related tools and other links.
IMPORTANT: Please carefully read the 'Playback' paragraph in this article, as playing back .VGM, .HES and .PCE files will fail on some popular players.
Sound is delivered through six 5-bit 32byte wavetable channels programmed through HuC6280A (refered to as 'Hudson Waveform Sound Generator', or 'HuWSG' for short) and the 5th and 6th channel have white noise generation capabilities. The HuWSG channels have a logarithmic volume curve with a max value of 1F (in hex). There is also stereo control per channel available, with Left (L) and Right (R) volume having a max value of F (in hex) respectively; again with a logarithmic volume curve.
The 2nd channel has an optional "LFO" function which can frequency modulate channel 1, at the cost of losing one channel of sound (being channel 2). This could theoretically allow for a crude form of 2op FM, but due to a few problems (such as a too small modulation depth) it isn't suited to do 'real' FM, as the results are very weak. Specialised software could theoretically generate a more confident 2op FM sound or better yet; sample FM waveforms into wavetables.
Software (running on the CPU) can stream 5-bit samples (PCM) into any of the 6 channels when a channel is in DDA mode. With clever programming, channels could be combined for a higher 8, 9, or 10 bit PCM sample playback, at the cost of losing said channels and CPU time.
The PC Engine / TurboGrafx-16 also received a CD-ROM expansion almost one year after its release, giving the console the ability to play CD-DA audio, stream other data from the CD to the console and adding RAM to the console.
This CD-ROM addon also adds a single OKI ADPCM channel to the existing wavetable channels, for sequencing music on the console itself.
The OKI MSM5205 ADPCM unit has the ability to play compressed 4-bit audio, which decompresses to 12-bit audio (although only the top 10-bits get output through the DAC). The unit can play back samples (stored in 64kB of ADPCM RAM) at various sample rates and supports a maximum sample rate of 32.088 kHz.
XPMCK is a cross-platform MML compiler kit targeted towards various video game systems, including the PC Engine / TurboGrafx-16. You can download the latest build of XPMCK on its website
(at the download section).
HuSIC is a customized version of XPMCK that utilizes more capabilities of the hardware. You can download the latest build of HuSIC on the release page
of its GitHub.
Trackers & Module Compilers
• DefleMask Tracker
Deflemask is a mutli-system tracker with support for HuC6280A.
Keep in mind that the .hes and .vgm outputs have some small errors when they are exported, such as noise volume being too loud.
Huzak is a currently in development tool that can convert DefleMask PC Engine .DMF module files to a .PCE ROM image. Its conversion / export is very accurate. Keep in mind that it only allows for PCM playback up to 7kHz, as it's meant as a sound driver for homebrew software.
File Formats & Playback
The recommended software for playing back .VGMs is the latest version of VGMPlay or its plugin versions for Winamp and Foobar2000.
You can download them from the release page
on the vgmrips.net forum.
The .HES (Hudson Entertainment Sound) format is highly comparable to the .NSF
format. The most recommended software for playing back .HES is the emulator Mednafen, which has native .HES playback abilities. Mednafen has the most precise HuWSG emulation at this moment. Mednafen can be downloaded from its release page
on its website.
A great alternative is NezPlug++. This is a standalone (as opposed to Mednafen being a complete system emulator), multiformat emulator with .HES format support. Accuracy is good and would certainly substitute for Mednafen. You can download NezPlug++ on this webpage
IMPORTANT: Never use Foobar2000 and XMPlay with plugins to play .HES files as the current ones will NOT play back anywhere near correct; the playback routine simply is broken in them.
This filetype is a ROM image to be used within a PC Engine / TurboGrafx-16 emulator. Just like with .HES, Mednafen is the most recommended software for (sound) emulation of the console.
, as well as its help page
on using the formulas (it is in Japanese, but you should be able to figure it out).
Also be sure to use the 'HES' preset, as that option will make results specialized for HuC6280.
HuSIC English Guide
Here is a guide by Ant1 on how to use HuSIC. It also has translated documents from HuSIC as well as some extra tools for workflow convenience.
Keep in mind that this version of HuSIC is outdated, but it will give insight on how to use it though. Link to the .zip file
Chris Covell's PC Engine Repository
Here is a repository of tools and creations of the excellent PC Engine / TurboGrafx-16 programmer Chris Covell, such as a native wavetable shaper tool and visual .HES player capable of being run on hardware and emulators. Link to his repository webpage
Ripped Music Repositories
Want to listen music ripped from the console’s games? check out the complete list of ripped chiptunes repositories
from BotB or the HuC6280 list of ripped music