Okay, I am currently having much trouble doing a simple bankswitch. Look here at my code:
Code:
.8bit
.bank 0 slot 3
.section "reset" FREE
reset:
cld
sei
ldx #$FF
txs
lda #$02
sta $E000
lsr a
sta $E000
lsr a
sta $E000
lsr a
sta $E000
lsr a
sta $E000
.ends
.bank 2 slot 3
.section "bott" FREE
lda #$00
sta $2000
sta $2001
....
.bank 4 slot 5
.section "graphics" FREE
.incbin "finalfantasyvii.chr"
.ends
.bank 3 slot 4
.orga $FFFA
.section "vectors" FORCE
.dw 0
.dw reset
.dw 0
.ends
The bank is actually switching into $8000-$BFFF. The data will work correctly if you don't switch banks, so it's not something wrong with the code in bank 2. For some reason, the data just isn't being read. It's sitting there in bank 2. Nice working data, not being read. What's the deal here? A blank screen shows up, and it's just supposed to display "Hello World!" on the screen, but it's just a blank screen. If I take the bankswitch out of there, it works just fine. But for some reason, I do the bankswitch and nothing happens. The point of the demo is so I can understand how to bankswitch. Obviosly the bankswitch isn't neccissary, but you get the point. What's the deal, man?
EDIT: Hmm, the code works as soon as I do a soft reset, but when I do a hard reset, it doesn't work. What is up with that? Does it have something to do with the reset bit in $8000?