From cecd6521ae0181e54f6da0842c689fbe73a0c6c3 Mon Sep 17 00:00:00 2001 From: Georges Kesseler Date: Tue, 21 Feb 2012 23:03:31 +0100 Subject: [PATCH] The ordered grafics are here! The sound is fine, maybe a bad soundchip init was causing the bad quality. Demo statup is also now clean (background & buffer initialization). The sound problem may have been a bad soundchip init. And using old voltab again. A lot of code (shifting routines) is now in external includes --- PARADIST.S | 1301 +++++++---------------------------------- domino.s | 18 + fond_7c.iff | Bin 0 -> 21000 bytes font.neo | Bin 0 -> 32128 bytes fontconv.gfa | Bin 0 -> 1504 bytes fontconv.lst | 52 ++ includes/boink.bin | Bin 0 -> 2052 bytes includes/colors2.bin | Bin 0 -> 21504 bytes includes/domino.bin | Bin 0 -> 512 bytes includes/font2.bin | Bin 0 -> 15200 bytes includes/shifter1.bin | Bin 0 -> 960 bytes includes/shifter2.bin | Bin 0 -> 960 bytes includes/shifter3.bin | Bin 0 -> 960 bytes includes/shifter4.bin | Bin 0 -> 960 bytes includes/sinbigbi.n | Bin 0 -> 1254 bytes includes/sisi.bin | Bin 0 -> 1674 bytes includes/text.bin | 151 +++++ mkshifts.s | 77 +++ sound.s | 538 +++++++++++++++++ 19 files changed, 1036 insertions(+), 1101 deletions(-) create mode 100755 domino.s create mode 100755 fond_7c.iff create mode 100755 font.neo create mode 100755 fontconv.gfa create mode 100755 fontconv.lst create mode 100755 includes/boink.bin create mode 100755 includes/colors2.bin create mode 100755 includes/domino.bin create mode 100755 includes/font2.bin create mode 100755 includes/shifter1.bin create mode 100755 includes/shifter2.bin create mode 100755 includes/shifter3.bin create mode 100755 includes/shifter4.bin create mode 100755 includes/sinbigbi.n create mode 100755 includes/sisi.bin create mode 100755 includes/text.bin create mode 100755 mkshifts.s create mode 100755 sound.s diff --git a/PARADIST.S b/PARADIST.S index f0b595c..a816292 100755 --- a/PARADIST.S +++ b/PARADIST.S @@ -101,7 +101,7 @@ start: move.b #0,$ffff8260.w move.b #2,$ffff820a.w - bsr psginit + bsr psginit2 bsr mfp_test jmp screen @@ -167,6 +167,7 @@ back: jsr mcp_adr+0.w endc + psginit: moveq #10,d0 lea $ffff8800.w,a0 @@ -195,6 +196,16 @@ waitvbl3: bne.s waitvbl3 rts +psginit2: + moveq #15,d0 + lea $ffff8800.w,a0 + lea psginittab,a1 +nextinit2: + move.b (a1)+,(a0) + move.b (a1)+,2(a0) + dbf d0,nextinit2 + rts + ikbd_wrt: lea $fffffc00.w,a0 ik_wait: @@ -244,7 +255,8 @@ mfp_of_my_st: old_408: dc.l 0 exit_with_408: - bsr.s exit + lea my_stack,sp + jsr myexit move.l old_408(pc),a0 jmp (a0) endc @@ -301,7 +313,7 @@ digiend2: even font: - incbin "includes\font.bin" + incbin "includes\font2.bin" even fontend: @@ -322,6 +334,7 @@ do_mdist MACRO move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w movem.l d3/d4/d5,$ffff8250.w ;mdist +; move.l buffer,buffer ; dcb 9,$4e71 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w @@ -340,6 +353,7 @@ do_mdist2 MACRO move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w movem.l d4/d5/d6,$ffff8250.w ;mdist +; move.l buffer,buffer ; dcb 9,$4e71 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w @@ -464,6 +478,98 @@ memtest: move.l #-1,(a0)+ dbf d0,memtest endc + + ;********************************************************** + ; Distorted scroller by Gunstick + + ifeq 0;test + lea buffer,a0 + move.w #scrhigh-1,d0 ;init all linebuffers + +nextinitline: + swap d0 + move.w #15,d0 + move.l #%01010101010101010011001100110011,d1 + move.l #%00001111000011111111111111111111,d2 +testinitbuff: + move.l d1,d3 + move.l d2,d4 + move.l d1,d5 + move.l d2,d6 + move.l d1,d7 + move.l d2,a1 + move.l d1,a2 + move.l d2,a3 + move.l d1,a4 + move.l d2,a5 + + movem.l d1-d7/a1-a5,(a0) + lea 12*4(a0),a0 + movem.l d1-d7/a1-a5,(a0) + lea 12*4(a0),a0 + movem.l d1-d7/a1-a5,(a0) + lea 12*4(a0),a0 + movem.l d1-d7/a1-a5,(a0) + lea 12*4(a0),a0 + movem.l d1-d4,(a0) + lea 4*4(a0),a0 + swap d1 + rol.w d1 + swap d1 + rol.w d1 + swap d2 + rol.w d2 + swap d2 + rol.w d2 + dbf d0,testinitbuff + lea 12(a0),a0 ;jump datazone + swap d0 + dbf d0,nextinitline + + endc + ;fill screen + move.l #%01010101010101010011001100110011,d1 + move.l #%00001111000011111111111111111111,d2 + lea screenmem+40,a0 + move.w #(5*4*15700)/230,d0 +fillloop: + move.w #25,d3 +fillline: + movem.l d1/d2,(a0) + lea 8(a0),a0 + dbf d3,fillline + lea 22(a0),a0 + dbf d0,fillloop + + lea linebuffbegin,a0 + moveq #19,d0 ;20 lines are scrolled +initdist: + move.l #scrolltext,textptr-linebuffbegin(a0) + move.l a0,a1 + lea buffer-linebuffbegin(a1),a1 + move.l a1,bufptr-linebuffbegin(a0) + clr.w bufcnt-linebuffbegin(a0) + clr.w shift-linebuffbegin(a0) + lea linebuffend-linebuffbegin(a0),a0 + dbf d0,initdist + lea inwavetab,a0 + move.l a0,wavetabptr + move.l (a0),a0 + move.l a0,distwaveptr + move.l #disttable,disttableptr + move.l #mdistadjust,mdistadjustptr + move.l #mdistcurv,mdistcurvptr + move.l #mwavetab,mnextcurv + move.l mwavetab,mactcurv + move.l #scrnadrs,nextscrn + move.l #ecran-(15*230)+160*6,cpybufdest +; move.l #ecran-230*20,cpybufdest + lea scrolltextend,a0 + lea scrolltext+1-scrolltextend(a0),a1 + moveq #40-1,d0 +mkpanic: + move.b -(a0),-(a1) + dbf d0,mkpanic ;prepare digisound downthere equ $600 move.w #(256+512/4)-1,d0 @@ -479,33 +585,9 @@ prepdigi: move.w (a6)+,d7 move.l a6,digiptr - ;********************************************************** - ; Distorted scroller by Gunstick - lea linebuffbegin,a0 - moveq #19,d0 ;20 lines are scrolled -initdist: - move.l #scrolltext,textptr-linebuffbegin(a0) - move.l a0,a1 - lea buffer-linebuffbegin(a1),a1 - move.l a1,bufptr-linebuffbegin(a0) - clr.w bufcnt-linebuffbegin(a0) - clr.w shift-linebuffbegin(a0) - lea linebuffend-linebuffbegin(a0),a0 - dbf d0,initdist - lea wavetab,a0 - move.l a0,wavetabptr - move.l (a0),a0 - move.l a0,distwaveptr - move.l #disttable,disttableptr - move.l #mdistadjust,mdistadjustptr - move.l #mdistcurv,mdistcurvptr - move.l #mwavetab,mnextcurv - move.l mwavetab,mactcurv - move.l #scrnadrs,nextscrn - move.l #ecran-230*20,cpybufdest - bra kaka + ifeq test lupo: move.w #74,d0 ll2: @@ -547,68 +629,8 @@ _digiok: move.l a6,digiptr move.w #$707,$ffff8240.w bra kaka + endc - - - lea font,a0 - lea buffer,a1 - moveq #25,d0 ;init all unshiftet linebuffers -testinitbuff: - move.l (a0),(a1)+ - move.l 4(a0),(a1)+ - move.l 32*8(a0),(a1)+ - move.l 32*8+4(a0),(a1)+ - move.l 32*8*2(a0),(a1)+ - move.l 32*8*2+4(a0),(a1)+ - move.l 32*8*3(a0),(a1)+ - move.l 32*8*3+4(a0),(a1)+ - move.l 32*8*4(a0),(a1)+ - move.l 32*8*4+4(a0),(a1)+ - move.l 32*8*5(a0),(a1)+ - move.l 32*8*5+4(a0),(a1)+ - move.l 32*8*6(a0),(a1)+ - move.l 32*8*6+4(a0),(a1)+ - move.l 32*8*7(a0),(a1)+ - move.l 32*8*7+4(a0),(a1)+ - move.l 32*8*8(a0),(a1)+ - move.l 32*8*8+4(a0),(a1)+ - move.l 32*8*9(a0),(a1)+ - move.l 32*8*9+4(a0),(a1)+ - move.l 32*8*10(a0),(a1)+ - move.l 32*8*10+4(a0),(a1)+ - move.l 32*8*11(a0),(a1)+ - move.l 32*8*11+4(a0),(a1)+ - move.l 32*8*12(a0),(a1)+ - move.l 32*8*12+4(a0),(a1)+ - move.l 32*8*13(a0),(a1)+ - move.l 32*8*13+4(a0),(a1)+ - move.l 32*8*14(a0),(a1)+ - move.l 32*8*14+4(a0),(a1)+ - move.l 32*8*15(a0),(a1)+ - move.l 32*8*15+4(a0),(a1)+ - move.l 32*8*16(a0),(a1)+ - move.l 32*8*16+4(a0),(a1)+ - move.l 32*8*17(a0),(a1)+ - move.l 32*8*17+4(a0),(a1)+ - move.l 32*8*18(a0),(a1)+ - move.l 32*8*18+4(a0),(a1)+ - move.l 32*8*19(a0),(a1)+ - move.l 32*8*19+4(a0),(a1)+ - move.l 32*8*20(a0),(a1)+ - move.l 32*8*20+4(a0),(a1)+ - move.l 32*8*21(a0),(a1)+ - move.l 32*8*21+4(a0),(a1)+ - move.l 32*8*22(a0),(a1)+ - move.l 32*8*22+4(a0),(a1)+ - move.l 32*8*23(a0),(a1)+ - move.l 32*8*23+4(a0),(a1)+ - move.l 32*8*24(a0),(a1)+ - move.l 32*8*24+4(a0),(a1)+ - move.l 32*8*25(a0),(a1)+ - move.l 32*8*25+4(a0),(a1)+ - addq.l #8,a0 - lea linebuffend-linebuffbegin-208(a1),a1 - dbf d0,testinitbuff kaka: ;******************************************************** @@ -696,7 +718,7 @@ loop: other_mfp2: equ *+2 bra my_mfp2 my_mfp2: - dcb blaf-4-1-20-3,$4e71 + dcb blaf-4-1-20-3+8,$4e71 move.w d7,digswitch movem.l hwpalette,d2-d7/a1-a2 move.l a1,usp @@ -717,14 +739,12 @@ my_mfp2: move.b #0,$ffff820a.w - not.w $ffff8240.w - + move.b #0,$fffffa19.w ;stop timer move.b #244,$fffffa1f.w ;244 asd equ 7 move.b #32,$fffffa07.w move.b #0,$fffffa0b.w ;clr pending - not.w $ffff8240.w move.b #2,$ffff820a.w ;ULM Hardware Scrolling PART 2 ;THIS PART IS TO BE STARTED BEFORE THE END OF THE VBL @@ -1402,210 +1422,7 @@ vorbufnok: call_shifter: - ;write first buffer - movem.w d_0/d_1/d_2/d_3,(a_1) ;~24 - lea 26*8(a_1),a_1 ;~8 - dcb 5,$4e71 - dcb 25-22,$4e71 - digi2 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - - dcb 25-13,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - dcb 8-3,$4e71 - - dcb 25-22,$4e71 - digi1 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - dcb 25-13,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - dcb 8-3,$4e71 - - dcb 25-22,$4e71 - digi2 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - dcb 25-13,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 ;~4 - addx.w d1,d1 ;~4 ;a out - swap d_1 ;~4 - addx.l d0,d0 ;~8 ;a in and d out - addx.l d3,d3 ;~8 ;d in and c out - addx.l d2,d2 ;~8 ;c in and b out - addx.w d1,d1 ;~4 ;b in - movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 - lea 26*8(a_1),a_1 ;~8 -; dcb 8-3,$4e71 - - dcb 2,$4e71 + incbin includes\shifter1.bin bra indistcalcloop ;~12 26 nops before right borde rueckwaerts: @@ -1746,211 +1563,7 @@ vorbufnok2: dcb 5,$4e71 dcb 2,$4e71 call_shifter2: - ;write first buffer - movem.w d_0/d_1/d_2/d_3,(a_1) ;~24 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 5,$4e71 - dcb 25-18,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - - dcb 25-13+18-22,$4e71 - digi1 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - dcb 8-3,$4e71 - dcb 25-18,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 25-13+18-22,$4e71 - digi2 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - dcb 8-3,$4e71 - - dcb 25-18,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 25-13+18-22,$4e71 - digi1 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - -; dcb 8-3,$4e71 - - dcb 2,$4e71 + incbin includes\shifter2.bin bra indistcalcloop2 ;~12 26 nops before right borde rueckwaerts2: @@ -2080,210 +1693,7 @@ vorbufnok3: call_shifter3: - ;write first buffer - movem.w d_0/d_1/d_2/d_3,(a_1) ;~24 - lea 26*8(a_1),a_1 ;~8 - dcb 5,$4e71 - dcb 25-22,$4e71 - digi1 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - - dcb 25-13,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - dcb 8-3,$4e71 - - dcb 25-22,$4e71 - digi2 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 25-13,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - dcb 8-3,$4e71 - - dcb 25-22,$4e71 - digi1 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 25-13,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 -; dcb 8-3,$4e71 - - dcb 2,$4e71 + incbin includes\shifter3.bin bra indistcalcloop3 ;~12 26 nops before right borde rueckwaerts3: @@ -2412,210 +1822,7 @@ vorbufnok4: dcb 5,$4e71 dcb 2,$4e71 call_shifter4: - ;write first buffer - - movem.w d_0/d_1/d_2/d_3,(a_1) ;~24 - lea 26*8(a_1),a_1 ;~8 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 5,$4e71 - dcb 25-18,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - - dcb 25-13+18-22,$4e71 - digi2 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - dcb 8-3,$4e71 - dcb 25-18,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 25-13+18-22,$4e71 - digi1 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - dcb 8-3,$4e71 - - dcb 25-18,$4e71 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 25-13+18-22,$4e71 - digi2 - calc_mdist2 - move.b #0,$ffff820a.w ;Open right border - move.b #2,$ffff820a.w - dcb 8-2,$4e71 - do_mdist2 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - swap d_1 - addx.w d1,d1 - swap d_1 - addx.l d0,d0 - addx.l d3,d3 - addx.l d2,d2 - addx.w d1,d1 - movem.w d_0/d_1/d_2/d_3,(a_1) - lea 26*8(a_1),a_1 - - dcb 2,$4e71 + incbin includes\shifter4.bin bra indistcalcloop4 ;~12 26 nops before right borde rueckwaerts4: add.w #16,d_2 ;~8 @@ -2945,6 +2152,9 @@ notreset: move.b $fffffc02.w,d0 + move.b #5,$ffff8800.w + move.b d0,$ffff8802.w + move.l #$0d000200,$ffff8800.w move.l cheatcodepos,a0 cmp.b (a0)+,d0 beq.s cheatok @@ -3141,6 +2351,7 @@ mkdig1: move.w #1,digcount move.l #dig1,digmod contdig1: + move.l #hwbouncetab,hwbounceptr lea digisound-2,a6 move.w (a6)+,d7 bra.s digiok @@ -3154,6 +2365,7 @@ mkdig2: move.w #1,digcount move.l #dig2,digmod contdig2: + move.l #hwbouncetab,hwbounceptr lea digisound2-2,a6 move.w (a6)+,d7 @@ -3237,76 +2449,19 @@ calcpredigi: movep.l d6,$ffff8800-512-downthere(a7) ;~7 endc - move.w #911,$ffff8240.w tst.w resync bne looop - -sco move.b #0,$fffffa0b.w ;clr pending no_int: tst.b $fffffa0b.w beq.s no_int - - - - move.w #$00,$ffff8240.w - + nop + nop + nop + nop bra loop ;-------------------------------------------------------------- - - jsr waitvbl - - movem.l black,d0-d7 - movem.l d0-d7,$ffff8240.w - movem.l hwpalette,d2-d7/a2-a3 - lea $ffff8209.w,a1 - moveq #10,d1 - movea.l tabentry,a0 ;get back tablepos - - - move.w #1500,d0 -opentopwait2: - dbra d0,opentopwait2 - dcb 196-72-2,$4e71 - move.b #0,$ffff820a.w - move.w #$007,$ffff8240.w - dcb 8,$4e71 - move.b #2,$ffff820a.w - - - -d0todeza3: - movem.l d0-d1/a3,-(sp) - addq.w #1,a3 - moveq #3,d1 - divu #10000,d0 - beq.s smallone -hexdezinit: - move.b #"0",-(a3) - dbra d1,hexdezinit - bsr.s hextodez - addq.w #4,a3 -smallone: - swap d0 - bsr.s hextodez - movem.l (sp)+,d0-d1/a3 - rts -hextodez: - movem.l d1/a3,-(sp) - move.w d0,d1 -nexthextodez: - divu #10,d1 - swap d1 - add.b #"0",d1 - move.b d1,-(a3) - clr.w d1 - swap d1 - bne.s nexthextodez - movem.l (sp)+,d1/a3 - rts - - ;********************************************************** cpyjsr2: dc.l cpy2_00,cpy2_01,cpy2_02,cpy2_03,cpy2_04 dc.l cpy2_05,cpy2_06,cpy2_07,cpy2_08,cpy2_09 @@ -5778,26 +4933,10 @@ o_cpy25: ;9,9,9,9,9,5+2 domino: - ;This is the famous domino-table. Try to understand it ! - dc.w $0000,$0000,$0004,$0000,$0008,$0000,$0010,$0000,$0020,$0000,$0040,$0000,$0080,$0000,$0100,$0000 - dc.w $0200,$0000,$0300,$0000,$0380,$0000,$03C0,$0000,$03E0,$0000,$03F0,$0000,$03F8,$0000,$03FC,$0004 - dc.w $0004,$0008,$0004,$0010,$0004,$0020,$0004,$0040,$0004,$0080,$0004,$0100,$0004,$0200,$0004,$0300 - dc.w $0004,$0380,$0004,$03C0,$0004,$03E0,$0004,$03F0,$0004,$03F8,$0004,$03FC,$0008,$0008,$0010,$0008 - dc.w $0020,$0008,$0040,$0008,$0080,$0008,$0100,$0008,$0200,$0008,$0300,$0008,$0380,$0008,$03C0,$0008 - dc.w $03E0,$0008,$03F0,$0008,$03F8,$0008,$03FC,$0010,$0010,$0020,$0010,$0040,$0010,$0080,$0010,$0100 - dc.w $0010,$0200,$0010,$0300,$0010,$0380,$0010,$03C0,$0010,$03E0,$0010,$03F0,$0010,$03F8,$0010,$03FC - dc.w $0020,$0020,$0040,$0020,$0080,$0020,$0100,$0020,$0200,$0020,$0300,$0020,$0380,$0020,$03C0,$0020 - dc.w $03E0,$0020,$03F0,$0020,$03F8,$0020,$03FC,$0040,$0040,$0080,$0040,$0100,$0040,$0200,$0040,$0300 - dc.w $0040,$0380,$0040,$03C0,$0040,$03E0,$0040,$03F0,$0040,$03F8,$0040,$03FC,$0080,$0080,$0100,$0080 - dc.w $0200,$0080,$0300,$0080,$0380,$0080,$03C0,$0080,$03E0,$0080,$03F0,$0080,$03F8,$0080,$03FC,$0100 - dc.w $0100,$0200,$0100,$0300,$0100,$0380,$0100,$03C0,$0100,$03E0,$0100,$03F0,$0100,$03F8,$0100,$03FC - dc.w $0200,$0200,$0300,$0200,$0380,$0200,$03C0,$0200,$03E0,$0200,$03F0,$0200,$03F8,$0200,$03FC,$0300 - dc.w $0300,$0380,$0300,$03C0,$0300,$03E0,$0300,$03F0,$0300,$03F8,$0300,$03FC,$0380,$0380,$03C0,$0380 - dc.w $03E0,$0380,$03F0,$0380,$03F8,$0380,$03FC,$03C0,$03C0,$03E0,$03C0,$03F0,$03C0,$03F8,$03C0,$03FC - dc.w $03E0,$03E0,$03F0,$03E0,$03F8,$03E0,$03FC,$03F0,$03F0,$03F8,$03F0,$03FC,$03F8,$03F8,$03FC,$03FC + incbin includes\domino.bin voltab: ; Soundtable from 68000 ST-Magazin - incbin includes\powervol.bin + incbin includes\voltab.bin ;********************************************************** ; Distorted scroller by Gunstick @@ -5805,7 +4944,7 @@ voltab: mdistgraph equ *+2*16 ;the scroller graphics buffer -> bss - incbin includes\colors.bin + incbin includes\colors2.bin mdistcurv: rept 35 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,0,0,0,0,0,0,0 @@ -5823,14 +4962,36 @@ mbouncetab: ;do not use 0 hwbounceptr: dc.l hwbouncetab hwbouncetab: -; dc.w 0,0,0,0,0,0,-1 -; dc.w 0,0,230,230,230*2,230,230,0,0,-1 -; dc.w 230*12,230*12 -; dc.w 230*12,230*12 -; dc.w 230*12 -; dc.w 230*12 -; dc.w 230*12 dc.w 230*12 + dc.w 230*12 + dc.w 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*2 + dc.w 0 + dc.w 230*2 + dc.w 230*3 + dc.w 230*4 + dc.w 230*5 + 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 230*12 dc.w 230*12 dc.w 230*12,230*12 @@ -5860,6 +5021,7 @@ hwbouncetab: dc.w 230*12,230*12 dc.w 230*12,230*12 dc.w -1 + scrbase equ 0 scrnadrs: dc.l ecran-scrbase*230+64400*0 @@ -5939,13 +5101,19 @@ openlowtab: dc.b 2,2,2,2,2,2 even +inwavetab: + dc.l _nix + dc.l _nix + dc.l _nix + dc.l _nix + dc.l sinschief + dc.l sinschief + dc.l sinschief + dc.l sinschief + dc.l _nix + dc.l boink + dc.l _nix wavetab: -; dc.l byteschief,0 - dc.l wordschief - dc.l wordschief - dc.l wordschief - dc.l byteschief - dc.l byteschief dc.l _nix dc.l wordhinher dc.l _nix @@ -5996,6 +5164,9 @@ mwavetab: dc.l wordschief dc.l 0 ;end +boink: + incbin includes\boink.bin + dc.w 128 hacker: dc.w 2-1,-2,2,-2,2,-2,2,-2-1 dc.w 4,-4,4,-4,4,-4,4,-4-1 @@ -6076,10 +5247,8 @@ bytezurueck: dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 128 sinschief: - dc.w 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 - dc.w 0,0,1,0,0,1,0,0,2,0,0,1,0,0,1,0,0,2,0,0,2,0,0,2,0,0,2,0,0,1,0,0,1 - dc.w 0,0,2,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128 - + incbin includes\sisi.bin + dc.w 128 wordhinher: dc.w 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 dc.w -2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,128 @@ -6093,6 +5262,17 @@ wordschief: dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,128 + +wordzurueck: + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,-2 + dc.w -2,-2,-2,-2,-2,-2,-2,128 dc.w 0 dc.w 3,2,2,2,2,2,2,2,128 byteschief: @@ -6181,106 +5361,23 @@ sinus: dc.w -1,0,0,-1,0,0,-1,0,0,-2,0,0,-1,0,0,-2,0,0,-1,0,0,-2,0,0,-2,0,0,-2,0,0,-3,0,0,-2 dc.w -3,0,0,-3,0,0,-3,0,0,-2,0,0,-3,0,0,-2,0,0,-2,0,0,-2,0,0,-1,0,0,-2,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,0 dc.w 128 -bigsin: dc.w 1,0,0,1,0,0,1,1,1,2,1,1,2,1,1,2,2,2,3,2,2,3,3,3,3,3,3 - dc.w 3,3,3,3,3,3,3,3,2,3,3,2,2,2,1,2,2,1,1,1,0 - dc.w 0,0,0,-1,0,0,-1,-1,-1,-2,-1,-1,-2,-2,-2,-3,-2,-2,-3,-3,-3 - dc.w -3,-3,-3,-3,-3,-3 - dc.w -3,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,0,-1,0,0,0,0,0,128 +bigsin: + incbin includes\sinbigbi.n + dc.w 128 + fuzzy dc.w 0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7 dc.w 8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13 dc.w 14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18 dc.w 19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23 dc.w 128 -zero equ 1 -one equ 3 -two equ 5 -three equ 7 -four equ 9 -five equ 11 -six equ 13 -seven equ 15 -eight equ 17 -nine equ 19 -dp equ 21 -sp equ 23 -ka equ 25 -mi equ 27 -kz equ 29 -fz equ 31 -az equ 33 -a equ 35 -b equ 37 -c equ 39 -d equ 41 -e equ 43 -f equ 45 -g equ 47 -h equ 49 -i equ 51 -j equ 53 -k equ 55 -l equ 57 -m equ 59 -n equ 61 -o equ 63 -p equ 65 -q equ 67 -r equ 69 -s equ 71 -t equ 73 -u equ 75 -v equ 77 -w equ 79 -x equ 81 -y equ 83 -z equ 85 -space equ 87 -;Panic buffer for scrolltext - dc.b 01,0,0,0,0,0,0,0,0,01,0,0,01,0,0,01,0,0,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01 - dc.b r,r+1,e,e+1,s,s+1,p,p+1,e,e+1,c,c+1,t,t+1,a,a+1,b,b+1,l,l+1,e,e+1,s,s+1,space,ka,ka+1,h,h+1,a,a+1,v,v+1,e,e+1,space,i,i+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 b,b+1,y,y+1,e,e+1,space,az,az+1 - dc.b space - dc.b space +panic: + ds.w 20 scrolltext: -; dc.b zero,zero,zero,zero,zero,zero,zero,zero,0 - rept 10 - dc.b space,space,space - endr - dc.b space,space,space,h,h+1,e,e+1,l,l+1,l,l+1,o,o+1,space,space - dc.b t,t+1,h,h+1,i,i+1,s,s+1,space,space,i,i+1,s,s+1,space,space - dc.b g,g+1,u,u+1,n,n+1,s,s+1,t,t+1,i,i+1,c,c+1,k,k+1,space,s,s+1 - dc.b space,space,space,r,r+1,e,e+1,v,v+1,o,o+1,l,l+1,u,u+1,t,t+1,i,i+1,o,o+1 - dc.b n,n+1,a,a+1,r,r+1,y,y+1,space,space,f,f+1,u,u+1,l,l+1,l,l+1,mi,mi+1 - dc.b s,s+1,c,c+1,r,r+1,e,e+1,e,e+1,n,n+1,mi,mi+1,s,s+1,c,c+1,r,r+1,e,e+1,e,e+1,n,n+1 - dc.b space,az,az+1,az,az+1,space,space,space - dc.b n,n+1,o,o+1,b,b+1,o,o+1,d,d+1,y,y+1 - dc.b space,space,c,c+1,a,a+1,n,n+1,space,space,b,b+1,e,e+1,a,a+1,t,t+1 - dc.b space,space,u,u+1,space,l,l+1,space,m,m+1,space,az,az+1,az,az+1,az,az+1 - dc.b t,t+1,h,h+1,i,i+1,s,s+1,space,s,s+1,c,c+1,r,r+1,e,e+1,e,e+1,n,n+1,space,n,n+1,e,e+1,e,e+1,d,d+1,e,e+1,d,d+1,space - dc.b o,o+1,v,v+1,e,e+1,r,r+1,space,one,one+1,space,m,m+1,o,o+1,n,n+1,t,t+1,h,h+1,space - dc.b f,f+1,u,u+1,l,l+1,l,l+1,t,t+1,i,i+1,m,m+1,e,e+1,space,c,c+1,o,o+1,d,d+1,i,i+1,n,n+1,g,g+1,az,az+1,space - dc.b b,b+1,u,u+1,t,t+1,space,b,b+1,e,e+1,c,c+1,a,a+1,u,u+1,s,s+1,e,e+1,space,o,o+1,f,f+1,space - dc.b t,t+1,h,h+1,e,e+1,space,s,s+1,c,c+1,h,h+1,o,o+1,o,o+1,l,l+1,space,i,i+1,t,t+1,space - dc.b t,t+1,o,o+1,o,o+1,k,k+1,space,m,m+1,e,e+1,space,h,h+1,a,a+1,l,l+1,f,f+1,space - dc.b a,a+1,space,y,y+1,e,e+1,a,a+1,r,r+1,az,az+1,space,i,i+1,space,h,h+1,o,o+1,p,p+1,e,e+1,space - dc.b i,i+1,t,t+1,space,w,w+1,i,i+1,l,l+1,l,l+1,space,b,b+1,e,e+1,space,t,t+1,h,h+1,e,e+1,space - dc.b b,b+1,e,e+1,s,s+1,t,t+1,space,f,f+1,u,u+1,l,l+1,l,l+1,s,s+1,c,c+1,e,e+1,n,n+1,space - dc.b d,d+1,i,i+1,s,s+1,t,t+1,o,o+1,r,r+1,t,t+1,e,e+1,r,r+1,space,e,e+1,v,v+1,e,e+1,r,r+1,space,d,d+1,o,o+1,n,n+1,e,e+1,space,az,az+1,space,space - dc.b g,g+1,r,r+1,e,e+1,e,e+1,t,t+1,i,i+1,n,n+1,g,g+1,s,s+1,space,t,t+1,o,o+1,space,m,m+1,y,y+1,space - dc.b b,b+1,e,e+1,s,s+1,t,t+1,space,f,f+1,r,r+1,i,i+1,e,e+1,n,n+1,d,d+1,s,s+1,dp,dp+1,space - dc.b t,t+1,h,h+1,e,e+1,space,l,l+1,o,o+1,s,s+1,t,t+1,space,b,b+1,o,o+1,y,y+1,s,s+1,space - dc.b ka,ka+1,g,g+1,i,i+1,v,v+1,e,e+1,space,m,m+1,e,e+1,space,a,a+1,l,l+1,l,l+1,space - dc.b y,y+1,o,o+1,u,u+1,r,r+1,space,s,s+1,l,l+1,o,o+1,w,w+1,space,r,r+1,o,o+1,u,u+1,t,t+1,i,i+1,n,n+1,e,e+1,s,s+1,space - dc.b i,i+1,space,w,w+1,i,i+1,l,l+1,l,l+1,space,o,o+1,p,p+1,t,t+1,i,i+1,m,m+1,i,i+1,z,z+1,e,e+1,space,t,t+1,h,h+1,e,e+1,m,m+1,kz,kz+1,space - dc.b r,r+1,e,e+1,s,s+1,p,p+1,e,e+1,c,c+1,t,t+1,a,a+1,b,b+1,l,l+1,e,e+1,s,s+1,space,ka,ka+1,h,h+1,a,a+1,v,v+1,e,e+1,space,i,i+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 b,b+1,y,y+1,e,e+1,space,az,az+1 - dc.b space,space,space + dc.b 20,20 + incbin includes\text.bin +scrolltextend: dc.b 0 even ;********************************************************** @@ -6296,9 +5393,11 @@ 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 + dc.b 7,%11111011,8,0,9,0,10,16,11,5,12,100,13,2,$ff,0 even hwpalette: + dc.w $000,$227,$005,$654,$543,$432,$321,$777 +; dc.w $000,$227,$005,$740,$730,$720,$710,$777 dc.w $777,$666,$555,$444,$333,$222,$111,$002 dc.w $0700,$0707,$0474,$0777,$0606,$0505,$0404,$303 graphic: @@ -6306,7 +5405,7 @@ graphic: cheatcodepos: dc.l cheatcode cheatcode: ; B U S cr - dc.b 48,48+$80,22,22+$80,31,31+$80,28,28+$80,0 + dc.b 48,22,48+$80,31,22+$80,28,31+$80,28+$80,0 even lowbyte: dc.b 0 diff --git a/domino.s b/domino.s new file mode 100755 index 0000000..4d145b5 --- /dev/null +++ b/domino.s @@ -0,0 +1,18 @@ +x: ;This is the famous domino-table. Try to understand it ! + dc.w $0000,$0000,$0004,$0000,$0008,$0000,$0010,$0000,$0020,$0000,$0040,$0000,$0080,$0000,$0100,$0000 + dc.w $0200,$0000,$0300,$0000,$0380,$0000,$03C0,$0000,$03E0,$0000,$03F0,$0000,$03F8,$0000,$03FC,$0004 + dc.w $0004,$0008,$0004,$0010,$0004,$0020,$0004,$0040,$0004,$0080,$0004,$0100,$0004,$0200,$0004,$0300 + dc.w $0004,$0380,$0004,$03C0,$0004,$03E0,$0004,$03F0,$0004,$03F8,$0004,$03FC,$0008,$0008,$0010,$0008 + dc.w $0020,$0008,$0040,$0008,$0080,$0008,$0100,$0008,$0200,$0008,$0300,$0008,$0380,$0008,$03C0,$0008 + dc.w $03E0,$0008,$03F0,$0008,$03F8,$0008,$03FC,$0010,$0010,$0020,$0010,$0040,$0010,$0080,$0010,$0100 + dc.w $0010,$0200,$0010,$0300,$0010,$0380,$0010,$03C0,$0010,$03E0,$0010,$03F0,$0010,$03F8,$0010,$03FC + dc.w $0020,$0020,$0040,$0020,$0080,$0020,$0100,$0020,$0200,$0020,$0300,$0020,$0380,$0020,$03C0,$0020 + dc.w $03E0,$0020,$03F0,$0020,$03F8,$0020,$03FC,$0040,$0040,$0080,$0040,$0100,$0040,$0200,$0040,$0300 + dc.w $0040,$0380,$0040,$03C0,$0040,$03E0,$0040,$03F0,$0040,$03F8,$0040,$03FC,$0080,$0080,$0100,$0080 + dc.w $0200,$0080,$0300,$0080,$0380,$0080,$03C0,$0080,$03E0,$0080,$03F0,$0080,$03F8,$0080,$03FC,$0100 + dc.w $0100,$0200,$0100,$0300,$0100,$0380,$0100,$03C0,$0100,$03E0,$0100,$03F0,$0100,$03F8,$0100,$03FC + dc.w $0200,$0200,$0300,$0200,$0380,$0200,$03C0,$0200,$03E0,$0200,$03F0,$0200,$03F8,$0200,$03FC,$0300 + dc.w $0300,$0380,$0300,$03C0,$0300,$03E0,$0300,$03F0,$0300,$03F8,$0300,$03FC,$0380,$0380,$03C0,$0380 + dc.w $03E0,$0380,$03F0,$0380,$03F8,$0380,$03FC,$03C0,$03C0,$03E0,$03C0,$03F0,$03C0,$03F8,$03C0,$03FC + dc.w $03E0,$03E0,$03F0,$03E0,$03F8,$03E0,$03FC,$03F0,$03F0,$03F8,$03F0,$03FC,$03F8,$03F8,$03FC,$03FC +y: \ No newline at end of file diff --git a/fond_7c.iff b/fond_7c.iff new file mode 100755 index 0000000000000000000000000000000000000000..40e84efb81fdc35193eba6c8e2899aab0d20adf1 GIT binary patch literal 21000 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 ZxAVg7yl^`&-1ddrdEs_m_(k)={{u1C2=f2{ literal 0 HcmV?d00001 diff --git a/font.neo b/font.neo new file mode 100755 index 0000000000000000000000000000000000000000..a4e436a8421f658edd320ba20906e73e2c4f5d60 GIT binary patch literal 32128 zcmeHue{fXCo#*$dH9X0q(Hj^Bi63GHWPz~32#v-T7&6aMWD$d540<4J0TUB~vTs+Ku#=h>4d)(*_-=hlHO2khf-6CHW8a^Ro(Z^W064&x);DN9 z%D88s47p7E7*>YZ%3-piWIK8bt6(g6Iy?} zX@C-BZlupqQnbH5OTTi!p@28%hNb?kJrNp*!Pk-%o z(b{B!TUk9WAzF@}uFt=RQfsVAOyDK9#AibruIRstrw3nu*;E7YO=14X_jS>l zE&31X@{m`K2yGB^bvrke`}HM0zdil@rlCzX?8CPrPqRL>*qv@t_|$u=dOp65sid_C z3rvju^4#cL{uSuws}Jux@e<0-WO6+J!}nUP!ex~8`<0h?`ixuydK_EC=m5U zTx%M7@bPs6esh6CUvhke>bUr&^vvh-Fagg~8=e`%^NiNgEP-#M@fw>J`0(N4ms)q? zPcD9iAQN(!KT-eSzdsT#{94uzdvaUKvughRtZ(_V0^e&P+nk;`|FXc>U2w~w*D^VN ze)|%yt?Yq*A2;sCY^=YHFJ-81m*a2vlFp{vvo zDqG$s+QX}hiFeZ2Ypgb@+?{BXR+ z6zkokZ?PQeP{^$n`0a=9t8*dmi+pSK6!hO+M*~8CzTb*_{c3y|?=t;-MA_5cZ_4%6QQi#w z=UF!H;q%{H`6Z37b;0f5$GW0z`&Wz}U!A+|Usrkl)yA-N3w&z4egCWEet89*CCuOX z@p-WctZ&_ZQa>N@#@9%f#5m;Hx`wtgtmoV_hMa#cDZ5_7YK7m|&)XrQW|Lz*c>a*^ z;o{d7w1@a*GyYsJ?x^)FL?{vUdUEk67r(UqbZ9$YeH~vXMDlrU4;_;DY-LC6I;w4e z{}oMe@v9C23i{RfYPOdApugZ64~^e-Z=#TAeW%PeVJCZf2agplp`TStKfrxju;HUK zVm^K8`1}Jxe(FkFOvu}wZ|)N1!RLDVg@5R}Qk5#4yN+*9=aNzJeAB_R17f_tFuYhk z_h8M^|DO15o;}bTI+nS_t*@<~Jt5kuieJ1e`&DuCq2Y?Ji03~0@`k+v-^V@SK~eA2 zWSfkicPw7>3#%|qD|eqC74^>CJ)Mfwf=tJzyG@TuVZP9 z(-ZGW9^mr>jeGpP@v(IoVwx9>k9*}^udE%NwKvapn)jGx)6+g5(fng_GIa7c7WLms z-a6iT`iB`Zbbo`-yH))ciMG6Gv$vt|f0+D-*h1jj^_}?x%lf&`4|M$t-@f23>c7ql zF1&i-o%Z#NnT z{)3fcK0nzI;3IWj`Bw7#Ded;azP36nRj|y0&qEZxY?D0)d}?vm>>P6w@K=t#-Ccd% zKKOPWafa|uLud=SrUydxYy$qK0{%}%@IgNEpyyw1CI2!--Dc?Dbc|HSG73?s0;A#k z_leECf(~K)B16muAJY6q>rdhl^_73u{O3;*4~RIZ45GY{-^fQKf4Pb{&D9G&9f1o(+21Ve#P$19>P5H{gWSmDF3O;U6B&WAN+XYMn2-j1G>MP z$alC6WVzGChUpN)dg6d0F72;$f0PEkepGdaw%aqt*Ub%;**T)JNVc{b`qF-~0r;9l zxe0tE108BUqWDKgc}MNYze4U%BU$-tM6GmEtgjy?TRGefE!xkXO~Bp@s9gMlUnJni zI+XrVk1xn|Deo5X@`%JkIn>96_!<147{56mk@~xp+=(K7?<=^_S4xauXKvIL_-^|_ zyd?qq0%RV(IOOM0BOSnZFXVl|Q=XIK33{9qcoCn<^}^Nr+`va>dvV;YDa)VE4U$NVJcynus6^Fx&tnOFJW(?N{;ybNX-#;P}s-0RK~wSRBv!Ee$7#} zz)NcV+xL(u@dx>cTF+YE9BMZIawcC<^1){Z-5%I~w}x7T{g8ZU20npJT;%ZW*k7^S zs%RDOLL9Ny+vjq3(LBU!(ILY|{EBzU(ISCY<8$wdR`NA;osa1Cu!_aRcxm~zNY?su z!B+zEGh5Ht&2IzWD$HfH??6pLe{m-)^~d+q0uk@hhUC3uLKpgZr62Sy@Ktm0;p3*w zcoXV>4V84fr|Sp#$S~~_^PQsLBa09o;(1f>FI|5U@igSz(~gMy!l>=zi@=|V@pV&1 zg}`S=XpmQtnFUmiOY6t}H^yw>Ta*ozfWLBP$BelGujWTd*yp^c--@?e2>Y)2$7D^a zfc2KFfV`6E$Dt8(;Jc7_qd(~1c%v*P>`5nWN92r8Iqk&!V|xD8I4$1%iyL#$-(nYh zC=a=)%SC+^&%2Hx*Yn0m3HUK*Zj})gc-;uCb}?QXN%50OtcSg1`ut<^E*ZydG$A+P zbK<4U_-~LeH5TzdA}V$0ka3hUzWoo;BXWHtz46uf45viK<6{4=8~!)QCp2GpxZD7* z=M44b`yeiF4w#O`nlVgTOf0O)x0S9N%gGB+s>D)1|mJ) zbr)~gU)=kJW1@V=n$Q?{3)^yPO&jj}d?d&}wEX;AD@A;7 zc6}`Q$>KlX|B&D#X4l24D$(D?D;^GKcWNoZKsW7-$#~}d-n(Rfy(eyaMBw{rP5pmDRvr=k9dwRJKI7b#dPv~g?Tku%+K>Ide*dKRC$YPspIr~GZJG6Uo}EpfjWwaX zP4bcJ<^3=2A6U@un)?3uI1gohLo{~U%X(aA?+FQVPf@2nqS{n$_M{Zi~Z z0`GT3UgCQBQ2G$7D7dD+zkM{zR$q1L#0lBI`OX{f99#Q1CGP*~vVHSk%Co;Y>hXxN z2R-~jd{3s=vRUAjI{$H@EpH~KiM}^H65EUZA9`-hKxIF6(6oOy>aqWoXRhPzKWcuV z%XY|S$%Jd_`#FaF2C?!G#}L+`-RtEwvT7fKd#loqD}(s5>8Q+m==_JR_bpq|9{kGQ zNCxr86g!^&<5YGlB?OQ7m7zP>M&Q%;?{k;fHSiq#%1F$` z`)VGusocwJXun{jXSE3YL43%2u({Z`()kbH?uvaH*ul-Am19C*Lyjxs(Fe-w!%-7u zwIBOgW$$zu`@bv)eENR-HycVSX$p4BNEwLBqRK9A3wirEzF%-kPKvlPi0^Z1Urpyf ze7_}lV1mp?%Ga?H;EVRsA#TBbM3V4dd5m{d+R?7^JMN6aU+A(O-zdjd-``FRwuOB| z_>+@N@P_%(`TR>nNn@#ub9}!L4_y}cgZS)cLUP|q=Ra)iM-XQLAA8DZ#`tn(r=!w; zWJ626{cFTI9Qy5!bgw4nGFz2%H95SO>)+ogdBau2WoF8>sK8g!N**K1mS<&L504;c zV2NW${6Ty<=t=BL>ih?0vNvNRzz4t79cse zU#=Mu{La7c*x(J=w=M@h3%n2!fY-j_K|ROAIhbt%5H@OO;JiMYEvfEt5OMbb+CU?et$Aury7s!hv z8RGB}FU}HqF|rg#Uw54=@ns`X zE19~E&o1}yWlNHTrbWEST#U0{E9YNdw}0wvhTj!DMC^Ox{SY6?@z?wy8uIuy=mj+kM&gjPYknEfaL2z7{ke$4X};<| z3Uo5ginBX~eP~zXA3MQD*Y72!^``BfE^8bzE){t!#jEVu5+Bq2z>e6puL1W)Br6t) zk-FmXO}{MgiI2LE_Uuac8s?Wbeve`O$$i{sup0sUx`P@i;$EfDd!ezXGQ_mrwB6I? zKX5_=VjeoHQY9iTAmqvOurE1Jf6$1Zuc#Gz-GPMOOuOcnJ#@ak+X?+uAa7y--z==( z&SWi5>UEd+hBhXM>5f_)|<9_y4;y&V-nxulp*jXH%zc8F|Y8Ph(~?? z5W=`)eeMJypJ~^0Sq!bXw7t{)mrUMv(!f6CHak6H<)>-R3#E1HNY9^ZA3yXJ9`hX<=N*sgia}%=@@7`ph~bv&ycP2z12d=aY2HBi$oB?M5%W*$&F)PetA^dv~q*6 zu8*Z2$3AMOkzy9&7tIfJKEqj$`!nNfU0y%R3jL-ZclRItugjfp)NU7k z#CZ~C0R1}7$<#Ug(f($t#VTB5dfoiKevdn+<-YIdzq(@IyqEH(<_&M)J+@kAA$T6k z*^BB_nCf`0W8i!Jbp5;*;tHXs?PpVGE1IUMQk8XkCln9y<#3Q9{}e0-^CcIYytG$6 zlTBmc3^z4zI1T=pu~;E^9?RL1y33kf$VYZXTK@TMx_(}3g_o~rJG}gG^^kcmv^0aq;%dfA>!F)-}u$>w}{Fn>nSQPOc_o5`Ka%RK6%!WhcVk!Fh4Y{6$ zpTxSX#=7+7YMpk&zE_B6RN0rS{q4tSrRT9koD4tc*H`6WzNFfj8=HVVTp76|ys^qP zHE*bb!4Pq$pVwCBv7A|0KRpFEY?R>q)Qt05A2E48%g=YHvTjfFkSN@`jB|qLyKX2m zX^)Y=misAX_|93bIVAEMP**wPN(Ov7pWw$$-}2&?Ipv=Ie7W)ye!fGMb$g_Eh%Z-h z*saR0;u};`wlHUk2v5Zeu)_kM9XOBWWWBg$9pbTO=+Bp{{6m+g9T6AEc*Ac`@ep6G z&UbBuHb$TiQsrR2gd>gt->{N3r0|iPaV1W<#OEq~YCn&-Wkkd+*bkKZcv-9u^DoF7^!r2qVZ#3L!?cb{ zy|_v0C#v+L<-z*@r}pxql4!5$x_w|p>@&*@8aaO?R0jr- z_wC0ESdSAzuJdL1lg}t$Z%^zeGk8Q5H;C~^9O|OXaq0HCTCX~v!s|GA2wB;9J*!US zZ{Q6!9_6?&-^FZVkHWBte51B+Hbf{1`D!7z@h8Wn%bJG_gQsNRk8%*@amn^#zf)hf zulZ25%BSSwxq%_zljlo-FUT9t-re*Q5eIar^H^ClE#oFN-a$FPJNkL-w!1ELQ7ToU=BneyQC!FFDDOD6T;@ac`K?n2&7&f2)$bLQ z2cHk}p;gX#%@9uv0k<|CdeBw;wY5YHi(bw7BX^wJw{UCLNCr~%$6ZBwx_|%6_)jWeU zgKv3!L+3%pRUYL3^?Rn$DYm)bTK~A}AFcT~zqjj^T`w=&>l%CNKT~h~G*5k}=v1MN z=$E||D`1`X{iyFpW{XShPkQ+Fjpo=(*bW&z;pIVEoqOTO&J^0?sms>6YZ<+db~D`V zYChjgj%^Z_%ea>P6+7(iCnJd;Zj#~0DOg|fGf642&n@_Yj9`Q7Tljm}`8C-CnVr_a zlrx-4Rla&Pq4&{l*8i>WZLWKO)dOGk7w48v>?3+17OR~Ik6^5oJ%a|;c`VE(yw}1Xw z!;Lz3AG_;PwaCB7Jj|!XSC4#(4SW+z(9ajpk!e>!H%7aQ{rSr{*MrZR-wOR1IR9o8 zblwB!vE+GOuHu36$;K3eeq-k7({BwM6dkUMZMals>3y`8soE**M^Q8KEm&`UzUEfr zOQAA3|6I{e4q$MGL*R1`rS7$O0lE_!#I`B;x`;3RyoWxY4;jZ*;)GHr^n3fZwxO^8 z=4pzjm!>l3N)viNvg2a%VxlTf9ardB;qgy^udb{Xc`IZN6h6e5h;sf5=DY)-_ zSNstDAprMVX2H3?@v!y3uF>XKHotmuJN|#?_4?O;x{2tta}Mj)D0Jo*=9g#Rq3GnY z%NeUAqvLZMeoe;Rumdy$-_6Ed-?!rw%dN)x#m7xT5h46w{>lBkB=!l^N9^lah%d2k zpA&fx)ROVO4SwjN&TPk$`gNun^VZZ=>=Q1>0I-7IkL*CyO;}efUV7-0;7g_n9l91z z@}wl@tdx}s{bjLVDE_ZTeZ;<(IDd&{(k=d9MDrQVFIOS{6!Cj|J~d@!1-=8RuLGan zkL&=i68I=?d?I|gWwb0eAHB4@?e?A6Pc*8HUzt(E*)IRDaO%?Ei66rG(91Hu1nzqI z|2E3LX#Mr7_#J#>q%wb%(oUPir}ra2`)SA5A}bel$*x2?1Lwlt4MmNsSRu}i)ZJED zVYPxU}>A1>|{BP-7nFCiaQAWd5Hm+l6oHRq=Z}@*b7o?{(Ox{w?&U_aj@V zmM@h0Lw@8F%)cc1&dC|%t;0po-DBpE;XH)@>kiLIr`=4lii2h|ftL#{l8J#Wh?ey?{1KN8GmtIf! zZj`uJ*<%8q^dHQVi}TA3bimwcK27fphg1La)l%QibzWS5k-@%HV?7E#KBGOXJG{3X zpBuk(FkKC>U^f2qhXZQ|Q~28D{JTn}zgqaK1k4-Ohv*;Uz6R}GO-9^WSS6M%r6@PA z<8NiZyn3l%(0{5+v|NHe*8M&*b?;Ou?DO(Zh_9oBDg@siGAd>XeBJTr5~)A+J|&^q zwbA9+SJ3b0;l8#gbROr6iSaw5r@4jss^sB6I!{0EH{7Ii_p$#9|Do@H+V6+)|B>Q+ zufQg*21Ct1)t?<|J|yxf!S?O)5qbWKW1pFWCu(`j9;LT32A>$d5?clTtM7l>@6PY1 zc3MazU;d93UlZ%_Z`aN~eW?KZqVR1RZaO6Q|5aJvZ#uYX0O<<$T+I^~@SLyTx~*-Q zuSW;+PWr#3j-LC*zj~hOc7xyT2UABdooM{W>oy2{Ki@s)<(c?)It?eSbJLmNbA4}` zEl5|edFfxu^H^HG8|PY=i}-Z1@v>!IyWu%qulOz3_f73WQ9nif{NMaWaefr%M{$1K z7*7?~MR8pe*F|w%6zxFK4ixP`(GC>tK+z5q?Lg5E6zxFK4ixP`(GC>tK+z5q?Lg5E z6zxFK4ixP`(GC>tK+z5q?Lg5E6zxFK4ixP`(GC>tK+z5q?Lg5E6zxFK4ixP`(GC>t vK+z5q?Lg5E6zxFK4ixP`(GC>tK+z5q?Lg5E6zxFK4ixP`(GL9owgdkg5@3B& literal 0 HcmV?d00001 diff --git a/fontconv.gfa b/fontconv.gfa new file mode 100755 index 0000000000000000000000000000000000000000..d0831897a4ed2042efeae96bceaf468da5e51473 GIT binary patch literal 1504 zcmZ8hTWecK5S~4^+Qv$XYy9AV*>f^8TN-3pnZf%^_Y3t@f z2<}^dfPY1w`_P{dLmou%Lm!HY4#ban$RBWKcSlZ}$txNMhl{e@XvB z`fqqG3z+wkW03yRfBWAbEqCK@Hs8bo30f%yTX`fk< zfOrF?OVvE_ssjAK2)96#u6L@lW%QlEymg=}(z$d+LCiUjFul1>b%dNBDxKrH>Z=FK zYA5)Ea%Mo#8JCqR&93MkLH(FS4uu@6B-Uh(n8;C;=aov`InerE7KgBAb@EaKLtDx# zL4yPlT$eJ)k4c@`O@-uX==2n4#4Gutz16!IU7|i1y?>Hk2{YoTig~>fDimTC85Cg_ z8x&)f8kAs`80P8X1%Y;?^DRJ}-h85+%#aR3AFxCDx=Gx!EdPSY~E{0(xQRp6q zu|fASObz-T!`z@BFsvE$03&AXV8o1v7%}5VjF|BgMs>s3#h4k7FlNTj7&GG+jG6H( z#?08mgc-kK!i>k5Fyjd(tmP@DRkO!4Od~?7%QC=d+`-=itc^Q(KzQ8!uLzGj_$6U# zhUPw}4pQS_j_UA~Q6#I}gpb|jp}n%Y;t#%P6OIAGcUC)guqGmmbowd5yI{`#`X8fm@MjD!vFnqmX@S6`tf_x&b+re zCcP@h`E#E0qlDEzdR@w!rR$(4&lqW*vZ*2aM^AFBgPJ@?T4UZ04>WCAcss--t@WzR z!ov;rpChume)6=Zx3}dh2n##%(6ZF_+`DZb3m1jWuG{~0ckZoy`Yj|s@sz$}PR@Ew zPh3h#Tol1faacQPZlA^}RRX#l;0Ry3 zV8?%OmSDmzxs@bq#YKpe<>l$kJwZMUVx z*>$U}*W7_P4<|~qKVo&J`&L)4mzOLr)oc>Gs3!wW30zmQYU6@*Fwd#^mYK^6qCpa; vpcNcdncs|NQi zvOLgbL=3mp959UgrIW-hM_O zm#35ZU-ziTDy}+&7Bj!WDY(2wmP|WjPa}*>2E(ag4pxk9)qGe0Zpu)9CPjlaF8L`D5;U1!G6^{3CpLD4UfPy3E|A{%v=Y zksh<&iE{QIF0$^bU$dMjgO|r; zYoUj`!})lL|3(>kl32Ac`K(%3izk!c{e!-hn|io>^{;Z*DC{!wq;uU}roFw#;*-lg z-iw@1;=dtwS8|AM##AVhgA@%Mue!3h!OZ~X#yUA|6w@g2e*O)(F!`RI{{|LMB-ZDL7p8B`l zO~zK=a{R}Bg{((L?=rg;wOYuMTn?N0ed53U$EWe%%S_vUW&F3hMgM*Lb-DH%HRksH zM~|@}&BH2hoXJ=Ir!maqi|yUA?|Jyk<Pnd zuKCAhJugA$>Is+S|6O-B_xLX~`6T`u;$=MN@@wNio_LkTvT|`*>vh>cu6$1QnfEAp zh^r3Ki<#cw6jxp&OGd8jX@rr9JhVXTO^($MS4m+|j?SKrmsGncpXpWFG*8o_ac+J7uN8e^5v^N+K< zmYj@Ryh`#Im&fe3^Pf42Z|6U^^PkXn4f3!j%LB~Dtz#z-zih`*Q)q0 zqI|BB#QuT9+ONngd0WFZ;!q3nJ3Oy1ZLqmjeRcd7=jE!ubL=$PJ@2_p&wgL^9iLoI zoi!b(q+Z$xvwo5WNd5NWzuJG5)%X3^QFhOJF4LE`W%Jx6d6>iAG-o%zUBQwi$=mr) zMiApXXnS6T_UM6no;AwL=XoyApVw{A|1P_r+xgG7r$Ag>tBD+^m;75j|J%-gvVT=0 zy83H`m7}LO__Es4h^4tiGWCsS2TJ@Imu;~Fvz`BpwX1m^)IIOHOmCm}T%Hf@&;N$b zd(QqpFw?uw`qlge6-wA-%=vcSzDD3n?m#dX7m`SF1x|EBm?M-SeKy^f6*GX0CX0lsdk1l4Q=N?S}U z{3rc|^;e&pyq*7KR12lyEpdNi@t@+`?ffTJpU?lc^PlX34oCGh>T3k)^Xw@92hmjM Ai~s-t literal 0 HcmV?d00001 diff --git a/includes/domino.bin b/includes/domino.bin new file mode 100755 index 0000000000000000000000000000000000000000..af1f587ee7c5cc4709829d831088f9bbd513a02b GIT binary patch literal 512 zcmWm7u@%E03;4sHRy+RGW&an2M>G zim8~2shEmo64e%au@`%>7kjZ6d$AWgO|@huGnvUuW-^nR%w$$8RX4`C=ZL@72bMWFi L9jD{;n%nOWCNyDz literal 0 HcmV?d00001 diff --git a/includes/font2.bin b/includes/font2.bin new file mode 100755 index 0000000000000000000000000000000000000000..6ac83d3a7ae5ae5664b590cb5c3bcc10b2ae3bec GIT binary patch literal 15200 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 J@c)+`{x4^=ZyEpq literal 0 HcmV?d00001 diff --git a/includes/shifter1.bin b/includes/shifter1.bin new file mode 100755 index 0000000000000000000000000000000000000000..76b30ada0a29413b6f3079d10c62f53d380282e0 GIT binary patch literal 960 zcmea6$iVOXlHr11Au6o-FC%xy?Ou5T6O%jhA06`o2Hx`x3^vkpVtl@`6eKVR{$XHf z;sTOPOlBtOc zS*`b51_z)hV^acHMS{l?6zVTMK&G8uK6z`cE{~rc>)8IJM$kM u^8yCm^9>9G;WFaf3v>TKxDaMHj0T3C960QlM#Bz~+KG$D!ISPlu?YaP;&h1s literal 0 HcmV?d00001 diff --git a/includes/shifter3.bin b/includes/shifter3.bin new file mode 100755 index 0000000000000000000000000000000000000000..9a206e902f28e366c129a919631bacd7866989a7 GIT binary patch literal 960 zcmea6$iVOXlHr11Au6o-FC%ux?Ou5T1Cu-RA06`o2Hx`x3^vkpVtl@`6eKVR{$XHf z;sTOPOlBtOc zS*`b51_z)hV^acHMS{l?6zVTMK&G8uK6z`cgO8sc>)uYJM$kM u^8yCm^9>9G;WFaf3v>TKxDaMHj0T3C7&z=0M#Bz~+KG$D!ISPlu?YahoOF`_ literal 0 HcmV?d00001 diff --git a/includes/sinbigbi.n b/includes/sinbigbi.n new file mode 100755 index 0000000000000000000000000000000000000000..77e33a566045f41ea27ce287c3a86cb2e975ce61 GIT binary patch literal 1254 zcmb7?0S<*Q3_`bm|2z9bkkHmzb;kAqI-PUv@C)fE*dv!V9%0Az*>dDorV(-3L_N3Ic7t-vgccd(L KD^gdv!|MRzW~R8Gj_qI{bCd^(*W8TY0gF6y}Htp{CM&IxK{Co?1qKi+?Wn4uH? zJ?{6c9lb-FN0(e`oJp+o0o130XU^G%=dXsZEawD;>%DanJghxbXHL?qUp2etITG_6 zm1f0`Oqb+UUzfBBp1D2iZys$9O4Vrx>MvEt)mV;It6)`2llQEMQ%BWKuJO4)m7d;5 kf2)?3PVHG;PPtZkPY;wiC^b$eU|9FB{yO?EgEk-d0#S!_r2qf` literal 0 HcmV?d00001 diff --git a/includes/text.bin b/includes/text.bin new file mode 100755 index 0000000..23e5a8c --- /dev/null +++ b/includes/text.bin @@ -0,0 +1,151 @@ +QRS-./-./99'(%&%& )*%&'(]%&#$ ++,)*'(#$23 )*%&#$ + +^_%&#$ + +623 +'(QRS999'(%&%&#$ + +)*%& +%&'( +QRS^_ 23  +'( +!")* +6 +'(-./ +'( + +%&'( )*%&#$ + +%&'(#$'( +#$ ++, +#$ +6'( + '(%& #$01#$TUV< #$ +'(-./#$9=6'( +-./ +#$ )* #$)*-./%& +%&  +23454523 #$'(KL6 +)*%&%&  23 )*%&'(6]%&#$#$23 #$'( + +  +-./]'( +%&-./%&#$ +#$%&7)*'('(%&'( +01'(%&'(  +#$7'(%&-./23)*7'('('( %& #$ +)*'( +623 '(%& +%&'('(23%&'(  +^_  +%&#$%&#$ + #$ +%& '( +6'( + +%& + +%&#$ +'(9 23)*%&'('('(%&%& +%&23'( +'('( + #$01 +<#$ +'(999= #$)*8YZ[\WXQRSYZ[\[\[\[\WX+, +23)*'( +'('('(]%&'(%& 23 #$01 +:;'( +#$ +]%&'( +#$-./+, +'(6]'(-./'('( + #$ + +'( %& +#$ +7%& +'(]%&'()* +'( )*'( )*%&#$ + +%&#$%&#$ +#$%&6+, +]'(%& + +23#$%&#$ +#$-./-./#$%&-./23%&#$#$ +'(23%&'(]%&6%& 23)*%& + +%& +%&'(23  +#$ '( +'( #$ +#$23)*+, +%&'( +-./%&]'( +'('( +%&'(6)*'(-./ )*>CD +#$ +'(#$-./#$ +  )*#$'(%&6)*#$#$%&#$ +#$-./#$%&7)*'('( +#$ + '( +#$ +666%& 23)*#$ + #$ #$ +#$7  +%& +'( +%&'(23)*#$+, +#$%&#$)*'( + ++, +#$23%&'(23)* < +%& +23'(%& +'( +#$)*'(#$ +%&99= +%&%&  +'( #$ 8'(#$ +'()*%& +'( + +23#$ #$ +%&%&#$ #$#$%&#$ )*'('(]'(-./#$623)*-./'('(-./-./  +'(%& '('( +%&#$ %&:;:;:;-./ +'( + %& +#$45 +'(623 #$ #$ '(%& +-./23<#$ + -./#$'( '( +%& +'( +='( +%& +%&'( +'(7)*'(%& '( +23 +'(6'('( +AB #$ %&'(8-./'()*'( 23)*#$AB #$ %&-./'('( +'( +#$  +:;%&23)*+, +-./ '( + +)* %& + +'( +%&'(#$'(-./+, + +#$'( + %&)*'('(]%&'( +'( #$ +%&%&%&  +-./-./#$  +#$ + \ No newline at end of file diff --git a/mkshifts.s b/mkshifts.s new file mode 100755 index 0000000..f389071 --- /dev/null +++ b/mkshifts.s @@ -0,0 +1,77 @@ +parallax equ 0 +parallay equ 0 +bus equ 10 +digitest equ 10 +def_version equ 10 +d0_for_mcp equ 0 +mcp_adr equ $500 +keyboard set 10 +test equ 10 +calc_mdist MACRO + move.w (a3)+,d6 + sub.w (a4)+,d6 + movem.l (a5,d6),d3-d6 + ENDM +do_mdist MACRO + lea 64(a5),a5 + move.b #1,$ffff8260.w + move.b #0,$ffff8260.w + movem.l d3/d4/d5,$ffff8250.w + move.b #2,$ffff8260.w + move.b #0,$ffff8260.w + move.l d6,$ffff825c.w + ENDM +calc_mdist2 MACRO + move.w (a3)+,d6 + sub.w (a4)+,d6 + movem.l (a5,d6),d4-d6/a2 + ENDM +do_mdist2 MACRO + lea 64(a5),a5 + move.b #1,$ffff8260.w + move.b #0,$ffff8260.w + movem.l d4/d5/d6,$ffff8250.w + move.b #2,$ffff8260.w + move.b #0,$ffff8260.w + move.l a2,$ffff825c.w + ENDM +calc_mdist02 MACRO + move.w (a3)+,d6 + sub.w (a4)+,d6 + movem.l (a5,d6),d2/d4-d6 + ENDM +do_mdist02 MACRO + lea 64(a5),a5 + move.b #1,$ffff8260.w + move.b #0,$ffff8260.w + movem.l d2/d4/d5,$ffff8250.w + move.b #2,$ffff8260.w + move.b #0,$ffff8260.w + move.l d6,$ffff825c.w + ENDM +digi1 MACRO + moveq #-1,d6 ;~1 + move.b (a6),d6 ;~2 + add.w d6,d6 ;~1 + add.w (a7,d6),d7 ;~4 + andi.w #$ff*4,d7 ;~2 + move.l (a7,d7),d6 + movep.l d6,$ffff8800-512-downthere(a7) ;~7 + ENDM +digi2 MACRO + moveq #-1,d6 ;~1 + move.b (a6)+,d6 ;~2 + add.w d6,d6 ;~1 + add.w 2(a7,d6),d7 ;~4 + andi.w #$ff*4,d7 ;~2 + move.l (a7,d7),d6 ;~5 + movep.l d6,$ffff8800-512-downthere(a7) ;~7 + ENDM +d_0 equr d0 +d_1 equr d1 +d_2 equr d2 +d_3 equr d3 +a_1 equr a1 +downthere equ $600 +x: +y: diff --git a/sound.s b/sound.s new file mode 100755 index 0000000..c70fbfb --- /dev/null +++ b/sound.s @@ -0,0 +1,538 @@ + +; The Paralax distorter by Gunstick from Unlimited Matricks +parallax equ 0 +parallay equ 0 +bus equ 10 +digitest equ 10 + +; config: + +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) + trap #14 + addq.l #6,sp + + clr.w -(sp) + 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+0.w + endc + +psginit: + moveq #15,d0 + lea psginittab,a1 + lea $ffff8800.w,a0 +nextinit: + move.b (a1)+,(a0) + move.b (a1)+,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 138*4 + dc.w 195*4 +; dc.w 167*4 +; dc.w 197*4 +; dc.w 167*4 +; dc.w 255*4 + dc.w 128*4 +digisound: +; incbin "includes\telgraph.dmn" +; incbin "includes\jasy75.dmn" +; incbin "includes\senn_l1.dmn" +; incbin "includes\senn_l2.dmn" +; incbin "includes\luna.dmn" +; incbin "includes\luna2.dmn" +; incbin "includes\infinity.dmn" +digiend: + dc.w 159*4 +digisound2: +digiend2: + even + +font: + even +fontend: +kotz: + dc.l 0 +noswreset: + rts + + ;-------------------------------------------------------- + +calc_mdist MACRO + move.w (a3)+,d6 + sub.w (a4)+,d6 + movem.l (a5,d6),d3/d4/d5/d6 + ENDM +do_mdist MACRO + lea 64(a5),a5 + move.b #1,$ffff8260.w ;GunsticK's right border end switch + move.b #0,$ffff8260.w + movem.l d3/d4/d5,$ffff8250.w ;mdist +; move.l buffer,buffer +; dcb 9,$4e71 + move.b #2,$ffff8260.w ;Open left border + move.b #0,$ffff8260.w + move.l d6,$ffff825c.w ;mdist +; dcb 4,$4e71 + ENDM + + +calc_mdist2 MACRO + move.w (a3)+,d6 + sub.w (a4)+,d6 + movem.l (a5,d6),d4/d5/d6/a2 + ENDM +do_mdist2 MACRO + lea 64(a5),a5 + move.b #1,$ffff8260.w ;GunsticK's right border end switch + move.b #0,$ffff8260.w + movem.l d4/d5/d6,$ffff8250.w ;mdist +; move.l buffer,buffer +; dcb 9,$4e71 + move.b #2,$ffff8260.w ;Open left border + move.b #0,$ffff8260.w + move.l a2,$ffff825c.w ;mdist +; dcb 4,$4e71 + ENDM + + +calc_mdist02 MACRO + move.w (a3)+,d6 + sub.w (a4)+,d6 + movem.l (a5,d6),d2/d4/d5/d6 + ENDM +do_mdist02 MACRO + lea 64(a5),a5 + move.b #1,$ffff8260.w ;GunsticK's right border end switch + move.b #0,$ffff8260.w + movem.l d2/d4/d5,$ffff8250.w ;mdist +; dcb 9,$4e71 + move.b #2,$ffff8260.w ;Open left border + move.b #0,$ffff8260.w + move.l d6,$ffff825c.w ;mdist +; dcb 4,$4e71 + ENDM + + + dcb 17-1-11,$4e71 + moveq #0,d7 +; megadistorter test +; lea 0(a0,d7),a0 + movem.l (a0),d4/d5/d6/d7 + + +digi1 MACRO +; not.w kotz +; bne.s *+4 +; illegal + + ifne digitest + moveq #-1,d6 ;~1 + move.b (a6),d6 ;~2 + add.w d6,d6 ;~1 + add.w (a7,d6),d7 ;~4 + endc + ifeq digitest + move.w #$700,$ffff8240.w + move.w #$200,$ffff8240.w + endc + andi.w #$ff*4,d7 ;~2 + + move.l (a7,d7),d6 + movep.l d6,$ffff8800-512-downthere(a7) ;~7 + + ENDM + + +digi2 MACRO +; not.w kotz +; beq.s *+4 +; illegal + + ifne digitest + moveq #-1,d6 ;~1 + move.b (a6)+,d6 ;~2 + add.w d6,d6 ;~1 + add.w 2(a7,d6),d7 ;~4 + endc + ifeq digitest + move.w #$070,$ffff8240.w + move.w #$020,$ffff8240.w + endc + andi.w #$ff*4,d7 ;~2 + + move.l (a7,d7),d6 ;~5 + movep.l d6,$ffff8800-512-downthere(a7) ;~7 + + ENDM + even + + + + ;********************************************************** + +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,%11111111,8,16,9,0,10,0,11,60,12,0,13,14,$ff,0 + even +hwpalette: + dc.w $000,$227,$005,$654,$543,$432,$321,$777 +; dc.w $000,$227,$005,$740,$730,$720,$710,$777 + dc.w $777,$666,$555,$444,$333,$222,$111,$002 + dc.w $0700,$0707,$0474,$0777,$0606,$0505,$0404,$303 +graphic: + dc.w $d555,$3333,$0f0f,$ff +cheatcodepos: + dc.l cheatcode +cheatcode: ; B U S cr + dc.b 48,22,48+$80,31,22+$80,28,31+$80,28+$80,0 + even +lowbyte: + dc.b 0 + + even +hwscrolldat: + + even + + section bss + +bss_start: ;here starts the bss + +screenad: ds.l 1 + + ds.l 20 +my_stack: + +stack: ds.l 1 +oldpal: ds.w 16 +oldres: ds.w 1 +screenad1:ds.w 1 +screenad2:ds.l 1 +screenadr:ds.l 1 +resync: ds.w 1 +digswitch: ds.w 1 ;use digi1 or digi2 +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 +digiptr: + ds.l 1 ;ptr to begin digi after vbl +predigi: + ds.l 40 ;40 lines predigitized (20*2 values) +mactcurv: + ds.l 1 ;ptr in active curve +mnextcurv: + ds.l 1 ;next mdist curv +mdistcurvval: + ds.w 1 ;curve +mdistcurvptr: + ds.l 1 +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: +; ds.l 1 +; ds.l 1 +; ds.w 1 +; ds.w 1 + ds.l 2*26*16+1+1+1 + +screenmem: + ds.w 230*6 +ecran: + rept 5 + ds.l 15700 + endr +endprg: +bss_end: ;here ends the bss + end +