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
===============
Eventually, maybe, a version of IT for modern systems
Eventually, maybe, a version of IT for modern x86\_64 systems
Pre-Requisite Software
----------------------

4
build
View File

@ -3,7 +3,7 @@ mkdir -p obj gen
for i in *.s; do
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
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
;Jumps
include switch.inc
%include "switch.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Segment Object1 BYTE Public 'Data'
Extrn HelpKeyValue:Word, OrderKeyValue:Word
extern HelpKeyValue:Word, OrderKeyValue:Word
EndS
Segment InfoLine BYTE Public 'Code' USE16
Extrn ShowUsageTime:Byte
extern ShowUsageTime:Byte
EndS
Segment Disk BYTE Public 'Code' USE16
Extrn DiskOptions:Byte
extern DiskOptions:Byte
EndS
Segment Screen BYTE Public 'Code'
Extrn CharacterGenerationOffset:Word
Extrn VGAFlags:Byte
extern CharacterGenerationOffset:Word
extern VGAFlags:Byte
EndS
Segment Mouse BYTE Public 'Code'
Extrn MouseCharacterGenerationOffset:Word
extern MouseCharacterGenerationOffset:Word
EndS
Segment Main DWORD Public 'Code' USE16
Extrn ReleaseTimeSlice:Byte
extern ReleaseTimeSlice:Byte
EndS
Extrn D_InitDisk:Far
Extrn D_UnInitDisk:Far
Extrn D_DisableFileColours:Far
extern D_InitDisk:Far
extern D_UnInitDisk:Far
extern D_DisableFileColours:Far
Extrn E_InitEMS:Far
Extrn E_UnInitEMS:Far
extern E_InitEMS:Far
extern E_UnInitEMS:Far
Extrn Error_InitHandler:Far
Extrn Error_UnInitHandler:Far
extern Error_InitHandler:Far
extern Error_UnInitHandler:Far
Extrn K_InitKeyBoard:Far
Extrn K_UnInitKeyBoard:Far
Extrn K_InstallKeyboardType:Far
Extrn K_RemoveKeyboardType:Far
extern K_InitKeyBoard:Far
extern K_UnInitKeyBoard:Far
extern K_InstallKeyboardType:Far
extern K_RemoveKeyboardType:Far
Extrn K_InstallDOSHandler:Far
Extrn K_UnInstallDOSHandler:Far
Extrn K_SwapKeyBoard:Far
extern K_InstallDOSHandler:Far
extern K_UnInstallDOSHandler:Far
extern K_SwapKeyBoard:Far
Extrn O1_AutoDetectList:Far
Extrn O1_ConfirmQuit:Far
Extrn O1_PatternEditList:Far
Extrn O1_CrashRecovery:Far
Extrn O1_KeyboardList:Far
extern O1_AutoDetectList:Far
extern O1_ConfirmQuit:Far
extern O1_PatternEditList:Far
extern O1_CrashRecovery:Far
extern O1_KeyboardList:Far
Extrn M_Object1List:Far
extern M_Object1List:Far
Extrn S_InitScreen:Far
Extrn S_ClearScreen:Far
Extrn S_UnInitScreen:Far
Extrn S_SetDirectMode:Far
Extrn S_DrawString:Far
extern S_InitScreen:Far
extern S_ClearScreen:Far
extern S_UnInitScreen:Far
extern S_SetDirectMode:Far
extern S_DrawString:Far
Extrn Music_InitMusic:Far
Extrn Music_UnInitMusic:Far
extern Music_InitMusic:Far
extern Music_UnInitMusic:Far
Extrn Music_SetLimit:Far
Extrn Music_SetSoundCard:Far
Extrn Music_SetDMA:Far
Extrn Music_SetIRQ:Far
Extrn Music_SetMixSpeed:Far
Extrn Music_SetAddress:Far
Extrn Music_ReverseChannels:Far
Extrn Music_PatternStorage:Far
Extrn Music_SetSoundCardDriver:Far
Extrn Music_Stop:Far
Extrn Music_AutoDetectSoundCard:Far
extern Music_SetLimit:Far
extern Music_SetSoundCard:Far
extern Music_SetDMA:Far
extern Music_SetIRQ:Far
extern Music_SetMixSpeed:Far
extern Music_SetAddress:Far
extern Music_ReverseChannels:Far
extern Music_PatternStorage:Far
extern Music_SetSoundCardDriver:Far
extern Music_Stop:Far
extern Music_AutoDetectSoundCard:Far
IF NETWORKENABLED
Extrn Network_Shutdown:Far
ENDIF
%IF NETWORKENABLED
extern Network_Shutdown:Far
%ENDIF
Extrn PE_InitPatternEdit:Far
Extrn PE_UnInitPatternEdit:Far
Extrn PECheckModified:Far
extern PE_InitPatternEdit:Far
extern PE_UnInitPatternEdit:Far
extern PECheckModified:Far
Extrn D_RestorePreShellDirectory:Far
Extrn D_GetPreShellDirectory:Far
extern D_RestorePreShellDirectory:Far
extern D_GetPreShellDirectory:Far
Extrn MMTSR_InstallMMTSR:Far
Extrn MMTSR_UninstallMMTSR:Far
extern MMTSR_InstallMMTSR:Far
extern MMTSR_UninstallMMTSR:Far
Extrn InitMouse:Far, UnInitMouse:Far
Extrn CmdLineDisableMouse:Far
extern InitMouse:Far, UnInitMouse: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
Assume CS:StartUp, DS:Nothing, ES:Nothing
;Segment StartUp BYTE Public 'Code' USE16
section .text
%warning "USE16"
; ;Assume CS:StartUp, DS:Nothing, ES:Nothing
CREATENEWLOGFILE EQU 1
include debug.inc
%include "debug.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
StackSize = 1000h
StackSize equ 1000h
No386Msg DB "Sorry, Impulse Tracker requires a 386+ processor to run."
DB 13, 10, "$"
@ -154,24 +156,24 @@ EXECData DW 0 ; Inherit same environment block
DW Offset FCB2, Startup
ShellMsg DB "Type EXIT to return to Impulse Tracker$"
IF SHOWREGISTERNAME
include wavswitc.inc
include username.inc
ENDIF
%IF SHOWREGISTERNAME
%include "wavswitc.inc"
%include "username.inc"
%ENDIF
Label CmdLineHelp Byte
IF SHOWVERSION
%IF SHOWVERSION
DB "Impulse Tracker 2.14, Copyright (C) 1995-2000 Jeffrey Lim", 13, 10
DB 10
DB " Usage: IT.EXE [Switches]", 13, 10
ELSE
%ELSE
DB "Impulse Tracker, Copyright (C) 1995-2000 Jeffrey Lim", 13, 10
IF SHOWREGISTERNAME
%IF SHOWREGISTERNAME
DB "Registered to: "
DB REGISTERNAME
DB 13, 10
ENDIF
ENDIF
%ENDIF
%ENDIF
DB 10
DB "Switches:", 13, 10
DB " SFilename.Drv Select sound card driver", 13, 10
@ -232,7 +234,7 @@ StartupQueueNextFunction DW Offset GetStartupKeyList2
;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc CapitaliseAL
CapitaliseAL:
Cmp AL, 'a'
JB CapitaliseAL1
@ -245,7 +247,7 @@ Proc CapitaliseAL
CapitaliseAL1:
Ret
EndP CapitaliseAL
;EndP CapitaliseAL
CapitaliseAL:
cmp al, 'a'
@ -257,7 +259,7 @@ CapitaliseAL:
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc GetDecimalNumber ; Returns CX
GetDecimalNumber: ; Returns CX
LodsB
Cmp AL, '0'
@ -294,12 +296,12 @@ GetDecimalNumber4:
ClC
Ret
EndP GetDecimalNumber
;EndP GetDecimalNumber
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Start
Assume DS:Nothing
Start:
;Assume DS:Nothing
; 386 check.
@ -416,13 +418,13 @@ NoShowUsageTime:
Push InfoLine
Pop DS
Assume DS:InfoLine
;Assume DS:InfoLine
Mov [ShowUsageTime], 0
Pop DS
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
NoReleaseTimeSlice:
Cmp AL, '2'
@ -433,7 +435,7 @@ NoReleaseTimeSlice2:
Push Main
Pop DS
Assume DS:Main
;Assume DS:Main
Mov [ReleaseTimeSlice], 1
@ -477,31 +479,31 @@ DisableMMTSR:
DisableDetectDriveMap:
Push Disk
Pop DS
Assume DS:Disk
;Assume DS:Disk
Or [DiskOptions], 1
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
DisableCacheFiles:
Push Disk
Pop DS
Assume DS:Disk
;Assume DS:Disk
Or [DiskOptions], 2
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
KeyboardSwap:
Mov AX, Object1
Mov DS, AX
Assume DS:Object1
;Assume DS:Object1
Mov [HelpKeyValue], 157h
Mov [OrderKeyValue], 13Bh
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
DisableColours:
Call D_DisableFileColours
@ -516,7 +518,7 @@ OverrideVGA:
Mov CX, Screen
Mov DS, CX
Assume DS:Screen
;Assume DS:Screen
Cmp AL, '1'
JE OverrideVGA1
@ -545,11 +547,11 @@ Matrox:
Mov AX, Mouse
Mov DS, AX
Assume DS:Mouse
;Assume DS:Mouse
Mov [MouseCharacterGenerationOffset], 256*32
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
SetControl:
Mov [CS:Control], 1
@ -624,7 +626,7 @@ SetMixSpeed1:
SetMixSpeedError:
Push CS
Pop DS
Assume DS:StartUp
;Assume DS:StartUp
Mov AH, 9
Mov DX, Offset MixErrorMsg
@ -632,7 +634,7 @@ SetMixSpeedError:
Mov [Pause], 1
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
SetIRQ1:
Call GetDecimalNumber
@ -648,7 +650,7 @@ SetIRQ1:
IRQError:
Push CS
Pop DS
Assume DS:StartUp
;Assume DS:StartUp
Mov AH, 9
Mov DX, Offset IRQErrorMsg
@ -656,7 +658,7 @@ IRQError:
Mov [Pause], 1
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
SetAddress1:
@ -713,7 +715,7 @@ SetAddress5:
AddressError:
Push CS
Pop DS
Assume DS:StartUp
;Assume DS:StartUp
Mov AH, 9
Mov DX, Offset AddressErrorMsg
@ -721,7 +723,7 @@ AddressError:
Mov [Pause], 1
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
Limit1:
Call GetDecimalNumber
@ -739,7 +741,7 @@ Limit1:
LimitError:
Push CS
Pop DS
Assume DS:StartUp
;Assume DS:StartUp
Mov AH, 9
Mov DX, Offset LimitErrorMsg
@ -747,7 +749,7 @@ LimitError:
Mov [Pause], 1
Jmp CmdLine1
Assume DS:Nothing
;Assume DS:Nothing
CmdLineEnd:
@ -755,7 +757,7 @@ CmdLineEnd:
Push CS
Pop DS
Assume DS:StartUp
;Assume DS:StartUp
Trace "Windows Detection"
@ -862,7 +864,7 @@ SkipMMTSR:
Call M_Object1List
Jmp Quit1
Proc Quit Far
Quit:;Far
Mov DI, Offset O1_ConfirmQuit
Mov CX, 3
@ -878,9 +880,9 @@ Quit1:
Call PECheckModified
Call Music_Stop
IF NETWORKENABLED
%IF NETWORKENABLED
Call Network_Shutdown
ENDIF
%ENDIF
Call MMTSR_UninstallMMTSR
Call PE_UnInitPatternEdit
@ -897,23 +899,23 @@ ENDIF
Mov AX, 4C00h
Int 21h
EndP Quit
;EndP Quit
EndP Start
;EndP Start
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc IsStartupKeyList Far
IsStartupKeyList:;Far
Mov AL,CS:StartupList
Ret
EndP IsStartupKeyList
;EndP IsStartupKeyList
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc GetStartupKeyList Far
GetStartupKeyList:;Far
Jmp [CS:StartupKeyListFunction]
@ -977,11 +979,11 @@ GetStartupKeyList3: ; Save module then quit
Mov [CS:StartupList], 0
Ret
EndP GetStartupKeyList
;EndP GetStartupKeyList
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc CrashRecovery Far ; CtrlAltDel location.
CrashRecovery:;Far ; CtrlAltDel location.
ClD
StI
@ -999,11 +1001,11 @@ Proc CrashRecovery Far ; CtrlAltDel location.
Mov CX, 0FFFFh
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.
; Returns ES:DI
@ -1042,11 +1044,11 @@ GetEnvironment3:
ClC
Ret
EndP GetEnvironment
;EndP GetEnvironment
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Refresh Far
Refresh:;Far
Call D_GetPreShellDirectory
Call S_InitScreen
@ -1057,11 +1059,11 @@ Proc Refresh Far
Mov AX, 1
Ret
EndP Refresh
;EndP Refresh
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc DOSShell Far
DOSShell:;Far
PushAD
Push DS
@ -1090,7 +1092,7 @@ DOSShell3:
Push CS
Pop DS
Pop ES
Assume DS:StartUp
;Assume DS:StartUp
Mov AH, 9
Mov DX, Offset ShellMsg
@ -1107,7 +1109,7 @@ DOSShell3:
DOSShell1:
ClI
Int 21h
Assume DS:Nothing
;Assume DS:Nothing
PopF
@ -1134,8 +1136,8 @@ DOSShell5:
Mov AX, 1
Ret
EndP DOSShell
Assume DS:Nothing
;EndP DOSShell
;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 ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
include switch.inc
%include "switch.inc"
; Memory structure for patterns:
; Memory Block Header
@ -16,27 +16,24 @@ include switch.inc
; Offset 9-0Fh: Not used
; Offset 10h Data
Jumps
.386
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Segment Object1 BYTE Public 'Data'
Extrn EMSErrorValue:Word
Extrn EMSErrorValue2:Word
Extrn EMSErrorValue3:Word
Extrn EMSErrorValue4:Word
Extrn EMSErrorValue5:Word
Extrn EMSErrorValue6:Word
Extrn EMSErrorValue7:Word
Extrn EMSErrorValue8:Word
extern EMSErrorValue:Word
extern EMSErrorValue2:Word
extern EMSErrorValue3:Word
extern EMSErrorValue4:Word
extern EMSErrorValue5:Word
extern EMSErrorValue6:Word
extern EMSErrorValue7:Word
extern EMSErrorValue8:Word
EndS
Extrn M_Object1List:Far
extern M_Object1List:Far
Extrn O1_EMSWarningMessage
extern O1_EMSWarningMessage
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³
@ -57,37 +54,37 @@ EndS
Global E_GetEMSVersion:Far
Global E_GetInternalEMSHandle:Far
IF EMSDEBUG
%IF EMSDEBUG
Global E_DumpEMSMemory:Far
ENDIF
%ENDIF
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment EMS WORD Public 'Code' USE16
Assume CS:EMS, DS:Nothing
;Assume CS:EMS, DS:Nothing
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
CREATENEWLOGFILE EQU 0
include debug.inc
%include "debug.inc"
EMSDetectString DB "EMMXXXX0" ; Identification string
EMSHandlesRemaining DW 0
EMSAvailable DW 0 ; Assume that it's not avail.
EMSAvailable DW 0 ; ;Assume that it's not avail.
EMSPageFrame DW 0
EMSHandle DW 0
EMSVersion DB 0
DB 0
IF EMSDEBUG
%IF EMSDEBUG
EMSDumpName DB "EMSDump", 0
ENDIF
%ENDIF
EMSCorrespondenceList Label Word
Page0 DB 0, 0
@ -103,7 +100,7 @@ EMSCorrespondenceList Label Word
;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc E_InitEMS Far
Proc E_InitEMS Far
Push DS
Push ES
@ -122,7 +119,7 @@ Proc E_InitEMS Far
Push CS
Pop DS
Assume DS:EMS
;Assume DS:EMS
Mov SI, Offset EMSDetectString
@ -242,12 +239,12 @@ E_InitEMS1:
Pop DS
Ret
EndP E_InitEMS
Assume DS:Nothing
;EndP E_InitEMS
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetFreeEMS Far ; Returns kb free..
Proc E_GetFreeEMS Far ; Returns kb free..
Push BX
Push DX
@ -274,11 +271,11 @@ E_GetFreeEMS1:
Pop BX
Ret
EndP E_GetFreeEMS
;EndP E_GetFreeEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_ReleaseEMS Far ; AX = handle.
Proc E_ReleaseEMS Far ; AX = handle.
Push AX
Push DX
@ -300,11 +297,11 @@ E_ReleaseEMS1:
Ret
EndP E_ReleaseEMS
;EndP E_ReleaseEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc EMSWarning
Proc EMSWarning
PushAD
Push DS
@ -312,7 +309,7 @@ Proc EMSWarning
Mov BX, Object1
Mov DS, BX
Assume DS:Object1
;Assume DS:Object1
Mov Byte Ptr EMSErrorValue, AH
Mov EMSErrorValue2, CX
@ -343,12 +340,12 @@ Proc EMSWarning
Ret
EndP EMSWarning
Assume DS:Nothing
;EndP EMSWarning
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_MapAvailableEMSMemory Far
Proc E_MapAvailableEMSMemory Far
; AX = handle.
Push AX BX DX
@ -375,11 +372,11 @@ E_MapAvailableEMSMemory2:
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.
; DX = handle
@ -397,10 +394,10 @@ Proc E_MapEMSMemory Far ; CL = total pages in handle
E_MapEMSMemory003:
IF EMSUSE41
%IF EMSUSE41
Cmp CS:EMSVersion, 40h
JAE E_MapEMSMemoryV4_1
ENDIF
%ENDIF
Xor BX, BX
@ -419,7 +416,7 @@ E_MapEMSMemory001:
JNZ E_MapEMSMemory001
Jmp E_MapEMSMemory002
IF EMSUSE41
%IF EMSUSE41
E_MapEMSMemoryV4_1:
Push DS
@ -430,7 +427,7 @@ E_MapEMSMemoryV4_1:
Push CS
Pop DS
Assume DS:EMS
;Assume DS:EMS
Mov Page0, CH
Inc CH
@ -448,12 +445,12 @@ E_MapEMSMemoryV4_1:
PopF
Pop SI
Pop DS
Assume DS:Nothing
;Assume DS:Nothing
Test AH, AH
JZ E_MapEMSMemory002
ENDIF
%ENDIF
E_MapEMSMemory004:
; Call EMSWarning
@ -466,11 +463,11 @@ E_MapEMSMemory002:
E_MapEMSMemoryExit:
Ret
EndP E_MapEMSMemory
;EndP E_MapEMSMemory
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_UnInitEMS Far
Proc E_UnInitEMS Far
Cmp EMSAvailable, 0
JE E_UnInitEMS1
@ -481,20 +478,20 @@ Proc E_UnInitEMS Far
E_UnInitEMS1:
Ret
EndP E_UnInitEMS
;EndP E_UnInitEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetEMSPageFrame Far
Proc E_GetEMSPageFrame Far
Mov AX, CS:EMSPageFrame
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
@ -514,11 +511,11 @@ Proc E_MapAlignedBlockEMS Far ; Given AX, Return DS:SI
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
; Returns AX = segment address
; Carry set if fail, clear if
@ -635,11 +632,11 @@ AllocateBlockQuit:
StI
Ret
EndP E_AllocateBlockEMS
;EndP E_AllocateBlockEMS
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_ReleaseBlockEMS Far ; Given AX = 'segment'.
Proc E_ReleaseBlockEMS Far ; Given AX = 'segment'.
ClI
Push EAX EBX DS SI
@ -721,11 +718,11 @@ E_ReleaseBlockCleanup:
StI
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
; 0 if no handle allocated
; given carry = essential
@ -771,22 +768,22 @@ E_AllocateEMS1:
Pop EBX
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
Ret
EndP E_EMSAvailable
;EndP E_EMSAvailable
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Comment ~
Proc E_SavePageFrame Far ; Given DX = Handle
Proc E_SavePageFrame Far ; Given DX = Handle
Public E_SavePageFrame
Push AX
@ -805,11 +802,11 @@ E_SavePageFrame1:
Ret
EndP E_SavePageFrame
;EndP E_SavePageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_RestorePageFrame Far ; Given DX = Handle
Proc E_RestorePageFrame Far ; Given DX = Handle
Public E_RestorePageFrame
Push AX
@ -828,13 +825,13 @@ E_RestorePageFrame1:
Ret
EndP E_RestorePageFrame
;EndP E_RestorePageFrame
~
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_SaveEMSPageFrame Far
Proc E_SaveEMSPageFrame Far
Cmp CS:EMSAvailable, 0
JE E_SaveEMSPageFrame1
@ -865,11 +862,11 @@ E_SaveEMSPageFrame2:
E_SaveEMSPageFrame1:
Ret
EndP E_SaveEMSPageFrame
;EndP E_SaveEMSPageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_RestoreEMSPageFrame Far
Proc E_RestoreEMSPageFrame Far
Cmp CS:EMSAvailable, 0
JE E_RestoreEMSPageFrame1
@ -887,35 +884,35 @@ Proc E_RestoreEMSPageFrame Far
E_RestoreEMSPageFrame1:
Ret
EndP E_RestoreEMSPageFrame
;EndP E_RestoreEMSPageFrame
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetEMSVersion Far
Proc E_GetEMSVersion Far
Mov AL, CS:EMSVersion
Ret
EndP E_GetEMSVersion
;EndP E_GetEMSVersion
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc E_GetInternalEMSHandle Far
Proc E_GetInternalEMSHandle Far
Mov AX, CS:EMSHandle
Ret
EndP E_GetInternalEMSHandle
;EndP E_GetInternalEMSHandle
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IF EMSDEBUG
%IF EMSDEBUG
Proc E_DumpEMSMemory Far
Proc E_DumpEMSMemory Far
Push CS
Pop DS
Assume DS:EMS
;Assume DS:EMS
Mov AH, 3Ch
Xor CX, CX
@ -959,10 +956,10 @@ Proc E_DumpEMSMemory Far
Xor AX, AX
Ret
EndP E_DumpEMSMemory
Assume DS:Nothing
;EndP E_DumpEMSMemory
;Assume DS:Nothing
ENDIF
%ENDIF
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

View File

@ -23,7 +23,7 @@
;Segment Error BYTE Public 'Code' USE16
section .text
%warning "USE16"
; Assume CS:Error
; ;Assume CS:Error
CREATENEWLOGFILE EQU 0
%include "debug.inc"
@ -79,7 +79,7 @@ ErrorHandler:
Push CS
Pop DS
; Assume DS:Error
; ;Assume DS:Error
Mov BX, DI
And BX, 0FFh
@ -117,7 +117,7 @@ ErrorHandler4:
IRet
;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 ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps
.386P
.387
%include "switch.inc"
include switch.inc
IF SPECTRUMANALYSER
%IF SPECTRUMANALYSER
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ
@ -19,27 +15,27 @@ EndS
Segment DiskData PARA Public 'Data'
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
Extrn S_SetDirectMode:Far
extern S_InitScreen:Far
extern S_SetDirectMode:Far
Global MouseUpdateEnable:Far, MouseUpdateDisable:Far
Extrn VESA_Detect:Far
Extrn VESA_SetMode:Far
Extrn VESA_SetBlock:Far
Extrn InitMouse:Far, UnInitMouse:Far
Extrn S_DefineSmallNumbers:Far
extern VESA_Detect:Far
extern VESA_SetMode:Far
extern VESA_SetBlock:Far
extern InitMouse:Far, UnInitMouse:Far
extern S_DefineSmallNumbers:Far
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment Infopage BYTE Public 'Code' USE16
Assume CS:Infopage, DS:Nothing, ES:Nothing
;Assume CS:Infopage, DS:Nothing, ES:Nothing
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ
@ -79,7 +75,7 @@ Fourier_CreateTable2:
Ret
EndP Fourier_CreateTable
;EndP Fourier_CreateTable
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -226,7 +222,7 @@ Fourier_CalculateMagnitudes1: ; Could be interleaved, but speed isn't
Ret
EndP Fourier_Transform
;EndP Fourier_Transform
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -241,7 +237,7 @@ Public Fourier_ChangePalette
Mov AX, 1
Ret
EndP Fourier_ChangePalette
;EndP Fourier_ChangePalette
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -366,7 +362,7 @@ Fourier_PaletteB5:
Ret
EndP Fourier_SetPalette
;EndP Fourier_SetPalette
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -421,7 +417,7 @@ Fourier_End:
Ret
EndP Fourier_Start
;EndP Fourier_Start
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -430,7 +426,7 @@ Public Fourier_PreDrawScreen
Ret
EndP Fourier_PreDrawScreen
;EndP Fourier_PreDrawScreen
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -571,7 +567,7 @@ Fourier_DrawBars4:
Fourier_DrawScreen1:
Ret
EndP Fourier_DrawScreen
;EndP Fourier_DrawScreen
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -581,7 +577,7 @@ Public Fourier_IdleList
Mov AX, 1
Ret
EndP Fourier_IdleList
;EndP Fourier_IdleList
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
@ -599,14 +595,14 @@ Fourier_PostFunction2:
Mov AX, 4
Ret
EndP Fourier_PostFunction
;EndP Fourier_PostFunction
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
EndS
ENDIF
%ENDIF
End

350
it_g.s
View File

@ -2,95 +2,93 @@
;³ Global Key Handler ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Jumps
include switch.inc
include network.inc
%include "switch.inc"
%include "network.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Externals ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Segment Pattern BYTE Public 'Code'
Extrn LastInstrument:Byte
Extrn Order:Word
Extrn MaxRow:Word
Extrn NumberOfRows:Word
Extrn PatternNumber:Word
extern LastInstrument:Byte
extern Order:Word
extern MaxRow:Word
extern NumberOfRows:Word
extern PatternNumber:Word
EndS
Segment Inst BYTE Public 'Code'
Extrn SampleNumber:Byte
Extrn InstrumentScreen:Word
extern SampleNumber:Byte
extern InstrumentScreen:Word
EndS
Segment Object1 BYTE Public 'Data'
EndS
Extrn D_InitLoadModule:Far
Extrn D_InitLoadSamples:Far
Extrn D_InitLoadInstruments:Far
Extrn Display_SelectDisplayList:Far
extern D_InitLoadModule:Far
extern D_InitLoadSamples:Far
extern D_InitLoadInstruments: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
Extrn Music_GetPlayMode:Far
Extrn Music_PlayPattern:Far
Extrn Music_PlaySong:Far
Extrn Music_Stop:Far
Extrn Music_ToggleChannel:Far
Extrn Music_GetSlaveChannelInformationTable:Far
Extrn Music_IncreaseSpeed:Far
Extrn Music_DecreaseSpeed:Far
Extrn Music_IncreaseVolume:Far
Extrn Music_DecreaseVolume:Far
Extrn Music_GetSongSegment:Far
Extrn Music_GetDriverScreen:Far
extern Music_GetInstrumentMode:Far
extern Music_GetPlayMode:Far
extern Music_PlayPattern:Far
extern Music_PlaySong:Far
extern Music_Stop:Far
extern Music_ToggleChannel:Far
extern Music_GetSlaveChannelInformationTable:Far
extern Music_IncreaseSpeed:Far
extern Music_DecreaseSpeed:Far
extern Music_IncreaseVolume:Far
extern Music_DecreaseVolume:Far
extern Music_GetSongSegment:Far
extern Music_GetDriverScreen:Far
Extrn SetInfoLine:Far
extern SetInfoLine:Far
Extrn PE_GetCurrentPattern:Far
Extrn PE_SetPatternModified:far
extern PE_GetCurrentPattern:Far
extern PE_SetPatternModified:far
Extrn O1_InstrumentListGeneral:Far
Extrn O1_InstrumentListVolume:Far
Extrn O1_InstrumentListPanning:Far
Extrn O1_InstrumentListPitch:Far
extern O1_InstrumentListGeneral:Far
extern O1_InstrumentListVolume:Far
extern O1_InstrumentListPanning:Far
extern O1_InstrumentListPitch:Far
Extrn O1_KeyboardList:Far
Extrn O1_LoadSampleList:Far
Extrn O1_OrderPanningList:Far
Extrn O1_PatternEditList:Far
Extrn O1_PEConfigList:Far
Extrn O1_SampleList:Far
Extrn O1_LoadModuleList:Far
Extrn O1_ViewInstrumentLibrary:Far
Extrn O1_SaveModuleList:Far
Extrn O1_LoadInstrumentList:Far
Extrn O1_MessageList:Far
Extrn O1_OrderVolumeList:Far
Extrn O1_DisplayList:Far
Extrn I_DrawWaveForm:Far
Extrn S_DefineSmallNumbers:Far
Extrn S_SaveScreen:Far, S_RestoreScreen:Far
Extrn RestoreMouse:Far, RestoreMouseGraphics:Far
Extrn D_ClearFileSpecifier:Far
Extrn O1_ConfigureITList:Far
Extrn O1_ViewSampleLibrary:Far
Extrn O1_ConfigurePaletteList:Far
Extrn O1_MIDIScreen:Far
Extrn O1_TimerList:Far
Extrn I_MapEnvelope:Far
Extrn NewCharacterSet:Far
Extrn S_GetDestination:Far
Extrn S_DefineHiASCII:Far
extern O1_KeyboardList:Far
extern O1_LoadSampleList:Far
extern O1_OrderPanningList:Far
extern O1_PatternEditList:Far
extern O1_PEConfigList:Far
extern O1_SampleList:Far
extern O1_LoadModuleList:Far
extern O1_ViewInstrumentLibrary:Far
extern O1_SaveModuleList:Far
extern O1_LoadInstrumentList:Far
extern O1_MessageList:Far
extern O1_OrderVolumeList:Far
extern O1_DisplayList:Far
extern I_DrawWaveForm:Far
extern S_DefineSmallNumbers:Far
extern S_SaveScreen:Far, S_RestoreScreen:Far
extern RestoreMouse:Far, RestoreMouseGraphics:Far
extern D_ClearFileSpecifier:Far
extern O1_ConfigureITList:Far
extern O1_ViewSampleLibrary:Far
extern O1_ConfigurePaletteList:Far
extern O1_MIDIScreen:Far
extern O1_TimerList:Far
extern I_MapEnvelope:Far
extern NewCharacterSet:Far
extern S_GetDestination:Far
extern S_DefineHiASCII:Far
IF MEMORYDEBUG
Extrn O1_DebugList:Far
ENDIF
%IF MEMORYDEBUG
extern O1_DebugList:Far
%ENDIF
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³
@ -135,25 +133,25 @@ ENDIF
Global Glbl_SaveMode:Far
Global Glbl_RestoreMode:Far
IF TIMERSCREEN
%IF TIMERSCREEN
Global Glbl_TimerScreen:Far
ENDIF
%ENDIF
Global CurrentMode:Byte
Public Glbl_F2_2
Public Glbl_F11_2
IF MEMORYDEBUG
%IF MEMORYDEBUG
Global Glbl_Debug:Far
ENDIF
%ENDIF
Global Glbl_DriverScreen:Far
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment Glbl BYTE Public 'Code'
Assume CS:Glbl, DS:Nothing
;Assume CS:Glbl, DS:Nothing
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Variables ³
@ -203,7 +201,7 @@ InstrumentScreenTable Label
;³ Functions ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Proc Glbl_F2 Far
Proc Glbl_F2 Far
Call Glbl_SampleToInstrument
Cmp CS:CurrentMode, 2
@ -227,7 +225,7 @@ Glbl_F2_1:
Mov AX, Pattern
Mov DS, AX
Assume DS:Pattern
;Assume DS:Pattern
Mov AX, MaxRow
Inc AX
@ -240,13 +238,13 @@ Glbl_F2_1:
Mov AX, Pattern
Mov DS, AX
Assume DS:Pattern
;Assume DS:Pattern
Mov BX, NumberOfRows
Dec BX
Mov MaxRow, BX
IF NETWORKENABLED
%IF NETWORKENABLED
Call Network_GetSendQueue
JZ Glbl_F2_Network
@ -258,18 +256,18 @@ IF NETWORKENABLED
Glbl_F2_Network:
Call Network_FinishedSendQueue
ENDIF
%ENDIF
Mov CS:CurrentMode, 2
Mov AX, 1
Ret
EndP Glbl_F2
Assume DS:Nothing
;EndP Glbl_F2
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F3 Far
Proc Glbl_F3 Far
Call I_DrawWaveForm
@ -281,18 +279,18 @@ Proc Glbl_F3 Far
Mov DX, Offset O1_SampleList
Ret
EndP Glbl_F3
;EndP Glbl_F3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F4 Far
Proc Glbl_F4 Far
; Init SampleNumber
Call Glbl_SampleToInstrument
Mov AX, Pattern
Mov DS, AX
Assume DS:Pattern
;Assume DS:Pattern
Mov BL, LastInstrument
And BL, BL
@ -303,10 +301,10 @@ Proc Glbl_F4 Far
Glbl_F4_1:
Mov AX, Inst
Mov DS, AX
Assume DS:Inst
;Assume DS:Inst
Mov SampleNumber, BL
Proc Glbl_F4_2 Far
Proc Glbl_F4_2 Far
Call I_MapEnvelope
@ -321,14 +319,14 @@ Proc Glbl_F4_2 Far
Ret
EndP Glbl_F4_2
;EndP Glbl_F4_2
EndP Glbl_F4
Assume DS:Nothing
;EndP Glbl_F4
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F5 Far
Proc Glbl_F5 Far
Cmp CS:CurrentMode, 5
JE Glbl_F5_1
@ -370,11 +368,11 @@ Glbl_F5_2:
Mov AX, 1
Ret
EndP Glbl_F5
;EndP Glbl_F5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F6 Far
Proc Glbl_F6 Far
Call I_ClearTables
@ -385,11 +383,11 @@ Proc Glbl_F6 Far
Mov AX, 1
Ret
EndP Glbl_F6
;EndP Glbl_F6
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LoadSample Far
Proc Glbl_LoadSample Far
Call D_InitLoadSamples
@ -401,11 +399,11 @@ Proc Glbl_LoadSample Far
Mov DX, Offset O1_LoadSampleList
Ret
EndP Glbl_LoadSample
;EndP Glbl_LoadSample
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LoadInstrument Far
Proc Glbl_LoadInstrument Far
Call D_InitLoadInstruments
@ -417,11 +415,11 @@ Proc Glbl_LoadInstrument Far
Mov DX, Offset O1_LoadInstrumentList
Ret
EndP Glbl_LoadInstrument
;EndP Glbl_LoadInstrument
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Shift_F1 Far
Proc Glbl_Shift_F1 Far
Mov AX, 5
Mov SI, 1
@ -431,11 +429,11 @@ Proc Glbl_Shift_F1 Far
Mov DX, Offset O1_MIDIScreen
Ret
EndP Glbl_Shift_F1
;EndP Glbl_Shift_F1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Shift_F9 Far
Proc Glbl_Shift_F9 Far
Call S_DefineHIASCII
@ -447,17 +445,17 @@ Proc Glbl_Shift_F9 Far
Mov DX, Offset O1_MessageList
Ret
EndP Glbl_Shift_F9
;EndP Glbl_Shift_F9
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Shift_F6 Far
Proc Glbl_Shift_F6 Far
Call I_ClearTables
Mov AX, Pattern
Mov DS, AX
Assume DS:Pattern
;Assume DS:Pattern
Mov AX, Order
Call Music_PlaySong
@ -465,23 +463,23 @@ Proc Glbl_Shift_F6 Far
Mov AX, 1
Ret
EndP Glbl_Shift_F6
Assume DS:Nothing
;EndP Glbl_Shift_F6
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F8 Far
Proc Glbl_F8 Far
Call Music_Stop
Mov AX, 1
Ret
EndP Glbl_F8
;EndP Glbl_F8
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F9 Far
Proc Glbl_F9 Far
Call D_InitLoadModule
@ -498,11 +496,11 @@ Proc Glbl_F9 Far
Ret
EndP Glbl_F9
;EndP Glbl_F9
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F10 Far
Proc Glbl_F10 Far
Call D_InitLoadModule
@ -521,11 +519,11 @@ Proc Glbl_F10 Far
Ret
EndP Glbl_F10
;EndP Glbl_F10
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F11 Far
Proc Glbl_F11 Far
Cmp CS:CurrentMode, 11
JE Glbl_F11_1
@ -549,11 +547,11 @@ Glbl_F11_1:
Mov DX, Offset O1_OrderVolumeList
Ret
EndP Glbl_F11
;EndP Glbl_F11
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_F12 Far
Proc Glbl_F12 Far
Mov AX, 5
Mov SI, 1
@ -563,11 +561,11 @@ Proc Glbl_F12 Far
Mov DX, Offset O1_ConfigureITList
Ret
EndP Glbl_F12
;EndP Glbl_F12
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F1 Far
Proc Glbl_Ctrl_F1 Far
Mov AX, 5
Mov SI, 1
@ -577,11 +575,11 @@ Proc Glbl_Ctrl_F1 Far
Mov DX, Offset O1_KeyboardList
Ret
EndP Glbl_Ctrl_F1
;EndP Glbl_Ctrl_F1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F3 Far
Proc Glbl_Ctrl_F3 Far
Call D_InitLoadSamples
@ -593,11 +591,11 @@ Proc Glbl_Ctrl_F3 Far
Mov DX, Offset O1_ViewSampleLibrary
Ret
EndP Glbl_Ctrl_F3
;EndP Glbl_Ctrl_F3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F4 Far
Proc Glbl_Ctrl_F4 Far
Call D_InitLoadInstruments
@ -609,11 +607,11 @@ Proc Glbl_Ctrl_F4 Far
Mov DX, Offset O1_ViewInstrumentLibrary
Ret
EndP Glbl_Ctrl_F4
;EndP Glbl_Ctrl_F4
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F5 Far
Proc Glbl_Ctrl_F5 Far
Call I_ClearTables
@ -623,11 +621,11 @@ Proc Glbl_Ctrl_F5 Far
Mov AX, 1
Ret
EndP Glbl_Ctrl_F5
;EndP Glbl_Ctrl_F5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Ctrl_F12 Far
Proc Glbl_Ctrl_F12 Far
Mov AX, 5
Mov SI, 1
@ -638,16 +636,16 @@ Proc Glbl_Ctrl_F12 Far
Ret
EndP Glbl_Ctrl_F12
;EndP Glbl_Ctrl_F12
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_GetHeaderMode Far
Proc Glbl_GetHeaderMode Far
Push DS
Mov AX, Pattern
Mov DS, AX
Assume DS:Pattern
;Assume DS:Pattern
Mov AL, LastInstrument
Pop DS
@ -673,7 +671,7 @@ Glbl_GetHeaderMode2:
Mov AX, Inst
Mov DS, AX
Assume DS:Inst
;Assume DS:Inst
Pop AX
Mov AL, SampleNumber
@ -681,32 +679,32 @@ Glbl_GetHeaderMode2:
Pop DS
Ret
EndP Glbl_GetHeaderMode
Assume DS:Nothing
;EndP Glbl_GetHeaderMode
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_SetCurrentMode Far
Proc Glbl_SetCurrentMode Far
Mov CS:CurrentMode, AL
Ret
EndP Glbl_SetCurrentMode
;EndP Glbl_SetCurrentMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_GetCurrentMode Far ; Returns AL
Proc Glbl_GetCurrentMode Far ; Returns AL
Mov AL, CS:CurrentMode
Ret
EndP Glbl_GetCurrentMode
;EndP Glbl_GetCurrentMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F1 Far
Proc Glbl_Alt_F1 Far
Mov AX, 0
Call Music_ToggleChannel
@ -714,11 +712,11 @@ Proc Glbl_Alt_F1 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F1
;EndP Glbl_Alt_F1
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F2 Far
Proc Glbl_Alt_F2 Far
Mov AX, 1
Call Music_ToggleChannel
@ -726,11 +724,11 @@ Proc Glbl_Alt_F2 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F2
;EndP Glbl_Alt_F2
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F3 Far
Proc Glbl_Alt_F3 Far
Mov AX, 2
Call Music_ToggleChannel
@ -738,11 +736,11 @@ Proc Glbl_Alt_F3 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F3
;EndP Glbl_Alt_F3
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F4 Far
Proc Glbl_Alt_F4 Far
Mov AX, 3
Call Music_ToggleChannel
@ -750,11 +748,11 @@ Proc Glbl_Alt_F4 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F4
;EndP Glbl_Alt_F4
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F5 Far
Proc Glbl_Alt_F5 Far
Mov AX, 4
Call Music_ToggleChannel
@ -762,11 +760,11 @@ Proc Glbl_Alt_F5 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F5
;EndP Glbl_Alt_F5
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F6 Far
Proc Glbl_Alt_F6 Far
Mov AX, 5
Call Music_ToggleChannel
@ -774,11 +772,11 @@ Proc Glbl_Alt_F6 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F6
;EndP Glbl_Alt_F6
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F7 Far
Proc Glbl_Alt_F7 Far
Mov AX, 6
Call Music_ToggleChannel
@ -786,11 +784,11 @@ Proc Glbl_Alt_F7 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F7
;EndP Glbl_Alt_F7
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_Alt_F8 Far
Proc Glbl_Alt_F8 Far
Mov AX, 7
Call Music_ToggleChannel
@ -798,11 +796,11 @@ Proc Glbl_Alt_F8 Far
Mov AX, 1
Ret
EndP Glbl_Alt_F8
;EndP Glbl_Alt_F8
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LeftBrace Far
Proc Glbl_LeftBrace Far
Push CS
Pop DS
@ -814,11 +812,11 @@ Proc Glbl_LeftBrace Far
Mov AX, 1
Ret
EndP Glbl_LeftBrace
;EndP Glbl_LeftBrace
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_RightBrace Far
Proc Glbl_RightBrace Far
Push CS
Pop DS
@ -830,11 +828,11 @@ Proc Glbl_RightBrace Far
Mov AX, 1
Ret
EndP Glbl_RightBrace
;EndP Glbl_RightBrace
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_LeftSquareBracket Far
Proc Glbl_LeftSquareBracket Far
Push CS
Pop DS
@ -847,11 +845,11 @@ Proc Glbl_LeftSquareBracket Far
Mov AX, 1
Ret
EndP Glbl_LeftSquareBracket
;EndP Glbl_LeftSquareBracket
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_RightSquareBracket Far
Proc Glbl_RightSquareBracket Far
Push CS
Pop DS
@ -864,11 +862,11 @@ Proc Glbl_RightSquareBracket Far
Mov AX, 1
Ret
EndP Glbl_RightSquareBracket
;EndP Glbl_RightSquareBracket
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_SaveMode Far
Proc Glbl_SaveMode Far
; Call S_GetDestination
; Mov AX, 0B800h
@ -889,11 +887,11 @@ Proc Glbl_SaveMode Far
Ret
EndP Glbl_SaveMode
;EndP Glbl_SaveMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_RestoreMode Far
Proc Glbl_RestoreMode Far
; Call NewCharacterSet
@ -909,13 +907,13 @@ Proc Glbl_RestoreMode Far
Ret
EndP Glbl_RestoreMode
;EndP Glbl_RestoreMode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IF MEMORYDEBUG
%IF MEMORYDEBUG
Proc Glbl_Debug Far
Proc Glbl_Debug Far
Mov AX, 5
Mov SI, 1
@ -925,27 +923,27 @@ Proc Glbl_Debug Far
Mov DX, Offset O1_DebugList
Ret
EndP Glbl_Debug
;EndP Glbl_Debug
ENDIF
%ENDIF
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_SampleToInstrument
Proc Glbl_SampleToInstrument
Cmp CS:CurrentMode, 3
JNE Glbl_SampleToInstrument1
Call Music_GetSongSegment
Mov DS, AX
Assume DS:Nothing
;Assume DS:Nothing
Test Byte Ptr [DS:2Ch], 4
JZ Glbl_SampleToInstrument1
Mov AX, Pattern
Mov ES, AX
Assume ES:Pattern
;Assume ES:Pattern
Mov AH, ES:LastInstrument
Mov BX, [DS:64712] ; Offset of first instrument
@ -982,14 +980,14 @@ Glbl_SampleToInstrument3:
Glbl_SampleToInstrument1:
Ret
EndP Glbl_SampleToInstrument
Assume ES:Nothing
;EndP Glbl_SampleToInstrument
;Assume ES:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
IF TIMERSCREEN
%IF TIMERSCREEN
Proc Glbl_TimerScreen Far
Proc Glbl_TimerScreen Far
Mov AX, 5
Mov SI, 1
@ -999,13 +997,13 @@ Proc Glbl_TimerScreen Far
Mov DX, Offset O1_TimerList
Ret
EndP Glbl_TimerScreen
;EndP Glbl_TimerScreen
ENDIF
%ENDIF
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Glbl_DriverScreen Far
Proc Glbl_DriverScreen Far
Call Music_GetDriverScreen
JC Glbl_DriverScreen1
@ -1015,7 +1013,7 @@ Proc Glbl_DriverScreen Far
Glbl_DriverScreen1:
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 ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Jumps
.386
include switch.inc
%include "switch.inc"
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Externals ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Extrn D_GotoStartingDirectory:Far
extern D_GotoStartingDirectory:Far
Extrn E_UnInitEMS:Far
Extrn S_GetDestination:Far
Extrn Music_Stop:Far
Extrn Music_KBPlaySong:Far
Extrn Music_IncreaseVolume:Far
Extrn Music_DecreaseVolume:Far
Extrn S_DrawString:Far
Extrn CrashRecovery:Far
extern E_UnInitEMS:Far
extern S_GetDestination:Far
extern Music_Stop:Far
extern Music_KBPlaySong:Far
extern Music_IncreaseVolume:Far
extern Music_DecreaseVolume:Far
extern S_DrawString:Far
extern CrashRecovery:Far
Extrn IsStartupKeyList:Far
Extrn GetStartupKeyList:Far
extern IsStartupKeyList:Far
extern GetStartupKeyList:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ
@ -54,10 +51,10 @@ include switch.inc
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment KeyBoard BYTE Public 'Code' USE16
Assume CS:KeyBoard, DS:KeyBoard
;Assume CS:KeyBoard, DS:KeyBoard
CREATENEWLOGFILE EQU 0
include debug.inc
%include "debug.inc"
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ
@ -653,7 +650,7 @@ USKeyboardTable Label Byte
Alt DB 0
Ctrl DB 0
Proc K_KBHandler
Proc K_KBHandler
Push AX
Push BX
@ -744,11 +741,11 @@ K_KBHandler2:
Pop AX
IRet
EndP K_KBHandler
;EndP K_KBHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_DOSKBHandler Far
Proc K_DOSKBHandler Far
Push AX
@ -813,11 +810,11 @@ K_DOSKBHandler6:
Pop AX
IRet
EndP K_DOSKBHandler
;EndP K_DOSKBHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_SetKeyBoardLights ; Reqs: DS:KeyBoard
Proc K_SetKeyBoardLights ; Reqs: DS:KeyBoard
; Sets keyboard lights (duh!)
Push AX
Mov AL, 0EDh
@ -848,11 +845,11 @@ K_SetKeyBoardLights3:
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,
; delay before second char=0.25s
; Gets old IRQ handler
@ -933,11 +930,11 @@ K_InitKeyBoard3: ; Chained to from K_UnInstallDOS
Ret
EndP K_InitKeyBoard
;EndP K_InitKeyBoard
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_UnInitKeyBoard Far
Proc K_UnInitKeyBoard Far
Push AX
Push DS
@ -987,11 +984,11 @@ K_UnInitKeyBoard1:
Ret
EndP K_UnInitKeyBoard
;EndP K_UnInitKeyBoard
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_InstallDOSHandler Far
Proc K_InstallDOSHandler Far
Push AX
Push DS
@ -1017,11 +1014,11 @@ Proc K_InstallDOSHandler Far
Jmp K_UnInitKeyBoard3
EndP K_InstallDOSHandler
;EndP K_InstallDOSHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_UnInstallDOSHandler Far
Proc K_UnInstallDOSHandler Far
Push AX
Push DS
@ -1045,11 +1042,11 @@ Proc K_UnInstallDOSHandler Far
Jmp K_InitKeyBoard3
EndP K_UnInstallDOSHandler
;EndP K_UnInstallDOSHandler
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_GetNextKeyByte
Proc K_GetNextKeyByte
Inc BX
And BX, 0FFh
@ -1057,11 +1054,11 @@ Proc K_GetNextKeyByte
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
Push DS
@ -1101,11 +1098,11 @@ K_IsKeyWaiting1:
Pop DS
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 BX
@ -1272,7 +1269,7 @@ K_TranslateAltRelease:
K_TranslateKeyPress:
LDS SI, TranslationTable
Assume DS:Nothing
;Assume DS:Nothing
K_TranslateKey1:
LodsB
@ -1438,11 +1435,11 @@ K_GetKey20:
Ret
EndP K_GetKey
;EndP K_GetKey
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_ClearKeyBoardQueue Far
Proc K_ClearKeyBoardQueue Far
Push AX
@ -1457,11 +1454,11 @@ K_ClearKeyBoardQueue2:
Pop AX
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 DS
@ -1469,7 +1466,7 @@ Proc K_IsAnyKeyDown Far ; Returns AL = 1 if key is down.
Push CS
Pop DS
Assume DS:Keyboard
;Assume DS:Keyboard
Mov SI, Offset KeyBoardTable
Mov CX, 256
@ -1490,20 +1487,20 @@ K_IsAnyKeyDown2:
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
Ret
EndP K_IsKeyDown
;EndP K_IsKeyDown
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_ResetKeyboardTables Far
Proc K_ResetKeyboardTables Far
Push CS
Pop ES
@ -1515,18 +1512,18 @@ Proc K_ResetKeyboardTables Far
Mov AX, 1
Ret
EndP K_ResetKeyboardTables
;EndP K_ResetKeyboardTables
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_DrawTables Far
Proc K_DrawTables Far
Call S_GetDestination
Mov DI, (2+15*80)*2
Push CS
Pop DS
Assume DS:KeyBoard
;Assume DS:KeyBoard
Mov SI, Offset KeyboardBuffer
Mov CX, 2004h ; CH = row count, CL = ShR
@ -1616,16 +1613,16 @@ K_DrawTable7:
Xor AX, AX
Ret
EndP K_DrawTables
Assume DS:Nothing
;EndP K_DrawTables
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_ShowMIDIInput Far
Proc K_ShowMIDIInput Far
Push CS
Pop DS
Assume DS:Keyboard
;Assume DS:Keyboard
; Now to shove the MIDI input info.
Xor AX, AX
@ -1646,18 +1643,18 @@ Proc K_ShowMIDIInput Far
Xor AX, AX
Ret
EndP K_ShowMIDIInput
Assume DS:Nothing
;EndP K_ShowMIDIInput
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_InstallKeyboardType Far
Proc K_InstallKeyboardType Far
Call D_GotoStartingDirectory
Push CS
Pop DS
Assume DS:Keyboard
;Assume DS:Keyboard
Mov AX, 3D00h
Mov DX, Offset KeyboardFile
@ -1715,15 +1712,15 @@ K_InstallKeyboardType1:
K_InstallKeyboardType2:
Ret
EndP K_InstallKeyboardType
;EndP K_InstallKeyboardType
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_RemoveKeyboardType Far
Proc K_RemoveKeyboardType Far
Push CS
Pop DS
Assume DS:Keyboard
;Assume DS:Keyboard
Mov AX, TranslationTableSegment
Mov BX, CS
@ -1737,11 +1734,11 @@ Proc K_RemoveKeyboardType Far
K_RemoveKeyboardType1:
Ret
EndP K_RemoveKeyboardType
;EndP K_RemoveKeyboardType
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc K_SetScrollLock Far
Proc K_SetScrollLock Far
Push CS
Pop DS
@ -1749,27 +1746,27 @@ Proc K_SetScrollLock Far
Call K_SetKeyboardLights
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.
Cmp [CS:MIDIDataInput], 2
Ret
EndP MIDIBufferEmpty
;EndP MIDIBufferEmpty
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc MIDISend Far ; Given AL = data byte.
Proc MIDISend Far ; Given AL = data byte.
Push DS
Push CS
Pop DS
Assume DS:Keyboard
;Assume DS:Keyboard
Test AL, AL ; Status byte?
JNS MIDISend1
@ -1800,8 +1797,8 @@ MIDISendEnd:
Pop DS
Ret
EndP MIDISend
Assume DS:Nothing
;EndP MIDISend
;Assume DS:Nothing
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ

129
it_l.s
View File

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

133
it_m.s
View File

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

View File

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

View File

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

212
it_msg.s
View File

@ -9,11 +9,11 @@
;ウ Externals ウ
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
Extrn M_FunctionDivider:Far
Extrn M_Object1List:Far
Extrn S_GetDestination:Far
Extrn O1_LongMessageList:Far
Extrn O1_ConfirmClearMessage:Far
extern M_FunctionDivider:Far
extern M_Object1List:Far
extern S_GetDestination:Far
extern O1_LongMessageList:Far
extern O1_ConfirmClearMessage:Far
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Globals ウ
@ -29,7 +29,7 @@
;ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘ
Segment Message BYTE Public 'Code' USE16
Assume CS:Message, DS:Nothing
;Assume CS:Message, DS:Nothing
;レトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ
;ウ Variables ウ
@ -154,7 +154,7 @@ EditMsgKeys Label
;タトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ResetMessage Far
Proc Msg_ResetMessage Far
Push CS
Pop ES
@ -168,17 +168,17 @@ Proc Msg_ResetMessage Far
Ret
EndP Msg_ResetMessage
;EndP Msg_ResetMessage
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_DrawMessage Far
Proc Msg_DrawMessage Far
Call S_GetDestination
Push CS
Pop DS
Assume DS:Message
;Assume DS:Message
Cmp Edit, 0
JE Msg_DrawMessage7
@ -302,16 +302,16 @@ Msg_DrawMessage13:
Msg_DrawMessageEnd:
Ret
EndP Msg_DrawMessage
Assume DS:Nothing
;EndP Msg_DrawMessage
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_PreMessage Far
Proc Msg_PreMessage Far
Push CS
Pop DS
Assume DS:Message
;Assume DS:Message
Cmp Edit, 0
JE Msg_PreMessage1
@ -331,12 +331,12 @@ Proc Msg_PreMessage Far
Msg_PreMessage1:
Ret
EndP Msg_PreMessage
Assume DS:Nothing
;EndP Msg_PreMessage
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_PostMessage Far
Proc Msg_PostMessage Far
Push CS
Pop DS
@ -393,12 +393,12 @@ Msg_PostMessage5:
Mov AX, 1
Ret
EndP Msg_PostMessage
Assume DS:Nothing
;EndP Msg_PostMessage
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_Tab Far
Proc Msg_Tab Far
Mov CX, 8
@ -412,12 +412,12 @@ Msg_Tab1:
Ret
EndP Msg_Tab
;EndP Msg_Tab
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgUp Far
Assume DS:Message
Proc Msg_ViewMsgUp Far
;Assume DS:Message
Mov AX, TopLine
Sub AX, 1
@ -427,13 +427,13 @@ Proc Msg_ViewMsgUp Far
Mov AX, 1
Ret
EndP Msg_ViewMsgUp
Assume DS:Nothing
;EndP Msg_ViewMsgUp
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgDown Far
Assume DS:Message
Proc Msg_ViewMsgDown Far
;Assume DS:Message
Mov AX, TopLine
Inc AX
@ -448,13 +448,13 @@ Msg_ViewMsgDown1:
Mov AX, 1
Ret
EndP Msg_ViewMsgDown
Assume DS:Nothing
;EndP Msg_ViewMsgDown
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgPgUp Far
Assume DS:Message
Proc Msg_ViewMsgPgUp Far
;Assume DS:Message
Mov AX, TopLine
Sub AX, 35
@ -468,13 +468,13 @@ Msg_ViewMsgPgUp1:
Mov AX, 1
Ret
EndP Msg_ViewMsgPgUp
Assume DS:Nothing
;EndP Msg_ViewMsgPgUp
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgPgDn Far
Assume DS:Message
Proc Msg_ViewMsgPgDn Far
;Assume DS:Message
Mov AX, TopLine
Add AX, 35
@ -489,13 +489,13 @@ Msg_ViewMsgPgDn1:
Mov AX, 1
Ret
EndP Msg_ViewMsgPgDn
Assume DS:Nothing
;EndP Msg_ViewMsgPgDn
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ViewMsgEdit Far
Assume DS:Message
Proc Msg_ViewMsgEdit Far
;Assume DS:Message
Mov TopLine, 0
Mov CurrentLine, 0
@ -505,26 +505,26 @@ Proc Msg_ViewMsgEdit Far
Mov AX, 1
Ret
EndP Msg_ViewMsgEdit
Assume DS:Nothing
;EndP Msg_ViewMsgEdit
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgView Far
Assume DS:Message
Proc Msg_EditMsgView Far
;Assume DS:Message
Mov Edit, 0
Mov AX, 1
Ret
EndP Msg_EditMsgView
Assume DS:Nothing
;EndP Msg_EditMsgView
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgLeft Far
Assume DS:Message
Proc Msg_EditMsgLeft Far
;Assume DS:Message
Sub CurrentPosition, 1
AdC CurrentPosition, 0
@ -532,13 +532,13 @@ Proc Msg_EditMsgLeft Far
Mov AX, 1
Ret
EndP Msg_EditMsgLeft
Assume DS:Nothing
;EndP Msg_EditMsgLeft
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgRight Far
Assume DS:Message
Proc Msg_EditMsgRight Far
;Assume DS:Message
Mov SI, CurrentPosition
Cmp SI, MESSAGELENGTH-2
@ -553,13 +553,13 @@ Msg_EditMsgRight1:
Mov AX, 1
Ret
EndP Msg_EditMsgRight
Assume DS:Nothing
;EndP Msg_EditMsgRight
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgUp Far
Assume DS:Message
Proc Msg_EditMsgUp Far
;Assume DS:Message
Mov SI, CurrentPosition ; Need to search back
; twice...
@ -590,12 +590,12 @@ Msg_EditMsgUpEnd:
Mov AX, 1
Ret
EndP Msg_EditMsgUp
Assume DS:Nothing
;EndP Msg_EditMsgUp
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgPgUp Far
Proc Msg_EditMsgPgUp Far
Mov CX, 35
@ -608,12 +608,12 @@ Msg_EditMsgPgUp1:
Mov AX, 1
Ret
EndP Msg_EditMsgPgUp
;EndP Msg_EditMsgPgUp
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgDown Far
Assume DS:Message
Proc Msg_EditMsgDown Far
;Assume DS:Message
; Search for enter
Mov SI, CurrentPosition
@ -650,12 +650,12 @@ Msg_EditMsgDownEnd:
Mov AX, 1
Ret
EndP Msg_EditMsgDown
Assume DS:Nothing
;EndP Msg_EditMsgDown
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgPgDn Far
Proc Msg_EditMsgPgDn Far
Mov CX, 35
@ -668,12 +668,12 @@ Msg_EditMsgPgDn1:
Mov AX, 1
Ret
EndP Msg_EditMsgPgDn
;EndP Msg_EditMsgPgDn
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgDelete Far
Assume DS:Message
Proc Msg_EditMsgDelete Far
;Assume DS:Message
Mov SI, CurrentPosition
Mov DX, 1
@ -683,12 +683,12 @@ Proc Msg_EditMsgDelete Far
Mov AX, 1
Ret
EndP Msg_EditMsgDelete
Assume DS:Nothing
;EndP Msg_EditMsgDelete
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgInsert Far
Proc Msg_EditMsgInsert Far
Mov SI, CurrentPosition
Mov DX, 1
@ -702,12 +702,12 @@ Msg_EditMsgInsert1:
Mov AX, 1
Ret
EndP Msg_EditMsgInsert
;EndP Msg_EditMsgInsert
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgBackspace Far
Assume DS:Message
Proc Msg_EditMsgBackspace Far
;Assume DS:Message
Mov SI, CurrentPosition
And SI, SI
@ -720,13 +720,13 @@ Msg_EditMsgBackspace1:
Mov AX, 1
Ret
EndP Msg_EditMsgBackspace
Assume DS:Nothing
;EndP Msg_EditMsgBackspace
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgDeleteLine Far
Assume DS:Message
Proc Msg_EditMsgDeleteLine Far
;Assume DS:Message
Mov SI, CurrentPosition ; Search back for
; start of line..
@ -753,12 +753,12 @@ Msg_EditMsgDeleteLine4:
Mov AX, 1
Ret
EndP Msg_EditMsgDeleteLine
Assume DS:Nothing
;EndP Msg_EditMsgDeleteLine
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ClearMessage Far
Proc Msg_ClearMessage Far
Mov DI, Offset O1_ConfirmClearMessage
Mov CX, 4
@ -773,12 +773,12 @@ Msg_ClearMessage1:
Mov AX, 1
Ret
EndP Msg_ClearMessage
;EndP Msg_ClearMessage
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgHome Far
Assume DS:Message
Proc Msg_EditMsgHome Far
;Assume DS:Message
Mov SI, CurrentPosition
Call FindStart
@ -787,13 +787,13 @@ Proc Msg_EditMsgHome Far
Mov AX, 1
Ret
EndP Msg_EditMsgHome
Assume DS:Nothing
;EndP Msg_EditMsgHome
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_EditMsgEnd Far
Assume DS:Message
Proc Msg_EditMsgEnd Far
;Assume DS:Message
Mov SI, CurrentPosition
@ -815,12 +815,12 @@ Msg_EditMsgEnd1:
Mov AX, 1
Ret
EndP Msg_EditMsgEnd
Assume DS:Nothing
;EndP Msg_EditMsgEnd
;Assume DS:Nothing
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc FindStart
Proc FindStart
FindStart1:
Sub SI, 1
@ -833,11 +833,11 @@ FindStart2:
Inc SI
Ret
EndP FindStart
;EndP FindStart
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc InsertData ; SI = pos, DX = length.
Proc InsertData ; SI = pos, DX = length.
Push CX
Push DX
@ -881,12 +881,12 @@ InsertDataEnd:
Pop CX
Ret
EndP InsertData
;EndP InsertData
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc DeleteData ; SI = pos, DX = length
; Assume DS:Message
Proc DeleteData ; SI = pos, DX = length
; ;Assume DS:Message
Push CX
Push DX
@ -916,11 +916,11 @@ DeleteData1:
Pop CX
Ret
EndP DeleteData
;EndP DeleteData
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc CheckWordWrap ; Check current line only.
Proc CheckWordWrap ; Check current line only.
Mov SI, CurrentPosition
Call FindStart
@ -969,11 +969,11 @@ CheckWordWrap7: ; Insert an enter
CheckWordWrap8:
Ret
EndP CheckWordWrap
;EndP CheckWordWrap
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_GetMessageLength Far ; Returns AX
Proc Msg_GetMessageLength Far ; Returns AX
Push DS
Push SI
@ -995,11 +995,11 @@ Msg_GetMessageLength1:
Pop DS
Ret
EndP Msg_GetMessageLength
;EndP Msg_GetMessageLength
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_GetMessageOffset Far
Proc Msg_GetMessageOffset Far
Push CS
Pop DS
@ -1007,20 +1007,20 @@ Proc Msg_GetMessageOffset Far
Mov DX, Offset MessageData
Ret
EndP Msg_GetMessageOffset
;EndP Msg_GetMessageOffset
;トトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトト
Proc Msg_ToggleCharacterSet Far
Assume DS:Message
Proc Msg_ToggleCharacterSet Far
;Assume DS:Message
Xor CharacterColour, 6 xor 12
Mov AX, 1
Ret
EndP Msg_ToggleCharacterSet
Assume DS:Nothing
;EndP Msg_ToggleCharacterSet
;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 ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
include switch.inc
Jumps
.386
%include "switch.inc"
Segment Mouse BYTE Public 'Code'
Extrn MouseCharacterGenerationOffset:Word
extern MouseCharacterGenerationOffset:Word
EndS
Extrn E_UnInitEMS:Far
Extrn DrawMouse:Far, RestoreMouse:Far, ForceMouseRestore:Far
Extrn RestoreMouseGraphics:Far, NewCharacterSet:Far
Extrn MouseSecondSetEnable:Far, MouseSecondSetDisable:Far
Extrn MouseUpdateEnable:Far, MouseUpdateDisable:Far
extern E_UnInitEMS:Far
extern DrawMouse:Far, RestoreMouse:Far, ForceMouseRestore:Far
extern RestoreMouseGraphics:Far, NewCharacterSet:Far
extern MouseSecondSetEnable:Far, MouseSecondSetDisable:Far
extern MouseUpdateEnable:Far, MouseUpdateDisable:Far
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Globals ³
@ -56,10 +53,10 @@ EndS
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
Segment Screen BYTE Public 'Code' USE16
Assume CS:Screen, DS:Screen
;Assume CS:Screen, DS:Screen
CREATENEWLOGFILE EQU 0
include debug.inc
%include "debug.inc"
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ 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 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
IF TUTORIAL
%IF TUTORIAL
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
VGAFlags DB 0 ; Bit 0 = override VGA detection
@ -313,13 +310,13 @@ TestBytes DB '
; - Defines basic characters (128->163)
; - AX returns non-zero if error occurs
Proc S_InitScreen Far
Proc S_InitScreen Far
Push DS
Push CS
Pop DS
Assume DS:Screen
;Assume DS:Screen
Mov DirectVideo, 0
@ -375,10 +372,10 @@ S_InitScreen5:
Push Mouse
Pop FS
Assume FS:Mouse
;Assume FS:Mouse
Mov FS:MouseCharacterGenerationOffset, 2000h
Assume FS:Nothing
;Assume FS:Nothing
S_InitScreen8:
Call S_ResetSequencer
@ -432,12 +429,12 @@ S_InitScreen6:
Pop DS
Ret
EndP S_InitScreen
Assume DS:Nothing
;EndP S_InitScreen
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SaveScreen Far
Proc S_SaveScreen Far
PushF
PushAD
@ -452,13 +449,13 @@ Proc S_SaveScreen Far
Xor SI, SI
Xor DI, DI
IF USE32BITSCREENCOPY
%IF USE32BITSCREENCOPY
Mov CX, 2000
Rep MovsD
ELSE
%ELSE
Mov CX, 4000
Rep MovsW
ENDIF
%ENDIF
Call ForceMouseRestore
@ -469,11 +466,11 @@ ENDIF
Ret
EndP S_SaveScreen
;EndP S_SaveScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_RestoreScreen Far
Proc S_RestoreScreen Far
PushF
PushAD
@ -488,13 +485,13 @@ Proc S_RestoreScreen Far
Pop DS
Xor SI, SI
Xor DI, DI
IF USE32BITSCREENCOPY
%IF USE32BITSCREENCOPY
Mov CX, 2000
Rep MovsD
ELSE
%ELSE
Mov CX, 4000
Rep MovsW
ENDIF
%ENDIF
Call ForceMouseRestore
@ -507,11 +504,11 @@ ENDIF
Ret
EndP S_RestoreScreen
;EndP S_RestoreScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_Set80x50Mode Far
Proc S_Set80x50Mode Far
Push AX
Push DX
@ -562,22 +559,22 @@ S_Set80x50Mode1:
Ret
EndP S_Set80x50Mode
;EndP S_Set80x50Mode
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SetPalette2 Far
Proc S_SetPalette2 Far
PushA
Push DS
Jmp SP3
EndP S_SetPalette2
;EndP S_SetPalette2
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SetPalette Far
Proc S_SetPalette Far
PushA
Push DS
@ -606,7 +603,7 @@ SP3:
Push CS
Pop DS
Assume DS:Screen
;Assume DS:Screen
Mov SI, Offset PaletteDefs
SP2:
@ -616,18 +613,18 @@ SP2:
Pop DS
Assume DS:Nothing
;Assume DS:Nothing
PopA
Ret
EndP S_SetPalette
;EndP S_SetPalette
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
SequencerSemaphore DB 0FFh
Proc S_SetSequencer Far
Proc S_SetSequencer Far
Inc [CS:SequencerSemaphore]
JNZ S_SetSequencer1
@ -656,11 +653,11 @@ Proc S_SetSequencer Far
S_SetSequencer1:
Ret
EndP S_SetSequencer
;EndP S_SetSequencer
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_ResetSequencer Far
Proc S_ResetSequencer Far
Dec [CS:SequencerSemaphore]
JNS S_ResetSequencer1
@ -688,11 +685,11 @@ Proc S_ResetSequencer Far
S_ResetSequencer1:
Ret
EndP S_ResetSequencer
;EndP S_ResetSequencer
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_RedefineCharacters Far
Proc S_RedefineCharacters Far
; DS:SI = Offset to characterdefs
; BX = Number of characters
; AX = First character
@ -740,11 +737,11 @@ RedefineCharacters1:
Ret
EndP S_RedefineCharacters
;EndP S_RedefineCharacters
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DefineSmallNumbers Far
Proc S_DefineSmallNumbers Far
Push DS
Push SI
@ -841,11 +838,11 @@ S_DefineSmallNumbers5:
Ret
EndP S_DefineSmallNumbers
;EndP S_DefineSmallNumbers
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_UnInitScreen Far
Proc S_UnInitScreen Far
Push ES
@ -860,11 +857,11 @@ Proc S_UnInitScreen Far
Ret
EndP S_UnInitScreen
;EndP S_UnInitScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_GetDestination Far
Proc S_GetDestination Far
Mov ES, CS:ScreenDataArea
@ -879,42 +876,42 @@ Proc S_GetDestination Far
S_GetDestination1:
Ret
EndP S_GetDestination
;EndP S_GetDestination
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_ClearScreen Far
Proc S_ClearScreen Far
Push CX
Push ES
Push DI
Call S_GetDestination
IF USE32BITSCREENCOPY
%IF USE32BITSCREENCOPY
Mov CX, 2000
Mov EAX, 03000300h
Xor DI, DI
Rep StosD
ELSE
%ELSE
Mov CX, 4000
Mov AX, 300h
Xor DI, DI
Rep StosW
ENDIF
%ENDIF
Pop DI
Pop ES
Pop CX
Ret
EndP S_ClearScreen
;EndP S_ClearScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; Style - Low byte: Box style number
; - 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
Push BP
@ -1007,11 +1004,11 @@ DrawBox3:
Pop BP
Ret
EndP S_DrawBox
;EndP S_DrawBox
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_UpdateScreen Far
Proc S_UpdateScreen Far
Cmp CS:DirectVideo, 0
JNE S_UpdateScreen1
@ -1047,13 +1044,13 @@ S_UpdateScreen2:
Mov DS, CS:ScreenDataArea
Mov CX, 0B800h
Mov ES, CX
IF USE32BITSCREENCOPY
%IF USE32BITSCREENCOPY
Mov CX, 2000
Rep MovsD
ELSE
%ELSE
Mov CX, 4000
Rep MovsW
ENDIF
%ENDIF
Mov ES, CS:ScreenDataArea
Call RestoreMouse
@ -1067,11 +1064,11 @@ ENDIF
S_UpdateScreen1:
Ret
EndP S_UpdateScreen
;EndP S_UpdateScreen
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_SetDirectMode Far
Proc S_SetDirectMode Far
Cmp CS:DirectVideo, AL
JE S_SetDirectMode2
@ -1094,13 +1091,13 @@ S_SetDirectMode1:
Mov DS, CX
Xor SI, SI
Xor DI, DI
IF USE32BITSCREENCOPY
%IF USE32BITSCREENCOPY
Mov CX, 2000
Rep MovsD
ELSE
%ELSE
Mov CX, 4000
Rep MovsW
ENDIF
%ENDIF
Call RestoreMouse
@ -1114,11 +1111,11 @@ S_SetDirectMode2:
Mov CS:DirectVideo, AL
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
; CX = number of characters
Push ES
@ -1138,11 +1135,11 @@ HiLight1:
Ret
EndP S_HiLight
;EndP S_HiLight
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DirectDrawString Far
Proc S_DirectDrawString Far
Push BP
Mov BP, SP
@ -1161,11 +1158,11 @@ Proc S_DirectDrawString Far
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
; AH = colour
@ -1412,22 +1409,22 @@ DrawString018:
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 DI, 8000
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.
; CX = number of rows.
PushAD
@ -1523,11 +1520,11 @@ S_GenerateCharacters2:
Ret
EndP S_GenerateCharacters
;EndP S_GenerateCharacters
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DrawSmallBox Far
Proc S_DrawSmallBox Far
Mov AX, 30
Push AX
@ -1544,11 +1541,11 @@ Proc S_DrawSmallBox Far
Ret
EndP S_DrawSmallBox
;EndP S_DrawSmallBox
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_GetPaletteOffset Far
Proc S_GetPaletteOffset Far
Push CS
Pop DS
@ -1556,11 +1553,11 @@ Proc S_GetPaletteOffset Far
Ret
EndP S_GetPaletteOffset
;EndP S_GetPaletteOffset
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_UsePresetPalette Far
Proc S_UsePresetPalette Far
Mov AL, 48
Mul Byte Ptr [DS:SI+22]
@ -1569,7 +1566,7 @@ Proc S_UsePresetPalette Far
Mov AX, CS
Mov DS, AX
Mov ES, AX
Assume DS:Screen
;Assume DS:Screen
Add SI, Offset PresetPalettes
Mov DI, Offset PaletteDefs
@ -1581,12 +1578,12 @@ Proc S_UsePresetPalette Far
Mov AX, 1
Ret
EndP S_UsePresetPalette
Assume DS:Nothing
;EndP S_UsePresetPalette
;Assume DS:Nothing
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_DefineHiASCII Far
Proc S_DefineHiASCII Far
Call MouseUpdateDisable
@ -1626,11 +1623,11 @@ S_DefineHIASCII1:
Ret
EndP S_DefineHiASCII
;EndP S_DefineHiASCII
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc S_InvertCursor Far ; AL = char, AH = mask.
Proc S_InvertCursor Far ; AL = char, AH = mask.
PushA
Push DS
@ -1668,7 +1665,7 @@ S_InvertCursor1:
PopA
Ret
EndP S_InvertCursor
;EndP S_InvertCursor
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

116
it_tute.s
View File

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

View File

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