a wiec:
org $8000
lda $100
sta lp1+2
lda $101
sta pos1+1
lda $102
sta pam+2
lda $103
sta pos2+1
lda $104
sta pam2+2
lda $105
sta pos3
lda $106
sta kol1
ldx $107 kolor 2.
lda $d40b
bne *-3
ldy #0
lp1 lda $c000,y strona pamieci z danymi dla ducha 1.1
sta $d00d
pos1 lda #$50 $30-50 pozycja 1.1
sta $d000
pam lda $a500,y strona pamieci z danymi dla ducha 1.2
sta $d00d
pos2 lda #$94 $6c-94 pozycja 1.2
sta $d000
kol1 lda #$83 kolor 1.
sta $d012
pam2 lda $a400,y strona z danymi dla ducha 1.3
sta $d00d
pos3 lda #$ac $ab-bc pozycja 1.3
sta $d000
sta $d40a
stx $d012
iny
bit $d40b
bvc lp1
jmp ($108)
w komorce 256 ($100) nalezy podac adres danych dla sprite`a 1.1
258 - sprite`a 1.2
260 -sprite`a 1.3
257- pozycja 1.1
259 pozycja 1.2
261- pozycja 1.3
262- kolor 1.
263- kolor 2.
264,5- mlodszy i starszy adres glownej procedury programu.
glowna procedura programu musi sie konczyc skokiem pod $8000, z tamtad program spowrotem powraca do adresu wskazanego w komorkach 264, 265.
Zarzucam kod maszynowy,sorki,ze w hexach,a nie w dzisietnych ale nie mialem jakos pomyslu jak to szybko przerobic:
ad 00 01 8d 36 80 ad 01 01 8d
3b 80 ad 02 01 8d 41 80 ad 03 01 8d 46 80 ad 04
01 8d 51 80 ad 05 01 8d 55 80 ad 06 01 8d 4a 80
ae 07 01 ad 0b d4 d0 fb a0 00 b9 00 c0 8d 0d d0
a9 50 8d 00 d0 b9 00 a5 8d 0d d0 a9 94 8d 00 d0
a9 83 8d 12 d0 b9 00 a4 8d 0d d0 a9 ac 8d 00 d0
8d 0a d4 8e 12 d0 c8 2c 0b d4 50 ce 6c 08 01
A oto adresy do zmiany ustawien sprajtow w DLI:
komorka: 32822($8036) -numer strony pamieci sprajta 1.1
32827($803b) -pozycja sprajta 1.1 40 do 80($10-$50)
32833($8041)- numer strony pamieci sprajta 1.2
32838($8046)- pozycja sprajta 1.2 od 108 do 148($6c-$94)
32849($8051)- numer strony pamieci sprajta 1.3
32853($8055)- pozycja sprajta 1.3 od 171 do 204($ab-$cc)
32842($804a)- kolor 1
rejestr x-kolor 2
Programik wykonuje sie do polowy ramki, zeby reszta programu w Basicu miala czas, zeby sie wyrobic;
eby duszki pojawialy sie na calym ekranie a nie na polowie-$50 zamieniamy na $90
na dysku programik pokazujacy zakresy w jakich mozna umiescic duszki oraz kod w assemblerze z petla.