Final Fantasy VI/ROM map/Assembly C3F

From Data Crystal
< Final Fantasy VI‎ | ROM map
Revision as of 07:58, 13 June 2014 by Lytron (talk | contribs) (→‎C3/F036 Decompress and Transfer to VRAM: Added comment that this is used in the ending cinematic)
Jump to navigation Jump to search

C3/F00D unknow

C3/F00D:	2036F0  	JSR $F036
C3/F010:	A01400  	LDY #$0014
C3/F013:	84E0    	STY $E0
C3/F015:	A00200  	LDY #$0002
C3/F018:	84E2    	STY $E2
C3/F01A:	A26003  	LDX #$0360
C3/F01D:	A0F33B  	LDY #$3BF3
C3/F020:	4CCDED  	JMP $EDCD

C3/F023 unknow

C3/F023:	A01C00  	LDY #$001C
C3/F026:	84E0    	STY $E0
C3/F028:	A00600  	LDY #$0006
C3/F02B:	84E2    	STY $E2
C3/F02D:	A2C80B  	LDX #$0BC8
C3/F030:	A0D93A  	LDY #$3AD9
C3/F033:	4CCDED  	JMP $EDCD

C3/F036 Decompress and Transfer to VRAM (Ending Cinematic)

Note that this subroutine uses a different Transfer Loop than the one below, presumably this is the tilemap (lytron guesses this because of the used transfer loop); the data is something for the Ending Cinematic.

C3/F036:	A0FBF6  	LDY #$F6FB	; Compressed Data Address
C3/F039:	A9C4    	LDA #$C4	; Compressed Data Bank
C3/F03B:	2061DD  	JSR $DD61	; LZ decompression to $7EC000
C3/F03E:	A000C0  	LDY #$C000	; Transfer Loop to VRAM: Source Address
C3/F041:	84E7    	STY $E7
C3/F043:	A97E    	LDA #$7E	; Source Bank (WRAM)
C3/F045:	85E9    	STA $E9
C3/F047:	A0F00D  	LDY #$0DF0	; Number of bytes to transfer
C3/F04A:	84EB    	STY $EB
C3/F04C:	64ED    	STZ $ED		; Add nothing to each value
C3/F04E:	64EE    	STZ $EE		; Add nothing to each value
C3/F050:	A00060  	LDY #$6000	; VRAM Destination
C3/F053:	4CB9DD  	JMP $DDB9	; Transfer Loop to VRAM

C3/F056 Decompress and Transfer to VRAM

Note that the Data to decompress is fixed here.

C3/F056:	A0E5A4  	LDY #$A4E5	; Compressed Data Address
C3/F059:	A9D9    	LDA #$D9	; Compressed Data Bank
C3/F05B:	2061DD  	JSR $DD61	; LZ decompression to $7EC000
C3/F05E:	A000C0  	LDY #$C000	; Transfer Loop to VRAM: Source Address
C3/F061:	84E7    	STY $E7
C3/F063:	A97E    	LDA #$7E	; Source Bank (WRAM)
C3/F065:	85E9    	STA $E9
C3/F067:	A0C000  	LDY #$00C0	; Number of bytes to transfer
C3/F06A:	84EB    	STY $EB
C3/F06C:	A00060  	LDY #$6000	; VRAM Destination
C3/F06F:	4C86DD  	JMP $DD86	; Transfer Loop to VRAM

C3/F072 unknow

C3/F072:	2036F0  	JSR $F036
C3/F075:	2087EF  	JSR $EF87
C3/F078:	A00068  	LDY #$6800
C3/F07B:	20B9DD  	JSR $DDB9
C3/F07E:	A00A00  	LDY #$000A
C3/F081:	84E0    	STY $E0
C3/F083:	A00500  	LDY #$0005
C3/F086:	84E2    	STY $E2
C3/F088:	A25600  	LDX #$0056
C3/F08B:	A0373B  	LDY #$3B37
C3/F08E:	4CCDED  	JMP $EDCD

C3/F091 free space

C3/F091 - C3/FFFF: FREE SPACE!