Halllo.
Ich bin noch relativ neu bei Assembler. Ich habe ein Bild in ein Koala Bild umgewandelt und dieses kann auch von einem Koala Viewer einwandfrei angezeigt werden. Also Datei OK. Ich benutze hier CBM Studio. Aber anscheinend benutzen die Meisten ACME oder C64 Studio.
Was ich gelernt habe:
Ein Koala-Bild hat 10 kb. 8kb Bildinformation, dann 1kb für den Screen-RAM, dann 1 kb für das Color-RAM, dann 1 byte für den Hintergrund. Ich habe ein Programm abgetippt und ich kriege es einfach nicht zum Laufen. Ich glaube, die Syntax bei incbin ist falsch. Aber ich finde da nirgends eine Anleitung für das CBM Studio mit der korrekten Syntax. Vielleicht kann sich das ja jemand mal anschauen ?!
Code
- ; 10 SYS (2304)
- *=$0801
- BYTE $0E, $08, $0A, $00, $9E, $20, $28, $32, $33, $30, $34, $29, $00, $00, $00
- ;
- ; Grafik laden
- ;
- ;
- ;
- *=$0900
- ;
- lda #0
- sta $d020
- main
- ;
- lda #%00100000 ; Bit 5 = Bitmap an
- sta $d011
- ;
- lda #%00011000 ; Bit 4 = Multicolor Modus
- sta $d016
- ;
- lda #%00011000 ; Bit 7-4 = Offset in $0400
- sta $d018 ; Bit 3 = Bitmap Offset $2000
- ;
- ;
- ;
- ; Bildkopierschleife
- ;
- ; Daten in Bildschirmspeicher kopieren
- ;
- ldx #0
- ;
- loop lda screen,x
- sta $0400,x
- lda screen+$0100,x
- sta $0500,x
- lda screen+$0200,x
- sta $0600,x
- lda screen+$02e8,x
- sta $06e8,x
- ;
- ; Daten in Farb-RAM kopieren
- ;
- lda farbram,x
- sta $d800,x
- lda farbram+$0100,x
- sta $d900,x
- lda farbram+$0200,x
- sta $da00,x
- lda farbram+$02e8,x
- sta $dae8,x
- ;
- lda hintergrundfarbe
- sta $d021
- ;
- inx
- bne loop
- ;
- jmp main
- ;
- rts
- ;
- ; Grafikdaten
- ;
- *=$2000
- ;
- bitmap
- incbin "leo.kla",2
- ;
- screen
- incbin "leo.kla",8000,1000
- ;
- farbram
- incbin "leo.kla",9000,1000
- ;
- hintergrundfarbe
- incbin "leo.kla",10000,1
- ;
Vielen Dank !!
Gruß Jan