493 sb_voice_init() { extern char far * near voice_drv; int i; if ( ! GetEnvSetting() ) { if (sbc_check_card() & 4) { if (sbc_test_int()) { if (sbc_test_dma() >= 0) { if ((voice_drv = LoadDriver("CT-VOICE.DRV")) != 0) { if (!ctvm_init()) { ctvm_speaker(1); return(0); } } else { printf("Error loading CT-VOICE.DRV!\n"); return(1); } } else { printf("Error on DMA channel.\n"); return(1); } } else { printf("Error on interrupt.\n"); return(1); } } else { printf("Sound Blaster Card not found or wrong I/O settings.\n") ; return(1); } } else { printf("BLASTER environment not set or incomplete or invalid.\n"); return(1); } } sb_voice_exit() { ctvm_speaker(0); ctvm_terminate(); } playsample(char far *buf, char wait) { ctvm_stop(); buf += ((VOCHDR far *)buf)->voice_offset ; ctvm_output(buf); if(wait) while(ct_voice_status != 0); } . 0