home *** CD-ROM | disk | FTP | other *** search
- 29545 TING 3:
-
- SEI
- LDX #$00 ;eRSTELLEN
- :MAKTABTXA ;EINER
- CLC ;fUNKTIONSTABELLE
- ADC #$01 ;FforR
- AND #$07 ;DIE
- ORA #$38 ;sPEICHERSTELLEN
- STA TB11,X ;$D011 UND
- TXA ;$D018
- ADC #$01
- ASL
- ASL
- ASL
- ASL
- ORA #$08
- AND #$7F
- STA TB18,X
- INX
- CPX #200 ;200 rASTERZEILEN ?
- BNE MAKTAB
- LDA #$70 ;LETZTE zEILE KEIN dma
- STA TB11+199 ;UND rESTZEILEN SCHWARZ
- LDA #$08
- STA TB18+199
- LDA #<NEUIRQ ;irq-vEKTOR
- LDX #>NEUIRQ ;VERBIEGEN
- STA $0314
- STX $0315
- LDA #$1B
- STA $D011 ;$D011-INIT
- LDA #$18
- STA $D016 ;mc-EIN
- LDA #$00
- STA $D015 ;sPRITE-rEGISTER LsaveSCHEN
- STA $D020
- STA $D021
- STA $DC0E ;tIMER-sTOP
- LDA #$4C ;NEUEN tIMERWERT FforR DEN
- STA $DC05 ;ERSTEN irq SETZEN
- LDA #$C7-63
- STA $DC04
-
- :WAIT1LDA $D011 ;AUF zEILE $030 WARTEN
- BPL WAIT1
-
- :WAIT2LDA $D011
- BMI WAIT2
-
- LDA #$30
- :WAIT3CMP $D012
- BNE WAIT3
-
- LDX #$11 ;sYNCHRONISATION DES
- LDA #$18 ;tIMERS AUF IMMER DIESELBE
- STA $D011 ;HORIZONTALE pOSITION DURCH
- STX $DC0E ;dma-zYKLEN-aUSGLEICH
- LDA #$3B
- STA $D011
- LDA $DC0D ;irq-fLAG LsaveSCHEN
- LDA $DD00 AND #$FC
- ORA #$02
- STA $DD00 ;bANK 1 EIN
- CLI
- RTS
-
- :NEUIRQLDA #$9F ;mAXIMALWERT DER VERGANGENEN
- SEC ;zYKLEN VERGLEICHEN
- SBC $DC04
- CMP #$0B
- BCC OK
- JMP SYNCERR;ZUVIELE zYKLEN
-
- :OKLSR;HALBIEREN
- BCC ONECYCLE
- STA RESTCYCLE+1
-
- :RESTCYCLEBPL RESTCYCLE ;zEITAUSGLEICH DURCH
- NOP ;aNZAHL DER nopS
- NOP
- NOP
- NOP
- NOP
- NOP
- LDA #$30 ;hIRES DISPLAY
- STA $D011 ;UND 1. dma IN zEILE $030
-
- NOP;6 zYKLEN WARTEN
- NOP
- NOP
-
- LDX #$00 ;eRZEUGUNG
- LDA TB18,X ;VON
- STA $D018 ;200 dma-zEILEN
- LDA TB11,X
- STA $D011
- INX
- CPX #200
- BNE HAMLOOP
-
- :BACKJMP $EA31 ;ALTE irq-rOUTINE
-
- :SYNCERRLDA #$4C ;tIMER AUF EXACT
- STA $DC05;EINEN bILDSCHIRM-
- LDA #$C7 ;DURCHLAUF EINSTELLEN
- STA $DC04
- JMP BACK
-