home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 87xx / 8705.d64 / raster-irq (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  1KB  |  62 lines

  1. 0 SYS32768:.OPT P,OO
  2. 10 .TIT "RASTERZEILEN-INTERRUPT"
  3. 11 .PAG 255
  4. 12 *= $C000
  5. 13 RANDO = 106
  6. 14 RANDU = 194
  7. 15 IRQALT = $EA31
  8. 16 RASTER = $D012
  9. 17 MASK = $D01A
  10. 18 REQUEST = $D019
  11. 19 MODUS = $D018
  12. 20 KLEIN = 21
  13. 21 GROSS = 23
  14. 22 ;
  15. 23 ;INITIALISIERUNG
  16. 24 ;===============
  17. 25 ;
  18. 26 SEI       ;INTERRRUPT VERHINDERN
  19. 27 LDA #<IRQNEU
  20. 28 LDX #>IRQNEU
  21. 29 STA $0314 ;IRQ-VEKTOR AUF NEUE
  22. 30 STX $0315 ;ROUTINE SETZEN
  23. 31 LDA #RANDO
  24. 32 STA RASTER  ;1.ZEILE FUER IRQ
  25. 33 LDA RASTER-1
  26. 34 AND #%01111111  ;HIGH-BYTE LOESCHEN
  27. 35 STA RASTER-1
  28. 36 LDA #%10000001  ;IRQ DURCH RASTER-
  29. 37 STA MASK        ;ZEILEN FESTLEGEN
  30. 38 CLI             ;IRQ FREIGEBEN
  31. 39 RTS
  32. 40 ;
  33. 41 ;NEUE INTERRUPTROUTINE
  34. 42 ;=====================
  35. 43 ;
  36. 44 IRQNEU  LDA REQUEST   ;IRQ-REGISTER
  37. 45 STA REQUEST      ;LOESCHEN
  38. 46 BMI RASTERIRQ    ;ZUM RASTER - IRQ
  39. 47 ;
  40. 48 ;TIMER-INTERRUPT
  41. 49 ;===============
  42. 50 ;
  43. 51 LDA $DC0D        ;IRQ-REG. LOESCHEN
  44. 52 CLI              ;IRQ ZULASSEN
  45. 53 JMP IRQALT       ;TIMER-IRQ-ROUTINE
  46. 54 ;
  47. 55 ;RASTERZEILEN-INTERRUPT
  48. 56 ;======================
  49. 57 ;
  50. 58 RASTERIRQ  LDA RASTER  ;ZEILE HOLEN
  51. 59 CMP #RANDU       ;UNTERER RAND
  52. 60 BCS OK           ;JA, SPRUNG
  53. 61 LDA #KLEIN       ;NEIN, AUF KEIN-
  54. 62 STA MODUS        ;SCHRIFT SCHALTEN
  55. 63 LDA #RANDU
  56. 64 JMP EXIT         ;ZUM SCHLUSS
  57. 65 OK  LDA #GROSS   ;GROSSSCHRIFTMODUS
  58. 66 STA MODUS        ;EINSCHALTEN
  59. 67 LDA #RANDO
  60. 68 EXIT  STA RASTER
  61. 69 JMP $EA7E        ;IRQ BEENDEN
  62.