so I've been trying to draw a bitmap in 6502 (for the Commodore 64). When I load the image into adress 2000 it's works fine, but as soon as try a different address like 2400 it doesn't work anymore.
Also I'm using CBM prg Studio as my IDE, and Vice as my C64 emulator... don't know if that matters.
Here's an image of the result I get
And here's my code
*=$0801
BYTE $0E, $08, $0A, $00, $9E, $20, $28
BYTE $32, $33, $30, $34, $29, $00, $00, $00
*=$0900
; **************************************************************
; VARIABLES
; **************************************************************
TITLE_CHARMEM = $4340
TITLE_COLRMEM = $4728
TITLE_BACKMEM = $4B10
; **************************************************************
; MACROS
; **************************************************************
; **************************
; KEYWAIT
defm KEYWAIT ; Paramters: [Key]
@WAITLOOP
lda #$CB
cmp /1
bne @WAITLOOP
endm
; **************************
; PRINT
defm PRINT ; Paramters: [String]
lda #</1
ldy #>/1
jsr $AB1E
endm
; **************************************************************
; GAME CODE
; **************************************************************
INIT
lda #%00111011 ; Enable bitmap mode
sta $D011
lda #%11011000 ; Enable multicolor mode
sta $D016
lda TITLE_BACKMEM ; Load background data from
sta $D020 ; Store it in the background addresses
sta $D021
ldx #$00
TITLE
; Load the image and store it in memory
; -- Image data
lda TITLE_CHARMEM,x
sta $0400,x
lda TITLE_CHARMEM + $0100,x
sta $0500,x
lda TITLE_CHARMEM + $0200,x
sta $0600,x
lda TITLE_CHARMEM + $0300,x
sta $0700,x
; -- Color data
lda TITLE_COLRMEM,x
sta $D800,x
lda TITLE_COLRMEM + $0100,x
sta $D900,x
lda TITLE_COLRMEM + $0200,x
sta $DA00,x
lda TITLE_COLRMEM + $0300,x
sta $DB00,x
inx
bne TITLE
lda #$19
sta $D018
FOREVER
jmp FOREVER
*=$23FE ; 2400 - 2 bytes for the header
INCBIN "bitmaps/title.prg"
title.prg
, does it have a full screen dump? That can not simply be moved and expected to work. – Jester