From f06d00600f804f121fe3a0b99ac85af4c5c75cbd Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 11 Sep 2015 22:58:57 -0500 Subject: [PATCH] it compiled!! new file: data/0.vgm modified: exmmtest.map modified: makefile modified: scroll.map modified: src/lib/vgmsnd/3812intf.c modified: src/lib/vgmsnd/vgmSnd.h modified: src/vgmtest.c new file: vgmtest.exe --- data/0.vgm | Bin 0 -> 53264 bytes exmmtest.map | 2 +- makefile | 12 +++++++++--- scroll.map | 4 ++-- src/lib/vgmsnd/3812intf.c | 10 +++++----- src/lib/vgmsnd/vgmSnd.h | 4 ++-- src/vgmtest.c | 38 ++++++++++++++++++++++++++++++++++---- vgmtest.exe | Bin 0 -> 30218 bytes 8 files changed, 53 insertions(+), 17 deletions(-) create mode 100755 data/0.vgm create mode 100755 vgmtest.exe diff --git a/data/0.vgm b/data/0.vgm new file mode 100755 index 0000000000000000000000000000000000000000..fb4ee0ccfe7d55b2a0e2d715d0b46cc960977d1d GIT binary patch literal 53264 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 K@Y`RNeE$#CZt8jf literal 0 HcmV?d00001 diff --git a/exmmtest.map b/exmmtest.map index c45532d9..a403d194 100755 --- a/exmmtest.map +++ b/exmmtest.map @@ -1,6 +1,6 @@ Open Watcom Linker Version 1.9 Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved. -Created on: 15/09/11 15:04:17 +Created on: 15/09/11 22:58:16 Executable Image: exmmtest.exe creating a DOS executable diff --git a/makefile b/makefile index 213d0e69..4d6056e4 100755 --- a/makefile +++ b/makefile @@ -35,11 +35,11 @@ FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS) DOSLIBEXMMOBJ = himemsys.$(OBJ) emm.$(OBJ) DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ) -16LIBOBJS = bakapee.$(OBJ) 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) scroll16.$(OBJ) 16_ca.$(OBJ) timer.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) vgmSnd.$(OBJ) +16LIBOBJS = bakapee.$(OBJ) 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) scroll16.$(OBJ) 16_ca.$(OBJ) timer.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) vgmSnd.$(OBJ) 16_snd.$(OBJ) +#3812intf.$(OBJ) GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ) -TESTEXEC = exmmtest.exe test.exe pcxtest.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe fontgfx.exe tsthimem.exe inputest.exe scroll.exe -#++++vgmtest.exe +TESTEXEC = exmmtest.exe test.exe pcxtest.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe fontgfx.exe tsthimem.exe inputest.exe scroll.exe vgmtest.exe #testemm.exe testemm0.exe fonttes0.exe miditest.exe sega.exe sountest.exe EXEC = 16.exe bakapi.exe $(TESTEXEC) @@ -281,6 +281,9 @@ emm.$(OBJ): $(DOSLIB)emm.h $(DOSLIB)emm.c 16_hc.$(OBJ): $(SRCLIB)16_hc.h $(SRCLIB)16_hc.c wcl $(FLAGS) -c $(SRCLIB)16_hc.c +16_snd.$(OBJ): $(SRCLIB)16_snd.h $(SRCLIB)16_snd.c + wcl $(FLAGS) -c $(SRCLIB)16_snd.c + jsmn.$(OBJ): $(JSMNLIB)jsmn.h $(JSMNLIB)jsmn.c wcl $(FLAGS) -c $(JSMNLIB)jsmn.c @@ -290,6 +293,9 @@ kitten.$(OBJ): $(NYANLIB)kitten.h $(NYANLIB)kitten.c vgmSnd.$(OBJ): $(VGMSNDLIB)vgmSnd.h $(VGMSNDLIB)vgmSnd.c wcl $(FLAGS) -c $(VGMSNDLIB)vgmSnd.c +#3812intf.$(OBJ): $(VGMSNDLIB)3812intf.h $(VGMSNDLIB)3812intf.c +# wcl $(FLAGS) -c $(VGMSNDLIB)3812intf.c + #farjsmn.$(OBJ): $(JSMNLIB)farjsmn.h $(JSMNLIB)farjsmn.c # wcl $(FLAGS) $(MFLAGS) -c $(JSMNLIB)farjsmn.c diff --git a/scroll.map b/scroll.map index a8ad6aa0..3dbe0c43 100755 --- a/scroll.map +++ b/scroll.map @@ -1,6 +1,6 @@ Open Watcom Linker Version 1.9 Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved. -Created on: 15/09/11 15:04:18 +Created on: 15/09/11 22:58:16 Executable Image: scroll.exe creating a DOS executable @@ -600,4 +600,4 @@ Module: /usr/watcom/lib286/dos/clibc.lib(hugeval.c) Stack size: 8000 (32768.) Memory size: 000164b0 (91312.) Entry point address: 0000:5fe4 -Link time: 00:00.02 +Link time: 00:00.01 diff --git a/src/lib/vgmsnd/3812intf.c b/src/lib/vgmsnd/3812intf.c index 876bb573..7ebb8ef2 100755 --- a/src/lib/vgmsnd/3812intf.c +++ b/src/lib/vgmsnd/3812intf.c @@ -17,9 +17,9 @@ * ******************************************************************************/ #include -#include "mamedef.h" -#include "3812intf.h" -#include "fmopl.h" +//#include "src/lib/vgmsnd/mamedef.h" +#include "src/lib/vgmsnd/3812intf.h" +//#include "fmopl.h" typedef struct _ym3812_state ym3812_state; @@ -53,10 +53,10 @@ int device_start_ym3812(UINT8 ChipID, int clock) { ym3812_state *info; int rate; - + if (ChipID >= MAX_CHIPS) return 0; - + info = &YM3812Data[ChipID]; //rate = clock /72; rate = CHIP_SAMPLE_RATE; diff --git a/src/lib/vgmsnd/vgmSnd.h b/src/lib/vgmsnd/vgmSnd.h index 9fa78f64..0a886bc8 100755 --- a/src/lib/vgmsnd/vgmSnd.h +++ b/src/lib/vgmsnd/vgmSnd.h @@ -73,8 +73,8 @@ void UpdateSoundEngine(void); // Functions that must be supplied by external library: -//extern void OPL2_Write(UINT8 reg, UINT8 data); -//extern UINT8 OPL2_ReadStatus(void); +extern void OPL2_Write(UINT8 reg, UINT8 data); +extern UINT8 OPL2_ReadStatus(void); #ifdef __cplusplus diff --git a/src/vgmtest.c b/src/vgmtest.c index 6ba057e8..03e0ec1e 100755 --- a/src/vgmtest.c +++ b/src/vgmtest.c @@ -24,16 +24,44 @@ */ #include "src/lib/vgmsnd/vgmSnd.h" -#include "src/lib/vgmsnd/3812intf.h" +#include "src/lib/16_snd.h" +#include "src/lib/16_in.h" -//#define VGM_SLOTS 4 +void OPL2_Write(UINT8 reg, UINT8 data); +UINT8 OPL2_ReadStatus(void); -//VGM_FILE vgmFiles[VGM_SLOTS]; +void OPL2_Write(UINT8 reg, UINT8 data) +{ + //ym3812_w(0, 0, reg); + //ym3812_w(0, 1, data); + opl2out(reg, data); + return; +} + +UINT8 OPL2_ReadStatus(void) +{ + return 0; + //return ym3812_r(0, 0); +} -void main() +void +main(int argc, char *argv[]) { global_game_variables_t gvar; + VGM_FILE pee; + player_t player[MaxPlayers]; + InitEngine(); + OpenVGMFile("data\0.vgm", &pee); + IN_Startup(); + IN_Default(0,&player,ctrl_Joystick); + PlayMusic(&pee); + while(!IN_KeyDown(sc_Escape)) + { + IN_ReadControl(0,&player); + UpdateSoundEngine(); + } + StopMusic(); /*VGM_FILE* tempVgmFile; UINT8 vgmChn; UINT8 vgmId; @@ -44,5 +72,7 @@ void main() PlayMusic(tempVgmFile); else PlaySFX(tempVgmFile, vgmChn);*/ + FreeVGMFile(&pee); DeinitEngine(); + IN_Shutdown(); } diff --git a/vgmtest.exe b/vgmtest.exe new file mode 100755 index 0000000000000000000000000000000000000000..748dcc55121613974a003f98fce73f3d25efa038 GIT binary patch literal 30218 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 D{{407 literal 0 HcmV?d00001 -- 2.39.2