changed playfield dist color. something is not right, the font is still not there
parent
b240884460
commit
2d787af42d
167
PARADIST.S
167
PARADIST.S
|
@ -239,6 +239,13 @@ screen2:
|
|||
move #$2700,sr
|
||||
move.l sp,stack
|
||||
; clr.b lowbyte
|
||||
|
||||
moveq #57,d0
|
||||
lea endprg,a0
|
||||
memtest:
|
||||
move.l #-1,(a0)+
|
||||
dbf d0,memtest
|
||||
|
||||
;**********************************************************
|
||||
; Distorted scroller by Gunstick
|
||||
lea linebuffbegin,a0
|
||||
|
@ -1422,8 +1429,8 @@ no_int:
|
|||
|
||||
|
||||
|
||||
move.w #911,$ffff8240.w
|
||||
; move.w #$00,$ffff8240.w
|
||||
; move.w #911,$ffff8240.w
|
||||
move.w #$00,$ffff8240.w
|
||||
|
||||
bra loop
|
||||
|
||||
|
@ -3143,39 +3150,100 @@ digi:
|
|||
|
||||
|
||||
mdistgraph equ *+2*16 ;the scroller graphics buffer -> bss
|
||||
rept 300/6
|
||||
dc.w $700,$700,$700,$700,$700,$700,$700,$700
|
||||
dc.w $700,$700,$700,$700,$700,$700,$700,$700
|
||||
dc.w $700,$700,$700,$700,$700,$700,$700,$700
|
||||
dc.w $700,$700,$700,$700,$700,$700,$700,$700
|
||||
rept 300/13
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $117,$227,$337,$447,$447,$227,$007,$007
|
||||
dc.w $117,$227,$337,$447,$447,$227,$007,$007
|
||||
dc.w $117,$227,$337,$447,$447,$227,$007,$007
|
||||
dc.w $117,$227,$337,$447,$447,$227,$007,$007
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $117,$227,$337,$447,$227,$007,$117,$007
|
||||
dc.w $117,$227,$337,$447,$227,$007,$117,$007
|
||||
dc.w $117,$227,$337,$447,$227,$007,$117,$007
|
||||
dc.w $117,$227,$337,$447,$227,$007,$117,$007
|
||||
|
||||
dc.w $117,$227,$337,$227,$007,$117,$227,$007
|
||||
dc.w $117,$227,$337,$227,$007,$117,$227,$007
|
||||
dc.w $117,$227,$337,$227,$007,$117,$227,$007
|
||||
dc.w $117,$227,$337,$227,$007,$117,$227,$007
|
||||
|
||||
dc.w $117,$227,$227,$007,$117,$337,$227,$007
|
||||
dc.w $117,$227,$227,$007,$117,$337,$227,$007
|
||||
dc.w $117,$227,$227,$007,$117,$337,$227,$007
|
||||
dc.w $117,$227,$227,$007,$117,$337,$227,$007
|
||||
|
||||
dc.w $117,$227,$007,$117,$337,$447,$227,$007
|
||||
dc.w $117,$227,$007,$117,$337,$447,$227,$007
|
||||
dc.w $117,$227,$007,$117,$337,$447,$227,$007
|
||||
dc.w $117,$227,$007,$117,$337,$447,$227,$007
|
||||
|
||||
dc.w $117,$007,$117,$337,$447,$447,$227,$007
|
||||
dc.w $117,$007,$117,$337,$447,$447,$227,$007
|
||||
dc.w $117,$007,$117,$337,$447,$447,$227,$007
|
||||
dc.w $117,$007,$117,$337,$447,$447,$227,$007
|
||||
|
||||
dc.w $007,$117,$337,$447,$447,$447,$227,$007
|
||||
dc.w $007,$117,$337,$447,$447,$447,$227,$007
|
||||
dc.w $007,$117,$337,$447,$447,$447,$227,$007
|
||||
dc.w $007,$117,$337,$447,$447,$447,$227,$007
|
||||
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
dc.w $117,$227,$337,$447,$447,$447,$227,$007
|
||||
|
||||
endr
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$070,$000,$000,$000
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
dc.w $700,$000,$000,$000,$000,$000,$000,$000
|
||||
|
||||
|
||||
dc.w $005,$006,$007,$337,$337,$007,$006,$005
|
||||
dc.w $005,$006,$007,$337,$337,$007,$006,$005
|
||||
dc.w $005,$006,$007,$337,$337,$007,$006,$005
|
||||
|
@ -3210,22 +3278,34 @@ hwbouncetab:
|
|||
dc.w 230*12,230*12
|
||||
dc.w 230*12,230*12
|
||||
dc.w 230*12,230*12
|
||||
dc.w 230*11,230*10
|
||||
dc.w 230*9,230*8
|
||||
dc.w 230*12,230*12
|
||||
dc.w 230*12,230*12
|
||||
dc.w 230*12,230*12
|
||||
dc.w 230*11,230*11
|
||||
dc.w 230*10,230*10
|
||||
dc.w 230*9,230*9
|
||||
dc.w 230*8,230*8
|
||||
dc.w 230*7
|
||||
dc.w 230*7
|
||||
dc.w 230*6
|
||||
dc.w 230*6
|
||||
dc.w 230*5
|
||||
dc.w 230*4
|
||||
dc.w 230*3
|
||||
dc.w 230*1
|
||||
dc.w 230*2
|
||||
dc.w 0
|
||||
dc.w 230*1
|
||||
dc.w 230*2
|
||||
dc.w 230*3
|
||||
dc.w 230*4
|
||||
dc.w 230*5
|
||||
dc.w 230*6,230*7
|
||||
dc.w 230*8,230*9
|
||||
dc.w 230*10,230*11
|
||||
dc.w 230*6,230*6
|
||||
dc.w 230*7,230*7
|
||||
dc.w 230*8,230*8
|
||||
dc.w 230*9,230*9
|
||||
dc.w 230*10,230*10
|
||||
dc.w 230*11,230*11
|
||||
dc.w 230*12,230*12
|
||||
dc.w 230*12,230*12
|
||||
dc.w -1
|
||||
scrbase equ 0
|
||||
scrnadrs:
|
||||
|
@ -3653,7 +3733,6 @@ hwscrolldat:
|
|||
incbin "includes\hwscroll.dat"
|
||||
even
|
||||
black:
|
||||
dc.w $005
|
||||
ds.l 8
|
||||
|
||||
section bss
|
||||
|
@ -3682,19 +3761,15 @@ wavetabptr:
|
|||
ds.l 1 ;pointer to the next wave to be played
|
||||
|
||||
disttableptr:
|
||||
ds.l 1 ;pointer to the distorter adjust table
|
||||
ds.w 1600 ;panic for table
|
||||
ds.l 1 ;pointer to scrolldisttable
|
||||
disttable:
|
||||
ds.w 26*2+100 ;adjusttable for the two distorters
|
||||
ds.w 1600 ;panic for table
|
||||
ds.w 20*2 ;scrolldisttable
|
||||
|
||||
|
||||
mdistadjustptr:
|
||||
ds.l 1 ;pointer to the distorter adjust table
|
||||
ds.w 1600 ;panic for table
|
||||
mdistadjust:
|
||||
ds.w 26*2+100 ;adjusttable for the two distorters
|
||||
ds.w 1600 ;panic for table
|
||||
ds.w 300*2 ;adjusttable for the two distorters
|
||||
|
||||
linebuffbegin:
|
||||
textptr:
|
||||
|
@ -3708,7 +3783,7 @@ shift:
|
|||
buffer:
|
||||
ds.l 2*26*16 ;16 shifts of the 1st line of the scrolling
|
||||
linebuffend:
|
||||
rept scrhigh ;18 lines scroll
|
||||
rept scrhigh-1 ;18 lines scroll
|
||||
; ds.l 1
|
||||
; ds.l 1
|
||||
; ds.w 1
|
||||
|
@ -3716,12 +3791,12 @@ linebuffend:
|
|||
ds.l 2*26*16+1+1+1
|
||||
endr
|
||||
|
||||
ds.l 230*20
|
||||
ds.w 230*6
|
||||
screen:
|
||||
rept 5
|
||||
ds.l 8000
|
||||
ds.l 8000
|
||||
ds.l 15700
|
||||
endr
|
||||
endprg:
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,312 @@
|
|||
overscan:equ 0
|
||||
; Double Megadistorter by Gunstick (c) ULM 1990
|
||||
; we know! it's long, but it works ! And it's from ULM !!!
|
||||
|
||||
parallax equ 0
|
||||
parallay equ 0
|
||||
|
||||
bus equ 10
|
||||
|
||||
|
||||
|
||||
pea start(pc)
|
||||
move.w #38,-(sp)
|
||||
trap #14
|
||||
addq.l #6,sp
|
||||
|
||||
clr.w -(sp)
|
||||
trap #1
|
||||
|
||||
noswreset:
|
||||
rts
|
||||
start:
|
||||
move #$2700,sr
|
||||
move.l #noswreset,$46e.w
|
||||
bsr waitvbl
|
||||
|
||||
lea $ffff8240.w,a2
|
||||
lea oldpal,a3
|
||||
|
||||
movem.l (a2),d0-d7
|
||||
movem.l d0-d7,(a3)
|
||||
movem.l hwpalette,d0-d7
|
||||
movem.l d0-d7,(a2)
|
||||
|
||||
lea $ffff8201.w,a0
|
||||
movep.w 0(a0),d0
|
||||
lea screenad1,a2
|
||||
move.w d0,(a2)
|
||||
|
||||
move.l #screen,d0
|
||||
add.l #255,d0
|
||||
and.l #$ffff00,d0
|
||||
lea screenad2,a2
|
||||
move.l d0,(a2)
|
||||
movea.l d0,a2
|
||||
ror.l #8,d0
|
||||
movep.w d0,0(a0)
|
||||
|
||||
move.w #0,-(sp)
|
||||
move.l a2,-(sp)
|
||||
move.l a2,-(sp)
|
||||
move.w #5,-(sp)
|
||||
trap #14
|
||||
lea 12(sp),sp
|
||||
|
||||
move.l screenad2,d0
|
||||
sub.l #160*6,d0
|
||||
move.l d0,screenadr
|
||||
; addi.l #8*5-64,screenadr
|
||||
|
||||
movea.l screenad2,a0
|
||||
move.l #9999,d0
|
||||
clear_loop:
|
||||
clr.l (a0)+
|
||||
dbra d0,clear_loop
|
||||
|
||||
movea.l screenad2,a0
|
||||
; movem.l graphic,d6-d7
|
||||
movem.l black,d6-d7
|
||||
move.w #285,d2
|
||||
allline:
|
||||
ifne overscan
|
||||
move.w #20,d1
|
||||
endc
|
||||
ifeq overscan
|
||||
move.w #27,d1
|
||||
endc
|
||||
|
||||
alles:
|
||||
move.l d6,(a0)+
|
||||
move.l d7,(a0)+
|
||||
dbra d1,alles
|
||||
ifeq overscan
|
||||
addq.l #6,a0
|
||||
endc
|
||||
|
||||
dbra d2,allline
|
||||
|
||||
pea message
|
||||
move.w #9,-(sp)
|
||||
trap #1
|
||||
addq.w #6,sp
|
||||
|
||||
bsr psginit
|
||||
|
||||
lea oldres,a0
|
||||
move.b $ffff8260.w,(a0)
|
||||
bsr waitvbl
|
||||
move.b #0,$ffff8260.w
|
||||
|
||||
move.b #18,$fffffc02.w
|
||||
bsr waitvbl
|
||||
move.b #26,$fffffc02.w
|
||||
|
||||
move.l usp,a0
|
||||
move.l a0,savusp
|
||||
bsr screen2
|
||||
move.l savusp,a0
|
||||
move.l a0,usp
|
||||
|
||||
move.b #20,$fffffc02.w
|
||||
bsr.s waitvbl
|
||||
move.b #8,$fffffc02.w
|
||||
|
||||
bsr.s waitvbl
|
||||
move.b #2,$ffff820a.w
|
||||
bsr.s waitvbl
|
||||
move.b #2,$ffff820a.w
|
||||
move.b oldres,$ffff8260.w
|
||||
lea $ffff8201.w,a0
|
||||
moveq #0,d0
|
||||
move.w screenad1,d0
|
||||
movep.w d0,0(a0)
|
||||
lsl.l #8,d0
|
||||
|
||||
move.w #0,-(sp)
|
||||
move.l d0,-(sp)
|
||||
move.l d0,-(sp)
|
||||
move.w #5,-(sp)
|
||||
trap #14
|
||||
lea 12(sp),sp
|
||||
|
||||
bsr.s psginit
|
||||
|
||||
lea oldpal,a0
|
||||
lea $ffff8240.w,a1
|
||||
movem.l (a0),d0-d7
|
||||
movem.l d0-d7,(a1)
|
||||
|
||||
bsr.s waitvbl
|
||||
move #$2300,sr
|
||||
|
||||
rts
|
||||
savusp: ds.l 1
|
||||
|
||||
waitvbl:
|
||||
|
||||
move.b $ffff8203.w,d0
|
||||
lsl.w #8,d0
|
||||
lea $ffff8207.w,a0
|
||||
no_vbl:
|
||||
movep.w 0(a0),d1
|
||||
cmp.w d0,d1
|
||||
bne.s no_vbl
|
||||
|
||||
rts
|
||||
|
||||
psginit:
|
||||
lea psginittab,a0
|
||||
nextinit:
|
||||
move.b (a0)+,d0
|
||||
cmp.b #$ff,d0
|
||||
beq.s initend
|
||||
move.b (a0)+,d1
|
||||
move.b d0,$ffff8800.w
|
||||
move.b d1,$ffff8802.w
|
||||
bra.s nextinit
|
||||
initend:
|
||||
rts
|
||||
|
||||
;--------------------------------------------------------
|
||||
|
||||
screen2:
|
||||
|
||||
;free d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 a3 a4 a5 a6 usp
|
||||
move sr,-(sp)
|
||||
move #$2700,sr
|
||||
move.l sp,stack
|
||||
; clr.b lowbyte
|
||||
|
||||
move.w #5000,d0
|
||||
aaa dbf d0,aaa
|
||||
|
||||
loop:
|
||||
not.w $ffff8240.w
|
||||
|
||||
move.b #0,$fffffa19.w ;stop timer
|
||||
move.b #245,$fffffa1f.w ;244
|
||||
asd equ 7
|
||||
move.b #32,$fffffa07.w
|
||||
move.b #0,$fffffa0b.w ;clr pending
|
||||
not.w $ffff8240.w
|
||||
|
||||
dcb $4e71,87
|
||||
move.b #asd,$fffffa19.w
|
||||
|
||||
|
||||
btst #0,$fffffc00.w
|
||||
beq no_key
|
||||
|
||||
move.b $fffffc02.w,d0
|
||||
|
||||
cmpi.b #57,d0
|
||||
bne.s no_key
|
||||
|
||||
movea.l stack,sp
|
||||
move (sp)+,sr
|
||||
rts
|
||||
|
||||
no_key:
|
||||
|
||||
move.b #0,$fffffa0b.w ;clr pending
|
||||
no_int:
|
||||
btst #5,$fffffa0b.w
|
||||
beq.s no_int
|
||||
|
||||
bra loop
|
||||
|
||||
|
||||
prt:
|
||||
dc.b 27,"Y",32+20,32+1," 000"
|
||||
str: dc.b "0 ",0
|
||||
|
||||
|
||||
|
||||
even
|
||||
psginittab:dc.b 0,$ff,1,$ff,2,$ff,3,$ff,4,$ff,5,$ff,6,0
|
||||
dc.b 7,$7f,8,7,9,7,10,7,$ff,0
|
||||
even
|
||||
hwpalette:
|
||||
dc.w $0700,$0707,$0474,$0777,$0606,$0505,$0404,$303
|
||||
dc.w $777,$666,$555,$444,$333,$222,$111,$002
|
||||
graphic:
|
||||
dc.w $d555,$3333,$0f0f,$ff
|
||||
message:
|
||||
dc.b "Mfp clock detektor:",13,10,"by gunstick from U L M",13,10
|
||||
dc.b "The line should move",13,10,"this way : --->",13,10
|
||||
dc.b "with bytespeed",13,10,"and down one line after",13,10
|
||||
dc.b "each passage on the screen.",13,10,"Some flickering if a key",13,10
|
||||
dc.b "is pressed is normal",13,10,"Exit with space",13,10,13,10
|
||||
dc.b "Mfp clock detektor:",13,10,"by gunstick from U L M",13,10
|
||||
dc.b "The line should move",13,10,"this way : --->",13,10
|
||||
dc.b "with bytespeed",13,10,"and down one line after",13,10
|
||||
dc.b "each passage on the screen.",13,10,"Some flickering if a key",13,10
|
||||
dc.b "is pressed is normal",13,10,"Exit with space",13,10,13,10
|
||||
dc.b "Mfp clock detektor:",13,10,"by gunstick from U L M",13,10
|
||||
dc.b "The line should move",13,10,"this way : --->",13,10
|
||||
dc.b "with bytespeed",13,10,"and down one line after",13,10
|
||||
dc.b "each passage on the screen.",13,10,"Some flickering if a key",13,10
|
||||
dc.b "is pressed is normal",13,10,"Exit with space",13,10,0
|
||||
even
|
||||
lowbyte:
|
||||
dc.b 0
|
||||
|
||||
|
||||
hwscrolldat:
|
||||
|
||||
even
|
||||
black:
|
||||
ds.l 8
|
||||
|
||||
section bss
|
||||
stack: ds.l 1
|
||||
oldpal: ds.w 16
|
||||
oldres: ds.w 1
|
||||
screenad1:ds.w 1
|
||||
screenad2:ds.l 1
|
||||
screenadr:ds.l 1
|
||||
logbase: ds.l 1 ;screen where to put scroll
|
||||
tabentry:
|
||||
ds.l 1 ;for hwscroll
|
||||
cpybufdest:
|
||||
ds.l 1 ;copy from (this+4buffers-1scroll) to (this)
|
||||
shiftcnt:
|
||||
ds.w 1 ;counter for shifter
|
||||
count:
|
||||
ds.l 1 ;for some dbf without register
|
||||
nextscrn:
|
||||
ds.l 1 ;points to next screenadress to be used
|
||||
distcalc:
|
||||
ds.w 1
|
||||
distwaveptr:
|
||||
ds.l 1 ;pointer in one distwave
|
||||
wavetabptr:
|
||||
ds.l 1 ;pointer to the next wave to be played
|
||||
|
||||
disttableptr:
|
||||
ds.l 1 ;pointer to scrolldisttable
|
||||
disttable:
|
||||
ds.w 20*2 ;scrolldisttable
|
||||
|
||||
|
||||
mdistadjustptr:
|
||||
ds.l 1 ;pointer to the distorter adjust table
|
||||
mdistadjust:
|
||||
ds.w 300*2 ;adjusttable for the two distorters
|
||||
|
||||
linebuffbegin:
|
||||
textptr:
|
||||
ds.l 1 ;letter not completly copied into buffer (forward)
|
||||
bufptr:
|
||||
ds.l 1 ;pos where graphic is added in preshift 0
|
||||
bufcnt:
|
||||
ds.w 1 ;which one of the 26 routs to be used to copy
|
||||
shift:
|
||||
ds.w 1 ;which preshift to copy
|
||||
buffer:
|
||||
ds.l 2*26*16 ;16 shifts of the 1st line of the scrolling
|
||||
linebuffend:
|
||||
screen:
|
||||
ds.l 8000
|
||||
end
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue