home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 94xx / 9404b.d64 / para64.source < prev    next >
Text File  |  1995-03-30  |  10KB  |  545 lines

  1. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  2. ;   GENLOC PARALLAXING / PARALLAXDEMO
  3. ;
  4. ;     PROGRAM BY MICHAEL STRELECKI
  5. ;
  6. ;COPYRIGHT BY MICHAEL STRELECKI IN 1994
  7. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  8.  
  9.  
  10.          *= $0900
  11.          JMP START
  12.  
  13. FCE2     LDA #$81
  14.          STA $DC0D
  15.          LDA #$2F
  16.          STA $00
  17.          LDA #$37
  18.          STA $01
  19.          JSR $FDA3
  20.          LDX #$1F
  21. FCE4     LDA $FD30,X
  22.          STA $0314,X
  23.          DEX
  24.          BPL FCE4
  25.          JMP $FF5B
  26.  
  27. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  28.  
  29. BCOLOUR  = $8F00
  30. HIN      = $F6
  31. VOR      = $F8
  32.  
  33. READY    .BYTE 0
  34. LIMOVE   .BYTE 0
  35. REMOVE   .BYTE 0
  36. D16      .BYTE 0
  37. D18      .BYTE 0
  38. COLTAKT  .BYTE 0
  39. BANK     .BYTE 0
  40. SCR2     .BYTE 0
  41. SCR      .BYTE 0
  42. PSEU     .BYTE 0
  43. SCRFLAG  .BYTE 0
  44. COLFLAG  .BYTE 0
  45.  
  46. D18TAB   .BYTE 8,$1C
  47. SCREENTAB .BYTE $40,$44
  48.  
  49.  
  50. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  51.  
  52. START    JSR FCE2    ;INIT
  53.          LDA #$00
  54.          STA $D011
  55.          STA $D020
  56.          TAX
  57.  
  58. A0       LDA #$00    ;BEIDE BILDSCHIRME
  59. A1       STA $4000,X ;LOESCHEN
  60.          INX
  61.          BNE A1
  62.          INC A1+2
  63.          LDA A1+2
  64.          CMP #$48
  65.          BCC A0
  66.  
  67.          SEI         ;SET IRQ
  68.          LDA #$36
  69.          STA $01
  70.          LDA #$01
  71.          STA $D01A
  72.          STA $DC0D
  73.          LDA #<IRQ
  74.          STA $0314
  75.          LDA #>IRQ
  76.          STA $0315
  77.          LDA #$FC
  78.          STA $D012
  79.          LDA #$00
  80.          STA $D011
  81.          LDA #$96    ;BANK 1
  82.          STA $DD00
  83.          JSR PARAINIT
  84.          CLI
  85.  
  86.  
  87. ;DIREKTMODUS
  88. ;BERECHNUNG VON COLOURRAM UND SCREEN (!)
  89.  
  90. WAIT     LDA COLFLAG    ;COLOURRAM BLITT
  91.          BEQ X
  92.          JSR COBLIT
  93. X        LDA SCRFLAG    ;SCREEN BLITTEN?
  94.          BEQ WAIT
  95.          JSR SCBLIT
  96.          JMP WAIT
  97.  
  98. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  99.  
  100. PARAINIT LDA #$08    ;REGISTERINIT
  101.          STA PSEU
  102.          LDA #$00
  103.          STA D16
  104.          STA REMOVE
  105.          STA LIMOVE
  106.          LDA #$40
  107.          STA SCR2
  108.          LDA #$44
  109.          STA SCR
  110.  
  111.          LDA #<$8078 ;STARTPOSITION
  112.          STA HIN
  113.          LDA #>$8078
  114.          STA HIN+1
  115.          LDA #<$91F0
  116.          STA VOR
  117.          LDA #>$91F0
  118.          STA VOR+1
  119.  
  120.          LDY #$00    ;SCREENINIT
  121.          JSR SINIT
  122.          JSR SCBLIT
  123.          LDA #$44
  124.          STA SCR2
  125.          LDA #$40
  126.          STA SCR
  127.          LDY #$00
  128.          JSR SINIT
  129.          JSR SCBLIT
  130.          JSR COBLIT
  131.          LDA #$00
  132.          STA READY
  133.          LDA #$07
  134.          STA $05
  135. SCH      JSR REDO
  136.          LDA SCRFLAG
  137.          BEQ SCH1
  138.          JSR SCBLIT
  139. SCH1     LDA COLFLAG
  140.          BEQ SCH2
  141.          JSR COBLIT
  142. SCH2     DEC $05
  143.          BPL SCH
  144.          LDA #$40
  145.          STA SCR2
  146.          LDA #$44
  147.          STA SCR
  148.          LDA #$00    ;MAINFLAG INIT
  149.          STA SCRFLAG
  150.          STA COLFLAG
  151.          STA READY
  152.          RTS
  153.  
  154. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  155.  
  156. SCBLIT   LDX #17     ;SCREEN BLITTEN
  157. SCH7     LDY #39
  158. VORNE    LDA $1111,Y
  159.          BNE SCREEN
  160. HINTEN   LDA $1111,Y
  161. SCREEN   STA $1111,Y
  162.          DEY
  163.          BPL VORNE
  164.  
  165.          LDA VORNE+1 ;NAECHSTE ZEILEN
  166.          CLC
  167.          ADC #$68
  168.          STA VORNE+1
  169.          LDA VORNE+2
  170.          ADC #$01
  171.          STA VORNE+2
  172.  
  173.          LDA HINTEN+1
  174.          CLC
  175.          ADC #$C8
  176.          STA HINTEN+1
  177.          BCC UEB
  178.          INC HINTEN+2
  179.  
  180. UEB      LDA SCREEN+1
  181.          CLC
  182.          ADC #$28
  183.          STA SCREEN+1
  184.          BCC UEB1
  185.          INC SCREEN+2
  186.  
  187. UEB1     DEX         ;ALLE ZEILEN?
  188.          BPL SCH7
  189.  
  190.          LDA READY
  191.          ORA #$01
  192.          STA READY
  193.          INX
  194.          STX SCRFLAG
  195. OUTI2    RTS
  196.  
  197. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  198.  
  199. BANKSWAP LDA COLFLAG ;SCREENWECHSEL
  200.          ORA SCRFLAG
  201.          BNE OUTI2
  202.          LDA BANK
  203.          TAY
  204.          EOR #$01
  205.          STA BANK
  206.          TAX
  207.          LDA SCREENTAB,Y
  208.          STA SCR
  209.          LDA D18TAB,X
  210.          STA PSEU
  211.          LDA SCREENTAB,X
  212.          STA SCR2
  213.          LDA #$01    ;IMPULS COLOURRAM
  214.          STA COLFLAG
  215.          RTS
  216.  
  217. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  218.  
  219. COBLIT   LDA SCR2    ;COLOURRAM BLITTEN
  220.          STA MIX+2
  221.          ORA #$02
  222.          STA BLOCK2+2
  223.          LDA #$D8
  224.          STA CRAM+2
  225.          LDX #$01
  226.          STX $02
  227.          DEX
  228.          STX COLTAKT
  229. MIX      LDY $4000,X
  230.          LDA BCOLOUR,Y
  231. CRAM     STA $D800,X
  232.          INX
  233.          BNE MIX
  234.          INC MIX+2
  235.          INC CRAM+2
  236.          DEC $02
  237.          BPL MIX     ;$0200 BYTES?
  238.  
  239. BLOCK2   LDY $4200,X ;RESTLICHE $D0
  240.          LDA BCOLOUR,Y
  241.          STA $DA00,X
  242.          INX
  243.          CPX #$D0
  244.          BNE BLOCK2
  245.          LDA #$00
  246.          STA COLFLAG
  247.          RTS
  248.  
  249. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  250.  
  251. SINIT    LDA VOR     ;BLITROUTINEN INIT
  252.          STA VORNE+1
  253.          LDA VOR+1
  254.          STA VORNE+2
  255.          LDA HIN
  256.          STA HINTEN+1
  257.          LDA HIN+1
  258.          STA HINTEN+2
  259.          LDA #$00
  260.          STA SCREEN+1
  261.          LDA SCR
  262.          STA SCREEN+2
  263.          RTS
  264.  
  265. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  266. ;IRQMODUS
  267. ;IMPULSGEBER(!)
  268.  
  269.  
  270. IRQ      LDA #$0F    ;OBERE FARBEN
  271.          STA $D021
  272.          LDA #$0B
  273.          STA $D022
  274.          LDA #$0C
  275.          STA $D023
  276.  
  277.          JSR MOVING
  278.  
  279.          LDA COLTAKT
  280.          CMP #$04
  281.          BCC DOFF
  282.          LDA #$01    ;IMPULS COLOURRAM
  283.          STA COLFLAG
  284. DOFF
  285.          LDA D16     ;D16 SOFTSCROLL->
  286.          AND #$04    ;D18 SOFTSCROLL
  287.          LSR A
  288.          ORA PSEU
  289.          STA D18
  290.  
  291.          LDA D18
  292.          STA $D018
  293.          LDA D16
  294.          ORA #$10
  295.          STA $D016
  296.  
  297.          LDA #$1B
  298.          STA $D011
  299.          LDA #<IRQ1
  300.          STA $0314
  301.          LDA #>IRQ1
  302.          STA $0315
  303.          LDA #$AA
  304.          STA $D012
  305.          INC $D019
  306.          JMP $EA81
  307.  
  308. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  309.  
  310. IRQ1     LDX #$03
  311. X1       DEX
  312.          BPL X1
  313.          LDA #$0D    ;UNTERE FARBEN
  314.          STA $D021
  315.          LDA #$09
  316.          STA $D022
  317.          LDA #$0C
  318.          STA $D023
  319.  
  320.          LDA #<IRQ
  321.          STA $0314
  322.          LDA #>IRQ
  323.          STA $0315
  324.          LDA #$FC
  325.          STA $D012
  326.          INC $D019
  327.          JMP $EA81
  328.  
  329. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  330.  
  331. MOVING   LDA REMOVE
  332.          ORA LIMOVE
  333.          BNE ABFRAGE
  334.          LDA COLTAKT
  335.          CMP #$02
  336.          BCC ABFRAGE
  337.          INC COLTAKT
  338.          RTS
  339.  
  340. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  341.  
  342. JOYSTICK LDX #$00    ;JOYSTICKABFRAGE
  343.          STX LIMOVE
  344.          STX REMOVE
  345.          INC COLTAKT
  346.          INX
  347.          LDA #$FF
  348.          STA $DC00
  349.          LDA $DC00
  350.          LSR A
  351.          LSR A
  352.          LSR A
  353.          BCS CLIX
  354.          STX LIMOVE
  355.          LDY #$00
  356. CLIX     LSR A
  357.          BCS NOJOY
  358.          STX REMOVE
  359.          LDY #$01
  360. NOJOY    RTS
  361.  
  362. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  363.  
  364. ABFRAGE  JSR JOYSTICK
  365.          LDA REMOVE  ;JOYSTICK-AKTION?
  366.          BNE REDO
  367.          LDA LIMOVE
  368.          BNE LIDO0
  369.          RTS
  370. LIDO0    JMP LIDO
  371.  
  372. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  373.  
  374. REDO     LDA READY   ;RECHTS SCROLLEN
  375.          BMI ONNI
  376.          LDA #$80
  377.          STA READY
  378.          LDA BANK
  379.          BEQ OUTI
  380.          INC HIN
  381.          BNE OUTI
  382.          INC HIN+1
  383. OUTI     RTS
  384.  
  385.  
  386. ONNI     TAY
  387.          LDA SCRFLAG
  388.          ORA COLFLAG
  389.          BNE LINKS
  390.          TYA
  391.          AND #$01
  392.          BNE LINKS
  393.          LDA #$01    ;IMPULS SCREEN
  394.          STA SCRFLAG
  395.          JSR SINIT
  396.  
  397. LINKS    LDA VOR     ;RECHTES ENDE?
  398.          CMP #$42
  399.          BNE DOLINKS
  400.          LDA VOR+1
  401.          CMP #$92
  402.          BNE DOLINKS
  403.          LDA #$00
  404.          STA REMOVE
  405.          RTS
  406.  
  407. DOLINKS  LDA D16     ;SOFTSCROLL
  408.          BNE DOOL
  409.          TAY
  410.          LDA SCRFLAG
  411.          ORA COLFLAG
  412.          BNE OUTI
  413.          TYA
  414. DOOL     SEC
  415.          SBC #$02
  416.          AND #$07
  417.          STA D16
  418.          CMP #$06
  419.          BEQ RHARD
  420.          RTS
  421.  
  422.  
  423. RHARD    LDA READY   ;HARDSCROLL?
  424.          AND #$01
  425.          BEQ BK3
  426.          LDA SCRFLAG
  427.          ORA COLFLAG
  428.          BNE BK3
  429.          INC VOR
  430.          BNE BK1
  431.          INC VOR+1
  432. BK1      LDA BANK
  433.          BNE BK2
  434.          INC HIN
  435.          BNE BK2
  436.          INC HIN+1
  437. BK2      LDA #$80
  438.          STA READY
  439.          JMP BANKSWAP
  440.  
  441. BK3      LDA #$00
  442.          STA D16
  443.          RTS
  444.  
  445. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  446.  
  447. LIDO     LDA READY   ;LINKS SCROLLEN
  448.          BPL BUM1
  449.          LDA BANK
  450.          BEQ BUM
  451.          LDA HIN
  452.          SEC
  453.          SBC #$01
  454.          STA HIN
  455.          BCS BUM
  456.          DEC HIN+1
  457. BUM      LDA #$00
  458.          STA READY
  459.          RTS
  460.  
  461. BUM1     LDY SCRFLAG
  462.          BNE RECHTS
  463.          AND #$01
  464.          BNE RECHTS
  465.          LDY #$01    ;IMPULS SCREEN
  466.          STY SCRFLAG
  467.          JSR SINIT
  468.          JSR SETL
  469.  
  470. RECHTS   LDA VOR     ;LINKES ENDE?
  471.          BNE DORECHTS
  472.          LDA VOR+1
  473.          CMP #$91
  474.          BNE DORECHTS
  475.          LDA #$00
  476.          STA LIMOVE
  477. OUTI1    RTS
  478.  
  479.  
  480. DORECHTS LDA D16     ;SOFTSCROLL
  481.          CMP #$06
  482.          BNE SCH8
  483.          TAY
  484.          LDA SCRFLAG
  485.          ORA COLFLAG
  486.          BNE OUTI1
  487.          TYA
  488. SCH8     CLC
  489.          ADC #$02
  490.          AND #$07
  491.          STA D16
  492.          BEQ LHARD
  493.          RTS
  494.  
  495. LHARD    LDA READY   ;HARDSCROLL?
  496.          AND #$01
  497.          BEQ TUFFY
  498.          LDA SCRFLAG
  499.          ORA COLFLAG
  500.          BNE TUFFY
  501.  
  502.          LDA VOR
  503.          SEC
  504.          SBC #$01
  505.          STA VOR
  506.          BCS XENI
  507.          DEC VOR+1
  508. XENI
  509.          LDA BANK
  510.          BNE SCINI
  511.          LDA HIN
  512.          SEC
  513.          SBC #$01
  514.          STA HIN
  515.          BCS SCINI
  516.          DEC HIN+1
  517. SCINI    LDA #$00
  518.          STA READY
  519.          JMP BANKSWAP
  520.  
  521. TUFFY    LDA #$06
  522.          STA D16
  523.          RTS
  524.  
  525. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  526.  
  527. SETL     LDA VORNE+1
  528.          SEC
  529.          SBC #$02
  530.          STA VORNE+1
  531.          BCS POPL
  532.          DEC VORNE+2
  533. POPL     LDA BANK
  534.          BNE POSTY
  535.          LDA HINTEN+1
  536.          SEC
  537.          SBC #$01
  538.          STA HINTEN+1
  539.          BCS POSTY
  540.          DEC HINTEN+2
  541. POSTY    RTS
  542.  
  543. ;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
  544.  
  545.