.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. :: :: · · ...:..... .:..... .....: ...... ...:... ...:..... .:..... ::::: ::::: .....::::: ::::: ::::¦ ·::::..... :::::.::::· .....::::: ::::¦ ::::| ::::: ::::¦ ::::¦ ::::| ...... ::::: ::::: ...... ::::: ::::| ::::¦ ::::¦ ::::¦ ::::| ::::¦ ::::¦ ::::: ::::¦ ::::: ::::: ::::¦ ::::¦ .::::: :::::. ·::::::::::. ·:::::::::· ·:::::::::· ·:::::::::· ·::::::::::. . .. :: :: ·:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::· -+- STAFF: AKiRO & dR.POOP -+- -+- AMiGA PC CoNSOLES - ViTUN CooL MEiNiNKi! -+- _ ___________ ______________ / · ·÷» zILLioN hOURS! «÷· · _________ _ ________ \ _ /_______/_______ _______ _ ______/_ _ ¬\_____ _/ \____) ___/_ .: ¬| _/_____/ _/_____ / (/ .: \ ¬\ .: | _/ ) ¬\______| ) ¬\_ ) ¬\______/__________/ \______| \______ .: / _/ .: _______/ .: _______/ .: ¬| |______) \______/ \_______/ \_______/ |______| __________ _________________ (zS!) ______ / _ ¬\ \_________ / ______________ / _)______/ (/ .: \___·_____ / _(/ _/_/ __________/ _/ \_ ¬\____________/ | ¬\_____\ .: ¬\_________ .: ¬\_ \________/ .: \_ / ; .: \ \_______/ ________/ \_________/ \_____________/ \________) ^o^ Node #o1: +358-31-3713472 ^o^ SysOp: Vapour ^o^ USRobotics v34 ^o^ ^o^ Amiga & Ibm Wares ^o^ Gigs of Harddrive ^o^ No NUP/SystemPw(s) ^o^ .----------------------------------------------------------------------------. | ... lOOKS lIKE fANTAZiA! bEAT yA tO iT oNCE aGAIN! \\| | \| | /\____/\/\____/\ |\_____/\/\_____/\ /\____/\ /\____/\ _/\ /\____/\ | | / \ \\| \\ \\/ \\ / \_| \\/ \\ | |/ .__ / · · \\ . \\ . \\ · · \\\____/ /: \\ · · \\| / |__\/ \\ \ \\__| \\ \\/ __/\| \\ \\ \ | \ | // /. // | // | /// \ // | // |\____| \____|_____/___/_____/ |____/___|_____/\\ ________/____/___|_____/| | \/ | | fAST - fUN^fRIENDLY - o3O/68882^18mb RAM - 2.1Gb HD - DAT bACKUP | | | | * tWO nODES! * uSR 28.8 V34·VFC·HST * | | ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ | |\ [+44] 01305-ASK4IT ^&^ [+44] 01305-PRIVAT | |\\ | `----------------------------------------------------------------------------' iTZ BaCK! iTZ BaCK! d¡G¡T/\L E×T/\s¥ ! iTZ BaCK! iTZ BaCK! _ _ _ ___________________________________________________________ _ _ _ __ ____ ____ ________ ____ ______ ________ _____ /_ Y \ /_ \ /_ \ /_ \ /_ | /_ \ /_ | | ¦ | \ | \ | | \ | \ | |_ | ! \ | | | : | \| \| |_____\| \| __\___| \| |__ __ | · | \ \ | \ \ | \ | \ | Y \ __ _| . | \ \ |_ \ \ | \ | \ | : \ /\_\\ ! / / ! / / ! / | / ! · / \/ / \_________/\_____/\_________/\_____/\_________/\___|_____/\_________/ Y _______ ________ _____ __ _____ _______ ________sT/\rZ. | /_ \ /_ | \ /_ | /_ Y \ /_ \ /_ | \ ¦ | \___\ | | \ | |_ | ¦ ! \ | |___\_ | ! \ : | __\___|_ ! /_| __\___| : \|_____ \|_____ \ · | | \/ \ | \ . | \ | \ | \ . _| | \ | \ | \ | \ | \ | \ \ ! / | / ! / | / ! / ! / . \______ __/\___|_____/\_________/\___|_____/\_________/\______ __/ Y - - - -++- - - - Y · - -+-GvP GfØrCe 68O3ø 4Ø mHz 68882 4o MHz-+- - . - -+-8 MøZ 32 B¡t rAm ruNn¡nG /X rEG¡STerEd !-+- - - -+-sUpPørt¡nG aM¡gA / cøNsOLes / Pc-+- - - --+-nOdE-1: +1 2ø1-345-4315 (-USR 16.8 ds HST-)-+-- - - ------+-NØDe-2: +1 2ø1-345-4315 (-USR 16.8 dS hSt-)-+------ - - ------+-NøDe-3: +1 2ø1-345-4315 (-USR 16.8 DS HST-)-+------ - - --+-n0dE-4: +1 2ø1-345-4315 (-USR 14.4 Ds HsT-)-+-- - - - - ---++--- - - - - ----- +- [R i N G D o W n o N A L L NoDES!] -+ ----- - -*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*- -*- CaLL iT NoW!! ALL ACCOUNTS WERE SAVED!!! -*- -*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*- iTZ BaCK! iTZ BaCK! iTZ BaCK! iTZ BaCK! iTZ BaCK! iTZ BaCK! iTZ BaCK! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .------------------/-------------------------------\------------------. | [+61-92474998] / T H I S F I L E P A S S E D ! \ [+61-RiNGDOWN!] | `----------------/-----------------------------------\----------------' .____. ______ ___| | _\____/_ ____ /\__ _____ ___________ - --/ _!___ |/ / \__\___\//\_/_____\___ \____\_____ \_-- - - / ___ /_/ / \_ \/ \ |/ \ |/ / - / |\/ \ /\ / \ \ _ \ | /--- - - / |____\__________/_______\ \__/ \_____|_____/ /_______| /____________\/________\[DGN^JZ] .__ ________ ________ ___________|__\__ ________ - - - -/ _____/___\__ /___\__ / ______/___\__ /- - - _/ __)____ _/ _/ _/ _/ \| _ \_ _/ _/ - - -\ \ / \ \_ \ \_ \/ / \ \_- - - \________/_____\ /_____\ /________/_____\ / \ / \ / \ / SYS : P$YCHE / DEViOUS! \/ COSYS : \/ fELON / DEViOUS! \/ CALL NOW! .---------------------------\/---------\/------------------\/---------. | 24HRS - 520 MB - A2000-POWER - AMIGA! + HPAC! + 16.8 | `---------------------------------------------------------------------' -*- tHIS fILE wAS pASSED tHROW -*- ______. _______. ____/\________| |___________ \_ |___ ______________________ \______ \__ | ____ \ _____| _ \_/ ____________ / | \_ | | | \ \/ _____ | | _____/ _/ _/ | | | | | \ / | | | | | \ \ | | | | | \_/ | | | | | \ \ | | |_ ` | | |_ : |_ · | \ \_ pe|___ |_____|¬\_________| |_ |¬\________|¬\________| \____/ / | ·of the|¬\____| _/ |___ __________________:_ _____________________ | _ \_/ _____________ \__/ __________ __/ | | | _____/ __| \________ |_/ | aBSOLUTE! WHQ | | | | | \__ | / | | ^ US EHQ ^ | | | | | | | / | | +36-1-2914029 l_ : |_ · | | |___ |_ | _[NUP REQUIRED] ¬\________|¬\________| | | ¬\_______|¬\_____/// : ·-----' -/\-/\-/\-/\-/\-/\-/\-:[ ....oNE.sTEP.aHEAD.oF.yOU!.... ]:-/\-/\-/\-/\-/\-/\- _ ___________________________ _______________ ____ ____ / \ ___.---.________ \ _____\ __________ __)\_ _________ \ \_ Y _/(___) \_ |\_ ____) /\____ \/\/ | \| | \/ ___)/ _ \/ \_/ \| | \_ |/ \_ | (_________)________) |____/________)___|____)___|____)___|___| (____| | ---------------- `---' ------------------------------------- `---' -- `---' ____ _____________________ _____ ____ \_ Y _/\_ _______ __// _ \ \_ |___ uSR 16.8 dS! / \_/ \/ ___) | | / _ \/ | \ aLWAYS rUNNiN (____|____)_______) | |(____|____)________) tHE lATEST /X 5oo mEGZ .----------------- `---' -----------------. oNLiNE |::: aCCESSiON aUSTRALiAN hEADQUARTERS :::| nO pASSWORDS! `-----------------------------------------' aMiGA - hPA - aSCii - /X uTiLS eVERYONE gETS diSABLED rATiOS! fUN, fRiENDSHiP aND fAST wAREZ gRAB tHA nUMBA! +619-382-4425 gRAB tHA nUMBA! -/\-/\-/\- :[ diS fiLE pASSED hERE oN 16-Feb-95 aT 02:39:41 ]: -/\-/\-/\- @BEGIN_FILE_ID.DIZ Source to DarkRoom. 40K Intro! @END_FILE_ID.DIZ »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» » » DarkRoom -40k Intro by Dweezil » »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» rot equ 213 zmp equ 437 part2_flash equ 215 part2_tm equ 430 part3_tm equ 400 w_blit macro .\@wb btst #6,$002(a6) bne.b .\@wb endm go move.l $4.w,a6 moveq #0,d0 lea gfxname_0(pc),a1 jsr -$228(a6) move.l d0,gfxbase_0 beq exit_0 move.l d0,a6 move.l $22(a6),wbview_0 sub.l a1,a1 jsr -$de(a6) jsr -$10e(a6) jsr -$10e(a6) ; jsr -$1e8(a6) jsr -$e4(a6) bsr z_init lea $dff000,a6 move #$0020,$096(a6) clr.l $140(a6) ; move #$4000,$09a(a6) move.l #copper_0,$080(a6) bsr clbss_0 bsr go_part_1 move.l #copper_0,$080(a6) bsr clbss_0 bsr go_part_2 move.l #copper_0,$080(a6) bsr clbss_0 bsr go_part_3 move.l #copper_0,$080(a6) bsr clbss_0 bsr go_part_4 bsr z_end move #$8020,$dff096 move.l gfxbase_0(pc),a6 jsr -$e4(a6) ; jsr -$1ce(a6) move.l wbview_0(pc),a1 jsr -$de(a6) jsr -$10e(a6) jsr -$10e(a6) move.l $26(a6),$dff080 move.l a6,a1 move.l $4.w,a6 jsr -$19e(a6) exit_0 moveq #0,d0 rts »» Clear bss-hunk clbss_0 moveq #0,d0 move.l d0,d1 move.l d0,d2 move.l d0,d3 move.l d0,a0 move.l d0,a1 move.l d0,a2 move.l d0,a3 lea chip+chip_siz,a4 move #chip_siz>>8-1,d4 .clfast rept 8 movem.l d0-d3/a0-a3,-(a4) endr dbf d4,.clfast rts gfxname_0 dc.b "graphics.library",0 even gfxbase_0 dc.l 0 wbview_0 dc.l 0 ;; <1> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» » » " S o l a r W i n d " » »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» go_part_1 bsr s_init_1 sf stuff_1 mouse_1 bsr do_wind_1 move.l #scopa_1,$080(a6) bsr plus_1 bsr do_wind_1 move.l #scopb_1,$080(a6) bsr minus_1 cmp #zmp+170,frame_1 bhs.b .x btst #6,$bfe001 bne.b mouse_1 .x rts s_init_1 lea sptra_1,a0 move.l #bpa1_1,d2 lea sptrb_1,a1 move.l #bpb1_1,d3 moveq #0,d1 moveq #3,d0 .1 move d2,6(a0,d1.w) swap d2 move d2,2(a0,d1.w) swap d2 move d3,6(a1,d1.w) swap d3 move d3,2(a1,d1.w) swap d3 addq #8,d1 add.l #10240,d2 add.l #10240,d3 dbf d0,.1 lea fractar_1,a0 move #$17f,d2 move #$181,d3 bsr do_prog_1 lea zoomaa_1,a0 move #-1,d2 move #$180,d3 bsr do_prog_1 lea rotate_1,a0 move #$180,d2 move #1,d3 bsr do_prog_1 move.l #scopa_1,$080(a6) rts do_wind_1 addq #1,frame_1 moveq #0,d0 move frame_1(pc),d0 move.l prgptr_1(pc),a0 cmp.l (a0),d0 bne.b .zop move.l 4(a0),d0 move.l d0,twist_1 cmp.l #zoomaa_1,d0 bne.b .2 st stuff_1 .2 addq.l #8,prgptr_1 .zop bsr do_pos_1 bsr do_tube_1 bsr do_blit_1 bsr do_bli2_1 rts frame_1 dc 0 twist_1 dc.l hold_1 prgptr_1 dc.l program_1 program_1 dc.l 1,fractar_1 dc.l rot,rotate_1 dc.l zmp,zoomaa_1 dc.l -1,-1 »» calculate blit prog do_prog_1 move d3,d6 asl #2,d3 move d2,d5 asl #2,d2 add d5,d2 moveq #8,d1 .l1 move d2,d7 moveq #10,d0 .l2 move d3,d4 add d7,d4 move d4,(a0)+ sub d5,d7 dbf d0,.l2 sub d6,d3 dbf d1,.l1 rts »» + laskuosuus bpa -> bpb plus_1 w_blit moveq #0,d0 move.l d0,$040(a6) move.l d0,$060(a6) move.l d0,$064(a6) moveq #-1,d0 move.l d0,$044(a6) move #$0f80,$040(a6) bpa2 and bpa3 and bpa4 -> t move.l #bpa2_1,$050(a6) move.l #bpa3_1,$04c(a6) move.l #bpa4_1,$048(a6) move.l #t_1,$054(a6) move #$4014,$058(a6) w_blit move #8,$062(a6) move #$0fe6,$040(a6) bpa1 + g -> bpb1 move.l #t_1,$050(a6) move.l #g_1,$04c(a6) move.l #bpa1_1,$048(a6) move.l #bpb1_1,$054(a6) move #$4014,$058(a6) w_blit move #0,$062(a6) move #$0f9a,$040(a6) bpa2 + 1 -> bpb2 move.l #bpa1_1,$050(a6) move.l #bpb1_1,$04c(a6) move.l #bpa2_1,$048(a6) move.l #bpb2_1,$054(a6) move #$4014,$058(a6) w_blit move #$0f9a,$040(a6) bpa3 + 1 -> bpb3 move.l #bpa2_1,$050(a6) move.l #bpb2_1,$04c(a6) move.l #bpa3_1,$048(a6) move.l #bpb3_1,$054(a6) move #$4014,$058(a6) w_blit move #$0f9a,$040(a6) bpa4 + 1 -> bpb4 move.l #bpa3_1,$050(a6) move.l #bpb3_1,$04c(a6) move.l #bpa4_1,$048(a6) move.l #bpb4_1,$054(a6) move #$4014,$058(a6) rts »» - laskuosuus bpb -> bpa minus_1 w_blit moveq #0,d0 move.l d0,$040(a6) move.l d0,$060(a6) move.l d0,$064(a6) moveq #-1,d0 move.l d0,$044(a6) move #$0f01,$040(a6) bpb2 and bpb3 and bpb4 -> t move.l #bpb2_1,$050(a6) move.l #bpb3_1,$04c(a6) move.l #bpb4_1,$048(a6) move.l #t_1,$054(a6) move #$4014,$058(a6) w_blit move #8,$062(a6) move #$0f89,$040(a6) bpb1 - g -> bpa1 move.l #t_1,$050(a6) move.l #g_1,$04c(a6) move.l #bpb1_1,$048(a6) move.l #bpa1_1,$054(a6) move #$4014,$058(a6) w_blit move #0,$062(a6) move #$0fa6,$040(a6) bpb2 - 1 -> bpa2 move.l #bpb1_1,$050(a6) move.l #bpa1_1,$04c(a6) move.l #bpb2_1,$048(a6) move.l #bpa2_1,$054(a6) move #$4014,$058(a6) w_blit move #$0fa6,$040(a6) bpb2 - 1 -> bpa2 move.l #bpb2_1,$050(a6) move.l #bpa2_1,$04c(a6) move.l #bpb3_1,$048(a6) move.l #bpa3_1,$054(a6) move #$4014,$058(a6) w_blit move #$0fa6,$040(a6) bpb2 - 1 -> bpa2 move.l #bpb3_1,$050(a6) move.l #bpa3_1,$04c(a6) move.l #bpb4_1,$048(a6) move.l #bpa4_1,$054(a6) move #$4014,$058(a6) rts »» put random stuff in the middle of the screen do_tube_1 move.l rand_1(pc),d0 add frame_1(pc),d0 ; add.l $004(a6),d0 ror.l #5,d0 eor #$1dc4,d0 move.l d0,rand_1 lea g_1,a0 tst.b stuff_1 bne.b .2 moveq #3,d1 .1 eor.b d0,126*48+19(a0) swap d0 eor.b d0,126*48+20(a0) add #48,a0 add a0,d0 ror.l #1,d0 dbf d1,.1 rts .2 moveq #3,d1 .3 clr.b 126*48+19(a0) clr.b 126*48+20(a0) add #48,a0 dbf d1,.3 rts stuff_1 dc 0 »» do the twist! do_pos_1 moveq #$1f,d0 and frame_1(pc),d0 add d0,d0 lea .tab(pc),a0 move (a0,d0),d0 move d0,apos_1 rts .tab dc %00000,%10000,%01000,%11000,%00100,%10100,%01100,%11100 dc %00010,%10010,%01010,%11010,%00110,%10110,%01110,%11110 dc %00001,%10001,%01001,%11001,%00101,%10101,%01101,%11101 dc %00011,%10011,%01011,%11011,%00111,%10111,%01111,%11111 apos_1 dc 0 »» takaisinkopsublitti do_bli2_1 move apos_1(pc),d0 muls #24,d0 move apos_1(pc),d1 asr #4,d1 add d1,d0 add d0,d0 ext.l d0 lea t_1+$c0a,a0 sub.l d0,a0 move apos_1(pc),d1 ror #4,d1 and #$f000,d1 or #$09f0,d1 w_blit move d1,$040(a6) t+logo -> g move.l #0,$044(a6) move.l #$ffffffff,$044(a6) move.l #$00000000,$060(a6) move.l #$00000000,$064(a6) move.l a0,$050(a6) move.l #g_1,$054(a6) move #$4018,$058(a6) rts »» blitter driver for zoomer do_blit_1 lea g_1-$c08,a0 lea t_1,a4 move apos_1(pc),d5 move d5,d4 muls #384,d5 add d4,d5 subq #1,d5 move #$0803,d3 bltsize move.l twist_1(pc),a1 add #$62c,a4 start pos. add #$62c,a0 move #$62c,d7 'modulo' moveq #8,d6 loop counter lea $dff002,a6 .blit1 btst #6,(a6) bne.b .blit1 move #$0000,$042-2(a6) clear bltcon1 move.l #$ffffffff,$044-2(a6) set masks move.l #$002a002a,$064-2(a6) set modulos for A & D .loop2 moveq #10,d4 .loop1 move (a1)+,d0 add d5,d0 moveq #$f,d2 and d0,d2 add d2,d2 move .con0(pc,d2),d2 asr #3,d0 lea (a0,d0),a3 .blit2 btst #6,(a6) bne.b .blit2 move d2,$040-2(a6) set bltcon0 movem.l a3/a4,$050-2(a6) set bltaptr & bltdptr move d3,$058-2(a6) set size subq #4,a0 subq #4,a4 dbf d4,.loop1 add d7,a0 add d7,a4 dbf d6,.loop2 lea $dff000,a6 rts .con0 dc $f9f0,$e9f0,$d9f0,$c9f0,$b9f0,$a9f0,$99f0,$89f0 dc $79f0,$69f0,$59f0,$49f0,$39f0,$29f0,$19f0,$09f0 rand_1 dc.l $deadbeef ;; <2> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» » » " P a r t i c l e s " » »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» go_part_2 lea $dff000,a6 mouse_2 tst.b 5(a6) beq.b mouse_2 .1 tst.b 5(a6) bne.b .1 bsr laita2_2 cmp #part2_flash,frame_2 bne.b .rer bsr laita1_2 .rer movem.l scr1_2(pc),d0-d3 move.l d0,d4 move.l d1,d0 move.l d2,d1 move.l d3,d2 move.l d4,d3 movem.l d0-d3,scr1_2 move.l d0,$0e0(a6) move.l d1,$0e4(a6) move.l d2,$0e8(a6) move.l #bpl_tx_2,$0ec(a6) move frame_2(pc),d0 addq #1,d0 move d0,frame_2 move.l parpt_2(pc),a0 cmp frame2_2(pc),d0 bne.b .3 addq #4,a0 tst.b 1(a0) bpl.b .2 lea param_2(pc),a0 .2 moveq #0,d1 move.b (a0),d1 add d0,d1 move d1,frame2_2 move.l a0,parpt_2 .3 move.b 2(a0),d0 move.b 3(a0),d1 bsr vaaka_2 bsr pysty_2 move frame_2(pc),d0 cmp #part2_tm+16,d0 beq.b .x cmp #part2_tm,d0 blo.b .4 bsr fadeout_2 .4 move.l #copper_2,$080(a6) btst #6,$bfe001 bne mouse_2 .x rts frame_2 dc 0 frame2_2 dc 1 parpt_2 dc.l param_2 param_2 dc.b 1,$00,$05,$ff dc.b 1,$00,$02,$00 dc.b 1,$00,$07,$ff dc.b 1,$00,$00,$00 dc.b 1,$00,$01,$ff dc.b 1,$00,$06,$00 dc.b 1,$00,$03,$ff dc.b 1,$00,$04,$00 dc.l -1 scr1_2 dc.l bpl1_2 scr2_2 dc.l bpl2_2 scr3_2 dc.l bpl3_2 scr4_2 dc.l bpl4_2 fadeout_2 lea fadehere_2,a0 moveq #15,d3 .lo addq #2,a0 move (a0),d0 move d0,d1 move d0,d2 and #$000f,d0 and #$00f0,d1 and #$0f00,d2 subq #$0001,d0 bpl.b .1 moveq #0,d0 .1 sub #$0010,d1 bpl.b .2 moveq #0,d1 .2 sub #$0100,d2 bpl.b .3 moveq #0,d2 .3 or d2,d0 or d1,d0 move d0,(a0)+ dbf d3,.lo rts laita1_2 move.l scr2_2(pc),a0 add #112*40+18,a0 moveq #-1,d0 moveq #7,d1 .1 move.l d0,(a0) move.l d0,40(a0) move.l d0,80(a0) move.l d0,120(a0) add #160,a0 dbf d1,.1 rts laita2_2 move.l scr2_2(pc),a0 add #112*40,a0 lea pic_2,a1 lea bpl_tx_2,a2 add #112*40,a2 moveq #31,d0 and frame_2(pc),d0 mulu #40,d0 add d0,a0 add d0,a1 add d0,a2 .1 rept 10 move.l (a1)+,d2 or.l d2,(a0)+ move.l d2,(a2)+ endr rts »» vaakasuuntainen siirto v_bsiz_2 = $0105 vaaka_2 move.l scr1_2(pc),a0 lea temp_2,a1 move #255,d4 moveq #40,d2 w_blit moveq #0,d3 move d3,$042(a6) move.l d3,$064(a6) moveq #-1,d3 move.l d3,$044(a6) .lp move d1,d3 eor d4,d3 btst d0,d3 beq.b .bit1 w_blit move #$19f0,$040(a6) movem.l a0/a1,$050(a6) move #v_bsiz_2,$058(a6) add d2,a0 add d2,a1 dbf d4,.lp rts .bit1 addq #2,a0 w_blit move #$f9f0,$040(a6) movem.l a0/a1,$050(a6) move #v_bsiz_2,$058(a6) add #38,a0 add d2,a1 dbf d4,.lp rts »» pystypalkkien siirrot pysty_2 lea temp_2,a0 lea 40(a0),a1 sub #40,a0 move.l scr2_2(pc),a2 moveq #-32,d2 moveq #19,d6 w_blit move #0,$042(a6) moveq #38,d3 move d3,$062(a6) move d3,$064(a6) move d3,$066(a6) moveq #-1,d3 move.l d3,$044(a6) .ilo moveq #15,d5 .l1 move d1,d3 eor d2,d3 add d4,d4 btst d0,d3 bne.b .l1z addq #1,d4 .l1z addq #1,d2 dbf d5,.l1 w_blit move #$0dd8,$040(a6) movem.l a0/a1/a2,$04c(a6) move d4,$070(a6) move #$4001,$058(a6) addq #2,a0 addq #2,a1 addq #2,a2 dbf d6,.ilo rts ;; <3> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» » » " F i r e F l i e s " » »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» offs_3 = $780 go_part_3 lea $dff000,a6 bsr init_3 bsr dosine_3 mouse_3 tst.b 5(a6) beq.b mouse_3 .1 tst.b 5(a6) bne.b .1 addq #1,frame_3 move #$7fe,d1 move.l posse_3(pc),d2 add.l speed_3(pc),d2 move.l d2,posse_3 swap d2 add.l #$800,speed_3 move d2,d0 and d1,d0 lea sin_3,a0 lea cos_3-sin_3(a0),a1 lea coords_3(pc),a2 move (a0,d0),(a2)+ move (a1,d0),(a2)+ lsr #1,d2 add #offs_3,d2 move d2,d0 and d1,d0 move (a0,d0),(a2)+ move (a1,d0),(a2)+ lsr #1,d2 add #offs_3,d2 move d2,d0 and d1,d0 move (a0,d0),(a2)+ move (a1,d0),(a2)+ lsr #1,d2 add #offs_3,d2 move d2,d0 and d1,d0 move (a0,d0),(a2)+ move (a1,d0),(a2)+ lsr #1,d2 add #offs_3,d2 move d2,d0 and d1,d0 move (a0,d0),(a2)+ move (a1,d0),(a2)+ movem.l coords_3-2(pc),d0-d4 lea star_3+512-160,a0 lea (a0,d1),a1 lea (a0,d2),a2 lea (a0,d3),a3 lea (a0,d4),a4 add d0,a0 bsr vaaka_3 movem.l coords_3(pc),d0-d4 lea star_3+512-128,a0 lea (a0,d1),a1 lea (a0,d2),a2 lea (a0,d3),a3 lea (a0,d4),a4 add d0,a0 bsr pysty_3 move.l cop2_3(pc),$080(a6) lea ptexg_3(pc),a0 movem.l (a0),d0-d3 exg d0,d1 exg d2,d3 movem.l d0-d3,(a0) cmp #part3_tm,frame_3 beq.b .x btst #6,$bfe001 bne mouse_3 .x rts speed_3 dc.l $80000 frame_3 dc 0 posse_3 dc.l 0 ptexg_3 cop1_3 dc.l copper1_3 cop2_3 dc.l copper2_3 scrl1_3 dc.l line1_3 scrl2_3 dc.l line2_3 coords_3 dc 0,0 dc 0,0 dc 0,0 dc 0,0 dc 0,0 »» Calculate sin & cos lists using formula sin a = a-a^3/3!+a^5/5!-a^7/7! »» 11 bits are used in the calculations for precision dosine_3 lea sin_3,a0 lea 1024(a0),a1 moveq #0,d4 move #255,d3 .l1 move.l d4,d0 swap d0 add.l #823550,d4 Pi<<18 move d0,d2 move d0,d1 mulu d1,d1 lsl.l #4,d1 swap d1 mulu d1,d0 divu #3<<11,d0 sub d0,d2 mulu d1,d0 divu #10<<11,d0 add d0,d2 mulu d1,d0 divu #21<<11,d0 sub d0,d2 asr #4,d2 move d2,(a0)+ move d2,2046(a0) move d2,-(a1) neg d2 move d2,1022(a0) move d2,1024(a1) dbf d3,.l1 rts »»»»»»» inittialiohjelma »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» init_3 lea l_even_3,a1 Muodostetaan 1/0 bittitasot lea l_odd_3,a0 moveq #-1,d1 moveq #9,d0 .1 move.l d1,(a0)+ clr.l (a1)+ dbf d0,.1 lea copst_3(pc),a0 kopsataan copperlistat move.l cop1_3(pc),a1 move.l cop2_3(pc),a2 moveq #copstl_3>>2-1,d0 .c1 move.l (a0),(a1)+ move.l (a0)+,(a2)+ dbf d0,.c1 move.l scrl1_3(pc),d0 laitetaan niihin bpl-pointterit move.l cop1_3(pc),a0 bsr .cz move.l scrl2_3(pc),d0 move.l cop2_3(pc),a0 bsr .cz bsr inz_cl_3 bsr do_sqt_3 rts »» .cz moveq #4-1,d1 Asettaa bpl-pointterit copperlistaan .cz1 move d0,bploff_3+4(a0) swap d0 move d0,bploff_3(a0) swap d0 addq #8,a0 add.l #40,d0 dbf d1,.cz1 rts copst_3 dc $008e,$2c81,$0090,$2cc1 Copperlistan alku dc $0092,$0038,$0094,$00d0 dc $0100,$5000,$0102,$0000 dc $0104,$0000,$0180,$0000 dc $0108,$ffd8,$010a,$ffd8 bploff_3 = *-copst_3+2 dc $00e0,$0000,$00e2,$0000 dc $00e4,$0000,$00e6,$0000 dc $00e8,$0000,$00ea,$0000 dc $00ec,$0000,$00ee,$0000 copstl_3 = *-copst_3 »» varilistat yms. rakennetaan inz_cl_3 lea cmaps_3,a0 lea $1200(a0),a1 lea .ctab(pc),a3 lea cptab_3,a4 moveq #0,d4 moveq #$3f,d7 .1 move.l a0,(a4)+ move.l #l_even_3,d1 move #$00f2,(a0)+ move d1,(a0)+ move #$00f0,(a0)+ swap d1 move d1,(a0)+ move.l #l_odd_3,d1 move #$00f2,(a1)+ move d1,(a1)+ move #$00f0,(a1)+ swap d1 move d1,(a1)+ move #$0180,d1 move #$01a0,d2 moveq #$f,d6 .2 and #$7e,d4 move (a3,d4),d3 addq #8,d4 move d1,(a0)+ move d3,(a0)+ move d2,(a1)+ move d3,(a1)+ addq #2,d1 addq #2,d2 dbf d6,.2 addq #2,d4 dbf d7,.1 rts .ctab blk 24,0 dc $000,$001,$002,$003,$004,$005,$006,$007 dc $008,$009,$00a,$00b,$00c,$00d,$00e,$00f dc $22f,$44f,$88f,$aaf,$ccf,$eef,$fff,$fff dc $fff,$fff,$fff,$fff,$fff,$eef,$ccf,$aaf dc $88f,$11e,$00c,$00a,$008,$006,$004,$002 blk 32,0 dc $000,$001,$002,$003,$004,$005,$006,$007 dc $008,$009,$00a,$00b,$00c,$00d,$00e,$00f dc $00e,$00d,$01c,$02b,$03a,$049,$058,$067 dc $076,$085,$094,$0a3,$0b2,$0c1,$0d0,$0e0 dc $0f0,$0e0,$0d0,$1c0,$2b0,$3a0,$490,$580 dc $670,$760,$850,$940,$a30,$b20,$c10,$d00 dc $e00,$f00,$e00,$d00,$c00,$b00,$a00,$900 dc $800,$700,$600,$500,$400,$300,$200,$100 »» muodostetaan taulukkoja do_sqt_3 lea star_3,a0 lea 1024(a0),a1 move #511,d0 .1 moveq #5,d2 add d0,d2 move.l #$100,d1 divu d2,d1 move.b d1,(a0)+ move.b d1,-(a1) dbf d0,.1 rts »» rakennetaan copperlista pysty_3 move.l #$2c01fffe,d1 move.l #$01000000,d2 move.l cop2_3(pc),a5 add #copstl_3,a5 moveq #$7f,d3 w_blit move.l #$09f00000,$040(a6) move.l #$ffffffff,$044(a6) move.l #$00000000,$064(a6) .zoka move.b (a0)+,d0 Even line add.b (a1)+,d0 add.b (a2)+,d0 add.b (a3)+,d0 add.b (a4)+,d0 and #$fc,d0 move.l cptab_3(pc,d0),d0 move.l d1,(a5)+ add.l d2,d1 w_blit move.l d0,$050(a6) move.l a5,$054(a6) move #$0109,$058(a6) add #$48,a5 move.b (a0)+,d0 Odd line add.b (a1)+,d0 add.b (a2)+,d0 add.b (a3)+,d0 add.b (a4)+,d0 and #$fc,d0 move.l cptab_3(pc,d0),d0 add.l #$1200,d0 move.l d1,(a5)+ add.l d2,d1 bcc.b .b3 move.l #$ffe1fffe,(a5)+ .b3 w_blit move.l d0,$050(a6) move.l a5,$054(a6) move #$0109,$058(a6) add #$48,a5 dbf d3,.zoka move.l #$01800000,(a5)+ move.l #-2,(a5)+ rts cptab_3 ds.l $40 »» rakennetaan vaakarivi vaaka_3 move.l scrl2_3(pc),a5 moveq #9,d7 .a moveq #15,d5 .b rept 2 move.b (a0)+,d0 add.b (a1)+,d0 add.b (a2)+,d0 add.b (a3)+,d0 add.b (a4)+,d0 add.b d0,d0 addx.l d4,d4 add.b d0,d0 addx.l d3,d3 add.b d0,d0 addx.l d2,d2 add.b d0,d0 addx.l d1,d1 endr dbf d5,.b move.l d4,120(a5) move.l d3,80(a5) move.l d2,40(a5) move.l d1,(a5)+ dbf d7,.a rts ;; <4> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» » » " L a z e r s " » »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» lines_4 = 64 go_part_4 lea $dff000,a6 move.b #$ac,lin1_4 move.b #$ac,lin2_4 bsr do_sine_4 mouse_4 tst.b 5(a6) beq.b mouse_4 .1 tst.b 5(a6) bne.b .1 bsr.b avaa_4 movem.l scr1_4(pc),d0-d1 exg d0,d1 movem.l d0-d1,scr1_4 add.l #$500,d0 move.l d0,$0e0(a6) move.l d0,$0e4(a6) move.l #pic_4,$0e8(a6) addq #1,frame_4 bsr clear_4 bsr radat_4 bsr dolines_4 move.l #copper_4,$080(a6) btst #6,$bfe001 bne mouse_4 rts frame_4 dc 0 avaa_4 move.b lin1_4,d0 cmp.b #$99,d0 beq.b .x subq.b #1,lin1_4 addq.b #1,lin2_4 .x rts »» Clear clear_4 w_blit move.l #$01000000,$040(a6) move #0,$066(a6) move.l scr2_4(pc),a0 add #32*40,a0 move.l a0,$054(a6) move #$4014,$058(a6) rts »» Laskee radat radat_4 move.l #$ffff,d2 move frame_4(pc),d6 moveq #$40,d0 sub d6,d0 bmi.b .fg asr #2,d0 ror.l d0,d2 .fg moveq #0,d5 sub #$20,d6 add d6,d6 ror d6,d2 move d6,d7 .lp lea sin_4,a1 lea rata_4,a2 move frame_4(pc),d5 btst #8,d5 bne.b .sfg not d5 add #$100,d5 .sfg sub #$80,d5 ext d5 asl #4,d5 and #$fe,d6 and #$fe,d7 moveq #lines_4-1,d4 .zp move d5,d0 add (a1,d7),d0 add (a1,d6),d0 move 64(a1,d7),d1 add 64(a1,d6),d1 move d0,(a2)+ move d1,(a2)+ move d2,(a2)+ ror #1,d2 addq.b #4,d6 addq.b #8,d7 dbf d4,.zp rts »» Lineprutku dolines_4 move.l scr2_4(pc),a0 add #6420,a0 lea rata_4,a1 w_blit Init line moveq #-1,d2 move.l d2,$044(a6) moveq #40,d2 move d2,$060(a6) move d2,$066(a6) move #$8000,$074(a6) moveq #lines_4-1,d5 .ll movem (a1)+,d0/d1/d4 moveq #0,d2 Draw the line tst d0 bpl.b .1 neg d0 moveq #16,d2 .1 tst d1 bpl.b .2 neg d1 addq #8,d2 .2 cmp d0,d1 blo.b .3 bne.b .z tst d0 beq.b .x .z exg d0,d1 addq #4,d2 move #$2002,d3 bra.b .4 .3 move #$2802,d3 .4 add d1,d1 w_blit move d4,$072(a6) move.l a0,$048(a6) move.l a0,$054(a6) move d1,$062(a6) sub d0,d1 bpl.b .5 addq #2,d2 .5 move #$0bea,$040(a6) move .bcon0(pc,d2),$042(a6) move d1,$052(a6) sub d0,d1 move d1,$064(a6) move d3,$058(a6) .x dbf d5,.ll rts .bcon0 dc %0010001,%1010001 dc %0000001,%1000001 dc %0011001,%1011001 dc %0000101,%1000101 dc %0010101,%1010101 dc %0001001,%1001001 dc %0011101,%1011101 dc %0001101,%1001101 »» Calculate sin & cos lists using formula sin a = a-a^3/3!+a^5/5!-a^7/7! »» 11 bits are used in the calculations for precision do_sine_4 lea sin_4,a0 lea 128(a0),a1 move.l #823550<<2,d4 moveq #31,d3 .l1 move.l d4,d0 swap d0 add.l #823550<<3,d4 Pi<<18 move d0,d2 move d0,d1 mulu d1,d1 lsl.l #4,d1 swap d1 mulu d1,d0 divu #3<<11,d0 sub d0,d2 mulu d1,d0 divu #10<<11,d0 add d0,d2 mulu d1,d0 divu #21<<11,d0 sub d0,d2 asr #2,d2 move d2,(a0)+ move d2,254(a0) move d2,-(a1) neg d2 move d2,126(a0) move d2,128(a1) dbf d3,.l1 rts scr1_4 dc.l bpl1_4 scr2_4 dc.l bpl2_4 ;; <5> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» » » R e p l a y R o u t i n e » »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» ** ==== Initialize ============================================ ** z z_unptb dc.b $00,$00,$01,$02,$04,$08,$10,$20 dc.b $40,$ff,$fe,$fc,$f8,$f0,$e0,$c0 z_init lea z_data,a4 lea biisi,a0 move.l a4,a1 move #biisi_l>>3-1,d0 .yt move.l (a0)+,(a1)+ move.l (a0)+,(a1)+ dbf d0,.yt lea z(pc),a5 move.l 14(a4),d0 UnSqueeze samples lea (a4,d0.l),a0 move.l (a0)+,d0 lea -4(a0,d0.l),a1 lsr.l #1,d0 add.l d0,a0 subq #1,d0 move d0,d1 .mo move.b -(a0),-(a1) dbf d1,.mo subq #4,a0 moveq #0,d1 moveq #0,d3 .un move.b (a1)+,d1 moveq #$f,d2 and d1,d2 lsr #4,d1 tst d1 bne.b .u1 moveq #0,d3 .u1 add.b z_unptb(pc,d1),d3 move.b d3,(a0)+ tst d2 bne.b .u2 moveq #0,d3 .u2 add.b z_unptb(pc,d2),d3 move.b d3,(a0)+ dbf d0,.un lea $dff000,a6 lea z_vibtb-z(a5),a0 Calculate vibrato table lea z_sinus-z(a5),a1 moveq #$3f,d0 .1 move (a1)+,d4 moveq #0,d2 moveq #15,d1 .2 move d2,d3 asr #7,d3 move.b d3,(a0)+ add d4,d2 dbf d1,.2 dbf d0,.1 move.l (a4),d0 Add offset to songpos-pointer lea (a4,d0.l),a0 move.l a0,(a4) .3 move.l (a0),d0 Add offsets to songpos-table bmi.s .4 add.l a4,d0 move.l d0,(a0)+ bra.s .3 .4 lea 6(a4),a0 move.l a4,d1 moveq #31-1,d0 Add offsets to samplepointers z_sloop addq.l #8,a0 add.l d1,(a0)+ add.l d1,(a0)+ dbf d0,z_sloop moveq #-4,d0 move d0,z_song-z(a5) move.b d0,z_pos-z(a5) move.b #$06,z_speed-z(a5) move.b #$01,z_count-z(a5) bset #1,$bfe001 lea z_ociab-z(a5),a0 lea $bfd000,a1 move.l $78.w,(a0)+ move.l $6c.w,(a0)+ move.b $400(a1),(a0)+ move.b $500(a1),(a0)+ move.b $e00(a1),(a0)+ move.b $f00(a1),(a0)+ move $01c(a6),(a0)+ move #$7fff,$09a(a6) move.b #$02,$500(a1) $200 = 11.3 raster lines move.b #$00,$400(a1) move.b #$1f,$d00(a1) move.b #$81,$d00(a1) move.b #$1c,$e00(a1) lea z_irq1-z(a5),a0 move.l a0,$78.w lea z_pirq-z(a5),a0 move.l a0,$6c.w move #$e020,$09a(a6) bra z_quiet ** ==== Disable sound ========================================= ** z_end lea $dff000,a6 lea z_ociab(pc),a0 lea $bfd000,a1 move #$7fff,$09a(a6) move.l (a0)+,$78.w move.l (a0)+,$6c.w move.b (a0)+,$400(a1) move.b (a0)+,$500(a1) move.b #$af,$d00(a1) move.b (a0)+,$e00(a1) move.b (a0)+,$f00(a1) move (a0)+,d0 or #$8000,d0 move d0,$09a(a6) z_quiet clr $0a8(a6) clr $0b8(a6) clr $0c8(a6) clr $0d8(a6) move #$000f,$096(a6) rts ** ==== Play music ============================================ ** z_pirq movem.l d0-d4/a0-a6,-(sp) bsr z_music move #$0020,$09c(a6) movem.l (sp)+,d0-d4/a0-a6 rte z_music lea z_data,a4 lea z(pc),a5 lea $dff000,a6 clr z_dmaen-z(a5) move.b z_speed-z(a5),d0 beq z_ende subq.b #1,z_count-z(a5) New note? bne z_nonew move.b d0,z_count-z(a5) addq.b #4,z_pos-z(a5) Proceed in song bne.s z_newpa move.l (a4),a0 New pattern addq #4,z_song-z(a5) move z_song-z(a5),d0 move.l (a0,d0.w),d0 bpl.s .1 clr z_song-z(a5) clr.b z_pos-z(a5) move.l (a0),d0 .1 move.l d0,z_patt-z(a5) z_newpa move.b z_pos-z(a5),d0 Play new notes move.l z_patt-z(a5),a0 pea .1-z(a5) lea z_voi1-z(a5),a3 cmp.b (a0),d0 bne z_playo move.l (a0)+,d1 bra z_playn .1 pea .2-z(a5) lea z_voi2-z(a5),a3 addq.b #1,d0 cmp.b (a0),d0 bne z_playo move.l (a0)+,d1 bra z_playn .2 pea .3-z(a5) lea z_voi3-z(a5),a3 addq.b #1,d0 cmp.b (a0),d0 bne z_playo move.l (a0)+,d1 bra z_playn .3 pea .4-z(a5) lea z_voi4-z(a5),a3 addq.b #1,d0 cmp.b (a0),d0 bne z_playo move.l (a0)+,d1 bra z_playn .4 move.l a0,z_patt-z(a5) z_nonew lea z_voi1-z(a5),a1 Do effects bsr z_doefx move d4,$0a6(a6) move 14(a1),$0a8(a6) lea z_voi2-z(a5),a1 bsr z_doefx move d4,$0b6(a6) move 14(a1),$0b8(a6) lea z_voi3-z(a5),a1 bsr z_doefx move d4,$0c6(a6) move 14(a1),$0c8(a6) lea z_voi4-z(a5),a1 bsr z_doefx move d4,$0d6(a6) move 14(a1),$0d8(a6) move z_dmaen-z(a5),d0 beq.s z_ende move d0,$096(a6) or #$8000,d0 move d0,z_dmaen-z(a5) ror #1,d0 bpl.s .1 move.l z_voi1+2-z(a5),$0a0(a6) move z_voi1+6-z(a5),$0a4(a6) .1 ror #1,d0 bpl.s .2 move.l z_voi2+2-z(a5),$0b0(a6) move z_voi2+6-z(a5),$0b4(a6) .2 ror #1,d0 bpl.s .3 move.l z_voi3+2-z(a5),$0c0(a6) move z_voi3+6-z(a5),$0c4(a6) .3 ror #1,d0 bpl.s .4 move.l z_voi4+2-z(a5),$0d0(a6) move z_voi4+6-z(a5),$0d4(a6) .4 z_ende move.b #$1d,$bfde00 rts z_irq1 tst.b $bfdd00 move z_dmaen(pc),$dff096 move.l #z_irq2,$78.w move #$2000,$dff09c move.b #$1d,$bfde00 rte z_irq2 tst.b $bfdd00 move.l a6,-(sp) lea $dff000,a6 move.l z_voi1+8(pc),$0a0(a6) Set repeat pointers move z_voi1+12(pc),$0a4(a6) move.l z_voi2+8(pc),$0b0(a6) move z_voi2+12(pc),$0b4(a6) move.l z_voi3+8(pc),$0c0(a6) move z_voi3+12(pc),$0c4(a6) move.l z_voi4+8(pc),$0d0(a6) move z_voi4+12(pc),$0d4(a6) move #$2000,$09c(a6) lea z_irq1(pc),a6 move.l a6,$78.w move.l (sp)+,a6 move.b #$1c,$bfde00 rte z_doefx move 16(a1),d4 Get period move.b 24(a1),d0 Do effect commands ext d0 add d0,d0 moveq #0,d1 move.b 25(a1),d1 d1 = effect data move.b z_count-z(a5),d2 cmp.b z_speed-z(a5),d2 bne.s .1 move z_jump1(pc,d0.w),d0 jmp (a5,d0.w) .1 move z_jump2(pc,d0.w),d0 jmp (a5,d0.w) z_jump1 dc z_retrn-z,z_retrn-z,z_retrn-z,z_retrn-z Count = Speed dc z_retrn-z,z_retrn-z,z_retrn-z,z_retrn-z New note dc z_retrn-z,z_ofset-z,z_retrn-z,z_posjm-z dc z_setvl-z,z_ptbrk-z,z_ecmds-z,z_setsp-z z_jump2 dc z_arpeg-z,z_sldup-z,z_sldwn-z,z_tport-z Count <> Speed dc z_vibra-z,z_tpvsl-z,z_vibvs-z,z_retrn-z dc z_retrn-z,z_retrn-z,z_volsl-z,z_retrn-z dc z_retrn-z,z_retrn-z,z_retrn-z,z_retrn-z z_arpls dc.b 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0 dc.b 1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1 z_retrn rts z_arpeg tst d1 CMD 0: Arpeggio beq.s z_retrn move.b z_count-z(a5),d0 ext d0 move.b z_arpls(pc,d0.w),d0 beq.s z_arpg0 subq.b #1,d0 beq.s z_arpg1 and #$f,d1 add d1,d1 add 18(a1),d1 add #z_notes-z,d1 move (a5,d1.w),d4 rts z_arpg1 lsr #4,d1 add d1,d1 add 18(a1),d1 add #z_notes-z,d1 move (a5,d1.w),d4 rts z_arpg0 move 18(a1),d1 add #z_notes-z,d1 move (a5,d1.w),d4 rts z_sldup sub d1,d4 CMD 1: Slide up cmp #$71,d4 bcc.s .1 move #$71,d4 .1 move d4,16(a1) rts z_sldwn add d1,d4 CMD 2: Slide down cmp #$358,d4 bmi.s .1 move #$358,d4 .1 move d4,16(a1) rts z_tport tst d1 CMD 3: Tone portamento beq.s z_port2 move.b d1,22(a1) z_port2 moveq #0,d0 move.b 22(a1),d0 move 30(a1),d2 cmp d2,d4 bpl.s z_tprtu add d0,d4 cmp d2,d4 bmi.s .1 move d2,d4 .1 move d4,16(a1) rts z_tprtu sub d0,d4 cmp d2,d4 bpl.s .1 move d2,d4 .1 move d4,16(a1) rts z_vibra tst.b d1 CMD 4: Vibrato beq.s z_dovib move.b d1,26(a1) z_dovib move.b 28(a1),d0 Vibrate period add d0,d0 add d0,d0 and #$3f0,d0 moveq #$f,d2 and.b 26(a1),d2 add d0,d2 add #z_vibtb-z,d2 move.b (a5,d2),d2 ext d2 add d2,d4 moveq #-$10,d0 Vibrato speed and.b 26(a1),d0 lsr.b #2,d0 add.b d0,28(a1) rts z_ofset lsl #7,d1 Cmd 9: Set sample offset cmp 6(a1),d1 bhi.s .2 sub d1,6(a1) ext.l d1 add.l d1,d1 add.l d1,2(a1) .2 rts z_tpvsl bsr z_port2 Cmd 5: Tone portamento and vol slide bra.s z_volsl z_vibvs bsr.s z_dovib Cmd 6: Vibrato and volume slide z_volsl move d1,d0 Cmd A: Volume slide lsr #4,d0 beq.s .1 add d0,14(a1) moveq #$40,d2 cmp 14(a1),d2 bpl.s .2 move d2,14(a1) .2 rts .1 sub d1,14(a1) bpl.s .3 clr 14(a1) .3 rts z_posjm move.b #$fc,z_pos-z(a5) Cmd B: Position jump ext d1 add d1,d1 add d1,d1 subq #4,d1 move.b d1,z_song-z(a5) rts z_setvl cmp #$40,d1 Cmd C: Set volume bls.s .1 moveq #$40,d1 .1 move d1,14(a1) rts z_ptbrk move.b #$fc,z_pos-z(a5) Cmd D: Pattern break rts (Parameter not supported!) z_ecmds moveq #$f,d0 Cmd E: Special commands and d1,d0 lsr #4,d1 add d1,d1 move z_ejump(pc,d1.w),d1 jmp (a5,d1.w) z_ejump dc z_filtr-z,z_fsldu-z,z_fsldd-z,z_retrn-z dc z_retrn-z,z_retrn-z,z_retrn-z,z_retrn-z dc z_retrn-z,z_retrn-z,z_fvolu-z,z_fvold-z dc z_retrn-z,z_retrn-z,z_retrn-z,z_retrn-z z_filtr tst d0 Cmd E0: Set filter beq.s .1 bset #1,$bfe001 rts .1 bclr #1,$bfe001 rts z_fsldu sub d0,d4 CMD E1: Fine slide up cmp #$71,d4 bpl.s .1 move #$71,d4 .1 move d4,16(a1) rts z_fsldd add d0,d4 CMD E2: Fine slide down cmp #$358,d4 bmi.s .1 move #$358,d4 .1 move d4,16(a1) rts z_fvolu add d0,14(a1) Cmd EA: Fine vol slide up moveq #$40,d2 cmp 14(a1),d2 bpl.s .1 move d2,14(a1) .1 rts z_fvold sub d0,14(a1) Cmd EB: Fine vol slide down bpl.s .1 clr 14(a1) .1 rts z_setsp move.b d1,z_speed-z(a5) Cmd F: Set speed move.b d1,z_count-z(a5) rts z_playo moveq #0,d1 z_playn move.l d1,d2 Play notes and #$0fff,d1 move d1,24(a3) Save effect command swap d1 and #$7e,d1 beq.s .5 ror.l #8,d2 and #$01f0,d2 bne.s .1 move 20(a3),d2 lea -10(a4,d2.w),a2 add (a2)+,d1 addq.l #2,a2 (sample 0: no volume change!) bra.s .3 .1 move d2,20(a3) Save sample 0 - pointer lea -10(a4,d2.w),a2 add (a2)+,d1 move (a2)+,14(a3) .3 move d1,18(a3) move z_notes(pc,d1.w),d1 move d1,30(a3) cmp.b #3,24(a3) Effect 3: don't care about sample beq.s .2 move d1,16(a3) move (a3),d1 or d1,z_dmaen-z(a5) .4 move (a2)+,6(a3) move (a2)+,12(a3) move.l (a2)+,2(a3) move.l (a2)+,8(a3) .2 rts .5 ror.l #8,d2 No note: change repeat pointers and #$01f0,d2 beq.s .2 move d2,20(a3) lea -8(a4,d2.w),a2 move (a2)+,14(a3) bra.s .4 z_notes dc 0 dc 856,808,762,720,678,640,604,570,538,508,480,453 dc 428,404,381,360,339,320,302,285,269,254,240,226 dc 214,202,190,180,170,160,151,143,135,127,120,113 dc 850,802,757,715,674,637,601,567,535,505,477,450 dc 425,401,379,357,337,318,300,284,268,253,239,225 dc 213,201,189,179,169,159,150,142,134,126,119,113 dc 844,796,752,709,670,632,597,563,532,502,474,447 dc 422,398,376,355,335,316,298,282,266,251,237,224 dc 211,199,188,177,167,158,149,141,133,125,118,112 dc 838,791,746,704,665,628,592,559,528,498,470,444 dc 419,395,373,352,332,314,296,280,264,249,235,222 dc 209,198,187,176,166,157,148,140,132,125,118,111 dc 832,785,741,699,660,623,588,555,524,495,467,441 dc 416,392,370,350,330,312,294,278,262,247,233,220 dc 208,196,185,175,165,156,147,139,131,124,117,110 dc 826,779,736,694,655,619,584,551,520,491,463,437 dc 413,390,368,347,328,309,292,276,260,245,232,219 dc 206,195,184,174,164,155,146,138,130,123,116,109 dc 820,774,730,689,651,614,580,547,516,487,460,434 dc 410,387,365,345,325,307,290,274,258,244,230,217 dc 205,193,183,172,163,154,145,137,129,122,115,109 dc 814,768,725,684,646,610,575,543,513,484,457,431 dc 407,384,363,342,323,305,288,272,256,242,228,216 dc 204,192,181,171,161,152,144,136,128,121,114,108 dc 907,856,808,762,720,678,640,604,570,538,508,480 dc 453,428,404,381,360,339,320,302,285,269,254,240 dc 226,214,202,190,180,170,160,151,143,135,127,120 dc 900,850,802,757,715,675,636,601,567,535,505,477 dc 450,425,401,379,357,337,318,300,284,268,253,238 dc 225,212,200,189,179,169,159,150,142,134,126,119 dc 894,844,796,752,709,670,632,597,563,532,502,474 dc 447,422,398,376,355,335,316,298,282,266,251,237 dc 223,211,199,188,177,167,158,149,141,133,125,118 dc 887,838,791,746,704,665,628,592,559,528,498,470 dc 444,419,395,373,352,332,314,296,280,264,249,235 dc 222,209,198,187,176,166,157,148,140,132,125,118 dc 881,832,785,741,699,660,623,588,555,524,494,467 dc 441,416,392,370,350,330,312,294,278,262,247,233 dc 220,208,196,185,175,165,156,147,139,131,123,117 dc 875,826,779,736,694,655,619,584,551,520,491,463 dc 437,413,390,368,347,328,309,292,276,260,245,232 dc 219,206,195,184,174,164,155,146,138,130,123,116 dc 868,820,774,730,689,651,614,580,547,516,487,460 dc 434,410,387,365,345,325,307,290,274,258,244,230 dc 217,205,193,183,172,163,154,145,137,129,122,115 dc 862,814,768,725,684,646,610,575,543,513,484,457 dc 431,407,384,363,342,323,305,288,272,256,242,228 dc 216,203,192,181,171,161,152,144,136,128,121,114 z_sinus dc $0000,$0018,$0031,$004a,$0061,$0078,$008d,$00a1 dc $00b4,$00c5,$00d4,$00e0,$00eb,$00f4,$00fa,$00fd dc $00ff,$00fd,$00fa,$00f4,$00eb,$00e0,$00d4,$00c5 dc $00b4,$00a1,$008d,$0078,$0061,$004a,$0031,$0018 dc $0000,$ffe8,$ffcf,$ffb6,$ff9f,$ff88,$ff73,$ff5f dc $ff4c,$ff3b,$ff2c,$ff20,$ff15,$ff0c,$ff06,$ff03 dc $ff01,$ff03,$ff06,$ff0c,$ff15,$ff20,$ff2c,$ff3b dc $ff4c,$ff5f,$ff73,$ff88,$ff9f,$ffb6,$ffcf,$ffe8 ** ==== Variables ============================================= ** z_song dc 0 z_pos dc.b 0 z_speed dc.b 0 z_count dc.b 0 even z_patt dc.l 0 z_dmaen dc 0 z_ociab ds.b 14 z_voi1 dc 1 ds.b 30 z_voi2 dc 2 ds.b 30 z_voi3 dc 4 ds.b 30 z_voi4 dc 8 ds.b 30 z_vibtb ds.b 1024 ;; <6> biisi incbin "darkroom.zen" biisi_l = *-biisi even pic_2 incbin "darkroom.raw" »»»»»»» bss (fast) »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» section ada,bss fast_siz = $1000 fast ds.b fast_siz fractar_1 = fast zoomaa_1 = fast+200 rotate_1 = fast+400 hold_1 = fast+600 sin_3 = fast cos_3 = fast+$200 star_3 = fast+$a00 sin_4 = fast rata_4 = fast+360 ;(ds.w 3*lines) »»»»»»» bss-chip »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» section we,bss_c z_data ds.b $10000 chip_siz = $30000 chip ds.b chip_siz g_1 = chip bpa1_1 = chip+$3000 bpa2_1 = chip+$5800 bpa3_1 = chip+$8000 bpa4_1 = chip+$a800 bpb1_1 = chip+$d000 bpb2_1 = chip+$f800 bpb3_1 = chip+$12000 bpb4_1 = chip+$14800 t_1 = chip+$18000 bpl1_2 = chip temp_2 = chip+$2828 bpl2_2 = chip+$5050 bpl3_2 = chip+$7850 bpl4_2 = chip+$a050 bpl_tx_2 = chip+$c850 line1_3 = chip line2_3 = chip+160 l_even_3 = chip+320 l_odd_3 = chip+360 copper1_3 = chip+400 copper2_3 = chip+$5190 cmaps_3 = chip+$a190 bpl1_4 = chip bpl2_4 = chip+$3200 bpl3_4 = chip+$6400 »»»»»»» copperlistat, ym chip-kama »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» section rw,data_c copper_0 dc $0100,$0000,$0180,$0000 dc.l -2 »» routine 1 scopa_1 dc $008e,$2c81,$0090,$2cc1 dc $0092,$0038,$0094,$00d0 dc $0108,$0000,$010a,$0000 dc $0100,$4000,$0102,$0000 ; dc $0180,$0000,$0182,$0100,$0184,$0200,$0186,$0300 ; dc $0188,$0400,$018a,$0500,$018c,$0600,$018e,$0700 ; dc $0190,$0800,$0192,$0910,$0194,$0a20,$0196,$0b30 ; dc $0198,$0c40,$019a,$0d50,$019c,$0e60,$019e,$0f70 dc $0180,$0000,$0182,$0001,$0184,$0002,$0186,$0003 dc $0188,$0004,$018a,$0005,$018c,$0006,$018e,$0007 dc $0190,$0008,$0192,$0009,$0194,$000a,$0196,$000b dc $0198,$000c,$019a,$000d,$019c,$000e,$019e,$000f sptra_1 dc $00e0,$0000,$00e2,$0000 dc $00e4,$0000,$00e6,$0000 dc $00e8,$0000,$00ea,$0000 dc $00ec,$0000,$00ee,$0000 dc.l -2 scopb_1 sptrb_1 dc $00e0,$0000,$00e2,$0000 dc $00e4,$0000,$00e6,$0000 dc $00e8,$0000,$00ea,$0000 dc $00ec,$0000,$00ee,$0000 dc.l -2 »» routine 2 copper_2 dc $008e,$2c81,$0090,$2cc1 dc $0092,$0038,$0094,$00d0 dc $0100,$4000,$0102,$0000 dc $0108,$0000,$010a,$0000 fadehere_2 dc $0180,$0000,$0182,$0226,$0184,$0226,$0186,$033a dc $0188,$0226,$018a,$033a,$018c,$033a,$018e,$044f dc $0190,$044f,$0192,$066f,$0194,$066f,$0196,$0aaf dc $0198,$066f,$019a,$0aaf,$019c,$0aaf,$019e,$0fff dc.l -2 »» routine 4 copper_4 dc $008e,$2c81,$0090,$2cc1 dc $0092,$0038,$0094,$00d0 dc $0100,$2000,$0102,$0001 dc $0108,$0000,$010a,$0000 dc $0180,$0000,$0182,$0006,$0184,$0006,$0186,$000c dc $0188,$0ccc,$018a,$0ccf,$018c,$0ccf,$018e,$0ccf lin1_4 dc $9911,$fffe,$0100,$3000 lin2_4 dc $bf11,$fffe,$0100,$2000 dc.l -2 pic_4 incbin "credits.raw" -/\-/\-/\-/\-/\-/\-/\-:[ ....oNE.sTEP.aHEAD.oF.yOU!.... ]:-/\-/\-/\-/\-/\-/\- _ ___________________________ _______________ ____ ____ / \ ___.---.________ \ _____\ __________ __)\_ _________ \ \_ Y _/(___) \_ |\_ ____) /\____ \/\/ | \| | \/ ___)/ _ \/ \_/ \| | \_ |/ \_ | (_________)________) |____/________)___|____)___|____)___|___| (____| | ---------------- `---' ------------------------------------- `---' -- `---' ____ _____________________ _____ ____ \_ Y _/\_ _______ __// _ \ \_ |___ uSR 16.8 dS! / \_/ \/ ___) | | / _ \/ | \ aLWAYS rUNNiN (____|____)_______) | |(____|____)________) tHE lATEST /X 5oo mEGZ .----------------- `---' -----------------. oNLiNE |::: aCCESSiON aUSTRALiAN hEADQUARTERS :::| nO pASSWORDS! `-----------------------------------------' aMiGA - hPA - aSCii - /X uTiLS eVERYONE gETS diSABLED rATiOS! fUN, fRiENDSHiP aND fAST wAREZ gRAB tHA nUMBA! +619-382-4425 gRAB tHA nUMBA! -/\-/\-/\-/\-/\-/\-/\-/\-:[ yOU pASSED iT dUDE!! ]:-/\-/\-/\-/\-/\-/\-/\-/\- -*- tHIS fILE wAS pASSED tHROW -*- _ ________ _ __ ___________ ________/\ ______ __ /_____/_ __________ __________ \\\_______ ¬\__ / \__ \/ ¬\_/ \___ ¬\_______ ¬\_______ ¬\_ / / / / / __ / / / \______/ /____/ / / / / / / / / / / / / ____/ / / / / / / / / / / /_____ :| /_____/ /_____ /_____/ /_____ /_____ /_____/__ | :| /_____/ /_____/ /_____/ /_____/ /_____/ / | | · | | _ ________ O·F T·H·E aBS! wHQ ^ US eHQ | | /_____/_ __________ _________ __________ ________ | | aBS WHQ / \___ ¬\_______ ¬\_\_______¬\_______ ¬\__ /__ __ _ | | US EHQ / / / \______/ ___/ / /____/ ____/// | | / / / / / / /\_____ \/ / \_ |: |_______/ / / / / / / / / / /________|: /_____ /_____ /_____ /_____ /_____ / /_____/ /_____/ /_____/ /_____/ kRm/_____/ -^- tHE fASTEST iN eAST-eUROPE -^- .------------------/-------------------------------\------------------. | [+61-92474998] / T H I S F I L E P A S S E D ! \ [+61-RiNGDOWN!] | `----------------/-----------------------------------\----------------' .____. ______ ___| | _\____/_ ____ /\__ _____ ___________ - --/ _!___ |/ / \__\___\//\_/_____\___ \____\_____ \_-- - - / ___ /_/ / \_ \/ \ |/ \ |/ / - / |\/ \ /\ / \ \ _ \ | /--- - - / |____\__________/_______\ \__/ \_____|_____/ /_______| /____________\/________\[DGN^JZ] .__ ________ ________ ___________|__\__ ________ - - - -/ _____/___\__ /___\__ / ______/___\__ /- - - _/ __)____ _/ _/ _/ _/ \| _ \_ _/ _/ - - -\ \ / \ \_ \ \_ \/ / \ \_- - - \________/_____\ /_____\ /________/_____\ / \ / \ / \ / SYS : P$YCHE / DEViOUS! \/ COSYS : \/ fELON / DEViOUS! \/ CALL NOW! .---------------------------\/---------\/------------------\/---------. | 24HRS - 520 MB - A2000-POWER - AMIGA! + HPAC! + 16.8 | `---------------------------------------------------------------------' [A¡RaDDer v3.1 By A¡Rcø] .----------------------------------------------------------------------------. | ... lOOKS lIKE fANTAZiA! bEAT yA tO iT oNCE aGAIN! \\| | \| | /\____/\/\____/\ |\_____/\/\_____/\ /\____/\ /\____/\ _/\ /\____/\ | | / \ \\| \\ \\/ \\ / \_| \\/ \\ | |/ .__ / · · \\ . \\ . \\ · · \\\____/ /: \\ · · \\| / |__\/ \\ \ \\__| \\ \\/ __/\| \\ \\ \ | \ | // /. // | // | /// \ // | // |\____| \____|_____/___/_____/ |____/___|_____/\\ ________/____/___|_____/| | \/ | | fAST - fUN^fRIENDLY - o3O/68882^18mb RAM - 2.1Gb HD - DAT bACKUP | | | | * tWO nODES! * uSR 28.8 V34·VFC·HST * | | ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ | |\ [+44] 01305-ASK4IT ^&^ [+44] 01305-PRIVAT | |\\ | `----------------------------------------------------------------------------' [-AquaAdder v1.0-] _________ _________ ______ ____________ \_______/____. ._____. \_______/_________ ____ / / \ /___| | |____|__ |___|___ |/ ___ \/ \/ / \___/ / | | | / | / | \/ \_ \ \ / |_/ / | | | / | / | / / \ / |\___________| |__________/__________/ |___________/ |\ / `------------| |--------------------| |----------| |-\/ `-----' `-----' | | .______ ._______ | | _______| _/__________ _____| _/_____________ | | . .\_ | \/ ___ \/ | | _ / `-----' : |s| _| \ \/ \_ | | _/ _/_____________ : |c| \_ \_ / / | | \ \ _______/ | |e| |_______/_________/___________|_____|\ \_______ \ | `-| |-------------------------------------\_____/ / \_ | `-----' \____________/ __| [- +358-31-3713472 -] [- USROBOTICS COURIER V34 -] ___ _|__| [- SYSOP: VAPOUR -] [- AMIGA & IBM WAREZONES! -] __|___|____| _ __ ___ _____|____|___|__| ______/\ ._________________/|____________ _ ___/\____ _______ \_ _ \| _/ _ \_ | _/ __/___ ___/___/ _ \_·K· _| \ \_ |_ _ |_ : \______ \_ _| \_ _ | _ _______|\_______/ |_____/________|___________/___________/ |______ _ \_____: \_____| new users leave mail to: nausea@mfc.fipnet.fi or get in touch with one of the sysop's. [A¡RaDDer v3.4 By A¡Rcø]