Ich hab hier mal eben was kleines geschrieben.
Ist eine Verschieberoutine in Assembler.
Ziemlich klein und laesst alle ZeroPageAdressen im alten Zustand.
Aufruf per
lsb ist das niedrigere Byte einer vollen Adresse.
Mal ein Beispiel:
Bildschirmteil von $0400 bis $0500 nach $0600 kopieren:
Alles klar? nach $c000 verschieben waere:
Wer sowas braucht weiss sicher eh wie er/sie zu lsb und msb kommt (?).
Etwas das man immer gebrauchen kann:
Kompletten Bildschirm nach $c000 (49152) verschieben
und zurueck:
Code
1 if b<81 then read a:c=c+a:poke 828+b,a:b=b+1:goto 1
2 if c<>95^2+26 then print "data falsch"
10 data 165,172, 72,165,173, 72,165,174, 72,165
20 data 175, 72,165, 44, 72,165, 43, 72, 32,134
30 data 3,134,173, 32,134, 3,134,172, 32,134
40 data 3,134,175, 32,134, 3,134,174, 32,134
50 data 3,134, 44, 32,134, 3,134, 43,160, 0
60 data 177,172,145, 43, 32, 27,228, 32,219,252
70 data 32,209,252,144,239,104,133, 43,104,133
80 data 44, 76, 88,233, 32,253,174, 32,158,183
90 data 96
Alles anzeigen
basic.prg ist dieses Programm.
asm.prg ist das eigentlich assemblerprogramm das direkt nach 828 ($033c) = Tape-Puffer laedt.