X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fmiditest.c;fp=src%2Fmiditest.c;h=0000000000000000000000000000000000000000;hb=4b23f27092a9470a741e3a18261ad389fd1929db;hp=73b47057b54dd2825819ef00369366164407a64b;hpb=5d8d1deb6c3520abadbad86d202ea453df77bfc2;p=16.git diff --git a/src/miditest.c b/src/miditest.c deleted file mode 100755 index 73b47057..00000000 --- a/src/miditest.c +++ /dev/null @@ -1,112 +0,0 @@ -/* miditest.c - * - * Adlib OPL2/OPL3 FM synthesizer chipset test program. - * Play MIDI file using the OPLx synthesizer (well, poorly anyway) - * (C) 2010-2012 Jonathan Campbell. - * Hackipedia DOS library. - * - * This code is licensed under the LGPL. - * - * - * Compiles for intended target environments: - * - MS-DOS [pure DOS mode, or Windows or OS/2 DOS Box] - */ - -#include "src/lib/midi.h" - -int main(int argc,char **argv) { - unsigned long ptick; - int i,c; - - printf("ADLIB FM test program\n"); - if (argc < 2) { - printf("You must specify a MIDI file to play\n"); - return 1; - } - - /*if (!probe_vga()) { - printf("Cannot init VGA\n"); - return 1; - }*/ - if (!init_adlib()) { - printf("Cannot init library\n"); - return 1; - } - if (!probe_8254()) { /* we need the timer to keep time with the music */ - printf("8254 timer not found\n"); - return 1; - } - - for (i=0;i < MIDI_MAX_TRACKS;i++) { - midi_trk[i].raw = NULL; - midi_trk[i].read = NULL; - midi_trk[i].fence = NULL; - } - - if (load_midi_file(argv[1]) == 0) { - printf("Failed to load MIDI\n"); - return 1; - } - - write_8254_system_timer(T8254_REF_CLOCK_HZ / 100); /* tick faster at 100Hz please */ - irq0_cnt = 0; - irq0_add = 182; - irq0_max = 1000; /* about 18.2Hz */ - old_irq0 = _dos_getvect(8);/*IRQ0*/ - _dos_setvect(8,irq0); - - //adlib_shut_up(); - midi_reset_channels(); - midi_reset_tracks(); - _cli(); - irq0_ticks = ptick = 0; - _sti(); - midi_playing = 1; - - while (1) { - unsigned long adv; - - _cli(); - adv = irq0_ticks - ptick; - //adv = ptick; - if (adv >= 100UL) adv = 100UL; - ptick = irq0_ticks; - //ptick++; - _sti(); - - while (adv != 0) { - midi_tick(); - adv--; - } - - if (kbhit()) { - c = getch(); - if (c == 0) c = getch() << 8; - - if (c == 27) { - break; - } - } - } - - midi_playing = 0; - //adlib_shut_up(); - shutdown_adlib(); - _dos_setvect(8,old_irq0); - write_8254_system_timer(0); /* back to normal 18.2Hz */ - - for (i=0;i < MIDI_MAX_TRACKS;i++) { - if (midi_trk[i].raw) { -#if TARGET_MSDOS == 16 && (defined(__LARGE__) || defined(__COMPACT__)) - _dos_freemem(FP_SEG(midi_trk[i].raw)); /* NTS: Because we allocated with _dos_allocmem */ -#else - free(midi_trk[i].raw); -#endif - midi_trk[i].raw = NULL; - } - midi_trk[i].fence = NULL; - midi_trk[i].read = NULL; - } - - return 0; -}