home *** CD-ROM | disk | FTP | other *** search
/ Go64! / Go64_2001-09_2001_CSW_Side_A.d64 / scpu-fli.src < prev    next >
Text File  |  2023-02-26  |  4KB  |  120 lines

  1.  
  2.  
  3.               ORG $3A00
  4.  
  5.  
  6.  
  7. JMP_IN:
  8.  
  9.               SEI           ; iNTERRUPTS SPERREN
  10.  
  11.               LDA #$35
  12.  
  13.               STA $01       ; romS AUS, i/o AN
  14.  
  15.               CLC
  16.  
  17.               XCE           ; nATIVE-mODE AN
  18.  
  19.               SEP #$30      ; 8-bIT-rEGISTER
  20.  
  21.               STA $D07B     ; scpu AUF 20mHZ
  22.  
  23.               STA $D07E
  24.  
  25.               STA $D075
  26.  
  27.               STA $D07F     ; oPTIMIERE $4000-$7fff
  28.  
  29.  
  30.  
  31.               LDA #$7F
  32.  
  33.               STA $DC0D
  34.  
  35.               STA $DD0D
  36.  
  37.               LDA $DC0D
  38.  
  39.               LDA $DD0D     ; vERHINDERE cia-irq/nmi
  40.  
  41.               LDX #$11
  42.  
  43.               CPX $D012
  44.  
  45.               BNE *-3       ; AUF zEILE $11 WARTEN
  46.  
  47.               LDA #$3E
  48.  
  49.               STA $DD06     ; tIMER AUF $003E SETZEN
  50.  
  51.               STZ $DD07     ; = dAUER EINER pal-rASTERZEILE
  52.  
  53.               CPX $D012
  54.  
  55.               BEQ *-3       ; WARTEN AUF NAECHSTE zEILE
  56.  
  57.               LSR $D41C     ;
  58.  
  59.               LSR $D41C     ;
  60.  
  61.               LSR $D41C     ; EIN WENIG VERZOEGERN
  62.  
  63.               STX $DD0F     ; tIMER STARTEN!
  64.  
  65.  
  66.  
  67.               LDA $DD00
  68.  
  69.               AND #$FC
  70.  
  71.               ORA #$02
  72.  
  73.               DEC $DD00     ; gRAFIK-bANK SETZEN
  74.  
  75.               LDA #$18
  76.  
  77.               STA $D016     ; mULTI-cOLOR-mODUS AN
  78.  
  79.               LDA #$31
  80.  
  81.               STA CNT       ; zAEHLER INITIALISIEREN
  82.  
  83.               REP #$30      ; 16-bIT-rEGISTER
  84.  
  85.               LDX #$3C00
  86.  
  87.               LDY #$D800
  88.  
  89.               LDA #$03E7
  90.  
  91.               MVN $00,$00   ; fARB-ram DES bILDES KOPIEREN
  92.  
  93.               STZ $D020     ; rAHMEN + hINTERGRUND AUF SCHWARZ
  94.  
  95.               LDA #IRQ
  96.  
  97.               STA $FFEE     ; irq-vEKTOR AUF UNSERE rOUTINE
  98.  
  99.               LDA #RTI
  100.  
  101.               STA $FFEA     ; UND nmi-vEKTOR AUF EIN rti UMBIEGEN
  102.  
  103.               LDA #$3138
  104.  
  105.               STA $D011
  106.  
  107.               LDA #$017F
  108.  
  109.               STA $D019     ; vic-irq SETZEN
  110.  
  111.               CLI           ; iNTERRUPTS ZULASSEN
  112.  
  113. ENDLESS:
  114.  
  115.               INC $07E6
  116.  
  117.               LDA ($00,S),Y
  118.  
  119.               LDA $D000
  120.  
  121.               ORA $DC00
  122.  
  123.               STA $028000   ; bEFEHLE MIT UNTERSCHIEDLICHER zYKLENZAHL
  124.  
  125.               STAL ($57),Y  ; NUR ZUM tESTEN
  126.  
  127.               ASL $DC01     ; run/stop GEDRUECKT?
  128.  
  129.               BCS ENDLESS   ; WENN NICHT, DANN WEITER
  130.  
  131.               SEI
  132.  
  133.               SEP #$30
  134.  
  135.               SEC
  136.  
  137.               XCE
  138.  
  139.               LDA #$37
  140.  
  141.               STA $01
  142.  
  143.               JMP ($FFFC)   ; SONST rESET
  144.  
  145.  
  146.  
  147. IRQ:
  148.  
  149.               PHA
  150.  
  151.               PHX
  152.  
  153.               PHP               ; rEGISTER UND pROZESSOR-fLAG RETTEN
  154.  
  155.               SEP #$30          ; NUR 8 bIT-rEGISTER
  156.  
  157.               LDX $DD06         ; tIMER-wERT HOLEN, BZW...
  158.  
  159.               LDA STABLE_TAB,X  ; DARAUS RESULTIERENDEN vERZOEGERUNGSWERT
  160.  
  161.               DEC
  162.  
  163.               BPL *-1           ; UND VERZOEGERN
  164.  
  165.               LDA CNT           ; zAEHLER HOLEN
  166.  
  167.               AND #7            ; UNTERE 3 bIT ALS iNDEX
  168.  
  169.               TAX               ; SETZEN
  170.  
  171.               LDA D018_TAB,X
  172.  
  173.               STA $D018         ; $d018 BESCHREIBEN
  174.  
  175.               LDA D011_TAB,X    ; $d011-wERT HOLEN
  176.  
  177.               LDX CNT
  178.  
  179.               INX               ; zAEHLER ERHOEHEN
  180.  
  181.               STA $D011         ; JETZT ERST $d011 BESCHREIBEN
  182.  
  183.               CPX #$F9          ; bILDSCHIRMENDE?
  184.  
  185.               BNE IRQ_X
  186.  
  187.               LDX #$31          ; JA, DANN zAEHLER AUF aNFANG
  188.  
  189. IRQ_X:
  190.  
  191.               STX CNT           ; zAEHLER SCHREIBEN
  192.  
  193.               STX $D012         ; rASTERLINE FUER NEUEN irq SETZEN
  194.  
  195.               LDA #1
  196.  
  197.               STA $D019         ; irq BESTAETIGEN
  198.  
  199.                LDA #$A0         ; wARTESCHLEIFE, DIE ZEIGEN
  200.  
  201.                DEC              ; SOLL, DASS DIE scpu NICHT
  202.  
  203.                BNE *-1          ; DURCH DIE bADLINE BLOCKIERT IST.
  204.  
  205.                STX $D020        : ZUM bEWEIS KLEINEN fARBBALKEN
  206.  
  207.                STZ $D020        ; ERZEUGEN
  208.  
  209.               PLP
  210.  
  211.               PLX
  212.  
  213.               PLA               ; rEGISTER UND pROZESSOR-fLAG HOLEN
  214.  
  215. RTI:          RTI               ; UND TSCHUESS...
  216.  
  217.  
  218.  
  219. CNT:          BYT 0             ; zAEHLER, MUSS IM NICHT GEMIRRORTEN
  220.  
  221.                                 ; sram LIEGEN!
  222.  
  223. STABLE_TAB:
  224.  
  225.               BYT $FF,3,7,11,15,19,23,27
  226.  
  227.         ;          ^ X=0 SOLLTE NICHT AUFTRETEN
  228.  
  229. D018_TAB:
  230.  
  231.               BYT $08,$18,$28,$38,$48,$58,$68,$78
  232.  
  233. D011_TAB:
  234.  
  235.               BYT $30,$39,$3A,$3B,$3C,$3D,$3E,$3F
  236.  
  237.         ;          ^ bIT 3=0, DAMIT uP/dOWN-bORDER OFFEN IST
  238.  
  239.