it_tute builds

This commit is contained in:
'mr software' 2023-03-11 15:18:28 -08:00
parent ff7c092581
commit 4d5d736be3
27 changed files with 7063 additions and 7150 deletions

View File

@ -1,7 +1,7 @@
Impulse Tracker Impulse Tracker
=============== ===============
Eventually, maybe, a version of IT for modern systems Eventually, maybe, a version of IT for modern x86\_64 systems
Pre-Requisite Software Pre-Requisite Software
---------------------- ----------------------

4
build
View File

@ -3,7 +3,7 @@ mkdir -p obj gen
for i in *.s; do for i in *.s; do
echo $i echo $i
nasm -g $i -felf32 -o "obj/$(echo $i | sed 's/s$/o/g')" nasm -g $i -felf64 -o "obj/$(echo $i | sed 's/s$/o/g')"
done done
cc -m32 main.c c/* obj/* -g3 cc main.c c/* obj/* -g3

6
check-errors Executable file
View File

@ -0,0 +1,6 @@
for i in *.s; do echo -e $(nasm -felf32 -o /tmp/test.o $i 2>&1 | wc -l)'\t'$i; done | sort -n
echo -e '\nct. in source:'
for i in '^EndP' '^EndM' '^Proc'; do
echo -e $i'\t'$(grep -RE $i 2>/dev/null | wc -l)
done

View File

@ -1,29 +0,0 @@
18 it_mdata.s
37 it_err.s
51 it_vesa.s
90 it_h.s
140 it_four.s
165 it_tute.s
167 it_m.s
172 it_l.s
174 it_mmtsr.s
238 it_k.s
240 it_ems.s
287 it_s.s
311 it_msg.s
318 it_mouse.s
336 it.s
425 it_g.s
641 it_net.s
815 it_displ.s
1563 it_f.s
1795 it_music.s
2057 it_pe.s
2155 it_i.s
2238 it_disk.s
2398 it_obj1.s
instances in source code:
EndM: 374
EndP: 3320
Proc: 3597

240
it.s
View File

@ -5,103 +5,103 @@
; TODO ; TODO
;Jumps ;Jumps
include switch.inc %include "switch.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³ ;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Segment Object1 BYTE Public 'Data' Segment Object1 BYTE Public 'Data'
Extrn HelpKeyValue:Word, OrderKeyValue:Word extern HelpKeyValue:Word, OrderKeyValue:Word
EndS EndS
Segment InfoLine BYTE Public 'Code' USE16 Segment InfoLine BYTE Public 'Code' USE16
Extrn ShowUsageTime:Byte extern ShowUsageTime:Byte
EndS EndS
Segment Disk BYTE Public 'Code' USE16 Segment Disk BYTE Public 'Code' USE16
Extrn DiskOptions:Byte extern DiskOptions:Byte
EndS EndS
Segment Screen BYTE Public 'Code' Segment Screen BYTE Public 'Code'
Extrn CharacterGenerationOffset:Word extern CharacterGenerationOffset:Word
Extrn VGAFlags:Byte extern VGAFlags:Byte
EndS EndS
Segment Mouse BYTE Public 'Code' Segment Mouse BYTE Public 'Code'
Extrn MouseCharacterGenerationOffset:Word extern MouseCharacterGenerationOffset:Word
EndS EndS
Segment Main DWORD Public 'Code' USE16 Segment Main DWORD Public 'Code' USE16
Extrn ReleaseTimeSlice:Byte extern ReleaseTimeSlice:Byte
EndS EndS
Extrn D_InitDisk:Far extern D_InitDisk:Far
Extrn D_UnInitDisk:Far extern D_UnInitDisk:Far
Extrn D_DisableFileColours:Far extern D_DisableFileColours:Far
Extrn E_InitEMS:Far extern E_InitEMS:Far
Extrn E_UnInitEMS:Far extern E_UnInitEMS:Far
Extrn Error_InitHandler:Far extern Error_InitHandler:Far
Extrn Error_UnInitHandler:Far extern Error_UnInitHandler:Far
Extrn K_InitKeyBoard:Far extern K_InitKeyBoard:Far
Extrn K_UnInitKeyBoard:Far extern K_UnInitKeyBoard:Far
Extrn K_InstallKeyboardType:Far extern K_InstallKeyboardType:Far
Extrn K_RemoveKeyboardType:Far extern K_RemoveKeyboardType:Far
Extrn K_InstallDOSHandler:Far extern K_InstallDOSHandler:Far
Extrn K_UnInstallDOSHandler:Far extern K_UnInstallDOSHandler:Far
Extrn K_SwapKeyBoard:Far extern K_SwapKeyBoard:Far
Extrn O1_AutoDetectList:Far extern O1_AutoDetectList:Far
Extrn O1_ConfirmQuit:Far extern O1_ConfirmQuit:Far
Extrn O1_PatternEditList:Far extern O1_PatternEditList:Far
Extrn O1_CrashRecovery:Far extern O1_CrashRecovery:Far
Extrn O1_KeyboardList:Far extern O1_KeyboardList:Far
Extrn M_Object1List:Far extern M_Object1List:Far
Extrn S_InitScreen:Far extern S_InitScreen:Far
Extrn S_ClearScreen:Far extern S_ClearScreen:Far
Extrn S_UnInitScreen:Far extern S_UnInitScreen:Far
Extrn S_SetDirectMode:Far extern S_SetDirectMode:Far
Extrn S_DrawString:Far extern S_DrawString:Far
Extrn Music_InitMusic:Far extern Music_InitMusic:Far
Extrn Music_UnInitMusic:Far extern Music_UnInitMusic:Far
Extrn Music_SetLimit:Far extern Music_SetLimit:Far
Extrn Music_SetSoundCard:Far extern Music_SetSoundCard:Far
Extrn Music_SetDMA:Far extern Music_SetDMA:Far
Extrn Music_SetIRQ:Far extern Music_SetIRQ:Far
Extrn Music_SetMixSpeed:Far extern Music_SetMixSpeed:Far
Extrn Music_SetAddress:Far extern Music_SetAddress:Far
Extrn Music_ReverseChannels:Far extern Music_ReverseChannels:Far
Extrn Music_PatternStorage:Far extern Music_PatternStorage:Far
Extrn Music_SetSoundCardDriver:Far extern Music_SetSoundCardDriver:Far
Extrn Music_Stop:Far extern Music_Stop:Far
Extrn Music_AutoDetectSoundCard:Far extern Music_AutoDetectSoundCard:Far
IF NETWORKENABLED %IF NETWORKENABLED
Extrn Network_Shutdown:Far extern Network_Shutdown:Far
ENDIF %ENDIF
Extrn PE_InitPatternEdit:Far extern PE_InitPatternEdit:Far
Extrn PE_UnInitPatternEdit:Far extern PE_UnInitPatternEdit:Far
Extrn PECheckModified:Far extern PECheckModified:Far
Extrn D_RestorePreShellDirectory:Far extern D_RestorePreShellDirectory:Far
Extrn D_GetPreShellDirectory:Far extern D_GetPreShellDirectory:Far
Extrn MMTSR_InstallMMTSR:Far extern MMTSR_InstallMMTSR:Far
Extrn MMTSR_UninstallMMTSR:Far extern MMTSR_UninstallMMTSR:Far
Extrn InitMouse:Far, UnInitMouse:Far extern InitMouse:Far, UnInitMouse:Far
Extrn CmdLineDisableMouse:Far extern CmdLineDisableMouse:Far
Extrn InitTimerHandler:Far, UnInitTimerHandler:Far extern InitTimerHandler:Far, UnInitTimerHandler:Far
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
@ -114,17 +114,19 @@ ENDIF
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment StartUp BYTE Public 'Code' USE16 ;Segment StartUp BYTE Public 'Code' USE16
Assume CS:StartUp, DS:Nothing, ES:Nothing section .text
%warning "USE16"
; ;Assume CS:StartUp, DS:Nothing, ES:Nothing
CREATENEWLOGFILE EQU 1 CREATENEWLOGFILE EQU 1
include debug.inc %include "debug.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³ ;³ Variables ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
StackSize = 1000h StackSize equ 1000h
No386Msg DB "Sorry, Impulse Tracker requires a 386+ processor to run." No386Msg DB "Sorry, Impulse Tracker requires a 386+ processor to run."
DB 13, 10, "$" DB 13, 10, "$"
@ -154,24 +156,24 @@ EXECData DW 0 ; Inherit same environment block
DW Offset FCB2, Startup DW Offset FCB2, Startup
ShellMsg DB "Type EXIT to return to Impulse Tracker$" ShellMsg DB "Type EXIT to return to Impulse Tracker$"
IF SHOWREGISTERNAME %IF SHOWREGISTERNAME
include wavswitc.inc %include "wavswitc.inc"
include username.inc %include "username.inc"
ENDIF %ENDIF
Label CmdLineHelp Byte Label CmdLineHelp Byte
IF SHOWVERSION %IF SHOWVERSION
DB "Impulse Tracker 2.14, Copyright (C) 1995-2000 Jeffrey Lim", 13, 10 DB "Impulse Tracker 2.14, Copyright (C) 1995-2000 Jeffrey Lim", 13, 10
DB 10 DB 10
DB " Usage: IT.EXE [Switches]", 13, 10 DB " Usage: IT.EXE [Switches]", 13, 10
ELSE %ELSE
DB "Impulse Tracker, Copyright (C) 1995-2000 Jeffrey Lim", 13, 10 DB "Impulse Tracker, Copyright (C) 1995-2000 Jeffrey Lim", 13, 10
IF SHOWREGISTERNAME %IF SHOWREGISTERNAME
DB "Registered to: " DB "Registered to: "
DB REGISTERNAME DB REGISTERNAME
DB 13, 10 DB 13, 10
ENDIF %ENDIF
ENDIF %ENDIF
DB 10 DB 10
DB "Switches:", 13, 10 DB "Switches:", 13, 10
DB " SFilename.Drv Select sound card driver", 13, 10 DB " SFilename.Drv Select sound card driver", 13, 10
@ -232,7 +234,7 @@ StartupQueueNextFunction DW Offset GetStartupKeyList2
;³ Functions ³ ;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc CapitaliseAL CapitaliseAL:
Cmp AL, 'a' Cmp AL, 'a'
JB CapitaliseAL1 JB CapitaliseAL1
@ -245,7 +247,7 @@ Proc CapitaliseAL
CapitaliseAL1: CapitaliseAL1:
Ret Ret
EndP CapitaliseAL ;EndP CapitaliseAL
CapitaliseAL: CapitaliseAL:
cmp al, 'a' cmp al, 'a'
@ -257,7 +259,7 @@ CapitaliseAL:
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc GetDecimalNumber ; Returns CX GetDecimalNumber: ; Returns CX
LodsB LodsB
Cmp AL, '0' Cmp AL, '0'
@ -294,12 +296,12 @@ GetDecimalNumber4:
ClC ClC
Ret Ret
EndP GetDecimalNumber ;EndP GetDecimalNumber
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Start Start:
Assume DS:Nothing ;Assume DS:Nothing
; 386 check. ; 386 check.
@ -416,13 +418,13 @@ NoShowUsageTime:
Push InfoLine Push InfoLine
Pop DS Pop DS
Assume DS:InfoLine ;Assume DS:InfoLine
Mov [ShowUsageTime], 0 Mov [ShowUsageTime], 0
Pop DS Pop DS
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
NoReleaseTimeSlice: NoReleaseTimeSlice:
Cmp AL, '2' Cmp AL, '2'
@ -433,7 +435,7 @@ NoReleaseTimeSlice2:
Push Main Push Main
Pop DS Pop DS
Assume DS:Main ;Assume DS:Main
Mov [ReleaseTimeSlice], 1 Mov [ReleaseTimeSlice], 1
@ -477,31 +479,31 @@ DisableMMTSR:
DisableDetectDriveMap: DisableDetectDriveMap:
Push Disk Push Disk
Pop DS Pop DS
Assume DS:Disk ;Assume DS:Disk
Or [DiskOptions], 1 Or [DiskOptions], 1
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
DisableCacheFiles: DisableCacheFiles:
Push Disk Push Disk
Pop DS Pop DS
Assume DS:Disk ;Assume DS:Disk
Or [DiskOptions], 2 Or [DiskOptions], 2
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
KeyboardSwap: KeyboardSwap:
Mov AX, Object1 Mov AX, Object1
Mov DS, AX Mov DS, AX
Assume DS:Object1 ;Assume DS:Object1
Mov [HelpKeyValue], 157h Mov [HelpKeyValue], 157h
Mov [OrderKeyValue], 13Bh Mov [OrderKeyValue], 13Bh
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
DisableColours: DisableColours:
Call D_DisableFileColours Call D_DisableFileColours
@ -516,7 +518,7 @@ OverrideVGA:
Mov CX, Screen Mov CX, Screen
Mov DS, CX Mov DS, CX
Assume DS:Screen ;Assume DS:Screen
Cmp AL, '1' Cmp AL, '1'
JE OverrideVGA1 JE OverrideVGA1
@ -545,11 +547,11 @@ Matrox:
Mov AX, Mouse Mov AX, Mouse
Mov DS, AX Mov DS, AX
Assume DS:Mouse ;Assume DS:Mouse
Mov [MouseCharacterGenerationOffset], 256*32 Mov [MouseCharacterGenerationOffset], 256*32
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
SetControl: SetControl:
Mov [CS:Control], 1 Mov [CS:Control], 1
@ -624,7 +626,7 @@ SetMixSpeed1:
SetMixSpeedError: SetMixSpeedError:
Push CS Push CS
Pop DS Pop DS
Assume DS:StartUp ;Assume DS:StartUp
Mov AH, 9 Mov AH, 9
Mov DX, Offset MixErrorMsg Mov DX, Offset MixErrorMsg
@ -632,7 +634,7 @@ SetMixSpeedError:
Mov [Pause], 1 Mov [Pause], 1
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
SetIRQ1: SetIRQ1:
Call GetDecimalNumber Call GetDecimalNumber
@ -648,7 +650,7 @@ SetIRQ1:
IRQError: IRQError:
Push CS Push CS
Pop DS Pop DS
Assume DS:StartUp ;Assume DS:StartUp
Mov AH, 9 Mov AH, 9
Mov DX, Offset IRQErrorMsg Mov DX, Offset IRQErrorMsg
@ -656,7 +658,7 @@ IRQError:
Mov [Pause], 1 Mov [Pause], 1
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
SetAddress1: SetAddress1:
@ -713,7 +715,7 @@ SetAddress5:
AddressError: AddressError:
Push CS Push CS
Pop DS Pop DS
Assume DS:StartUp ;Assume DS:StartUp
Mov AH, 9 Mov AH, 9
Mov DX, Offset AddressErrorMsg Mov DX, Offset AddressErrorMsg
@ -721,7 +723,7 @@ AddressError:
Mov [Pause], 1 Mov [Pause], 1
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
Limit1: Limit1:
Call GetDecimalNumber Call GetDecimalNumber
@ -739,7 +741,7 @@ Limit1:
LimitError: LimitError:
Push CS Push CS
Pop DS Pop DS
Assume DS:StartUp ;Assume DS:StartUp
Mov AH, 9 Mov AH, 9
Mov DX, Offset LimitErrorMsg Mov DX, Offset LimitErrorMsg
@ -747,7 +749,7 @@ LimitError:
Mov [Pause], 1 Mov [Pause], 1
Jmp CmdLine1 Jmp CmdLine1
Assume DS:Nothing ;Assume DS:Nothing
CmdLineEnd: CmdLineEnd:
@ -755,7 +757,7 @@ CmdLineEnd:
Push CS Push CS
Pop DS Pop DS
Assume DS:StartUp ;Assume DS:StartUp
Trace "Windows Detection" Trace "Windows Detection"
@ -862,7 +864,7 @@ SkipMMTSR:
Call M_Object1List Call M_Object1List
Jmp Quit1 Jmp Quit1
Proc Quit Far Quit:;Far
Mov DI, Offset O1_ConfirmQuit Mov DI, Offset O1_ConfirmQuit
Mov CX, 3 Mov CX, 3
@ -878,9 +880,9 @@ Quit1:
Call PECheckModified Call PECheckModified
Call Music_Stop Call Music_Stop
IF NETWORKENABLED %IF NETWORKENABLED
Call Network_Shutdown Call Network_Shutdown
ENDIF %ENDIF
Call MMTSR_UninstallMMTSR Call MMTSR_UninstallMMTSR
Call PE_UnInitPatternEdit Call PE_UnInitPatternEdit
@ -897,23 +899,23 @@ ENDIF
Mov AX, 4C00h Mov AX, 4C00h
Int 21h Int 21h
EndP Quit ;EndP Quit
EndP Start ;EndP Start
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc IsStartupKeyList Far IsStartupKeyList:;Far
Mov AL,CS:StartupList Mov AL,CS:StartupList
Ret Ret
EndP IsStartupKeyList ;EndP IsStartupKeyList
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc GetStartupKeyList Far GetStartupKeyList:;Far
Jmp [CS:StartupKeyListFunction] Jmp [CS:StartupKeyListFunction]
@ -977,11 +979,11 @@ GetStartupKeyList3: ; Save module then quit
Mov [CS:StartupList], 0 Mov [CS:StartupList], 0
Ret Ret
EndP GetStartupKeyList ;EndP GetStartupKeyList
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc CrashRecovery Far ; CtrlAltDel location. CrashRecovery:;Far ; CtrlAltDel location.
ClD ClD
StI StI
@ -999,11 +1001,11 @@ Proc CrashRecovery Far ; CtrlAltDel location.
Mov CX, 0FFFFh Mov CX, 0FFFFh
Jmp M_Object1List Jmp M_Object1List
EndP CrashRecovery ;EndP CrashRecovery
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc GetEnvironment Far ; DS:SI points to string. GetEnvironment:;Far ; DS:SI points to string.
; CX = length of string. ; CX = length of string.
; Returns ES:DI ; Returns ES:DI
@ -1042,11 +1044,11 @@ GetEnvironment3:
ClC ClC
Ret Ret
EndP GetEnvironment ;EndP GetEnvironment
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Refresh Far Refresh:;Far
Call D_GetPreShellDirectory Call D_GetPreShellDirectory
Call S_InitScreen Call S_InitScreen
@ -1057,11 +1059,11 @@ Proc Refresh Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Refresh ;EndP Refresh
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc DOSShell Far DOSShell:;Far
PushAD PushAD
Push DS Push DS
@ -1090,7 +1092,7 @@ DOSShell3:
Push CS Push CS
Pop DS Pop DS
Pop ES Pop ES
Assume DS:StartUp ;Assume DS:StartUp
Mov AH, 9 Mov AH, 9
Mov DX, Offset ShellMsg Mov DX, Offset ShellMsg
@ -1107,7 +1109,7 @@ DOSShell3:
DOSShell1: DOSShell1:
ClI ClI
Int 21h Int 21h
Assume DS:Nothing ;Assume DS:Nothing
PopF PopF
@ -1134,8 +1136,8 @@ DOSShell5:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP DOSShell ;EndP DOSShell
Assume DS:Nothing ;Assume DS:Nothing
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

1423
it_disk.s

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

147
it_ems.s
View File

@ -2,7 +2,7 @@
;³ EMS Module ³ ;³ EMS Module ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
include switch.inc %include "switch.inc"
; Memory structure for patterns: ; Memory structure for patterns:
; Memory Block Header ; Memory Block Header
@ -16,27 +16,24 @@ include switch.inc
; Offset 9-0Fh: Not used ; Offset 9-0Fh: Not used
; Offset 10h Data ; Offset 10h Data
Jumps
.386
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³ ;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Segment Object1 BYTE Public 'Data' Segment Object1 BYTE Public 'Data'
Extrn EMSErrorValue:Word extern EMSErrorValue:Word
Extrn EMSErrorValue2:Word extern EMSErrorValue2:Word
Extrn EMSErrorValue3:Word extern EMSErrorValue3:Word
Extrn EMSErrorValue4:Word extern EMSErrorValue4:Word
Extrn EMSErrorValue5:Word extern EMSErrorValue5:Word
Extrn EMSErrorValue6:Word extern EMSErrorValue6:Word
Extrn EMSErrorValue7:Word extern EMSErrorValue7:Word
Extrn EMSErrorValue8:Word extern EMSErrorValue8:Word
EndS EndS
Extrn M_Object1List:Far extern M_Object1List:Far
Extrn O1_EMSWarningMessage extern O1_EMSWarningMessage
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³ ;³ Globals ³
@ -57,37 +54,37 @@ EndS
Global E_GetEMSVersion:Far Global E_GetEMSVersion:Far
Global E_GetInternalEMSHandle:Far Global E_GetInternalEMSHandle:Far
IF EMSDEBUG %IF EMSDEBUG
Global E_DumpEMSMemory:Far Global E_DumpEMSMemory:Far
ENDIF %ENDIF
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment EMS WORD Public 'Code' USE16 Segment EMS WORD Public 'Code' USE16
Assume CS:EMS, DS:Nothing ;Assume CS:EMS, DS:Nothing
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³ ;³ Variables ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
include debug.inc %include "debug.inc"
EMSDetectString DB "EMMXXXX0" ; Identification string EMSDetectString DB "EMMXXXX0" ; Identification string
EMSHandlesRemaining DW 0 EMSHandlesRemaining DW 0
EMSAvailable DW 0 ; Assume that it's not avail. EMSAvailable DW 0 ; ;Assume that it's not avail.
EMSPageFrame DW 0 EMSPageFrame DW 0
EMSHandle DW 0 EMSHandle DW 0
EMSVersion DB 0 EMSVersion DB 0
DB 0 DB 0
IF EMSDEBUG %IF EMSDEBUG
EMSDumpName DB "EMSDump", 0 EMSDumpName DB "EMSDump", 0
ENDIF %ENDIF
EMSCorrespondenceList Label Word EMSCorrespondenceList Label Word
Page0 DB 0, 0 Page0 DB 0, 0
@ -103,7 +100,7 @@ EMSCorrespondenceList Label Word
;³ Functions ³ ;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc E_InitEMS Far Proc E_InitEMS Far
Push DS Push DS
Push ES Push ES
@ -122,7 +119,7 @@ Proc E_InitEMS Far
Push CS Push CS
Pop DS Pop DS
Assume DS:EMS ;Assume DS:EMS
Mov SI, Offset EMSDetectString Mov SI, Offset EMSDetectString
@ -242,12 +239,12 @@ E_InitEMS1:
Pop DS Pop DS
Ret Ret
EndP E_InitEMS ;EndP E_InitEMS
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetFreeEMS Far ; Returns kb free.. Proc E_GetFreeEMS Far ; Returns kb free..
Push BX Push BX
Push DX Push DX
@ -274,11 +271,11 @@ E_GetFreeEMS1:
Pop BX Pop BX
Ret Ret
EndP E_GetFreeEMS ;EndP E_GetFreeEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_ReleaseEMS Far ; AX = handle. Proc E_ReleaseEMS Far ; AX = handle.
Push AX Push AX
Push DX Push DX
@ -300,11 +297,11 @@ E_ReleaseEMS1:
Ret Ret
EndP E_ReleaseEMS ;EndP E_ReleaseEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc EMSWarning Proc EMSWarning
PushAD PushAD
Push DS Push DS
@ -312,7 +309,7 @@ Proc EMSWarning
Mov BX, Object1 Mov BX, Object1
Mov DS, BX Mov DS, BX
Assume DS:Object1 ;Assume DS:Object1
Mov Byte Ptr EMSErrorValue, AH Mov Byte Ptr EMSErrorValue, AH
Mov EMSErrorValue2, CX Mov EMSErrorValue2, CX
@ -343,12 +340,12 @@ Proc EMSWarning
Ret Ret
EndP EMSWarning ;EndP EMSWarning
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_MapAvailableEMSMemory Far Proc E_MapAvailableEMSMemory Far
; AX = handle. ; AX = handle.
Push AX BX DX Push AX BX DX
@ -375,11 +372,11 @@ E_MapAvailableEMSMemory2:
Ret Ret
EndP E_MapAvailableEMSMemory ;EndP E_MapAvailableEMSMemory
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_MapEMSMemory Far ; CL = total pages in handle Proc E_MapEMSMemory Far ; CL = total pages in handle
; CH = starting (base) page. ; CH = starting (base) page.
; DX = handle ; DX = handle
@ -397,10 +394,10 @@ Proc E_MapEMSMemory Far ; CL = total pages in handle
E_MapEMSMemory003: E_MapEMSMemory003:
IF EMSUSE41 %IF EMSUSE41
Cmp CS:EMSVersion, 40h Cmp CS:EMSVersion, 40h
JAE E_MapEMSMemoryV4_1 JAE E_MapEMSMemoryV4_1
ENDIF %ENDIF
Xor BX, BX Xor BX, BX
@ -419,7 +416,7 @@ E_MapEMSMemory001:
JNZ E_MapEMSMemory001 JNZ E_MapEMSMemory001
Jmp E_MapEMSMemory002 Jmp E_MapEMSMemory002
IF EMSUSE41 %IF EMSUSE41
E_MapEMSMemoryV4_1: E_MapEMSMemoryV4_1:
Push DS Push DS
@ -430,7 +427,7 @@ E_MapEMSMemoryV4_1:
Push CS Push CS
Pop DS Pop DS
Assume DS:EMS ;Assume DS:EMS
Mov Page0, CH Mov Page0, CH
Inc CH Inc CH
@ -448,12 +445,12 @@ E_MapEMSMemoryV4_1:
PopF PopF
Pop SI Pop SI
Pop DS Pop DS
Assume DS:Nothing ;Assume DS:Nothing
Test AH, AH Test AH, AH
JZ E_MapEMSMemory002 JZ E_MapEMSMemory002
ENDIF %ENDIF
E_MapEMSMemory004: E_MapEMSMemory004:
; Call EMSWarning ; Call EMSWarning
@ -466,11 +463,11 @@ E_MapEMSMemory002:
E_MapEMSMemoryExit: E_MapEMSMemoryExit:
Ret Ret
EndP E_MapEMSMemory ;EndP E_MapEMSMemory
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_UnInitEMS Far Proc E_UnInitEMS Far
Cmp EMSAvailable, 0 Cmp EMSAvailable, 0
JE E_UnInitEMS1 JE E_UnInitEMS1
@ -481,20 +478,20 @@ Proc E_UnInitEMS Far
E_UnInitEMS1: E_UnInitEMS1:
Ret Ret
EndP E_UnInitEMS ;EndP E_UnInitEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetEMSPageFrame Far Proc E_GetEMSPageFrame Far
Mov AX, CS:EMSPageFrame Mov AX, CS:EMSPageFrame
Ret Ret
EndP E_GetEMSPageFrame ;EndP E_GetEMSPageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_MapAlignedBlockEMS Far ; Given AX, Return DS:SI Proc E_MapAlignedBlockEMS Far ; Given AX, Return DS:SI
Push CX DX Push CX DX
@ -514,11 +511,11 @@ Proc E_MapAlignedBlockEMS Far ; Given AX, Return DS:SI
Ret Ret
EndP E_MapAlignedBlockEMS ;EndP E_MapAlignedBlockEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_AllocateBlockEMS Far ; EAX = number of bytes Proc E_AllocateBlockEMS Far ; EAX = number of bytes
; Destroys EMS page frame ; Destroys EMS page frame
; Returns AX = segment address ; Returns AX = segment address
; Carry set if fail, clear if ; Carry set if fail, clear if
@ -635,11 +632,11 @@ AllocateBlockQuit:
StI StI
Ret Ret
EndP E_AllocateBlockEMS ;EndP E_AllocateBlockEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_ReleaseBlockEMS Far ; Given AX = 'segment'. Proc E_ReleaseBlockEMS Far ; Given AX = 'segment'.
ClI ClI
Push EAX EBX DS SI Push EAX EBX DS SI
@ -721,11 +718,11 @@ E_ReleaseBlockCleanup:
StI StI
Ret Ret
EndP E_ReleaseBlockEMS ;EndP E_ReleaseBlockEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_AllocateEMS Far ; EAX = number of bytes Proc E_AllocateEMS Far ; EAX = number of bytes
; Returns AX with handle ; Returns AX with handle
; 0 if no handle allocated ; 0 if no handle allocated
; given carry = essential ; given carry = essential
@ -771,22 +768,22 @@ E_AllocateEMS1:
Pop EBX Pop EBX
Ret Ret
EndP E_AllocateEMS ;EndP E_AllocateEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_EMSAvailable Far ; Returns Zero flag set if no EMS Proc E_EMSAvailable Far ; Returns Zero flag set if no EMS
Cmp CS:EMSAvailable, 0 Cmp CS:EMSAvailable, 0
Ret Ret
EndP E_EMSAvailable ;EndP E_EMSAvailable
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Comment ~ Comment ~
Proc E_SavePageFrame Far ; Given DX = Handle Proc E_SavePageFrame Far ; Given DX = Handle
Public E_SavePageFrame Public E_SavePageFrame
Push AX Push AX
@ -805,11 +802,11 @@ E_SavePageFrame1:
Ret Ret
EndP E_SavePageFrame ;EndP E_SavePageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_RestorePageFrame Far ; Given DX = Handle Proc E_RestorePageFrame Far ; Given DX = Handle
Public E_RestorePageFrame Public E_RestorePageFrame
Push AX Push AX
@ -828,13 +825,13 @@ E_RestorePageFrame1:
Ret Ret
EndP E_RestorePageFrame ;EndP E_RestorePageFrame
~ ~
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_SaveEMSPageFrame Far Proc E_SaveEMSPageFrame Far
Cmp CS:EMSAvailable, 0 Cmp CS:EMSAvailable, 0
JE E_SaveEMSPageFrame1 JE E_SaveEMSPageFrame1
@ -865,11 +862,11 @@ E_SaveEMSPageFrame2:
E_SaveEMSPageFrame1: E_SaveEMSPageFrame1:
Ret Ret
EndP E_SaveEMSPageFrame ;EndP E_SaveEMSPageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_RestoreEMSPageFrame Far Proc E_RestoreEMSPageFrame Far
Cmp CS:EMSAvailable, 0 Cmp CS:EMSAvailable, 0
JE E_RestoreEMSPageFrame1 JE E_RestoreEMSPageFrame1
@ -887,35 +884,35 @@ Proc E_RestoreEMSPageFrame Far
E_RestoreEMSPageFrame1: E_RestoreEMSPageFrame1:
Ret Ret
EndP E_RestoreEMSPageFrame ;EndP E_RestoreEMSPageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetEMSVersion Far Proc E_GetEMSVersion Far
Mov AL, CS:EMSVersion Mov AL, CS:EMSVersion
Ret Ret
EndP E_GetEMSVersion ;EndP E_GetEMSVersion
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetInternalEMSHandle Far Proc E_GetInternalEMSHandle Far
Mov AX, CS:EMSHandle Mov AX, CS:EMSHandle
Ret Ret
EndP E_GetInternalEMSHandle ;EndP E_GetInternalEMSHandle
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IF EMSDEBUG %IF EMSDEBUG
Proc E_DumpEMSMemory Far Proc E_DumpEMSMemory Far
Push CS Push CS
Pop DS Pop DS
Assume DS:EMS ;Assume DS:EMS
Mov AH, 3Ch Mov AH, 3Ch
Xor CX, CX Xor CX, CX
@ -959,10 +956,10 @@ Proc E_DumpEMSMemory Far
Xor AX, AX Xor AX, AX
Ret Ret
EndP E_DumpEMSMemory ;EndP E_DumpEMSMemory
Assume DS:Nothing ;Assume DS:Nothing
ENDIF %ENDIF
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

View File

@ -23,7 +23,7 @@
;Segment Error BYTE Public 'Code' USE16 ;Segment Error BYTE Public 'Code' USE16
section .text section .text
%warning "USE16" %warning "USE16"
; Assume CS:Error ; ;Assume CS:Error
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
%include "debug.inc" %include "debug.inc"
@ -79,7 +79,7 @@ ErrorHandler:
Push CS Push CS
Pop DS Pop DS
; Assume DS:Error ; ;Assume DS:Error
Mov BX, DI Mov BX, DI
And BX, 0FFh And BX, 0FFh
@ -117,7 +117,7 @@ ErrorHandler4:
IRet IRet
;EndP ErrorHandler ;EndP ErrorHandler
; Assume DS:Nothing ; ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

969
it_f.s

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,9 @@
;ウ Fast Fourier Transform Module ウ ;ウ Fast Fourier Transform Module ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps %include "switch.inc"
.386P
.387
include switch.inc %IF SPECTRUMANALYSER
IF SPECTRUMANALYSER
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ ;ウ Externals ウ
@ -19,27 +15,27 @@ EndS
Segment DiskData PARA Public 'Data' Segment DiskData PARA Public 'Data'
EndS EndS
Extrn O1_FourierDisplay:Far extern O1_FourierDisplay:Far
Extrn M_Object1List:Far extern M_Object1List:Far
Extrn Music_GetWaveForm:Far extern Music_GetWaveForm:Far
Extrn S_InitScreen:Far extern S_InitScreen:Far
Extrn S_SetDirectMode:Far extern S_SetDirectMode:Far
Global MouseUpdateEnable:Far, MouseUpdateDisable:Far Global MouseUpdateEnable:Far, MouseUpdateDisable:Far
Extrn VESA_Detect:Far extern VESA_Detect:Far
Extrn VESA_SetMode:Far extern VESA_SetMode:Far
Extrn VESA_SetBlock:Far extern VESA_SetBlock:Far
Extrn InitMouse:Far, UnInitMouse:Far extern InitMouse:Far, UnInitMouse:Far
Extrn S_DefineSmallNumbers:Far extern S_DefineSmallNumbers:Far
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment Infopage BYTE Public 'Code' USE16 Segment Infopage BYTE Public 'Code' USE16
Assume CS:Infopage, DS:Nothing, ES:Nothing ;Assume CS:Infopage, DS:Nothing, ES:Nothing
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ ;ウ Variables ウ
@ -79,7 +75,7 @@ Fourier_CreateTable2:
Ret Ret
EndP Fourier_CreateTable ;EndP Fourier_CreateTable
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -226,7 +222,7 @@ Fourier_CalculateMagnitudes1: ; Could be interleaved, but speed isn't
Ret Ret
EndP Fourier_Transform ;EndP Fourier_Transform
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -241,7 +237,7 @@ Public Fourier_ChangePalette
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Fourier_ChangePalette ;EndP Fourier_ChangePalette
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -366,7 +362,7 @@ Fourier_PaletteB5:
Ret Ret
EndP Fourier_SetPalette ;EndP Fourier_SetPalette
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -421,7 +417,7 @@ Fourier_End:
Ret Ret
EndP Fourier_Start ;EndP Fourier_Start
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -430,7 +426,7 @@ Public Fourier_PreDrawScreen
Ret Ret
EndP Fourier_PreDrawScreen ;EndP Fourier_PreDrawScreen
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -571,7 +567,7 @@ Fourier_DrawBars4:
Fourier_DrawScreen1: Fourier_DrawScreen1:
Ret Ret
EndP Fourier_DrawScreen ;EndP Fourier_DrawScreen
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -581,7 +577,7 @@ Public Fourier_IdleList
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Fourier_IdleList ;EndP Fourier_IdleList
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -599,14 +595,14 @@ Fourier_PostFunction2:
Mov AX, 4 Mov AX, 4
Ret Ret
EndP Fourier_PostFunction ;EndP Fourier_PostFunction
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
EndS EndS
ENDIF %ENDIF
End End

350
it_g.s
View File

@ -2,95 +2,93 @@
;³ Global Key Handler ³ ;³ Global Key Handler ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Jumps %include "switch.inc"
%include "network.inc"
include switch.inc
include network.inc
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³ ;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Segment Pattern BYTE Public 'Code' Segment Pattern BYTE Public 'Code'
Extrn LastInstrument:Byte extern LastInstrument:Byte
Extrn Order:Word extern Order:Word
Extrn MaxRow:Word extern MaxRow:Word
Extrn NumberOfRows:Word extern NumberOfRows:Word
Extrn PatternNumber:Word extern PatternNumber:Word
EndS EndS
Segment Inst BYTE Public 'Code' Segment Inst BYTE Public 'Code'
Extrn SampleNumber:Byte extern SampleNumber:Byte
Extrn InstrumentScreen:Word extern InstrumentScreen:Word
EndS EndS
Segment Object1 BYTE Public 'Data' Segment Object1 BYTE Public 'Data'
EndS EndS
Extrn D_InitLoadModule:Far extern D_InitLoadModule:Far
Extrn D_InitLoadSamples:Far extern D_InitLoadSamples:Far
Extrn D_InitLoadInstruments:Far extern D_InitLoadInstruments:Far
Extrn Display_SelectDisplayList:Far extern Display_SelectDisplayList:Far
Extrn M_Object1List:Far extern M_Object1List:Far
Extrn I_ClearTables:Far extern I_ClearTables:Far
Extrn Music_GetInstrumentMode:Far extern Music_GetInstrumentMode:Far
Extrn Music_GetPlayMode:Far extern Music_GetPlayMode:Far
Extrn Music_PlayPattern:Far extern Music_PlayPattern:Far
Extrn Music_PlaySong:Far extern Music_PlaySong:Far
Extrn Music_Stop:Far extern Music_Stop:Far
Extrn Music_ToggleChannel:Far extern Music_ToggleChannel:Far
Extrn Music_GetSlaveChannelInformationTable:Far extern Music_GetSlaveChannelInformationTable:Far
Extrn Music_IncreaseSpeed:Far extern Music_IncreaseSpeed:Far
Extrn Music_DecreaseSpeed:Far extern Music_DecreaseSpeed:Far
Extrn Music_IncreaseVolume:Far extern Music_IncreaseVolume:Far
Extrn Music_DecreaseVolume:Far extern Music_DecreaseVolume:Far
Extrn Music_GetSongSegment:Far extern Music_GetSongSegment:Far
Extrn Music_GetDriverScreen:Far extern Music_GetDriverScreen:Far
Extrn SetInfoLine:Far extern SetInfoLine:Far
Extrn PE_GetCurrentPattern:Far extern PE_GetCurrentPattern:Far
Extrn PE_SetPatternModified:far extern PE_SetPatternModified:far
Extrn O1_InstrumentListGeneral:Far extern O1_InstrumentListGeneral:Far
Extrn O1_InstrumentListVolume:Far extern O1_InstrumentListVolume:Far
Extrn O1_InstrumentListPanning:Far extern O1_InstrumentListPanning:Far
Extrn O1_InstrumentListPitch:Far extern O1_InstrumentListPitch:Far
Extrn O1_KeyboardList:Far extern O1_KeyboardList:Far
Extrn O1_LoadSampleList:Far extern O1_LoadSampleList:Far
Extrn O1_OrderPanningList:Far extern O1_OrderPanningList:Far
Extrn O1_PatternEditList:Far extern O1_PatternEditList:Far
Extrn O1_PEConfigList:Far extern O1_PEConfigList:Far
Extrn O1_SampleList:Far extern O1_SampleList:Far
Extrn O1_LoadModuleList:Far extern O1_LoadModuleList:Far
Extrn O1_ViewInstrumentLibrary:Far extern O1_ViewInstrumentLibrary:Far
Extrn O1_SaveModuleList:Far extern O1_SaveModuleList:Far
Extrn O1_LoadInstrumentList:Far extern O1_LoadInstrumentList:Far
Extrn O1_MessageList:Far extern O1_MessageList:Far
Extrn O1_OrderVolumeList:Far extern O1_OrderVolumeList:Far
Extrn O1_DisplayList:Far extern O1_DisplayList:Far
Extrn I_DrawWaveForm:Far extern I_DrawWaveForm:Far
Extrn S_DefineSmallNumbers:Far extern S_DefineSmallNumbers:Far
Extrn S_SaveScreen:Far, S_RestoreScreen:Far extern S_SaveScreen:Far, S_RestoreScreen:Far
Extrn RestoreMouse:Far, RestoreMouseGraphics:Far extern RestoreMouse:Far, RestoreMouseGraphics:Far
Extrn D_ClearFileSpecifier:Far extern D_ClearFileSpecifier:Far
Extrn O1_ConfigureITList:Far extern O1_ConfigureITList:Far
Extrn O1_ViewSampleLibrary:Far extern O1_ViewSampleLibrary:Far
Extrn O1_ConfigurePaletteList:Far extern O1_ConfigurePaletteList:Far
Extrn O1_MIDIScreen:Far extern O1_MIDIScreen:Far
Extrn O1_TimerList:Far extern O1_TimerList:Far
Extrn I_MapEnvelope:Far extern I_MapEnvelope:Far
Extrn NewCharacterSet:Far extern NewCharacterSet:Far
Extrn S_GetDestination:Far extern S_GetDestination:Far
Extrn S_DefineHiASCII:Far extern S_DefineHiASCII:Far
IF MEMORYDEBUG %IF MEMORYDEBUG
Extrn O1_DebugList:Far extern O1_DebugList:Far
ENDIF %ENDIF
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³ ;³ Globals ³
@ -135,25 +133,25 @@ ENDIF
Global Glbl_SaveMode:Far Global Glbl_SaveMode:Far
Global Glbl_RestoreMode:Far Global Glbl_RestoreMode:Far
IF TIMERSCREEN %IF TIMERSCREEN
Global Glbl_TimerScreen:Far Global Glbl_TimerScreen:Far
ENDIF %ENDIF
Global CurrentMode:Byte Global CurrentMode:Byte
Public Glbl_F2_2 Public Glbl_F2_2
Public Glbl_F11_2 Public Glbl_F11_2
IF MEMORYDEBUG %IF MEMORYDEBUG
Global Glbl_Debug:Far Global Glbl_Debug:Far
ENDIF %ENDIF
Global Glbl_DriverScreen:Far Global Glbl_DriverScreen:Far
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment Glbl BYTE Public 'Code' Segment Glbl BYTE Public 'Code'
Assume CS:Glbl, DS:Nothing ;Assume CS:Glbl, DS:Nothing
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³ ;³ Variables ³
@ -203,7 +201,7 @@ InstrumentScreenTable Label
;³ Functions ³ ;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc Glbl_F2 Far Proc Glbl_F2 Far
Call Glbl_SampleToInstrument Call Glbl_SampleToInstrument
Cmp CS:CurrentMode, 2 Cmp CS:CurrentMode, 2
@ -227,7 +225,7 @@ Glbl_F2_1:
Mov AX, Pattern Mov AX, Pattern
Mov DS, AX Mov DS, AX
Assume DS:Pattern ;Assume DS:Pattern
Mov AX, MaxRow Mov AX, MaxRow
Inc AX Inc AX
@ -240,13 +238,13 @@ Glbl_F2_1:
Mov AX, Pattern Mov AX, Pattern
Mov DS, AX Mov DS, AX
Assume DS:Pattern ;Assume DS:Pattern
Mov BX, NumberOfRows Mov BX, NumberOfRows
Dec BX Dec BX
Mov MaxRow, BX Mov MaxRow, BX
IF NETWORKENABLED %IF NETWORKENABLED
Call Network_GetSendQueue Call Network_GetSendQueue
JZ Glbl_F2_Network JZ Glbl_F2_Network
@ -258,18 +256,18 @@ IF NETWORKENABLED
Glbl_F2_Network: Glbl_F2_Network:
Call Network_FinishedSendQueue Call Network_FinishedSendQueue
ENDIF %ENDIF
Mov CS:CurrentMode, 2 Mov CS:CurrentMode, 2
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_F2 ;EndP Glbl_F2
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F3 Far Proc Glbl_F3 Far
Call I_DrawWaveForm Call I_DrawWaveForm
@ -281,18 +279,18 @@ Proc Glbl_F3 Far
Mov DX, Offset O1_SampleList Mov DX, Offset O1_SampleList
Ret Ret
EndP Glbl_F3 ;EndP Glbl_F3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F4 Far Proc Glbl_F4 Far
; Init SampleNumber ; Init SampleNumber
Call Glbl_SampleToInstrument Call Glbl_SampleToInstrument
Mov AX, Pattern Mov AX, Pattern
Mov DS, AX Mov DS, AX
Assume DS:Pattern ;Assume DS:Pattern
Mov BL, LastInstrument Mov BL, LastInstrument
And BL, BL And BL, BL
@ -303,10 +301,10 @@ Proc Glbl_F4 Far
Glbl_F4_1: Glbl_F4_1:
Mov AX, Inst Mov AX, Inst
Mov DS, AX Mov DS, AX
Assume DS:Inst ;Assume DS:Inst
Mov SampleNumber, BL Mov SampleNumber, BL
Proc Glbl_F4_2 Far Proc Glbl_F4_2 Far
Call I_MapEnvelope Call I_MapEnvelope
@ -321,14 +319,14 @@ Proc Glbl_F4_2 Far
Ret Ret
EndP Glbl_F4_2 ;EndP Glbl_F4_2
EndP Glbl_F4 ;EndP Glbl_F4
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F5 Far Proc Glbl_F5 Far
Cmp CS:CurrentMode, 5 Cmp CS:CurrentMode, 5
JE Glbl_F5_1 JE Glbl_F5_1
@ -370,11 +368,11 @@ Glbl_F5_2:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_F5 ;EndP Glbl_F5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F6 Far Proc Glbl_F6 Far
Call I_ClearTables Call I_ClearTables
@ -385,11 +383,11 @@ Proc Glbl_F6 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_F6 ;EndP Glbl_F6
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LoadSample Far Proc Glbl_LoadSample Far
Call D_InitLoadSamples Call D_InitLoadSamples
@ -401,11 +399,11 @@ Proc Glbl_LoadSample Far
Mov DX, Offset O1_LoadSampleList Mov DX, Offset O1_LoadSampleList
Ret Ret
EndP Glbl_LoadSample ;EndP Glbl_LoadSample
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LoadInstrument Far Proc Glbl_LoadInstrument Far
Call D_InitLoadInstruments Call D_InitLoadInstruments
@ -417,11 +415,11 @@ Proc Glbl_LoadInstrument Far
Mov DX, Offset O1_LoadInstrumentList Mov DX, Offset O1_LoadInstrumentList
Ret Ret
EndP Glbl_LoadInstrument ;EndP Glbl_LoadInstrument
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Shift_F1 Far Proc Glbl_Shift_F1 Far
Mov AX, 5 Mov AX, 5
Mov SI, 1 Mov SI, 1
@ -431,11 +429,11 @@ Proc Glbl_Shift_F1 Far
Mov DX, Offset O1_MIDIScreen Mov DX, Offset O1_MIDIScreen
Ret Ret
EndP Glbl_Shift_F1 ;EndP Glbl_Shift_F1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Shift_F9 Far Proc Glbl_Shift_F9 Far
Call S_DefineHIASCII Call S_DefineHIASCII
@ -447,17 +445,17 @@ Proc Glbl_Shift_F9 Far
Mov DX, Offset O1_MessageList Mov DX, Offset O1_MessageList
Ret Ret
EndP Glbl_Shift_F9 ;EndP Glbl_Shift_F9
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Shift_F6 Far Proc Glbl_Shift_F6 Far
Call I_ClearTables Call I_ClearTables
Mov AX, Pattern Mov AX, Pattern
Mov DS, AX Mov DS, AX
Assume DS:Pattern ;Assume DS:Pattern
Mov AX, Order Mov AX, Order
Call Music_PlaySong Call Music_PlaySong
@ -465,23 +463,23 @@ Proc Glbl_Shift_F6 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Shift_F6 ;EndP Glbl_Shift_F6
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F8 Far Proc Glbl_F8 Far
Call Music_Stop Call Music_Stop
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_F8 ;EndP Glbl_F8
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F9 Far Proc Glbl_F9 Far
Call D_InitLoadModule Call D_InitLoadModule
@ -498,11 +496,11 @@ Proc Glbl_F9 Far
Ret Ret
EndP Glbl_F9 ;EndP Glbl_F9
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F10 Far Proc Glbl_F10 Far
Call D_InitLoadModule Call D_InitLoadModule
@ -521,11 +519,11 @@ Proc Glbl_F10 Far
Ret Ret
EndP Glbl_F10 ;EndP Glbl_F10
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F11 Far Proc Glbl_F11 Far
Cmp CS:CurrentMode, 11 Cmp CS:CurrentMode, 11
JE Glbl_F11_1 JE Glbl_F11_1
@ -549,11 +547,11 @@ Glbl_F11_1:
Mov DX, Offset O1_OrderVolumeList Mov DX, Offset O1_OrderVolumeList
Ret Ret
EndP Glbl_F11 ;EndP Glbl_F11
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F12 Far Proc Glbl_F12 Far
Mov AX, 5 Mov AX, 5
Mov SI, 1 Mov SI, 1
@ -563,11 +561,11 @@ Proc Glbl_F12 Far
Mov DX, Offset O1_ConfigureITList Mov DX, Offset O1_ConfigureITList
Ret Ret
EndP Glbl_F12 ;EndP Glbl_F12
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F1 Far Proc Glbl_Ctrl_F1 Far
Mov AX, 5 Mov AX, 5
Mov SI, 1 Mov SI, 1
@ -577,11 +575,11 @@ Proc Glbl_Ctrl_F1 Far
Mov DX, Offset O1_KeyboardList Mov DX, Offset O1_KeyboardList
Ret Ret
EndP Glbl_Ctrl_F1 ;EndP Glbl_Ctrl_F1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F3 Far Proc Glbl_Ctrl_F3 Far
Call D_InitLoadSamples Call D_InitLoadSamples
@ -593,11 +591,11 @@ Proc Glbl_Ctrl_F3 Far
Mov DX, Offset O1_ViewSampleLibrary Mov DX, Offset O1_ViewSampleLibrary
Ret Ret
EndP Glbl_Ctrl_F3 ;EndP Glbl_Ctrl_F3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F4 Far Proc Glbl_Ctrl_F4 Far
Call D_InitLoadInstruments Call D_InitLoadInstruments
@ -609,11 +607,11 @@ Proc Glbl_Ctrl_F4 Far
Mov DX, Offset O1_ViewInstrumentLibrary Mov DX, Offset O1_ViewInstrumentLibrary
Ret Ret
EndP Glbl_Ctrl_F4 ;EndP Glbl_Ctrl_F4
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F5 Far Proc Glbl_Ctrl_F5 Far
Call I_ClearTables Call I_ClearTables
@ -623,11 +621,11 @@ Proc Glbl_Ctrl_F5 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Ctrl_F5 ;EndP Glbl_Ctrl_F5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F12 Far Proc Glbl_Ctrl_F12 Far
Mov AX, 5 Mov AX, 5
Mov SI, 1 Mov SI, 1
@ -638,16 +636,16 @@ Proc Glbl_Ctrl_F12 Far
Ret Ret
EndP Glbl_Ctrl_F12 ;EndP Glbl_Ctrl_F12
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_GetHeaderMode Far Proc Glbl_GetHeaderMode Far
Push DS Push DS
Mov AX, Pattern Mov AX, Pattern
Mov DS, AX Mov DS, AX
Assume DS:Pattern ;Assume DS:Pattern
Mov AL, LastInstrument Mov AL, LastInstrument
Pop DS Pop DS
@ -673,7 +671,7 @@ Glbl_GetHeaderMode2:
Mov AX, Inst Mov AX, Inst
Mov DS, AX Mov DS, AX
Assume DS:Inst ;Assume DS:Inst
Pop AX Pop AX
Mov AL, SampleNumber Mov AL, SampleNumber
@ -681,32 +679,32 @@ Glbl_GetHeaderMode2:
Pop DS Pop DS
Ret Ret
EndP Glbl_GetHeaderMode ;EndP Glbl_GetHeaderMode
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_SetCurrentMode Far Proc Glbl_SetCurrentMode Far
Mov CS:CurrentMode, AL Mov CS:CurrentMode, AL
Ret Ret
EndP Glbl_SetCurrentMode ;EndP Glbl_SetCurrentMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_GetCurrentMode Far ; Returns AL Proc Glbl_GetCurrentMode Far ; Returns AL
Mov AL, CS:CurrentMode Mov AL, CS:CurrentMode
Ret Ret
EndP Glbl_GetCurrentMode ;EndP Glbl_GetCurrentMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F1 Far Proc Glbl_Alt_F1 Far
Mov AX, 0 Mov AX, 0
Call Music_ToggleChannel Call Music_ToggleChannel
@ -714,11 +712,11 @@ Proc Glbl_Alt_F1 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F1 ;EndP Glbl_Alt_F1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F2 Far Proc Glbl_Alt_F2 Far
Mov AX, 1 Mov AX, 1
Call Music_ToggleChannel Call Music_ToggleChannel
@ -726,11 +724,11 @@ Proc Glbl_Alt_F2 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F2 ;EndP Glbl_Alt_F2
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F3 Far Proc Glbl_Alt_F3 Far
Mov AX, 2 Mov AX, 2
Call Music_ToggleChannel Call Music_ToggleChannel
@ -738,11 +736,11 @@ Proc Glbl_Alt_F3 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F3 ;EndP Glbl_Alt_F3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F4 Far Proc Glbl_Alt_F4 Far
Mov AX, 3 Mov AX, 3
Call Music_ToggleChannel Call Music_ToggleChannel
@ -750,11 +748,11 @@ Proc Glbl_Alt_F4 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F4 ;EndP Glbl_Alt_F4
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F5 Far Proc Glbl_Alt_F5 Far
Mov AX, 4 Mov AX, 4
Call Music_ToggleChannel Call Music_ToggleChannel
@ -762,11 +760,11 @@ Proc Glbl_Alt_F5 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F5 ;EndP Glbl_Alt_F5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F6 Far Proc Glbl_Alt_F6 Far
Mov AX, 5 Mov AX, 5
Call Music_ToggleChannel Call Music_ToggleChannel
@ -774,11 +772,11 @@ Proc Glbl_Alt_F6 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F6 ;EndP Glbl_Alt_F6
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F7 Far Proc Glbl_Alt_F7 Far
Mov AX, 6 Mov AX, 6
Call Music_ToggleChannel Call Music_ToggleChannel
@ -786,11 +784,11 @@ Proc Glbl_Alt_F7 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F7 ;EndP Glbl_Alt_F7
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F8 Far Proc Glbl_Alt_F8 Far
Mov AX, 7 Mov AX, 7
Call Music_ToggleChannel Call Music_ToggleChannel
@ -798,11 +796,11 @@ Proc Glbl_Alt_F8 Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_Alt_F8 ;EndP Glbl_Alt_F8
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LeftBrace Far Proc Glbl_LeftBrace Far
Push CS Push CS
Pop DS Pop DS
@ -814,11 +812,11 @@ Proc Glbl_LeftBrace Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_LeftBrace ;EndP Glbl_LeftBrace
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_RightBrace Far Proc Glbl_RightBrace Far
Push CS Push CS
Pop DS Pop DS
@ -830,11 +828,11 @@ Proc Glbl_RightBrace Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_RightBrace ;EndP Glbl_RightBrace
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LeftSquareBracket Far Proc Glbl_LeftSquareBracket Far
Push CS Push CS
Pop DS Pop DS
@ -847,11 +845,11 @@ Proc Glbl_LeftSquareBracket Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_LeftSquareBracket ;EndP Glbl_LeftSquareBracket
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_RightSquareBracket Far Proc Glbl_RightSquareBracket Far
Push CS Push CS
Pop DS Pop DS
@ -864,11 +862,11 @@ Proc Glbl_RightSquareBracket Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Glbl_RightSquareBracket ;EndP Glbl_RightSquareBracket
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_SaveMode Far Proc Glbl_SaveMode Far
; Call S_GetDestination ; Call S_GetDestination
; Mov AX, 0B800h ; Mov AX, 0B800h
@ -889,11 +887,11 @@ Proc Glbl_SaveMode Far
Ret Ret
EndP Glbl_SaveMode ;EndP Glbl_SaveMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_RestoreMode Far Proc Glbl_RestoreMode Far
; Call NewCharacterSet ; Call NewCharacterSet
@ -909,13 +907,13 @@ Proc Glbl_RestoreMode Far
Ret Ret
EndP Glbl_RestoreMode ;EndP Glbl_RestoreMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IF MEMORYDEBUG %IF MEMORYDEBUG
Proc Glbl_Debug Far Proc Glbl_Debug Far
Mov AX, 5 Mov AX, 5
Mov SI, 1 Mov SI, 1
@ -925,27 +923,27 @@ Proc Glbl_Debug Far
Mov DX, Offset O1_DebugList Mov DX, Offset O1_DebugList
Ret Ret
EndP Glbl_Debug ;EndP Glbl_Debug
ENDIF %ENDIF
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_SampleToInstrument Proc Glbl_SampleToInstrument
Cmp CS:CurrentMode, 3 Cmp CS:CurrentMode, 3
JNE Glbl_SampleToInstrument1 JNE Glbl_SampleToInstrument1
Call Music_GetSongSegment Call Music_GetSongSegment
Mov DS, AX Mov DS, AX
Assume DS:Nothing ;Assume DS:Nothing
Test Byte Ptr [DS:2Ch], 4 Test Byte Ptr [DS:2Ch], 4
JZ Glbl_SampleToInstrument1 JZ Glbl_SampleToInstrument1
Mov AX, Pattern Mov AX, Pattern
Mov ES, AX Mov ES, AX
Assume ES:Pattern ;Assume ES:Pattern
Mov AH, ES:LastInstrument Mov AH, ES:LastInstrument
Mov BX, [DS:64712] ; Offset of first instrument Mov BX, [DS:64712] ; Offset of first instrument
@ -982,14 +980,14 @@ Glbl_SampleToInstrument3:
Glbl_SampleToInstrument1: Glbl_SampleToInstrument1:
Ret Ret
EndP Glbl_SampleToInstrument ;EndP Glbl_SampleToInstrument
Assume ES:Nothing ;Assume ES:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IF TIMERSCREEN %IF TIMERSCREEN
Proc Glbl_TimerScreen Far Proc Glbl_TimerScreen Far
Mov AX, 5 Mov AX, 5
Mov SI, 1 Mov SI, 1
@ -999,13 +997,13 @@ Proc Glbl_TimerScreen Far
Mov DX, Offset O1_TimerList Mov DX, Offset O1_TimerList
Ret Ret
EndP Glbl_TimerScreen ;EndP Glbl_TimerScreen
ENDIF %ENDIF
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_DriverScreen Far Proc Glbl_DriverScreen Far
Call Music_GetDriverScreen Call Music_GetDriverScreen
JC Glbl_DriverScreen1 JC Glbl_DriverScreen1
@ -1015,7 +1013,7 @@ Proc Glbl_DriverScreen Far
Glbl_DriverScreen1: Glbl_DriverScreen1:
Ret Ret
EndP Glbl_DriverScreen ;EndP Glbl_DriverScreen
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

1565
it_h.s

File diff suppressed because it is too large Load Diff

1257
it_i.s

File diff suppressed because it is too large Load Diff

135
it_k.s
View File

@ -2,28 +2,25 @@
;ウ Keyboard Module ウ ;ウ Keyboard Module ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps %include "switch.inc"
.386
include switch.inc
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ ;ウ Externals ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Extrn D_GotoStartingDirectory:Far extern D_GotoStartingDirectory:Far
Extrn E_UnInitEMS:Far extern E_UnInitEMS:Far
Extrn S_GetDestination:Far extern S_GetDestination:Far
Extrn Music_Stop:Far extern Music_Stop:Far
Extrn Music_KBPlaySong:Far extern Music_KBPlaySong:Far
Extrn Music_IncreaseVolume:Far extern Music_IncreaseVolume:Far
Extrn Music_DecreaseVolume:Far extern Music_DecreaseVolume:Far
Extrn S_DrawString:Far extern S_DrawString:Far
Extrn CrashRecovery:Far extern CrashRecovery:Far
Extrn IsStartupKeyList:Far extern IsStartupKeyList:Far
Extrn GetStartupKeyList:Far extern GetStartupKeyList:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ ;ウ Globals ウ
@ -54,10 +51,10 @@ include switch.inc
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment KeyBoard BYTE Public 'Code' USE16 Segment KeyBoard BYTE Public 'Code' USE16
Assume CS:KeyBoard, DS:KeyBoard ;Assume CS:KeyBoard, DS:KeyBoard
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
include debug.inc %include "debug.inc"
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ ;ウ Variables ウ
@ -653,7 +650,7 @@ USKeyboardTable Label Byte
Alt DB 0 Alt DB 0
Ctrl DB 0 Ctrl DB 0
Proc K_KBHandler Proc K_KBHandler
Push AX Push AX
Push BX Push BX
@ -744,11 +741,11 @@ K_KBHandler2:
Pop AX Pop AX
IRet IRet
EndP K_KBHandler ;EndP K_KBHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_DOSKBHandler Far Proc K_DOSKBHandler Far
Push AX Push AX
@ -813,11 +810,11 @@ K_DOSKBHandler6:
Pop AX Pop AX
IRet IRet
EndP K_DOSKBHandler ;EndP K_DOSKBHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_SetKeyBoardLights ; Reqs: DS:KeyBoard Proc K_SetKeyBoardLights ; Reqs: DS:KeyBoard
; Sets keyboard lights (duh!) ; Sets keyboard lights (duh!)
Push AX Push AX
Mov AL, 0EDh Mov AL, 0EDh
@ -848,11 +845,11 @@ K_SetKeyBoardLights3:
Ret Ret
EndP K_SetKeyBoardLights ;EndP K_SetKeyBoardLights
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_InitKeyBoard Far ; Raises key repeat rate Proc K_InitKeyBoard Far ; Raises key repeat rate
; to 30 char/s, ; to 30 char/s,
; delay before second char=0.25s ; delay before second char=0.25s
; Gets old IRQ handler ; Gets old IRQ handler
@ -933,11 +930,11 @@ K_InitKeyBoard3: ; Chained to from K_UnInstallDOS
Ret Ret
EndP K_InitKeyBoard ;EndP K_InitKeyBoard
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_UnInitKeyBoard Far Proc K_UnInitKeyBoard Far
Push AX Push AX
Push DS Push DS
@ -987,11 +984,11 @@ K_UnInitKeyBoard1:
Ret Ret
EndP K_UnInitKeyBoard ;EndP K_UnInitKeyBoard
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_InstallDOSHandler Far Proc K_InstallDOSHandler Far
Push AX Push AX
Push DS Push DS
@ -1017,11 +1014,11 @@ Proc K_InstallDOSHandler Far
Jmp K_UnInitKeyBoard3 Jmp K_UnInitKeyBoard3
EndP K_InstallDOSHandler ;EndP K_InstallDOSHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_UnInstallDOSHandler Far Proc K_UnInstallDOSHandler Far
Push AX Push AX
Push DS Push DS
@ -1045,11 +1042,11 @@ Proc K_UnInstallDOSHandler Far
Jmp K_InitKeyBoard3 Jmp K_InitKeyBoard3
EndP K_UnInstallDOSHandler ;EndP K_UnInstallDOSHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_GetNextKeyByte Proc K_GetNextKeyByte
Inc BX Inc BX
And BX, 0FFh And BX, 0FFh
@ -1057,11 +1054,11 @@ Proc K_GetNextKeyByte
Ret Ret
EndP K_GetNextKeyByte ;EndP K_GetNextKeyByte
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_IsKeyWaiting Far ; Returns 1 in AX if key is ready Proc K_IsKeyWaiting Far ; Returns 1 in AX if key is ready
; 0 in AX if no key is ready ; 0 in AX if no key is ready
Push DS Push DS
@ -1101,11 +1098,11 @@ K_IsKeyWaiting1:
Pop DS Pop DS
Ret Ret
EndP K_IsKeyWaiting ;EndP K_IsKeyWaiting
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_GetKey Far ; CX/DX = input/translated Proc K_GetKey Far ; CX/DX = input/translated
Push AX Push AX
Push BX Push BX
@ -1272,7 +1269,7 @@ K_TranslateAltRelease:
K_TranslateKeyPress: K_TranslateKeyPress:
LDS SI, TranslationTable LDS SI, TranslationTable
Assume DS:Nothing ;Assume DS:Nothing
K_TranslateKey1: K_TranslateKey1:
LodsB LodsB
@ -1438,11 +1435,11 @@ K_GetKey20:
Ret Ret
EndP K_GetKey ;EndP K_GetKey
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_ClearKeyBoardQueue Far Proc K_ClearKeyBoardQueue Far
Push AX Push AX
@ -1457,11 +1454,11 @@ K_ClearKeyBoardQueue2:
Pop AX Pop AX
Ret Ret
EndP K_ClearKeyBoardQueue ;EndP K_ClearKeyBoardQueue
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_IsAnyKeyDown Far ; Returns AL = 1 if key is down. Proc K_IsAnyKeyDown Far ; Returns AL = 1 if key is down.
Push CX Push CX
Push DS Push DS
@ -1469,7 +1466,7 @@ Proc K_IsAnyKeyDown Far ; Returns AL = 1 if key is down.
Push CS Push CS
Pop DS Pop DS
Assume DS:Keyboard ;Assume DS:Keyboard
Mov SI, Offset KeyBoardTable Mov SI, Offset KeyBoardTable
Mov CX, 256 Mov CX, 256
@ -1490,20 +1487,20 @@ K_IsAnyKeyDown2:
Ret Ret
EndP K_IsAnyKeyDown ;EndP K_IsAnyKeyDown
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_IsKeyDown Far ; BX = key to test Proc K_IsKeyDown Far ; BX = key to test
Cmp [CS:KeyboardTable+BX], 0 Cmp [CS:KeyboardTable+BX], 0
Ret Ret
EndP K_IsKeyDown ;EndP K_IsKeyDown
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_ResetKeyboardTables Far Proc K_ResetKeyboardTables Far
Push CS Push CS
Pop ES Pop ES
@ -1515,18 +1512,18 @@ Proc K_ResetKeyboardTables Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP K_ResetKeyboardTables ;EndP K_ResetKeyboardTables
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_DrawTables Far Proc K_DrawTables Far
Call S_GetDestination Call S_GetDestination
Mov DI, (2+15*80)*2 Mov DI, (2+15*80)*2
Push CS Push CS
Pop DS Pop DS
Assume DS:KeyBoard ;Assume DS:KeyBoard
Mov SI, Offset KeyboardBuffer Mov SI, Offset KeyboardBuffer
Mov CX, 2004h ; CH = row count, CL = ShR Mov CX, 2004h ; CH = row count, CL = ShR
@ -1616,16 +1613,16 @@ K_DrawTable7:
Xor AX, AX Xor AX, AX
Ret Ret
EndP K_DrawTables ;EndP K_DrawTables
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_ShowMIDIInput Far Proc K_ShowMIDIInput Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Keyboard ;Assume DS:Keyboard
; Now to shove the MIDI input info. ; Now to shove the MIDI input info.
Xor AX, AX Xor AX, AX
@ -1646,18 +1643,18 @@ Proc K_ShowMIDIInput Far
Xor AX, AX Xor AX, AX
Ret Ret
EndP K_ShowMIDIInput ;EndP K_ShowMIDIInput
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_InstallKeyboardType Far Proc K_InstallKeyboardType Far
Call D_GotoStartingDirectory Call D_GotoStartingDirectory
Push CS Push CS
Pop DS Pop DS
Assume DS:Keyboard ;Assume DS:Keyboard
Mov AX, 3D00h Mov AX, 3D00h
Mov DX, Offset KeyboardFile Mov DX, Offset KeyboardFile
@ -1715,15 +1712,15 @@ K_InstallKeyboardType1:
K_InstallKeyboardType2: K_InstallKeyboardType2:
Ret Ret
EndP K_InstallKeyboardType ;EndP K_InstallKeyboardType
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_RemoveKeyboardType Far Proc K_RemoveKeyboardType Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Keyboard ;Assume DS:Keyboard
Mov AX, TranslationTableSegment Mov AX, TranslationTableSegment
Mov BX, CS Mov BX, CS
@ -1737,11 +1734,11 @@ Proc K_RemoveKeyboardType Far
K_RemoveKeyboardType1: K_RemoveKeyboardType1:
Ret Ret
EndP K_RemoveKeyboardType ;EndP K_RemoveKeyboardType
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_SetScrollLock Far Proc K_SetScrollLock Far
Push CS Push CS
Pop DS Pop DS
@ -1749,27 +1746,27 @@ Proc K_SetScrollLock Far
Call K_SetKeyboardLights Call K_SetKeyboardLights
Ret Ret
EndP K_SetScrollLock ;EndP K_SetScrollLock
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MIDIBufferEmpty Far ; Returns carry set if input OK. Proc MIDIBufferEmpty Far ; Returns carry set if input OK.
; Returns carry CLEAR if input full. ; Returns carry CLEAR if input full.
Cmp [CS:MIDIDataInput], 2 Cmp [CS:MIDIDataInput], 2
Ret Ret
EndP MIDIBufferEmpty ;EndP MIDIBufferEmpty
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MIDISend Far ; Given AL = data byte. Proc MIDISend Far ; Given AL = data byte.
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Keyboard ;Assume DS:Keyboard
Test AL, AL ; Status byte? Test AL, AL ; Status byte?
JNS MIDISend1 JNS MIDISend1
@ -1800,8 +1797,8 @@ MIDISendEnd:
Pop DS Pop DS
Ret Ret
EndP MIDISend ;EndP MIDISend
Assume DS:Nothing ;Assume DS:Nothing
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ

129
it_l.s
View File

@ -2,39 +2,36 @@
;ウ Info Line Module - Playing info updates / other messages ウ ;ウ Info Line Module - Playing info updates / other messages ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps %include "switch.inc"
.386
include switch.inc
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ ;ウ Externals ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Segment Glbl BYTE Public 'Code' Segment Glbl BYTE Public 'Code'
Extrn CurrentMode:Byte extern CurrentMode:Byte
EndS EndS
Extrn I_ShowSamplePlay:Far extern I_ShowSamplePlay:Far
Extrn I_ShowInstrumentPlay:Far extern I_ShowInstrumentPlay:Far
Extrn S_UpdateScreen:Far extern S_UpdateScreen:Far
Extrn S_DrawString:Far extern S_DrawString:Far
Extrn S_SetDirectMode:Far extern S_SetDirectMode:Far
Extrn S_GetDestination:Far extern S_GetDestination:Far
Extrn Music_GetPlayMode:Far extern Music_GetPlayMode:Far
Extrn Music_Poll:Far extern Music_Poll:Far
Extrn Music_GetSlaveChannelInformationTable:Far extern Music_GetSlaveChannelInformationTable:Far
IF NETWORKENABLED %IF NETWORKENABLED
Extrn Network_Poll:Far extern Network_Poll:Far
ENDIF %ENDIF
Extrn PE_ShowOrder:Far extern PE_ShowOrder:Far
Extrn PE_FillSpeedTempo:Far extern PE_FillSpeedTempo:Far
Extrn PE_GetMaxOrder:Far extern PE_GetMaxOrder:Far
Extrn Glbl_TutorialHandler:Far extern Glbl_TutorialHandler:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ ;ウ Globals ウ
@ -54,10 +51,10 @@ ENDIF
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment InfoLine DWORD Public 'Code' USE16 Segment InfoLine DWORD Public 'Code' USE16
Assume CS:InfoLine, DS:InfoLine ;Assume CS:InfoLine, DS:InfoLine
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
include debug.inc %include "debug.inc"
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ ;ウ Variables ウ
@ -93,7 +90,7 @@ ShowUsageTime DB 1
;ウ Functions ウ ;ウ Functions ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Proc TimerInterruptHandler Proc TimerInterruptHandler
Sub CS:InfoLineDelay, 1 Sub CS:InfoLineDelay, 1
AdC CS:InfoLineDelay, 0 AdC CS:InfoLineDelay, 0
@ -101,11 +98,11 @@ Proc TimerInterruptHandler
Inc CS:TimerCounter Inc CS:TimerCounter
Jmp [CS:OldTimerHandler] Jmp [CS:OldTimerHandler]
EndP TimerInterruptHandler ;EndP TimerInterruptHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc InitTimerHandler Far Proc InitTimerHandler Far
Push DS Push DS
@ -126,11 +123,11 @@ Proc InitTimerHandler Far
Pop DS Pop DS
Ret Ret
EndP InitTimerHandler ;EndP InitTimerHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc UninitTimerHandler Far Proc UninitTimerHandler Far
Push DS Push DS
@ -145,11 +142,11 @@ Proc UninitTimerHandler Far
Pop DS Pop DS
Ret Ret
EndP UninitTimerHandler ;EndP UninitTimerHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc FillToEOL Proc FillToEOL
Push ES Push ES
Mov AX, ' ' + 2000h Mov AX, ' ' + 2000h
@ -166,18 +163,18 @@ UpdateInfoLineEOL2:
Pop ES Pop ES
Ret Ret
EndP FillToEOL ;EndP FillToEOL
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc UpdateInfoLine Far Proc UpdateInfoLine Far
Push DS Push DS
Push SI Push SI
Push Glbl Push Glbl
Pop DS Pop DS
Assume DS:Glbl ;Assume DS:Glbl
Cmp CurrentMode, 200 Cmp CurrentMode, 200
JAE UpdateInfoLineEnd2 JAE UpdateInfoLineEnd2
@ -322,56 +319,56 @@ UpdateInfoLine7:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP UpdateInfoLine ;EndP UpdateInfoLine
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc IdleUpdateInfoLine Far Proc IdleUpdateInfoLine Far
Call Music_Poll Call Music_Poll
IF TUTORIAL %IF TUTORIAL
ELSE %ELSE
Mov AL, 1 Mov AL, 1
Call S_SetDirectMode Call S_SetDirectMode
ENDIF %ENDIF
Call UpdateInfoLine Call UpdateInfoLine
IF TUTORIAL %IF TUTORIAL
Call Glbl_TutorialHandler Call Glbl_TutorialHandler
ENDIF %ENDIF
IF TUTORIAL %IF TUTORIAL
Call S_UpdateScreen Call S_UpdateScreen
ELSE %ELSE
Mov AL, 0 Mov AL, 0
Call S_SetDirectMode Call S_SetDirectMode
ENDIF %ENDIF
IF NETWORKENABLED %IF NETWORKENABLED
Jmp Network_Poll Jmp Network_Poll
ELSE %ELSE
Xor AX, AX Xor AX, AX
Ret Ret
ENDIF %ENDIF
EndP IdleUpdateInfoLine ;EndP IdleUpdateInfoLine
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc ClearInfoLine Far Proc ClearInfoLine Far
Mov DWord Ptr [CS:InfoLineText], 0 Mov DWord Ptr [CS:InfoLineText], 0
Ret Ret
EndP ClearInfoLine ;EndP ClearInfoLine
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc SetInfoLine Far ; DS:SI points to msg. Proc SetInfoLine Far ; DS:SI points to msg.
Mov CS:InfoLineDelay, 20 Mov CS:InfoLineDelay, 20
@ -382,24 +379,24 @@ SetInfoLineChain:
Ret Ret
EndP SetInfoLine ;EndP SetInfoLine
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc SetInfoLine2 Far ; DS:SI points to msg. Proc SetInfoLine2 Far ; DS:SI points to msg.
Mov CS:InfoLineDelay, BX Mov CS:InfoLineDelay, BX
Jmp SetInfoLineChain Jmp SetInfoLineChain
EndP SetInfoLine2 ;EndP SetInfoLine2
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc UpdatePointers ; BX = row, CX = pattern Proc UpdatePointers ; BX = row, CX = pattern
Mov SI, Glbl Mov SI, Glbl
Mov DS, SI Mov DS, SI
Assume DS:Glbl ;Assume DS:Glbl
Mov AH, CurrentMode Mov AH, CurrentMode
@ -459,19 +456,19 @@ UpdatePointers5:
UpdatePointersEnd: UpdatePointersEnd:
Ret Ret
EndP UpdatePointers ;EndP UpdatePointers
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc ShowTime Proc ShowTime
PushA PushA
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:InfoLine ;Assume DS:InfoLine
Cmp AX, 2 Cmp AX, 2
Mov EAX, [TimerCounter] Mov EAX, [TimerCounter]
@ -525,12 +522,12 @@ ShowTime2:
Ret Ret
EndP ShowTime ;EndP ShowTime
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc StartClock Far Proc StartClock Far
Push EAX Push EAX
Mov EAX, CS:TimerCounter Mov EAX, CS:TimerCounter
@ -539,16 +536,16 @@ Proc StartClock Far
Ret Ret
EndP StartClock ;EndP StartClock
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc GetTimerCounter Far Proc GetTimerCounter Far
Mov EAX, [CS:TimerCounter] Mov EAX, [CS:TimerCounter]
Ret Ret
EndP GetTimerCounter ;EndP GetTimerCounter
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ

133
it_m.s
View File

@ -2,10 +2,7 @@
;ウ Main Module ウ ;ウ Main Module ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps %include "switch.inc"
.386
include switch.inc
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ ;ウ Externals ウ
@ -15,65 +12,65 @@ Segment Object1 BYTE Public 'Data' USE16
EndS EndS
Extrn F_DrawStringInput:Far extern F_DrawStringInput:Far
Extrn F_PreStringInput:Far extern F_PreStringInput:Far
Extrn F_PostStringInput:Far extern F_PostStringInput:Far
Extrn F_Nothing:Far extern F_Nothing:Far
Extrn F_DrawBoxObject:Far extern F_DrawBoxObject:Far
Extrn F_DrawTextObject:Far extern F_DrawTextObject:Far
Extrn F_PostExitObject:Far extern F_PostExitObject:Far
Extrn F_SetDirectMode:Far extern F_SetDirectMode:Far
Extrn F_CharacterDefinitions:Far extern F_CharacterDefinitions:Far
Extrn F_DrawButtonObject:Far extern F_DrawButtonObject:Far
Extrn F_PreButtonObject:Far extern F_PreButtonObject:Far
Extrn F_PostButtonObject:Far extern F_PostButtonObject:Far
Extrn F_CallFarFunction:Far extern F_CallFarFunction:Far
Extrn F_DrawThumbBar:Far extern F_DrawThumbBar:Far
Extrn F_DrawScalableThumbBar:Far extern F_DrawScalableThumbBar:Far
Extrn F_PreThumbBar:Far extern F_PreThumbBar:Far
Extrn F_PreScalableThumbBar:Far extern F_PreScalableThumbBar:Far
Extrn F_PostThumbBar:Far extern F_PostThumbBar:Far
Extrn F_PostScalableThumbBar:Far extern F_PostScalableThumbBar:Far
Extrn F_DrawInfoLine:Far extern F_DrawInfoLine:Far
Extrn F_CallFarPreFunction:Far extern F_CallFarPreFunction:Far
Extrn F_CallFarPostFunction:Far extern F_CallFarPostFunction:Far
Extrn F_DrawToggle:Far extern F_DrawToggle:Far
Extrn F_PreToggle:Far extern F_PreToggle:Far
Extrn F_PostToggle:Far extern F_PostToggle:Far
Extrn F_Draw5Num:Far extern F_Draw5Num:Far
Extrn F_Pre5Num:Far extern F_Pre5Num:Far
Extrn F_Post5Num:Far extern F_Post5Num:Far
Extrn F_Draw3Num:Far extern F_Draw3Num:Far
Extrn F_Pre3Num:Far extern F_Pre3Num:Far
Extrn F_Post3Num:Far extern F_Post3Num:Far
Extrn Glbl_TutorialHandler:Far extern Glbl_TutorialHandler:Far
Extrn H_SetHelpContext:Far extern H_SetHelpContext:Far
Extrn K_GetKey:Far extern K_GetKey:Far
Extrn K_InitKeyBoard:Far extern K_InitKeyBoard:Far
Extrn K_UnInitKeyBoard:Far extern K_UnInitKeyBoard:Far
Extrn K_IsKeyWaiting:Far extern K_IsKeyWaiting:Far
Extrn K_IsAnyKeyDown:Far extern K_IsAnyKeyDown:Far
Extrn PE_DrawOrderList:Far extern PE_DrawOrderList:Far
Extrn PE_PreOrderList:Far extern PE_PreOrderList:Far
Extrn PE_PostOrderList:Far extern PE_PostOrderList:Far
Extrn S_Set80x25Mode:Far extern S_Set80x25Mode:Far
Extrn S_SetPalette:Far extern S_SetPalette:Far
Extrn S_RedefineCharacters:Far extern S_RedefineCharacters:Far
Extrn S_DrawBox:Far extern S_DrawBox:Far
Extrn S_ClearScreen:Far extern S_ClearScreen:Far
Extrn S_UpdateScreen:Far extern S_UpdateScreen:Far
; Extrn MouseDirectEnable:Far, MouseDirectDisable:Far ; extern MouseDirectEnable:Far, MouseDirectDisable:Far
Extrn MouseSaveEvents:Far, MouseRestoreEvents:Far extern MouseSaveEvents:Far, MouseRestoreEvents:Far
Extrn MouseInput:Far, MouseClearEvents:Far extern MouseInput:Far, MouseClearEvents:Far
Extrn GetKeyboardLock:Far, MIDIBufferEmpty:Far extern GetKeyboardLock:Far, MIDIBufferEmpty:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ ;ウ Globals ウ
@ -88,7 +85,7 @@ EndS
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment Main DWORD Public 'Code' USE16 Segment Main DWORD Public 'Code' USE16
Assume CS:Main, DS:Nothing ;Assume CS:Main, DS:Nothing
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ ;ウ Variables ウ
@ -165,7 +162,7 @@ ReleaseTimeSlice DB 0
;ウ Functions ウ ;ウ Functions ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Proc M_FunctionDivider Far ; Given DS:SI points to list M_FunctionDivider:;:;Far ; Given DS:SI points to list
; Carry set if none found ; Carry set if none found
Push BX Push BX
@ -264,11 +261,11 @@ M_FunctionDivider4: ;
Ret Ret
EndP M_FunctionDivider ;EndP M_FunctionDivider
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc M_FunctionHandler Far M_FunctionHandler:;:;Far
ARG ObjectList:DWord ARG ObjectList:DWord
Push BP Push BP
@ -333,9 +330,9 @@ M_FunctionHandler20:
M_FunctionHandler21: M_FunctionHandler21:
IF TUTORIAL %IF TUTORIAL
Call Glbl_TutorialHandler Call Glbl_TutorialHandler
ENDIF %ENDIF
Call S_UpdateScreen Call S_UpdateScreen
@ -627,15 +624,15 @@ M_FunctionHandler15:
Add Word Ptr CS:GlobalKeyList, 7 Add Word Ptr CS:GlobalKeyList, 7
Jmp M_FunctionHandler10 Jmp M_FunctionHandler10
EndP M_FunctionHandler ;EndP M_FunctionHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc M_Object1ListDefault Far ; Reqs: DI = offset of list M_Object1ListDefault:;:;Far ; Reqs: DI = offset of list
Mov CX, 0FFFFh Mov CX, 0FFFFh
Proc M_Object1List Far ; Reqs.. CX = inital object. M_Object1List:;:;Far ; Reqs.. CX = inital object.
; Reqs.. DI = offset of list ; Reqs.. DI = offset of list
Mov AX, Object1 Mov AX, Object1
@ -652,13 +649,9 @@ M_Object1List1:
Ret Ret
EndP M_Object1List ;EndP M_Object1List
EndP M_Object1ListDefault ;EndP M_Object1ListDefault
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
EndS EndS
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
End

View File

@ -4,17 +4,17 @@
.386 .386
include switch.inc %include "switch.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³ ;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Extrn E_AllocateEMS:Far extern E_AllocateEMS:Far
Extrn E_GetEMSPageFrame:Far extern E_GetEMSPageFrame:Far
Extrn E_ReleaseEMS:Far extern E_ReleaseEMS:Far
Extrn E_MapEMSMemory:Far extern E_MapEMSMemory:Far
Extrn Music_Stop:Far extern Music_Stop:Far
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³ ;³ Globals ³
@ -26,10 +26,10 @@ include switch.inc
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment MMTSR PARA Public USE16 'Code' Segment MMTSR PARA Public USE16 'Code'
Assume CS:MMTSR, DS:MMTSR ;Assume CS:MMTSR, DS:MMTSR
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
include debug.inc %include "debug.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³ ;³ Variables ³
@ -117,11 +117,11 @@ Proc MMTSR_InstallMMTSR Far
@error0: ; print message at offset DS:DX onto screen @error0: ; print message at offset DS:DX onto screen
Ret Ret
EndP MMTSR_InstallMMTSR ;EndP MMTSR_InstallMMTSR
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Proc MMTSR_UninstallMMTSR Far Proc MMTSR_UninstallMMTSR Far
Push CS Push CS
Pop DS Pop DS
@ -140,7 +140,7 @@ Proc MMTSR_UninstallMMTSR Far
MMTSR_UninstallMMTSR1: MMTSR_UninstallMMTSR1:
Ret Ret
EndP MMTSR_UninstallMMTSR ;EndP MMTSR_UninstallMMTSR
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

View File

@ -2,9 +2,6 @@
;ウ Mouse Module ウ ;ウ Mouse Module ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps
.386P
; MouseRecord Structure... ; MouseRecord Structure...
; Area DW Left, Top, Right, Bottom ; Area DW Left, Top, Right, Bottom
; Condition DB ? ; Condition DB ?
@ -31,15 +28,15 @@
; On - Cursor outside area ; On - Cursor outside area
; Bit 4: Always call, ignore area ; Bit 4: Always call, ignore area
include switch.inc %include "switch.inc"
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ ;ウ Externals ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Extrn S_SetSequencer:Far, S_ResetSequencer:Far extern S_SetSequencer:Far, S_ResetSequencer:Far
Extrn S_SetDirectMode:Far extern S_SetDirectMode:Far
Extrn S_GetDestination:Far extern S_GetDestination:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ ;ウ Globals ウ
@ -63,10 +60,10 @@ include switch.inc
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment Mouse PARA Public 'Code' USE16 Segment Mouse PARA Public 'Code' USE16
Assume CS:Mouse, DS:Nothing ;Assume CS:Mouse, DS:Nothing
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
include debug.inc %include "debug.inc"
; Assumes 80x50 display (512 characters, 8x8 pixels per char.) ; Assumes 80x50 display (512 characters, 8x8 pixels per char.)
@ -195,11 +192,11 @@ MouseQueueEnd DB 0
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc RestoreMouse Far Proc RestoreMouse Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Cmp MouseDisplay, 0 Cmp MouseDisplay, 0
JE RestoreMouse1 JE RestoreMouse1
@ -209,14 +206,14 @@ Proc RestoreMouse Far
RestoreMouse1: RestoreMouse1:
Ret Ret
EndP RestoreMouse ;EndP RestoreMouse
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc RemoveMouseCursor ; Given ES=cursor to remove Proc RemoveMouseCursor ; Given ES=cursor to remove
Assume DS:Mouse ;Assume DS:Mouse
Mov BX, Offset OldCharacterData Mov BX, Offset OldCharacterData
Mov DI, MouseCursorOffset Mov DI, MouseCursorOffset
@ -270,16 +267,16 @@ RemoveMouseCursor8:
RemoveMouseCursor3: RemoveMouseCursor3:
Ret Ret
EndP RemoveMouseCursor ;EndP RemoveMouseCursor
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc RestoreMouseGraphics Far Proc RestoreMouseGraphics Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Mov AL, RestoreGraphicsRequired Mov AL, RestoreGraphicsRequired
Cmp MouseDisplay, 0 Cmp MouseDisplay, 0
@ -343,13 +340,13 @@ RestoreMouseGraphics3:
RestoreMouseGraphics4: RestoreMouseGraphics4:
Ret Ret
EndP RestoreMouseGraphics ;EndP RestoreMouseGraphics
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc SaveMouseCursor Proc SaveMouseCursor
Assume DS:Mouse ;Assume DS:Mouse
Push CS ; *** Push CS ; ***
Pop DS ; *** Pop DS ; ***
@ -482,13 +479,13 @@ SaveMouseCursor7:
SaveMouseCursor9: SaveMouseCursor9:
Ret Ret
EndP SaveMouseCursor ;EndP SaveMouseCursor
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc GenerateMouseCursor Proc GenerateMouseCursor
Assume DS:Mouse ;Assume DS:Mouse
; Push CS ; *** ; Push CS ; ***
; Pop DS ; *** ; Pop DS ; ***
@ -628,13 +625,13 @@ GenerateMouseCharacter6:
Ret Ret
EndP GenerateMouseCursor ;EndP GenerateMouseCursor
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc PlotMouseCursor Proc PlotMouseCursor
Assume DS:Mouse ;Assume DS:Mouse
Push CS ; *** Push CS ; ***
Pop DS ; *** Pop DS ; ***
@ -675,12 +672,12 @@ PlotMouseCursor3:
PlotMouseCursor4: PlotMouseCursor4:
Ret Ret
EndP PlotMouseCursor ;EndP PlotMouseCursor
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc DrawMouseCursor ; Given ES to write to. Proc DrawMouseCursor ; Given ES to write to.
Call SaveMouseCursor Call SaveMouseCursor
Call GenerateMouseCursor Call GenerateMouseCursor
@ -692,15 +689,15 @@ Proc DrawMouseCursor ; Given ES to write to.
Ret Ret
EndP DrawMouseCursor ;EndP DrawMouseCursor
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc DrawMouse Far Proc DrawMouse Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Cmp MouseDisplay, 0 Cmp MouseDisplay, 0
JE DrawMouse1 JE DrawMouse1
@ -710,12 +707,12 @@ Proc DrawMouse Far
DrawMouse1: DrawMouse1:
Ret Ret
EndP DrawMouse ;EndP DrawMouse
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseInterruptHandler Far Proc MouseInterruptHandler Far
PushF PushF
@ -728,7 +725,7 @@ Proc MouseInterruptHandler Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Mov NewMouseX, CX Mov NewMouseX, CX
Mov NewMouseY, DX Mov NewMouseY, DX
@ -891,12 +888,12 @@ MouseInterruptHandler1:
Ret Ret
EndP MouseInterruptHandler ;EndP MouseInterruptHandler
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc InitMouse Far Proc InitMouse Far
Cmp CS:MouseEnabled, 0 Cmp CS:MouseEnabled, 0
JE InitMouse2 JE InitMouse2
@ -951,44 +948,44 @@ InitMouse1:
Ret Ret
EndP InitMouse ;EndP InitMouse
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc UnInitMouse Far Proc UnInitMouse Far
Xor AX, AX Xor AX, AX
Int 33h Int 33h
Ret Ret
EndP UnInitMouse ;EndP UnInitMouse
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseSecondSetEnable Far Proc MouseSecondSetEnable Far
Mov CS:OverwriteSecondSet, 0 Mov CS:OverwriteSecondSet, 0
Ret Ret
EndP MouseSecondSetEnable ;EndP MouseSecondSetEnable
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseSecondSetDisable Far Proc MouseSecondSetDisable Far
Mov CS:OverwriteSecondSet, 1 Mov CS:OverwriteSecondSet, 1
Ret Ret
EndP MouseSecondSetDisable ;EndP MouseSecondSetDisable
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseToggle Far Proc MouseToggle Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Cmp MouseAvailable, 0 Cmp MouseAvailable, 0
JE MouseToggle1 JE MouseToggle1
@ -1008,12 +1005,12 @@ MouseToggle1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP MouseToggle ;EndP MouseToggle
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseSetXY Far Proc MouseSetXY Far
PushF PushF
@ -1062,18 +1059,18 @@ MouseSetXY1:
Ret Ret
EndP MouseSetXY ;EndP MouseSetXY
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseSaveEvents Far Proc MouseSaveEvents Far
PushF PushF
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Cmp MouseAvailable, 0 Cmp MouseAvailable, 0
JE MouseSaveEvents1 JE MouseSaveEvents1
@ -1094,19 +1091,19 @@ MouseSaveEvents1:
Ret Ret
EndP MouseSaveEvents ;EndP MouseSaveEvents
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseRestoreEvents Far Proc MouseRestoreEvents Far
PushF PushF
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Cmp MouseAvailable, 0 Cmp MouseAvailable, 0
JE MouseRestoreEvents1 JE MouseRestoreEvents1
@ -1127,36 +1124,36 @@ MouseRestoreEvents1:
Ret Ret
EndP MouseRestoreEvents ;EndP MouseRestoreEvents
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc SetKeyboardLock Far ; AL = lock state Proc SetKeyboardLock Far ; AL = lock state
Mov CS:LockKeyBoard, AL Mov CS:LockKeyBoard, AL
Ret Ret
EndP SetKeyboardLock ;EndP SetKeyboardLock
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc GetKeyboardLock Far Proc GetKeyboardLock Far
Mov AL, CS:LockKeyBoard Mov AL, CS:LockKeyBoard
Ret Ret
EndP GetKeyboardLock ;EndP GetKeyboardLock
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc AddMouseQueue Far ; AX, CX, DX Proc AddMouseQueue Far ; AX, CX, DX
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
Mov BH, QUEUEELEMENTSIZE Mov BH, QUEUEELEMENTSIZE
Mov BL, MouseQueueEnd Mov BL, MouseQueueEnd
@ -1175,18 +1172,18 @@ AddMouseQueue1:
Pop DS Pop DS
Ret Ret
EndP AddMouseQueue ;EndP AddMouseQueue
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseInput Far Proc MouseInput Far
PushF PushF
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
ClI ClI
@ -1226,12 +1223,12 @@ MouseInput3:
PopF PopF
Ret Ret
EndP MouseInput ;EndP MouseInput
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseAddEvent Far ; Given DS:SI to event Proc MouseAddEvent Far ; Given DS:SI to event
PushF PushF
@ -1262,74 +1259,74 @@ MouseAddEvent1:
PopF PopF
Ret Ret
EndP MouseAddEvent ;EndP MouseAddEvent
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseClearEvents Far Proc MouseClearEvents Far
Mov AX, CS:MouseEventStart Mov AX, CS:MouseEventStart
Mov CS:MouseEventEnd, AX Mov CS:MouseEventEnd, AX
Ret Ret
EndP MouseClearEvents ;EndP MouseClearEvents
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseRemoveEvents Far ; AX = number to remove Proc MouseRemoveEvents Far ; AX = number to remove
ShL AX, 4 ShL AX, 4
Sub CS:MouseEventEnd, AX Sub CS:MouseEventEnd, AX
Ret Ret
EndP MouseRemoveEvents ;EndP MouseRemoveEvents
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseGetStatus Far Proc MouseGetStatus Far
Mov AL, CS:MouseStatus Mov AL, CS:MouseStatus
Ret Ret
EndP MouseGetStatus ;EndP MouseGetStatus
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc NewCharacterSet Far Proc NewCharacterSet Far
Or CS:RestoreGraphicsRequired, 2 Or CS:RestoreGraphicsRequired, 2
Ret Ret
EndP NewCharacterSet ;EndP NewCharacterSet
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseUpdateEnable Far Proc MouseUpdateEnable Far
Mov CS:UpdateScreen, 1 Mov CS:UpdateScreen, 1
Ret Ret
EndP MouseUpdateEnable ;EndP MouseUpdateEnable
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MouseUpdateDisable Far Proc MouseUpdateDisable Far
Mov CS:UpdateScreen, 0 Mov CS:UpdateScreen, 0
Ret Ret
EndP MouseUpdateDisable ;EndP MouseUpdateDisable
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc SetMouseCursorType Far Proc SetMouseCursorType Far
PushF PushF
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Mouse ;Assume DS:Mouse
ClI ClI
Mov MouseCursorType, BX Mov MouseCursorType, BX
@ -1376,20 +1373,20 @@ SetMouseCursorType4:
PopF PopF
Ret Ret
EndP SetMouseCursorType ;EndP SetMouseCursorType
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc CmdLineDisableMouse Far Proc CmdLineDisableMouse Far
Mov Word Ptr CS:MouseDisplay, 0 Mov Word Ptr CS:MouseDisplay, 0
Ret Ret
EndP CmdLineDisableMouse ;EndP CmdLineDisableMouse
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc ForceMouseRestore Far Proc ForceMouseRestore Far
Call MouseUpdateDisable Call MouseUpdateDisable
ClI ClI
@ -1399,7 +1396,7 @@ Proc ForceMouseRestore Far
StI StI
Jmp MouseUpdateEnable Jmp MouseUpdateEnable
EndP ForceMouseRestore ;EndP ForceMouseRestore
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト

212
it_msg.s
View File

@ -9,11 +9,11 @@
;ウ Externals ウ ;ウ Externals ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Extrn M_FunctionDivider:Far extern M_FunctionDivider:Far
Extrn M_Object1List:Far extern M_Object1List:Far
Extrn S_GetDestination:Far extern S_GetDestination:Far
Extrn O1_LongMessageList:Far extern O1_LongMessageList:Far
Extrn O1_ConfirmClearMessage:Far extern O1_ConfirmClearMessage:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ ;ウ Globals ウ
@ -29,7 +29,7 @@
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment Message BYTE Public 'Code' USE16 Segment Message BYTE Public 'Code' USE16
Assume CS:Message, DS:Nothing ;Assume CS:Message, DS:Nothing
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ ;ウ Variables ウ
@ -154,7 +154,7 @@ EditMsgKeys Label
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル ;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ResetMessage Far Proc Msg_ResetMessage Far
Push CS Push CS
Pop ES Pop ES
@ -168,17 +168,17 @@ Proc Msg_ResetMessage Far
Ret Ret
EndP Msg_ResetMessage ;EndP Msg_ResetMessage
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_DrawMessage Far Proc Msg_DrawMessage Far
Call S_GetDestination Call S_GetDestination
Push CS Push CS
Pop DS Pop DS
Assume DS:Message ;Assume DS:Message
Cmp Edit, 0 Cmp Edit, 0
JE Msg_DrawMessage7 JE Msg_DrawMessage7
@ -302,16 +302,16 @@ Msg_DrawMessage13:
Msg_DrawMessageEnd: Msg_DrawMessageEnd:
Ret Ret
EndP Msg_DrawMessage ;EndP Msg_DrawMessage
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_PreMessage Far Proc Msg_PreMessage Far
Push CS Push CS
Pop DS Pop DS
Assume DS:Message ;Assume DS:Message
Cmp Edit, 0 Cmp Edit, 0
JE Msg_PreMessage1 JE Msg_PreMessage1
@ -331,12 +331,12 @@ Proc Msg_PreMessage Far
Msg_PreMessage1: Msg_PreMessage1:
Ret Ret
EndP Msg_PreMessage ;EndP Msg_PreMessage
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_PostMessage Far Proc Msg_PostMessage Far
Push CS Push CS
Pop DS Pop DS
@ -393,12 +393,12 @@ Msg_PostMessage5:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_PostMessage ;EndP Msg_PostMessage
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_Tab Far Proc Msg_Tab Far
Mov CX, 8 Mov CX, 8
@ -412,12 +412,12 @@ Msg_Tab1:
Ret Ret
EndP Msg_Tab ;EndP Msg_Tab
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgUp Far Proc Msg_ViewMsgUp Far
Assume DS:Message ;Assume DS:Message
Mov AX, TopLine Mov AX, TopLine
Sub AX, 1 Sub AX, 1
@ -427,13 +427,13 @@ Proc Msg_ViewMsgUp Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ViewMsgUp ;EndP Msg_ViewMsgUp
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgDown Far Proc Msg_ViewMsgDown Far
Assume DS:Message ;Assume DS:Message
Mov AX, TopLine Mov AX, TopLine
Inc AX Inc AX
@ -448,13 +448,13 @@ Msg_ViewMsgDown1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ViewMsgDown ;EndP Msg_ViewMsgDown
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgPgUp Far Proc Msg_ViewMsgPgUp Far
Assume DS:Message ;Assume DS:Message
Mov AX, TopLine Mov AX, TopLine
Sub AX, 35 Sub AX, 35
@ -468,13 +468,13 @@ Msg_ViewMsgPgUp1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ViewMsgPgUp ;EndP Msg_ViewMsgPgUp
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgPgDn Far Proc Msg_ViewMsgPgDn Far
Assume DS:Message ;Assume DS:Message
Mov AX, TopLine Mov AX, TopLine
Add AX, 35 Add AX, 35
@ -489,13 +489,13 @@ Msg_ViewMsgPgDn1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ViewMsgPgDn ;EndP Msg_ViewMsgPgDn
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgEdit Far Proc Msg_ViewMsgEdit Far
Assume DS:Message ;Assume DS:Message
Mov TopLine, 0 Mov TopLine, 0
Mov CurrentLine, 0 Mov CurrentLine, 0
@ -505,26 +505,26 @@ Proc Msg_ViewMsgEdit Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ViewMsgEdit ;EndP Msg_ViewMsgEdit
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgView Far Proc Msg_EditMsgView Far
Assume DS:Message ;Assume DS:Message
Mov Edit, 0 Mov Edit, 0
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgView ;EndP Msg_EditMsgView
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgLeft Far Proc Msg_EditMsgLeft Far
Assume DS:Message ;Assume DS:Message
Sub CurrentPosition, 1 Sub CurrentPosition, 1
AdC CurrentPosition, 0 AdC CurrentPosition, 0
@ -532,13 +532,13 @@ Proc Msg_EditMsgLeft Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgLeft ;EndP Msg_EditMsgLeft
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgRight Far Proc Msg_EditMsgRight Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition Mov SI, CurrentPosition
Cmp SI, MESSAGELENGTH-2 Cmp SI, MESSAGELENGTH-2
@ -553,13 +553,13 @@ Msg_EditMsgRight1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgRight ;EndP Msg_EditMsgRight
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgUp Far Proc Msg_EditMsgUp Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition ; Need to search back Mov SI, CurrentPosition ; Need to search back
; twice... ; twice...
@ -590,12 +590,12 @@ Msg_EditMsgUpEnd:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgUp ;EndP Msg_EditMsgUp
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgPgUp Far Proc Msg_EditMsgPgUp Far
Mov CX, 35 Mov CX, 35
@ -608,12 +608,12 @@ Msg_EditMsgPgUp1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgPgUp ;EndP Msg_EditMsgPgUp
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgDown Far Proc Msg_EditMsgDown Far
Assume DS:Message ;Assume DS:Message
; Search for enter ; Search for enter
Mov SI, CurrentPosition Mov SI, CurrentPosition
@ -650,12 +650,12 @@ Msg_EditMsgDownEnd:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgDown ;EndP Msg_EditMsgDown
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgPgDn Far Proc Msg_EditMsgPgDn Far
Mov CX, 35 Mov CX, 35
@ -668,12 +668,12 @@ Msg_EditMsgPgDn1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgPgDn ;EndP Msg_EditMsgPgDn
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgDelete Far Proc Msg_EditMsgDelete Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition Mov SI, CurrentPosition
Mov DX, 1 Mov DX, 1
@ -683,12 +683,12 @@ Proc Msg_EditMsgDelete Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgDelete ;EndP Msg_EditMsgDelete
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgInsert Far Proc Msg_EditMsgInsert Far
Mov SI, CurrentPosition Mov SI, CurrentPosition
Mov DX, 1 Mov DX, 1
@ -702,12 +702,12 @@ Msg_EditMsgInsert1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgInsert ;EndP Msg_EditMsgInsert
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgBackspace Far Proc Msg_EditMsgBackspace Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition Mov SI, CurrentPosition
And SI, SI And SI, SI
@ -720,13 +720,13 @@ Msg_EditMsgBackspace1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgBackspace ;EndP Msg_EditMsgBackspace
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgDeleteLine Far Proc Msg_EditMsgDeleteLine Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition ; Search back for Mov SI, CurrentPosition ; Search back for
; start of line.. ; start of line..
@ -753,12 +753,12 @@ Msg_EditMsgDeleteLine4:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgDeleteLine ;EndP Msg_EditMsgDeleteLine
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ClearMessage Far Proc Msg_ClearMessage Far
Mov DI, Offset O1_ConfirmClearMessage Mov DI, Offset O1_ConfirmClearMessage
Mov CX, 4 Mov CX, 4
@ -773,12 +773,12 @@ Msg_ClearMessage1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ClearMessage ;EndP Msg_ClearMessage
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgHome Far Proc Msg_EditMsgHome Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition Mov SI, CurrentPosition
Call FindStart Call FindStart
@ -787,13 +787,13 @@ Proc Msg_EditMsgHome Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgHome ;EndP Msg_EditMsgHome
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgEnd Far Proc Msg_EditMsgEnd Far
Assume DS:Message ;Assume DS:Message
Mov SI, CurrentPosition Mov SI, CurrentPosition
@ -815,12 +815,12 @@ Msg_EditMsgEnd1:
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_EditMsgEnd ;EndP Msg_EditMsgEnd
Assume DS:Nothing ;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc FindStart Proc FindStart
FindStart1: FindStart1:
Sub SI, 1 Sub SI, 1
@ -833,11 +833,11 @@ FindStart2:
Inc SI Inc SI
Ret Ret
EndP FindStart ;EndP FindStart
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc InsertData ; SI = pos, DX = length. Proc InsertData ; SI = pos, DX = length.
Push CX Push CX
Push DX Push DX
@ -881,12 +881,12 @@ InsertDataEnd:
Pop CX Pop CX
Ret Ret
EndP InsertData ;EndP InsertData
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc DeleteData ; SI = pos, DX = length Proc DeleteData ; SI = pos, DX = length
; Assume DS:Message ; ;Assume DS:Message
Push CX Push CX
Push DX Push DX
@ -916,11 +916,11 @@ DeleteData1:
Pop CX Pop CX
Ret Ret
EndP DeleteData ;EndP DeleteData
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc CheckWordWrap ; Check current line only. Proc CheckWordWrap ; Check current line only.
Mov SI, CurrentPosition Mov SI, CurrentPosition
Call FindStart Call FindStart
@ -969,11 +969,11 @@ CheckWordWrap7: ; Insert an enter
CheckWordWrap8: CheckWordWrap8:
Ret Ret
EndP CheckWordWrap ;EndP CheckWordWrap
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_GetMessageLength Far ; Returns AX Proc Msg_GetMessageLength Far ; Returns AX
Push DS Push DS
Push SI Push SI
@ -995,11 +995,11 @@ Msg_GetMessageLength1:
Pop DS Pop DS
Ret Ret
EndP Msg_GetMessageLength ;EndP Msg_GetMessageLength
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_GetMessageOffset Far Proc Msg_GetMessageOffset Far
Push CS Push CS
Pop DS Pop DS
@ -1007,20 +1007,20 @@ Proc Msg_GetMessageOffset Far
Mov DX, Offset MessageData Mov DX, Offset MessageData
Ret Ret
EndP Msg_GetMessageOffset ;EndP Msg_GetMessageOffset
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト ;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ToggleCharacterSet Far Proc Msg_ToggleCharacterSet Far
Assume DS:Message ;Assume DS:Message
Xor CharacterColour, 6 xor 12 Xor CharacterColour, 6 xor 12
Mov AX, 1 Mov AX, 1
Ret Ret
EndP Msg_ToggleCharacterSet ;EndP Msg_ToggleCharacterSet
Assume DS:Nothing ;Assume DS:Nothing
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ ;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ

File diff suppressed because it is too large Load Diff

399
it_net.s

File diff suppressed because it is too large Load Diff

3872
it_obj1.s

File diff suppressed because it is too large Load Diff

1257
it_pe.s

File diff suppressed because it is too large Load Diff

175
it_s.s
View File

@ -2,20 +2,17 @@
;³ Screen Module ³ ;³ Screen Module ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
include switch.inc %include "switch.inc"
Jumps
.386
Segment Mouse BYTE Public 'Code' Segment Mouse BYTE Public 'Code'
Extrn MouseCharacterGenerationOffset:Word extern MouseCharacterGenerationOffset:Word
EndS EndS
Extrn E_UnInitEMS:Far extern E_UnInitEMS:Far
Extrn DrawMouse:Far, RestoreMouse:Far, ForceMouseRestore:Far extern DrawMouse:Far, RestoreMouse:Far, ForceMouseRestore:Far
Extrn RestoreMouseGraphics:Far, NewCharacterSet:Far extern RestoreMouseGraphics:Far, NewCharacterSet:Far
Extrn MouseSecondSetEnable:Far, MouseSecondSetDisable:Far extern MouseSecondSetEnable:Far, MouseSecondSetDisable:Far
Extrn MouseUpdateEnable:Far, MouseUpdateDisable:Far extern MouseUpdateEnable:Far, MouseUpdateDisable:Far
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³ ;³ Globals ³
@ -56,10 +53,10 @@ EndS
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment Screen BYTE Public 'Code' USE16 Segment Screen BYTE Public 'Code' USE16
Assume CS:Screen, DS:Screen ;Assume CS:Screen, DS:Screen
CREATENEWLOGFILE EQU 0 CREATENEWLOGFILE EQU 0
include debug.inc %include "debug.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³ ;³ Variables ³
@ -292,9 +289,9 @@ BoxDefinitions Label Byte
DB 153,21h,148,21h,152,21h,146,21h,32, 3h,145,23h,151,21h,143,23h,150,23h ; 27 DB 153,21h,148,21h,152,21h,146,21h,32, 3h,145,23h,151,21h,143,23h,150,23h ; 27
DB 128,23h,129,23h,141,21h,131,23h,32,23h,132,21h,140,21h,134,21h,135,21h DB 128,23h,129,23h,141,21h,131,23h,32,23h,132,21h,140,21h,134,21h,135,21h
DB 128,21h,129,21h,141,21h,131,21h,32,23h,132,23h,140,21h,134,23h,135,23h DB 128,21h,129,21h,141,21h,131,21h,32,23h,132,23h,140,21h,134,23h,135,23h
IF TUTORIAL %IF TUTORIAL
DB 128,13h,129,13h,130,13h,131,13h,32,13h,132,13h,133,13h,134,13h,135,13h DB 128,13h,129,13h,130,13h,131,13h,32,13h,132,13h,133,13h,134,13h,135,13h
ENDIF %ENDIF
CharacterGenerationOffset DW 512*32 CharacterGenerationOffset DW 512*32
VGAFlags DB 0 ; Bit 0 = override VGA detection VGAFlags DB 0 ; Bit 0 = override VGA detection
@ -313,13 +310,13 @@ TestBytes DB '
; - Defines basic characters (128->163) ; - Defines basic characters (128->163)
; - AX returns non-zero if error occurs ; - AX returns non-zero if error occurs
Proc S_InitScreen Far Proc S_InitScreen Far
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Screen ;Assume DS:Screen
Mov DirectVideo, 0 Mov DirectVideo, 0
@ -375,10 +372,10 @@ S_InitScreen5:
Push Mouse Push Mouse
Pop FS Pop FS
Assume FS:Mouse ;Assume FS:Mouse
Mov FS:MouseCharacterGenerationOffset, 2000h Mov FS:MouseCharacterGenerationOffset, 2000h
Assume FS:Nothing ;Assume FS:Nothing
S_InitScreen8: S_InitScreen8:
Call S_ResetSequencer Call S_ResetSequencer
@ -432,12 +429,12 @@ S_InitScreen6:
Pop DS Pop DS
Ret Ret
EndP S_InitScreen ;EndP S_InitScreen
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SaveScreen Far Proc S_SaveScreen Far
PushF PushF
PushAD PushAD
@ -452,13 +449,13 @@ Proc S_SaveScreen Far
Xor SI, SI Xor SI, SI
Xor DI, DI Xor DI, DI
IF USE32BITSCREENCOPY %IF USE32BITSCREENCOPY
Mov CX, 2000 Mov CX, 2000
Rep MovsD Rep MovsD
ELSE %ELSE
Mov CX, 4000 Mov CX, 4000
Rep MovsW Rep MovsW
ENDIF %ENDIF
Call ForceMouseRestore Call ForceMouseRestore
@ -469,11 +466,11 @@ ENDIF
Ret Ret
EndP S_SaveScreen ;EndP S_SaveScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_RestoreScreen Far Proc S_RestoreScreen Far
PushF PushF
PushAD PushAD
@ -488,13 +485,13 @@ Proc S_RestoreScreen Far
Pop DS Pop DS
Xor SI, SI Xor SI, SI
Xor DI, DI Xor DI, DI
IF USE32BITSCREENCOPY %IF USE32BITSCREENCOPY
Mov CX, 2000 Mov CX, 2000
Rep MovsD Rep MovsD
ELSE %ELSE
Mov CX, 4000 Mov CX, 4000
Rep MovsW Rep MovsW
ENDIF %ENDIF
Call ForceMouseRestore Call ForceMouseRestore
@ -507,11 +504,11 @@ ENDIF
Ret Ret
EndP S_RestoreScreen ;EndP S_RestoreScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_Set80x50Mode Far Proc S_Set80x50Mode Far
Push AX Push AX
Push DX Push DX
@ -562,22 +559,22 @@ S_Set80x50Mode1:
Ret Ret
EndP S_Set80x50Mode ;EndP S_Set80x50Mode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SetPalette2 Far Proc S_SetPalette2 Far
PushA PushA
Push DS Push DS
Jmp SP3 Jmp SP3
EndP S_SetPalette2 ;EndP S_SetPalette2
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SetPalette Far Proc S_SetPalette Far
PushA PushA
Push DS Push DS
@ -606,7 +603,7 @@ SP3:
Push CS Push CS
Pop DS Pop DS
Assume DS:Screen ;Assume DS:Screen
Mov SI, Offset PaletteDefs Mov SI, Offset PaletteDefs
SP2: SP2:
@ -616,18 +613,18 @@ SP2:
Pop DS Pop DS
Assume DS:Nothing ;Assume DS:Nothing
PopA PopA
Ret Ret
EndP S_SetPalette ;EndP S_SetPalette
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
SequencerSemaphore DB 0FFh SequencerSemaphore DB 0FFh
Proc S_SetSequencer Far Proc S_SetSequencer Far
Inc [CS:SequencerSemaphore] Inc [CS:SequencerSemaphore]
JNZ S_SetSequencer1 JNZ S_SetSequencer1
@ -656,11 +653,11 @@ Proc S_SetSequencer Far
S_SetSequencer1: S_SetSequencer1:
Ret Ret
EndP S_SetSequencer ;EndP S_SetSequencer
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_ResetSequencer Far Proc S_ResetSequencer Far
Dec [CS:SequencerSemaphore] Dec [CS:SequencerSemaphore]
JNS S_ResetSequencer1 JNS S_ResetSequencer1
@ -688,11 +685,11 @@ Proc S_ResetSequencer Far
S_ResetSequencer1: S_ResetSequencer1:
Ret Ret
EndP S_ResetSequencer ;EndP S_ResetSequencer
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_RedefineCharacters Far Proc S_RedefineCharacters Far
; DS:SI = Offset to characterdefs ; DS:SI = Offset to characterdefs
; BX = Number of characters ; BX = Number of characters
; AX = First character ; AX = First character
@ -740,11 +737,11 @@ RedefineCharacters1:
Ret Ret
EndP S_RedefineCharacters ;EndP S_RedefineCharacters
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DefineSmallNumbers Far Proc S_DefineSmallNumbers Far
Push DS Push DS
Push SI Push SI
@ -841,11 +838,11 @@ S_DefineSmallNumbers5:
Ret Ret
EndP S_DefineSmallNumbers ;EndP S_DefineSmallNumbers
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_UnInitScreen Far Proc S_UnInitScreen Far
Push ES Push ES
@ -860,11 +857,11 @@ Proc S_UnInitScreen Far
Ret Ret
EndP S_UnInitScreen ;EndP S_UnInitScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_GetDestination Far Proc S_GetDestination Far
Mov ES, CS:ScreenDataArea Mov ES, CS:ScreenDataArea
@ -879,42 +876,42 @@ Proc S_GetDestination Far
S_GetDestination1: S_GetDestination1:
Ret Ret
EndP S_GetDestination ;EndP S_GetDestination
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_ClearScreen Far Proc S_ClearScreen Far
Push CX Push CX
Push ES Push ES
Push DI Push DI
Call S_GetDestination Call S_GetDestination
IF USE32BITSCREENCOPY %IF USE32BITSCREENCOPY
Mov CX, 2000 Mov CX, 2000
Mov EAX, 03000300h Mov EAX, 03000300h
Xor DI, DI Xor DI, DI
Rep StosD Rep StosD
ELSE %ELSE
Mov CX, 4000 Mov CX, 4000
Mov AX, 300h Mov AX, 300h
Xor DI, DI Xor DI, DI
Rep StosW Rep StosW
ENDIF %ENDIF
Pop DI Pop DI
Pop ES Pop ES
Pop CX Pop CX
Ret Ret
EndP S_ClearScreen ;EndP S_ClearScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; Style - Low byte: Box style number ; Style - Low byte: Box style number
; - High byte: Flags - Bit 0: Filled box/empty box; on = don't fill ; - High byte: Flags - Bit 0: Filled box/empty box; on = don't fill
Proc S_DrawBox Far Proc S_DrawBox Far
ARG Style, Bottom, Right, Top, Left ARG Style, Bottom, Right, Top, Left
Push BP Push BP
@ -1007,11 +1004,11 @@ DrawBox3:
Pop BP Pop BP
Ret Ret
EndP S_DrawBox ;EndP S_DrawBox
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_UpdateScreen Far Proc S_UpdateScreen Far
Cmp CS:DirectVideo, 0 Cmp CS:DirectVideo, 0
JNE S_UpdateScreen1 JNE S_UpdateScreen1
@ -1047,13 +1044,13 @@ S_UpdateScreen2:
Mov DS, CS:ScreenDataArea Mov DS, CS:ScreenDataArea
Mov CX, 0B800h Mov CX, 0B800h
Mov ES, CX Mov ES, CX
IF USE32BITSCREENCOPY %IF USE32BITSCREENCOPY
Mov CX, 2000 Mov CX, 2000
Rep MovsD Rep MovsD
ELSE %ELSE
Mov CX, 4000 Mov CX, 4000
Rep MovsW Rep MovsW
ENDIF %ENDIF
Mov ES, CS:ScreenDataArea Mov ES, CS:ScreenDataArea
Call RestoreMouse Call RestoreMouse
@ -1067,11 +1064,11 @@ ENDIF
S_UpdateScreen1: S_UpdateScreen1:
Ret Ret
EndP S_UpdateScreen ;EndP S_UpdateScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SetDirectMode Far Proc S_SetDirectMode Far
Cmp CS:DirectVideo, AL Cmp CS:DirectVideo, AL
JE S_SetDirectMode2 JE S_SetDirectMode2
@ -1094,13 +1091,13 @@ S_SetDirectMode1:
Mov DS, CX Mov DS, CX
Xor SI, SI Xor SI, SI
Xor DI, DI Xor DI, DI
IF USE32BITSCREENCOPY %IF USE32BITSCREENCOPY
Mov CX, 2000 Mov CX, 2000
Rep MovsD Rep MovsD
ELSE %ELSE
Mov CX, 4000 Mov CX, 4000
Rep MovsW Rep MovsW
ENDIF %ENDIF
Call RestoreMouse Call RestoreMouse
@ -1114,11 +1111,11 @@ S_SetDirectMode2:
Mov CS:DirectVideo, AL Mov CS:DirectVideo, AL
Ret Ret
EndP S_SetDirectMode ;EndP S_SetDirectMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_HiLight Far ; DI points to offset Proc S_HiLight Far ; DI points to offset
; AL = colour ; AL = colour
; CX = number of characters ; CX = number of characters
Push ES Push ES
@ -1138,11 +1135,11 @@ HiLight1:
Ret Ret
EndP S_HiLight ;EndP S_HiLight
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DirectDrawString Far Proc S_DirectDrawString Far
Push BP Push BP
Mov BP, SP Mov BP, SP
@ -1161,11 +1158,11 @@ Proc S_DirectDrawString Far
Jmp DrawString001 Jmp DrawString001
EndP S_DirectDrawString ;EndP S_DirectDrawString
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DrawString Far ; DS:SI points to string Proc S_DrawString Far ; DS:SI points to string
; DI points to offset ; DI points to offset
; AH = colour ; AH = colour
@ -1412,22 +1409,22 @@ DrawString018:
Jmp DrawString001 Jmp DrawString001
EndP S_DrawString ;EndP S_DrawString
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_GetGenerationTableOffset Far ; returns ES:DI Proc S_GetGenerationTableOffset Far ; returns ES:DI
Mov ES, CS:ScreenDataArea Mov ES, CS:ScreenDataArea
Mov DI, 8000 Mov DI, 8000
Ret Ret
EndP S_GetGenerationTableOffset ;EndP S_GetGenerationTableOffset
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_GenerateCharacters Far ; AX = starting char. Proc S_GenerateCharacters Far ; AX = starting char.
; BX = chars per row. ; BX = chars per row.
; CX = number of rows. ; CX = number of rows.
PushAD PushAD
@ -1523,11 +1520,11 @@ S_GenerateCharacters2:
Ret Ret
EndP S_GenerateCharacters ;EndP S_GenerateCharacters
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DrawSmallBox Far Proc S_DrawSmallBox Far
Mov AX, 30 Mov AX, 30
Push AX Push AX
@ -1544,11 +1541,11 @@ Proc S_DrawSmallBox Far
Ret Ret
EndP S_DrawSmallBox ;EndP S_DrawSmallBox
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_GetPaletteOffset Far Proc S_GetPaletteOffset Far
Push CS Push CS
Pop DS Pop DS
@ -1556,11 +1553,11 @@ Proc S_GetPaletteOffset Far
Ret Ret
EndP S_GetPaletteOffset ;EndP S_GetPaletteOffset
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_UsePresetPalette Far Proc S_UsePresetPalette Far
Mov AL, 48 Mov AL, 48
Mul Byte Ptr [DS:SI+22] Mul Byte Ptr [DS:SI+22]
@ -1569,7 +1566,7 @@ Proc S_UsePresetPalette Far
Mov AX, CS Mov AX, CS
Mov DS, AX Mov DS, AX
Mov ES, AX Mov ES, AX
Assume DS:Screen ;Assume DS:Screen
Add SI, Offset PresetPalettes Add SI, Offset PresetPalettes
Mov DI, Offset PaletteDefs Mov DI, Offset PaletteDefs
@ -1581,12 +1578,12 @@ Proc S_UsePresetPalette Far
Mov AX, 1 Mov AX, 1
Ret Ret
EndP S_UsePresetPalette ;EndP S_UsePresetPalette
Assume DS:Nothing ;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DefineHiASCII Far Proc S_DefineHiASCII Far
Call MouseUpdateDisable Call MouseUpdateDisable
@ -1626,11 +1623,11 @@ S_DefineHIASCII1:
Ret Ret
EndP S_DefineHiASCII ;EndP S_DefineHiASCII
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_InvertCursor Far ; AL = char, AH = mask. Proc S_InvertCursor Far ; AL = char, AH = mask.
PushA PushA
Push DS Push DS
@ -1668,7 +1665,7 @@ S_InvertCursor1:
PopA PopA
Ret Ret
EndP S_InvertCursor ;EndP S_InvertCursor
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

116
it_tute.s
View File

@ -1,34 +1,30 @@
%include "switch.inc"
Jumps %IF TUTORIAL
.386
include switch.inc extern S_DrawBox:Far
extern S_DrawString:Far
IF TUTORIAL extern Music_GetSongSegment:Far
extern Music_GetPlayMode:Far
Extrn S_DrawBox:Far extern PE_GetLastInstrument:Far ; Returns BX = LastInst-1
Extrn S_DrawString:Far
Extrn Music_GetSongSegment:Far
Extrn Music_GetPlayMode:Far
Extrn PE_GetLastInstrument:Far ; Returns BX = LastInst-1
Segment Pattern BYTE Public 'Code' Segment Pattern BYTE Public 'Code'
Extrn PatternDataArea:Word extern PatternDataArea:Word
Extrn LastKeyBoard1:Word extern LastKeyBoard1:Word
Extrn LastKeyBoard2:Word extern LastKeyBoard2:Word
EndS EndS
Segment Disk Byte Public 'Code' USE16 Segment Disk Byte Public 'Code' USE16
Extrn SamplesInModule:Byte extern SamplesInModule:Byte
Extrn InSampleFileName:Byte extern InSampleFileName:Byte
EndS EndS
Public Glbl_TutorialHandler Public Glbl_TutorialHandler
Segment Glbl BYTE Public 'Code' USE16 Segment Glbl BYTE Public 'Code' USE16
Assume CS:Glbl, DS:Nothing, GS:Pattern ;Assume CS:Glbl, DS:Nothing, GS:Pattern
Extrn CurrentMode:Byte extern CurrentMode:Byte
TutorialState DW 0 TutorialState DW 0
@ -266,38 +262,38 @@ SnareDrumText DB "Snare Drum"
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State0 Proc Tute_State0
Cmp AL, 9 Cmp AL, 9
Ret Ret
EndP Tute_State0 ;EndP Tute_State0
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State1 Proc Tute_State1
Cmp AL, 3 Cmp AL, 3
Ret Ret
EndP Tute_State1 ;EndP Tute_State1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State2 Proc Tute_State2
Cmp AL, 13 Cmp AL, 13
Ret Ret
EndP Tute_State2 ;EndP Tute_State2
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State3 Proc Tute_State3
Push Disk Push Disk
Pop ES Pop ES
Assume ES:Disk ;Assume ES:Disk
Cmp ES:SamplesInModule, 1 Cmp ES:SamplesInModule, 1
JNE Tute_State3a JNE Tute_State3a
@ -310,11 +306,11 @@ Proc Tute_State3
Tute_State3a: Tute_State3a:
Ret Ret
EndP Tute_State3 ;EndP Tute_State3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State4 Proc Tute_State4
Call Music_GetSongSegment Call Music_GetSongSegment
Mov ES, AX Mov ES, AX
@ -325,78 +321,78 @@ Proc Tute_State4
RepE CmpSB RepE CmpSB
Ret Ret
EndP Tute_State4 ;EndP Tute_State4
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State5 Proc Tute_State5
Cmp AL, 2 Cmp AL, 2
Ret Ret
EndP Tute_State5 ;EndP Tute_State5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State6 Proc Tute_State6
Cmp Word Ptr [FS:0], 13Ch Cmp Word Ptr [FS:0], 13Ch
Ret Ret
EndP Tute_State6 ;EndP Tute_State6
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State7 Proc Tute_State7
Cmp Word Ptr [FS:320*16], 13Ch Cmp Word Ptr [FS:320*16], 13Ch
Ret Ret
EndP Tute_State7 ;EndP Tute_State7
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State8 Proc Tute_State8
Call Music_GetPlayMode Call Music_GetPlayMode
Cmp AX, 1 Cmp AX, 1
Ret Ret
EndP Tute_State8 ;EndP Tute_State8
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State9 Proc Tute_State9
Call Music_GetPlayMode Call Music_GetPlayMode
Test AX, AX Test AX, AX
Ret Ret
EndP Tute_State9 ;EndP Tute_State9
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State10 Proc Tute_State10
Cmp Word Ptr [FS:60*320], 13Ch Cmp Word Ptr [FS:60*320], 13Ch
Ret Ret
EndP Tute_State10 ;EndP Tute_State10
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State12 Proc Tute_State12
Call PE_GetLastInstrument Call PE_GetLastInstrument
Cmp BX, 1 Cmp BX, 1
Ret Ret
EndP Tute_State12 ;EndP Tute_State12
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State14 Proc Tute_State14
Call Music_GetSongSegment Call Music_GetSongSegment
Mov ES, AX Mov ES, AX
@ -407,60 +403,60 @@ Proc Tute_State14
RepE CmpSB RepE CmpSB
Ret Ret
EndP Tute_State14 ;EndP Tute_State14
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_StateEnd Proc Tute_StateEnd
Inc AX ; Ensure zero flag is not set. Inc AX ; Ensure zero flag is not set.
Ret Ret
EndP Tute_StateEnd ;EndP Tute_StateEnd
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State16 Proc Tute_State16
Cmp Word Ptr [FS:62*320], 23Ch Cmp Word Ptr [FS:62*320], 23Ch
Ret Ret
EndP Tute_State16 ;EndP Tute_State16
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State18 Proc Tute_State18
Cmp [Word Ptr GS:LastKeyboard1+2], 2600h Cmp [Word Ptr GS:LastKeyboard1+2], 2600h
Ret Ret
EndP Tute_State18 ;EndP Tute_State18
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Tute_State19 Proc Tute_State19
Cmp [Word Ptr GS:LastKeyboard1+2], 2200h Cmp [Word Ptr GS:LastKeyboard1+2], 2200h
Ret Ret
EndP Tute_State19 ;EndP Tute_State19
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_TutorialHandler Far Proc Glbl_TutorialHandler Far
PushAD PushAD
Push DS Push DS
Push CS Push CS
Pop DS Pop DS
Assume DS:Glbl ;Assume DS:Glbl
Push Pattern Push Pattern
Pop GS Pop GS
Mov FS, [GS:PatternDataArea] Mov FS, [GS:PatternDataArea]
Assume FS:Nothing ;Assume FS:Nothing
Mov BX, [TutorialState] Mov BX, [TutorialState]
Mov AL, CurrentMode Mov AL, CurrentMode
@ -509,11 +505,9 @@ Tute_TuteFinished:
PopAD PopAD
Ret Ret
EndP Glbl_TutorialHandler ;EndP Glbl_TutorialHandler
Assume DS:Nothing, FS:Nothing ;Assume DS:Nothing, FS:Nothing
EndS EndS
ENDIF %ENDIF
End

View File

@ -27,12 +27,9 @@
;³ ³ ;³ ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Jumps %include "switch.inc"
.386P
include switch.inc %IF SPECTRUMANALYSER
IF SPECTRUMANALYSER
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³ ;³ Externals ³
@ -46,14 +43,15 @@ IF SPECTRUMANALYSER
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment Vesa BYTE Public 'Code' USE16 ;Segment Vesa BYTE Public 'Code' USE16
Assume CS:Vesa, DS:Nothing %warning "USE16"
section .text
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³ ;³ Variables ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
VESAInformationTable Label VESAInformationTable:; Label
VESASignature DB 4 Dup (0) VESASignature DB 4 Dup (0)
VESAVersion DW 0 VESAVersion DW 0
VESAOEMStringPrt DD 0 VESAOEMStringPrt DD 0
@ -62,7 +60,7 @@ VESAVideoModePtr DD 0
VESATotalMemory DW 0 VESATotalMemory DW 0
DB 256-($-VESAInformationTable) Dup(0) DB 256-($-VESAInformationTable) Dup(0)
VESAModeInformationTable Label VESAModeInformationTable:; Label
DB 256-($-VESAModeInformationTable) Dup (0) DB 256-($-VESAModeInformationTable) Dup (0)
ModeInformationStructure Struc ModeInformationStructure Struc
@ -103,8 +101,8 @@ ModeInformationStructure EndS
;³ Functions ³ ;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc VESA_Detect Far VESA_Detect:; Far
Public VESA_Detect global VESA_Detect
PushA PushA
Push ES Push ES
@ -129,12 +127,12 @@ DetectVESA1:
PopA PopA
Ret Ret
EndP VESA_Detect ;EndP VESA_Detect
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc VESA_SetMode Far VESA_SetMode:; Far
Public VESA_SetMode global VESA_SetMode
PushA PushA
Push DS Push DS
@ -161,12 +159,12 @@ VESA_SetMode3:
Ret Ret
EndP VESA_SetMode ;EndP VESA_SetMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc VESA_GetInfo VESA_GetInfo:
Public VESA_GetInfo global VESA_GetInfo
Push AX Push AX
Push CX Push CX
@ -190,12 +188,12 @@ VESA_GetInfo1:
Ret Ret
EndP VESA_GetInfo ;EndP VESA_GetInfo
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc VESA_SetBlock Far ; Gives access to a 64kb block VESA_SetBlock:; Far ; Gives access to a 64kb block
Public VESA_SetBlock ; Given AX = block number. global VESA_SetBlock ; Given AX = block number.
PushA PushA
Push AX Push AX
@ -213,14 +211,6 @@ Public VESA_SetBlock ; Given AX = block number.
PopA PopA
Ret Ret
EndP VESA_SetBlock ;EndP VESA_SetBlock
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ %ENDIF
EndS
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
ENDIF
End