mirror of https://github.com/nmlgc/ReC98.git
[Reduction] #253: super_clean
This commit is contained in:
parent
0c8e9d8550
commit
776c094c0a
|
@ -0,0 +1,70 @@
|
|||
; superimpose & master library module
|
||||
;
|
||||
; Description:
|
||||
; 指定番号範囲のパターンをすべて開放する
|
||||
;
|
||||
; Function/Procedures:
|
||||
; void super_clean( int min_pat, int max_pat ) ;
|
||||
;
|
||||
; Parameters:
|
||||
; min_pat 消去する最小パターン番号
|
||||
; max_pat 消去する最大パターン番号
|
||||
;
|
||||
; Returns:
|
||||
; none
|
||||
;
|
||||
; Binding Target:
|
||||
; Microsoft-C / Turbo-C / Turbo Pascal
|
||||
;
|
||||
; Running Target:
|
||||
; 8086
|
||||
;
|
||||
; Requiring Resources:
|
||||
; CPU: 8086
|
||||
;
|
||||
; Notes:
|
||||
; min_pat > max_pat だと何もしません。
|
||||
;
|
||||
; Assembly Language Note:
|
||||
;
|
||||
;
|
||||
; Compiler/Assembler:
|
||||
; TASM 3.0
|
||||
; OPTASM 1.6
|
||||
;
|
||||
; Author:
|
||||
; 恋塚昭彦
|
||||
;
|
||||
; Revision History:
|
||||
; 93/12/25 Initial: supercln.asm/master.lib 0.22
|
||||
|
||||
func SUPER_CLEAN ; super_clean() {
|
||||
push SI
|
||||
mov SI,SP
|
||||
push DI
|
||||
|
||||
; 引数
|
||||
@@min_pat = (RETSIZE+2)*2
|
||||
@@max_pat = (RETSIZE+1)*2
|
||||
|
||||
mov DI,SS:[SI+@@max_pat]
|
||||
cmp DI,super_patnum
|
||||
jl short @@MAX_OK
|
||||
mov DI,super_patnum
|
||||
dec DI
|
||||
@@MAX_OK:
|
||||
mov SI,SS:[SI+@@min_pat]
|
||||
cmp SI,DI
|
||||
ja short @@RETURN
|
||||
@@C_LOOP:
|
||||
push SI
|
||||
_call SUPER_CANCEL_PAT
|
||||
@@SKIP:
|
||||
inc SI
|
||||
cmp SI,DI
|
||||
jbe short @@C_LOOP
|
||||
@@RETURN:
|
||||
pop DI
|
||||
pop SI
|
||||
ret 4
|
||||
endfunc ; }
|
|
@ -2767,38 +2767,7 @@ sub_2C40 endp
|
|||
include libs/master.lib/super_entry_at.asm
|
||||
include libs/master.lib/super_entry_bfnt.asm
|
||||
include libs/master.lib/super_cancel_pat.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_2F56 proc far
|
||||
; sub_199B3+10P ...
|
||||
push si
|
||||
mov si, sp
|
||||
push di
|
||||
mov di, ss:[si+6]
|
||||
cmp di, super_patnum
|
||||
jl short loc_2F69
|
||||
mov di, super_patnum
|
||||
dec di
|
||||
|
||||
loc_2F69:
|
||||
mov si, ss:[si+8]
|
||||
cmp si, di
|
||||
ja short loc_2F7B
|
||||
|
||||
loc_2F71:
|
||||
push si
|
||||
call super_cancel_pat
|
||||
inc si
|
||||
cmp si, di
|
||||
jbe short loc_2F71
|
||||
|
||||
loc_2F7B:
|
||||
pop di
|
||||
pop si
|
||||
retf 4
|
||||
sub_2F56 endp
|
||||
include libs/master.lib/super_clean.asm
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
@ -40559,7 +40528,7 @@ sub_1696B proc far
|
|||
mov byte_2287E, 2
|
||||
call sub_12DE0
|
||||
push large 8000C0h
|
||||
call sub_2F56
|
||||
call super_clean
|
||||
mov super_patnum, 80h ; '€'
|
||||
push ds
|
||||
push offset aStage5b1_bft ; "stage5b1.bft"
|
||||
|
@ -46105,7 +46074,7 @@ sub_199B3 proc far
|
|||
call sub_1A6C5
|
||||
call sub_12DE0
|
||||
push large 8000C0h
|
||||
call sub_2F56
|
||||
call super_clean
|
||||
push ds
|
||||
push offset aMima_bft ; "mima.bft"
|
||||
call super_entry_bfnt
|
||||
|
@ -46115,7 +46084,7 @@ sub_199B3 proc far
|
|||
call sub_F618
|
||||
call sub_1A529
|
||||
push large 8000C0h
|
||||
call sub_2F56
|
||||
call super_clean
|
||||
mov super_patnum, 80h ; '€'
|
||||
push ds
|
||||
push offset aMima1_bft ; "mima1.bft"
|
||||
|
@ -46410,7 +46379,7 @@ sub_19C8D proc near
|
|||
|
||||
loc_19D48:
|
||||
push large 8000C0h
|
||||
call sub_2F56
|
||||
call super_clean
|
||||
mov super_patnum, 80h ; '€'
|
||||
push ds
|
||||
push offset aMima2_bft ; "mima2.bft"
|
||||
|
@ -47638,7 +47607,7 @@ sub_1A7D5 proc far
|
|||
call sub_1A6C5
|
||||
call sub_12DE0
|
||||
push large 8000C0h
|
||||
call sub_2F56
|
||||
call super_clean
|
||||
mov super_patnum, 80h ; '€'
|
||||
push ds
|
||||
push offset aMima_bft_0 ; "mima.bft"
|
||||
|
@ -47651,7 +47620,7 @@ sub_1A7D5 proc far
|
|||
push 0
|
||||
call sub_1310B
|
||||
push large 8001FFh
|
||||
call sub_2F56
|
||||
call super_clean
|
||||
mov super_patnum, 80h ; '€'
|
||||
push ds
|
||||
push offset aStage3_b_bft ; "stage3_b.bft"
|
||||
|
|
|
@ -2607,38 +2607,7 @@ loc_29F5:
|
|||
include libs/master.lib/super_entry_at.asm
|
||||
include libs/master.lib/super_entry_bfnt.asm
|
||||
include libs/master.lib/super_cancel_pat.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_2B4E proc far
|
||||
; sub_D1BC+2E2P ...
|
||||
push si
|
||||
mov si, sp
|
||||
push di
|
||||
mov di, ss:[si+6]
|
||||
cmp di, super_patnum
|
||||
jl short loc_2B61
|
||||
mov di, super_patnum
|
||||
dec di
|
||||
|
||||
loc_2B61:
|
||||
mov si, ss:[si+8]
|
||||
cmp si, di
|
||||
ja short loc_2B73
|
||||
|
||||
loc_2B69:
|
||||
push si
|
||||
call super_cancel_pat
|
||||
inc si
|
||||
cmp si, di
|
||||
jbe short loc_2B69
|
||||
|
||||
loc_2B73:
|
||||
pop di
|
||||
pop si
|
||||
retf 4
|
||||
sub_2B4E endp
|
||||
include libs/master.lib/super_clean.asm
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
@ -16364,7 +16333,7 @@ sub_B29E proc near
|
|||
call sub_B79E
|
||||
call sub_B9BB
|
||||
push large 800100h
|
||||
call sub_2B4E
|
||||
call super_clean
|
||||
mov si, 8
|
||||
jmp short loc_B2C7
|
||||
; ---------------------------------------------------------------------------
|
||||
|
@ -21220,7 +21189,7 @@ loc_D47B:
|
|||
|
||||
loc_D498:
|
||||
push large 800100h ; jumptable 0000D1EC case 99
|
||||
call sub_2B4E
|
||||
call super_clean
|
||||
jmp short loc_D508
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -20803,7 +20803,7 @@ loc_1E801:
|
|||
cmp byte_266D4, 6
|
||||
jnz loc_1E8A4
|
||||
push large 800100h
|
||||
call sub_2B4E
|
||||
call super_clean
|
||||
call sub_D6EB
|
||||
cmp byte_2D01E, 0
|
||||
jnz short loc_1E89B
|
||||
|
|
|
@ -2804,37 +2804,7 @@ loc_2C97:
|
|||
include libs/master.lib/super_entry_at.asm
|
||||
include libs/master.lib/super_entry_bfnt.asm
|
||||
include libs/master.lib/super_cancel_pat.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_2DF0 proc far
|
||||
push si
|
||||
mov si, sp
|
||||
push di
|
||||
mov di, ss:[si+6]
|
||||
cmp di, super_patnum
|
||||
jl short loc_2E03
|
||||
mov di, super_patnum
|
||||
dec di
|
||||
|
||||
loc_2E03:
|
||||
mov si, ss:[si+8]
|
||||
cmp si, di
|
||||
ja short loc_2E15
|
||||
|
||||
loc_2E0B:
|
||||
push si
|
||||
call super_cancel_pat
|
||||
inc si
|
||||
cmp si, di
|
||||
jbe short loc_2E0B
|
||||
|
||||
loc_2E15:
|
||||
pop di
|
||||
pop si
|
||||
retf 4
|
||||
sub_2DF0 endp
|
||||
include libs/master.lib/super_clean.asm
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
@ -16589,7 +16559,7 @@ sub_B609 proc near
|
|||
call sub_BEA4
|
||||
call sub_BB82
|
||||
push large 0B40100h
|
||||
call sub_2DF0
|
||||
call super_clean
|
||||
mov si, 1
|
||||
jmp short loc_B630
|
||||
; ---------------------------------------------------------------------------
|
||||
|
@ -24851,7 +24821,7 @@ loc_F07C:
|
|||
cmp byte_25FEA, 6
|
||||
jz short loc_F091
|
||||
push large 0B40140h
|
||||
call sub_2DF0
|
||||
call super_clean
|
||||
jmp loc_F181
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
|
@ -25383,7 +25353,7 @@ sub_F4DD proc near
|
|||
mov bp, sp
|
||||
push si
|
||||
push large 240140h
|
||||
call sub_2DF0
|
||||
call super_clean
|
||||
push ds
|
||||
push offset aSt06_16_bft ; "st06_16.bft"
|
||||
call super_entry_bfnt
|
||||
|
|
Loading…
Reference in New Issue