home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1987 May
/
64er_Magazin_87-05_1987_Markt__Technik_de.d64
/
raster-irq
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
1KB
|
62 lines
0 sys32768:.opt p,oo
10 .tit "rasterzeilen-interrupt"
11 .pag 255
12 *= $c000
13 rando = 106
14 randu = 194
15 irqalt = $ea31
16 raster = $d012
17 mask = $d01a
18 request = $d019
19 modus = $d018
20 klein = 21
21 gross = 23
22 ;
23 ;initialisierung
24 ;===============
25 ;
26 sei ;interrrupt verhindern
27 lda #<irqneu
28 ldx #>irqneu
29 sta $0314 ;irq-vektor auf neue
30 stx $0315 ;routine setzen
31 lda #rando
32 sta raster ;1.zeile fuer irq
33 lda raster-1
34 and #%01111111 ;high-byte loeschen
35 sta raster-1
36 lda #%10000001 ;irq durch raster-
37 sta mask ;zeilen festlegen
38 cli ;irq freigeben
39 rts
40 ;
41 ;neue interruptroutine
42 ;=====================
43 ;
44 irqneu lda request ;irq-register
45 sta request ;loeschen
46 bmi rasterirq ;zum raster - irq
47 ;
48 ;timer-interrupt
49 ;===============
50 ;
51 lda $dc0d ;irq-reg. loeschen
52 cli ;irq zulassen
53 jmp irqalt ;timer-irq-routine
54 ;
55 ;rasterzeilen-interrupt
56 ;======================
57 ;
58 rasterirq lda raster ;zeile holen
59 cmp #randu ;unterer rand
60 bcs ok ;ja, sprung
61 lda #klein ;nein, auf kein-
62 sta modus ;schrift schalten
63 lda #randu
64 jmp exit ;zum schluss
65 ok lda #gross ;grossschriftmodus
66 sta modus ;einschalten
67 lda #rando
68 exit sta raster
69 jmp $ea7e ;irq beenden