RasterBars flackerfrei über Screen bewegen


  • spindizzy
  • 2536 Aufrufe 24 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi ;),

    Aber trotzdem, wenn man die kopierroutinen (rauf/runter) nicht sauber hat, dann "lösst" sich die tabelle irgendwann auf


    ...aber was ist denn an den rauf/ runter Routinen nicht sauber ;(


    Gruss
    ;)
    Spindizzy
  • Original von spindizzy
    Hi ;),

    Aber trotzdem, wenn man die kopierroutinen (rauf/runter) nicht sauber hat, dann "lösst" sich die tabelle irgendwann auf


    ...aber was ist denn an den rauf/ runter Routinen nicht sauber ;(


    Gruss
    ;)
    Spindizzy


    wie sauhund schon sagte...
    die zeile 166 muss ein ldy#3e (anstelle von ldy#00) sein UND:
    du darfst in zeile 120 nicht mit bne (also y=0) aufhören, sondern bei y=FF.
    also entweder mit cpy #ff bne loop5, oder aber mit bpl loop5 (ohne den cpy)
  • hier nochmal zu meinem vorschlag mit den 2 tabellen (eine wo dir farben alle abgelegt sind, und die andere für den bereich der auf dem bildschirm angezeigt wird)

    dazu ein kleiner codeausschnitt aus dem angehängten beispielprogramm (startbar mit sys 4096)

    farben liegen auf $1400-$1700, wobei der bereich von $1400-1480 sich am ende der tabelle ab $1700 nochmal wiederholt, wegen dem überlauf bei kopieren am ende der tabelle.
    darstellungsbereich ist $1200-$1280
    sinustabelle von $0f00-$1000

    Brainfuck-Quellcode

    1. ;--------- zuerst 128 zeilen farben in den darstellungsbereich kopieren
    2. .C:1066 A2 00 LDX #$00
    3. .C:1068 BD 00 14 LDA $1400,X
    4. .C:106b 9D 00 12 STA $1200,X
    5. .C:106e E8 INX
    6. .C:106f 10 F7 BPL $1068
    7. ;---------------------- kopieren ende, nun noch den zähler für den anfang erhöhen
    8. .C:1071 EE 69 10 INC $1069
    9. .C:1074 D0 0D BNE $1083
    10. .C:1076 AE 6A 10 LDX $106A
    11. .C:1079 E8 INX
    12. .C:107a E0 17 CPX #$17
    13. .C:107c D0 02 BNE $1080
    14. .C:107e A2 14 LDX #$14
    15. .C:1080 8E 6A 10 STX $106A
    16. ;----------------------- und jetzt ein paar beweglich bars drüberkopieren
    17. .C:1083 A9 00 LDA #$00
    18. .C:1085 8D 8B 10 STA $108B
    19. .C:1088 A2 05 LDX #$05 ; ANZAHL DER BARS
    20. .C:108a AD EC 0F LDA $0F00 ; SINUSWERT FÜR DEN BAR AUSLESEN
    21. .C:108d 8D 96 10 STA $1096
    22. .C:1090 A0 0E LDY #$0E; HÖHE DER BARS
    23. .C:1092 B9 F0 10 LDA $10F0,Y ; FARBEN FÜR DIE BARS
    24. .C:1095 99 11 12 STA $1200,Y
    25. .C:1098 88 DEY
    26. .C:1099 10 F7 BPL $1092
    27. .C:109b AD 8B 10 LDA $108B
    28. .C:109e 18 CLC
    29. .C:109f 69 0C ADC #$0C ; SINUSABSTAND ZWISCHEN DEN BARS
    30. .C:10a1 8D 8B 10 STA $108B
    31. .C:10a4 CA DEX
    32. .C:10a5 D0 E3 BNE $108A
    33. .C:10a7 AD 84 10 LDA $1084
    34. .C:10aa 18 CLC
    35. .C:10ab 69 03 ADC #$03 ; GESCHWINDIGKEIT DER BARS
    36. .C:10ad 8D 84 10 STA $1084
    Alles anzeigen
    Dateien
    • MOVING.prg

      (2,18 kB, 29 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Roland ()

  • Benutzer online 1

    1 Besucher

  • Tags