Find a file
tildearrow b30c5679ae genesis: reduce CPU usage
the chip uses TDM to output the channels one by one
so we just run the chip 6 times and output at 1/6th the rate, which
means less work for blip_buf and less C++ overhead
2021-06-09 01:57:12 -05:00
extern fix windows build for once 2021-05-28 15:25:55 -05:00
src genesis: reduce CPU usage 2021-06-09 01:57:12 -05:00
.gitignore update gitignore 2021-06-05 23:26:50 -05:00
.gitmodules fix windows build for once 2021-05-28 15:25:55 -05:00
CMakeLists.txt prepare for PC Engine platform 2021-06-06 14:02:38 -05:00
LICENSE add license 2021-05-13 03:37:04 -05:00
README.md update README 2021-06-08 23:46:16 -05:00

Furnace

did i say prepare?

this is a work-in-progress chip music player (currently) for the .dmf format.

features

  • supports Sega Genesis, Master System and Game Boy (for now, with more systems coming soon)
  • clean-room design (zero reverse-engineered code and zero decompilation; using official DMF specs, guesswork and ABX tests only)
  • bug/quirk implementation for increased playback accuracy
  • accurate emulation cores (Nuked, MAME, SameBoy and Mednafen PCE)
  • open-source. GPLv2.

dependencies

  • CMake
  • SDL2
  • zlib

the latter two are included as submodules for Windows and macOS.

compilation

your typical CMake project. clone (including submodules) and:

Windows using MSVC

from the developer tools command prompt:

mkdir build
cd build
cmake ..
msbuild ALL_BUILD.vcxproj

macOS and Linux

mkdir build
cd build
cmake ..
make

usage

./furnace <file>

this will play a file (must be in .dmf format).