09-03-2022, 04:49 PM
(09-03-2022, 03:29 PM)mnrvovrfc Wrote:(09-03-2022, 03:25 PM)madscijr Wrote:Maybe it's not worth the effort. We have to try something else.(09-03-2022, 03:19 PM)mnrvovrfc Wrote: "DECLARE" is not needed in QB64 unless you define routines in mixed-language programming, such as the "direntry.h" file contributed by Steve. Otherwise is what I told you and what @Jack told you LOL, it uses "CALL ABSOLUTE" to load up assembly which works in 16-bit but not in our present time. Would have to run that code in M$QB or QBasic inside DOSBOX or something like that.
Ah, thanks. I don't see any inline assembly code around that GetIntVector, but this being old QuickBasic (or is it classic VB?) code, from the 32 or 16-bit era, we may want to check all the variable types and make sure they are updated for QB64 & modern 64-bit PCs?
UPDATE: I just saw your earlier answer above. Yeah, the whole module probably needs to be updated or reworked for modern 64-bit Windows compatibility...
From this page:
https://qb64phoenix.com/qb64wiki/index.php/INTERRUPT
Registers are emulated in QB64 and there is no support for intNum 33h mouse functions above 3 or intNum requests other than 33.
If the routine has to do "INT 21h" which was the popular MS-DOS interrupt it wouldn't work, either with "CALL ABSOLUTE" or with "CALL INTERRUPT". I don't know if an MS-DOS interrupt needed to be called to generate sound, that's new to me...
Is this stuff necessary for reading & writing MIDI files or is it more for playback or other functionality outside of that? Again, not at my PC to really look, but for my purposes at least, all I need is to read & write MIDI, the other stuff can be done however. For playback, I'm just fine with shelling out to WinAmp even