/* Project 16 Source Code~\r
- * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2023 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
#include <stdio.h>\r
\r
#include "src/lib/16_in.h"\r
-//#include "src/lib/16_snd.h"\r
-#include "src/lib/doslib/adlib.h"\r
-#include "src/lib/doslib/8254.h" /* 8254 timer */\r
+#include "src/lib/16_snd.h"\r
+//#include <hw/8254/8254.h> /* 8254 timer */\r
+//#include <hw/adlib/adlib.h>\r
\r
static unsigned int musical_scale[18] = {\r
0x1B0, /* E */\r
\r
void main(int argc, char near *argv[])\r
{\r
+ static global_game_variables_t gvar;\r
word i;\r
+ boolean done;\r
+ ScanCode scan;\r
// static FMInstrument testInst =\r
//{\r
//0x00, 0x01, /* modulator frequency multiple... 0x20 */\r
//0x36, /* feedback algorithm and strength 0xC0 */\r
//};\r
\r
- IN_Startup();\r
//FMReset();\r
//FMSetVoice(0, &testInst);\r
if(!init_adlib())\r
{\r
printf("Cannot init library\n");\r
- exit(-5);\r
+ exit(-1);\r
}\r
+ IN_Startup(&gvar);\r
\r
if (adlib_fm_voices > 9)\r
printf("OPL3!\n");\r
adlib_apply_all();\r
\r
printf("press Z! to noise\npress ESC to quit");\r
- printf("p");\r
- while(!IN_qb(1))\r
+ printf("\np");\r
+ for (done = false;!done;)\r
{\r
- if(IN_qb(44))\r
- {\r
- printf("e");\r
- adlib_fm[0].mod.key_on = 1;\r
- //FMKeyOn(0, 0x106, 4);\r
- }\r
- else\r
+ while (!(scan = gvar.in.inst->LastScan))\r
+ {}\r
+// SD_Poll();\r
+\r
+ IN_ClearKey(scan);\r
+ switch (scan)\r
{\r
- adlib_fm[0].mod.key_on = 0;\r
- //FMKeyOff(0);\r
+ case sc_Escape:\r
+ done = true;\r
+ break;\r
+ case sc_Z:\r
+ adlib_fm[0].mod.key_on = 1;\r
+ //FMKeyOn(0, 0x106, 4);\r
+ break;\r
+ default:\r
+ adlib_fm[0].mod.key_on = 0;\r
+ //FMKeyOff(0);\r
+ break;\r
}\r
+ if(adlib_fm[0].mod.key_on) printf("e");\r
adlib_update_groupA0(0,&adlib_fm[0]);\r
}\r
printf("!\n");\r
shutdown_adlib();\r
- IN_Shutdown();\r
+ IN_Shutdown(&gvar);\r
}\r