void turboXT(byte bakapee)\r
{\r
__asm {\r
- push ax\r
- push bx\r
- push cx\r
- in al, 61h //; Read equipment flags\r
- xor al, bakapee //; toggle speed\r
- out 61h, al //; Write new flags back\r
-\r
- mov bx, 0F89h //; low pitch blip\r
- and al, 4 //; Is turbo mode set?\r
- jz @@do_beep\r
- mov bx, 52Eh //; high pitch blip\r
-\r
-@@do_beep:\r
- mov al, 10110110b //; Timer IC 8253 square waves\r
- out 43h, al //; channel 2, speaker\r
- mov ax, bx\r
- out 42h, al //; send low order\r
- mov al, ah //; load high order\r
- out 42h, al //; send high order\r
- in al, 61h //; Read IC 8255 machine status\r
- push ax\r
- or al, 00000011b\r
- out 61h, al //; Turn speaker on\r
- mov cx, 2000h\r
-@@delay:\r
- loop @@delay\r
- pop ax\r
- out 61h, al //; Turn speaker off\r
- pop cx\r
- pop bx\r
- pop ax\r
+ push ax\r
+ push bx\r
+ push cx\r
+ in al, 61h //; Read equipment flags\r
+ xor al, bakapee //; toggle speed\r
+ out 61h, al //; Write new flags back\r
+\r
+ mov bx, 0F89h //; low pitch blip\r
+ and al, 4 //; Is turbo mode set?\r
+ jz @@do_beep\r
+ mov bx, 52Eh //; high pitch blip\r
+\r
+ @@do_beep:\r
+ mov al, 10110110b //; Timer IC 8253 square waves\r
+ out 43h, al //; channel 2, speaker\r
+ mov ax, bx\r
+ out 42h, al //; send low order\r
+ mov al, ah //; load high order\r
+ out 42h, al //; send high order\r
+ in al, 61h //; Read IC 8255 machine status\r
+ push ax\r
+ or al, 00000011b\r
+ out 61h, al //; Turn speaker on\r
+ mov cx, 2000h\r
+ @@delay:\r
+ loop @@delay\r
+ pop ax\r
+ out 61h, al //; Turn speaker off\r
+ pop cx\r
+ pop bx\r
+ pop ax\r
}\r
}\r
#endif\r