home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1993 November / 64er_Magazin_93-11_1993_Markt__Technik_de_Side_A.d64 / y-scroll.src < prev    next >
Text File  |  2022-10-26  |  2KB  |  46 lines

  1.          *= $1000      ;
  2.  
  3.          sei           ;irq sperren
  4.          lda #<start   ;high und
  5.          sta $0314     ;lowbyte der neuen
  6.          lda #>start   ;einsprungsadresse
  7.          sta $0315     ;festlegen
  8.  
  9.          lda #$00      ;selbstmodifizierendes
  10.          sta selfmod+1 ;register loeschen
  11.  
  12.          lda $dc0d     ;timerwert
  13.          and #$7f      ;verknuepfen
  14.          ora #$01      ;und wieder
  15.          sta $dc0d     ;schreiben
  16.          lda #$2e      ;rasterzeile auf
  17.          sta $d012     ;$2e festlegen
  18.          lda $d011     ;yscroll-register
  19.          and #$7f      ;auf den
  20.          sta $d011     ;standardwert setzen
  21.          lda #$01      ;nur rasterzeilen-irq
  22.          sta $d01a     ;zulassen
  23.          cli           ;irq freigeben
  24.          jmp *         ;endlosschleife
  25.  
  26. start    inc $d019     ;irr erhoehen
  27.  
  28. selfmod  ldx #$00      ;zaehler auf null setzen
  29. again    lda $d012     ;rasterzeile laden
  30.          ldy #$02      ;und kurz
  31. rza1     dey           ;warten
  32.          bne rza1      ;
  33. wait     cmp $d012     ;warten, bis der raster-
  34.          beq wait      ;strahl wieder auf der alten
  35.          and #$07      ;position steht
  36.          adc #$18      ;werte verknuepfen und
  37.          sta $d011     ;ins register $d011 schreiben
  38.          dex           ;zaehler vermindern
  39.          bne again     ;ungleich null, dann von vorne
  40.          lda selfmod+1 ;selbstmodifikations-reg
  41.          cmp #$01      ;laden und pruefen, ob
  42.          beq irqend    ;es bereits bei eins ist
  43.          dec selfmod+1 ;
  44. irqend   jmp $ea31     ;zur alten irq-routine
  45.  
  46.