home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
94xx
/
9404b.d64
/
para64.source
< prev
next >
Wrap
Text File
|
1995-03-30
|
10KB
|
545 lines
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
; GENLOC PARALLAXING / PARALLAXDEMO
;
; PROGRAM BY MICHAEL STRELECKI
;
;COPYRIGHT BY MICHAEL STRELECKI IN 1994
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
*= $0900
JMP START
FCE2 LDA #$81
STA $DC0D
LDA #$2F
STA $00
LDA #$37
STA $01
JSR $FDA3
LDX #$1F
FCE4 LDA $FD30,X
STA $0314,X
DEX
BPL FCE4
JMP $FF5B
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
BCOLOUR = $8F00
HIN = $F6
VOR = $F8
READY .BYTE 0
LIMOVE .BYTE 0
REMOVE .BYTE 0
D16 .BYTE 0
D18 .BYTE 0
COLTAKT .BYTE 0
BANK .BYTE 0
SCR2 .BYTE 0
SCR .BYTE 0
PSEU .BYTE 0
SCRFLAG .BYTE 0
COLFLAG .BYTE 0
D18TAB .BYTE 8,$1C
SCREENTAB .BYTE $40,$44
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
START JSR FCE2 ;INIT
LDA #$00
STA $D011
STA $D020
TAX
A0 LDA #$00 ;BEIDE BILDSCHIRME
A1 STA $4000,X ;LOESCHEN
INX
BNE A1
INC A1+2
LDA A1+2
CMP #$48
BCC A0
SEI ;SET IRQ
LDA #$36
STA $01
LDA #$01
STA $D01A
STA $DC0D
LDA #<IRQ
STA $0314
LDA #>IRQ
STA $0315
LDA #$FC
STA $D012
LDA #$00
STA $D011
LDA #$96 ;BANK 1
STA $DD00
JSR PARAINIT
CLI
;DIREKTMODUS
;BERECHNUNG VON COLOURRAM UND SCREEN (!)
WAIT LDA COLFLAG ;COLOURRAM BLITT
BEQ X
JSR COBLIT
X LDA SCRFLAG ;SCREEN BLITTEN?
BEQ WAIT
JSR SCBLIT
JMP WAIT
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
PARAINIT LDA #$08 ;REGISTERINIT
STA PSEU
LDA #$00
STA D16
STA REMOVE
STA LIMOVE
LDA #$40
STA SCR2
LDA #$44
STA SCR
LDA #<$8078 ;STARTPOSITION
STA HIN
LDA #>$8078
STA HIN+1
LDA #<$91F0
STA VOR
LDA #>$91F0
STA VOR+1
LDY #$00 ;SCREENINIT
JSR SINIT
JSR SCBLIT
LDA #$44
STA SCR2
LDA #$40
STA SCR
LDY #$00
JSR SINIT
JSR SCBLIT
JSR COBLIT
LDA #$00
STA READY
LDA #$07
STA $05
SCH JSR REDO
LDA SCRFLAG
BEQ SCH1
JSR SCBLIT
SCH1 LDA COLFLAG
BEQ SCH2
JSR COBLIT
SCH2 DEC $05
BPL SCH
LDA #$40
STA SCR2
LDA #$44
STA SCR
LDA #$00 ;MAINFLAG INIT
STA SCRFLAG
STA COLFLAG
STA READY
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
SCBLIT LDX #17 ;SCREEN BLITTEN
SCH7 LDY #39
VORNE LDA $1111,Y
BNE SCREEN
HINTEN LDA $1111,Y
SCREEN STA $1111,Y
DEY
BPL VORNE
LDA VORNE+1 ;NAECHSTE ZEILEN
CLC
ADC #$68
STA VORNE+1
LDA VORNE+2
ADC #$01
STA VORNE+2
LDA HINTEN+1
CLC
ADC #$C8
STA HINTEN+1
BCC UEB
INC HINTEN+2
UEB LDA SCREEN+1
CLC
ADC #$28
STA SCREEN+1
BCC UEB1
INC SCREEN+2
UEB1 DEX ;ALLE ZEILEN?
BPL SCH7
LDA READY
ORA #$01
STA READY
INX
STX SCRFLAG
OUTI2 RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
BANKSWAP LDA COLFLAG ;SCREENWECHSEL
ORA SCRFLAG
BNE OUTI2
LDA BANK
TAY
EOR #$01
STA BANK
TAX
LDA SCREENTAB,Y
STA SCR
LDA D18TAB,X
STA PSEU
LDA SCREENTAB,X
STA SCR2
LDA #$01 ;IMPULS COLOURRAM
STA COLFLAG
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
COBLIT LDA SCR2 ;COLOURRAM BLITTEN
STA MIX+2
ORA #$02
STA BLOCK2+2
LDA #$D8
STA CRAM+2
LDX #$01
STX $02
DEX
STX COLTAKT
MIX LDY $4000,X
LDA BCOLOUR,Y
CRAM STA $D800,X
INX
BNE MIX
INC MIX+2
INC CRAM+2
DEC $02
BPL MIX ;$0200 BYTES?
BLOCK2 LDY $4200,X ;RESTLICHE $D0
LDA BCOLOUR,Y
STA $DA00,X
INX
CPX #$D0
BNE BLOCK2
LDA #$00
STA COLFLAG
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
SINIT LDA VOR ;BLITROUTINEN INIT
STA VORNE+1
LDA VOR+1
STA VORNE+2
LDA HIN
STA HINTEN+1
LDA HIN+1
STA HINTEN+2
LDA #$00
STA SCREEN+1
LDA SCR
STA SCREEN+2
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
;IRQMODUS
;IMPULSGEBER(!)
IRQ LDA #$0F ;OBERE FARBEN
STA $D021
LDA #$0B
STA $D022
LDA #$0C
STA $D023
JSR MOVING
LDA COLTAKT
CMP #$04
BCC DOFF
LDA #$01 ;IMPULS COLOURRAM
STA COLFLAG
DOFF
LDA D16 ;D16 SOFTSCROLL->
AND #$04 ;D18 SOFTSCROLL
LSR A
ORA PSEU
STA D18
LDA D18
STA $D018
LDA D16
ORA #$10
STA $D016
LDA #$1B
STA $D011
LDA #<IRQ1
STA $0314
LDA #>IRQ1
STA $0315
LDA #$AA
STA $D012
INC $D019
JMP $EA81
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
IRQ1 LDX #$03
X1 DEX
BPL X1
LDA #$0D ;UNTERE FARBEN
STA $D021
LDA #$09
STA $D022
LDA #$0C
STA $D023
LDA #<IRQ
STA $0314
LDA #>IRQ
STA $0315
LDA #$FC
STA $D012
INC $D019
JMP $EA81
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
MOVING LDA REMOVE
ORA LIMOVE
BNE ABFRAGE
LDA COLTAKT
CMP #$02
BCC ABFRAGE
INC COLTAKT
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
JOYSTICK LDX #$00 ;JOYSTICKABFRAGE
STX LIMOVE
STX REMOVE
INC COLTAKT
INX
LDA #$FF
STA $DC00
LDA $DC00
LSR A
LSR A
LSR A
BCS CLIX
STX LIMOVE
LDY #$00
CLIX LSR A
BCS NOJOY
STX REMOVE
LDY #$01
NOJOY RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
ABFRAGE JSR JOYSTICK
LDA REMOVE ;JOYSTICK-AKTION?
BNE REDO
LDA LIMOVE
BNE LIDO0
RTS
LIDO0 JMP LIDO
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
REDO LDA READY ;RECHTS SCROLLEN
BMI ONNI
LDA #$80
STA READY
LDA BANK
BEQ OUTI
INC HIN
BNE OUTI
INC HIN+1
OUTI RTS
ONNI TAY
LDA SCRFLAG
ORA COLFLAG
BNE LINKS
TYA
AND #$01
BNE LINKS
LDA #$01 ;IMPULS SCREEN
STA SCRFLAG
JSR SINIT
LINKS LDA VOR ;RECHTES ENDE?
CMP #$42
BNE DOLINKS
LDA VOR+1
CMP #$92
BNE DOLINKS
LDA #$00
STA REMOVE
RTS
DOLINKS LDA D16 ;SOFTSCROLL
BNE DOOL
TAY
LDA SCRFLAG
ORA COLFLAG
BNE OUTI
TYA
DOOL SEC
SBC #$02
AND #$07
STA D16
CMP #$06
BEQ RHARD
RTS
RHARD LDA READY ;HARDSCROLL?
AND #$01
BEQ BK3
LDA SCRFLAG
ORA COLFLAG
BNE BK3
INC VOR
BNE BK1
INC VOR+1
BK1 LDA BANK
BNE BK2
INC HIN
BNE BK2
INC HIN+1
BK2 LDA #$80
STA READY
JMP BANKSWAP
BK3 LDA #$00
STA D16
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
LIDO LDA READY ;LINKS SCROLLEN
BPL BUM1
LDA BANK
BEQ BUM
LDA HIN
SEC
SBC #$01
STA HIN
BCS BUM
DEC HIN+1
BUM LDA #$00
STA READY
RTS
BUM1 LDY SCRFLAG
BNE RECHTS
AND #$01
BNE RECHTS
LDY #$01 ;IMPULS SCREEN
STY SCRFLAG
JSR SINIT
JSR SETL
RECHTS LDA VOR ;LINKES ENDE?
BNE DORECHTS
LDA VOR+1
CMP #$91
BNE DORECHTS
LDA #$00
STA LIMOVE
OUTI1 RTS
DORECHTS LDA D16 ;SOFTSCROLL
CMP #$06
BNE SCH8
TAY
LDA SCRFLAG
ORA COLFLAG
BNE OUTI1
TYA
SCH8 CLC
ADC #$02
AND #$07
STA D16
BEQ LHARD
RTS
LHARD LDA READY ;HARDSCROLL?
AND #$01
BEQ TUFFY
LDA SCRFLAG
ORA COLFLAG
BNE TUFFY
LDA VOR
SEC
SBC #$01
STA VOR
BCS XENI
DEC VOR+1
XENI
LDA BANK
BNE SCINI
LDA HIN
SEC
SBC #$01
STA HIN
BCS SCINI
DEC HIN+1
SCINI LDA #$00
STA READY
JMP BANKSWAP
TUFFY LDA #$06
STA D16
RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├
SETL LDA VORNE+1
SEC
SBC #$02
STA VORNE+1
BCS POPL
DEC VORNE+2
POPL LDA BANK
BNE POSTY
LDA HINTEN+1
SEC
SBC #$01
STA HINTEN+1
BCS POSTY
DEC HINTEN+2
POSTY RTS
;├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├├