mirror of https://github.com/nmlgc/ReC98.git
[Reduction] #426: graph_200line
Yup. TH03's graphics layer is actually set to a resolution of 640x200 and upscaled by the hardware, which gives the game its distinctive low-res look.
This commit is contained in:
parent
1276b727ff
commit
c90b76bff9
|
@ -0,0 +1,77 @@
|
|||
; master library - PC98
|
||||
;
|
||||
; Description:
|
||||
; グラフィック画面を 200lineに設定する
|
||||
;
|
||||
; Function/Procedures:
|
||||
; void graph_200line( int tail ) ;
|
||||
;
|
||||
; Parameters:
|
||||
; int tail 0 = 上半分、 1 = 下半分
|
||||
;
|
||||
; Returns:
|
||||
; none
|
||||
;
|
||||
; Binding Target:
|
||||
; Microsoft-C / Turbo-C / Turbo Pascal
|
||||
;
|
||||
; Running Target:
|
||||
; PC-9801
|
||||
;
|
||||
; Requiring Resources:
|
||||
; CPU: 8086
|
||||
;
|
||||
; Notes:
|
||||
; 同時にアクセスページを 0 に設定します。
|
||||
;
|
||||
; Compiler/Assembler:
|
||||
; TASM 3.0
|
||||
; OPTASM 1.6
|
||||
;
|
||||
; Author:
|
||||
; 恋塚昭彦
|
||||
;
|
||||
; Revision History:
|
||||
; 92/11/16 Initial
|
||||
; 93/ 3/27 gc_poly.lib合併
|
||||
; 94/ 1/22 [M0.22] graph_VramZoom対応
|
||||
|
||||
func GRAPH_200LINE
|
||||
mov BX,SP
|
||||
mov BX,SS:[BX+RETSIZE*2]
|
||||
mov CX,BX
|
||||
ror CX,1
|
||||
cmc
|
||||
rcr CX,1
|
||||
mov AH,42h
|
||||
int 18h
|
||||
|
||||
mov AL,8 ; 高密度
|
||||
out 68h,AL
|
||||
|
||||
mov AX,0a800h
|
||||
or BX,BX
|
||||
jz short @@SKIP
|
||||
mov AX,0abe8h
|
||||
@@SKIP:
|
||||
mov graph_VramSeg,AX
|
||||
mov ClipYT_Seg,AX
|
||||
|
||||
mov AX,0
|
||||
mov ClipXL,AX
|
||||
mov ClipYT,AX
|
||||
mov AX,639
|
||||
mov ClipXR,AX
|
||||
mov ClipXW,AX
|
||||
|
||||
mov graph_VramWords,8000
|
||||
mov AX,200
|
||||
mov graph_VramLines,AX
|
||||
dec AX
|
||||
mov ClipYB,AX
|
||||
mov ClipYH,AX
|
||||
mov ClipYB_adr,(80*199)
|
||||
mov graph_VramZoom,1 ; GDC 2.5MHz固定, zoom 1bit(2倍)
|
||||
|
||||
ret 2
|
||||
endfunc
|
|
@ -152,48 +152,7 @@ include libs/master.lib/gaiji_putca.asm
|
|||
include libs/master.lib/gaiji_putsa.asm
|
||||
include libs/master.lib/gaiji_read.asm
|
||||
include libs/master.lib/gaiji_write.asm
|
||||
|
||||
; =============== S U B R O U T I N E =======================================
|
||||
|
||||
|
||||
sub_1402 proc far
|
||||
mov bx, sp
|
||||
mov bx, ss:[bx+4]
|
||||
mov cx, bx
|
||||
ror cx, 1
|
||||
cmc
|
||||
rcr cx, 1
|
||||
mov ah, 42h ; 'B'
|
||||
int 18h ; TRANSFER TO ROM BASIC
|
||||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||||
; often reboots a compatible; often has no effect at all
|
||||
mov al, 8
|
||||
out 68h, al
|
||||
mov ax, 0A800h
|
||||
or bx, bx
|
||||
jz short loc_1421
|
||||
mov ax, 0ABE8h
|
||||
|
||||
loc_1421:
|
||||
mov graph_VramSeg, ax
|
||||
mov ClipYT_seg, ax
|
||||
mov ax, 0
|
||||
mov ClipXL, ax
|
||||
mov ClipYT, ax
|
||||
mov ax, 27Fh
|
||||
mov ClipXR, ax
|
||||
mov ClipXW, ax
|
||||
mov graph_VramWords, 1F40h
|
||||
mov ax, 0C8h ; 'È'
|
||||
mov graph_VramLines, ax
|
||||
dec ax
|
||||
mov ClipYB, ax
|
||||
mov ClipYH, ax
|
||||
mov ClipYB_adr, 3E30h
|
||||
mov graph_VramZoom, 1
|
||||
retf 2
|
||||
sub_1402 endp
|
||||
|
||||
include libs/master.lib/graph_200line.asm
|
||||
include libs/master.lib/graph_400line.asm
|
||||
include libs/master.lib/graph_clear.asm
|
||||
include libs/master.lib/graph_copy_page.asm
|
||||
|
@ -4481,7 +4440,7 @@ loc_9E24:
|
|||
push cs
|
||||
call near ptr sub_A38E
|
||||
push 0
|
||||
call sub_1402
|
||||
call graph_200line
|
||||
call sub_F0EE
|
||||
mov byte_23AEE, 0
|
||||
mov byte_23AEF, 1
|
||||
|
|
Loading…
Reference in New Issue