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_putsa.asm
|
||||||
include libs/master.lib/gaiji_read.asm
|
include libs/master.lib/gaiji_read.asm
|
||||||
include libs/master.lib/gaiji_write.asm
|
include libs/master.lib/gaiji_write.asm
|
||||||
|
include libs/master.lib/graph_200line.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_400line.asm
|
include libs/master.lib/graph_400line.asm
|
||||||
include libs/master.lib/graph_clear.asm
|
include libs/master.lib/graph_clear.asm
|
||||||
include libs/master.lib/graph_copy_page.asm
|
include libs/master.lib/graph_copy_page.asm
|
||||||
|
@ -4481,7 +4440,7 @@ loc_9E24:
|
||||||
push cs
|
push cs
|
||||||
call near ptr sub_A38E
|
call near ptr sub_A38E
|
||||||
push 0
|
push 0
|
||||||
call sub_1402
|
call graph_200line
|
||||||
call sub_F0EE
|
call sub_F0EE
|
||||||
mov byte_23AEE, 0
|
mov byte_23AEE, 0
|
||||||
mov byte_23AEF, 1
|
mov byte_23AEF, 1
|
||||||
|
|
Loading…
Reference in New Issue