mirror of https://github.com/nmlgc/ReC98.git
[Reduction] #454: respal_set_palettes
This commit is contained in:
parent
b60d3a0f56
commit
bf7fb83197
|
@ -0,0 +1,69 @@
|
||||||
|
; master library - PC98
|
||||||
|
;
|
||||||
|
; Description:
|
||||||
|
; Palettes,PaletteToneの値を常駐パレットに書き込む
|
||||||
|
;
|
||||||
|
; Function/Procedures:
|
||||||
|
; void respal_set_palettes( void ) ;
|
||||||
|
;
|
||||||
|
; Parameters:
|
||||||
|
; none
|
||||||
|
;
|
||||||
|
; Returns:
|
||||||
|
; none
|
||||||
|
;
|
||||||
|
; Binding Target:
|
||||||
|
; Microsoft-C / Turbo-C / Turbo Pascal
|
||||||
|
;
|
||||||
|
; Running Target:
|
||||||
|
; PC-9801V
|
||||||
|
;
|
||||||
|
; Requiring Resources:
|
||||||
|
; CPU: V30
|
||||||
|
;
|
||||||
|
; Notes:
|
||||||
|
; 常駐パレットがまだ検索されていない場合と、存在しない場合は
|
||||||
|
; 何もしません。
|
||||||
|
;
|
||||||
|
; Compiler/Assembler:
|
||||||
|
; TASM 3.0
|
||||||
|
; OPTASM 1.6
|
||||||
|
;
|
||||||
|
; Author:
|
||||||
|
; 恋塚昭彦
|
||||||
|
;
|
||||||
|
; Revision History:
|
||||||
|
; 92/11/16 Initial
|
||||||
|
; 93/12/10 [M0.22] パレット幅 4bit->8bitに対応
|
||||||
|
|
||||||
|
func RESPAL_SET_PALETTES
|
||||||
|
push SI
|
||||||
|
push DI
|
||||||
|
|
||||||
|
CLD
|
||||||
|
mov AX,ResPalSeg
|
||||||
|
or AX,AX
|
||||||
|
jz short @@IGNORE ; house keeping
|
||||||
|
mov ES,AX
|
||||||
|
|
||||||
|
mov AX,PaletteTone
|
||||||
|
mov ES:[10],AL
|
||||||
|
|
||||||
|
mov SI,offset Palettes
|
||||||
|
mov DI,16
|
||||||
|
mov CX,16
|
||||||
|
@@PLOOP:
|
||||||
|
lodsw
|
||||||
|
xchg AH,AL
|
||||||
|
shr AX,4
|
||||||
|
and AL,0fh
|
||||||
|
stosw
|
||||||
|
lodsb
|
||||||
|
shr AL,4
|
||||||
|
stosb
|
||||||
|
loop short @@PLOOP
|
||||||
|
@@IGNORE:
|
||||||
|
pop DI
|
||||||
|
pop SI
|
||||||
|
ret
|
||||||
|
endfunc
|
|
@ -304,43 +304,7 @@ include libs/master.lib/super_entry_bfnt.asm
|
||||||
include libs/master.lib/super_cancel_pat.asm
|
include libs/master.lib/super_cancel_pat.asm
|
||||||
include libs/master.lib/super_put.asm
|
include libs/master.lib/super_put.asm
|
||||||
include libs/master.lib/respal_exist.asm
|
include libs/master.lib/respal_exist.asm
|
||||||
|
include libs/master.lib/respal_set_palettes.asm
|
||||||
; =============== S U B R O U T I N E =======================================
|
|
||||||
|
|
||||||
|
|
||||||
sub_2820 proc far
|
|
||||||
push si
|
|
||||||
push di
|
|
||||||
cld
|
|
||||||
mov ax, ResPalSeg
|
|
||||||
or ax, ax
|
|
||||||
jz short loc_284C
|
|
||||||
mov es, ax
|
|
||||||
mov ax, PaletteTone
|
|
||||||
mov es:0Ah, al
|
|
||||||
mov si, 141Eh
|
|
||||||
mov di, 10h
|
|
||||||
mov cx, 10h
|
|
||||||
|
|
||||||
loc_283C:
|
|
||||||
lodsw
|
|
||||||
xchg ah, al
|
|
||||||
shr ax, 4
|
|
||||||
and al, 0Fh
|
|
||||||
stosw
|
|
||||||
lodsb
|
|
||||||
shr al, 4
|
|
||||||
stosb
|
|
||||||
loop loc_283C
|
|
||||||
|
|
||||||
loc_284C:
|
|
||||||
pop di
|
|
||||||
pop si
|
|
||||||
retf
|
|
||||||
sub_2820 endp
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
nop
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
dword_2850 dd 0
|
dword_2850 dd 0
|
||||||
byte_2854 db 0, 90h
|
byte_2854 db 0, 90h
|
||||||
|
@ -3423,7 +3387,7 @@ loc_9C5E:
|
||||||
push offset unk_10316
|
push offset unk_10316
|
||||||
push large [dword_102FE]
|
push large [dword_102FE]
|
||||||
call graph_pi_free
|
call graph_pi_free
|
||||||
call sub_2820
|
call respal_set_palettes
|
||||||
pop si
|
pop si
|
||||||
leave
|
leave
|
||||||
retn
|
retn
|
||||||
|
|
Loading…
Reference in New Issue