поэтому я пытался нарисовать растровое изображение в 6502 (для Commodore 64). Когда я загружаю изображение по адресу 2000, оно работает нормально, но как только я пытаюсь использовать другой адрес, например 2400, оно больше не работает.
Также я использую CBM prg Studio в качестве IDE и Vice в качестве эмулятора C64... не знаю, имеет ли это значение.
Вот изображение результата, который я получаю
А вот мой код
*=$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
, есть ли дамп на весь экран? Это нельзя просто переместить и ожидать, что оно сработает. - person Jester   schedule 16.07.2020