Final Fantasy VI:ROM map/Assembly C3F

From Data Crystal
Revision as of 03: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
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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!