Salve,
sto provando come esercizio alcune piccole routine in Assembly, alcune hanno funzionato altre no. E la maggior parte mi da un errore comune al caso che sto
per specificare.
in pratica ho usato il Dasm per assemblare questa routine con presa sul fantastico sito
http://www.redizajn.sk/tnd64/assemble_it.html al Capitolo 9 - Colour-Washing Charsets e non mi ha dato nessun errore durante la "compilazione"...
Siccome vedo che la routine parte da $1000 che corrisponde al decimale 4096
carico il programma dal VICE con Autostart Disk/Image (perchè con Attach Disk Image non me lo fa caricare) esegue il Load "*",8,1 , esce READY do SYS 4096 e per una frazione di secondi vedo scrivere qualcosa sullo schermo poi appare Ready in alto, mi chiedevo perchè non mi funzionava come sullo screenshot che vedo dal sito al Chapter 9. Forse perchè devo fare il LOAD da $1000? e come si fa?
Aiuto per favore!
Il listato è il seguente:
;Simple colour washing routine, inside
;an IRQ Raster Interrupt Player
* = $1000
LDX #$00
SHOWMS LDA MESSAGE,X
STA $0400,x
INX
CPX #$28
BNE SHOWMS
IRQ JSR COLWASH
JMP $EA31
;======================
;COLOUR WASHING ROUTINE
;======================
COLWASH LDA COLOUR+$00
STA COLOUR+$28
LDX #$00
CYCLE LDA COLOUR+$01,X
STA COLOUR+$00,X
LDA COLOUR,X
STA $D800,X
INX
CPX #$28
BNE CYCLE
RTS
;DATA TABLES FOR COLOURS
COLOUR .BYTE $09,$09,$02,$02,$08
.BYTE $08,$0A,$0A,$0F,$0F
.BYTE $07,$07,$01,$01,$01
.BYTE $01,$01,$01,$01,$01
.BYTE $01,$01,$01,$01,$01
.BYTE $01,$01,$01,$07,$07
.BYTE $0F,$0F,$0A,$0A,$08
.BYTE $08,$02,$02,$09,$09
.BYTE $00,$00,$00,$00,$00
;DATA FOR TEXT MESSAGE
MESSAGE .TEXT "RICHARD BAYLISS'"
.TEXT " COLOUR SCROLLER"
.TEXT " ACTIVE......"
.TEXT " "
dove è che sbaglio?
Grazie!