/* Project 16 Source Code~\r
- * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123\r
+ * Copyright (C) 2012-2019 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
*\r
*/\r
\r
-#ifndef __16_SND_H_\r
-#define __16_SND_H_\r
+#ifndef __16_SD_H_\r
+#define __16_SD_H_\r
\r
#include "src/lib/16_head.h"\r
+#include "src/lib/16_tail.h"\r
+#include <hw/8254/8254.h> /* 8254 timer */\r
+#include <hw/adlib/adlib.h>\r
+#include <hw/vga/vga.h>\r
+#include <hw/dos/dos.h>\r
+#include <hw/8259/8259.h>\r
+\r
+#define SD_USESCAMMPM\r
\r
#define MIN_REGISTER 0x01\r
#define MAX_REGISTER 0xF5\r
byte Feedback; /* feedback algorithm and strength */\r
} FMInstrument;\r
\r
-\r
void opl2out(word reg, word data);\r
void opl3out(word reg, word data);\r
void opl3exp(word data);\r
void FMKeyOn(int voice, int freq, int octave);\r
void FMSetVoice(int voiceNum, FMInstrument *ins);\r
\r
+void SD_Initimf(global_game_variables_t *gvar);\r
+void SD_imf_reset_music(global_game_variables_t *gvar);\r
+void SD_StartupTimer(global_game_variables_t *gvar),\r
+ SD_ShutdownTimer();\r
+void SD_imf_free_music(global_game_variables_t *gvar);\r
+int SD_imf_load_music(const char *path, global_game_variables_t *gvar);\r
+void interrupt SD_irq0(void);\r
+void SD_imf_tick(global_game_variables_t *gvar);\r
+void SD_adlib_shut_up();\r
+\r
#endif /*__16_SND_H_*/\r