;	私製ライブラリ・グラフィック篇
;	(c) MATSUUCHI Ryosuke in Dec,1992
;
;	gwrtpage.asm : 画面モードの設定
;
;	1992. 7.16(Thu)
;	1992.12.28(Sun)

		public	gwrtpage, _gwrtpage

		include	grplib.inc

		assume	cs:cseg, ds:dseg


dseg segment dword 'DATA'
dseg ends



cseg segment dword 'CODE'

;---------------------------------------------------------------
;	_gwrtpage : 
;		in eax : ページ番号
;		         ビット７を立てると、仮想画面への
;			 書き込みとなる。
;
;	gwrtpage(int page);
;---------------------------------------------------------------

gwrtpage	proc
		mov	eax,[esp+4]
		call	_gwrtpage
		ret
gwrtpage	endp



_gwrtpage	proc
		push	eax
		push	ebx
		mov	[_wrtpage],eax
		bt	eax,7
		jc	#0
			;書き込みページは実画面
			mov	ebx,[_scrmod+eax*4]
			mov	[_nowscrmod],ebx
			mov	ebx,eax
			mov	ah,05h
			mov	al,bl
			call	_callEGB
			jmp	#1
		#0:
			;書き込みページは仮想画面
			and	eax,7fh
			mov	ebx,[_vscrmod+eax*4]
			mov	[_nowscrmod],ebx
		#1:
		pop	ebx
		pop	eax
		ret
_gwrtpage	endp



cseg ends

end
