Final Fantasy VI/ROM map/Assembly C3A

From Data Crystal
< Final Fantasy VI‎ | ROM map
Revision as of 19:31, 29 October 2013 by HatZen08 (talk | contribs) (assembly C3A)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
C3/9FFD:	20149E  	JSR $9E14
C3/A000:	20DB8E  	JSR $8EDB
C3/A003:	A508    	LDA $08
C3/A005:	8980    	BIT #$80       (is A being pressed?)
C3/A007:	F02A    	BEQ $A033      (branch if not, BPL...)
C3/A009:	20B20E  	JSR $0EB2		(makes the click sound)
C3/A00C:	A54E    	LDA $4E
C3/A00E:	855F    	STA $5F
C3/A010:	A95B    	LDA #$5B
C3/A012:	8526    	STA $26
C3/A014:	2051A0  	JSR $A051
C3/A017:	2050A1  	JSR $A150
C3/A01A:	20EB9A  	JSR $9AEB
C3/A01D:	A95A    	LDA #$5A
C3/A01F:	8527    	STA $27
C3/A021:	20156A  	JSR $6A15
C3/A024:	206813  	JSR $1368      (trigger NMI)
C3/A027:	20AC9C  	JSR $9CAC
C3/A02A:	203392  	JSR $9233
C3/A02D:	20239E  	JSR $9E23
C3/A030:	4C6813  	JMP $1368      (trigger NMI)

C3/A033:	A509    	LDA $09
C3/A035:	8980    	BIT #$80       (is B being pressed?)
C3/A037:	F00E    	BEQ $A047      (branch if not, BPL...)
C3/A039:	20A90E  	JSR $0EA9
C3/A03C:	20BD8E  	JSR $8EBD
C3/A03F:	20C68E  	JSR $8EC6
C3/A042:	A959    	LDA #$59
C3/A044:	8526    	STA $26
C3/A046:	60      	RTS
 
C3/A047:	20E69E  	JSR $9EE6
C3/A04A:	A979    	LDA #$79
C3/A04C:	85E0    	STA $E0
C3/A04E:	4C2220  	JMP $2022

C3/A051:	202A9C  	JSR $9C2A
C3/A054:	20419C  	JSR $9C41
C3/A057:	A920    	LDA #$20
C3/A059:	8529    	STA $29        (set text color to white)
C3/A05B:	A600    	LDX $00
C3/A05D:	9B      	TXY
C3/A05E:	7B      	TDC
C3/A05F:	B96918  	LDA $1869,Y 	(Load the index of inventory item Y)
C3/A062:	C9FF    	CMP #$FF		(Is it the "empty" item?)
C3/A064:	F022    	BEQ $A088
C3/A066:	202183  	JSR $8321		(Multipy the index by 30)
C3/A069:	AE3421  	LDX $2134		(Load X with the result)
C3/A06C:	BF0050D8	LDA $D85000,X	(Load item type X)
C3/A070:	2907    	AND #$07		(Zero out the upper nibble)
C3/A072:	C905    	CMP #$05		(Is it a relic [item type 5]?)
C3/A074:	D012    	BNE $A088		(If it's not, branch -> do the next item)
C3/A076:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A078:	BF0150D8	LDA $D85001,X	(Load equippable chars X)
C3/A07C:	24E7    	BIT $E7
C3/A07E:	F008    	BEQ $A088
C3/A080:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A082:	98      	TYA 
C3/A083:	8D8021  	STA $2180
C3/A086:	E6E0    	INC $E0
C3/A088:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A08A:	C8      	INY
C3/A08B:	C00001  	CPY #$0100
C3/A08E:	D0CE    	BNE $A05E
C3/A090:	A5E0    	LDA $E0
C3/A092:	8F899D7E	STA $7E9D89
C3/A096:	60      	RTS
 
C3/A097:	A910    	LDA #$10
C3/A099:	1445    	TRB $45
C3/A09B:	20149E  	JSR $9E14
C3/A09E:	20D39A  	JSR $9AD3
C3/A0A1:	203392  	JSR $9233
C3/A0A4:	20D8A1  	JSR $A1D8
C3/A0A7:	A508    	LDA $08
C3/A0A9:	8980    	BIT #$80       (are you pressing A?)
C3/A0AB:	F02F    	BEQ $A0DC      (branch if not, BPL...)
C3/A0AD:	20B20E  	JSR $0EB2		(makes the click sound)
C3/A0B0:	20F293  	JSR $93F2
C3/A0B3:	C221    	REP #$21
C3/A0B5:	98      	TYA 
C3/A0B6:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A0B8:	655F    	ADC $5F
C3/A0BA:	A8      	TAY
C3/A0BB:	B92300  	LDA $0023,Y
C3/A0BE:	C9FF    	CMP #$FF
C3/A0C0:	F003    	BEQ $A0C5
C3/A0C2:	205E9D  	JSR $$9D5E         (Put item into inventory)
C3/A0C5:	7B      	TDC
C3/A0C6:	A54B    	LDA $4B
C3/A0C8:	AA      	TAX
C3/A0C9:	BF8A9D7E	LDA $7E9D8A,X
C3/A0CD:	AA      	TAX
C3/A0CE:	BD6918  	LDA $1869,X 	(Items currently in inventory)
C3/A0D1:	992300  	STA $0023,Y		(Store to relic slot 1)
C3/A0D4:	20979D  	JSR $9D97		(Remove item from inventory)
C3/A0D7:	203191  	JSR $9131
C3/A0DA:	8009    	BRA $A0E5
C3/A0DC:	A509    	LDA $09
C3/A0DE:	8980    	BIT #$80       (are you pressing B?)
C3/A0E0:	F027    	BEQ $A109      (branch if not, BPL...)
C3/A0E2:	20A90E  	JSR $0EA9
C3/A0E5:	A910    	LDA #$10
C3/A0E7:	0445    	TSB $45
C3/A0E9:	20879C  	JSR $9C87
C3/A0EC:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A0EE:	A90001  	LDA #$0100
C3/A0F1:	8FD09B7E	STA $7E9BD0
C3/A0F5:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A0F7:	A9C1    	LDA #$C1
C3/A0F9:	1446    	TRB $46
C3/A0FB:	20D58E  	JSR $8ED5
C3/A0FE:	A55F    	LDA $5F
C3/A100:	854E    	STA $4E
C3/A102:	20DE8E  	JSR $8EDE
C3/A105:	A95A    	LDA #$5A
C3/A107:	8526    	STA $26
C3/A109:	60      	RTS
 
C3/A10A:	20239E  	JSR $9E23
C3/A10D:	20DB8E  	JSR $8EDB
C3/A110:	A508    	LDA $08
C3/A112:	8980    	BIT #$80       (are you pressing A?)
C3/A114:	F01C    	BEQ $A132      (branch if not, BPL...)
C3/A116:	20B20E  	JSR $0EB2		(makes the click sound)
C3/A119:	20F293  	JSR $93F2
C3/A11C:	C221    	REP #$21
C3/A11E:	98      	TYA 
C3/A11F:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A121:	654B    	ADC $4B
C3/A123:	A8      	TAY
C3/A124:	B92300  	LDA $0023,Y
C3/A127:	205E9D  	JSR $9D5E         (Put item into inventory)
C3/A12A:	A9FF    	LDA #$FF
C3/A12C:	992300  	STA $0023,Y
C3/A12F:	203191  	JSR $9131
C3/A132:	A509    	LDA $09
C3/A134:	8980    	BIT #$80       (are you pressing B?)
C3/A136:	F00E    	BEQ $A146      (branch if not, BPL...)
C3/A138:	20A90E  	JSR $0EA9
C3/A13B:	20BD8E  	JSR $8EBD
C3/A13E:	20C68E  	JSR $8EC6
C3/A141:	A959    	LDA #$59
C3/A143:	8526    	STA $26
C3/A145:	60      	RTS
 
C3/A146:	20E69E  	JSR $9EE6
C3/A149:	A97A    	LDA #$7A
C3/A14B:	85E0    	STA $E0
C3/A14D:	4C2220  	JMP $2022

C3/A150:	A28DAC  	LDX #$AC8D
C3/A153:	8E8121  	STX $2181
C3/A156:	AF899D7E	LDA $7E9D89		(Number of items under consideration)
C3/A15A:	F02A    	BEQ $A186		(Exit if it's zero)
C3/A15C:	C901    	CMP #$01		(Is it just one?)
C3/A15E:	F026    	BEQ $A186		(Exit if it is)
C3/A160:	85E7    	STA $E7		(Store the number to $E7)
C3/A162:	64E8    	STZ $E8		(Set $E8 to zero)
C3/A164:	7B      	TDC			(Set A to zero)
C3/A165:	AA      	TAX			(Set X to zero)
C3/A166:	A8      	TAY			(Set Y to zero)
C3/A167:	BF8A9D7E	LDA $7E9D8A,X	(Load the Xth entry from our list)
C3/A16B:	DA      	PHX			(Push X [the place in our eligible equipment list])
C3/A16C:	A8      	TAY			(Transfer the id of the item at X into Y)
C3/A16D:	B96918  	LDA $1869,Y 	(Load inventory item Y)
C3/A170:	202183  	JSR $8321		(Multiply the index by 30 to get its stats out of the data table)
C3/A173:	AE3421  	LDX $2134		(Load the result)
C3/A176:	BF1450D8	LDA $D85014,X	(Load attack pwr./battle pwr./def. pwr etc)
C3/A17A:	8D8021  	STA $2180		(Store that value out)
C3/A17D:	FA      	PLX			(Restore the place in the eligible equipment list)
C3/A17E:	E8      	INX			(Move up to the next place)
C3/A17F:	E4E7    	CPX $E7		(Are we at the last one?)
C3/A181:	D0E4    	BNE $A167		(Branch back if not)
C3/A183:	2087A1  	JSR $A187		
C3/A186:	60      	RTS
 
C3/A187:	C6E7    	DEC $E7		(Decrement $E7 [the length of the list under consideration])
C3/A189:	8B      	PHB			(Save the data bank register)
C3/A18A:	A97E    	LDA #$7E		(Load #$7E...)
C3/A18C:	48      	PHA			(Put it on the stack)
C3/A18D:	AB      	PLB			(Pull it into the DBR)
C3/A18E:	7B      	TDC			(Set A to zero)
C3/A18F:	A8      	TAY			(Set Y to zero)
C3/A190:	7B      	TDC			(Set A to zero)
C3/A191:	AA      	TAX			(Set X to zero)
C3/A192:	BD8DAC  	LDA $AC8D,X		
C3/A195:	DD8EAC  	CMP $AC8E,X
C3/A198:	B01D    	BCS $A1B7
C3/A19A:	85E0    	STA $E0
C3/A19C:	BD8A9D  	LDA $9D8A,X
C3/A19F:	85E1    	STA $E1
C3/A1A1:	BD8EAC  	LDA $AC8E,X
C3/A1A4:	9D8DAC  	STA $AC8D,X
C3/A1A7:	BD8B9D  	LDA $9D8B,X
C3/A1AA:	9D8A9D  	STA $9D8A,X
C3/A1AD:	A5E0    	LDA $E0
C3/A1AF:	9D8EAC  	STA $AC8E,X
C3/A1B2:	A5E1    	LDA $E1
C3/A1B4:	9D8B9D  	STA $9D8B,X
C3/A1B7:	E8      	INX
C3/A1B8:	E4E7    	CPX $E7
C3/A1BA:	D0D6    	BNE $A192
C3/A1BC:	C8      	INY
C3/A1BD:	C4E7    	CPY $E7
C3/A1BF:	D0CF    	BNE $A190
C3/A1C1:	AB      	PLB			(Restore the data bank register)
C3/A1C2:	60      	RTS
 
C3/A1C3:	200883  	JSR $8308
C3/A1C6:	20F293  	JSR $93F2
C3/A1C9:	A54B    	LDA $4B
C3/A1CB:	D005    	BNE $A1D2
C3/A1CD:	B92300  	LDA $0023,Y
C3/A1D0:	8003    	BRA $A1D5
C3/A1D2:	B92400  	LDA $0024,Y
C3/A1D5:	4C3857  	JMP $5738

C3/A1D8:	200883  	JSR $8308
C3/A1DB:	7B      	TDC
C3/A1DC:	A54B    	LDA $4B
C3/A1DE:	AA      	TAX
C3/A1DF:	BF8A9D7E	LDA $7E9D8A,X
C3/A1E3:	AA      	TAX
C3/A1E4:	BD6918  	LDA $1869,X 	(Items currently in inventory)
C3/A1E7:	4C3857  	JMP $5738

Data, we think...
C3/A1EA:	1AA2
C3/A1EC:	1FA2
C3/A1EE:	25A2    	AND $A2
C3/A1F0:	2B      	PLD 
C3/A1F1:	A231A2  	LDX #$A231
C3/A1F4:	37A2    	AND [$A2],Y
C3/A1F6:	3DA242  	AND $42A2,X
C3/A1F9:	A248A2  	LDX #$A248
C3/A1FC:	4EA254  	LSR $54A2
C3/A1FF:	A25AA2  	LDX #$A25A
C3/A202:	60      	RTS
 
C3/A203:	A265A2  	LDX #$A265
C3/A206:	6B      	RTL
 
C3/A207:	A271A2  	LDX #$A271
C3/A20A:	77A2    	ADC [$A2],Y
C3/A20C:	7DA283  	ADC $83A2,X
C3/A20F:	A288A2  	LDX #$A288
C3/A212:	8EA294  	STX $94A2
C3/A215:	A29AA2  	LDX #$A29A
C3/A218:	A0A24F  	LDY #$4FA2
C3/A21B:	399F2D  	AND $2D9F,Y
C3/A21E:	006B    	BRK #$6B
C3/A220:	39633F  	AND $3F63,Y
C3/A223:	A900    	LDA #$00
C3/A225:	CF398B7F	CMP $7F8B39
C3/A229:	9D00EB  	STA $EB00,X
C3/A22C:	396BA7  	AND $A76B,Y
C3/A22F:	3F004F3A	AND $3A4F00,X
C3/A233:	8A      	TXA
C3/A234:	6E5400  	ROR $0054
C3/A237:	6B      	RTL
 
C3/A238:	3A      	DEC A
C3/A239:	8A      	TXA
C3/A23A:	6E5500  	ROR $0055
C3/A23D:	4F3B9F2D	EOR $2D9F3B
C3/A241:	006B    	BRK #$6B
C3/A243:	3B      	TSC 
C3/A244:	633F    	ADC $3F,S
C3/A246:	A900    	LDA #$00
C3/A248:	CF3B8B7F	CMP $7F8B3B
C3/A24C:	9D00EB  	STA $EB00,X
C3/A24F:	3B      	TSC 
C3/A250:	6B      	RTL
 
C3/A251:	A73F    	LDA [$3F]
C3/A253:	004F    	BRK #$4F
C3/A255:	3C8A6E  	BIT $6E8A,X
C3/A258:	54006B  	MVN $00,$6B
C3/A25B:	3C8A6E  	BIT $6E8A,X
C3/A25E:	5500    	EOR $00,X
C3/A260:	4F3D9F2D	EOR $2D9F3D
C3/A264:	006B    	BRK #$6B
C3/A266:	3D633F  	AND $3F63,X
C3/A269:	A900    	LDA #$00
C3/A26B:	CF3D8B7F	CMP $7F8B3D
C3/A26F:	9D00EB  	STA $EB00,X
C3/A272:	3D6BA7  	AND $A76B,X
C3/A275:	3F004F3E	AND $3E4F00,X
C3/A279:	8A      	TXA
C3/A27A:	6E5400  	ROR $0054
C3/A27D:	6B      	RTL
 
C3/A27E:	3E8A6E  	ROL $6E8A,X
C3/A281:	5500    	EOR $00,X
C3/A283:	4F3F9F2D	EOR $2D9F3F
C3/A287:	006B    	BRK #$6B
C3/A289:	3F633FA9	AND $A93F63,X
C3/A28D:	00CF    	BRK #$CF
C3/A28F:	3F8B7F9D	AND $9D7F8B,X
C3/A293:	00EB    	BRK #$EB
C3/A295:	3F6BA73F	AND $3FA76B,X
C3/A299:	004F    	BRK #$4F
C3/A29B:	40      	RTI
 
C3/A29C:	8A      	TXA
C3/A29D:	6E5400  	ROR $0054
C3/A2A0:	6B      	RTL
 
C3/A2A1:	40      	RTI
 
C3/A2A2:	8A      	TXA
C3/A2A3:	6E5500

Pointers to the strings just below this
C3/A2A6:	1AA3
C3/A2A8:	22A3
C3/A2AA:	2CA3
C3/A2AC:	34A3

Pointers to the strings just below this
C3/A2AE:	CCA2
C3/A2B0:	D3A2
C3/A2B2:	3CA3
C3/A2B4:	44A3
C3/A2B6:	DAA2
C3/A2B8:	E2A2

C3/A2BA:	0D7A91C4A19AA79D00	(R-hand)
C3/A2C3:	8D7A8BC4A19AA79D00	(L-hand)
C3/A2CC:	0D7B879E9A9D00  	(Head)
C3/A2D3:	8D7B81A89DB200  	(Body)
C3/A2DA:	0D7B919EA5A29C00	(Relic)
C3/A2E2:	8D7B919EA5A29C00	(Relic)
C3/A2EA:	0D79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
C3/A309:	3979849094888F00        (EQUIP)
C3/A311:	397991848C8E958400      (REMOVE)
C3/A31A:	0D79849094888F00        (EQUIP)
C3/A322:	1B798E8F93888C948C00    (OPTIMUM)
C3/A32C:	2D79918C8E958400        (RMOVE)
C3/A334:	3B79848C8F939800        (EMPTY)
C3/A33C:	1179849094888F00        (EQUIP)
C3/A344:	1F7991848C8E958400      (REMOVE)

Pointers to the strings just below this
C3/A34D:	71A3    (for Vigor)
C3/A34F:	79A3    (for Stamina)
C3/A351:	83A3
C3/A353:	8DA3
C3/A355:	97A3
C3/A357:	A1A3
C3/A359:	A5A3
C3/A35B:	A9A3
C3/A35D:	ADA3
C3/A35F:	B1A3
C3/A361:	B5A3
C3/A363:	B9A3
C3/A365:	BDA3
C3/A367:	C1A3
C3/A369:	C5A3
C3/A36B:	CDA3
C3/A36D:	D7A3
C3/A36F:	E1A3

C3/A371:	A97C95A2A0A8AB00       (Vigor)
C3/A379:	A97D92AD9AA6A2A79A00   (Stamina)
C3/A383:	297E8C9AA0C58FB0AB00   (Mag.Pwr)
C3/A38D:	A97F84AF9A9D9EFFCD00   (Evade %)
C3/A397:	A9808C81A5A89CA4CD00   (MBlock%)
C3/A3A1:	BD7CD500               (->)
C3/A3A5:	3D7DD500               (->)
C3/A3A9:	BD7DD500               (->)
C3/A3AD:	3D7ED500               (->)
C3/A3B1:	3D7FD500               (->)
C3/A3B5:	BD7FD500               (->)
C3/A3B9:	BD7ED500               (->)
C3/A3BD:	3D80D500               (->)
C3/A3C1:	BD80D500               (->)
C3/A3C5:	297D92A99E9E9D00       (Speed)
C3/A3CD:	A97E819AADC58FB0AB00   (Bat.Pwr)
C3/A3D7:	297F839E9F9EA7AC9E00   (Defense)
C3/A3E1:	29808C9AA0C5839E9F00   (Mag.Def)
C3/A3EB:	237984A6A9ADB200       (Empty)
C3/A3F3:	21798EA9ADA2A6AEA600   (Optimum)
C3/A3FD:	A37984A6A9ADB200       (Empty)
C3/A405:	A1798EA9ADA2A6AEA600   (Optimum)
C3/A40F:	157A84AAAEA2A9A69EA7ADFF9CA19AA7A09E9DC500    (Equipment changed.)

Reset timers used for input decoding
C3/A424:	A908      	LDA #$08       (from C3/0006, C3/0105)
C3/A426:	8D2902  	STA $0229
C3/A429:	A903    	LDA #$03
C3/A42B:	8D2A02  	STA $022A
C3/A42E:	8D2602  	STA $0226
C3/A431:	A920    	LDA #$20
C3/A433:	8D2502  	STA $0225
C3/A436:	AD541D  	LDA $1D54
C3/A439:	2940    	AND #$40
C3/A43B:	F004    	BEQ $A441
C3/A43D:	20C4A5  	JSR $A5C4
C3/A440:	6B      	RTL
 
C3/A441:	20D1A5  	JSR $A5D1
C3/A444:	6B      	RTL

---------------Decoding the Joypad ---------------------------------------------

C3/A445:	AD541D  	LDA $1D54      (from C3/0003)
C3/A448:	100E    	BPL $A458      (branch if not multiplayer)
C3/A44A:	7B      	TDC
C3/A44B:	AD0102  	LDA $0201      (which character is under control now?)
C3/A44E:	AA      	TAX
C3/A44F:	AD4F1D  	LDA $1D4F      (load bitfield with player 2's characters)
C3/A452:	3F3DA5C3	AND $C3A53D,X  (AND it with 01, 02, 04, or 08)
C3/A456:	D005    	BNE $A45D      (if not 0, it's player 2 so branch)
C3/A458:	AE1842  	LDX $4218      (Joypad 1 status register)
C3/A45B:	8005    	BRA $A462
C3/A45D:	AE1A42  	LDX $421A      (Joypad 2 status register)
C3/A460:	8000    	BRA $A462      (Pointless)

C3/A462:	2083A4  	JSR $A483
C3/A465:	20BDA4  	JSR $A4BD
C3/A468:	20F6A4  	JSR $A4F6      (check to see if A is being held)
C3/A46B:	4C27A5  	JMP $A527      (restore memory and exit)

C3/A46E:	AE1842  	LDX $4218      (Joypad 1 status register)
C3/A471:	2083A4  	JSR $A483
C3/A474:	20BDA4  	JSR $A4BD
C3/A477:	4C27A5  	JMP $A527

C3/A47A:	AE1842  	LDX $4218      (Joypad 1 status register; from C3/0009)
C3/A47D:	2083A4  	JSR $A483
C3/A480:	4C27A5  	JMP $A527

C3/A483:	A4E0    	LDY $E0		(Here, we temporarily store off)
C3/A485:	8C1302  	STY $0213		(direct memory locations)
C3/A488:	A4E7    	LDY $E7		($E0, $E7, $E9, and $EB)
C3/A48A:	8C1502  	STY $0215		(in order to use them to mask)
C3/A48D:	A4E9    	LDY $E9		(out the contents of)
C3/A48F:	8C1702  	STY $0217		(the joypad status word.)
C3/A492:	A4EB    	LDY $EB		(etc.)
C3/A494:	8C1902  	STY $0219		(etc.)
C3/A497:	86EB    	STX $EB		(Now $EB contains the joypad status word)
C3/A499:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A49B:	A50C    	LDA $0C		(Load A with $0C [buttons being held?])
C3/A49D:	29F0FF  	AND #$FFF0		(Clear out unused bits)
C3/A4A0:	85E0    	STA $E0		(Store it to $E0)
C3/A4A2:	2041A5  	JSR $A541		
C3/A4A5:	A50C    	LDA $0C		(Load A with $0C [buttons being held?])
C3/A4A7:	49FFFF  	EOR #$FFFF		(Toggle all bits)
C3/A4AA:	2506    	AND $06		(Clear out bits not on in $06 [buttons being pressed?])
C3/A4AC:	8508    	STA $08		(Store those to $08 [buttons just released?])
C3/A4AE:	A406    	LDY $06		(Load Y with $06 [buttons being pressed?])
C3/A4B0:	840C    	STY $0C		(Store it to $0C [buttons being held?])
C3/A4B2:	AD1842  	LDA $4218		(Joypad 1 status register)
C3/A4B5:	0D1A42  	ORA $421A		(Joypad 2 status register)
C3/A4B8:	8504    	STA $04		(Holds buttons pressed on Joypad 1 OR Joypad 2)
C3/A4BA:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A4BC:	60      	RTS
 
C3/A4BD:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A4BF:	A506    	LDA $06		(Load A with $06 [buttons being pressed?])
C3/A4C1:	29F0FF  	AND #$FFF0		(Clear out unsused bits)
C3/A4C4:	C5E0    	CMP $E0		(Compare it to $E0 [buttons that /were/ being held?])
C3/A4C6:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A4C8:	D01B    	BNE $A4E5		(Branch if [pressed != held]?)
C3/A4CA:	AD2702  	LDA $0227		(Load some sort of timer???)
C3/A4CD:	F005    	BEQ $A4D4		(Branch if it's zero)
C3/A4CF:	CE2702  	DEC $0227		(Otherwise, decrement it by 1)
C3/A4D2:	D01D    	BNE $A4F1		(Branch if that didn't make it zero)
C3/A4D4:	CE2802  	DEC $0228		($0227 is now zero, so decrement $0228 by 1)
C3/A4D7:	D018    	BNE $A4F1		(Branch if that didn't make it zero)
C3/A4D9:	AD2A02  	LDA $022A		(Load the A with $022A)
C3/A4DC:	8D2802  	STA $0228		(Store it to $0228, restoring the timer amount???)
C3/A4DF:	A406    	LDY $06		(Load Y with $06 [buttons being pressed?])
C3/A4E1:	840A    	STY $0A		(Store Y to $0A [buttons toggled?])
C3/A4E3:	8010    	BRA $A4F5

C3/A4E5:	AD2902  	LDA $0229		(Load a value from $0229)
C3/A4E8:	8D2702  	STA $0227		(Store it to $0227)
C3/A4EB:	AD2A02  	LDA $022A		(Likewise, take $022A)
C3/A4EE:	8D2802  	STA $0228		(and store to $0228)
C3/A4F1:	A408    	LDY $08		(Load Y with $08 [buttons just released?])
C3/A4F3:	840A    	STY $0A		(Store Y to $0A [buttons toggled??])
C3/A4F5:	60      	RTS
 
Routine exclusive to see if A is being held for an extended length of time
C3/A4F6:	A506    	LDA $06           (Load the pressed button register)
C3/A4F8:	8980    	BIT #$80          (Check for A button pressed)
C3/A4FA:	F01B    	BEQ $A517         (Branch if A not pressed)
C3/A4FC:	AD2502  	LDA $0225         (Load the A button wait to accept input time?)
C3/A4FF:	F005    	BEQ $A506         (Branch if zero to decrement upper byte)
C3/A501:	CE2502  	DEC $0225         (Otherwise, decrement by 1)
C3/A504:	D01C    	BNE $A522         (If not zero, branch and exit)
C3/A506:	CE2602  	DEC $0226         (If it was now zero, decrement the upper byte)
C3/A509:	D017    	BNE $A522         (If that's not now zero, branch and exit)
C3/A50B:	AD2A02  	LDA $022A         (Otherwise, reset the upper byte to $022A)
C3/A50E:	8D2602  	STA $0226         (Store back to the upper byte)
C3/A511:	A980    	LDA #$80          (Load 80)
C3/A513:	040A    	TSB $0A           (Set A button in buttons toggled byte) 
C3/A515:	800F    	BRA $A526         (Branch and exit)
C3/A517:	A920    	LDA #$20          (A button was not pressed, so set wait time to 32)
C3/A519:	8D2502  	STA $0225         (Store back to lower byte)
C3/A51C:	AD2A02  	LDA $022A         (Load master upper byte)
C3/A51F:	8D2602  	STA $0226         (Store back to uppper byte)
C3/A522:	A508    	LDA $08           (Load just released buttons)
C3/A524:	850A    	STA $0A           (Store to toggled buttons)
C3/A526:	60      	RTS
 

Restore memory and exit

C3/A527:	AC1302  	LDY $0213		(Here, we restore the contents)
C3/A52A:	84E0    	STY $E0		(of $E0, $E7, $E9, and $EB)
C3/A52C:	AC1502  	LDY $0215		(in preparation of the long)
C3/A52F:	84E7    	STY $E7		(return.)
C3/A531:	AC1702  	LDY $0217		()
C3/A534:	84E9    	STY $E9		()
C3/A536:	AC1902  	LDY $0219		()
C3/A539:	84EB    	STY $EB		()
C3/A53B:	7B      	TDC			
C3/A53C:	6B      	RTL
 
C3/A53D:	0102    	
C3/A53F:	0408    	

C3/A541:	A5EB    	LDA $EB		(Load Joypad status word)
C3/A543:	29000F    	AND #$0F00		(Filter out all but Up, Down, Left, Right)
C3/A546:	8506		STA $06		(Store any of those to $06)
C3/A548:	A98000    	LDA #$0080		(Load a filter for X)
C3/A54B:	85E7    	STA $E7		(Store that to $E7)
C3/A54D:	A90080    	LDA #$8000		(Load a filter for A)
C3/A550:	85E9    	STA $E9		(Store that to $E9)
C3/A552:	A400    	LDY $00		(Clear Y Register (Y = 0))
C3/A554:	2081A5    	JSR $A581		
C3/A557:	A94000    	LDA #$0040		(Load a filter for Y)
C3/A55A:	85E7    	STA $E7		(Store that to $E7)
C3/A55C:	A90040    	LDA #$4000		(Load a filter for B)
C3/A55F:	85E9    	STA $E9		(Store that to $E9)
C3/A561:	C8      	INY			(Increment Y register (Y = 1))
C3/A562:	2081A5  	JSR $A581
C3/A565:	A92000    	LDA #$0020		(Load a filter for R)
C3/A568:	85E7    	STA $E7		(Store that to $E7)
C3/A56A:	A91000    	LDA #$0010		(Load a filter for L)
C3/A56D:	85E9    	STA $E9		(Store that to $E9)
C3/A56F:	C8      	INY			(Increment Y register (Y = 2))
C3/A570:	2081A5  	JSR $A581
C3/A573:	A90010    	LDA #$1000		(Load a filter for Start)
C3/A576:	85E7    	STA $E7		(Store that to $E7)
C3/A578:	A90020    	LDA #$2000		(Load a filter for Select)
C3/A57B:	85E9    	STA $E9		(Store that to $E9)
C3/A57D:	C8      	INY			(Increment Y register (Y = 3))
C3/A57E:	4C81A5  	JMP $A581		(Pointless)

C3/A581:	A5EB    	LDA $EB		(Load the Joypad status word)
C3/A583:	24E7    	BIT $E7		(Is the bit designated by the $E7 filter on?)
C3/A585:	F014    	BEQ $A59B		(Branch if not)
C3/A587:	7B      	TDC			(Clear A)
C3/A588:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A58A:	B92002  	LDA $0220,Y		
C3/A58D:	29F0    	AND #$F0
C3/A58F:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A591:	4A      	LSR A
C3/A592:	4A      	LSR A
C3/A593:	4A      	LSR A
C3/A594:	AA      	TAX
C3/A595:	BFB4A5C3	LDA $C3A5B4,X
C3/A599:	0406    	TSB $06        (set the coorosponding bit if that button is being pressed)
C3/A59B:	A5EB    	LDA $EB		(Load the Joypad status word)
C3/A59D:	24E9    	BIT $E9		(Is the bit designated by the $E9 filter on?)
C3/A59F:	F012    	BEQ $A5B3		(Branch if not)
C3/A5A1:	7B      	TDC			(Clear A)
C3/A5A2:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A5A4:	B92002  	LDA $0220,Y
C3/A5A7:	290F    	AND #$0F
C3/A5A9:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A5AB:	0A      	ASL A
C3/A5AC:	AA      	TAX
C3/A5AD:	BFB4A5C3	LDA $C3A5B4,X
C3/A5B1:	0406    	TSB $06        (set the coorosponding bit if that button is being pressed)
C3/A5B3:	60      	RTS

Data: Bits set per joypad button
 
C3/A5B4:	0010	(L button)
C3/A5B6:	8000	(B button)
C3/A5B8:	0080	(A button)
C3/A5BA:	4000	(Y button)
C3/A5BC:	0040	(X button)
C3/A5BE:	2000	(Select button)
C3/A5C0:	1000	(Start button)
C3/A5C2:	0020	(R button)
These next four aren't listed, but they will be here for simplicity's sake
xx/xxxx:	0800    (up)
xx/xxxx:	0400    (down)
xx/xxxx:	0200    (left)
xx/xxxx:	0100    (right)

----------------------------------------------------------------------------------

C3/A5C4:	AC501D  	LDY $1D50      (load custom controls saved in SRAM)
C3/A5C6:	8C2002  	STY $0220      (save them)
C3/A5C9:	AC521D    	LDY $1D52      (load custom controls saved in SRAM)
C3/A5CD:	8C2202  	STY $0222      (save them)
C3/A5D0:	60      	RTS
 
C3/A5D1:	A01234  	LDY #$3412     (load defaults for controls)
C3/A5D4:	8C2002  	STY $0220      (save them)
C3/A5D7:	A05606  	LDY #$0656     (load defaults for controls)
C3/A5DA:	8C2202  	STY $0222      (save them)
C3/A5DD:	60      	RTS
 
C3/A5DE:	7B      	TDC
C3/A5DF:	AA      	TAX
C3/A5E0:	C220    	REP #$20      	(16 bit memory/accum.)
C3/A5E2:	9F71A27E	STA $7EA271,X
C3/A5E6:	E8      	INX
C3/A5E7:	E8      	INX
C3/A5E8:	9F71A27E	STA $7EA271,X
C3/A5EC:	E8      	INX
C3/A5ED:	E8      	INX
C3/A5EE:	E04002  	CPX #$0240
C3/A5F1:	D0EF    	BNE $A5E2
C3/A5F3:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/A5F5:	60      	RTS
 
C3/A5F6:	2000A6  	JSR $A600
C3/A5F9:	A901    	LDA #$01
C3/A5FB:	1445    	TRB $45
C3/A5FD:	4CAC14  	JMP $14AC

C3/A600:	841B    	STY $1B
C3/A602:	A071A2  	LDY #$A271
C3/A605:	841D    	STY $1D
C3/A607:	A02001  	LDY #$0120
C3/A60A:	8419    	STY $19
C3/A60C:	A97E    	LDA #$7E
C3/A60E:	851F    	STA $1F
C3/A610:	60      	RTS
 
C3/A611:	A24978  	LDX #$7849
C3/A614:	86EB    	STX $EB
C3/A616:	A97E    	LDA #$7E
C3/A618:	85ED    	STA $ED
C3/A61A:	A09805  	LDY #$0598
C3/A61D:	84E7    	STY $E7
C3/A61F:	A08005  	LDY #$0580
C3/A622:	A21024  	LDX #$2410
C3/A625:	86E0    	STX $E0
C3/A627:	2083A7  	JSR $A783
C3/A62A:	A0D805  	LDY #$05D8
C3/A62D:	84E7    	STY $E7
C3/A62F:	A0C005  	LDY #$05C0
C3/A632:	A21124  	LDX #$2411
C3/A635:	86E0    	STX $E0
C3/A637:	2083A7  	JSR $A783      (JMP fool!)
C3/A63A:	60      	RTS
 
C3/A63B:	20DEA5  	JSR $A5DE
C3/A63E:	648D    	STZ $8D
C3/A640:	64ED    	STZ $ED
C3/A642:	64EE    	STZ $EE
C3/A644:	A906    	LDA #$06
C3/A646:	85F1    	STA $F1
C3/A648:	A600    	LDX $00
C3/A64A:	BF899E7E	LDA $7E9E89,X
C3/A64E:	20A9A8  	JSR $A8A9
C3/A651:	DA      	PHX
C3/A652:	20B1A8  	JSR $A8B1
C3/A655:	FA      	PLX
C3/A656:	E8      	INX
C3/A657:	C6F1    	DEC $F1
C3/A659:	D0EF    	BNE $A64A
C3/A65B:	A08020  	LDY #$2080
C3/A65E:	2000A6  	JSR $A600      (BRA fool!)
C3/A661:	60      	RTS
 
C3/A662:	A24980  	LDX #$8049
C3/A665:	86EB    	STX $EB
C3/A667:	A97E    	LDA #$7E
C3/A669:	85ED    	STA $ED
C3/A66B:	A0BC00  	LDY #$00BC
C3/A66E:	84E7    	STY $E7
C3/A670:	A08400  	LDY #$0084
C3/A673:	A20035  	LDX #$3500
C3/A676:	86E0    	STX $E0
C3/A678:	2083A7  	JSR $A783
C3/A67B:	A0FC00  	LDY #$00FC
C3/A67E:	84E7    	STY $E7
C3/A680:	A0C400  	LDY #$00C4
C3/A683:	A20135  	LDX #$3501
C3/A686:	86E0    	STX $E0
C3/A688:	2083A7  	JSR $A783
C3/A68B:	A03C01  	LDY #$013C
C3/A68E:	84E7    	STY $E7
C3/A690:	A00401  	LDY #$0104
C3/A693:	A23835  	LDX #$3538
C3/A696:	86E0    	STX $E0
C3/A698:	2083A7  	JSR $A783
C3/A69B:	A07C01  	LDY #$017C
C3/A69E:	84E7    	STY $E7
C3/A6A0:	A04401  	LDY #$0144
C3/A6A3:	A23935  	LDX #$3539
C3/A6A6:	86E0    	STX $E0
C3/A6A8:	4C83A7  	JMP $A783

C3/A6AB:	A24978  	LDX #$7849
C3/A6AE:	86EB    	STX $EB
C3/A6B0:	A97E    	LDA #$7E
C3/A6B2:	85ED    	STA $ED
C3/A6B4:	A0BC01  	LDY #$01BC
C3/A6B7:	84E7    	STY $E7
C3/A6B9:	A08401  	LDY #$0184
C3/A6BC:	A20035  	LDX #$3500
C3/A6BF:	86E0    	STX $E0
C3/A6C1:	2083A7  	JSR $A783
C3/A6C4:	A0FC01  	LDY #$01FC
C3/A6C7:	84E7    	STY $E7
C3/A6C9:	A0C401  	LDY #$01C4
C3/A6CC:	A20135  	LDX #$3501
C3/A6CF:	86E0    	STX $E0
C3/A6D1:	2083A7  	JSR $A783
C3/A6D4:	A03C02  	LDY #$023C
C3/A6D7:	84E7    	STY $E7
C3/A6D9:	A00402  	LDY #$0204
C3/A6DC:	A23835  	LDX #$3538
C3/A6DF:	86E0    	STX $E0
C3/A6E1:	2083A7  	JSR $A783
C3/A6E4:	A07C02  	LDY #$027C
C3/A6E7:	84E7    	STY $E7
C3/A6E9:	A04402  	LDY #$0244
C3/A6EC:	A23935  	LDX #$3539
C3/A6EF:	86E0    	STX $E0
C3/A6F1:	4C83A7  	JMP $A783

C3/A6F4:	A24978  	LDX #$7849
C3/A6F7:	86EB    	STX $EB
C3/A6F9:	A97E    	LDA #$7E
C3/A6FB:	85ED    	STA $ED
C3/A6FD:	A0BC04  	LDY #$04BC
C3/A700:	84E7    	STY $E7
C3/A702:	A08404  	LDY #$0484
C3/A705:	A20035  	LDX #$3500
C3/A708:	86E0    	STX $E0
C3/A70A:	2083A7  	JSR $A783
C3/A70D:	A0FC04  	LDY #$04FC
C3/A710:	84E7    	STY $E7
C3/A712:	A0C404  	LDY #$04C4
C3/A715:	A20135  	LDX #$3501
C3/A718:	86E0    	STX $E0
C3/A71A:	2083A7  	JSR $A783
C3/A71D:	A03C05  	LDY #$053C
C3/A720:	84E7    	STY $E7
C3/A722:	A00405  	LDY #$0504
C3/A725:	A23835  	LDX #$3538
C3/A728:	86E0    	STX $E0
C3/A72A:	2083A7  	JSR $A783
C3/A72D:	A07C05  	LDY #$057C
C3/A730:	84E7    	STY $E7
C3/A732:	A04405  	LDY #$0544
C3/A735:	A23935  	LDX #$3539
C3/A738:	86E0    	STX $E0
C3/A73A:	4C83A7  	JMP $A783

C3/A73D:	A24978  	LDX #$7849
C3/A740:	86EB    	STX $EB
C3/A742:	A97E    	LDA #$7E
C3/A744:	85ED    	STA $ED
C3/A746:	A0BC01  	LDY #$01BC
C3/A749:	84E7    	STY $E7
C3/A74B:	A08401  	LDY #$0184
C3/A74E:	A20035  	LDX #$3500
C3/A751:	86E0    	STX $E0
C3/A753:	2083A7  	JSR $A783
C3/A756:	A0FC01  	LDY #$01FC
C3/A759:	84E7    	STY $E7
C3/A75B:	A0C401  	LDY #$01C4
C3/A75E:	A20135  	LDX #$3501
C3/A761:	86E0    	STX $E0
C3/A763:	2083A7  	JSR $A783
C3/A766:	A03C02  	LDY #$023C
C3/A769:	84E7    	STY $E7
C3/A76B:	A00402  	LDY #$0204
C3/A76E:	A23835  	LDX #$3538
C3/A771:	86E0    	STX $E0
C3/A773:	2083A7  	JSR $A783
C3/A776:	A07C02  	LDY #$027C
C3/A779:	84E7    	STY $E7
C3/A77B:	A04402  	LDY #$0244
C3/A77E:	A23935  	LDX #$3539
C3/A781:	86E0    	STX $E0
C3/A783:	C220    	REP #$20      (16 bit memory/accum.)
C3/A785:	A5E0    	LDA $E0
C3/A787:	97EB    	STA [$EB],Y
C3/A789:	E6E0    	INC $E0
C3/A78B:	E6E0    	INC $E0
C3/A78D:	C8      	INY
C3/A78E:	C8      	INY
C3/A78F:	C4E7    	CPY $E7
C3/A791:	D0F2    	BNE $A785
C3/A793:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A795:	60      	RTS


This is clearing out a lot of RAM...
 
C3/A796:	8B      	PHB
C3/A797:	A97E    	LDA #$7E	
C3/A799:	48      	PHA
C3/A79A:	AB      	PLB		(Set bank to 7E)
C3/A79B:	7B      	TDC
C3/A79C:	AA      	TAX
C3/A79D:	C220    	REP #$20      (16 bit memory/accum.)
C3/A79F:	9E71A2  	STZ $A271,X
C3/A7A2:	9E73A2  	STZ $A273,X
C3/A7A5:	9E75A2  	STZ $A275,X
C3/A7A8:	9E77A2  	STZ $A277,X
C3/A7AB:	9E79A2  	STZ $A279,X
C3/A7AE:	9E7BA2  	STZ $A27B,X
C3/A7B1:	9E7DA2  	STZ $A27D,X
C3/A7B4:	9E7FA2  	STZ $A27F,X
C3/A7B7:	9E81A2  	STZ $A281,X
C3/A7BA:	9E83A2  	STZ $A283,X
C3/A7BD:	9E85A2  	STZ $A285,X
C3/A7C0:	9E87A2  	STZ $A287,X
C3/A7C3:	9E89A2  	STZ $A289,X
C3/A7C6:	9E8BA2  	STZ $A28B,X
C3/A7C9:	9E8DA2  	STZ $A28D,X
C3/A7CC:	9E8FA2  	STZ $A28F,X
C3/A7CF:	9E91A2  	STZ $A291,X
C3/A7D2:	9E93A2  	STZ $A293,X
C3/A7D5:	9E95A2  	STZ $A295,X
C3/A7D8:	9E97A2  	STZ $A297,X
C3/A7DB:	9E99A2  	STZ $A299,X
C3/A7DE:	9E9BA2  	STZ $A29B,X
C3/A7E1:	9E9DA2  	STZ $A29D,X
C3/A7E4:	9E9FA2  	STZ $A29F,X
C3/A7E7:	9EA1A2  	STZ $A2A1,X
C3/A7EA:	9EA3A2  	STZ $A2A3,X
C3/A7ED:	9EA5A2  	STZ $A2A5,X
C3/A7F0:	9EA7A2  	STZ $A2A7,X
C3/A7F3:	9EA9A2  	STZ $A2A9,X
C3/A7F6:	9EABA2  	STZ $A2AB,X
C3/A7F9:	9EADA2  	STZ $A2AD,X
C3/A7FC:	9EAFA2  	STZ $A2AF,X
C3/A7FF:	8A      	TXA
C3/A800:	18      	CLC
C3/A801:	694000  	ADC #$0040
C3/A804:	AA      	TAX
C3/A805:	E00007  	CPX #$0700
C3/A808:	D095    	BNE $A79F
C3/A80A:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A80C:	AB      	PLB
C3/A80D:	60      	RTS
 
C3/A80E:	AA      	TAX
C3/A80F:	7C12A8  	JMP ($A812,X)

C3/A812:	18A8      	 
C3/A814:	2FA8
C3/A816:	1BA8	

C3/A818:	2096A7  	JSR $A796
C3/A81B:	648D    	STZ $8D
C3/A81D:	A62D    	LDX $2D
C3/A81F:	A901    	LDA #$01
C3/A821:	9D4936  	STA $3649,X    (execute the second entry in this queue's jump table)
C3/A824:	7B      	TDC
C3/A825:	C220    	REP #$20      (16 bit memory/accum.)
C3/A827:	9DCA33  	STA $33CA,X
C3/A82A:	9D4A34  	STA $344A,X
C3/A82D:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A82F:	A526    	LDA $26
C3/A831:	C917    	CMP #$17
C3/A833:	F058    	BEQ $A88D
C3/A835:	A546    	LDA $46
C3/A837:	29C0    	AND #$C0
C3/A839:	F006    	BEQ $A841
C3/A83B:	A506    	LDA $06
C3/A83D:	2930    	AND #$30
C3/A83F:	D054    	BNE $A895
C3/A841:	A545    	LDA $45
C3/A843:	8920    	BIT #$20
C3/A845:	D006    	BNE $A84D
C3/A847:	A507    	LDA $07
C3/A849:	290F    	AND #$0F
C3/A84B:	D048    	BNE $A895
C3/A84D:	A545    	LDA $45
C3/A84F:	8910    	BIT #$10
C3/A851:	D042    	BNE $A895
C3/A853:	A42D    	LDY $2D
C3/A855:	BE4A34  	LDX $344A,Y
C3/A858:	86ED    	STX $ED
C3/A85A:	BECA33  	LDX $33CA,Y
C3/A85D:	BFC99E7E	LDA $7E9EC9,X
C3/A861:	F039    	BEQ $A89C
C3/A863:	C901    	CMP #$01
C3/A865:	D00E    	BNE $A875
C3/A867:	648D    	STZ $8D
C3/A869:	C220    	REP #$20      (16 bit memory/accum.)
C3/A86B:	A98003  	LDA #$0380
C3/A86E:	994A34  	STA $344A,Y
C3/A871:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A873:	8008    	BRA $A87D
C3/A875:	20A9A8  	JSR $A8A9
C3/A878:	DA      	PHX
C3/A879:	20B1A8  	JSR $A8B1
C3/A87C:	FA      	PLX
C3/A87D:	E8      	INX
C3/A87E:	A42D    	LDY $2D
C3/A880:	C220    	REP #$20      (16 bit memory/accum.)
C3/A882:	8A      	TXA
C3/A883:	99CA33  	STA $33CA,Y
C3/A886:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A888:	2091A9  	JSR $A991
C3/A88B:	38      	SEC            (not done with this queue yet)
C3/A88C:	60      	RTS
 
C3/A88D:	2096A7  	JSR $A796
C3/A890:	2091A9  	JSR $A991
C3/A893:	18      	CLC
C3/A894:	60      	RTS
 
C3/A895:	A62D    	LDX $2D
C3/A897:	9E4936  	STZ $3649,X    (execute the first entry in this queue's jump table)
C3/A89A:	38      	SEC            (not done with this queue yet)
C3/A89B:	60      	RTS
 
C3/A89C:	A901    	LDA #$01
C3/A89E:	0445    	TSB $45
C3/A8A0:	A62D    	LDX $2D
C3/A8A2:	A902    	LDA #$02
C3/A8A4:	9D4936  	STA $3649,X    (execute the third entry in this queue's jump table)
C3/A8A7:	38      	SEC
C3/A8A8:	60      	RTS
 
C3/A8A9:	38      	SEC
C3/A8AA:	E980    	SBC #$80
C3/A8AC:	64EB    	STZ $EB
C3/A8AE:	64EC    	STZ $EC
C3/A8B0:	60      	RTS
 
C3/A8B1:	48      	PHA
C3/A8B2:	8F024200	STA $004202
C3/A8B6:	A916    	LDA #$16
C3/A8B8:	8F034200	STA $004203
C3/A8BC:	A90B    	LDA #$0B
C3/A8BE:	85E5    	STA $E5
C3/A8C0:	C220    	REP #$20      (16 bit memory/accum.)
C3/A8C2:	AF164200	LDA $004216
C3/A8C6:	18      	CLC
C3/A8C7:	65EB    	ADC $EB
C3/A8C9:	A8      	TAY
C3/A8CA:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A8CC:	7B      	TDC
C3/A8CD:	A58D    	LDA $8D
C3/A8CF:	29F8    	AND #$F8
C3/A8D1:	C220    	REP #$20      (16 bit memory/accum.)
C3/A8D3:	0A      	ASL A
C3/A8D4:	0A      	ASL A
C3/A8D5:	18      	CLC
C3/A8D6:	65ED    	ADC $ED
C3/A8D8:	AA      	TAX
C3/A8D9:	DA      	PHX
C3/A8DA:	C220    	REP #$20      (16 bit memory/accum.)
C3/A8DC:	BB      	TYX
C3/A8DD:	BFC090C4	LDA $C490C0,X  (get our VWF)
C3/A8E1:	64E7    	STZ $E7
C3/A8E3:	64E9    	STZ $E9
C3/A8E5:	85E8    	STA $E8
C3/A8E7:	204FA9  	JSR $A94F
C3/A8EA:	FA      	PLX
C3/A8EB:	A5E7    	LDA $E7
C3/A8ED:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A8EF:	1FB9A27E	ORA $7EA2B9,X
C3/A8F3:	9FB9A27E	STA $7EA2B9,X
C3/A8F7:	C220    	REP #$20      (16 bit memory/accum.)
C3/A8F9:	4A      	LSR A
C3/A8FA:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A8FC:	1FBCA27E	ORA $7EA2BC,X
C3/A900:	9FBCA27E	STA $7EA2BC,X
C3/A904:	C220    	REP #$20      (16 bit memory/accum.)
C3/A906:	A5E8    	LDA $E8
C3/A908:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A90A:	1F99A27E	ORA $7EA299,X
C3/A90E:	9F99A27E	STA $7EA299,X
C3/A912:	C220    	REP #$20      (16 bit memory/accum.)
C3/A914:	4A      	LSR A
C3/A915:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A917:	1F9CA27E	ORA $7EA29C,X
C3/A91B:	9F9CA27E	STA $7EA29C,X
C3/A91F:	C220    	REP #$20      (16 bit memory/accum.)
C3/A921:	A5E8    	LDA $E8
C3/A923:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A925:	EB      	XBA 
C3/A926:	1F79A27E	ORA $7EA279,X
C3/A92A:	9F79A27E	STA $7EA279,X
C3/A92E:	4A      	LSR A
C3/A92F:	1F7CA27E	ORA $7EA27C,X
C3/A933:	9F7CA27E	STA $7EA27C,X
C3/A937:	E8      	INX
C3/A938:	E8      	INX
C3/A939:	C8      	INY
C3/A93A:	C8      	INY
C3/A93B:	C6E5    	DEC $E5
C3/A93D:	D09A    	BNE $A8D9
C3/A93F:	7B      	TDC
C3/A940:	68      	PLA
C3/A941:	18      	CLC
C3/A942:	6920    	ADC #$20
C3/A944:	AA      	TAX
C3/A945:	A58D    	LDA $8D
C3/A947:	18      	CLC
C3/A948:	7FC08FC4	ADC $C48FC0,X
C3/A94C:	858D    	STA $8D
C3/A94E:	60      	RTS
 
C3/A94F:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A951:	7B      	TDC
C3/A952:	A58D    	LDA $8D
C3/A954:	2907    	AND #$07
C3/A956:	0A      	ASL A
C3/A957:	AA      	TAX
C3/A958:	C220    	REP #$20      (16 bit memory/accum.)
C3/A95A:	7C5DA9  	JMP ($A95D,X)

Pointers to functions

C3/A95D:	6FA9
C3/A95F:	73A9
C3/A961:	77A9    	
C3/A963:	7BA9
C3/A965:	7FA9
C3/A967:	8CA9  	
C3/A969:	88A9
C3/A96B:	84A9
C3/A96D:	80A9

C3/A96F:	06E7    	ASL $E7
C3/A971:	26E9    	ROL $E9
C3/A973:	06E7    	ASL $E7
C3/A975:	26E9    	ROL $E9
C3/A977:	06E7    	ASL $E7
C3/A979:	26E9    	ROL $E9
C3/A97B:	06E7    	ASL $E7
C3/A97D:	26E9    	ROL $E9
C3/A97F:	60      	RTS
 
C3/A980:	46E9    	LSR $E9
C3/A982:	66E7    	ROR $E7
C3/A984:	46E9    	LSR $E9
C3/A986:	66E7    	ROR $E7
C3/A988:	46E9    	LSR $E9
C3/A98A:	66E7    	ROR $E7
C3/A98C:	46E9    	LSR $E9
C3/A98E:	66E7    	ROR $E7
C3/A990:	60      	RTS
 
C3/A991:	A00068  	LDY #$6800
C3/A994:	841B    	STY $1B
C3/A996:	A071A2  	LDY #$A271
C3/A999:	841D    	STY $1D
C3/A99B:	A00007  	LDY #$0700
C3/A99E:	8419    	STY $19
C3/A9A0:	A97E    	LDA #$7E
C3/A9A2:	851F    	STA $1F
C3/A9A4:	A901     	LDA #$01
C3/A9A6:	1445    	TRB $45
C3/A9A8:	60      	RTS

C3/A9A9:	A600    	LDX $00
C3/A9AB:	BF0EE9D8	LDA $D8E90E,X
C3/A9AF:	9FC99E7E	STA $7E9EC9,X
C3/A9B3:	E8      	INX
C3/A9B4:	E00900  	CPX #$0009
C3/A9B7:	D0F2    	BNE $A9AB
C3/A9B9:	A0006C  	LDY #$6C00
C3/A9BC:	84F1    	STY $F1
C3/A9BE:	7B      	TDC
C3/A9BF:	AA      	TAX
C3/A9C0:	BFC99E7E	LDA $7E9EC9,X
C3/A9C4:	F01C    	BEQ $A9E2
C3/A9C6:	20A9A8  	JSR $A8A9
C3/A9C9:	DA      	PHX
C3/A9CA:	20E5A9  	JSR $A9E5
C3/A9CD:	FA      	PLX
C3/A9CE:	E8      	INX
C3/A9CF:	A4F1    	LDY $F1
C3/A9D1:	20F6A5  	JSR $A5F6
C3/A9D4:	C220    	REP #$20      (16 bit memory/accum.)
C3/A9D6:	A5F1    	LDA $F1
C3/A9D8:	18      	CLC
C3/A9D9:	692000  	ADC #$0020
C3/A9DC:	85F1    	STA $F1
C3/A9DE:	E220    	SEP #$20      (8 bit memory/accum.)
C3/A9E0:	80DE    	BRA $A9C0
C3/A9E2:	4C890F  	JMP $0F89

C3/A9E5:	48      	PHA
C3/A9E6:	A04000  	LDY #$0040
C3/A9E9:	84F3    	STY $F3
C3/A9EB:	2037B4  	JSR $B437
C3/A9EE:	648D    	STZ $8D
C3/A9F0:	64ED    	STZ $ED
C3/A9F2:	64EE    	STZ $EE
C3/A9F4:	68      	PLA
C3/A9F5:	4CB1A8  	JMP $A8B1

DP $26 is #$73 - initiate final battle setup screen
C3/A9F8:	202F35  	JSR $352F      (fade out screen, disable H/DMA)
C3/A9FB:	200469  	JSR $6904      (zero some DP)
C3/A9FE:	A902    	LDA #$02
C3/AA00:	8546    	STA $46
C3/AA02:	2054AC  	JSR $AC54      (hotspot data for final battle setup)
C3/AA05:	205DAC  	JSR $AC5D      (finger positioning)
C3/AA08:	20B007  	JSR $07B0      (finger OAM initiating)
C3/AA0B:	20EEAA  	JSR $AAEE
C3/AA0E:	20FDAA  	JSR $AAFD
C3/AA11:	2013AB  	JSR $AB13
C3/AA14:	209794  	JSR $9497      (setup HDMA transfers?)
C3/AA17:	A974    	LDA #$74
C3/AA19:	8527    	STA $27        (queue up to execute at C3/AA25)
C3/AA1B:	A901    	LDA #$01
C3/AA1D:	8526    	STA $26        (transition to above)
C3/AA1F:	20FD0E  	JSR $0EFD      (setup DMA transfers?)
C3/AA22:	4C4135  	JMP $3541

DP $26 is #$74 - sustain the final battle setup screen
C3/AA25:	2089AB  	JSR $AB89      (display character names?)
C3/AA28:	20B4AB  	JSR $ABB4
C3/AA2B:	205AAC  	JSR $AC5A      (moving the finger)
C3/AA2E:	20FD0E  	JSR $0EFD      (setup DMA transfers?)
C3/AA31:	A509    	LDA $09
C3/AA33:	8980    	BIT #$80       (did you press B?)
C3/AA35:	F02C    	BEQ $AA63      (branch if not, BPL...)
C3/AA37:	20A90E  	JSR $0EA9      (moving finger sound effect)
C3/AA3A:	A54A    	LDA $4A
C3/AA3C:	F068    	BEQ $AAA6
C3/AA3E:	C64A    	DEC $4A
C3/AA40:	7B      	TDC
C3/AA41:	A54A    	LDA $4A
C3/AA43:	AA      	TAX
C3/AA44:	BD0502  	LDA $0205,X
C3/AA47:	48      	PHA
C3/AA48:	A9FF    	LDA #$FF
C3/AA4A:	9D0502  	STA $0205,X
C3/AA4D:	A600    	LDX $00
C3/AA4F:	68      	PLA
C3/AA50:	DF8A9D7E	CMP $7E9D8A,X
C3/AA54:	F006    	BEQ $AA5C
C3/AA56:	E8      	INX
C3/AA57:	E00C00  	CPX #$000C
C3/AA5A:	D0F4    	BNE $AA50
C3/AA5C:	A920    	LDA #$20
C3/AA5E:	9F8DAA7E	STA $7EAA8D,X
C3/AA62:	60      	RTS
 
C3/AA63:	A509    	LDA $09
C3/AA65:	8910    	BIT #$10       (did you press start?)
C3/AA67:	D030    	BNE $AA99      (branch if so)
C3/AA69:	A508    	LDA $08
C3/AA6B:	8980    	BIT #$80       (did you press A?)
C3/AA6D:	F037    	BEQ $AAA6      (branch if not, BPL...)
C3/AA6F:	20B20E  	JSR $0EB2      (makes the click sound)
C3/AA72:	7B      	TDC
C3/AA73:	A54B    	LDA $4B
C3/AA75:	F030    	BEQ $AAA7      (branch if on "Reset")
C3/AA77:	C90D    	CMP #$0D       (are we on "End?")
C3/AA79:	F01E    	BEQ $AA99      (branch if so)
C3/AA7B:	AA      	TAX
C3/AA7C:	BF899D7E	LDA $7E9D89,X  (load position)
C3/AA80:	3024    	BMI $AAA6      (branch if nobody is in this slot)
C3/AA82:	7B      	TDC
C3/AA83:	A54B    	LDA $4B
C3/AA85:	3A      	DEC A
C3/AA86:	AA      	TAX
C3/AA87:	BF8DAA7E	LDA $7EAA8D,X  (load character in this position)
C3/AA8B:	C920    	CMP #$20       (available, IOW hasn't been chosen yet?)
C3/AA8D:	D017    	BNE $AAA6      (branch if not)
C3/AA8F:	20B2AA  	JSR $AAB2
C3/AA92:	A54A    	LDA $4A
C3/AA94:	C90C    	CMP #$0C
C3/AA96:	F015    	BEQ $AAAD
C3/AA98:	60      	RTS
 
C3/AA99:	20B20E  	JSR $0EB2      (makes the click sound)
C3/AA9C:	20CAAA  	JSR $AACA
C3/AA9F:	A9FF    	LDA #$FF
C3/AAA1:	8527    	STA $27
C3/AAA3:	6426    	STZ $26        (exit the menu)
C3/AAA5:	60      	RTS
 
C3/AAA6:	60      	RTS            (no need for this)
 
C3/AAA7:	20FDAA  	JSR $AAFD      (remove all selections)
C3/AAAA:	E64E    	INC $4E
C3/AAAC:	60      	RTS
 
C3/AAAD:	A90D    	LDA #$0D
C3/AAAF:	854E    	STA $4E
C3/AAB1:	60      	RTS
 
C3/AAB2:	7B      	TDC
C3/AAB3:	A54A    	LDA $4A
C3/AAB5:	A8      	TAY
C3/AAB6:	A54B    	LDA $4B
C3/AAB8:	AA      	TAX
C3/AAB9:	A928    	LDA #$28
C3/AABB:	9F8CAA7E	STA $7EAA8C,X
C3/AABF:	BF899D7E	LDA $7E9D89,X
C3/AAC3:	BB      	TYX
C3/AAC4:	9D0502  	STA $0205,X
C3/AAC7:	E64A    	INC $4A
C3/AAC9:	60      	RTS
 
C3/AACA:	A54A    	LDA $4A
C3/AACC:	C90C    	CMP #$0C
C3/AACE:	F01D    	BEQ $AAED
C3/AAD0:	7B      	TDC
C3/AAD1:	AA      	TAX
C3/AAD2:	BF8DAA7E	LDA $7EAA8D,X  (Load inventory item, index X)
C3/AAD6:	C920    	CMP #$20
C3/AAD8:	D00D    	BNE $AAE7
C3/AADA:	7B      	TDC
C3/AADB:	A54A    	LDA $4A
C3/AADD:	A8      	TAY
C3/AADE:	BF8A9D7E	LDA $7E9D8A,X
C3/AAE2:	990502  	STA $0205,Y
C3/AAE5:	E64A    	INC $4A
C3/AAE7:	E8      	INX
C3/AAE8:	E00C00  	CPX #$000C
C3/AAEB:	D0E5    	BNE $AAD2
C3/AAED:	60      	RTS
 
C3/AAEE:	7B      	TDC
C3/AAEF:	AA      	TAX
C3/AAF0:	A9FF    	LDA #$FF
C3/AAF2:	9F899D7E	STA $7E9D89,X
C3/AAF6:	E8      	INX
C3/AAF7:	E01000  	CPX #$0010
C3/AAFA:	D0F4    	BNE $AAF0
C3/AAFC:	60      	RTS
 
C3/AAFD:	7B      	TDC
C3/AAFE:	AA      	TAX
C3/AAFF:	A9FF    	LDA #$FF
C3/AB01:	9D0502  	STA $0205,X
C3/AB04:	A920    	LDA #$20
C3/AB06:	9F8DAA7E	STA $7EAA8D,X
C3/AB0A:	E8      	INX
C3/AB0B:	E00C00  	CPX #$000C
C3/AB0E:	D0EF    	BNE $AAFF
C3/AB10:	644A    	STZ $4A
C3/AB12:	60      	RTS
 
C3/AB13:	A902    	LDA #$02
C3/AB15:	8D0721  	STA $2107
C3/AB18:	A049AB  	LDY #$AB49
C3/AB1B:	204103  	JSR $0341      (draw window that holds the final battle setup)
C3/AB1E:	20520E  	JSR $0E52      (setup DMA transfers?)
C3/AB21:	203C6A  	JSR $6A3C
C3/AB24:	206E0E  	JSR $0E6E      (setup DMA transfers?)
C3/AB27:	20156A  	JSR $6A15
C3/AB2A:	20196A  	JSR $6A19
C3/AB2D:	A920    	LDA #$20
C3/AB2F:	8529    	STA $29        (set text color to white)
C3/AB31:	A284AC  	LDX #$AC84
C3/AB34:	A00600  	LDY #$0006
C3/AB37:	20BA69  	JSR $69BA      ("End," "Reset," Determine order")
C3/AB3A:	2019AC  	JSR $AC19
C3/AB3D:	204DAB  	JSR $AB4D
C3/AB40:	2089AB  	JSR $AB89
C3/AB43:	20280E  	JSR $0E28      (setup DMA transfers?)
C3/AB46:	4C360E  	JMP $0E36      (setup DMA transfers?)

Window data:
C3/AB49:	8B581C18	(window that holds the final battle setup)

C3/AB4D:	64E6    	STZ $64
C3/AB4E:	7B      	TDC
C3/AB50:	AA      	TAX
C3/AB51:	DA      	PHX
C3/AB52:	BD5018  	LDA $1850,X
C3/AB55:	2940    	AND #$40
C3/AB57:	F028    	BEQ $AB81
C3/AB59:	BD5018  	LDA $1850,X
C3/AB5C:	2907    	AND #$07
C3/AB5E:	F021    	BEQ $AB81
C3/AB60:	86E7    	STX $E7
C3/AB62:	C220    	REP #$20      	(16 bit memory/accum.)
C3/AB64:	8A      	TXA
C3/AB65:	0A      	ASL A
C3/AB66:	AA      	TAX
C3/AB67:	BF6969C3	LDA $C36969,X	(Xth character's working RAM offset)
C3/AB6B:	A8      	TAY
C3/AB6C:	E220    	SEP #$20      	(8 bit memory/accum.)
C3/AB6E:	B90000  	LDA $0000,Y
C3/AB71:	C90E    	CMP #$0E		(Is it Leo or higher ??)
C3/AB73:	B00C    	BCS $AB81
C3/AB75:	7B      	TDC
C3/AB76:	A5E6    	LDA $E6
C3/AB78:	AA      	TAX
C3/AB79:	A5E7    	LDA $E7
C3/AB7B:	9F8A9D7E	STA $7E9D8A,X
C3/AB7F:	E6E6    	INC $E6
C3/AB81:	FA      	PLX
C3/AB82:	E8      	INX
C3/AB83:	E01000  	CPX #$0010
C3/AB86:	D0C9    	BNE $AB51
C3/AB88:	60      	RTS
 
C3/AB89:	A0153A  	LDY #$3A15
C3/AB8C:	84F5    	STY $F5
C3/AB8E:	7B      	TDC
C3/AB8F:	AA      	TAX
C3/AB90:	20DCAB  	JSR $ABDC
C3/AB93:	DA      	PHX
C3/AB94:	7B      	TDC
C3/AB95:	BF8DAA7E	LDA $7EAA8D,X	(Load inventory, index X)
C3/AB99:	8529    	STA $29
C3/AB9B:	BF8A9D7E	LDA $7E9D8A,X
C3/AB9F:	3005    	BMI $ABA6
C3/ABA1:	20F0AB  	JSR $ABF0      (display the character name)
C3/ABA4:	8003    	BRA $ABA9
C3/ABA6:	200BAC  	JSR $AC0B      (no character, so display a blank name)
C3/ABA9:	20FEAB  	JSR $ABFE
C3/ABAC:	FA      	PLX
C3/ABAD:	E8      	INX
C3/ABAE:	E00C00  	CPX #$000C
C3/ABB1:	D0DD    	BNE $AB90      (branch if we haven't done 12 characters)
C3/ABB3:	60      	RTS
 
C3/ABB4:	A920    	LDA #$20
C3/ABB6:	8529    	STA $29
C3/ABB8:	A0313A  	LDY #$3A31
C3/ABBB:	84F5    	STY $F5
C3/ABBD:	7B      	TDC
C3/ABBE:	AA      	TAX
C3/ABBF:	20DCAB  	JSR $ABDC
C3/ABC2:	DA      	PHX
C3/ABC3:	7B      	TDC
C3/ABC4:	BD0502  	LDA $0205,X
C3/ABC7:	3005    	BMI $ABCE
C3/ABC9:	20F0AB  	JSR $ABF0
C3/ABCC:	8003    	BRA $ABD1
C3/ABCE:	200BAC  	JSR $AC0B      (no character, so display a blank name)
C3/ABD1:	20FEAB  	JSR $ABFE
C3/ABD4:	FA      	PLX
C3/ABD5:	E8      	INX
C3/ABD6:	E00C00  	CPX #$000C
C3/ABD9:	D0E4    	BNE $ABBF      (branch if we haven't done 12 characters)
C3/ABDB:	60      	RTS
 
C3/ABDC:	A0899E  	LDY #$9E89
C3/ABDF:	8C8121  	STY $2181
C3/ABE2:	C220    	REP #$20      (16 bit memory/accum.)
C3/ABE4:	A5F5    	LDA $F5
C3/ABE6:	E220    	SEP #$20      (8 bit memory/accum.)
C3/ABE8:	8D8021  	STA $2180
C3/ABEB:	EB      	XBA 
C3/ABEC:	8D8021  	STA $2180
C3/ABEF:	60      	RTS
 
C3/ABF0:	0A      	ASL A
C3/ABF1:	C220    	REP #$20      (16 bit memory/accum.)
C3/ABF3:	AA      	TAX
C3/ABF4:	BF6969C3	LDA $C36969,X  (Xth character's working RAM offset)
C3/ABF8:	A8      	TAY
C3/ABF9:	E220    	SEP #$20      (8 bit memory/accum.)
C3/ABFB:	4CD234  	JMP $34D2

C3/ABFE:	C220    	REP #$20      (16 bit memory/accum.)
C3/AC00:	A5F5    	LDA $F5
C3/AC02:	18      	CLC
C3/AC03:	698000  	ADC #$0080
C3/AC06:	85F5    	STA $F5
C3/AC08:	E220    	SEP #$20      (8 bit memory/accum.)
C3/AC0A:	60      	RTS
 
C3/AC0B:	A20600  	LDX #$0006
C3/AC0E:	A9FF    	LDA #$FF
C3/AC10:	8D8021  	STA $2180      (blank character's name if nobody there)
C3/AC13:	CA      	DEX
C3/AC14:	D0FA    	BNE $AC10
C3/AC16:	4CD97F  	JMP $7FD9

C3/AC19:	A901    	LDA #$01
C3/AC1B:	85E6    	STA $E6
C3/AC1D:	A00F3A  	LDY #$3A0F
C3/AC20:	84F5    	STY $F5
C3/AC22:	A20C00  	LDX #$000C
C3/AC25:	86F1    	STX $F1
C3/AC27:	203BAC  	JSR $AC3B
C3/AC2A:	A901    	LDA #$01
C3/AC2C:	85E6    	STA $E6
C3/AC2E:	A02B3A  	LDY #$3A2B
C3/AC31:	84F5    	STY $F5
C3/AC33:	A20C00  	LDX #$000C
C3/AC36:	86F1    	STX $F1
C3/AC38:	4C3BAC  	JMP $AC3B      (...)

C3/AC3B:	7B      	TDC
C3/AC3C:	AA      	TAX
C3/AC3D:	DA      	PHX
C3/AC3E:	A5E6    	LDA $E6
C3/AC40:	20E004  	JSR $04E0
C3/AC43:	A6F5    	LDX $F5
C3/AC45:	20B604  	JSR $04B6
C3/AC48:	E6E6    	INC $E6
C3/AC4A:	20FEAB  	JSR $ABFE
C3/AC4D:	FA      	PLX
C3/AC4E:	E8      	INX
C3/AC4F:	E4F1    	CPX $F1
C3/AC51:	D0EA    	BNE $AC3D
C3/AC53:	60      	RTS
 
C3/AC54:	A063AC  	LDY #$AC63
C3/AC57:	4CFE05  	JMP $05FE

C3/AC5A:	202D07  	JSR $072D
C3/AC5D:	A068AC  	LDY #$AC68
C3/AC60:	4C4006  	JMP $0640

Hotspot data for final battle setup
C3/AC63:	80 00 00 01 0E

Finger positioning data for final battle setup
C3/AC68:	1020    	("Reset")
C3/AC6A:	202C    	character 1
C3/AC6C:	2038    	character 2
C3/AC6E:	2044    	character 3
C3/AC70:	2050    	character 4
C3/AC72:	205C    	character 5
C3/AC74:	2068    	character 6
C3/AC76:	2074    	character 7
C3/AC78:	2080    	character 8
C3/AC7A:	208C    	character 9
C3/AC7C:	2098    	character 10
C3/AC7E:	20A4    	character 11
C3/AC80:	20B0    	character 12
C3/AC82:	10BC    	("End")

C3/AC84:	8AAC
C3/AC86:	90AC
C3/AC88:	98AC

C3/AC8A:	114084A79D00                          ("End")
C3/AC90:	9139919EAC9EAD00                      ("Reset")
C3/AC98:	1D39839EAD9EABA6A2A79EFFA8AB9D9EAB00  ("Determine order")

C3/ACAA:	9C0102  	STZ $0201      (from C3/02BD, the massive jump table; $26 = #$71)
C3/ACAD:	AD0502  	LDA $0205
C3/ACB0:	205E9D  	JSR $9D5E      (Put item into inventory)
C3/ACB3:	20E21A  	JSR $1AE2
C3/ACB6:	20257D  	JSR $7D25
C3/ACB9:	2027AD  	JSR $AD27
C3/ACBC:	7B      	TDC
C3/ACBD:	221DCAD4	JSL $D4CA1D    (gradient 0 for screen)
C3/ACC1:	200E1B  	JSR $1B0E
C3/ACC4:	20993F  	JSR $3F99
C3/ACC7:	A901    	LDA #$01
C3/ACC9:	0445    	TSB $45
C3/ACCB:	206813  	JSR $1368      (trigger NMI)
C3/ACCE:	A972    	LDA #$72
C3/ACD0:	8527    	STA $27        (queue up to execute at C3/ACDC)
C3/ACD2:	A902    	LDA #$02
C3/ACD4:	8546    	STA $46
C3/ACD6:	20B007  	JSR $07B0      (finger OAM initiating)
C3/ACD9:	4C4135  	JMP $3541

C3/ACDC:	A910    	LDA #$10
C3/ACDE:	1445    	TRB $45
C3/ACE0:	642A    	STZ $2A
C3/ACE2:	20FD0E  	JSR $0EFD
C3/ACE5:	20641F  	JSR $1F64
C3/ACE8:	B03C    	BCS $AD26
C3/ACEA:	20227D  	JSR $7D22
C3/ACED:	20F182  	JSR $82F1
C3/ACF0:	A508    	LDA $08
C3/ACF2:	8980    	BIT #$80       (did you press A?)
C3/ACF4:	F01E    	BEQ $AD14      (branch if not, BPL...)
C3/ACF6:	7B      	TDC
C3/ACF7:	A54B    	LDA $4B
C3/ACF9:	AA      	TAX
C3/ACFA:	BD6918  	LDA $1869,X    (Items currently in inventory)
C3/ACFD:	C9FF    	CMP #$FF       (can't bet nothing)
C3/ACFF:	F00D    	BEQ $AD0E      (branch if no item)
C3/AD01:	8D0502  	STA $0205      (store item bet)
C3/AD04:	20B20E  	JSR $0EB2      (makes the click sound)
C3/AD07:	A975    	LDA #$75
C3/AD09:	8527    	STA $27        (queue up to execute at C3/ADB7)
C3/AD0B:	6426    	STZ $26        (fade out)
C3/AD0D:	60      	RTS
 
C3/AD0E:	20C00E  	JSR $0EC0      (makes the buzzer sound)
C3/AD11:	205D30  	JSR $305D      (mosaic effect)
C3/AD14:	A509    	LDA $09
C3/AD16:	8980    	BIT #$80       (did you press B?)
C3/AD18:	F00C    	BEQ $AD26      (branch if not, BPL...)
C3/AD1A:	20A90E  	JSR $0EA9
C3/AD1D:	A9FF    	LDA #$FF
C3/AD1F:	8D0502  	STA $0205      (store nothing into item bet)
C3/AD22:	8527    	STA $27
C3/AD24:	6426    	STZ $26
C3/AD26:	60      	RTS
 
C3/AD27:	A901    	LDA #$01
C3/AD29:	8D0721  	STA $2107
C3/AD2C:	A08EAD  	LDY #$AD8E
C3/AD2F:	204103  	JSR $0341      (draw window that holds "Select an Item")
C3/AD32:	A08AAD  	LDY #$AD8A
C3/AD35:	204103  	JSR $0341      (draw window that holds "Colosseum")
C3/AD38:	A092AD  	LDY #$AD92
C3/AD3B:	204103  	JSR $0341      (draw window that holds item descriptions)
C3/AD3E:	A096AD  	LDY #$AD96
C3/AD41:	204103  	JSR $0341      (draw window that holds items)
C3/AD44:	20520E  	JSR $0E52
C3/AD47:	20416A  	JSR $6A41
C3/AD4A:	20466A  	JSR $6A46
C3/AD4D:	204B6A  	JSR $6A4B
C3/AD50:	206EAD  	JSR $AD6E
C3/AD53:	2080AD  	JSR $AD80
C3/AD56:	20A9A9  	JSR $A9A9
C3/AD59:	206E0E  	JSR $0E6E
C3/AD5C:	207C0E  	JSR $0E7C
C3/AD5F:	20196A  	JSR $6A19
C3/AD62:	200D7E  	JSR $7E0D
C3/AD65:	20F182  	JSR $82F1
C3/AD68:	20280E  	JSR $0E28
C3/AD6B:	4C360E  	JMP $0E36

C3/AD6E:	203C6A  	JSR $6A3C
C3/AD71:	A92C    	LDA #$2C
C3/AD73:	8529    	STA $29        (set text color to blue)
C3/AD75:	A09AAD  	LDY #$AD9A
C3/AD78:	20F902  	JSR $02F9      (display "Colosseum")
C3/AD7B:	A920    	LDA #$20
C3/AD7D:	8529    	STA $29        (set text color to white)
C3/AD7F:	60      	RTS
 
C3/AD80:	203DA7  	JSR $A73D
C3/AD83:	A0A6AD  	LDY #$ADA6
C3/AD86:	20F902  	JSR $02F9      (display "Select an Item")
C3/AD89:	60      	RTS
 
Window data:
C3/AD8A:	8B580902	(window that holds "Colosseum")
C3/AD8E:	A1581102	(window that holds "Select an Item")
C3/AD92:	8B591C03	(window that holds item descriptions)
C3/AD96:	CB5A1C0F	(window that holds items)

C3/AD9A:	0D7982A8A5A8ACAC9EAEA600             ("Colosseum")
C3/ADA6:	2379929EA59E9CADFF9AA7FF88AD9EA600   ("Select an Item")

C3/ADB7:	202F35  	JSR $352F      (fade out screen, disable H/DMA)
C3/ADB8:	6443    	STZ $43
C3/ADBC:	20873A  	JSR $3A87
C3/ADBF:	201569  	JSR $6915
C3/ADC2:	A902    	LDA #$02
C3/ADC4:	221DCAD4	JSL $D4CA1D    (gradient 2 for screen)
C3/ADC8:	20DC69  	JSR $69DC
C3/ADCB:	20666A  	JSR $6A66
C3/ADCE:	A902    	LDA #$02
C3/ADD0:	8546    	STA $46
C3/ADD2:	2023B3  	JSR $B323
C3/ADD5:	202CB3  	JSR $B32C
C3/ADD8:	20B007  	JSR $07B0      (finger OAM initiating)
C3/ADDB:	2007AE  	JSR $AE07
C3/ADDE:	20D118  	JSR $18D1
C3/ADE1:	2034AE  	JSR $AE34
C3/ADE4:	A901    	LDA #$01
C3/ADE6:	0445    	TSB $45
C3/ADE8:	20993F  	JSR $3F99
C3/ADEB:	A901    	LDA #$01
C3/ADED:	A0A5B2  	LDY #$B2A5
C3/ADF0:	207311  	JSR $1173      (Put C3/B2A5 in the queue)
C3/ADF3:	A976    	LDA #$76
C3/ADF5:	8527    	STA $27        (queue up to execute at C3/AE0F)
C3/ADF7:	A901    	LDA #$01
C3/ADF9:	8526    	STA $26        (transition to above)
C3/ADFB:	200469  	JSR $6904
C3/ADFE:	20FD0E  	JSR $0EFD
C3/AE01:	204135  	JSR $3541
C3/AE04:	4C390F  	JMP $0F39

C3/AE07:	A901    	LDA #$01
C3/AE09:	A0F3B2  	LDY #$B2F3     
C3/AE0C:	4C7311  	JMP $1173      (Put C3/B2F3 in the queue)

C3/AE0F:	20390F  	JSR $0F39
C3/AE12:	2029B3  	JSR $B329
C3/AE15:	A508    	LDA $08
C3/AE17:	8980    	BIT #$80       (did you press A?)
C3/AE19:	F018    	BEQ $AE33      (branch if not, BPL...)
C3/AE1B:	20ECB2  	JSR $B2EC
C3/AE1E:	300D    	BMI $AE2D
C3/AE20:	8D0802  	STA $0208
C3/AE23:	20B20E  	JSR $0EB2      (makes the click sound)
C3/AE26:	A9FF    	LDA #$FF
C3/AE28:	8527    	STA $27        (queue up to exit the menu)
C3/AE2A:	6426    	STZ $26        (fade out)
C3/AE2C:	60      	RTS
 
C3/AE2D:	20C00E  	JSR $0EC0      (makes the buzzer sound)
C3/AE30:	205D30  	JSR $305D      (mosaic effect, also JMP fool!)
C3/AE33:	60      	RTS
 
C3/AE34:	A901    	LDA #$01
C3/AE36:	8D0721  	STA $2107
C3/AE39:	A03FB3  	LDY #$B33F
C3/AE3C:	204103  	JSR $0341      (window that holds item to win)
C3/AE3F:	A043B3  	LDY #$B343
C3/AE42:	204103  	JSR $0341      (window that holds item bet)
C3/AE45:	A047B3  	LDY #$B347
C3/AE48:	204103  	JSR $0341      (window that holds the foolish challengers that will fight :P)
C3/AE4B:	20520E  	JSR $0E52
C3/AE4E:	203C6A  	JSR $6A3C
C3/AE51:	A920    	LDA #$20
C3/AE53:	8529    	STA $29        (set text color to white)
C3/AE55:	207DB1  	JSR $B17D
C3/AE58:	2097B1  	JSR $B197
C3/AE5B:	20B1B1  	JSR $B1B1
C3/AE5E:	20CBB1  	JSR $B1CB
C3/AE61:	A00FB4  	LDY #$B40F
C3/AE64:	20F902  	JSR $02F9      ("Select the challenger")
C3/AE67:	208DB2  	JSR $B28D      (draw opponent's name)
C3/AE6A:	204DB2  	JSR $B24D      (draw item bet)
C3/AE6D:	2055B2  	JSR $B255      (draw item to win or "?????????")
C3/AE70:	206E0E  	JSR $0E6E
C3/AE73:	A00050  	LDY #$5000
C3/AE76:	8C1621  	STY $2116
C3/AE79:	200AB1  	JSR $B10A
C3/AE7C:	20156A  	JSR $6A15
C3/AE7F:	2093AE  	JSR $AE93      (determine if Shadow can be fought)
C3/AE82:	AD0102  	LDA $0201
C3/AE85:	D006    	BNE $AE8D      (branch if Shadow is available to fight)
C3/AE87:	2000AF  	JSR $AF00
C3/AE8A:	4C280E  	JMP $0E28

C3/AE8D:	20A7AE  	JSR $AEA7
C3/AE90:	4C280E  	JMP $0E28

C3/AE93:	AD0502  	LDA $0205      (load item bet)
C3/AE96:	C929    	CMP #$29       (is it the Striker?)
C3/AE98:	D00C    	BNE $AEA6      (branch if not)
C3/AE9A:	ADBD1E  	LDA $1EBD
C3/AE9D:	2980    	AND #$80       (did Shadow leave Thamasa?)
C3/AE9F:	F005    	BEQ $AEA6      (branch if not)
C3/AEA1:	A901    	LDA #$01
C3/AEA3:	8D0102  	STA $0201
C3/AEA6:	60      	RTS
 
C3/AEA7:	20D9AE  	JSR $AED9
C3/AEAA:	A902    	LDA #$02
C3/AEAC:	0447    	TSB $47
C3/AEAE:	A902    	LDA #$02
C3/AEB0:	A05F7A  	LDY #$7A5F
C3/AEB3:	207311  	JSR $1173      (put C3/7A5F in the queue)
C3/AEB6:	A901    	LDA #$01
C3/AEB8:	9F49367E	STA $7E3649,X
C3/AEBC:	BF4A367E	LDA $7E364A,X
C3/AEC0:	0902    	ORA #$02
C3/AEC2:	9F4A367E	STA $7E364A,X
C3/AEC6:	9B      	TXY
C3/AEC7:	A938    	LDA #$38
C3/AEC9:	85E1    	STA $E1
C3/AECB:	A968    	LDA #$68
C3/AECD:	85E2    	STA $E2
C3/AECF:	7B      	TDC
C3/AED0:	A903    	LDA #$03
C3/AED2:	20FA78  	JSR $78FA
C3/AED5:	2011B2  	JSR $B211
C3/AED8:	60      	RTS
 
C3/AED9:	7B      	TDC
C3/AEDA:	AA      	TAX
C3/AEDB:	86E7    	STX $E7
C3/AEDD:	C220    	REP #$20       (16 bit memory/accum.)
C3/AEDF:	BF6969C3	LDA $C36969,X  (Xth character's working RAM offset)
C3/AEE3:	AA      	TAX
C3/AEE4:	E220    	SEP #$20       (8 bit memory/accum.)
C3/AEE6:	BD0000  	LDA $0000,X
C3/AEE9:	C903    	CMP #$03
C3/AEEB:	F00B    	BEQ $AEF8      (branch if Shadow)
C3/AEED:	A6E7    	LDX $E7
C3/AEEF:	E8      	INX
C3/AEF0:	E8      	INX
C3/AEF1:	E02000  	CPX #$0020
C3/AEF4:	D0E5    	BNE $AEDB
C3/AEF6:	80FE    	BRA $AEF6      (!! Let's hope this line never executes!)
C3/AEF8:	8667    	STX $67
C3/AEFA:	A0117C  	LDY #$7C11
C3/AEFD:	4CCF34  	JMP $34CF      (display Shadow's name as the monster)

C3/AF00:	A691    	LDX $91
C3/AF02:	86ED    	STX $ED
C3/AF04:	A599    	LDA $99
C3/AF06:	C908    	CMP #$08
C3/AF08:	F00C    	BEQ $AF16
C3/AF0A:	A21000  	LDX #$0010
C3/AF0D:	86F1    	STX $F1
C3/AF0F:	A21000  	LDX #$0010
C3/AF12:	86E0    	STX $E0
C3/AF14:	8007    	BRA $AF1D
C3/AF16:	A20800  	LDX #$0008
C3/AF19:	86F1    	STX $F1
C3/AF1B:	86E0    	STX $E0
C3/AF1D:	A97E    	LDA #$7E
C3/AF1F:	85EF    	STA $EF
C3/AF21:	C220    	REP #$20      (16 bit memory/accum.)
C3/AF23:	A9012C  	LDA #$2C01
C3/AF26:	85E7    	STA $E7
C3/AF28:	A6E0    	LDX $E0
C3/AF2A:	A400    	LDY $00
C3/AF2C:	A5E7    	LDA $E7
C3/AF2E:	97ED    	STA [$ED],Y
C3/AF30:	C8      	INY
C3/AF31:	C8      	INY
C3/AF32:	E6E7    	INC $E7
C3/AF34:	CA      	DEX
C3/AF35:	D0F5    	BNE $AF2C
C3/AF37:	A5ED    	LDA $ED
C3/AF39:	18      	CLC
C3/AF3A:	694000  	ADC #$0040
C3/AF3D:	85ED    	STA $ED
C3/AF3F:	C6F1    	DEC $F1
C3/AF41:	D0E5    	BNE $AF28
C3/AF43:	E220    	SEP #$20      (8 bit memory/accum.)
C3/AF45:	60      	RTS
 
Colliseum setup?
C3/AF46:	202CB2  	JSR $B22C      (Determine prize and monster based on item bet)
C3/AF49:	AD0602  	LDA $0206      (Monster to fight)
C3/AF4C:	8D0242  	STA $4202
C3/AF4F:	A905    	LDA #$05
C3/AF51:	8D0342  	STA $4203
C3/AF54:	A01050  	LDY #$5010
C3/AF57:	8C1621  	STY $2116
C3/AF5A:	EA      	NOP 
C3/AF5B:	EA      	NOP 
C3/AF5C:	AE1642  	LDX $4216
C3/AF5F:	BF0070D2	LDA $D27000,X  (Monster visual specs, byte 1)
C3/AF63:	85E7    	STA $E7
C3/AF65:	BF0170D2	LDA $D27001,X  (Monster visual specs, byte 2)
C3/AF69:	85E8    	STA $E8
C3/AF6B:	BF0270D2	LDA $D27002,X  (Monster visual specs, byte 3)
C3/AF6F:	85F2    	STA $F2
C3/AF71:	BF0370D2	LDA $D27003,X  (Monster visual specs, byte 4)
C3/AF75:	85F1    	STA $F1
C3/AF77:	BF0470D2	LDA $D27004,X  (Monster visual specs, byte 5)
C3/AF7B:	85E9    	STA $E9
C3/AF7D:	A5E8    	LDA $E8
C3/AF7F:	3004    	BMI $AF85
C3/AF81:	64FF    	STZ $FF
C3/AF83:	8008    	BRA $AF8D
C3/AF85:	A901    	LDA #$01
C3/AF87:	85FF    	STA $FF
C3/AF89:	A980    	LDA #$80
C3/AF8B:	14E8    	TRB $E8
C3/AF8D:	A9E9    	LDA #$E9
C3/AF8F:	85F7    	STA $F7
C3/AF91:	C220    	REP #$20      (16 bit memory/accum.)
C3/AF93:	A90070  	LDA #$7000
C3/AF96:	85F5    	STA $F5
C3/AF98:	A5E7    	LDA $E7
C3/AF9A:	85F9    	STA $F9
C3/AF9C:	64FB    	STZ $FB
C3/AF9E:	06F9    	ASL $F9
C3/AFA0:	26FB    	ROL $FB
C3/AFA2:	06F9    	ASL $F9
C3/AFA4:	26FB    	ROL $FB
C3/AFA6:	06F9    	ASL $F9
C3/AFA8:	26FB    	ROL $FB
C3/AFAA:	18      	CLC
C3/AFAB:	A5F9    	LDA $F9
C3/AFAD:	65F5    	ADC $F5
C3/AFAF:	85F5    	STA $F5
C3/AFB1:	A5FB    	LDA $FB
C3/AFB3:	65F7    	ADC $F7
C3/AFB5:	85F7    	STA $F7
C3/AFB7:	A600    	LDX $00
C3/AFB9:	E220    	SEP #$20      (8 bit memory/accum.)
C3/AFBB:	A5F2    	LDA $F2
C3/AFBD:	3009    	BMI $AFC8
C3/AFBF:	A020A8  	LDY #$A820
C3/AFC2:	84E3    	STY $E3
C3/AFC4:	A908    	LDA #$08
C3/AFC6:	8007    	BRA $AFCF
C3/AFC8:	A022A8  	LDY #$A822
C3/AFCB:	84E3    	STY $E3
C3/AFCD:	A920    	LDA #$20
C3/AFCF:	85E6    	STA $E6
C3/AFD1:	8599    	STA $99
C3/AFD3:	A9D2    	LDA #$D2
C3/AFD5:	85E5    	STA $E5
C3/AFD7:	A5F2    	LDA $F2
C3/AFD9:	2940    	AND #$40
C3/AFDB:	2A      	ROL A
C3/AFDC:	2A      	ROL A
C3/AFDD:	2A      	ROL A
C3/AFDE:	85EA    	STA $EA
C3/AFE0:	A5F2    	LDA $F2
C3/AFE2:	3009    	BMI $AFED
C3/AFE4:	C220    	REP #$20      (16 bit memory/accum.)
C3/AFE6:	A5E9    	LDA $E9
C3/AFE8:	0A      	ASL A
C3/AFE9:	0A      	ASL A
C3/AFEA:	0A      	ASL A
C3/AFEB:	8009    	BRA $AFF6
C3/AFED:	C220    	REP #$20      (16 bit memory/accum.)
C3/AFEF:	A5E9    	LDA $E9
C3/AFF1:	0A      	ASL A
C3/AFF2:	0A      	ASL A
C3/AFF3:	0A      	ASL A
C3/AFF4:	0A      	ASL A
C3/AFF5:	0A      	ASL A
C3/AFF6:	18      	CLC
C3/AFF7:	67E3    	ADC [$E3]
C3/AFF9:	85E0    	STA $E0
C3/AFFB:	E220    	SEP #$20      (8 bit memory/accum.)
C3/AFFD:	A9D2    	LDA #$D2
C3/AFFF:	85E2    	STA $E2
C3/B001:	A00800  	LDY #$0008
C3/B004:	DA      	PHX
C3/B005:	7B      	TDC
C3/B006:	A5E6    	LDA $E6
C3/B008:	AA      	TAX
C3/B009:	A7E0    	LDA [$E0]
C3/B00B:	9F889D7E	STA $7E9D88,X
C3/B00F:	FA      	PLX
C3/B010:	18      	CLC
C3/B011:	5A      	PHY
C3/B012:	2A      	ROL A
C3/B013:	48      	PHA
C3/B014:	9005    	BCC $B01B
C3/B016:	201EB1  	JSR $B11E
C3/B019:	8003    	BRA $B01E
C3/B01B:	200AB1  	JSR $B10A
C3/B01E:	68      	PLA
C3/B01F:	7A      	PLY
C3/B020:	88      	DEY
C3/B021:	D0ED    	BNE $B010
C3/B023:	C220    	REP #$20      (16 bit memory/accum.)
C3/B025:	E6E0    	INC $E0
C3/B027:	E220    	SEP #$20      (8 bit memory/accum.)
C3/B029:	C6E6    	DEC $E6
C3/B02B:	D0D4    	BNE $B001
C3/B02D:	2033B0  	JSR $B033
C3/B030:	4C5AB1  	JMP $B15A