Final Fantasy VI/ROM map/Assembly C3F: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
Line 16: Line 16:
  C3/F030: A0D93A  LDY #$3AD9
  C3/F030: A0D93A  LDY #$3AD9
  C3/F033: 4CCDED  JMP $EDCD
  C3/F033: 4CCDED  JMP $EDCD
==C3/F036 unknow==
==C3/F036 Decompress and Transfer to VRAM==
  C3/F036: A0FBF6  LDY #$F6FB
 
  C3/F039: A9C4    LDA #$C4
Note that this subroutine uses a different Transfer Loop than the one below
  C3/F03B: 2061DD  JSR $DD61
 
  C3/F03E: A000C0  LDY #$C000
  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/F041: 84E7    STY $E7
  C3/F043: A97E    LDA #$7E
  C3/F043: A97E    LDA #$7E ; Source Bank (WRAM)
  C3/F045: 85E9    STA $E9
  C3/F045: 85E9    STA $E9
  C3/F047: A0F00D  LDY #$0DF0
  C3/F047: A0F00D  LDY #$0DF0 ; Number of bytes to transfer
  C3/F04A: 84EB    STY $EB
  C3/F04A: 84EB    STY $EB
  C3/F04C: 64ED    STZ $ED
  C3/F04C: 64ED    STZ $ED ; Add nothing to each value
  C3/F04E: 64EE    STZ $EE
  C3/F04E: 64EE    STZ $EE ; Add nothing to each value
  C3/F050: A00060  LDY #$6000
  C3/F050: A00060  LDY #$6000 ; VRAM Destination
  C3/F053: 4CB9DD  JMP $DDB9
  C3/F053: 4CB9DD  JMP $DDB9 ; Transfer Loop to VRAM
 
==C3/F056 Decompress and Transfer to VRAM==
==C3/F056 Decompress and Transfer to VRAM==



Revision as of 10:53, 12 June 2014

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

Note that this subroutine uses a different Transfer Loop than the one below

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!