Die Schnelligkeit der REU ausnutzen um einen Speicherbereich zu verschieben.
Da die REU einen eigenen Prozessor hat kann sie ca 1 Million Byte pro
Sekunde verschieben. Dieses nutze ich jetzt aus um den Hiresgrafikscreen
von a000 nach e000 zu kopieren. Einmal 8000 Byte vom C64 in die REU und
wieder 8000 von der REU in den Bereich e000 (sichtbarer Bereich). Kommt
mein Eliteprojekt sehr entgegen. Wenn ich von ca 1 Milion Byte verschieben ausgehe pro Sekunde habe ich eine Übertragungsrate vom 8000 Byte zur REU und 8000 Byte von der REU zum C64 , das sind 1000000/16000 , das sind ca 62 Übertragungen pro Sekunde.
Hmmm..., schneller geht es nimmer mit ASM...
Zeitliche Messungen bei 10000 Übertragungen lagen um das 13-14fache als mit ASM.
Nach jedem Zeichnen eines Strahles wird das Bild vom C64(a000) zur REU transprotiert und von der REU zum C64 (e000 ,sichtbarer Screen)
- var xs
- var ys
- df01 value kdo ( kommandoregister )
- df02 value c64adr ( adresse c64 lo/hi )
- df04 value reuadr ( adresse reu lo/hi )
- df06 value reuba ( bank von der reu )
- df07 value trbyte ( bytemenge )
- : sternreu
- scrbasec
- 14 clrcol
- scrbase8
- 17 clrcol
- hiresc
- 168 0 do
- 64 i *cos a0 + xs !
- 64 i *sin 64 + ys !
- a0 64 plot
- xs @ ys @ line
- a000 c64adr ! 0 reuadr ! 0 reuba ! 1f40 trbyte ! fc kdo !
- e000 c64adr ! 0 reuadr ! 0 reuba ! 1f40 trbyte ! fd kdo !
- 5 +loop ;