171 lines
6.9 KiB
Plaintext
171 lines
6.9 KiB
Plaintext
|
________ _______ _______ ________ _______ _______ __
|
|||
|
| .| .| . ____|__ . __| . ____| .| .|
|
|||
|
| || O || || __ | || | || | O || ||-LGN
|
|||
|
| | | :| :| :|_| |__| :|__| :|____| :| :|____
|
|||
|
|__|__|__|___|___|_______|________|_______|___|___|_______|
|
|||
|
|
|||
|
CALL OUR BOARDS
|
|||
|
|
|||
|
THE NETWORK +1-32-2550-31623
|
|||
|
|
|||
|
MAGICAL WORLD 1-213-272-7350
|
|||
|
|
|||
|
|
|||
|
Welcum to the wonderful World of Cyberspace.... +49-5-73141982
|
|||
|
/\_______
|
|||
|
/ ___ / <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SySoP: SiGMA SEVEN!
|
|||
|
\ \__\/__ __ ______ ____ __________ __ __ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/\____ \/ | <20>\/ . <20>\/ <20>\/ _<>\ <20>\/ | <20>\ Ami-Express REGISTERED
|
|||
|
/ \ / \ | \ |\ / /\ \ |/\/ | / | \ ~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
\ \/ / | / |/ \ \__/ |\ | \ | / Co-Sysop: FORNAX!
|
|||
|
\______/\___ /\__/ /\____ \__| \___ /\___ / <<<<SYNERGY GHQ!>>>>
|
|||
|
<20><> / ___/ <20>\__/ <20>\/ / ___/ / ___/ 250 Megz! - 250 Megz!
|
|||
|
<20> <20> <20> <20>\/<2F><> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>\/<2F><> <20> \/<2F><> dHM ---------------------
|
|||
|
Home of the World's first DMS Check and Adder! -*0Super Nintendo & Amiga0*-
|
|||
|
|
|||
|
Version 1.0
|
|||
|
|
|||
|
|
|||
|
Corsair + Kari presents the first doc of Fami hardware register
|
|||
|
locations and brief explanation of them..
|
|||
|
|
|||
|
If you would like to add any info found in this list please leave
|
|||
|
a mail message to Corsair or RamRaider on GRAVEYARD BBS +44-91-5160560
|
|||
|
or anything to do with the FAMICON/SNES..
|
|||
|
|
|||
|
We have an INTERNET address if ya want it leave true e-mail!
|
|||
|
|
|||
|
Or better still if ya can get the Programmers handbook (Both) please call
|
|||
|
and leave mail :) , or even the 100,000 quid SCSI SNASM board for FAMICON
|
|||
|
development :)
|
|||
|
|
|||
|
Also if you want more info contact us the same way..
|
|||
|
|
|||
|
We are esp looking for contacts to help get to grips with this new platform
|
|||
|
everybody welcome!
|
|||
|
|
|||
|
Special greetings to Starr/QUARTEX and any other True Console Dude!
|
|||
|
|
|||
|
Memory Map
|
|||
|
~~~~~~~~~~
|
|||
|
Bank Address
|
|||
|
~~~~ ~~~~~~~
|
|||
|
|
|||
|
00- 0000-1fff Lo RAM (same as at $7e0000-$7e1fff)
|
|||
|
7d 2100-2142(?) Videochip Registers
|
|||
|
4300-437f DMA Registers
|
|||
|
|
|||
|
8000-ffff ROM:This contains 32k block of game ROM.
|
|||
|
So, the games are divided to 32k chunks
|
|||
|
which locate always at address $8000-$ffff,
|
|||
|
but in different banks. This means that the first
|
|||
|
32k of game is at $008000-$00ffff and next 32k
|
|||
|
is at $018000-$01ffff etc.
|
|||
|
|
|||
|
7e 0000-1fff Lo RAM (same as always at $0000-$1fff) \
|
|||
|
2000-ffff RAM \ I'm not sure about } 128k RAM??
|
|||
|
7f 0000-ffff RAM / this RAM /
|
|||
|
|
|||
|
7f-ff all Not used???
|
|||
|
|
|||
|
$ffec($fffc) contains reset vector and $ffea($fffa) is NMI vector. The NMI is
|
|||
|
actually vertical blank interrupt.
|
|||
|
|
|||
|
Video Chip
|
|||
|
~~~~~~~~~~
|
|||
|
size loc.
|
|||
|
~~~~ ~~~~
|
|||
|
B 2100 Screen fade x000bbbb x=screen on/off b=brightness(0-f)
|
|||
|
B 2106 Screen Pixelation xxxxbbbb x=pixel size b=planes to expand
|
|||
|
B 2107 Plane 0 location in vram xxxxxxab x=address ab=32/64 width xy
|
|||
|
B 2108 Plane 1 location in vram xxxxxxab as above
|
|||
|
B 2109 Plane 2 location in vram xxxxxxab as above
|
|||
|
B 210a Plane 3 location in vram xxxxxxab as above
|
|||
|
B 210b Tile VRAM address aaaabbbb a=Playfield 0 b=Playfield 1
|
|||
|
B 210c Tile VRAM address ccccdddd c=Playfield 2 d=Playfield 3
|
|||
|
2B 210d Plane 0 scroll x 8+3 bits (0-7ff) put first 8 bits and then
|
|||
|
2B 210e Plane 0 scroll y 8+3 bits (0-7ff) 3 highest bits
|
|||
|
2B 210f Plane 1 scroll x as above
|
|||
|
2B 2110 Plane 1 scroll y as above
|
|||
|
2B 2111 Plane 2 scroll x as above
|
|||
|
2B 2112 Plane 2 scroll y as above
|
|||
|
2B 2113 Plane 3 scroll x as above
|
|||
|
2B 2114 Plane 3 scroll y as above
|
|||
|
B 2115 Video port control
|
|||
|
W 2116 Video port address (lo-hi)
|
|||
|
W 2118 Video port data (lo-hi) (address is incremented by 2)
|
|||
|
B 2121 Palette color nr
|
|||
|
B 2122 Palette color data
|
|||
|
B 212C Playfield Enable xxxxabcd a-d = playfield number..
|
|||
|
B 2133 Screen mode 0000ab0c a=Interlace Y b=Overscan c=Interlace X??
|
|||
|
2140-2142 Audio Registers????
|
|||
|
|
|||
|
I/O
|
|||
|
~~~
|
|||
|
W B 420b Start dma (enable bits) bits: 76543210 = dma nr (8 DMA's)
|
|||
|
R B 4212 Pad ready to be read
|
|||
|
R W 4218 Pad 0 data 76543210 = A-B-Select-Start-U-D-L-R
|
|||
|
4219 76543210 = X-Y-Top Left-Top Right-0000
|
|||
|
R W 421a Pad 1 data as above
|
|||
|
R W 421c Pad 2 data as above
|
|||
|
R W 421e Pad 3 data as above
|
|||
|
|
|||
|
DMA registers ($4300-$437f)
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
B 43X0 DMA control reg??(not sure!)
|
|||
|
B 43X1 DMA destination (Access only to some of the video chip
|
|||
|
registers ($2100-$21ff)
|
|||
|
$18=video port $22=color palette
|
|||
|
W 43X2 Source address lo-hi 16 lowest bits
|
|||
|
B 43X4 Source Bank addr. 8 highest bits
|
|||
|
W 43X5 Transfer size lo-hi
|
|||
|
|
|||
|
X=dma number (0-7) DMA #0= 4300-4305
|
|||
|
DMA #1= 4310-4315 ...
|
|||
|
DMA #7= 4370-4375
|
|||
|
|
|||
|
Symbols: size: B=byte long 2B=put 2 bytes W=word long
|
|||
|
R=read only W=write only
|
|||
|
|
|||
|
Screen Details
|
|||
|
~~~~~~~~~~~~~~
|
|||
|
Famicom Tile format is simple. Each Tile is 4 planes and 8x8 bits.
|
|||
|
32 bytes are used per Tile .
|
|||
|
|
|||
|
PLANES 1 & 2 PLANES 3 & 4
|
|||
|
byte0 byte1 byte 16 byte 17
|
|||
|
byte2 byte3 byte 18 byte 19
|
|||
|
byte4 byte5 byte 20 byte 21
|
|||
|
..... .......
|
|||
|
byte14 byte15 byte 30 byte 31
|
|||
|
|
|||
|
Screen Map
|
|||
|
~~~~~~~~~~
|
|||
|
Famicom can use only Tiles $0-$3ff, max 1024 chars.
|
|||
|
16 bits: YX?c ccNN NNNN NNNN
|
|||
|
fedc ba98 7654 3210
|
|||
|
|
|||
|
Y = mirror y X = mirror x ?=unknown
|
|||
|
ccc = palette nr (8 palettes) NN.. = character number
|
|||
|
|
|||
|
Screen Resolution is normally 32x30 - 64 bytes / line
|
|||
|
|
|||
|
Screen VRAM Location
|
|||
|
~~~~~~~~~~~~~~~~~~~~
|
|||
|
Screen Width 32x32 offset for x,y 0,0 = 0
|
|||
|
|
|||
|
Screen Width 64x32 offset for x,y 0,0 = 0
|
|||
|
33,0 = $400
|
|||
|
|
|||
|
Screen Width 32x60 offset for x,y 0,0 = 0
|
|||
|
0,31 = $400
|
|||
|
|
|||
|
Screen Width 64x60 offset for x,y 0,0 = 0
|
|||
|
33,0 = $400
|
|||
|
0,31 = $800
|
|||
|
33,31 = $c00
|
|||
|
|
|||
|
As can be seen if a wider mode is selected the extra height/width follow
|
|||
|
after the main screen in memory.
|
|||
|
|