   ___ ___         _
  /   |   \ ___ __/ \__ ___  ___  /\__
  \  / \  // __>\_   _// __|/ __\/    \
   \_____/_\__ \  \_/  \___|\___/\_/\_/
          \____/      2.4 - 26.12.2003

1. {ɂ
   WStech doc v2.4 made by Judge and Dox
   Special thanks to -anonymous- contributor for some usefull info.
   { v 1.4j by Jay's Factory.

   What's new :

   2.4 - 26.12.2003 -  XvCge[u, BG}bv, FG}bv̏C(10 $04, $07)
   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

  Bandai SPGY-1001 ASWAN 9850KK003
  NEC V30MZ - g3.072 MHz. pCvCi16oCg̃vtFb`obt@[jV30̍ŁD
  V30MZV30̂悻4{ł.
  V30MZ͓pCvCɂ薽߃R[h̐ǂ݁A߁As𕽍sčs.̂ߌݎsĂvȌꏊAhXoX̏o̓j^OŌ肷邱Ƃ͍ł.
  ̖߂̏ꍇ,Ⴆ򂵂Ȃ̏ꍇłƂĂ,̃AhXǂ݂i1̂݁j,̂߃vÕj^O͂ɍɂȂ.
  V30MZ8̃vtFb`L[i16oCgjĂ.

  V30MZV30ɂ͂̑ɂႢiT|[g̖߃R[h,mul/div̌̃tO̎舵̈Ⴂj.

  ^C~O:

  Hblank : 256 CPU TCN
  Vblank : 159 Hblank = 159*256/3072000 = 75.47Hz


3. 

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

          ZOg:

          0 - RAM - 16 KB (WS) / 64 KB (WSC) RAM(LQ)
          1 - SRAM (J[gbW) SRAMBSIBS62LV256TC - 256K(32Kx8)X^eBbNRAM - TSOP 0 - 70 c, 70 ns (http://www.bsi.com.tw/product/bs62lv256.pdf)

          2 - ROMoN(oN = ŏIoN)
          3 - ROMoN(oN = ŏIoN)

          4 - ROMoN(oN = ŏIoN - 11)
          5 - ROMoN(oN = ŏIoN - 10)
          6 - ROMoN(oN = ŏIoN - 9)
          7 - ROMoN(oN = ŏIoN - 8)
          8 - ROMoN(oN = ŏIoN - 7)
          9 - ROMoN(oN = ŏIoN - 6)
          A - ROMoN(oN = ŏIoN - 5)
          B - ROMoN(oN = ŏIoN - 4)
          C - ROMoN(oN = ŏIoN - 3)
          D - ROMoN(oN = ŏIoN - 2)
          E - ROMoN(oN = ŏIoN - 1)
          F - ROMoN(oN = ŏIoN)

          ZOg2-$F̓|[ggpēւł:

          $C2 - ZOg2 : ̃|[gROMoNio[ށi$FFŏIROMoNiROMt@C̍Ō64LoCgj, $FE  = ŏIoN - 1 .. etcj
          $C3 - ZOg3 : 
          $C0 - ZOg4-$F : $C00-3rbgoN4-7rbgAZOgio[oN0-3rbg
		  @@@

  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̂

      ̃Q[łRAMp[g̏i?jKvł, Ⴆ:

        $75AC = $41 = "A"
        $75AD = $5F = "_"
        $75AE = $43 = "C"
        $75AF = $31 = "1"
        $75B0 = $6E = "n"
        $75B1 = $5F = "_"
        $75B2 = $63 = "c"
        $75B3 = $31 = "1"

4. rfI

   ʃTCY      - 224 x 144 sNZ(28 x 18 ^C)
   ^CTCY    - 8 x 8 hbgC16 oCg/^C(4F[h)32oCg/^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ɂݒ
   ^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      - WS = gp / WSC = ^CoN
                     14      - ]
                     15      - ]
   ^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
								   @@@@@0 - 
								             1 - O
                                   13      - C̗D揇
                                             0 - 2C(BGCFG)̊Ԃɔzu
                                             1 - ̃C̏ɔzu
                                   14      - ]
                                   15      - ]
                     oCg 2 - ʏYW
                     oCg 3 - ʏXW

                     XvCge[u͉ʕ\Ƀobt@.
                     炭140i1238-144?j܂

   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. TEh

   4̃I[fBI`l.
   ꂼ̃`lŎgi3,072 *10e6  / ((2048 - N) x 32 ) Hz , N11rbg̒lj,
   g`f[^i4rbgx32Tv@16oCgj,ʂݒł.

   e`l̉ʂ$88-$8B4rbglx2i/Ejo͂邱ƂŃRg[ł.
   {ʁi2rbgl, 0-311rbgl̊JnrbgʒuƂȂj̓|[g$91Őݒ肷.
   D/ARo[^8rbgǂݍ߂Ȃ̂ŊJnrbg$91Őݒ肷.
   ႦΊJnrbg2ɐݒ肷D/ARo[^2,3,4,5,6,7,8,9rbgƂĉo͂.

   t@\ :
    - channel 2 - voice - can play 8 bit samples writing frequently data to ch2 volume I/O port
    - channel 3 - sweep - two parameters:
                        - step = 2.667 x (N + 1) ms , where N = 5 bit value
                        - value - signed byte (-128  - 127)
    - channel 4 - noise - 7 selectable noise generators (probably I/O port $8E)

   ڍ׏I/O|[g̍̃|[g $80 - $91Ă.

   ܂I[fBIDMAɂĂ̓|[g$4A - $52`FbNĂ.
   ][g12KHz iHBlankj.
   I/O|[g $4A-$4B  $4E-$4F ̓f[^]ɎIɍXV܂.

6. 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
       03 - 1M SRAM (΋ǈ͌@@)
       04 - 2M SRAM (WonderWitch)
       10 - 1k EEPROM
       20 - 16k EEPROM
       50 - 8k EEPROM
 6   - tIȋ@\(?)
       - rbg 0 - 0 - ^Q[, 1 - c^Q[
       - rbg 2 - 1
 7   - 1 - RTC(A^CENbN)
 8,9 - `FbNT = Ō2oCg(`FbNTi[)ROMC[W̃oCga

7. 荞
   _[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

8. Rg[
   |[g $B5[h/Cg邱ƂŁC{^̏Ԃ`FbN邱Ƃ͊ȒPł(LQ)D
   C|[g $B5[h/Cg̊Ԃɂ́CfBC(NOP)KvłD
     
9. 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

10. I/O |[g i|[gԍ/l/ڍׁj

- $00 - $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 - $00 - BAKCOL - obNOEhF`
               rbg 0-3 - obNOEhF
               rbg 4-7 - obNOEhEpbg (WSC ̂)
 - $02 - ??? - ݕ`撆̃Cԍ(0 - 159) [0 - 158 ??]
 - $03 - $BB - Cr (C`挟o荞݂ŗp)
 - $04 - $00 - SPRTAB - XvCgEe[up̃x[XEAhX`
               e[ũAhX擾邽߂ɂ́C̒l 9 rbgVtg
               ŏʃrbg0ɂ.irbg0-5LŃrbg6, 7͖gpj
               0 0xxxxxx0 00000000
               iXvCg̃Agr[ge[ũx[X$00000-$07E00512oCgPʂňړj
 - $05 - $00 - SPRFST - `JnXvCgԍ`
 - $06 - $00 - SPRCNT - `悷XvCg̐`
 - $07 - $26 - SCRLOC - RAMɂāCobOOEhCtHAOEḧʒu`
                `: rbg 7-0 : ?fff?bbb
                rbg 7 - s
                rbg 6-4 - tHAOEhʒu (AhX 00fff000 00000000)
                rbg 3 - s
                rbg 2-0 - obNEhʒu (AhX 00bbb000 00000000)
                obNOEh̃^C}bṽx[X$00000-$03800 (2048oCgPʂňړj
 - $08 - $FE - FG EBhE x0   (x0,y0) = ,  (x1,y1) = E
 - $09 - $DE - FG EBhE y0
 - $0A - $F9 - FG EBhE x1
 - $0B - $FB - FG EBhE y1
 - $0C - $DB - XvCgEBhE x0
 - $0D - $D7 - XvCgEBhE y0
 - $0E - $7F - XvCgEBhE x1
 - $0F - $F5 - XvCgEBhE y1
 - $10 - $00 - BCKSCRX - obNOEhEC X()XN[WX^
 - $11 - $00 - BCKSCRY - obNOEhEC Y()XN[WX^
 - $12 - $00 - FORSCRX - tHAOEhEC X()XN[WX^
 - $13 - $00 - FORSCRY - tHAOEhEC Y()XN[WX^
 - $14 - $01 - LCDCTL
               rbg 0 - 1 - LCD \
                          0 - LCD \
 - $15 - $00 - LCD ACR
               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 - $9E - s
 - $17 - $9B - s
 - $18 - $00 - s
 - $19 - $00 - s
 - $1A - $00 - s
 - $1B - $00 - s
 - $1C - $99 - pbgF10
 - $1D - $FD - pbgF32
 - $1E - $B7 - pbgF54
 - $1F - $DF - pbgF76
 - $20 - $30 - pbg00
 - $21 - $57 - pbg01
 - $22 - $75 - pbg10
 - $23 - $76 - pbg11
 - $24 - $15 - pbg20
 - $25 - $73 - pbg21
 - $26 - $77 - pbg30
 - $27 - $77 - pbg31
 - $28 - $20 - pbg40
 - $29 - $75 - pbg41
 - $2A - $50 - pbg50
 - $2B - $36 - pbg51
 - $2C - $70 - pbg60
 - $2D - $67 - pbg61
 - $2E - $50 - pbg70
 - $2F - $77 - pbg70
 - $30 - $57 - pbg00
 - $31 - $54 - pbg01
 - $32 - $75 - pbg10
 - $33 - $77 - pbg11
 - $34 - $75 - pbg20
 - $35 - $17 - pbg21
 - $36 - $37 - pbg30
 - $37 - $73 - pbg31
 - $38 - $50 - pbg40
 - $39 - $57 - pbg41
 - $3A - $60 - pbg50
 - $3B - $77 - pbg51
 - $3C - $70 - pbg60
 - $3D - $77 - pbg61
 - $3E - $10 - pbg70
 - $3F - $73 - pbg71
 - $40 - $00 - DMA (?) Rs[AhX
 - $41 - $00 - ^^^
 - $42 - $00 - Rs[oN
 - $43 - $00 - Rs[oN
 - $44 - $00 - Rs[AhX
 - $45 - $00 - ^^^
 - $46 - $00 - Rs[f[^TCY (oCg)
 - $47 - $00 - ^^^
 - $48 - $00 - rbg  7 = 1  -> Rs[Jn
               (rbg 7 = 0  <- f[^]I)
               DMA(?)́CCCPU̓͒~CɊJn̂ł͂Ȃ(gbc GDMAl)
               |[g $40-$48 ́CRs[ɂXV
 - $49 - $00 - 
 - $4A - $00 - TEhDMA ]AhX
 - $4B - $00 - ^^^
 - $4C - $00 - DMA]oN
 - $4D - $00 - s
 - $4E - $00 - DMA ]TCY(oCg)
 - $4F - $00 - ^^^
 - $50 - $00 - s
 - $51 - $00 - s
 - $52 - $00 - rbg 7 = 1  -> DMAJn
 - $53 - $00 - s
 - $54 - $00 - s
 - $55 - $00 - s
 - $56 - $00 - s
 - $57 - $00 - s
 - $58 - $00 - s
 - $59 - $00 - s
 - $5A - $00 - s
 - $5B - $00 - s
 - $5C - $00 - s
 - $5D - $00 - s
 - $5E - $00 - s
 - $5F - $00 - s
 - $60 - $0A - 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 - $00 - s
 - $62 - $00 - s
 - $63 - $00 - s
 - $64 - $00 - s
 - $65 - $00 - s
 - $66 - $00 - s
 - $67 - $00 - s
 - $68 - $00 - s
 - $69 - $00 - s
 - $6A - $00 - s
 - $6B - $0F - s
 - $6C - $00 - s
 - $6D - $00 - s
 - $6E - $00 - s
 - $6F - $00 - s
 - $70 - $00 - s
 - $71 - $00 - s
 - $72 - $00 - s
 - $73 - $00 - s
 - $74 - $00 - s
 - $75 - $00 - s
 - $76 - $00 - s
 - $77 - $00 - s
 - $78 - $00 - s
 - $79 - $00 - s
 - $7A - $00 - s
 - $7B - $00 - s
 - $7C - $00 - s
 - $7D - $00 - s
 - $7E - $00 - s
 - $7F - $00 - s
 - $80 - $00 - I[fBI 1 g
 - $81 - $00 - ^^^
 - $82 - $00 - I[fBI 2 g
 - $83 - $00 - ^^^
 - $84 - $00 - I[fBI 3 g
 - $85 - $00 - ^^^
 - $86 - $00 - I[fBI 4 g
 - $87 - $00 - ^^^
 - $88 - $00 - I[fBI 1 
 - $89 - $00 - I[fBI 2 
 - $8A - $00 - I[fBI 3 
 - $8B - $00 - I[fBI 4 
 - $8C - $00 - ?? Sweep value
 - $8D - $1F - ?? Sweep step
 - $8E - $00 - mCYݒ
                rbg :
                        0 - mCY^Cv
                        1 - ^^^
                        2 - ^^^
                        3 - Zbg
                        4 - L
                        5 - s
                        6 - s
                        7 - s
 - $8F - $00 - Tvʒu
                TṽAhX𓾂邽߂ɂ6rbgVtg.
                0 00xxxxxx xx000000
 - $90 - $00 - Audio control
                Bits:
                        0 - Audio 1 on/off
                        1 - Audio 2 on/off
                        2 - Audio 3 on/off
                        3 - Audio 4 on/off
                        4 - s
                        5 - Audio 2 Voice
                        6 - Audio 3 Sweep
                        7 - Audio 4 Noise
 - $91 - $00 - Audio Output
                Bits :
                        0 - Mono
                        1 - Output Volume
                        2 - ^^^
                        3 - External Stereo
                        4 - s
                        5 - s
                        6 - s
                        7 - External Speaker (set by hardware)
 - $92 - $00 - Noise Counter Shift Register (15 bits)
 - $93 - $00 - ^^^
 - $94 - $00 - Volume (4 bit)
 - $95 - $00 - s
 - $96 - $00 - s
 - $97 - $00 - s
 - $98 - $00 - s
 - $99 - $00 - s
 - $9A - $00 - s
 - $9B - $00 - s
 - $9C - $00 - s
 - $9D - $00 - s
 - $9E - $03 - s
 - $9F - $00 - s
 - $A0 - $87 - n[hEFA
               rbg 1 - 1 - J[
                          0 - mN
 - $A1 - $00 - s
 - $A2 - $0C - Timer Control
                  bit 0 - Hblank Timer on/off
                  bit 1 - Hblank Timer Mode
                           0 - One Shot
                           1 - Auto Preset
                  bit 2 - Vblank Timer(1/75s) on/off
                  bit 3 - Vblank Timer Mode
                           0 - One Shot
                           1 - Auto Preset
 - $A3 - $00 - s
 - $A4 - $00 - HBL  0 = A(HBLANK)荞 
                   n = A(HBLANK)荞 nCɔ (s)
 - $A5 - $00 - ^^^
 - $A6 - $4F - Vblank Timer 'frequency'
 - $A7 - $FF - ^^^
 - $A8 - $00 - Hblank Counter - 1/12000s
 - $A9 - $00 - Hblank Counter - 1/(12000>>8)s
 - $AA - $00 - Vblank Counter - 1/75s
 - $AB - $00 - Vblank Counter - 1/(75>>8)s
 - $AC - $00 - Vblank Counter - 1/(75>>16)s
 - $AD - $00 - Vblank Counter - 1/(75>>24)s
 - $AE - $00 - s
 - $AF - $00 - s
 - $B0 - $00 - IRQBASE - 荞݃x[X
 - $B1 - $DB - ʐMoCg(: s)
 - $B2 - $00 - 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 - $00 - ʐMo
                rbg 7 - f[^M荞 
                rbg 6 - ʐMx
                            0 - 9600  bps
                            1 - 38400 bps
                rbg 5 - f[^M荞 
                rbg 4 - s
                rbg 3 - s
                rbg 2 - M
                rbg 1 - G[
                rbg 0 - M

                        write $00-$7f = read $00
                        write $80-$bf = read $84
                        write $c0-$cf = read $c4
 - $B4 - $00 - s
 - $B5 - $40 - Rg[
               rbg 4-7 : [h/Cg - [hׂ̓CI
                   0001 - YJ[\ [h
                   0010 - XJ[\ [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 - $00 - 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 (?) f[^
 - $BB      - ^^^
 - $BC      -  EEPROM (?) AhX (EEPROM (?) TCYŏZC]𗘗p ([h/Cgp~[O))
 - $BD      - ^^^
 - $BE      -  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̂)
 - $BF - $00 - s
 - $C0 - $2F - ROM Bank Base Selector for segments 4-$F
 - $C1 - $3F - SRAM Bank selector (s)
 - $C2 - $FF - BNK2SLCT - ZOg 2 p ROM ZN^ 
 - $C3 - $FF - BNK3SLCT - ZOg 3 p ROM ZN^
 - $C4 - $00 - EEPROM f[^
 - $C5 - $00 - ^^^
 - $C6 - $00 - 1kbit EEPROM (16bit*64) :
                  - bits 0-5 - address
                  - bits 6-7 - command :
                           0 - Extended Comand Address bits 4-5
                               0 - Write Disable
                               1 - Write All
                               2 - Erase All
                               3 - Write Enable
                           1 - Write
                           2 - Read
                           3 - Erase
               - 16 kbit EEPROM (16bit*1024) - bits 0-7 - address (low)
 - $C7 - $00 - 1kbit EEPROM (16bit*64) :
                   bit 0 - Start
               - 16 kbit EEPROM (16bit*1024) :
                  - bits 0-1 - address (high)
                  - bits 2-3 - command :
                           0 - Extended Comand Address bits 0-1
                               0 - Write Disable
                               1 - Write All
                               2 - Erase All
                               3 - Write Enable
                           1 - Write
                           2 - Read
                           3 - Erase
                  - bit 4 - Start
 - $C8 - $D1 - 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 - $D1 - s
 - $CA - $D1 - RTC Command
                Write :
                        - $10 - Reset
                        - $12 - s Alarm ?
                        - $13 - s
                        - $14 - Set Time
                        - $15 - Get Time
                Read:
                         - bit 7 - Ack [HACK = 1]
 - $CB - $D1 - RTC Data
                Write :
                        Sometimes $40 , and wait for bit 7 = 1
                After Command ($CA):
                        - $14 - 7 writes (all BCD):
                                - Year ( + 2000)
                                - Month
                                - Day
                                - Day Of Week
                                - Hour
                                - Min
                                - Sec
                Read
                        After Command ($CA) :
                        - $13 - bit 7 - Ack [HACK = 1]
                        - $15 - 7 reads (all BCD)
                                - Year ( + 2000)
                                - Month
                                - Day
                                - Day Of Week
                                - Hour
                                - Min
                                - Sec
 - $CC - $D1 - s
 - $CD - $D1 - s
 - $CE - $D1 - s
 - $CF - $D1 - s
 - $D0 - $D1 - s
 - $D1 - $D1 - s
 - $D2 - $D1 - s
 - $D3 - $D1 - s
 - $D4 - $D1 - s
 - $D5 - $D1 - s
 - $D6 - $D1 - s
 - $D7 - $D1 - s
 - $D8 - $D1 - s
 - $D9 - $D1 - s
 - $DA - $D1 - s
 - $DB - $D1 - s
 - $DC - $D1 - s
 - $DD - $D1 - s
 - $DE - $D1 - s
 - $DF - $D1 - s
 - $E0 - $D1 - s
 - $E1 - $D1 - s
 - $E2 - $D1 - s
 - $E3 - $D1 - s
 - $E4 - $D1 - s
 - $E5 - $D1 - s
 - $E6 - $D1 - s
 - $E7 - $D1 - s
 - $E8 - $D1 - s
 - $E9 - $D1 - s
 - $EA - $D1 - s
 - $EB - $D1 - s
 - $EC - $D1 - s
 - $ED - $D1 - s
 - $EE - $D1 - s
 - $EF - $D1 - s
 - $F0 - $D1 - s
 - $F1 - $D1 - s
 - $F2 - $D1 - s
 - $F3 - $D1 - s
 - $F4 - $D1 - s
 - $F5 - $D1 - s
 - $F6 - $D1 - s
 - $F7 - $D1 - s
 - $F8 - $D1 - s
 - $F9 - $D1 - s
 - $FA - $D1 - s
 - $FB - $D1 - s
 - $FC - $D1 - s
 - $FD - $D1 - s
 - $FE - $D1 - s
 - $FF - $D1 - s
 