home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ANG-Pokey Magazine 3
/
ANG_Pokey_Magazine_03_1993_01_ANG_Software_nl_Side_B.atr
/
arcdocs.arc
/
EXPO.SRC
< prev
next >
Wrap
Text File
|
1988-09-01
|
6KB
|
606 lines
* - ATARI EXPO DEMO 1991 -
* DONE BY FRANKENSTEIN!
ORG $B600
MUSIX EQU $B003
MUNEW EQU $B000
BEGGB EQU $4000
ENDGB EQU $4800
BEGNL EQU $4800
ENDNL EQU $5000-20
XOSS EQU $8C00
SAMPLE EQU $8900
PMB EQU $2400
PM4 EQU PMB+$180
SCROL EQU $4000
MAINDL EQU $2000
RESTDL EQU 192+3 ;64*3
NMIVKT EQU $FFFA
WAVE EQU $0600
PICTURE EQU $9000+16
PICEND EQU PICTURE+8040
DLZP EQU $F0 (AND $F1)
PICZP EQU $F2 (AND $F3)
X EQU $F4 (AND $F5)
Y EQU $F6 (AND $F7)
BITS EQU $F8
WAVTEL EQU $F9
BEGIN EQU $FA (AND $FB)
DUMTEL EQU $FC
OLDY EQU $FD
NEWY EQU $FE
PICOL0 EQU $24
PICOL1 EQU $56
PICOL2 EQU $78
WAVLEN EQU 90
BEGHI EQU $B4
ENDHI EQU $BA
PROGRAM JSR RIEZET
* FIRST MAKE A FEASIBLE DL!
JSR MUNEW
LDA #0
STA 559
LDA #1
STA $220
IBM LDA $220
BNE IBM
* INIT. SCROLLER (GB)
LDA #BEGGB:L
STA SCRLO
STA SCRLO2
LDA #BEGGB:H
STA SCRLO+1
STA SCRLO2+1
LDX #0
LDA #255
FILMSL STA PM4,X
INX
BPL FILMSL
LDA #3
STA 53277
LDA #PMB:H
STA 54279
LDA #$FF
STA $D00C
* MAKE MAIN DL (128 SCAN LINES)
JSR INITDL
LDA #PICTURE:L
STA PICZP
LDA #PICTURE:H
STA PICZP+1
LDX #0 ;1ST LINE
NOEND LDY #0
LDA #$4E
STA (DLZP),Y ;LMS
INY
LDA PICZP ;LO
STA (DLZP),Y
INY
LDA PICZP+1 ;HI
STA (DLZP),Y
* ADD 3 BYTES, NEXT DL INSTRUCTION
LDA DLZP
CLC
ADC #3
STA DLZP
LDA DLZP+1
ADC #0
STA DLZP+1
* ADD 40 BYTES, NEXT PICTURE LINE
LDA PICZP
CLC
ADC #40
STA PICZP
LDA PICZP+1
ADC #0
STA PICZP+1
INX
CPX #192
BNE NOEND
* TO END OF DL
LDA #$01
STA MAINDL+576
LDA #ENDL:L
STA MAINDL+577
LDA #ENDL:H
STA MAINDL+578
* SOME OTHER THINGS....
LDA #0
STA WAVTEL
STA DUMTEL
STA OLDJMP
STA NEWJMP
JSR GETNEW
STA $D40E
STA $D20E
LDA #$FE
STA $D301
LDA #NMI:L
STA NMIVKT
LDA #NMI:H
STA NMIVKT+1
LDA #DLI
STA $200
LDA #DLI/256
STA $201
LDA #46
STA 559
LDA #$C0
STA $D40E
BOVEN LDA #PICOL0
STA $D016
LDA #PICOL1
STA $D017
LDA #PICOL2
STA $D018
JMP LOOP
* MAIN LOOP
LOOP LDA $D40B
BEQ BOVEN
CMP #44
BCC LOOP
CMP #44+32
BCS GROTER
LDA #4
STA $D40A
STA $D016
LDA #6
STA $D017
LDA #10
STA $D018
JMP LOOP
GROTER LDA #$74
STA $D40A
STA $D016
LDA #$76
STA $D017
LDA #$78
STA $D018
LDA $D01F
CMP #5
BNE NSEL
LDA #BEGNL:L
STA SCRLO
STA SCRLO2
LDA #BEGNL:H
STA SCRLO+1
STA SCRLO2+1
JMP LOOP
NSEL CMP #3
BNE NOPT
LDA #BEGGB:L
STA SCRLO
STA SCRLO2
LDA #BEGGB:H
STA SCRLO+1
STA SCRLO2+1
JMP LOOP
NOPT CMP #6
BNE LOOP
LDA SCRLO
BPL LOOP
LDA SCRLO+1
CMP #BEGNL/256+7
BEQ TOEGANG
LDA SCRLO+1
CMP #BEGGB/256+7
BEQ TOEGANG
JMP LOOP
TOEGANG LDA #0
STA $D40E
STA $D20E
STA $D400
LDX #8
STILTE STA $D200,X
STA $D000,X
DEX
BPL STILTE
JMP SAMPLE
NMI PHA
TXA
PHA
TYA
PHA
BIT $D40F
BPL VBLANK
JMP ($200)
VBLANK STA $D40F
LDA WAVTEL
BNE ISWAVE
INC DUMTEL
LDA DUMTEL
* CMP #32
BNE NMIEND
ISWAVE LDA NEWJMP
STA OLDJMP
LDX WAVTEL
LDA WAVE,X
STA NEWJMP
* INX
INX
CPX #WAVLEN
BNE BOEHOE
LDX #0
DEC DUMTEL
BOEHOE STX WAVTEL
JSR PUGEPU
NMIEND LDA 559
STA $D400
LDA #DL:L
STA $D402
LDA #DL:H
STA $D403
LDA #DLI:L
STA $200
LDA #DLI:H
STA $201
LDA #PICOL0
STA $D016
LDA #PICOL1
STA $D017
LDA #PICOL2
STA $D018
LDA #0
STA $D01A
LDA #2
STA $D401
LDA #XOSS:H
STA $D409
LDA #1+16
STA $D01B
JSR SCRLR
LDA SMT
STA $D404
LDA SCRLO
STA SCRLO2
LDA SCRLO+1
STA SCRLO2+1
JSR MUSIX
LDA #8
STA $D01F
EXITDLI PLA
TAY
PLA
TAX
PLA
RTI
DLI LDX #0
LDA #$28
STA $D004
LDA #$30
STA $D005
LDA #$C8
STA $D006
LDA #$D0
STA $D007
ALCOL LDA TUBCOL2,X
STA $D40A
STA $D01A
LDA TUBCOL,X
STA $D019
EOR #$90
STA $D016
INX
CPX #32
BNE ALCOL
LDA #6
STA $D401
ALC2 LDA TUBCOL2,X
STA $D40A
STA $D01A
LDA TUBCOL,X
STA $D019
STA $D016
INX
CPX #63
BNE ALC2
* LDA #PICOL0
* STA $D016
* LDA #PICOL2
* STA $D018
LDA #0
STA $D004
STA $D005
STA $D006
STA $D007
LDA #DLI2:L
STA $200
LDA #DLI2:H
STA $201
JMP EXITDLI
DLI2 LDA #2
STA $D401
LDX #0
TXA
ZOEWART STA $D40A
STA $D018
INX
CPX #8
BNE ZOEWART
JMP EXITDLI
* PUT OLD DMA INTRUCTION
PUGEPU LDA OLDJMP
JSR MULTI
LDA X
CLC
ADC #MAINDL:L
STA X
LDA X+1
ADC #MAINDL:H
STA X+1
LDY #0
LDA OLDMA
STA (X),Y
INY
LDA OLDMA+1
STA (X),Y
INY
LDA OLDMA+2
STA (X),Y
* GET NEW DMA INTRUCTION
GETNEW LDA NEWJMP
JSR MULTI
LDA X
CLC
ADC #MAINDL:L
STA X
LDA X+1
ADC #MAINDL:H
STA X+1
LDY #0
LDA (X),Y
STA OLDMA
INY
LDA (X),Y
STA OLDMA+1
INY
LDA (X),Y
STA OLDMA+2
* PUT JMP INSTRUCTION
LDY #0
LDA #1 ;DL JUMP
STA (X),Y
INY
LDA #TUBEDL:L ;LO
STA (X),Y
INY
LDA #TUBEDL:H ;HI
STA (X),Y
LDA X
CLC
ADC #RESTDL:L
STA RESTJMP
LDA X+1
ADC #RESTDL:H
STA RESTJMP+1
RTS
* MULTIPLY X WITH 3 (X=X*3)
MULTI STA X
LDA #3
STA Y
LDA #0
STA Y+1
STA X+1
LDA #16
STA BITS
LDX #0
LDY #0
LABEL1 DEC BITS
BPL LABEL2
STX X
STY X+1
RTS
LABEL2 LSR Y+1
ROR Y
BCC LABEL3
CLC
TXA
ADC X
TAX
TYA
ADC X+1
TAY
LABEL3 ASL X
ROL X+1
JMP LABEL1
INITDL LDA #MAINDL:L
STA DLZP
LDA #MAINDL:H
STA DLZP+1
RTS
* ENGELS/NEDERLANDS SCROLLER
SCRLR DEC SMT
LDA SMT
BPL NOTHIN
LDA #7
STA SMT
INC SCRLO
BNE NOSHI
INC SCRLO+1
NOSHI LDA SCRLO
CMP #ENDNL:L
BNE MOOINI
LDA SCRLO+1
CMP #ENDNL:H
BNE MOOINI
* NEDERLANDSE TEXT OPNIEUW
LDA #BEGNL:L
STA SCRLO
LDA #BEGNL:H
STA SCRLO+1
NOTHIN RTS
MOOINI LDA SCRLO
CMP #ENDGB:L
BNE NOTHIN
LDA SCRLO+1
CMP #ENDGB:H
BNE NOTHIN
* ENGELSE TEXT OPNIEUW
LDA #BEGGB:L
STA SCRLO
LDA #BEGGB:H
STA SCRLO+1
RTS
* RIEZET VEC.
RIEZET LDA #0
STA 580
LDA #2
STA 9
LDA #PROGRAM:L
STA 2
LDA #PROGRAM:H
STA 3
RTS
* START DL
DL DFB 112,112,16
DFB 1
DFW MAINDL
* 8 LINES SCROL TUBE DL
TUBEDL DFB 128,112,96 ;1.5
DFB $47+16 ;2
SCRLO DFW SCROL
DFB 64 ;1
DFB $46+16 ;2
SCRLO2 DFW SCROL
DFB 112,96,32 ;1.5
DFB 1
RESTJMP DFW RESTDL
ENDL DFB 0,0,128,0,$42
DFW ENGNED
DFB $41
DFW DL
ENGNED ASC % OPTION=ENGLISH %
ASC %SELECT=NEDERLANDS %
OLDMA DFB 0,0,0
OLDJMP DFB 0
NEWJMP DFB 0
SMT DFB 0
TUBCOL DFB 4,6,4,6,6,6,8,6,8,8,8,8
DFB 8,10,8
DFB 10,10,10,10,10
DFB 12,10,12
DFB 12,12,14,12,14,14,14,14
DFB 14,14,14,14,12,14,12,12
DFB 12,10,12,10,10,10
DFB 10,10,8,10,8
DFB 8,8,8,8,6,8,6,6,6,4,6,4
DFB 0
TUBCOL2 DFB 4,6,4,6,6,6,8,6,8,8,8,8
DFB 6,4,2
DFB 0,0,0,0,0
DFB 0,0,0
DFB 0,0,0,0,0,0,0,0
DFB 0,0,0,0,2,4,2,4
DFB 4,4,6,4,6,6
DFB 6,6,8,10,8
DFB 8,8,8,8,6,8,6,6,6,4,6,4
DFB 0¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯