1 ========= mmc5 infomation ==========
4 translated May 31, 1998 by Sgt. Bowhack
5 mail goroh_kun@geocities.co.jp
7 5000,5004 ch1,ch2 Pulse Control
9 CC Duty Cycle (Positive vs. Negative)
10 #0:87.5% #1:75.0% #2:50.0% #3:25.0%
11 w Waveform Hold (e.g. Looping)
17 #0<-fast<--->-slow--> #15
21 5002,5006 ch1,ch2 frequency L
23 5003,5007 ch1,ch2 frequency H
25 ttttt sound occurence time
27 Objective is to remove the continuous changing of frequency for
28 square wave setup and do the same to the main part of the square wave
29 of studying the main part of the famicom. (?- Sgt. Bowhack)
31 5010 ch3 synthetic voice business channel
33 O wave output 0:Off 1:On
35 5011 ch4 synthetic voice business channel 2
39 5015 sound output channel
41 A: ch1 output 1:enable 0:disable
42 B: ch2 output 1:enable 0:disable
44 5100 PRG-page size Setting
48 * Reset is misled the first times for about 8k (?- SB)
50 5101 CHR-page size Setting
55 5102 W BBR-RAM Write Protect 1
57 5103 W BBR-RAM Write Protect 2
59 (AA,BB) = (2,1) permitted to write to BBR-RAM only when crowded
60 *Reset write around becomes prohibited when crowded
62 5104 Grafix Mode Setting
63 $5c00-$5fff decides how it should be used
65 #00:Enable only Split Mode
66 #01:Enable Split Mode & ExGrafix Mode
68 #03:ExRAM Mode & Write Protect
71 MMC5 has 2 graphic mode extensions that allow more than 256 characters
72 on one standard game screen. It uses Split Mode so it can display the
73 specified CHR-page and scroll position seperate from ExGrafix Mode to
74 be able to choose a palette, and the other divides it vertically.
76 5105 W NameTable Setting
78 aa: Select VRAM at 0x2000-0x23ff
79 bb: Select VRAM at 0x2400-0x27ff
80 cc: Select VRAM at 0x2800-0x2bff
81 dd: Select VRAM at 0x2c00-0x2fff
82 #0:use VRAM 0x000-0x3ff
83 #1:use VRAM 0x400-0x7ff
84 #2:use ExVRAM 0x000-0x3ff
85 #3:use ExNameTable(Fill Mode)
88 The name table can designate 4 kinds of this resister and be a useful
89 special quality for this because painting and smashing it with a
90 character that there is 1 sheet for the remaining sheets can generally
93 5106 W Fill Mode Setting 1
96 For whether it paints or smashes it at any non-designated character
98 5107 W Fill Mode Setting 2
100 Whether or not it uses any non-designated palettes
102 5113 RAM-page for $6000-$7FFF
105 5114-5117 Program Bank switch
107 $5117 [8]-[F] bit pppppp--
110 $5115 [8]-[B] bit ppppppp-
111 $5117 [C]-[F] bit ppppppp-
114 $5114 [8][9] bit pppppppp
115 $5115 [A][B] bit pppppppp
116 $5116 [C][D] bit pppppppp
117 $5117* [E][F] bit pppppppp
119 *Reset is around early, Last Page misled
121 5120-512b Charactor Bank switch
123 $5120-$5127 switch to mode A
124 $5128-$512b switch to mode B
129 $5120-$5127 switch to mode A
130 $5128-$512b switch to mode B
133 $512b [0]-[3],[4]-[7] modeB
136 $5120-$5127 switch to mode A
137 $5128-$512b switch to mode B
142 $5129 [0]-[1],[4]-[5] modeB
143 $512b [2]-[3],[6]-[7] modeB
146 $5120-$5127 switch to mode A
147 $5128-$512b switch to mode B
162 MMC5 has mode A ,mode B and 2 kinds of CHR-page memory resistors.
163 They can be used for refreshing it. (?-SB)
168 5200 W Split Mode Control 1
170 For the E function 0:don't use 1:use
171 c boundary's side is for using Split Mode extension of graphics
172 0: left side 1: right side
173 vvvvv left boundary is designated with the char. # to count places
179 Used for SplitMode GFX extension from left 1-2 character
181 Used for SplitMode GFX extension from the right side 3 chars.
183 Used for SplitMode GFX extension on the whole screen
185 Used for SplitMode GFX extension on the right side of the screen
187 Used for SplitMode GFX extension on the left side of the screen
189 5201 W SplitMode setup for SplitMode Ext. GFX use 1
190 $2005 determines the vertical movement; it can also delay ext. gfx's
191 vert. movement if necessary. It's written 2 times in bulk in the same
192 way as it would slip off a grade in $2005 (??-SB)
194 5202 W SplitMode setup for SplitMode Ext. GFX use 2
196 uses vertical division of ext. gfx CHR-page designation
197 index_size=4k(0x1000byte)
198 In case it uses a character 0x4000-0x4fff for the ext. gfx in question
201 5203 W scanline break point
202 For scanline # that it splits and wants to make it designate it in bulk
204 5204 WR IRQ enable/disable
206 I 1:IRQ Enable 0:IRQ Disable
208 I 1:Scanline Hit 0:Scanline not Hit
209 $5203 is designated as scanline when arrived.
211 5205 WR mult input/output
212 5206 WR mult input/output
213 ($5205in)*($5206in) = $5205,$5206out
215 5c00-5fbf ext. gfx business VRAM
216 shows an attribute of every position character
220 PP: use character palette number
221 pppppp: use background CHR-PAGE number index=4k
222 #0-#3F are designations, $0000-$3FFF is CHR-data's range
223 Use for extension gfx
226 SplitMode uses a Name Table for extension gfx use.
228 pppppppp: use for background char. number designation
231 Used for Extension RAM
238 SplitMode uses gfx's Attribute Table extension.
239 PPU uses $23c0-$23ff in the same way as the Attribute Table
242 Used for Extension RAM
245 5c00-5fff has 3 uses.
246 Split Mode and ExGrafix Mode's VBlank is written so as to become
247 crowded, it writes a 0 and becomes crowded.
248 Every mode tries to go around ExRAM mode including reading but it
249 writes it, is effective in bulk and #5c-#5f is the output at times
250 where it is effective.