-Edit-At first, it wasn't working at all... primarily because the original .png that was used to make the .gif which later was converted to snes data was over ... 6000 colors so I re-edited the original .png to have only 256 colors. It looked fine and it works in the rom it self although, it shows the title screen, then darkens and freezes.
I believe it is because of the resolution of the image it self. I'm following what this tutorial here says about SNES games and title screens"
It should be a 256x256 GIF in order
to be used. But if your game blanks the bottom or side row of the title
screen (eg the Final Fantasy games), you may need to make it 248x248 pixels.
I originally had it like 256x224 because that's the output resolution of ZSnes screenshots. I then listened to what he suggested for 256x256 and that was just to large, and then I tried 248x248 and that just froze on me after it started darkening/fading out after press A, all of the times I've tried ended up freezing on me.
---------------
Well, Lenophis was helping me with the ASM part although if you look towards the bottom of this page:
http://xabylon.net/IntroHTML/intro.htmLook down towards the "Debug Window" part where he talks about instructions. This is where I'm currently stuck.
I have no idea at all what he's talking about. :S
I opened the Rom with the Snes9X Debugger that he suggested and it showed this:
http://www.myimg.us/images/12.15.08/6761.pngI tried a lot of different things but I just don't understand what his instructions are saying.. :/
Here is the ASM code that Lenophis sent me.
hirom
header
;graphics start at 308000
;variable locations
!CodeOffset = $F10000
!SetBank = #$F2
!SetBank2 = #$F2 ;should always be 1 more than SetBank1 (not sure if it's same with HiRom)
!SetOffset = #$0000
!SetOffset2 = #$8000
!MapBank = #$F4
!MapOffset = #$0000
!ColBank = #$F5
!ColOffset = #$0000
;includes for intro
org $F20000
incbin introfiles/intro.set
org $F40000
incbin introfiles/intro.map
org $F50000
incbin introfiles/intro.col
;start of rom position, should be 00:FF00 if it's HiRom (use LunarAdress to tell which it is)
org $C00019
JMP !CodeOffset
NOP
;start initialization
org !CodeOffset
SEI
CLC
XCE
SEP #$30
PHB
LDA #$00
PHA
PLB
LDA #$80
STA $2100
LDA #$00
STA $2101
STA $2102
STA $2103
STA $2105
STA $2106
STA $2107
STA $2108
STA $2109
STA $210A
STA $210B
STA $210C
STA $210D
STA $210D
STA $210E
STA $210E
STA $210F
STA $210F
STA $2110
STA $2110
STA $2111
STA $2111
STA $2112
STA $2112
STA $2113
STA $2113
STA $2114
STA $2114
LDA #$80
STA $2115
LDA #$00
STA $2116
STA $2117
STA $211A
STA $211B
LDA #$01
STA $211B
LDA #$00
STA $211C
STA $211C
STA $211D
STA $211D
STA $211E
LDA #$01
STA $211E
LDA #$00
STA $211F
STA $211F
STA $2120
STA $2120
STA $2121
STA $2123
STA $2124
STA $2125
STA $2126
STA $2127
STA $2128
STA $2129
STA $212A
STA $212B
LDA #$01
STA $212C
LDA #$00
STA $212D
STA $212E
STA $212F
LDA #$30
STA $2130
LDA #$00
STA $2131
LDA #$E0
STA $2132
LDA #$00
STA $2133
LDA #$01 ;auto read joypads
;LDA #$81
STA $4200
LDA #$FF
STA $4201
LDA #$00
STA $4202
STA $4203
STA $4204
STA $4205
STA $4206
STA $4207
STA $4208
STA $4209
STA $420A
STA $420B
STA $420C
STA $420D
REP #$30
SEP #$20
LDA #$03
STA $2105
LDA #$01
STA $212C
LDA #$00
STA $2107
LDA #$01
STA $210B
;JSR $2201
JSR Jump1
;DMA color stuff
LDX #$8000
STX $2116
LDX #$1801
STX $4300
LDX !MapOffset
STX $4302
LDA !MapBank
STA $4304
LDX #$0C00
STX $4305
LDA #$01
STA $420B
LDA #$00
STA $2121
LDX #$2200
STX $4300
LDX !ColOffset
STX $4302
LDA !ColBank
STA $4304
LDX #$0200 ;512 colors
STX $4305
LDA #$01
STA $420B
JSR Jump1
;dma data information for set
;copy first half #$8000
LDX #$1000
STX $2116
LDX #$1801
STX $4300
LDX !SetOffset
STX $4302
LDA !SetBank
STA $4304
LDX #$8000 ;dma transfer size
STX $4305
LDA #$01
STA $420B
JSR Jump1
;dma data information
;copy bottom half #$6000 in size
LDX !SetOffset2
STX $4302
LDA !SetBank2
STA $4304
LDX #$6000
STX $4305
LDA #$01
STA $420B
Jump9:
STA $2100
INA
JSR Jump2
CMP #$10
BCC Jump9
FadeRoutine()
{
CLI
LDX #$0030
Jump3:
SEP #$20
LDY #$FFFF
Jump4:
DEY
BNE Jump4
Jump5:
;LDA $4210
LDA $4212
AND #$80
BEQ Jump5
Jump6:
LDA $4212 ;check vblank
AND #$01
BNE Jump6
REP #$20
LDA $4218
AND #$F0F0 ;check for A, B, X, Y, L, R, start, and select
BNE Jump7
DEX
;Get key press or not
;BNE Jump3 ;don't wait for keypress
BRA Jump3 ;wait for keypress
Jump7:
SEP #$20
LDA $4210
AND #$80
BEQ Jump7
LDA #$0F
Jump10:
STA $2100
DEC A
PHA
JSR Jump2
}
PLA
CMP #$00
BNE Jump10
LDX #$0000
;old code from beginning of unchanged rom
CLC
XCE
SEI
REP #$10
JMP.l $008005 ;jump to fifth instruction
Jump1:
PHA
Jump11:
LDA $4210
AND #$80
BEQ Jump11
PLA
RTS
Jump2:
LDY #$FFFF
Jump8:
DEY
BNE Jump8
RTS
vblank:
pha
php
sep #$20
; lda #$81 ; enable temp NMI
; sta.l $4200
Vloop:
lda.l $4210
and #$80
beq Vloop
; lda #$01 ; disable again
; sta.l $4200
plp
pla
rts
One last very tiny question.Lets say I worked very hard on this hack and put a lot of new content into it, new monsters, etc.
If I removed the header, could that keep people from trying to steal my work for there own?
I know you can't open a headerless rom in FF3usME (and other editors) so that *could* be considered as encrypting the rom with a password, technically.
Right?
Would removing the header really hurt the rom?