   ___ ___         _
  /   |   \ ___ __/ \__ ___  ___  /\__
  \  / \  // __>\_   _// __|/ __\/    \
   \_____/_\__ \  \_/  \___|\___/\_/\_/
          \____/
                                   1.4

1. {ɂ

   WStech doc v 1.4 made by Judge and Dox.
   { v 1.4j by Jay's Factory.

   What's new :

   1.4j- 12.01.2002 -  {
   1.4 - 04.01.2002 -  EEPROM  ($C4 - $C8)
                       1.3ւ̍XVɂuBIOSvu EEPROMvɕύX
                       |[g $C1Ɋւm
                       u EEPROMvɊւm
                       wb_ EEPROMCROMTCYXV
                       WS mNRAM TCY 16KBɊm
                       |[g $15  (LCD ACR)
                       oNXV
   1.3 - 01.01.2002 -  J[gbWwb_ RTC oCg
                       RTC I/O ($CA, $CB)
                        EEPROM ʐM (?) (I/O 0xBA - 0xBE)CuLҁv ̍\
   1.2 - 26.10.2001  - ׂȏC
   1.1 - 20.10.2001  - 

   Rg/XV/ dox@space.pl ɑt
   {łւ̃Rg/XV/ jays_factory@NOSPAM.excite.co.jp ɑt

2. CPU

   3.072MHzœ삷80186(炭CNEC V20/V30DCNECL̃IyR[h(vtBbNX
   0xFA)͖)D
   ܂C^C~OɊւĂC80186Ƃ͈قȂĂD

3. 

   20rbgAhX = 1KoCgD́C64KBubN(ZOg/oN)ɕ
   D

   oN 0 - 16 KB (WS) / 64 KB (WSC) RAM(LQ)
          1 - SRAM/EEPROM(J[gbW)
          2 - ROMoN(oN = ŏIoN)
          3 - ROMoN(oN = ŏIoN)
          4 - ŒROMoN(ŏIoN - 11)
          5 - ŒROMoN(ŏIoN - 10)
          6 - ŒROMoN(ŏIoN - 9)
          7 - ŒROMoN(ŏIoN - 8)
          8 - ŒROMoN(ŏIoN - 7)
          9 - ŒROMoN(ŏIoN - 6)
          A - ŒROMoN(ŏIoN - 5)
          B - ŒROMoN(ŏIoN - 4)
          C - ŒROMoN(ŏIoN - 3)
          D - ŒROMoN(ŏIoN - 2)
          E - ŒROMoN(ŏIoN - 1)
          F - ŒROMoN(ŏIoN)

   RAM}bv:
      $0000 - $1FFF                           WS/WSC      
      $2000 - $2FFF    4F ^C             WS/WSC
      $4000 - $7FFF   16F ^C oN 0    WSĈ
      $8000 - $BFFF   16F ^C oN 1    WSĈ
      $C000 - $FDFF                           WSĈ
      $FE00 - $FFFF   pbg(WSC)           WSĈ

4. rfI
   ʃTCY      - 224 x 144 sNZ(28 x 18 ^C)
   ^CTCY    - 8 x 8 hbgC16 oCg/^C(4F[h)ĆC32oCg/^C
                     (16F[h)
   }bvTCY    - 256 x 256 sNZ(32 x 32^C)
   C          - 2 C - obNOEh(BG)CtHAOEh(FG: őOʂ̃C)
   }bvʒu      - |[g $07ɂI\
   ^Cʒu      - ŒC2oN - $4000ɃoN 0C$8000ɃoN 1
   }bv`      - }bvɂʒúC1 [hŒ`F
                     rbg
                     0 - 8   - ^Cԍ(0-511)
                     9 - 12  - pbgԍ(0-15)
                     13      - ^CoN
                     14      - ]
                     15      - ]

                     1) HVBPPPPTTTTTTTTT


   ^C`      - rfI[hɈˑ(|[g $60)
   XvCg      - ő128 XvCg, ꑖɂ́Cő32XvCgɐ
                     XvCg`F
                     oCg 0, 1 - rbg
                                   0 - 8   - ^Cԍ(0-511)
                                   9 - 11  - pbgԍ(0-7) + 8 -> (8-15)
                                   12      - EBhEENbv ON/OFF
                                   13      - C̗D揇
                                             0 - 2C(BGCFG)̊Ԃɔzu
                                             1 - ̃C̏ɔzu
                                   14      - ]
                                   15      - ]
                     oCg 2 - ʏYW
                     oCg 3 - ʏXW

                     1) HVPCPPPTTTTTTTTT
                     2) XXXXXXXXYYYYYYYY

   F\          - _[X(mN)́C16 K̃O[XP[(ɁC8 K̂
                     I)\邱ƂłD8 ḰCZbgƂĊi[
                     Cpbg`ɂC̃ZbgC4 KIłD16 pbg
                     ݂DBGCFG̃CɂẮCׂĂ16 pbgpłD
                     CXvCgɂẮC㔼8 pbĝ݂płDǂ8 F
                     p, pbg𐶐邩́C|[g $1C, |[g $1EɂĒ`
                     D|[g $1ĆCpbgF 0 - 3C|[g $1ÉCpbgF 4 - 7
                     Cꂼ`DpbgF́C4 rbgŒ`:

                   1C : 11110000
	               1D : 33332222
	               1E : 55554444
	               1F : 77776666

                     (ŁCF 15łÂFł)

                     |[g $20 - $3ÉCpbĝ`̂ɗpD

                       20 : x111x000 - pbg #0
                       21 : x333x222 
                       ...

                     J[rfI[hł́CeF́C1 [hŒ`D
                        ŁCrbg:
                                0 -  3  
                                4 -  7  
                                8 - 11  
                               12 - 14  gp
                     J[pbǵCRAM̈($FE00Ԓn)Ɋi[D

   XN[      - eĆC|[g $10 - $13ɂāC/ɃXN[邱Ƃ\D

   F          - _[X       - pbgԍ̃rbg 3Zbg̎ - ̃pbg
                                            F 0͓FD
                     _[XJ[ - epbg̐F 0͓FD

   EBhE      - 2̃EBhE - FG C𖳌/L`̈(FG EBhE)C
                     XvCg(XvCgEBhEj

5. ROMwb_

 wb_(ROMt@C̍Ō10oCg)
 oCg :
 0   - JID
 1   - T|[gĂŒ̃VXe
       00 - WSmN
       01 - WSJ[
 2   - oCg 0ɂĒ`J҂ɑΉJ[gbWID
 3   - s
 4   - ROMTCY
       01 - s
       02 - 4Mrbg
       03 - 8Mrbg
       04 - 16Mrbg
       05 - s
       06 - 32Mrbg
       07 - s
       08 - 64Mrbg
       09 - 128Mrbg      
 5   - SRAM/EEPROMTCY
       00 - 0k
       01 - 64k SRAM
       02 - 256k SRAM
       10 - 1k EEPROM
       20 - 16k EEPROM
       50 - 8k EEPROM
 6   - tIȋ@\(?)
       - rbg 0 - 0 - c^Q[, 1 - ^Q[
       - rbg 2 - 1
 7   - 1 - RTC(A^CENbN)
 8,9 - `FbNT = Ō2oCg(`FbNTi[)ROMC[W̃oCga

6. 荞
   _[XCPÚCn[hEFA7ނ̊荞݂FD:
    7 - A(HBlank)
    6 - A(VBlank)Jn
    5 - A(VBlank)I
    4 - C`挟o(: |[g $03Q)
    3 - VAM
    2 - RTCA[
    1 - L[
    0 - VAM
  ̊荞݂ۂɁC̊荞݂ɑ΂āCCPUȂ炩̓sȂ́C|[g 
  $B2Ō肳DL̊荞ݔԍ́C|[g $B2̃rbgԍɑΉĂC荞݂C
  |[g $B6̑Ήrbg 1ɃZbgDC荞݂\ɂȂĂ΁CCPUւ̊
  ݂D܂C̊荞݂nhR[h́C|[g $B6̑ΉrbgNA
  Ȃ΂ȂȂD

  :
   ܂C_[XCAJn荞݂ɑ΂āCs悤ɐݒ肷DꂩC
   |[g $B6̃rbg 6nC(1)ɃZbgāCCPŮ荞݂ɑ΂铮s悤ɂȂ
   ܂ŁC荞݃CnC(1)ɕۂDT^IȐA荞݃[`CLɎ:

        <WX^ۑ(PUSH)>
        <ۂ̏s>
        out B6,40
        <WX^𕜋A(POP)>
        iret

  q荞ݔԍ́CxNge[uɊi[ꂽ荞݃xNgɑ΂銄荞ݔԍƂ́C
  ΉȂDۂ̊荞ݔԍɊւāC|[g $B0ɂCx[XZbgDC|[g
  $B0 20h ZbgꂽƂƁCAJn荞ݗp̃[`́C荞݃xNg 26h
  ݒ肳Ȃ΂ȂȂ(x[X 20hłCAJn荞݂ 6ł)D

7. Rg[
   |[g $B5[h/Cg邱ƂŁC{^̏Ԃ`FbN邱Ƃ͊ȒPł(LQ)D
   C|[g $B5[h/Cg̊Ԃɂ́CfBC(NOP)KvłD
     
8. IEEPROM ʐM(?)ƁuLҁv ̍\
   0xBA - 0xBEɂI/O |[ǵCWSɂEEPROM (Ⴆ - uLҁv )CVAɃ[h
   ̂ɗpD

    0xBA ([h) - f[^
    0xBC ([h) - AhX (EEPROMTCYŏZC]𗘗p(s))
    0xBE (oCg) - ʐM (?)
                    rbg 4́Cf[^[hOɃZbg
                    rbg 1́Cf[^̃[hɁCn[hEFAZbg

     :

        mov    ax, $1B9
        out   $BC, ax
        mov    al, $10
        out   $BE, al
        xor    dx, dx
   miniloop:
        inc    dx
        cmp    dl, 32
        jnc    bad_data
        in     al, $BE
        and    al, 1
        jz     minilopp
        in     ax, $BA    ; aƒa


   uLҁv ̍\ :

    - O            - 16 oCg ( 0 = Space, 1 = '0' ... 0xA = '9', 0xB = 'A'... )
    - aN          -  2 oCg (BCD)
    - a          -  1 oCg (BCD)
    - a          -  1 oCg (BCD)
    -             -  1 oCg (1 - j , 2 - )
    - t^          -  1 oCg (1 - A, 2 - B, 3 - 0, 4 - AB)

    \̂̃TCY - 22 oCg  = 11 Ń[h,
    AhX͈ = 0x1B0 - 0x1BA

9. I/O |[g

 - $00      - DSPCTL  - fBXvC
              bit 0   - obNOEhEC \/\
              bit 1   - tHAOEhEC \/\
              bit 2   - XvCg \/\
              bit 3   - XvCgEEBhE \/\ (EBhEW̓|[g $0C - $0FŒ`)
              bit 4,5 - tHAOEhEEBhE \/\ (EBhEW̓|[g 
                        $08 - $0BŒ`)
              rbg 4, 5̈Ӗ :
              5 4
              ---
              0 0  FG CFG EBhË̓/Oɕ\
              0 1  s
              1 0  FG C̓EBhEɂ̂ݕ\
              1 1  FG C̓EBhEOɂ̂ݕ\

 - $01      - BAKCOL - obNOEhF`
              rbg 0-3 - obNOEhF
              rbg 4-7 - obNOEhEpbg (WSC ̂)
 - $02      - ݕ`撆̃Cԍ(0 - 159) [0 - 158 ??]
 - $03      - Cr (C`挟o荞݂ŗp)
 - $04      - SPRTAB - XvCgEe[up̃x[XEAhX`
              e[ũAhX擾邽߂ɂ́C̒l 9 rbgVtgD
              x xxxxxxx0 00000000
 - $05      - SPRFST - `JnXvCgԍ`
 - $06      - SPRLST - `~XvCgԍ`
 - $07      - SCRLOC - RAMɂāCobOOEhCtHAOEḧʒu`
               `: rbg 7-0 : ffffbbbb
               rbg 7-4 - tHAOEhʒu (AhX 0ffff000 00000000)
               rbg 3-0 - obNEhʒu (AhX 0bbbb000 00000000)
 - $08      - FG EBhE x0 - (x0,y0) = ,  (x1,y1) = E
 - $09      - FG EBhE y0
 - $0A      - FG EBhE x1
 - $0B      - FG EBhE y1
 - $0C      - XvCgEBhE x0
 - $0D      - XvCgEBhE y0
 - $0E      - XvCgEBhE x1
 - $0F      - XvCgEBhE y1
 - $10      - BCKSCRX - obNOEhEC X()XN[WX^
 - $11      - BCKSCRY - obNOEhEC Y()XN[WX^
 - $12      - FORSCRX - tHAOEhEC X()XN[WX^
 - $13      - FORSCRY - tHAOEhEC Y()XN[WX^
 - $14      - LCDCTL
              rbg 0 - 1 - LCD \
                         0 - LCD \
 - $15      - LCD ACR ({Cɂ)
              rbg 0 - LCD X[v ?
              rbg 1 - c^Q[\
              rbg 2 - ^Q[\
              rbg 3 - hbg 1
              rbg 4 - hbg 2
              rbg 5 - hbg 3
              rbg 6 - gp ?
              rbg 7 - gp ?
 - $16      - s
 - $17      - s
 - $18      - s
 - $19      - s
 - $1A      - s
 - $1B      - s
 - $1C      - pbgF10
 - $1D      - pbgF32
 - $1E      - pbgF54
 - $1F      - pbgF76
 - $20      - pbg00(:pbg#0)
 - $21      - pbg01
 - $22      - pbg10
 - $23      - pbg11
 - $24      - pbg20(:pbg#1)
 - $25      - pbg21
 - $26      - pbg30
 - $27      - pbg31
 - $28      - pbg40(:pbg#2)
 - $29      - pbg41
 - $2A      - pbg50
 - $2B      - pbg51
 - $2C      - pbg60(:pbg#3)
 - $2D      - pbg61
 - $2E      - pbg70
 - $2F      - pbg70
 - $30      - pbg00(:pbg#4)
 - $31      - pbg01
 - $32      - pbg10
 - $33      - pbg11
 - $34      - pbg20(:pbg#5)
 - $35      - pbg21
 - $36      - pbg30
 - $37      - pbg31
 - $38      - pbg40(:pbg#6)
 - $39      - pbg41
 - $3A      - pbg50
 - $3B      - pbg51
 - $3C      - pbg60(:pbg#7)
 - $3D      - pbg61
 - $3E      - pbg70
 - $3F      - pbg70
 - $40      - DMA (?) Rs[AhX
 - $41      - ^^^
 - $42      - Rs[oN
 - $43      - Rs[oN
 - $44      - Rs[AhX
 - $45      - ^^^
 - $46      - Rs[f[^TCY (oCg)
 - $47      - ^^^
 - $48      - rbg  7 = 1  -> Rs[Jn
              (rbg 7 = 0  <- f[^]I)
              DMA(?)́CCCPU̓͒~CɊJn̂ł͂Ȃ(gbc GDMAl)
              |[g $40-$48 ́CRs[ɂXV
 - $49      - s
 - $4A      - s
 - $4B      - s
 - $4C      - s
 - $4D      - s
 - $4E      - s
 - $4F      - s
 - $50      - s
 - $51      - s
 - $52      - s
 - $53      - s
 - $54      - s
 - $55      - s
 - $56      - s
 - $57      - s
 - $58      - s
 - $59      - s
 - $5A      - s
 - $5B      - s
 - $5C      - s
 - $5D      - s
 - $5E      - s
 - $5F      - s
 - $60      - VMODE - rfI[h
              rbg 5-7̈Ӗ:
              765
              ---
              111   16 F/^C upbNv [h - KhCũ^CC16 F/^C
              110   16 F/^C uCv [h - Q[MÃ^CC16 F/^C
              010    4 F/^C                 - mN(L)ƓlCJ[pbg𗘗p
                                                   4 F/^CC1 ^C = 16 oCgCWSC ̂
              000    4 F/^C mN        - Q[{[C̃^CC

              [rbg 7 = 16/4 F/^C , rbg 6 - J[/m [h, rbg 5 - upbNv
               [h I/It]
 - $61      - s
 - $62      - s
 - $63      - s
 - $64      - s
 - $65      - s
 - $66      - s
 - $67      - s
 - $68      - s
 - $69      - s
 - $6A      - s
 - $6B      - s
 - $6C      - s
 - $6D      - s
 - $6E      - s
 - $6F      - s
 - $70      - s
 - $71      - s
 - $72      - s
 - $73      - s
 - $74      - s
 - $75      - s
 - $76      - s
 - $77      - s
 - $78      - s
 - $79      - s
 - $7A      - s
 - $7B      - s
 - $7C      - s
 - $7D      - s
 - $7E      - s
 - $7F      - s
 - $80      -  0 x[X ?
 - $81      - /
 - $82      -  1 x[X ?
 - $83      - /
 - $84      -  2 x[X ?
 - $85      - /
 - $86      -  3 x[X ?
 - $87      - /
 - $88      -  1 {[ ?
 - $89      -  2 {[ ?
 - $8A      -  3 {[ ?
 - $8B      -  4 {[ ?
 - $8C      - s
 - $8D      - s
 - $8E      - s
 - $8F      - s
 - $90      - s
 - $91      - s
 - $92      - s
 - $93      - s
 - $94      - s
 - $95      - s
 - $96      - s
 - $97      - s
 - $98      - s
 - $99      - s
 - $9A      - s
 - $9B      - s
 - $9C      - s
 - $9D      - s
 - $9E      - s
 - $9F      - s
 - $A0      - n[hEFA
              rbg 1 - 1 - J[
                         0 - mN
 - $A1      - s
 - $A2      - s
 - $A3      - s
 - $A4      - HBL  0 = A(HBLANK)荞 
                   n = A(HBLANK)荞 nCɔ (???)
 - $A5      - A(HBL) JE^(?) ($A4p)
 - $A6      - s
 - $A7      - s
 - $A8      - s
 - $A9      - s
 - $AA      - s
 - $AB      - s
 - $AC      - s
 - $AD      - s
 - $AE      - s
 - $AF      - s
 - $B0      - IRQBASE - 荞݃x[X
 - $B1      - ʐMoCg(: s)
 - $B2      - IRQENA - 荞݋
              rbg 7 - A(HBlank)
              rbg 6 - A(VBlank)Jn
              rbg 5 - A(VBlank)I
              rbg 4 - C`挟o(: |[g $03Q)
              rbg 3 - VAM
              rbg 2 - RTCA[
              rbg 1 - L[
              rbg 0 - VAM
 - $B3      - ʐMo
              rbg 7 - f[^M荞 
              rbg 6 - s
              rbg 5 - f[^M荞 
              rbg 4 - s
              rbg 3 - s
              rbg 2 - s
              rbg 1 - M/M ??
              rbg 0 - ??
              [nbN - rbg 1=1 , rbg 2=1 ](:Ӗs)
 - $B4      - s
 - $B5      - Rg[
              rbg 4-7 : [h/Cg - [hׂ̓CI

               0001 - c^Q[pJ[\ [h
               0010 - ^Q[pJ[\ [h
               0100 - {^ [h
              rbg 0-3 : [hp - 10hC20hC40hCgɁC݂̓̓C̏(_)
                                        [h
              J[\[h̃rbg̈Ӗ:
               rbg 0 - J[\ 
               rbg 1 - J[\ E
               rbg 2 - J[\ 
               rbg 3 - J[\ 
              {^[h̃rbg̈Ӗ:
               rbg 0 - s
               rbg 1 - START
               rbg 2 - A
               rbg 3 - B
 - $B6      - IRQACK - 荞ݗ
              rbg 7 - A(HBlank)
              rbg 6 - A(VBlank)Jn
              rbg 5 - A(VBlank)I
              rbg 4 - C`挟o(: |[g $03Q)
              rbg 3 - VAM
              rbg 2 - RTCA[
              rbg 1 - L[
              rbg 0 - VAM
 - $B7      - s
 - $B8      - s
 - $B9      - s
 - $BA      -  EEPROM (s) f[^
 - $BB      - ^^^
 - $BC      -  EEPROM (s) AhX (EEPROM (s) TCYŏZC]𗘗p ([h/Cg
              p~[O))
 - $BD      - ^^^
 - $BE      -  EEPROM (s) R}h ?
               rbg 7 -  ?
               rbg 6 - veNg ?
               rbg 5 - Cg
               rbg 4 - [h
               rbg 3 - s
               rbg 2 - s
               rbg 1 - Cg ([ĥ)
               rbg 0 - [h ([ĥ)
 - $BF      - s
 - $C0      - s
 - $C1      - SRAM ZN^
               $00 - L
               $FF - SRAM (?? CԈႢ ??)
 - $C2      - BNK2SLCT - ZOg 2 p ROM ZN^ 
 - $C3      - BNK3SLCT - ZOg 3 p ROM ZN^
 - $C4      - EEPROM f[^
 - $C5      - ^^^
 - $C6      - EEPROM AhX (EEPROM TCYŏZC]𗘗p ([h/Cgp~[O))
 - $C7      - ^^^
 - $C8      - EEPROM R}h :
               rbg 7 -  ?
               rbg 6 - veNg ?
               rbg 5 - Cg
               rbg 4 - [h
               rbg 3 - s
               rbg 2 - s
               rbg 1 - Cg ([ĥ)
               rbg 0 - [h ([ĥ)
 - $C9      - s
 - $CA      - RTC R}h (?)
              Cg :
               - $10 - s
               - $12 - s
               - $13 - s
               - $15 - Ԃ̎擾 (?)
              [h :
               - rbg 7 - (ACK) [HACK = 1]
 - $CB      - RTC f[^ (?)
              Cg :
                  Ƃǂ $40 CgCrbg 7 = 1ɂȂ̂҂
              [h :
                R}h ($CA) :
                 - $10 - s
                 - $12 - s
                 - $13 - rbg 7 - (ACK) [HACK = 1]
                 - $15 - uǂłnX^[vł́CR}h $15|[g $CAɃCgC7
                         f[^[h
                         l : 3,4,5,6ɂ́Cʂ̍ɁCASCIIɂuvv\
 - $CC      - s
 - $CD      - s
 - $CE      - s
 - $CF      - s
 - $D0      - s
 - $D1      - s
 - $D2      - s
 - $D3      - s
 - $D4      - s
 - $D5      - s
 - $D6      - s
 - $D7      - s
 - $D8      - s
 - $D9      - s
 - $DA      - s
 - $DB      - s
 - $DC      - s
 - $DD      - s
 - $DE      - s
 - $DF      - s
 - $E0      - s
 - $E1      - s
 - $E2      - s
 - $E3      - s
 - $E4      - s
 - $E5      - s
 - $E6      - s
 - $E7      - s
 - $E8      - s
 - $E9      - s
 - $EA      - s
 - $EB      - s
 - $EC      - s
 - $ED      - s
 - $EE      - s
 - $EF      - s
 - $F0      - s
 - $F1      - s
 - $F2      - s
 - $F3      - s
 - $F4      - s
 - $F5      - s
 - $F6      - s
 - $F7      - s
 - $F8      - s
 - $F9      - s
 - $FA      - s
 - $FB      - s
 - $FC      - s
 - $FD      - s
 - $FE      - s
 - $FF      - s

ȏ
