home *** CD-ROM | disk | FTP | other *** search
/ Der Mediaplex Sampler - Die 6 von Plex / 6_v_plex.zip / 6_v_plex / DISK3 / DFUE_100 / FAMITXT.ZIP / FAMITEC2.TXT < prev    next >
Text File  |  1994-02-07  |  7KB  |  173 lines

  1.  
  2. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  3. <                                                                           <
  4. >    ___      ___  ___ ___  __  ___ ___ __  __  ___      ___ ___ ___        >
  5. <     | |___|/__  /__ /   \|__)| __) | |  \|  \/__ /\ \ /     |   |  \_/    <
  6. >     | |   |\___ \   \___/|  \|___)_|_|__/|__/\___\ \/ \___ _|_  |   |     >
  7. <                                                                           <
  8. >                                                                           >
  9. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  10. ############################################################################
  11. #                                                                          #
  12. #         SEGA MEGADRIVE - NINTENDO SUPER FAMICOM - NEC PC-ENGINE          #
  13. #                        More than just AMIGA..                            #
  14. #                                                                          #
  15. # 14.4k HST/V32bis -- ASL -- Locked at 38.4k -- Kickstart 2 -- 68030 40MHz #
  16. #                                                                          #
  17. #       FILE DOWNLOADED FROM TREASURE ISLAND BBS +44 (0)992 451 191        #
  18. #                                                                          #
  19. ############################################################################
  20.  
  21. Version 1.1
  22.  
  23. Corrected an error in screen sizes and removed a quesry on sound registers.
  24.  
  25.  
  26. Corsair + Kari presents the first dox of Fami hardware register
  27. locations and brief explanation of them..
  28.  
  29. If you would like to add any info found in this list please leave
  30. a mail message to Corsair or RamRaider on GRAVEYARD BBS +44-91-5160560
  31. or anything to do with the FAMICON/SNES..
  32.  
  33. We have an INTERNET address if ya want it leave true e-mail!
  34.  
  35. Or better still if ya can get the Programmers handbook (Both) please call
  36. and leave mail :) , or even the 100,000 quid SCSI SNASM board for FAMICON
  37. development :)
  38.  
  39. Also if you want more info contact us the same way..
  40.  
  41. We are esp looking for contacts to help get to grips with this new platform
  42. everybody welcome!
  43.  
  44. Special greetings to Starr/QUARTEX and any other True Console Dude! 
  45.  
  46. coming soon is some sound chip info........
  47.  
  48. Memory Map
  49. ~~~~~~~~~~ 
  50. Bank    Address
  51. ~~~~    ~~~~~~~
  52.  
  53.  00-    0000-1fff       Lo RAM  (same as at $7e0000-$7e1fff)
  54.  7d     2100-2142(?)    Videochip Registers
  55.         4300-437f       DMA Registers
  56.  
  57.         8000-ffff       ROM:This contains 32k block of game ROM.
  58.                             So, the games are divided to 32k chunks
  59.                             which locate always at address $8000-$ffff,
  60.                             but in different banks. This means that the first
  61.                             32k of game is at $008000-$00ffff and next 32k
  62.                             is at $018000-$01ffff etc.
  63.  
  64.  7e     0000-1fff       Lo RAM (same as always at $0000-$1fff)  \
  65.         2000-ffff       RAM    \ I'm not sure about              } 128k RAM??
  66.  7f     0000-ffff       RAM    / this RAM                       /
  67.  
  68.  7f-ff  all             Not used???
  69.  
  70. $ffec($fffc) contains reset vector and $ffea($fffa) is NMI vector. The NMI is
  71. actually vertical blank interrupt.
  72.  
  73. Video Chip
  74. ~~~~~~~~~~
  75. size    loc.
  76. ~~~~    ~~~~
  77.   B     2100    Screen fade  x000bbbb   x=screen on/off  b=brightness(0-f)
  78.   B     2106    Screen Pixelation xxxxbbbb  x=pixel size b=planes to expand
  79.   B     2107    Plane 0 location in vram  xxxxxxab x=address ab=32/64 width xy
  80.   B     2108    Plane 1 location in vram  xxxxxxab      as above
  81.   B     2109    Plane 2 location in vram  xxxxxxab      as above
  82.   B     210a    Plane 3 location in vram  xxxxxxab      as above
  83.   B     210b    Tile VRAM address  aaaabbbb a=Playfield 0   b=Playfield 1       
  84.   B     210c    Tile VRAM address  ccccdddd c=Playfield 2   d=Playfield 3       
  85.  2B     210d    Plane 0 scroll x   8+3 bits (0-7ff) put first 8 bits and then
  86.  2B     210e    Plane 0 scroll y   8+3 bits  (0-7ff)  3 highest bits
  87.  2B     210f    Plane 1 scroll x                as above
  88.  2B     2110    Plane 1 scroll y                as above
  89.  2B     2111    Plane 2 scroll x                as above
  90.  2B     2112    Plane 2 scroll y                as above
  91.  2B     2113    Plane 3 scroll x                as above
  92.  2B     2114    Plane 3 scroll y                as above
  93.  B      2115    Video port control
  94.  W      2116    Video port address (lo-hi)
  95.  W      2118    Video port data (lo-hi) (address is incremented by 2)
  96.  B      2121    Palette color nr
  97.  B      2122    Palette color data
  98.  B      212C    Playfield Enable xxxxabcd  a-d = playfield number..
  99.  B      2133    Screen mode  0000ab0c a=Interlace Y  b=Overscan  c=Interlace X??
  100.      2140-2142  Audio Registers
  101.  
  102. I/O
  103. ~~~
  104. W B     420b    Start dma (enable bits) bits: 76543210 = dma nr (8 DMA's)
  105. R B     4212    Pad ready to be read
  106. R W     4218    Pad 0 data      76543210 = A-B-Select-Start-U-D-L-R
  107.         4219                    76543210 = X-Y-Top Left-Top Right-0000
  108. R W     421a    Pad 1 data              as above 
  109. R W     421c    Pad 2 data              as above
  110. R W     421e    Pad 3 data              as above
  111.  
  112. DMA registers  ($4300-$437f)
  113. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  114.   B     43X0    DMA control reg??(not sure!)
  115.   B     43X1    DMA destination (Access only to some of the video chip
  116.                     registers ($2100-$21ff)
  117.                     $18=video port  $22=color palette
  118.   W     43X2    Source address lo-hi  16 lowest bits
  119.   B     43X4    Source Bank addr. 8 highest bits
  120.   W     43X5    Transfer size lo-hi
  121.  
  122.         X=dma number (0-7)  DMA #0= 4300-4305
  123.                             DMA #1= 4310-4315 ...
  124.                             DMA #7= 4370-4375
  125.  
  126.  Symbols:  size: B=byte long    2B=put 2 bytes    W=word long
  127.              R=read only  W=write only
  128.  
  129. Screen Details
  130. ~~~~~~~~~~~~~~
  131. Famicom Tile format is simple. Each Tile is 4 planes and 8x8 bits.
  132. 32 bytes are used per Tile .
  133.  
  134. PLANES 1  &  2                  PLANES  3  &    4
  135.     byte0   byte1                  byte 16   byte 17  
  136.     byte2   byte3                  byte 18   byte 19
  137.     byte4   byte5                  byte 20   byte 21
  138.      .....                              .......
  139.     byte14  byte15                 byte 30   byte 31
  140.  
  141. Screen Map
  142. ~~~~~~~~~~
  143. Famicom can use only Tiles $0-$3ff, max 1024 chars.
  144. 16 bits:   YX?c ccNN NNNN NNNN
  145.            fedc ba98 7654 3210
  146.  
  147.   Y = mirror y     X = mirror x   ?=unknown
  148.   ccc = palette nr (8 palettes)   NN.. = character number
  149.  
  150. Screen Resolution is normally 32x32 chars but only the first 30 y blocks are 
  151. visible (until scrolled) - 64 bytes / line
  152.  
  153. Screen VRAM Location
  154. ~~~~~~~~~~~~~~~~~~~~
  155. Screen Width 32x32 offset for x,y       0,0   = 0
  156.  
  157. Screen Width 64x32 offset for x,y       0,0   = 0
  158.                                         33,0  = $400
  159.  
  160. Screen Width 32x64 offset for x,y       0,0   = 0
  161.                                         0,33  = $400 
  162.  
  163. Screen Width 64x64 offset for x,y       0,0   = 0
  164.                                         33,0  = $400
  165.                                         0,33  = $800
  166.                                         33,33 = $c00
  167.  
  168. As can be seen if a wider mode is selected the extra height/width follow
  169. after the main screen in memory.
  170.  
  171. =============================================================================
  172.  
  173.