aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorTakamichi Horikawa <takamichiho@gmail.com>2017-03-17 22:55:31 +0900
committerTakamichi Horikawa <takamichiho@gmail.com>2017-03-17 22:55:31 +0900
commit360a8e13c9072fa8624fef3914e273086bfc7130 (patch)
treee85f0be2b0dc0a1d6a879600b6427f2a4bfcd54a /README.md
parent52031f2aa7e045a933d7d7a43acd295f936e6d94 (diff)
forgot to add readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..789e484
--- /dev/null
+++ b/README.md
@@ -0,0 +1,33 @@
+# Fmplayer (beta)
+PC-98 FM driver emulation (very early version)
+
+## Current status:
+* Supported formats: PMD, FMP(PLAY6)
+* PMD: FM, SSG, Rhythm part supported; ADPCM, PPZ8 not supported yet
+* FMP: FM, SSG, Rhythm, ADPCM, PPZ8, PDZF supported
+* This is just a byproduct of reverse-engineering formats, and its emulation is much worse than PMDWin, WinFMP
+* FM always generated in 55467Hz (closest integer to 7987200 / 144), SSG always generated in 249600Hz and downsampled with sinc filter (Never linear interpolates harmonics-rich signal like square wave)
+* SSGEG, Hardware LFO not supported
+* PPZ8: linear interpolation only (same as PMDWin/WinFMP, much better than original ppz8.com which only did nearest-neighbor interpolation)
+
+## Installation/Usage (not very usable yet)
+### gtk
+Uses gtk3, portaudio
+```
+$ cd gtk
+$ autoreconf -i
+$ ./configure
+$ make
+$ ./fmplayer
+```
+Reads drum sample from `$HOME/.local/share/fmplayer/ym2608_adpcm_rom.bin` (same format as MAME).
+Currently needs `$HOME/.local/share/fmplayer/font.rom` to display titles/comments.
+
+### win32
+Uses MinGW-w64 to compile.
+```
+$ cd win32/x86
+$ make
+```
+Reads drum sample from the directory in which `fmplayer.exe` is placed.
+Uses DirectSound (WinMM if there is no DirectSound) to output sound. This works on Windows 2000, so it is theoretically possible to run this on a real PC-98. (But it was too heavy for my PC-9821V12 which only has Pentium 120MHz)