05-26-2003, 06:44 PM
I gave the demo of my RFM project to some people so that they can test if the MIDI routines are working.
They said that they were able to run the drivers and game properly but then, inside the game, programm didn't regoznized that the drivers were loaded and therefor disable to option of turning the
music on.
I splitted my programm in two parts and left all the MIDI routines
in the second module.
In the main module, MIDI routines will execute only if SndDrivers = 1 (drivers are loaded) and PlayMusic = TRUE (music is switched on)
SndDrivers is a COMMON SHARED variable.
In the second module, with the MIDI routines, on the end of main sub I have this :
SndDrivers=1 'Deafult, drivers are loaded
DriversLoaded SBMIDI.INTERRUPT, SBSIM.INTERRUPT
IF SBMIDI.INTERRUPT = 0 THEN SBMIDI.INTERRUPT = &H80
IF SBSIM.INTERRUPT = 0 THEN SBSIM.INTERRUPT = &H81
IF SBMIDI.INTERRUPT = 0 THEN SndDrivers = 0
'If DriversLoaded sub returns a zero value SndDrivers = 0 and
'you should not be able to turn on the music(PlayMusic is always
'FALSE, you can't switch it in game options to TRUE).
What I want to know? Is SndDrivers value passed to the main module or should i use the DriversLoaded function in the main
module and use it to trigger SndDrivers like I done that in the second module?
Help.
Also, can I load SBMIDI.EXE in Windows 2000 DOS shell somehow?
They said that they were able to run the drivers and game properly but then, inside the game, programm didn't regoznized that the drivers were loaded and therefor disable to option of turning the
music on.
I splitted my programm in two parts and left all the MIDI routines
in the second module.
In the main module, MIDI routines will execute only if SndDrivers = 1 (drivers are loaded) and PlayMusic = TRUE (music is switched on)
SndDrivers is a COMMON SHARED variable.
In the second module, with the MIDI routines, on the end of main sub I have this :
SndDrivers=1 'Deafult, drivers are loaded
DriversLoaded SBMIDI.INTERRUPT, SBSIM.INTERRUPT
IF SBMIDI.INTERRUPT = 0 THEN SBMIDI.INTERRUPT = &H80
IF SBSIM.INTERRUPT = 0 THEN SBSIM.INTERRUPT = &H81
IF SBMIDI.INTERRUPT = 0 THEN SndDrivers = 0
'If DriversLoaded sub returns a zero value SndDrivers = 0 and
'you should not be able to turn on the music(PlayMusic is always
'FALSE, you can't switch it in game options to TRUE).
What I want to know? Is SndDrivers value passed to the main module or should i use the DriversLoaded function in the main
module and use it to trigger SndDrivers like I done that in the second module?
Help.
Also, can I load SBMIDI.EXE in Windows 2000 DOS shell somehow?