Find a file
tildearrow 0001af3f35 hmm...
2021-12-27 16:37:33 -05:00
extern icon fonttttttt 2021-12-21 00:30:55 -05:00
papers add a screenshot to readme 2021-12-19 03:36:42 -05:00
res prepare for macOS bundle 2021-12-24 18:12:36 -05:00
src hmm... 2021-12-27 16:37:33 -05:00
.gitignore update gitignore 2021-12-24 18:12:55 -05:00
.gitmodules use docking branch 2021-12-13 20:55:40 -05:00
CMakeLists.txt prepare for macOS bundle 2021-12-24 18:12:36 -05:00
LICENSE add license 2021-05-13 03:37:04 -05:00
README.md update readme 2021-12-22 04:54:07 -05:00

Furnace

screenshot

this is a work-in-progress editor for DefleMask module files (.dmf).

features

  • supports Sega Genesis, Master System, Game Boy, PC Engine, NES, C64, YM2151/PCM and Neo Geo!
  • 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 whether possible (Nuked, MAME, SameBoy, Mednafen PCE, puNES, reSID and ymfm)
  • open-source. GPLv2.

downloads

coming very soon!

developer info

dependencies

  • CMake
  • SDL2
  • zlib
  • JACK (optional)

SDL2 and zlib are included as submodules.

compilation

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

Windows using MSVC

no longer tested! as of now tildearrow uses MinGW for Windows builds...

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

this opens the program.

./furnace -console <file>

this will play a .dmf file.

./furnace -console -view commands <file>

this will play a .dmf file and enable the commands view.

./furnace -output audio.wav <file>

this will render a .dmf file to .wav.

notes

my song sounds very odd at a certain point

file a bug report. use the Issues page.

it's probably another playback inaccuracy.

my song sounds correct, but it doesn't in DefleMask

file a bug report here. it still is a playback inaccuracy.