Name change! It's now officially called parallax distorter.

Quite some code added to make it into the megademo.
Sound is now good, but fullscreen vanished. THis may be due
to the assembler optimizing. Change the sample to infinity.dmn
and then you can see the scroller, but the sound is broken.
Very funny to debug that...
master
Georges Kesseler 2012-02-21 22:09:14 +01:00
parent 3dd7b21ded
commit c1f5c1ba42
1 changed files with 392 additions and 265 deletions

View File

@ -1,39 +1,295 @@
overscan:equ 0 ; The Paralax distorter by Gunstick from Unlimited Matricks
; Double Megadistorter by Gunstick (c) ULM 1990
; we know! it's long, but it works ! And it's from ULM !!!
test equ 10
parallax equ 0 parallax equ 0
parallay equ 0 parallay equ 0
bus equ 10 bus equ 10
digitest equ 10 digitest equ 10
; config:
pea start def_version equ 10
d0_for_mcp equ 0
mcp_adr equ $500
keyboard set 10
test equ 10
ifeq def_version
opt d-
org $2500
keyboard set 0
endc
section text
ifne def_version
pea start(pc)
move.w #38,-(sp) move.w #38,-(sp)
trap #14 trap #14
addq.l #6,sp addq.l #6,sp
clr.w -(sp) clr.w -(sp)
trap #1 trap #1
endc
start:
lea oldcpu(pc),a0
move.l sp,(a0)+
lea my_stack,sp
move.w sr,(a0)+
move.w #$2700,sr
move.l usp,a1
move.l a1,(a0)+
ifne def_version
moveq #$12,d0
bsr ikbd_wrt
moveq #$1a,d0
bsr ikbd_wrt
move.l $408.w,old_408
move.l #exit_with_408,$408.w
endc
lea oldvideo(pc),a0
move.b $ffff8260.w,(a0)+
move.b $ffff820a.w,(a0)+
move.l $ffff8200.w,(a0)+
movem.l $ffff8240.w,d0-d7
movem.l d0-d7,(a0)
movem.l black(pc),d0-d7
movem.l d0-d7,$ffff8240.w
lea oldvectors(pc),a0
move.l $68.w,(a0)+
move.l $70.w,(a0)+
move.l $114.w,(a0)+
move.l $118.w,(a0)+
move.l $120.w,(a0)+
move.l $134.w,(a0)+
move.l #nix,$68.w
move.l #nix,$70.w
move.l #nix,$114.w
ifeq keyboard
move.l #nix,$118.w
endc
move.l #nix,$120.w
move.l #nix,$134.w
lea oldmfp(pc),a0
move.b $fffffa07.w,(a0)+
move.b $fffffa09.w,(a0)+
move.b $fffffa13.w,(a0)+
move.b $fffffa15.w,(a0)+
move.b $fffffa17.w,(a0)+
move.b $fffffa19.w,(a0)+
move.b $fffffa1b.w,(a0)+
move.b $fffffa1d.w,(a0)+
bclr #3,$fffffa17.w
clr.b $fffffa07.w
ifeq keyboard
clr.b $fffffa09.w
endc
ifne keyboard
move.b #%01000000,$fffffa09.w
endc
bsr waitvbl1
move.b #0,$ffff8260.w
move.b #2,$ffff820a.w
bsr psginit
bsr mfp_test
jmp screen
back:
lea my_stack,sp
bsr psginit
lea oldmfp(pc),a0
move.b (a0)+,$fffffa07.w
move.b (a0)+,$fffffa09.w
move.b (a0)+,$fffffa13.w
move.b (a0)+,$fffffa15.w
move.b (a0)+,$fffffa17.w
move.b (a0)+,$fffffa19.w
move.b (a0)+,$fffffa1b.w
move.b (a0)+,$fffffa1d.w
lea oldvectors(pc),a0
move.l (a0)+,$68.w
move.l (a0)+,$70.w
move.l (a0)+,$114.w
move.l (a0)+,$118.w
move.l (a0)+,$120.w
move.l (a0)+,$134.w
move.b #2,$ffff820a.w
bsr.s waitvbl1
move.b #0,$ffff820a.w
bsr.s waitvbl1
move.b #2,$ffff820a.w
bsr.s waitvbl1
lea oldvideo(pc),a0
move.b (a0)+,$ffff8260.w
move.b (a0)+,$ffff820a.w
move.l (a0)+,$ffff8200.w
movem.l (a0),d0-d7
movem.l d0-d7,$ffff8240.w
ifne def_version
moveq #$14,d0
bsr.s ikbd_wrt
moveq #$8,d0
bsr.s ikbd_wrt
endc
lea oldcpu(pc),a0
move.l (a0)+,sp
move.w (a0)+,sr
move.l (a0)+,a1
move.l a1,usp
ifne def_version
move.l old_408(pc),$408.w
rts
endc
ifeq def_version
moveq #d0_for_mcp,d0
jsr mcp_adr.w
endc
psginit:
moveq #10,d0
lea $ffff8800.w,a0
nextinit:
move.b d0,(a0)
move.b #0,2(a0)
dbf d0,nextinit
move.b #7,(a0)
move.b #$7f,2(a0)
move.b #14,(a0)
move.b #$26,2(a0)
rts
waitvbl1:
move.w #9000,d0
waitvbl2:
dbf d0,waitvbl2
waitvbl:
lea $ffff8209.w,a0
movep.w -8(a0),d0
waitvbl3:
tst.b (a0)
bne.s waitvbl3
movep.w -4(a0),d1
cmp.w d0,d1
bne.s waitvbl3
rts
ikbd_wrt:
lea $fffffc00.w,a0
ik_wait:
move.b (a0),d1
btst #1,d1
beq.s ik_wait
move.b d0,2(a0)
rts
mfp_test:
move.w #$2700,sr
bsr.s waitvbl
bsr.s waitvbl
move.b #0,$fffffa19.w
move.b #255,$fffffa1f.w
move.b #$20,$fffffa07.w
move.b #0,$fffffa13.w
moveq #30,d1
lea $ffff8209.w,a0
check_mfp_s1:
move.b (a0),d0
beq.s check_mfp_s1
sub.w d0,d1
lsl.w d1,d1
move.b #0,$fffffa0b.w
move.b #1,$fffffa19.w
moveq #-1,d0
mfp_test_loop:
dbf d0,mfp_test_loop
moveq #0,d0
move.b $fffffa1f.w,d0
move.b #0,$fffffa19.w
cmp.w #$9b,d0
ble.s mfp_of_my_st
move.w #-1,mfp_type
mfp_of_my_st:
rts
ifne def_version
dc.l 'XBRA'
dc.l 'TFSY'
old_408:
dc.l 0
exit_with_408:
bsr.s exit
move.l old_408(pc),a0
jmp (a0)
endc
exit:
movem.l black(pc),d0-d7
movem.l d0-d7,$ffff8240.w
bra back
nix:
rte
oldcpu: ds.w 4
oldvideo: ds.w 19
oldvectors: ds.l 6
oldmfp: ds.w 5
mfp_type: ds.w 1
black: ds.l 16
****************************************************************
;overscan:equ 0
; Double Megadistorter by Gunstick (c) ULM 1990
; we know! it's long, but it works ! And it's from ULM !!!
; dc.w $c8*4 ; dc.w $c8*4
; dc.w 138*4 ; dc.w 138*4
; dc.w 195*4 dc.w 195*4
; dc.w 167*4 ; dc.w 167*4
; dc.w 197*4 ; dc.w 197*4
; dc.w 167*4 ; dc.w 167*4
dc.w 255*4 ; dc.w 255*4
digisound: digisound:
; incbin "includes\telgraph.dmn" ; incbin "includes\telgraph.dmn"
; incbin "includes\jasy75.dmn" ; incbin "includes\jasy75.dmn"
; incbin "includes\senn_l1.dmn" incbin "includes\senn_l1.dmn"
; incbin "includes\senn_l2.dmn" ; incbin "includes\senn_l2.dmn"
; incbin "includes\luna.dmn" ; incbin "includes\luna.dmn"
; incbin "includes\luna2.dmn" ; incbin "includes\luna2.dmn"
incbin "includes\infinity.dmn" ; incbin "includes\infinity.dmn"
digiend: digiend:
even even
@ -46,153 +302,6 @@ kotz:
dc.l 0 dc.l 0
noswreset: noswreset:
rts rts
start:
move #$2700,sr
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 #0,$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
;-------------------------------------------------------- ;--------------------------------------------------------
@ -301,16 +410,45 @@ digi2 MACRO
movep.l d6,$ffff8800-512-downthere(a7) ;~7 movep.l d6,$ffff8800-512-downthere(a7) ;~7
ENDM ENDM
screen:
lea bss_start,a0
lea bss_end,a1
movem.l black,d1-d7/a2-a6
clear_loop:
movem.l d1-d7/a2-a6,(a0)
movem.l d1-d7/a2-a6,12*4(a0)
movem.l d1-d7/a2-a6,24*4(a0)
lea 36*4(a0),a0
cmp.l a0,a1
bpl.s clear_loop
move.l #screenmem,d0
add.l #255,d0
and.l #$ffff00,d0
move.l d0,screenad
ror.l #8,d0
lea $ffff8201.w,a0
movep.w d0,(a0)
lea my_stack,sp
jsr waitvbl
screen2:
;free d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 -- -- -- a7 usp ;free d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 -- -- -- a7 usp
move sr,-(sp) move sr,-(sp)
move #$2700,sr move #$2700,sr
move.l sp,stack move.l sp,stack
; clr.b lowbyte
tst.w mfp_type
beq.s mfp_is_ok
add.w #55*2,other_mfp
mfp_is_ok:
ifeq bus ifeq bus
moveq #57,d0 moveq #57,d0
lea endprg,a0 lea endprg,a0
@ -356,9 +494,10 @@ initdist:
move.l #mwavetab,mnextcurv move.l #mwavetab,mnextcurv
move.l mwavetab,mactcurv move.l mwavetab,mactcurv
move.l #scrnadrs,nextscrn move.l #scrnadrs,nextscrn
move.l #screen-230*20,cpybufdest move.l #ecran-230*20,cpybufdest
; bra kaka
bra kaka
lupo: lupo:
@ -448,9 +587,6 @@ kaka:
;******************************************************** ;********************************************************
lea screenadr,a2 lea screenadr,a2
; move.b lowbyte,3(a2)
; bsr waitvbl ;lower border
move.b $ffff8203.w,d0 move.b $ffff8203.w,d0
lsl.w #8,d0 lsl.w #8,d0
@ -509,7 +645,7 @@ __no_vbl:
movem.l d0-d6/a0,$ffff8240.w movem.l d0-d6/a0,$ffff8240.w
;blaf equ 174-55 ;blaf equ 174-55
blaf equ 174+4 blaf equ 174
move.w #1500-30,d0 move.w #1500-30,d0
opentopwait: opentopwait:
dbra d0,opentopwait dbra d0,opentopwait
@ -526,7 +662,10 @@ loop:
move.l (a6)+,d1 ;~3 move.l (a6)+,d1 ;~3
movep.l d1,$ffff8800-512-downthere(a7) ;~7 movep.l d1,$ffff8800-512-downthere(a7) ;~7
endc endc
dcb $4e71,blaf-4-1-20 other_mfp: equ *+2
bra my_mfp
my_mfp:
dcb $4e71,blaf-4-1-20-3
move.w d7,digswitch move.w d7,digswitch
movem.l hwpalette,d2-d7/a1-a2 movem.l hwpalette,d2-d7/a1-a2
move.l a1,usp move.l a1,usp
@ -659,7 +798,7 @@ cont4:
bne scrnok ;~12 bne scrnok ;~12
lea scrnadrs-nextscrn(a2),a0 ;~12 lea scrnadrs-nextscrn(a2),a0 ;~12
move.l (a0)+,d0 ;~12 move.l (a0)+,d0 ;~12
; move.l #screen-(20*230)+160*6,cpybufdest-nextscrn(a2);~24 ; move.l #ecran-(20*230)+160*6,cpybufdest-nextscrn(a2);~24
dcb $4e71,6 dcb $4e71,6
_scrnok: _scrnok:
move.l d0,logbase-nextscrn(a2) ;~20 move.l d0,logbase-nextscrn(a2) ;~20
@ -2614,11 +2753,11 @@ endscrollcpy:
***************************************** *****************************************
move.b #0,$fffffa19.w ;stop timer ; move.b #0,$fffffa19.w ;stop timer
move.b #80,$fffffa1f.w ;244 ; move.b #80,$fffffa1f.w ;244
move.b #32,$fffffa07.w ; move.b #32,$fffffa07.w
move.b #0,$fffffa0b.w ;clr pending ; move.b #0,$fffffa0b.w ;clr pending
move.b #2,$fffffa19.w ; move.b #2,$fffffa19.w
@ -2751,7 +2890,7 @@ bbb
move.l a0,cpybufdest ;position to write during next vbl move.l a0,cpybufdest ;position to write during next vbl
cmp.l #scrnadrs+4,nextscrn cmp.l #scrnadrs+4,nextscrn
bne.s notreset bne.s notreset
move.l #screen-(15*230)+160*6,cpybufdest move.l #ecran-(15*230)+160*6,cpybufdest
notreset: notreset:
;********************************************************** ;**********************************************************
@ -2775,21 +2914,11 @@ notr:
not5: not5:
cmpi.b #110,d0 cmpi.b #110,d0
bne.s not2 bne.s not2
ifeq overscan
addi.l #-230,codmod+2 addi.l #-230,codmod+2
endc
ifne overscan
addi.l #-160,codmod+2
endc
not2: not2:
cmpi.b #104,d0 cmpi.b #104,d0
bne.s not8 bne.s not8
ifeq overscan
addi.l #230,codmod+2 addi.l #230,codmod+2
endc
ifne overscan
addi.l #160,codmod+2
endc
not8: not8:
cmpi.b #108,d0 cmpi.b #108,d0
bne.s not6 bne.s not6
@ -2817,7 +2946,7 @@ notu:
cmpi.b #57,d0 cmpi.b #57,d0
bne.s no_key bne.s no_key
exit: myexit:
;restore digisound ;restore digisound
move.w #(256+512/4)-1,d0 move.w #(256+512/4)-1,d0
lea domino,a0 lea domino,a0
@ -2827,10 +2956,7 @@ restdigi:
dbf d0,restdigi dbf d0,restdigi
jmp exit
movea.l stack,sp
move (sp)+,sr
rts
no_key: no_key:
lea screenadr,a3 lea screenadr,a3
@ -2946,7 +3072,7 @@ mbounceok:
digiok: digiok:
digi1 digi1
; ifeq test
lea predigi,a0 lea predigi,a0
move.l a0,a1 move.l a0,a1
moveq #1,d0 moveq #1,d0
@ -3010,8 +3136,7 @@ calcpredigi:
dcb $4e71,70 dcb $4e71,70
move.l a6,digiptr move.l a6,digiptr
; endc
dcb $4e71,150
move.l a1,a6 move.l a1,a6
ifeq digitest ifeq digitest
move.w #$777,$ffff8240.w move.w #$777,$ffff8240.w
@ -3038,7 +3163,7 @@ no_int:
;-------------------------------------------------------------- ;--------------------------------------------------------------
bsr waitvbl jsr waitvbl
movem.l black,d0-d7 movem.l black,d0-d7
movem.l d0-d7,$ffff8240.w movem.l d0-d7,$ffff8240.w
@ -6019,63 +6144,63 @@ hwbouncetab:
dc.w -1 dc.w -1
scrbase equ 0 scrbase equ 0
scrnadrs: scrnadrs:
dc.l screen-scrbase*230+64400*0 dc.l ecran-scrbase*230+64400*0
dc.l screen-scrbase*230+64400*1 dc.l ecran-scrbase*230+64400*1
dc.l screen-scrbase*230+64400*2 dc.l ecran-scrbase*230+64400*2
dc.l screen-scrbase*230+64400*3 dc.l ecran-scrbase*230+64400*3
dc.l screen-scrbase*230+64400*0+230*20 dc.l ecran-scrbase*230+64400*0+230*20
dc.l screen-scrbase*230+64400*1+230*20 dc.l ecran-scrbase*230+64400*1+230*20
dc.l screen-scrbase*230+64400*2+230*20 dc.l ecran-scrbase*230+64400*2+230*20
dc.l screen-scrbase*230+64400*3+230*20 dc.l ecran-scrbase*230+64400*3+230*20
dc.l screen-scrbase*230+64400*0+230*40 dc.l ecran-scrbase*230+64400*0+230*40
dc.l screen-scrbase*230+64400*1+230*40 dc.l ecran-scrbase*230+64400*1+230*40
dc.l screen-scrbase*230+64400*2+230*40 dc.l ecran-scrbase*230+64400*2+230*40
dc.l screen-scrbase*230+64400*3+230*40 dc.l ecran-scrbase*230+64400*3+230*40
dc.l screen-scrbase*230+64400*0+230*60 dc.l ecran-scrbase*230+64400*0+230*60
dc.l screen-scrbase*230+64400*1+230*60 dc.l ecran-scrbase*230+64400*1+230*60
dc.l screen-scrbase*230+64400*2+230*60 dc.l ecran-scrbase*230+64400*2+230*60
dc.l screen-scrbase*230+64400*3+230*60 dc.l ecran-scrbase*230+64400*3+230*60
dc.l screen-scrbase*230+64400*0+230*80 dc.l ecran-scrbase*230+64400*0+230*80
dc.l screen-scrbase*230+64400*1+230*80 dc.l ecran-scrbase*230+64400*1+230*80
dc.l screen-scrbase*230+64400*2+230*80 dc.l ecran-scrbase*230+64400*2+230*80
dc.l screen-scrbase*230+64400*3+230*80 dc.l ecran-scrbase*230+64400*3+230*80
dc.l screen-scrbase*230+64400*0+230*100 dc.l ecran-scrbase*230+64400*0+230*100
dc.l screen-scrbase*230+64400*1+230*100 dc.l ecran-scrbase*230+64400*1+230*100
dc.l screen-scrbase*230+64400*2+230*100 dc.l ecran-scrbase*230+64400*2+230*100
dc.l screen-scrbase*230+64400*3+230*100 dc.l ecran-scrbase*230+64400*3+230*100
dc.l screen-scrbase*230+64400*0+230*120 dc.l ecran-scrbase*230+64400*0+230*120
dc.l screen-scrbase*230+64400*1+230*120 dc.l ecran-scrbase*230+64400*1+230*120
dc.l screen-scrbase*230+64400*2+230*120 dc.l ecran-scrbase*230+64400*2+230*120
dc.l screen-scrbase*230+64400*3+230*120 dc.l ecran-scrbase*230+64400*3+230*120
dc.l screen-scrbase*230+64400*0+230*140 dc.l ecran-scrbase*230+64400*0+230*140
dc.l screen-scrbase*230+64400*1+230*140 dc.l ecran-scrbase*230+64400*1+230*140
dc.l screen-scrbase*230+64400*2+230*140 dc.l ecran-scrbase*230+64400*2+230*140
dc.l screen-scrbase*230+64400*3+230*140 dc.l ecran-scrbase*230+64400*3+230*140
dc.l screen-scrbase*230+64400*0+230*160 dc.l ecran-scrbase*230+64400*0+230*160
dc.l screen-scrbase*230+64400*1+230*160 dc.l ecran-scrbase*230+64400*1+230*160
dc.l screen-scrbase*230+64400*2+230*160 dc.l ecran-scrbase*230+64400*2+230*160
dc.l screen-scrbase*230+64400*3+230*160 dc.l ecran-scrbase*230+64400*3+230*160
dc.l screen-scrbase*230+64400*0+230*180 dc.l ecran-scrbase*230+64400*0+230*180
dc.l screen-scrbase*230+64400*1+230*180 dc.l ecran-scrbase*230+64400*1+230*180
dc.l screen-scrbase*230+64400*2+230*180 dc.l ecran-scrbase*230+64400*2+230*180
dc.l screen-scrbase*230+64400*3+230*180 dc.l ecran-scrbase*230+64400*3+230*180
dc.l screen-scrbase*230+64400*0+230*200 dc.l ecran-scrbase*230+64400*0+230*200
dc.l screen-scrbase*230+64400*1+230*200 dc.l ecran-scrbase*230+64400*1+230*200
dc.l screen-scrbase*230+64400*2+230*200 dc.l ecran-scrbase*230+64400*2+230*200
dc.l screen-scrbase*230+64400*3+230*200 dc.l ecran-scrbase*230+64400*3+230*200
dc.l screen-scrbase*230+64400*0+230*220 dc.l ecran-scrbase*230+64400*0+230*220
dc.l screen-scrbase*230+64400*1+230*220 dc.l ecran-scrbase*230+64400*1+230*220
dc.l screen-scrbase*230+64400*2+230*220 dc.l ecran-scrbase*230+64400*2+230*220
dc.l screen-scrbase*230+64400*3+230*220 dc.l ecran-scrbase*230+64400*3+230*220
dc.l screen-scrbase*230+64400*0+230*240 dc.l ecran-scrbase*230+64400*0+230*240
dc.l screen-scrbase*230+64400*1+230*240 dc.l ecran-scrbase*230+64400*1+230*240
dc.l screen-scrbase*230+64400*2+230*240 dc.l ecran-scrbase*230+64400*2+230*240
dc.l screen-scrbase*230+64400*3+230*240 dc.l ecran-scrbase*230+64400*3+230*240
dc.l screen-scrbase*230+64400*0+230*260 dc.l ecran-scrbase*230+64400*0+230*260
dc.l screen-scrbase*230+64400*1+230*260 dc.l ecran-scrbase*230+64400*1+230*260
dc.l screen-scrbase*230+64400*2+230*260 dc.l ecran-scrbase*230+64400*2+230*260
; dc.l screen-scrbase*230+64400*3+230*260 ; dc.l ecran-scrbase*230+64400*3+230*260
; dc.l screen-scrbase*230+64400*0+230*280 ; dc.l ecran-scrbase*230+64400*0+230*280
dc.l 0 dc.l 0
openlowtab: openlowtab:
; dc.b 2,2,2,2,2,2 ; dc.b 2,2,2,2,2,2
@ -6108,10 +6233,10 @@ wavetab:
dc.l wordschief dc.l wordschief
dc.l wordschief dc.l wordschief
dc.l byteschief dc.l byteschief
dc.l nix dc.l _nix
dc.l wordhinher dc.l wordhinher
dc.l nix dc.l _nix
dc.l nix dc.l _nix
dc.l hacker,hacker,hacker dc.l hacker,hacker,hacker
dc.l dreieck dc.l dreieck
dc.l dreieck dc.l dreieck
@ -6271,7 +6396,7 @@ byteschief:
dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1
dc.w 1,1,1,1,1,1,1,1,128 dc.w 1,1,1,1,1,1,1,1,128
hops1: dc.w 1 hops1: dc.w 1
nix: dc.w 0 _nix: dc.w 0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ -6412,8 +6537,7 @@ space equ 87
dc.b g,g+1,o,o+1,t,t+1,space,t,t+1,h,h+1,e,e+1,space,n,n+1,a,a+1,m,m+1,e,e+1,space,r,r+1,i,i+1,g,g+1,h,h+1,t,t+1,fz,fz+1,kz,kz+1,space dc.b g,g+1,o,o+1,t,t+1,space,t,t+1,h,h+1,e,e+1,space,n,n+1,a,a+1,m,m+1,e,e+1,space,r,r+1,i,i+1,g,g+1,h,h+1,t,t+1,fz,fz+1,kz,kz+1,space
dc.b e,e+1,n,n+1,o,o+1,u,u+1,g,g+1,h,h+1,space,f,f+1,o,o+1,r,r+1,space,n,n+1,o,o+1,w,w+1,space,space,space,space dc.b e,e+1,n,n+1,o,o+1,u,u+1,g,g+1,h,h+1,space,f,f+1,o,o+1,r,r+1,space,n,n+1,o,o+1,w,w+1,space,space,space,space
dc.b b,b+1,y,y+1,e,e+1,space,az,az+1 dc.b b,b+1,y,y+1,e,e+1,space,az,az+1
dc.b space
dc.b space,space,space
scrolltext: scrolltext:
; dc.b zero,zero,zero,zero,zero,zero,zero,zero,0 ; dc.b zero,zero,zero,zero,zero,zero,zero,zero,0
dc.b space,space,space,h,h+1,e,e+1,l,l+1,l,l+1,o,o+1,space,space dc.b space,space,space,h,h+1,e,e+1,l,l+1,l,l+1,o,o+1,space,space
@ -6446,7 +6570,6 @@ scrolltext:
dc.b g,g+1,o,o+1,t,t+1,space,t,t+1,h,h+1,e,e+1,space,n,n+1,a,a+1,m,m+1,e,e+1,space,r,r+1,i,i+1,g,g+1,h,h+1,t,t+1,fz,fz+1,kz,kz+1,space dc.b g,g+1,o,o+1,t,t+1,space,t,t+1,h,h+1,e,e+1,space,n,n+1,a,a+1,m,m+1,e,e+1,space,r,r+1,i,i+1,g,g+1,h,h+1,t,t+1,fz,fz+1,kz,kz+1,space
dc.b e,e+1,n,n+1,o,o+1,u,u+1,g,g+1,h,h+1,space,f,f+1,o,o+1,r,r+1,space,n,n+1,o,o+1,w,w+1,space,space,space,space dc.b e,e+1,n,n+1,o,o+1,u,u+1,g,g+1,h,h+1,space,f,f+1,o,o+1,r,r+1,space,n,n+1,o,o+1,w,w+1,space,space,space,space
dc.b b,b+1,y,y+1,e,e+1,space,az,az+1 dc.b b,b+1,y,y+1,e,e+1,space,az,az+1
dc.b space,space,space dc.b space,space,space
dc.b 0 dc.b 0
dc.b 87,87 dc.b 87,87
@ -6488,10 +6611,16 @@ hwscrolldat:
incbin "includes\hwscroll.dat" incbin "includes\hwscroll.dat"
even even
black:
ds.l 8
section bss section bss
bss_start: ;here starts the bss
screenad: ds.l 1
ds.l 20
my_stack:
stack: ds.l 1 stack: ds.l 1
oldpal: ds.w 16 oldpal: ds.w 16
oldres: ds.w 1 oldres: ds.w 1
@ -6558,15 +6687,13 @@ linebuffend:
ds.l 2*26*16+1+1+1 ds.l 2*26*16+1+1+1
endr endr
screenmem:
ds.w 230*6 ds.w 230*6
screen: ecran:
rept 5 rept 5
ds.l 15700 ds.l 15700
endr endr
endprg: endprg:
bss_end: ;here ends the bss
end end