X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_tail.c;h=3b1cb42c3b0c9c76887689bd9dccc4f97aed0d17;hb=52fab2ff9ef6a39ed9303b0df1ce0ad9c9180ef1;hp=2ff2229d974095d8242c310e344323254decc0f8;hpb=4293b0d061a726cba49d65a75b53de1f3617ffc5;p=16.git diff --git a/src/lib/16_tail.c b/src/lib/16_tail.c index 2ff2229d..3b1cb42c 100755 --- a/src/lib/16_tail.c +++ b/src/lib/16_tail.c @@ -81,8 +81,11 @@ void Startup16(global_game_variables_t *gvar) #endif IN_Startup(gvar); #endif +#ifdef __16_PM__ PM_Startup(gvar); + PM_CheckMainMem(gvar); PM_UnlockMainMem(gvar); +#endif CA_Startup(gvar); } @@ -100,7 +103,9 @@ void Startup16(global_game_variables_t *gvar) void Shutdown16(global_game_variables_t *gvar) { +#ifdef __16_PM__ PM_Shutdown(gvar); +#endif #ifdef __WATCOMC__ #ifdef __DEBUG_InputMgr__ if(!dbg_nointest) @@ -109,7 +114,9 @@ void Shutdown16(global_game_variables_t *gvar) #endif CA_Shutdown(gvar); MM_Shutdown(gvar); +#ifdef __WATCOMC__ VGAmodeX(0, 1, gvar); +#endif } @@ -311,7 +318,9 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q) void ClearMemory (global_game_variables_t *gvar) { +#ifdef __16_PM__ PM_UnlockMainMem(gvar); +#endif //snd MM_SortMem (gvar); } @@ -385,41 +394,54 @@ char global_temp_status_text2[512]; void turboXT(byte bakapee) { __asm { - push ax - push bx - push cx - in al, 61h //; Read equipment flags - xor al, bakapee //; toggle speed - out 61h, al //; Write new flags back - - mov bx, 0F89h //; low pitch blip - and al, 4 //; Is turbo mode set? - jz @@do_beep - mov bx, 52Eh //; high pitch blip - -@@do_beep: - mov al, 10110110b //; Timer IC 8253 square waves - out 43h, al //; channel 2, speaker - mov ax, bx - out 42h, al //; send low order - mov al, ah //; load high order - out 42h, al //; send high order - in al, 61h //; Read IC 8255 machine status - push ax - or al, 00000011b - out 61h, al //; Turn speaker on - mov cx, 2000h -@@delay: - loop @@delay - pop ax - out 61h, al //; Turn speaker off - pop cx - pop bx - pop ax + push ax + push bx + push cx + in al, 61h //; Read equipment flags + xor al, bakapee //; toggle speed + out 61h, al //; Write new flags back + + mov bx, 0F89h //; low pitch blip + and al, 4 //; Is turbo mode set? + jz @@do_beep + mov bx, 52Eh //; high pitch blip + + @@do_beep: + mov al, 10110110b //; Timer IC 8253 square waves + out 43h, al //; channel 2, speaker + mov ax, bx + out 42h, al //; send low order + mov al, ah //; load high order + out 42h, al //; send high order + in al, 61h //; Read IC 8255 machine status + push ax + or al, 00000011b + out 61h, al //; Turn speaker on + mov cx, 2000h + @@delay: + loop @@delay + pop ax + out 61h, al //; Turn speaker off + pop cx + pop bx + pop ax } } #endif +const char *word_to_binary(word x) +{ + static char b[17]; + int z; + + b[0] = '\0'; + for (z = 16; z > 0; z >>= 1) + { + strcat(b, ((x & z) == z) ? "1" : "0"); + } + return b; +} + const char *nibble_to_binary(nibble x) { static char b[9];