home *** CD-ROM | disk | FTP | other *** search
-
-
- ready.
- 0000 ;*******************
- 0001 ;* highspeed c64 *
- 0002 ;* quellcode *
- 0003 ;* written in 1990 *
- 0004 ;* by lars werner *
- 0005 ;*******************
- 0006 ;
- 0007 *= $02a4
- 0008 .bank $0f
- 0009 .obj m
- 0010 ;
- 0011 rando = 50
- 0012 randu = 250
- 0013 raster = $d012
- 0014 mask = $d01a
- 0015 request = $d019
- 0016 ciarequest = $dc0d
- 0017 ;
- 0018 sei
- 0019 lda $0314 ;alten irq
- 0020 ldx $0315 ;merken
- 0021 sta irqalt
- 0022 stx irqalt+1
- 0023 ;
- 0024 lda #<irqneu ;neuen irq
- 0025 ldx #>irqneu ;setzen
- 0026 sta $0314
- 0027 stx $0315
- 0028 ;
- 0029 lda #rando ;rasterzeilen-irq
- 0030 sta raster ;setzen
- 0031 lda raster-1
- 0032 and #%01111111
- 0033 sta raster-1
- 0034 lda #%10000001
- 0035 sta mask
- 0036 cli
- 0037 rts
- 0038 ;
- 0039 irqneu lda request ;raster-irq-register
- 0040 sta request ;loeschen
- 0041 bmi rasterirq ;auf timer-irq pruefen
- 0042 ; ;wenn aktiv =>rasterirq
- 0043 timerirq lda ciarequest ;timer-irq-register loeschen
- 0044 cli
- 0045 falschezeile jmp (irqalt) ;sprung zum timer-irq
- 0046 ;
- 0047 rasterirq lda raster ;rasterzeile holen
- 0048 cmp #randu ;unterer bildschirmrand ?
- 0049 bcs ok ;wenn erreicht sprung => ok
- 0050 ;
- 0051 lda #252 ;taktfrequenz auf
- 0052 sta $d030 ;1 mhz setzen
- 0053 lda #randu ;neue rasterzeile holen
- 0054 jmp exit ;irq verlassen
- 0055 ;
- 0056 ok lda #253 ;taktfrequenz auf
- 0057 sta $d030 ;2 mhz setzen
- 0058 lda #rando ;neue rasterzeile holen
- 0059 ;
- 0060 exit sta raster ;neue rasterzeile setzen
- 0061 jmp $ea7e ;irq verlassen
- 0062 ;
- 0063 ;
- 0064 irqalt .byte $00,$00
- 0065 ;
- 0066 .end
- 0067
-
- ready.
-