*******************************************************************************
		PART 4 (2) KCG

			T.Noda 

					Ver 1.00 : 1997/12/10(Wed) 06:56:47
*******************************************************************************


  KCG(R[hp^[ANZX)

@eLXgʂɕ\镶́AR[hw肷邾ŁAĕ\܂
Aɂ͈ȉ̂悤Ȏdg݂邩łB

        +---------------+
        |ABCDEFGH       | <--------+
        |               |          |
        |               |          |
        |               |       +------+
        +---------------+       |  |----------<----- VRAM̃p^[
                                +------+
          CRT                      |
                                   |
                                +------+
                                |  CG  |<---------------- SYSTEM FONT ROM
                                +------+
                                   |
                                   +-----------<--------- TVARM ̕R[h


	}@R[hʂɃp^[Ƃĕ\֌WiȈՓIj

@̂悤ɁAR[hCG(LN^WFl[^)Ńrbgp^[ɕϊ
Ăʂɓoꂵ܂B̉H̍̂PC98̔łB
@łAVXetHg̃p^[Ăяoɂ͂̉HgΗǂƂ
Ȃ܂B܂AR[h̃p^[̉HŐ邽߁A̎dg݂
KCG(LN^WFl[^)Ƃ܂B
@ʏ͈̏̔͂ł͑S֗^ȂłAR[hOtBbNʂ
\Ƃɂ́AȂdvȕłBOtBbNCu̐쓙
ɂƎv܂B

===============================================================================
  KCG֌WI/O|[g
===============================================================================

	 Write Port
	I/O Adress	|@\		|	f[^			
			|		| D7 D6 D5 D4 D3 D2 D1 D0	
	----------------------------------------------------------------
	A1H		|R[h	| { R[h2oCg }
			|QoCgw	|
	----------------------------------------------------------------
	A3H		|R[h	| { R[h1oCg - 20H }
			|PoCgw	|
			|		| 
			|		|    ɂ͕R[h1oCg
			|		|    20Hl
	----------------------------------------------------------------
	A5H		|ǂ݂	|  0  0 L   R  R  R  R  R
			|p^[	|       /   C  C  C  C  C
			|ʒuw	|       R   4  3  2  1  0
			|i݂j	|
			|		|  L/R : R[hp^[
			|		|        Eǂ̂w
			|		|
			|		|  RC0 :  cCʒu̎w Bit 0
			|		|  RC1 :  cCʒu̎w Bit 1
			|		|  RC2 :  cCʒu̎w Bit 2
			|		|  RC3 :  cCʒu̎w Bit 3
			|		|  RC4 :  (None)
			|		|
			|		|  ڂ͉̐}Q
	----------------------------------------------------------------
	A9H		|R[h	| { ޕp^[ }
			|	|

	 Read Port
	I/O Adress	|@\		|	f[^			
			|		| D7 D6 D5 D4 D3 D2 D1 D0	
	----------------------------------------------------------------
	A9H		|R[h	| { ǂݏop^[ }
			|ǂݍ


	RC3 RC2 RC1 RC0 |{      L/R = 1        }|{       L/R = 0       }
			|D7 D6 D5 D4 D3 D2 D1 D0|D7 D6 D5 D4 D3 D2 D1 D0
	------------------------------------------------------------------
	  0   0   0   0 |                       |
	  0   0   0   1 |                       |
	  0   0   1   0 |                       |
	  0   0   1   1 |                       |
	  0   1   0   0 |                       |
	  0   1   0   1 |                       |
	  0   1   1   0 |                       |
	  0   1   1   1 |                       |
	  1   0   0   0 |                       |
	  1   0   0   1 |                       |
	  1   0   1   0 |                       |
	  1   0   1   1 |                       |
	  1   1   0   0 |                       |
	  1   1   0   1 |                       |
	  1   1   1   0 |                       |
	  1   1   1   1 |                       |

	  p^[̈ʒuw֌W}

===============================================================================
  p^[ǂݏo
===============================================================================

@ۂɕp^[ǂݏo߂ɂ́AI/O|[gĝłAg
߂̃[݂܂B̗RKCGCPUCRTCɃANZX悤Ƃ
߂łB{́ACPU̓ANZXo܂iKv܂肠܂񂵁j
@łA܂̃ANZX邽߂̃[L܂傤B

	1,KCGɃANZXɂ

@KCG̃ANZXɂ2ʂ̕@݂܂B

@1,R[hANZX[h	: ʕ\sĂԂCRTCKCG̃ANZX
				  ĂB̊ԂCPU̓ANZXł
				  ȂB
	ύX@:[htbvtbvPKCGANZX[hrbg}bv
		 ɂB(GDCQ)

@2,KCGANZX[h		: ʕ\ԂłCPUKCGANZXB

	ύX@:VSYNCԂɓƎIɐ؂芷B

@ȏ̂Qʂ̕@݂܂Âǂ炩g̓vOЂ
̔fłB
@ǂA꒷ZłAꍇKvł傤B

@1,R[hANZX[h	: :Ȃ鎞łANZXłB
				  Z:CRTCANZXłȂ߁A\
				       R[hׂ͂ĈӖ̂Ȃp^[
				       \B
				       ANK͓ǂݏoȂBiCG̃ANZX
				       VCYNCԂɂȂȂƁACPUɓnȂ
				       )

@2,KCGANZX[h		: :ʂ𗐂ȂB
				  Z:VYSNCԂɂȂ̂܂΂Ȃ
				       BԂ̑ɂȂB


@̂悤ȁAƒZg킯Kv܂BANK܂ޕ`
ɂ͌KCGANZX[hI΂Ȃ̂ŁAVSYNCԂɏs
@x^[ł傤B

	2,ǂ݂R[h̎w

@ăANZX[h߂Aǂݏop^[̕R[hw肵Ȃ
܂B̂߂̃|[g A1H , A3H łB̃|[gɂ̕R[h
݂܂B

	̎ |            wp^[  
		   |     QoCg    |       PoCg
	---------------------------------------------------------
	ANK    |       00H         |        ANKR[h
	Sp   | JISR[hByte | JISR[hByte - 20H
	p   | JISR[hByte | JISR[hByte - 20H

@̂悤ɁAȂ܂B

	3,ǂݏop^[̈ʒuw

@͕p^[̊i[TCY8BitȂ߁A̕p^[̂ǂ̕
̃|[gɕԂw肷邽߂̂̂łBʒuŵ߂̃|[g A5H 
łB

@ʒuw̃p[^͐I/O|[g̏ڍׂɋLĂƂłB

@ANK̏ꍇL/R͏ɂOł܂܂B܂ARC0  RC3 ̓tHgp^
[̏cJE^Ƃ݂ȂĂ܂܂B
@̃[vJE^PTɂȂ܂ŉ񂵂āASẴp^[擾ł珈
IłB

	4,ANZX[h̕A

@ŌɁAR[hANZX[hŃANZXĂꍇ̓ANZX[hKCGAN
ZX[hɖ߂Kv܂B̂܂܂ɂĂʂ̕ꂽԂ
Ă܂܂B

	TvvOQ	:	KCGTEST.C

===============================================================================
  CG Window
===============================================================================

@CG Window Ƃ̂́AtHgp^[Ă郁̗̖̈OłB
@VMȍ~̋@݂̂łB
@̃ɂ͐ЉAJE^ł̈ʒuwȂȂĂAP
̑Sp^[PxɕԂ̂łB
@̗̈̃AhX A400:0000 Ԓn32Bytë̗łB
@̃AhXɕԂ镶R[h̎w@͐I/Ogē悤ɍs
܂B


	AhX	|     Ԓne      |    Ԓne
			|D7 D6 D5 D4 D3 D2 D1 D0|D7 D6 D5 D4 D3 D2 D1 D0
	-----------------------------------------------------------------
	0A40:0000	|			|
	0A40:0002	|			|
	0A40:0004	|			|
	0A40:0006	|			|
	0A40:0008	|			|
	0A40:000A	|			|
	0A40:000C	|			|
	0A40:000E	|			|
	0A40:0010	|			|
	0A40:0012	|			|
	0A40:0014	|			|
	0A40:0016	|			|
	0A40:0018	|			|
	0A40:0018	|			|
	0A40:001A	|			|
	0A40:001C	|			|
	0A40:001E	|			|

	} CG Window

@ȏ̂悤Ƀp^[͕Ԃ܂B̃̓eΏłł
傤BAꕔ̎̕ނ̏ꍇ͑Sp^[xɌ邱Ƃł܂B
@xɌ̂́AJIS1A2̊łB
@ȊO̊iO@j́AԒnLɓȂ̂ŁAI/Og
悤ɓǂ݂ʒuwKv܂B

 L/R = 0 Ł@E, L/R = 1 Ł@

@ACG Windowŕp^[ƂI/O̎ƓlɁAANZX[h
wKsKv܂B

	TvvOQ

