diff --git a/libs/master.lib/graph_200line.asm b/libs/master.lib/graph_200line.asm new file mode 100644 index 00000000..73724300 --- /dev/null +++ b/libs/master.lib/graph_200line.asm @@ -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 diff --git a/th03_main.asm b/th03_main.asm index e0fba5d6..18e747db 100644 --- a/th03_main.asm +++ b/th03_main.asm @@ -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