[Reduction] #184-186: RTC interrupt manager

This commit is contained in:
nmlgc 2014-08-26 07:25:43 +02:00
parent 0bb3f897e0
commit 54ceaad556
8 changed files with 317 additions and 671 deletions

View File

@ -0,0 +1,223 @@
; master library - PC/AT - RTC
;
; Description:
; RTC割り込み(1/4096秒周期)マネージャ
;
; Subroutines:
; rtc_int_set:NEAR
;
; Parameters:
; BX = slot number
; 0: BGM
; 1: joystick
;
; AX = offset of interrupt function(near)
; 0以外ならセット, 0なら解除
;
; interrupt function仕様:
; すでにCLD, push AX DS, DS=DGROUP にされている
; near callされる
;
; Returns:
; レジスタはAX,BX,CX,DX,ESが破壊される
;
; Binding Target:
; assembler
;
; Running Target:
; PC/AT(RTC割り込みが使える環境)
;
; Requiring Resources:
; CPU: 186
;
; Notes:
; セットしたらプログラム終了までにすべて解除すること
; 解除の順番はどうでもいい
;
; Assembly Language Note:
;
;
; Compiler/Assembler:
; TASM 3.0
; OPTASM 1.6
;
; Author:
; 恋塚昭彦
;
; Revision History:
; 94/ 7/ 3 Initial: atrtcmod.asm / master.lib 0.23
; 95/ 2/23 [M0.22k] RTC割り込みマネージャrtc_int_set追加, RTC_MOD削除
RTC_IMR equ 0a1h ; slave IMR port
RTC_MASK equ 1 ; RTC's interrupt mask bit
RTC_VECT equ 70h ; RTC periodic interrupt vector
RTC_INDEX equ 70h ; RTC index port
RTC_DATA equ 71h ; RTC data port
MAX_SLOT equ 2 ; RTC割り込みの登録できる数
; #0 BGM
; #1 joystick
rtc_timerorg dd 0
public rtc_int_set
rtc_int_set proc near
cmp BX,MAX_SLOT
jae short @@INT_SET_RET ; foolproof
shl BX,1
mov Slot[BX],AX
; スロット数2個に決め打ちしてる
mov AX,Slot[0]
or AX,Slot[2]
add AX,-1 ; cy=1 if nonzero
sbb AX,AX ; AX=cy
cmp AX,InSLot
je short @@INT_SET_RET
mov InSLot,AX
ja short @@INT_SET
; free interrupt -----------------------------------
@@INT_FREE:
CLI
mov AL,0bh ; register B
out RTC_INDEX,AL
mov AL,org_rtc_b
out RTC_DATA,AL ; restore periodic interrupt mask
if 0
mov AL,0ch ; register C
out RTC_INDEX,AL
in AL,RTC_DATA ; clear interrupt request
endif
;割り込みベクタを元に戻す
push RTC_VECT
push word ptr CS:rtc_timerorg+2
push word ptr CS:rtc_timerorg
nopcall DOS_SETVECT
;マスクレジスタを元に戻す
in AL,RTC_IMR
or AL,org_rtc_mask
out RTC_IMR,AL
STI
;jmp short WAKEUP_DONE
@@INT_SET_RET:
ret ; retは下にもあるよ
EVEN
; initialize interrupt -----------------------------
@@INT_SET:
CLI
;割り込みベクタの保存&書き換え
push RTC_VECT
push CS
push offset RTC_INT
nopcall DOS_SETVECT
mov word ptr CS:rtc_timerorg+2,DX
mov word ptr CS:rtc_timerorg,AX
;タイマインタラプト初期設定
mov AH,0ah ; register A
mov BX,0f004h ; 4096 times per sec
call rtc_mod
mov AL,0bh ; register B
out RTC_INDEX,AL
in AL,RTC_DATA
mov org_rtc_b,AL
or AL,40h ; enable periodic interrupt
mov AH,AL
mov AL,0bh ; register B
out RTC_INDEX,AL
mov AL,AH
out RTC_DATA,AL
;マスク解除
in AL,RTC_IMR
mov AH,AL
and AL,not RTC_MASK
out RTC_IMR,AL
xor AL,AH
mov org_rtc_mask,AL
STI
@@WAKEUP_DONE:
CLI
mov AL,0ch ; register C
out RTC_INDEX,AL
in AL,RTC_DATA ; clear interrupt request
STI
ret ; retは上にもあるよ
rtc_int_set endp
; RTCレジスタの変更
rtc_mod proc near ; in: AH=index, BH=and mask, BL=or mask
mov AL,AH
out RTC_INDEX,AL
in AL,RTC_DATA
and AL,BH
or AL,BL
xchg AH,AL
out RTC_INDEX,AL
xchg AH,AL
out RTC_DATA,AL
ret
rtc_mod endp
; --------------------------------------------------
; RTC割り込みハンドラ
RTC_INT proc far
push AX
push DS
mov AX,seg DGROUP
mov DS,AX
CLD
push offset SlotEnd
; スロット数2個に決め打ちしてる
; あとにpushしたルーチンから呼び出されるよ
; bgm slot
cmp Slot[0],0
je short @@SkipSlot0
push Slot[0]
@@SkipSlot0:
; joystick slot
cmp Slot[2],0
je short @@SkipSlot11
push Slot[2]
@@SkipSlot11:
retn ; これでcallすると、最後にはSlotEndに戻ってくる
EVEN
SlotEnd:
; 割り込み終了処理
cmp org_rtc_mask,0 ; 以前の割り込みがあったなら0
pop DS
jne short @@SELF_EOI
; 以前の割り込みへchain
pop AX
jmp dword ptr CS:rtc_timerorg
EVEN
@@SELF_EOI:
mov AL,20h
out 0a0h,AL ; EOI to slave PIC
out 020h,AL ; EOI to master PIC
mov AL,0ch
out RTC_INDEX,AL
in AL,RTC_DATA ; clear interrupt request
mov AL,0ch
out RTC_INDEX,AL
in AL,RTC_DATA ; clear interrupt request
pop AX
iret
RTC_INT endp

View File

@ -0,0 +1,4 @@
InSLot dw 0
Slot dw MAX_SLOT dup (0)
org_rtc_mask db 0
org_rtc_b db 0

View File

@ -31,93 +31,7 @@ include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_extend_header_skip.asm
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
; ---------------------------------------------------------------------------
word_472 dw 0
word_474 dw 0
; ---------------------------------------------------------------------------
loc_476:
cmp bx, 2
jnb short locret_4BC
shl bx, 1
mov [bx+320h], ax
mov ax, word_21660
or ax, word_21662
add ax, 0FFFFh
sbb ax, ax
cmp ax, word_2165E
jz short locret_4BC
mov word_2165E, ax
ja short loc_4BE
cli
mov al, 0Bh
out 70h, al ; CMOS Memory:
; used by real-time clock
mov al, byte_21665
out 71h, al ; CMOS Memory:
; used by real-time clock
push 70h ; 'p'
push cs:word_474
push cs:word_472
nopcall dos_setvect
in al, 0A1h ; Interrupt Controller #2, 8259A
or al, byte_21664
out 0A1h, al ; Interrupt Controller #2, 8259A
sti
locret_4BC:
retn
; ---------------------------------------------------------------------------
nop
loc_4BE:
cli
push 70h ; 'p'
push cs
push offset byte_51A
nopcall dos_setvect
mov cs:word_474, dx
; ---------------------------------------------------------------------------
db 2Eh
byte_4D0 db 0A3h
db 72h, 4, 0B4h, 0Ah, 0BBh, 4, 0F0h, 0E8h, 2Ch, 0, 0B0h
db 0Bh, 0E6h, 70h, 0E4h, 71h, 0A2h, 25h, 3, 0Ch, 40h, 8Ah
db 0E0h, 0B0h, 0Bh, 0E6h, 70h, 8Ah, 0C4h, 0E6h, 71h, 0E4h
db 0A1h, 8Ah, 0E0h, 24h, 0FEh, 0E6h, 0A1h, 32h, 0C4h, 0A2h
db 24h, 3, 0FBh, 0FAh, 0B0h, 0Ch
byte_501 db 0E6h
db 70h, 0E4h, 71h, 0FBh, 0C3h, 8Ah, 0C4h, 0E6h, 70h, 0E4h
db 71h, 22h, 0C7h, 0Ah, 0C3h, 86h, 0E0h, 0E6h, 70h, 86h
db 0E0h, 0E6h, 71h, 0C3h
byte_51A db 50h, 1Eh, 0B8h
dw seg dseg
db 8Eh, 0D8h, 0FCh, 68h, 3Ch, 5, 83h, 3Eh, 20h, 3, 0
byte_52A db 74h
db 4
byte_52C db 0FFh
byte_52D db 36h
db 20h
byte_52F db 3
byte_530 db 83h
byte_531 db 3Eh
byte_532 db 22h
byte_533 db 3
db 0, 74h, 4, 0FFh, 36h, 22h, 3, 0C3h, 80h, 3Eh, 24h, 3
db 0, 1Fh, 75h, 6, 58h, 2Eh, 0FFh, 2Eh, 72h, 4, 0B0h, 20h
db 0E6h
byte_54D db 0A0h
; ---------------------------------------------------------------------------
out 20h, al ; Interrupt controller, 8259A.
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
pop ax
iret
include libs/master.lib/atrtcmod.asm
; =============== S U B R O U T I N E =======================================
@ -3046,8 +2960,7 @@ sub_1C82 proc far
mov word_2166C, ax
mov word_21672, ax
mov es, ax
assume es:seg000
mov ah, es:byte_54D
mov ah, byte ptr es:[54Dh]
and ah, 4
add ah, 3Fh ; '?'
and ah, 40h
@ -5959,7 +5872,7 @@ sub_39B8 proc far
loc_39F2:
mov ax, 3A64h
mov bx, 0
call loc_476
call rtc_int_set
retf
sub_39B8 endp
@ -5986,7 +5899,7 @@ sub_39FC proc far
loc_3A1B:
mov ax, 0
mov bx, 0
call loc_476
call rtc_int_set
retf
sub_39FC endp
@ -6112,8 +6025,7 @@ loc_3E44:
loc_3EBC:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 7CDh
jnz short loc_3ECE
mov ax, 99Ah
@ -6162,8 +6074,7 @@ loc_3EEB:
loc_3F22:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 3E6h
jnz short loc_3F34
mov ax, 4CDh
@ -36794,8 +36705,7 @@ sub_137A4 proc far
; sub_E67A:loc_E703P ...
xor ax, ax
mov es, ax
assume es:seg000
mov ah, es:byte_531
mov ah, byte ptr es:[531h]
test ah, 4
jz short loc_137B7
or word_24CB4, 1
@ -36816,7 +36726,7 @@ loc_137CB:
or word_24CB4, 8
loc_137D5:
mov ah, es:byte_533
mov ah, byte ptr es:[533h]
test ah, 1
jz short loc_137E4
or word_24CB4, 8
@ -36837,7 +36747,7 @@ loc_137F9:
or word_24CB4, 800h
loc_13804:
mov ah, es:byte_532
mov ah, byte ptr es:[532h]
test ah, 40h
jz short loc_13813
or word_24CB4, 4
@ -36858,7 +36768,7 @@ loc_13828:
or word_24CB4, 200h
loc_13833:
mov ah, es:byte_52F
mov ah, byte ptr es:[52Fh]
test ah, 2
jz short loc_13842
or word_24CB4, 20h
@ -36869,19 +36779,19 @@ loc_13842:
or word_24CB4, 10h
loc_1384C:
mov ah, es:byte_52C
mov ah, byte ptr es:[52Ch]
test ah, 1
jz short loc_1385C
or word_24CB4, 4000h
loc_1385C:
mov ah, es:byte_52A
mov ah, byte ptr es:[52Ah]
test ah, 1
jz short loc_1386C
or word_24CB4, 1000h
loc_1386C:
mov ah, es:byte_52D
mov ah, byte ptr es:[52Dh]
test ah, 10h
jz short loc_1387C
@ -36889,7 +36799,7 @@ loc_13876:
or word_24CB4, 2000h
loc_1387C:
mov ah, es:byte_530
mov ah, byte ptr es:[530h]
test ah, 10h
jz short loc_1388B
or word_24CB4, 20h
@ -37550,11 +37460,7 @@ aKao1_cd2 db 'KAO1.cd2',0
db 20h
db 20h
db 20h
word_2165E dw 0
word_21660 dw 0
word_21662 dw 0
byte_21664 db 0
byte_21665 db 0
include libs/master.lib/atrtcmod[data].asm
include libs/master.lib/bfnt_id[data].asm
word_2166C dw 0
word_2166E dw 27Fh

View File

@ -31,93 +31,7 @@ include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_extend_header_skip.asm
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
; ---------------------------------------------------------------------------
word_472 dw 0
word_474 dw 0
; ---------------------------------------------------------------------------
loc_476:
cmp bx, 2
jnb short locret_4BC
shl bx, 1
mov [bx+0D0h], ax
mov ax, word_E600
or ax, word_E602
add ax, 0FFFFh
sbb ax, ax
cmp ax, word_E5FE
jz short locret_4BC
mov word_E5FE, ax
ja short loc_4BE
cli
mov al, 0Bh
out 70h, al ; CMOS Memory:
; used by real-time clock
mov al, byte_E605
out 71h, al ; CMOS Memory:
; used by real-time clock
push 70h ; 'p'
push cs:word_474
push cs:word_472
nopcall dos_setvect
in al, 0A1h ; Interrupt Controller #2, 8259A
or al, byte_E604
out 0A1h, al ; Interrupt Controller #2, 8259A
sti
locret_4BC:
retn
; ---------------------------------------------------------------------------
nop
loc_4BE:
cli
push 70h ; 'p'
push cs
push offset byte_51A
nopcall dos_setvect
mov cs:word_474, dx
; ---------------------------------------------------------------------------
db 2Eh
byte_4D0 db 0A3h
db 72h, 4, 0B4h, 0Ah, 0BBh, 4, 0F0h, 0E8h, 2Ch, 0, 0B0h
db 0Bh, 0E6h, 70h, 0E4h, 71h, 0A2h, 0D5h, 0, 0Ch, 40h
db 8Ah, 0E0h, 0B0h, 0Bh, 0E6h, 70h, 8Ah, 0C4h, 0E6h, 71h
db 0E4h, 0A1h, 8Ah, 0E0h, 24h, 0FEh, 0E6h, 0A1h, 32h, 0C4h
db 0A2h, 0D4h, 0, 0FBh, 0FAh, 0B0h, 0Ch
byte_501 db 0E6h
db 70h, 0E4h, 71h, 0FBh, 0C3h, 8Ah, 0C4h, 0E6h, 70h, 0E4h
db 71h, 22h, 0C7h, 0Ah, 0C3h, 86h, 0E0h, 0E6h, 70h, 86h
db 0E0h, 0E6h, 71h, 0C3h
byte_51A db 50h, 1Eh, 0B8h
dw seg dseg
db 8Eh, 0D8h, 0FCh, 68h, 3Ch, 5, 83h, 3Eh, 0D0h, 2 dup(0)
byte_52A db 74h
db 4
byte_52C db 0FFh
byte_52D db 36h
db 0D0h
byte_52F db 0
byte_530 db 83h
byte_531 db 3Eh
byte_532 db 0D2h
byte_533 db 0
db 0, 74h, 4, 0FFh, 36h, 0D2h, 0, 0C3h, 80h, 3Eh, 0D4h
db 2 dup(0), 1Fh, 75h, 6, 58h, 2Eh, 0FFh, 2Eh, 72h, 4
db 0B0h, 20h, 0E6h
byte_54D db 0A0h
; ---------------------------------------------------------------------------
out 20h, al ; Interrupt controller, 8259A.
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
pop ax
iret
include libs/master.lib/atrtcmod.asm
; =============== S U B R O U T I N E =======================================
@ -1499,8 +1413,7 @@ sub_113A proc far
mov word_E60C, ax
mov word_E612, ax
mov es, ax
assume es:seg000
mov ah, es:byte_54D
mov ah, byte ptr es:[54Dh]
and ah, 4
add ah, 3Fh ; '?'
and ah, 40h
@ -3016,7 +2929,7 @@ sub_2FD4 proc far
loc_300E:
mov ax, 3080h
mov bx, 0
call loc_476
call rtc_int_set
retf
sub_2FD4 endp
@ -3043,7 +2956,7 @@ sub_3018 proc far
loc_3037:
mov ax, 0
mov bx, 0
call loc_476
call rtc_int_set
retf
sub_3018 endp
@ -3169,8 +3082,7 @@ loc_3460:
loc_34D8:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 7CDh
jnz short loc_34EA
mov ax, 99Ah
@ -3219,8 +3131,7 @@ loc_3507:
loc_353E:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 3E6h
jnz short loc_3550
mov ax, 4CDh
@ -21436,8 +21347,7 @@ sub_D492 proc far
; sub_CE7A+18p ...
xor ax, ax
mov es, ax
assume es:seg000
mov ah, es:byte_531
mov ah, byte ptr es:[531h]
test ah, 4
jz short loc_D4A5
or word_10072, 1
@ -21458,7 +21368,7 @@ loc_D4B9:
or word_10072, 8
loc_D4C3:
mov ah, es:byte_533
mov ah, byte ptr es:[533h]
test ah, 1
jz short loc_D4D2
or word_10072, 8
@ -21479,7 +21389,7 @@ loc_D4E7:
or word_10072, 800h
loc_D4F2:
mov ah, es:byte_532
mov ah, byte ptr es:[532h]
test ah, 40h
jz short loc_D501
or word_10072, 4
@ -21500,7 +21410,7 @@ loc_D516:
or word_10072, 200h
loc_D521:
mov ah, es:byte_52F
mov ah, byte ptr es:[52Fh]
test ah, 2
jz short loc_D530
or word_10072, 20h
@ -21511,25 +21421,25 @@ loc_D530:
or word_10072, 10h
loc_D53A:
mov ah, es:byte_52C
mov ah, byte ptr es:[52Ch]
test ah, 1
jz short loc_D54A
or word_10072, 4000h
loc_D54A:
mov ah, es:byte_52A
mov ah, byte ptr es:[52Ah]
test ah, 1
jz short loc_D55A
or word_10072, 1000h
loc_D55A:
mov ah, es:byte_52D
mov ah, byte ptr es:[52Dh]
test ah, 10h
jz short loc_D56A
or word_10072, 2000h
loc_D56A:
mov ah, es:byte_530
mov ah, byte ptr es:[530h]
test ah, 10h
jz short loc_D579
or word_10072, 20h
@ -23315,11 +23225,7 @@ aGameft_bft db 'GAMEFT.bft',0
; char arg0[]
arg0 db 'op',0
db 0
word_E5FE dw 0
word_E600 dw 0
word_E602 dw 0
byte_E604 db 0
byte_E605 db 0
include libs/master.lib/atrtcmod[data].asm
include libs/master.lib/bfnt_id[data].asm
word_E60C dw 0
word_E60E dw 27Fh

View File

@ -31,96 +31,7 @@ include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_extend_header_skip.asm
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
; ---------------------------------------------------------------------------
word_472 dw 0
word_474 dw 0
; ---------------------------------------------------------------------------
loc_476:
cmp bx, 2
jnb short locret_4BC
shl bx, 1
mov [bx+502h], ax
mov ax, word_F842
or ax, word_F844
add ax, 0FFFFh
sbb ax, ax
cmp ax, word_F840
jz short locret_4BC
loc_493:
mov word_F840, ax
ja short loc_4BE
cli
mov al, 0Bh
out 70h, al ; CMOS Memory:
; used by real-time clock
mov al, byte_F847
out 71h, al ; CMOS Memory:
; used by real-time clock
push 70h ; 'p'
push cs:word_474
push cs:word_472
nopcall dos_setvect
in al, 0A1h ; Interrupt Controller #2, 8259A
or al, byte_F846
out 0A1h, al ; Interrupt Controller #2, 8259A
sti
locret_4BC:
retn
; ---------------------------------------------------------------------------
nop
loc_4BE:
cli
push 70h ; 'p'
push cs
push offset byte_51A
nopcall dos_setvect
mov cs:word_474, dx
; ---------------------------------------------------------------------------
db 2Eh
byte_4D0 db 0A3h
db 72h, 4, 0B4h, 0Ah, 0BBh, 4, 0F0h, 0E8h, 2Ch, 0, 0B0h
db 0Bh, 0E6h, 70h, 0E4h, 71h, 0A2h, 7, 5, 0Ch, 40h, 8Ah
db 0E0h, 0B0h, 0Bh, 0E6h, 70h, 8Ah, 0C4h, 0E6h, 71h, 0E4h
db 0A1h, 8Ah, 0E0h, 24h, 0FEh, 0E6h, 0A1h, 32h, 0C4h, 0A2h
db 6, 5, 0FBh, 0FAh, 0B0h
byte_500 db 0Ch
byte_501 db 0E6h
db 70h, 0E4h, 71h, 0FBh, 0C3h, 8Ah, 0C4h, 0E6h, 70h, 0E4h
db 71h, 22h, 0C7h, 0Ah, 0C3h, 86h, 0E0h, 0E6h, 70h, 86h
db 0E0h, 0E6h, 71h, 0C3h
byte_51A db 50h, 1Eh, 0B8h
dw seg dseg
db 8Eh, 0D8h, 0FCh, 68h, 3Ch, 5, 83h, 3Eh, 2, 5, 0
byte_52A db 74h
db 4
byte_52C db 0FFh
byte_52D db 36h
db 2
byte_52F db 5
byte_530 db 83h
byte_531 db 3Eh
byte_532 db 4
byte_533 db 5
db 0, 74h, 4, 0FFh, 36h, 4, 5, 0C3h, 80h, 3Eh, 6, 5, 0
db 1Fh, 75h, 6, 58h, 2Eh, 0FFh, 2Eh, 72h, 4, 0B0h, 20h
db 0E6h
byte_54D db 0A0h
; ---------------------------------------------------------------------------
out 20h, al ; Interrupt controller, 8259A.
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
pop ax
iret
include libs/master.lib/atrtcmod.asm
; =============== S U B R O U T I N E =======================================
@ -1946,8 +1857,7 @@ sub_14E4 proc far
mov word_F84E, ax
mov word_F854, ax
mov es, ax
assume es:seg000
mov ah, es:byte_54D
mov ah, byte ptr es:[54Dh]
and ah, 4
add ah, 3Fh ; '?'
and ah, 40h
@ -3762,7 +3672,7 @@ sub_3772 proc far
loc_37AC:
mov ax, 381Eh
mov bx, 0
call loc_476
call rtc_int_set
retf
sub_3772 endp
@ -3789,7 +3699,7 @@ sub_37B6 proc far
loc_37D5:
mov ax, 0
mov bx, 0
call loc_476
call rtc_int_set
retf
sub_37B6 endp
@ -3915,8 +3825,7 @@ loc_3BFE:
loc_3C76:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 7CDh
jnz short loc_3C88
mov ax, 99Ah
@ -3965,8 +3874,7 @@ loc_3CA5:
loc_3CDC:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 3E6h
jnz short loc_3CEE
mov ax, 4CDh
@ -23015,8 +22923,7 @@ sub_E1E4 proc far
; sub_DB62+18p ...
xor ax, ax
mov es, ax
assume es:seg000
mov ah, es:byte_531
mov ah, byte ptr es:[531h]
test ah, 4
jz short loc_E1F7
or word_11A50, 1
@ -23037,7 +22944,7 @@ loc_E20B:
or word_11A50, 8
loc_E215:
mov ah, es:byte_533
mov ah, byte ptr es:[533h]
test ah, 1
jz short loc_E224
or word_11A50, 8
@ -23058,7 +22965,7 @@ loc_E239:
or word_11A50, 800h
loc_E244:
mov ah, es:byte_532
mov ah, byte ptr es:[532h]
test ah, 40h
jz short loc_E253
or word_11A50, 4
@ -23079,7 +22986,7 @@ loc_E268:
or word_11A50, 200h
loc_E273:
mov ah, es:byte_52F
mov ah, byte ptr es:[52Fh]
test ah, 2
jz short loc_E282
or word_11A50, 20h
@ -23090,25 +22997,25 @@ loc_E282:
or word_11A50, 10h
loc_E28C:
mov ah, es:byte_52C
mov ah, byte ptr es:[52Ch]
test ah, 1
jz short loc_E29C
or word_11A50, 4000h
loc_E29C:
mov ah, es:byte_52A
mov ah, byte ptr es:[52Ah]
test ah, 1
jz short loc_E2AC
or word_11A50, 1000h
loc_E2AC:
mov ah, es:byte_52D
mov ah, byte ptr es:[52Dh]
test ah, 10h
jz short loc_E2BC
or word_11A50, 2000h
loc_E2BC:
mov ah, es:byte_530
mov ah, byte ptr es:[530h]
test ah, 10h
jz short loc_E2CB
or word_11A50, 20h
@ -23295,12 +23202,11 @@ sub_E3E8 proc near
push es
push 0
pop es
assume es:seg000
pushf
cli
mov al, 80h ; '€'
out 7Ch, al
mov byte ptr es:loc_493+2, al
mov byte ptr es:[495h], al
popf
pop es
assume es:nothing
@ -25111,12 +25017,7 @@ asc_F7F7 db 0Ah
db '空きメモリ不足です。メモリ空きを増やしてから実行してね',0Ah,0
aGameft_bft db 'GAMEFT.bft',0
aMiko db 'miko',0
word_F840 dw 0
; seg000:loc_493w
word_F842 dw 0
word_F844 dw 0
byte_F846 db 0
byte_F847 db 0
include libs/master.lib/atrtcmod[data].asm
include libs/master.lib/bfnt_id[data].asm
word_F84E dw 0
; sub_D3C+21r ...

View File

@ -30,94 +30,7 @@ include libs/BorlandC/c0.asm
include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
db 4 dup(0)
; ---------------------------------------------------------------------------
loc_454:
cmp bx, 2
jnb short locret_49A
shl bx, 1
; ---------------------------------------------------------------------------
db 89h
byte_45C db 87h
db 72h, 3, 0A1h, 72h, 3, 0Bh, 6, 74h, 3, 5, 2 dup(0FFh)
db 1Bh, 0C0h, 3Bh, 6, 70h, 3, 74h, 29h, 0A3h, 70h, 3, 77h
db 26h, 0FAh, 0B0h, 0Bh, 0E6h, 70h, 0A0h, 77h, 3, 0E6h
db 71h, 6Ah, 70h, 2Eh, 0FFh, 36h, 52h, 4, 2Eh, 0FFh, 36h
db 50h, 4, 90h, 0Eh, 0E8h, 97h, 3, 0E4h, 0A1h, 0Ah, 6
db 76h, 3, 0E6h, 0A1h, 0FBh
; ---------------------------------------------------------------------------
locret_49A:
retn
; ---------------------------------------------------------------------------
nop
db 0FAh, 6Ah, 70h, 0Eh, 68h, 0F8h, 4, 90h, 0Eh, 0E8h, 80h
db 3, 2Eh, 89h, 16h, 52h, 4, 2Eh, 0A3h, 50h, 4, 0B4h, 0Ah
db 0BBh, 4, 0F0h, 0E8h, 2Ch, 0, 0B0h, 0Bh, 0E6h, 70h, 0E4h
db 71h, 0A2h, 77h, 3, 0Ch, 40h, 8Ah, 0E0h, 0B0h, 0Bh, 0E6h
db 70h, 8Ah, 0C4h, 0E6h, 71h, 0E4h, 0A1h
byte_4D0 db 8Ah
db 0E0h, 24h, 0FEh, 0E6h, 0A1h, 32h, 0C4h, 0A2h, 76h, 3
db 0FBh, 0FAh, 0B0h, 0Ch, 0E6h, 70h, 0E4h, 71h, 0FBh, 0C3h
; =============== S U B R O U T I N E =======================================
sub_4E5 proc near
mov al, ah
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
and al, bh
or al, bl
xchg ah, al
out 70h, al ; CMOS Memory:
; used by real-time clock
xchg ah, al
out 71h, al ; CMOS Memory:
; used by real-time clock
retn
sub_4E5 endp
; ---------------------------------------------------------------------------
db 50h, 1Eh, 0B8h
dw seg dseg
db 8Eh, 0D8h, 0FCh, 68h
byte_501 db 1Ah
; ---------------------------------------------------------------------------
add ax, 3E83h
jb short loc_50A
add [si+4], dh
loc_50A:
push word_20D52
cmp word_20D54, 0
jz short locret_519
push word_20D54
locret_519:
retn
; ---------------------------------------------------------------------------
db 80h, 3Eh, 76h, 3, 0, 1Fh, 75h, 6, 58h, 2Eh, 0FFh, 2Eh
db 50h, 4, 0B0h, 20h
byte_52A db 0E6h
db 0A0h
byte_52C db 0E6h
byte_52D db 20h
db 0B0h
byte_52F db 0Ch
byte_530 db 0E6h
byte_531 db 70h
byte_532 db 0E4h
byte_533 db 71h
; ---------------------------------------------------------------------------
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
pop ax
iret
include libs/master.lib/atrtcmod.asm
; =============== S U B R O U T I N E =======================================
@ -3200,7 +3113,6 @@ sub_1E14 proc far
mov word_20D5E, ax
mov word_20D64, ax
mov es, ax
assume es:seg000
mov ah, byte ptr es:[54Dh]
and ah, 4
add ah, 3Fh ; '?'
@ -5868,7 +5780,7 @@ sub_3952 proc far
loc_398C:
mov ax, 39FEh
mov bx, 0
call loc_454
call rtc_int_set
retf
sub_3952 endp
@ -5895,7 +5807,7 @@ sub_3996 proc far
loc_39B5:
mov ax, 0
mov bx, 0
call loc_454
call rtc_int_set
retf
sub_3996 endp
@ -6022,8 +5934,7 @@ loc_3DDE:
loc_3E56:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 7CDh
jnz short loc_3E68
mov ax, 99Ah
@ -6072,8 +5983,7 @@ loc_3E85:
loc_3EBC:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 3E6h
jnz short loc_3ECE
mov ax, 4CDh
@ -37677,8 +37587,7 @@ sub_14FD6 proc far
; sub_F1A6+E0P ...
xor ax, ax
mov es, ax
assume es:seg000
mov ah, es:byte_531
mov ah, byte ptr es:[531h]
test ah, 4
jz short loc_14FE9
or byte ptr word_23A56, 1
@ -37699,7 +37608,7 @@ loc_14FFD:
or byte ptr word_23A56, 8
loc_15007:
mov ah, es:byte_533
mov ah, byte ptr es:[533h]
test ah, 1
jz short loc_15016
or byte ptr word_23A56, 8
@ -37720,7 +37629,7 @@ loc_1502A:
or byte ptr word_23A56+1, 8
loc_15034:
mov ah, es:byte_532
mov ah, byte ptr es:[532h]
test ah, 40h
jz short loc_15043
or byte ptr word_23A56, 4
@ -37741,7 +37650,7 @@ loc_15057:
or byte ptr word_23A56+1, 2
loc_15061:
mov ah, es:byte_52F
mov ah, byte ptr es:[52Fh]
test ah, 2
jz short loc_15070
or byte ptr word_23A56, 20h
@ -37752,25 +37661,25 @@ loc_15070:
or byte ptr word_23A56, 10h
loc_1507A:
mov ah, es:byte_52C
mov ah, byte ptr es:[52Ch]
test ah, 1
jz short loc_15089
or byte ptr word_23A56+1, 40h
loc_15089:
mov ah, es:byte_52A
mov ah, byte ptr es:[52Ah]
test ah, 1
jz short loc_15098
or byte ptr word_23A56+1, 10h
loc_15098:
mov ah, es:byte_52D
mov ah, byte ptr es:[52Dh]
test ah, 10h
jz short loc_150A7
or byte ptr word_23A56+1, 20h
loc_150A7:
mov ah, es:byte_530
mov ah, byte ptr es:[530h]
test ah, 10h
jz short loc_150B6
or byte ptr word_23A56, 20h
@ -38451,11 +38360,7 @@ aKao3_cd2 db 'KAO3.cd2',0
db 20h
db 20h
db 20h
dw 0
word_20D52 dw 0
word_20D54 dw 0
db 0
db 0
include libs/master.lib/atrtcmod[data].asm
include libs/master.lib/bfnt_id[data].asm
word_20D5E dw 0
word_20D60 dw 27Fh

View File

@ -30,97 +30,7 @@ include libs/BorlandC/c0.asm
include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
db 4 dup(0)
; ---------------------------------------------------------------------------
loc_454:
cmp bx, 2
jnb short locret_49A
shl bx, 1
; ---------------------------------------------------------------------------
db 89h
byte_45C db 87h
db 0BEh, 1, 0A1h, 0BEh, 1, 0Bh, 6, 0C0h, 1, 5, 2 dup(0FFh)
db 1Bh, 0C0h, 3Bh, 6, 0BCh, 1, 74h, 29h, 0A3h, 0BCh, 1
db 77h, 26h, 0FAh, 0B0h, 0Bh, 0E6h, 70h, 0A0h, 0C3h, 1
db 0E6h, 71h, 6Ah, 70h, 2Eh, 0FFh, 36h, 52h, 4, 2Eh, 0FFh
db 36h, 50h, 4, 90h, 0Eh, 0E8h, 73h, 3, 0E4h, 0A1h, 0Ah
db 6
byte_495 db 0C2h
db 1, 0E6h, 0A1h, 0FBh
; ---------------------------------------------------------------------------
locret_49A:
retn
; ---------------------------------------------------------------------------
nop
db 0FAh, 6Ah, 70h, 0Eh, 68h, 0F8h, 4, 90h, 0Eh, 0E8h, 5Ch
db 3, 2Eh, 89h, 16h, 52h, 4, 2Eh, 0A3h, 50h, 4, 0B4h, 0Ah
db 0BBh, 4, 0F0h, 0E8h, 2Ch, 0, 0B0h, 0Bh, 0E6h, 70h, 0E4h
db 71h, 0A2h, 0C3h, 1, 0Ch, 40h, 8Ah, 0E0h, 0B0h, 0Bh
db 0E6h, 70h, 8Ah, 0C4h, 0E6h, 71h, 0E4h, 0A1h
byte_4D0 db 8Ah
db 0E0h, 24h, 0FEh, 0E6h, 0A1h, 32h, 0C4h, 0A2h, 0C2h
db 1, 0FBh, 0FAh, 0B0h, 0Ch, 0E6h, 70h, 0E4h, 71h, 0FBh
db 0C3h
; =============== S U B R O U T I N E =======================================
sub_4E5 proc near
mov al, ah
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
and al, bh
or al, bl
xchg ah, al
out 70h, al ; CMOS Memory:
; used by real-time clock
xchg ah, al
out 71h, al ; CMOS Memory:
; used by real-time clock
retn
sub_4E5 endp
; ---------------------------------------------------------------------------
db 50h, 1Eh, 0B8h
dw seg dseg
db 8Eh, 0D8h, 0FCh, 68h
byte_501 db 1Ah
; ---------------------------------------------------------------------------
add ax, 3E83h
mov si, 1
jz short loc_50E
push word_102BE
loc_50E:
cmp word_102C0, 0
jz short locret_519
push word_102C0
locret_519:
retn
; ---------------------------------------------------------------------------
db 80h, 3Eh, 0C2h, 1, 0, 1Fh, 75h, 6, 58h, 2Eh, 0FFh, 2Eh
db 50h, 4, 0B0h, 20h
byte_52A db 0E6h
db 0A0h
byte_52C db 0E6h
byte_52D db 20h
db 0B0h
byte_52F db 0Ch
byte_530 db 0E6h
byte_531 db 70h
byte_532 db 0E4h
byte_533 db 71h
; ---------------------------------------------------------------------------
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
pop ax
iret
include libs/master.lib/atrtcmod.asm
; =============== S U B R O U T I N E =======================================
@ -1724,7 +1634,6 @@ sub_12B4 proc far
mov word_102CA, ax
mov word_102D0, ax
mov es, ax
assume es:seg000
mov ah, byte ptr es:[54Dh]
and ah, 4
add ah, 3Fh ; '?'
@ -3462,7 +3371,7 @@ sub_315A proc far
loc_3194:
mov ax, 3206h
mov bx, 0
call loc_454
call rtc_int_set
retf
sub_315A endp
@ -3489,7 +3398,7 @@ sub_319E proc far
loc_31BD:
mov ax, 0
mov bx, 0
call loc_454
call rtc_int_set
retf
sub_319E endp
@ -3615,8 +3524,7 @@ loc_35E6:
loc_365E:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 7CDh
jnz short loc_3670
mov ax, 99Ah
@ -3665,8 +3573,7 @@ loc_368D:
loc_36C4:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 3E6h
jnz short loc_36D6
mov ax, 4CDh
@ -25315,8 +25222,7 @@ sub_F0FC endp ; sp-analysis failed
sub_F104 proc far
xor ax, ax
mov es, ax
assume es:seg000
mov ah, es:byte_531
mov ah, byte ptr es:[531h]
test ah, 4
jz short loc_F117
or byte ptr word_12AFA, 1
@ -25337,7 +25243,7 @@ loc_F12B:
or byte ptr word_12AFA, 8
loc_F135:
mov ah, es:byte_533
mov ah, byte ptr es:[533h]
test ah, 1
jz short loc_F144
or byte ptr word_12AFA, 8
@ -25358,7 +25264,7 @@ loc_F158:
or byte ptr word_12AFA+1, 8
loc_F162:
mov ah, es:byte_532
mov ah, byte ptr es:[532h]
test ah, 40h
jz short loc_F171
or byte ptr word_12AFA, 4
@ -25379,7 +25285,7 @@ loc_F185:
or byte ptr word_12AFA+1, 2
loc_F18F:
mov ah, es:byte_52F
mov ah, byte ptr es:[52Fh]
test ah, 2
jz short loc_F19E
or byte ptr word_12AFA, 20h
@ -25390,25 +25296,25 @@ loc_F19E:
or byte ptr word_12AFA, 10h
loc_F1A8:
mov ah, es:byte_52C
mov ah, byte ptr es:[52Ch]
test ah, 1
jz short loc_F1B7
or byte ptr word_12AFA+1, 40h
loc_F1B7:
mov ah, es:byte_52A
mov ah, byte ptr es:[52Ah]
test ah, 1
jz short loc_F1C6
or byte ptr word_12AFA+1, 10h
loc_F1C6:
mov ah, es:byte_52D
mov ah, byte ptr es:[52Dh]
test ah, 10h
jz short loc_F1D5
or byte ptr word_12AFA+1, 20h
loc_F1D5:
mov ah, es:byte_530
mov ah, byte ptr es:[530h]
test ah, 10h
jz short loc_F1E4
or byte ptr word_12AFA, 20h
@ -25862,12 +25768,11 @@ sub_F478 proc near
push es
push 0
pop es
assume es:seg000
pushf
cli
mov al, 80h ; '€'
out 7Ch, al
mov es:byte_495, al
mov es:[495h], al
popf
pop es
assume es:nothing
@ -27393,13 +27298,7 @@ arg0 db 'op',0
db 20h
db 20h
db 20h
db 0
db 0
word_102BE dw 0
word_102C0 dw 0
; seg000:0515r
db 0
db 0
include libs/master.lib/atrtcmod[data].asm
include libs/master.lib/bfnt_id[data].asm
word_102CA dw 0
; sub_DCC+2Dw ...

View File

@ -30,96 +30,7 @@ include libs/BorlandC/c0.asm
include libs/master.lib/bfnt_entry_pat.asm
include libs/master.lib/bfnt_header_read.asm
include libs/master.lib/bfnt_header_analysis.asm
db 4 dup(0)
; ---------------------------------------------------------------------------
loc_454:
cmp bx, 2
jnb short locret_49A
shl bx, 1
; ---------------------------------------------------------------------------
db 89h
byte_45C db 87h
db 0D4h, 4, 0A1h, 0D4h, 4, 0Bh, 6, 0D6h, 4, 5, 2 dup(0FFh)
db 1Bh, 0C0h, 3Bh, 6, 0D2h, 4, 74h, 29h, 0A3h, 0D2h, 4
db 77h, 26h, 0FAh, 0B0h, 0Bh, 0E6h, 70h, 0A0h, 0D9h, 4
db 0E6h, 71h, 6Ah, 70h, 2Eh, 0FFh, 36h, 52h, 4, 2Eh, 0FFh
db 36h, 50h, 4, 90h, 0Eh, 0E8h, 65h, 3, 0E4h, 0A1h, 0Ah
db 6
byte_495 db 0D8h
db 4, 0E6h, 0A1h, 0FBh
; ---------------------------------------------------------------------------
locret_49A:
retn
; ---------------------------------------------------------------------------
nop
db 0FAh, 6Ah, 70h, 0Eh, 68h, 0F8h, 4, 90h, 0Eh, 0E8h, 4Eh
db 3, 2Eh, 89h, 16h, 52h, 4, 2Eh, 0A3h, 50h, 4, 0B4h, 0Ah
db 0BBh, 4, 0F0h, 0E8h, 2Ch, 0, 0B0h, 0Bh, 0E6h, 70h, 0E4h
db 71h, 0A2h, 0D9h, 4, 0Ch, 40h, 8Ah, 0E0h, 0B0h, 0Bh
db 0E6h, 70h, 8Ah, 0C4h, 0E6h, 71h, 0E4h, 0A1h
byte_4D0 db 8Ah
db 0E0h, 24h, 0FEh, 0E6h, 0A1h, 32h, 0C4h, 0A2h, 0D8h
db 4, 0FBh, 0FAh, 0B0h, 0Ch, 0E6h, 70h, 0E4h, 71h, 0FBh
db 0C3h
; =============== S U B R O U T I N E =======================================
sub_4E5 proc near
mov al, ah
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
and al, bh
or al, bl
xchg ah, al
out 70h, al ; CMOS Memory:
; used by real-time clock
xchg ah, al
out 71h, al ; CMOS Memory:
; used by real-time clock
retn
sub_4E5 endp
; ---------------------------------------------------------------------------
db 50h, 1Eh, 0B8h
dw seg dseg
db 8Eh, 0D8h, 0FCh
byte_500 db 68h
byte_501 db 1Ah
; ---------------------------------------------------------------------------
add ax, 3E83h
aam 4
add [si+4], dh
push word_F4B4
cmp word_F4B6, 0
jz short locret_519
push word_F4B6
locret_519:
retn
; ---------------------------------------------------------------------------
db 80h, 3Eh, 0D8h, 4, 0, 1Fh, 75h, 6, 58h, 2Eh, 0FFh, 2Eh
db 50h, 4, 0B0h, 20h
byte_52A db 0E6h
db 0A0h
byte_52C db 0E6h
byte_52D db 20h
db 0B0h
byte_52F db 0Ch
byte_530 db 0E6h
byte_531 db 70h
byte_532 db 0E4h
byte_533 db 71h
; ---------------------------------------------------------------------------
mov al, 0Ch
out 70h, al ; CMOS Memory:
; used by real-time clock
in al, 71h ; CMOS Memory
pop ax
iret
include libs/master.lib/atrtcmod.asm
; =============== S U B R O U T I N E =======================================
@ -1455,7 +1366,6 @@ sub_11C8 proc far
mov word_F4C0, ax
mov word_F4C6, ax
mov es, ax
assume es:seg000
mov ah, byte ptr es:[54Dh]
and ah, 4
add ah, 3Fh ; '?'
@ -2882,7 +2792,7 @@ sub_2F92 proc far
loc_2FCC:
mov ax, 303Eh
mov bx, 0
call loc_454
call rtc_int_set
retf
sub_2F92 endp
@ -2909,7 +2819,7 @@ sub_2FD6 proc far
loc_2FF5:
mov ax, 0
mov bx, 0
call loc_454
call rtc_int_set
retf
sub_2FD6 endp
@ -3035,8 +2945,7 @@ loc_341E:
loc_3496:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 7CDh
jnz short loc_34A8
mov ax, 99Ah
@ -3085,8 +2994,7 @@ loc_34C5:
loc_34FC:
xor ax, ax
mov es, ax
assume es:seg000
test es:byte_501, 80h
test byte ptr es:[501h], 80h
mov ax, 3E6h
jnz short loc_350E
mov ax, 4CDh
@ -22914,8 +22822,7 @@ sub_DF8E endp ; sp-analysis failed
sub_DF96 proc far
xor ax, ax
mov es, ax
assume es:seg000
mov ah, es:byte_531
mov ah, byte ptr es:[531h]
test ah, 4
jz short loc_DFA9
or byte ptr word_12A72, 1
@ -22936,7 +22843,7 @@ loc_DFBD:
or byte ptr word_12A72, 8
loc_DFC7:
mov ah, es:byte_533
mov ah, byte ptr es:[533h]
test ah, 1
jz short loc_DFD6
or byte ptr word_12A72, 8
@ -22957,7 +22864,7 @@ loc_DFEA:
or byte ptr word_12A72+1, 8
loc_DFF4:
mov ah, es:byte_532
mov ah, byte ptr es:[532h]
test ah, 40h
jz short loc_E003
or byte ptr word_12A72, 4
@ -22978,7 +22885,7 @@ loc_E017:
or byte ptr word_12A72+1, 2
loc_E021:
mov ah, es:byte_52F
mov ah, byte ptr es:[52Fh]
test ah, 2
jz short loc_E030
or byte ptr word_12A72, 20h
@ -22989,25 +22896,25 @@ loc_E030:
or byte ptr word_12A72, 10h
loc_E03A:
mov ah, es:byte_52C
mov ah, byte ptr es:[52Ch]
test ah, 1
jz short loc_E049
or byte ptr word_12A72+1, 40h
loc_E049:
mov ah, es:byte_52A
mov ah, byte ptr es:[52Ah]
test ah, 1
jz short loc_E058
or byte ptr word_12A72+1, 10h
loc_E058:
mov ah, es:byte_52D
mov ah, byte ptr es:[52Dh]
test ah, 10h
jz short loc_E067
or byte ptr word_12A72+1, 20h
loc_E067:
mov ah, es:byte_530
mov ah, byte ptr es:[530h]
test ah, 10h
jz short loc_E076
or byte ptr word_12A72, 20h
@ -23530,12 +23437,11 @@ sub_E354 proc near
push es
push 0
pop es
assume es:seg000
pushf
cli
mov al, 80h ; '€'
out 7Ch, al
mov es:byte_495, al
mov es:[495h], al
popf
pop es
assume es:nothing
@ -24953,11 +24859,7 @@ aKaikidan1_dat0 db '
aNotEnoughMem db 0Ah
db '空きメモリ不足です。メモリ空きを増やしてから実行してね',0Ah,0
db 0
dw 0
word_F4B4 dw 0
word_F4B6 dw 0
db 0
db 0
include libs/master.lib/atrtcmod[data].asm
include libs/master.lib/bfnt_id[data].asm
word_F4C0 dw 0
word_F4C2 dw 27Fh