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

  1. 0 SYS32768:.OPT P,OO:*= $C0DF
  2. 1 .TIT "LIGHTPEN/JOYSTICK-IRQ"
  3. 2 .PAG 255
  4. 3 VIC = $D000
  5. 4 FLAG = $9B
  6. 5 IRQALT = $EA31
  7. 7 MASK = $D01A
  8. 8 REQUEST = $D019
  9. 9 ;
  10. 10 ;INITIALISIERUNG
  11. 11 ;===============
  12. 12 ;
  13. 13 SEI       ;INTERRRUPT VERHINDERN
  14. 14 LDA #<IRQNEU
  15. 15 LDX #>IRQNEU
  16. 16 STA $0314 ;IRQ-VEKTOR AUF NEUE
  17. 17 STX $0315 ;ROUTINE SETZEN
  18. 18 LDA #00         ;FLAG FUER TEXT
  19. 19 STA FLAG        ;SETZEN
  20. 20 LDA #<$6000
  21. 21 STA $71
  22. 22 LDA #>$6000     ;GRAFIKSCHIRM
  23. 23 STA $72
  24. 24 LDA #00         ;AB $6000
  25. 25 LDX #32
  26. 26 L1  TAY         ;LOESCHEN
  27. 27 L2  STA ($71),Y
  28. 28 INY
  29. 29 BNE L2
  30. 30 INC $72:DEX
  31. 31 BNE L1
  32. 32 LDA #<$4400     ;VIDEORAM AB
  33. 33 STA $71
  34. 34 LDA #>$4400     ;$4400 MIT FARBE
  35. 35 STA $72
  36. 36 LDA #110        ;FUELLEN- PUNKT-
  37. 37 LDX #04
  38. 38 L3  LDY #00     ;FARE HELLBLAU,
  39. 39 L4  STA ($71),Y
  40. 40 INY             ;HINTERGRUND BLAU
  41. 41 BNE L4
  42. 42 INC $72:DEX
  43. 43 BNE L3
  44. 46 LDA #%10001000  ;IRQ DURCH LIGHTPEN/
  45. 47 STA MASK        ;JOYSTICK FESTLEGEN
  46. 48 CLI             ;IRQ FREIGEBEN
  47. 49 RTS
  48. 50 ;
  49. 51 ;NEUE INTERRUPTROUTINE
  50. 52 ;=====================
  51. 53 ;
  52. 54 IRQNEU  LDA REQUEST   ;IRQ-REGISTER
  53. 55 STA REQUEST      ;LOESCHEN
  54. 56 BMI RASTER       ;ZUM RASTER - IRQ
  55. 57 ;
  56. 58 ;TIMER-INTERRUPT
  57. 59 ;===============
  58. 60 ;
  59. 61 LDA $DC0D        ;IRQ-REG. LOESCHEN
  60. 62 CLI              ;IRQ ZULASSEN
  61. 63 JMP IRQALT       ;TIMER-IRQ-ROUTINE
  62. 64 ;
  63. 65 ;RASTERZEILEN-INTERRUPT
  64. 66 ;======================
  65. 67 ;
  66. 70 RASTER   LDA FLAG         ;HGR ODER TEXT
  67. 71 CMP #00
  68. 72 BEQ HGR          ;GRAFIK EINSCHALTEN
  69. 73 ;
  70. 74 ;AUF TEXTSCHIRM SCHALTEN
  71. 75 ;=======================
  72. 76 ;
  73. 77 LDA #%00011011
  74. 78 STA VIC+17       ;GRAFIK AUSSCHALTEN
  75. 79 LDA #%11001000   ;MULTICOLOR
  76. 80 STA VIC+22       ;AUSSCHALTEN
  77. 81 LDA #%00010101   ;ZEICHENSATZ AUF
  78. 82 STA VIC+24       ;GROSSCHRIFT
  79. 83 LDA #%10010111   ;16 K-VERSCHIEBUNG
  80. 84 STA $DD00        ;DES ADRESSRAUMES
  81. 85 LDA #00         ;FLAG AUF HGR
  82. 86 STA FLAG        ;SCHALTEN
  83. 87 JMP $EA7E        ;IRQ BEENDEN
  84. 88 ;
  85. 89 ;AUF GRAFIKSCHIRM SCHALTEN
  86. 90 ;=========================
  87. 91 ;
  88. 92 HGR  LDA #%10111011
  89. 93 STA VIC+17      ;GRAFIK EINSCHALTEN
  90. 94 LDA #%11001000
  91. 95 STA VIC+22      ;MULTICOLOR AUS
  92. 96 LDA #%00011101
  93. 97 STA VIC+24      ;VIDEORAM NACH $4400
  94. 98 LDA #%10010110  ;16K-VERSCHIEBUNG
  95. 99 STA $DD00       ;DES ADRESSRAUMES
  96. 100 LDA #01        ;FLAG AUF TEXT
  97. 101 STA FLAG       ;SCHALTEN
  98. 102 JMP $EA7E      ;IRQ BEENDEN
  99.