void AWE32_Shutdown ( void ) { ShutdownMPU(); awe32Terminate(); DPMI_UnlockMemoryRegion( AWE32_LockStart, AWE32_LockEnd ); DPMI_Unlock( wSBCBaseAddx ); DPMI_Unlock( wEMUBaseAddx ); DPMI_Unlock( wMpuBaseAddx ); DPMI_Unlock( spSound ); DPMI_Unlock( lBankSizes ); DPMI_UnlockMemory( NoteFlags, sizeof( NoteFlags ) ); // Unlock awe32 library DPMI_UnlockMemoryRegion( __midieng_code, __midieng_ecode ); DPMI_UnlockMemoryRegion( __midieng_code(), __midieng_ecode() ); DPMI_UnlockMemoryRegion( __nrpn_code, __nrpn_ecode ); DPMI_UnlockMemoryRegion( __nrpn_code(), __nrpn_ecode() ); DPMI_UnlockMemoryRegion( &__midivar_data, &__midivar_edata ); DPMI_UnlockMemoryRegion( &__nrpnvar_data, &__nrpnvar_edata ); DPMI_UnlockMemoryRegion( &__embed_data, &__embed_edata ); }
int DPMI_UnlockMemoryRegion ( void *start, void *end ) { int status; status = DPMI_UnlockMemory( start, ( char * )end - ( char * )start ); return( status ); }