*******************************************************************************
			PART 4 (3) GDC

				Y.Yamanisi

					Ver 1.00 : 1997/12/10(Wed) 07:00:49
*******************************************************************************

fcb

@ʎ̗lXȐݒĂ̂ÂfcbƂ̂łB
@ۂɂǂ̂悤Ȑݒ肪o邩ƂƁA
EeLXg,OtBbÑI/It
EʃTCY̕ύX
En[hEFAXN[icj
EJ[\TCY̕ύX
ESyncӰނ̐ݒ(PC9821)
L܂BŋȊOɂFXȋ@\͗L܂Ag肪
Â炢̂łł͐܂B܂APC98̃OtBbNł́AmNEWFE
16FE256F(9821)T|[gĂ܂AmNEWF[h͎gp邱Ƃ
Ȃ߁A܂B
@܂Afcb̐ݒI/O߰Ă璼ڐ䂷@ƁABIOS(int18)܂
AłI/O߰Ă璼ڐ䂷Ă܂B

===============================================================================
h^n|[g
===============================================================================

 [h

	60h	TEXT GDC ð ǂݏo
	A0h	GRAPHIC GDC ð ǂݏo

	62h	TEXT GDC ް ǂݏo
	A2h	GRAPHIC GDC ް ǂݏo

 Cg

	60h	TEXT GDC Ұ 
	A0h	GRAPHIC GDC Ұ 

	62h	TEXT GDC  
	A2h	GRAPHIC GDC  

	64h	CRT荞݃Zbg

	68h	Ӱدۯ1̏

	6Ah	Ӱدۯ2̏

	6Ch	ްްװ̏

	A4h	OtBbN\ʂ̎w

	A6h	OtBbN`ʂ̎w

	A8h	pbgԍ̎w

	AAh	΋Px̏

	ACh	ԋPx̏

	AEh	Px̏

       9A0h	ǂݏo|[gݒ

       9A8h	g̐ݒ


@fcb̐ݒɂ́AR}h݂ɑăp[^݂Ă܂(
R}hɂĂ̓p[^邪)B
@R}hłAeLXgƃOtBbNŃp[^⓮삪Ⴄ̂L
ŒӂĉB

[htbvtbv

@fcbɂ́A̓ݒAۑ̂ɃtbvtbvgpĂ܂
B̒g̒ŁA傾̂ɋĂ܂B

	Ӱدۯ1

+-------+-------------------------------+-------------------------------+
|o͒l	|		Ӗ		|				|
+-------+-------------------------------+-------------------------------+
|  00h	|	ATR4ްײ		|	÷ıޭĂ		|
|  01h	|	ATR4Ȉո		|	bit4̈Ӗ		|
+-------+-------------------------------+-------------------------------+
|  02h	|	װ̨Ӱ		|	̨ʂ		|
|  03h	|	ɸ۸̨Ӱ		|	Ӱނ̑I		|
+-------+-------------------------------+-------------------------------+
|  04h	|	TEXT 80Ӱ		|	÷ĉʂ		|
|  05h	|	TEXT 40Ӱ		|	\		|
+-------+-------------------------------+-------------------------------+
|  06h	|	ANK 6*8 ޯ		|	ANKp^[	|
|  07h	|	ANK 7*13 ޯ		|	I			|
+-------+-------------------------------+-------------------------------+
|  08h	|	400 LINE Mode		|	OtBbN𑜓x	|
|  09h	|	200 LINE Mode		|	I			|
+-------+-------------------------------+-------------------------------+
|  0Ah	|	ޱӰ		|	KCGӰނ		|
|  0Bh	|	ޯϯӰ		|	I			|
+-------+-------------------------------+-------------------------------+
|  0Ch	|	s؏ݕs	|	s؏	|
|  0Dh	|	s؏݉	|	Ӱނ̑I		|
+-------+-------------------------------+-------------------------------+
|  0Eh	|	ʕ\s		|	÷&̨̉ʕ\	|
|  0Fh	|	ʕ\		|	L̑I		|
+-------+-------------------------------+-------------------------------+


	Ӱدۯ2

+-------+-------------------------------+-------------------------------+
|o͒l	|		Ӗ		|				|
+-------+-------------------------------+-------------------------------+
|  00h	|	8F̨Ӱ		|	W̨Ӱނ	|
|  01h	|	16F̨Ӱ		|	\̑I		|
+-------+-------------------------------+-------------------------------+
|  04h	|	GRCG Ӱ		|	EGC̓샂[h̑I	|
|  05h	|	EGC Ӱ		|(gӰޕύX̏ꍇ̂ݗL)	|
+-------+-------------------------------+-------------------------------+
|  06h	|	gӰޕύXs	|	g̨ӰޕύX	|
|  07h	|	gӰޕύX		|	ۂ̑I		|
+-------+-------------------------------+-------------------------------+
|  20h	|	W̨Ӱ		|	256F̨Ӱނ	|
|  21h	|	g̨Ӱ		|	gp̗L		|
+-------+-------------------------------+-------------------------------+
|  40h	|	CRTӰ			|	eLXgʂ1ޯĂ	|
|  41h	|	׽ިڲӰ	|	̐		|
+-------+-------------------------------+-------------------------------+
|  68h	|	\߰ނ͓Ɨ		|	256FpVRAM̕\`	|
|  69h	|	\߰ނ͘A		|	I			|
+-------+-------------------------------+-------------------------------+
|  83h	|	GDC 5MHzӰ		|	GDCg̑I	|
|  85h	|				|5MHzɂɂ́A83h,85h̗|
|  84h	|	GDC 2.5MHzӰ		|o͂ĂȂ΂ȂȂ	|
+-------+-------------------------------+-------------------------------+


@OtBbNLɂĂɂ́Ã[htbvtbvݒ肷Kv
܂B̓Iɂ͉̂悤ɂȂ܂B

<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>
)	PUFOtBbN 640*400[h ̐ݒ

	outp( 0x68, 0x02 );		/*J[OtBbN[h*/
	outp( 0x68, 0x08 );		/*𑜓x*/
	outp( 0x6a, 0x41 );		/*vY}fBXvB*/
	outp( 0x6a, 0x01 );		/*16 COLOR MODE*/

	outp( 0xa2, 0x4b );		/*CݒR}h*/
	outp( 0xa0, 0x00 );		/*c{ {*/

	outp( 0xa4, 0x00 );		/*\y[W\*/
	outp( 0xa6, 0x00 );		/*\y[W`*/
	outp( 0xa2, 0x0D );		/*OtBbNn*/

<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>

===============================================================================
pbg
===============================================================================

@PC98ł́AOtBbN̐F̐ݒɃpbg̗pĂ܂Bpbg
Ƃ́AF̃f[^(qfal)zɊi[A̗vfԍp邱Ƃłǂ̐Fo
肷̂łBɂāA̃rbg点̂ɕKvȃf[^ʂ
炷Ƃo܂B
@PC98̕WOtBbN[hł́Ãpbg̗vf16Ȃ̂ŁAʂ16
F[hƌĂ΂Ă̂łB
@gOtBbN[h̏ꍇł́A256ɂȂQTUF[hƌĂ΂܂B

@ł́Apbg@Ă݂܂傤

   @	pbgԍ̐ݒ	A8h
@̃|[gɕύXpbg̗vfԍł܂B16F[hł͏
ʂSrbg͈Ӗ܂B256F[ĥݗLłB

   A	ePx̏	AAh, ACh, AEh	grb
@@Őݒ肵pbg̗vfɁAeF̋Pxlł܂Bڂ́A
		AAh
		ACh
		AEh
ɒlݒ肵Ă܂B
@͂16F[hł͏ʂSrbg͈ӖȂA256F[ĥݗLłB

<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>
 )
	outp( 0xa8, PaletteNumber );
	outp( oxaa, Green );
	outp( oxac, Red );
	outp( oxae, Blue );

<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>/<_>


===============================================================================
fcbXe[^Xǂݍ
===============================================================================

@fcb͎X̃Xe[^XĂāAText60h,GraphicA0hǂݏoŁC
擾ł܂Be͉̒ʂB

   bit0:	 P̂ƂA f[^ǂݏoR}hssꂽCf[^ǂ
   		o\ɂȂĂ鎖

   bit1:	 P̂ƂAFIFOobt@ςɂȂĂ鎖

   bit2:	 P̂ƂAFIFOobt@ɋ󂫂L邱Ƃ

   bit3:	 P̂ƂAFIFOobt@ŗL邱Ƃ

   bit4:	 PC98 ł͈ӖȂ

   bit5:	 VSyncMĂ鎖

   bit6:	 HSyncMĂ鎖

   bit7:	 PC98 ł͈ӖȂ



fcbւ̃f[^o

@fcb́AR}h,p[^I/O߰ĂƃWX^̊ԂFIFOޯ̧Ă
A16޲ĂȂ߁AAăf[^o͂ĂƈĂ܂ꍇ
L܂Bh~ׂɁAfcb̃Xe[^XǂݏoFIFOobt@ɋ
L邩𒲂ׂȂĂ͂Ȃ܂B
@ۂɉ𒲂ׂ΂ƌƁAL̂fcb̃Xe[^Xǂݍ݂gp
܂Brbg̈ӖɏĂ̂ővł傤B


===============================================================================
fcb\nR}h
===============================================================================

@EeLXgiȗn txtj
@EOtBbNiȗn grphj

Ӂ
p[^̐"www","www"̗lȕ\ĹAwwwƂp[^
highAlowƂłBwww̐ˁ[{PIƌȂŉB

Ӂ
@܂œǂłlɂ͔Ăł傤AႢĂlȂƂ
Ȃ̂ŔÔߏĂ܂AŌueLXgvƂ́Auȏv
͂܂BŢOh!̂!Ǝvl͂ǂ܂ȂėǂłB
߂ĉB


 \Jn					txt,grph
@commnad	0Dh
@parameter	nothing
@\悤ɂȂ܂B



 \~					txt,grph
@commnad	0Ch
@parameter	nothing
@\ȂȂ܂B



 \JnAhX\̈TCY̐ݒ	txt,grph
@commnad	70h+x

@̃R}h́AɃp[^̃AhX邱ƂŁASẴp[^݂̏ȂĂǂ悤ɂȂĂB

		D7 D6 D5 D4 D3 D2 D1 D0
@parameter0+n	<---------SADl-------->
@parameter1+n	<---------SADm-------->
@parameter2+n	<---SLl---> 0  0 <SADh>
@parameter3+n	0  IM <-----SADh------>

SAD:̈̊JnAhX(WORDP)
SL :̈̃C
IM :÷Ăł͂OĄłGDC 2.5MHẑƂOCGDC 5MHẑƂP

@÷GDCł͂͂O`RŁĄGDCł͂͂O`PƂȂB



 Ps̃CAJ[\̐ݒ		txt,grph
@commnad	4Bh

		D7 D6 D5 D4 D3 D2 D1 D0
@parameter0	CS 0  0  <----L/R----->
@parameter1	<BLl> BD <----CST----->
@parameter2	<---CFI------> <--BLh->

L/R:Ps̃C̎w|P
CST:J[\\Cl
BL :J[\_Ŏ(O)
CFI:J[\\ICl
CS = 1 J[\̕\
BD = 1 _Ŗ

@OtBbNłparameter0B(CS=0)


 VRAM̉̐ݒ
@commnad	47h
@parameter	̎w ÷ĥGDC 5MHzł͕,GDC 2.5MHz ł͂̔





fcb쐧nR}h

@ʃ[h̐؂ւ̍ہAKvɂȂ鎖L܂BݒԈႦƉʕ\
߂ႭɂȂĂ܂̂ŁA[ɋCtĉB(ʃ[h߂Ă
c[Lƕ֗)


 fcb̏		txt,grph
@commnad	00h
@parameter	nothing

@GDC܂B́ASĂ̐ݒȂ΂Ȃ܂B܂
g͖ł傤A̍ۂɎgp邱ƂL邩mȂ̂ňꉞ
܂B



 샂[h̐ݒ	txt,grph

		D7 D6 D5 D4 D3 D2 D1 D0
@commnad	0  0  0  0  1  1  1  DE

@parameter0	0  0 CHR F  I  D  G  S
@parameter1	<---------C/R--------->
@parameter2	<--VSl-> <-----HS----->
@parameter3	<---HFP---------> <VSh>
@parameter4	0  0  <------HBP------>
@parameter5	0  0  <------VFP------>
@parameter6	<---------L/Fl-------->
@parameter7	<------VBP------><L/Fh>





DE	0:ʔ\
	1:ʕ\

CHR,G	00:OtBbN݃[h	TXT
	01:[h
	10:OtBbN[h		GRPH
	11:֎~

F	0:tbV`		TXT,GRPH
	1:tbVX`

I,S	00:mC^[X		TXT,GRPH
	01:֎~
	10:C^[X
	11:C^[XVN

D	0:X^eBbNq`l	TXT
	1:_Ci~bNq`l	GRPH


C/R	\
HS	M̕(LN^)
HBP	ʍ\̕(LN^)
HFP	ʉE\̕(LN^)
VS	M̕(C)
VBP	ʏ\̕(C)
VFP	ʉ\̕(C)
L/F	ʕ\C



 ꂾႾ

@́AɂI/O|[gł͂܂삪ȂꍇL܂B
SȂ̂ɂɂ́AVXeʗ̈˂΂Ȃ܂B̃VXe
ʗ̈̏ڂe͐܂Bm肽ΓKȎQlwA邢͎؂
ĉ(ǂ݂̓_!)Bʐݒ֌WɕKvȕł͏ȗ܂BT
vvO̕ɏĂ̂łQƂĂB


===============================================================================
ʃ[h
===============================================================================

@ɂ́AeLXgł͗]ĝłAʂ̍s
ύXɎgpƕ֗łˁB
@PC98ذނł̓eLXgʂWOAcQTsŒAƎvĂ邩m
܂񂪁Ax͈̔͂łȂΑ邱Ƃ͏o܂B̓OtBbN
邱ƂŁAʃTCYς()Ƃɂf[^ʂ炷Ƃ
o܂BAAŋCtĂ˂΂ȂȂL܂BOtBbN̉
PʂɂȂŉBPʂɂĂ܂Ɛɓ삵ȂƂL
܂B

@Ñォ炠WF[h́A݂ł͖wǎgĂ܂BWFȉgȂ
ꍇłAPUF[hƂĂ֗ł傤(pbg̈y)B
AWF[hɂ郁bg͑SL܂B

@悭Q[640*200(200ײӰ)ɂ邱ƂL܂AӰدۯ
1200LineÎł͂ȂA400LineŏcQ{\ɂĎĂ܂B
̂悤ȕ@Ă邩ƌƁA15kHzӰނ@ł͌ɂ200ײӰ
ނT|[gĂȂƌ({200ײӰނ15kHzӰނœ삷)A
邵̂łB

@640*480(480ײӰ)9821ɂȂēڂꂽʃ[hŁA256F\̎̂ݏo
邱ƂɂȂĂ܂BہA16F[hł́AVRAMȂ߂ɕ\\
܂B640*240(240ײӰ)ȂΖ薳܂B


 ۂɓ

@ꉞ͐܂ˁBTvvOL邵FXĂ݂܂傤B
̂ƂAȒPɉʂ𒼂ĂiĐݒ肵Ăjc[LƁAƂĂ֗
ł̂ŗpӂĂƗǂł傤BiI TT ֗j


 t͉ĂH

@ȂhJbƏĂ܂܂A悭ȂpꂪL܂B
ȒPɐ܂B

QTU[hFPC9821ɂȂčꂽAV̨Ӱ16777216F256Fo
		gOtBbN[hƏ̂邱Ƃ

ur  FfBXvC̑E獶ɖ߂߂̐M. M

gr  FfBXvC̑E獶ɖ߂߂̐M. M

FIFOޯ̧   Fõobt@. [JɃf[^āA[
	    f[^oƂ

qfal    F̎OFł(Red)A(Green)A(Blue)̋Px
	    Ƃ܂Ƃ߂

g[h  FPC9801 VM ȍ~ŕtꂽOtBbN@\gOtBbN@\
	    ƌ炵Bgp邽߂ɂ͢g[hύX£ɂȂ
	    ȂȂ悤B(肩ł͂Ȃ)



