His Master's Noise
From Misc Data Digs
Hidden Message[edit | edit source]
At the beginning of the disks, there is this string on Disk A:
This is `His Master's Noise' - a musicdisk by Mahoney & Kaktus finished Oct. 1991!
And this on Disk B:
This is `His Masters Noise' - a musicdisk by Mahoney & Kaktus made in August 1990!
Source Code[edit | edit source]
At the end of Disk B, some source code fragments can be uncovered. Note that some recovery work had to be done to make this readable.
bpl.s pe_d moveq #0,d0 pe_d: move.l d0,pe_yspd tst.w AltMode ;move cursor with alt+cursor beq.s pe_Mu move.w CursorKeyX(pc),d0 move.w CursorKeyY(pc),d1 move.l pe_curssence(pc),d2 muls d2,d0 muls d2,d1 asl.l #5,d0 asl.l #5,d1 add.l d0,pe_xspd add.l d1,pe_yspd pe_Mu: moveq #0,d1 ;add musmoves to spds move.b pe_old(pc),d0 move.b pe_nu(pc),d1 ext.w d0 ext.w d1 sub.w d0,d1 ext.w d1 add.w d1,d1 muls pe_ysence+2(pc),d1 add.l d1,pe_yspd moveq #0,d1 move.b pe_old+1(pc),d0 move.b pe_nu+1(pc),d1 ext.w d0 ext.w d1 sub.w d0,d1 ext.w d1 add.w d1,d1 muls pe_xsence+2(pc),d1 add.l d1,pe_xspd move.l pe_xpos(pc),d0 add.l pe_xspd(pc),d0 move.l d0,d1 swap d1 cmp.w #$70,d1 bgt.s pe_2 bsr pe_studs tst.l pe_xspd bpl.s pe_22 neg.l pe_xspd pe_22: sub.l #$70ffff,d0 neg.l d0 add.l #$710000,d0 bra.s pe_3 pe_2: cmp.w #$1c4,d1 blt.s pe_3 bsr pe_studs tst.l pe_xspd bmi.s pe_23 neg.l pe_xspd pe_23: sub.l #$1c40000,d0 neg.l d0 add.l #$1c3ffff,d0 pe_3: move.l d0,pe_xpos move.l pe_ypos(pc),d0 add.l pe_yspd(pc),d0 move.l d0,d1 swap d1 cmp.w #$25,d1 bgt.s pe_4 bsr pe_studs tst.l pe_yspd bpl.s pe_44 neg.l pe_yspd pe_44: sub.l #$25ffff,d0 neg.l d0 add.l #$260000,d0 bra.s pe_5 pe_4: cmp.w #$12d,d1 blt.s pe_5 bsr.s pe_studs tst.l pe_yspd bmi.s pe_55 neg.l pe_yspd pe_55: sub.l #$12d0000,d0 neg.l d0 add.l #$12cffff,d0 pe_5: move.l d0,pe_ypos lea pek(pc),a0 ;set spr-pos i spr-data move.w pe_xpos(pc),d0 moveq #0,d1 lsr.w #1,d0 bcc.s pe_1 moveq #1,d1 pe_1: move.b d0,1(a0) move.b d1,3(a0) move.b pe_ypos+1(pc),(a0) move.b pe_ypos(pc),d0 asl.b #2,d0 or.b d0,3(a0) move.w pe_ypos(pc),d0 add.w #$e,d0 move.b d0,2(a0) lsr.w #$8,d0 asl.b #1,d0 or.b d0,3(a0) move.w pe_nu(pc),pe_old rts pe_studs: move.l pe_studsfric(pc),d1 lsr.l #$4,d1 move.w pe_xspd(pc),d4 bpl.s pe_1e neg.w d4 pe_1e: move.w pe_yspd(pc),d5 bpl.s pe_1f neg.w d5 pe_1f: tst.w pe_xspd+2 beq.s pe_1p addq.w #1,d4 pe_1p: tst.w pe_yspd+2 beq.s pe_1o addq.w #1,d5 pe_1o: move.w d4,d3 add.w d5,d3 bne.s pe_1i addq.w #1,d3 pe_1i: divu d3,d1 mulu d1,d4 mulu d1,d5 asl.l #$4,d4 asl.l #$4,d5 move.l pe_xspd(pc),d1 bpl.s pe_aa add.l d4,d1 bmi.s pe_ab moveq #0,d1 bra.s pe_ab pe_aa: sub.l d4,d1 bpl.s pe_ab moveq #0,d1 pe_ab: move.l d1,pe_xspd move.l pe_yspd(pc),d1 bpl.s pe_ac add.l d5,d1 bmi.s pe_ad moveq #0,d1 bra.s pe_ad pe_ac: sub.l d5,d1 bpl.s pe_ad moveq #0,d1 pe_ad: moveq.w #1,tim1 cmp.w #50,tim1 blt.s tim_ChSek1 sub.w #50,tim1 lea sekund2(pc),a0 addq.b #1,(a0) cmp.b #$3a,(a0) bne.s tim_1 move.b #$30,(a0) move.b #1,Sek1GO tim_1: move.w #$5d,pr_xpos bra printTimer tim_ChSek1: tst.b Sek1GO beq.s tim_ChMin2 clr.b Sek1GO lea sekund1(pc),a0 addq.b #1,(a0) cmp.b #$36,(a0) bne.s tim_2 move.b #$30,(a0) move.b #1,Min2GO tim_2: move.w #$57,pr_xpos bra printTimer tim_ChMin2: tst.b Min2GO beq.s tim_ChMin1 clr.b Min2GO lea Minut2(pc),a0 addq.b #1,(a0) cmp.b #$3a,(a0) bne.s tim_3 move.b #$30,(a0) move.b #1,Min1GO tim_3: move.w #$4e,pr_xpos bra printTimer tim_ChMin1: tst.b Min1GO beq.s tim_ChTim2 clr.b Min1GO lea Minut1(pc),a0 addq.b #1,(a0) cmp.b #$36,(a0) bne.s tim_4 move.b #$30,(a0) move.b #1,Tim2GO tim_4: move.w #$48,pr_xpos bra printTimer tim_ChTim2: tst.b Tim2GO beq.s tim_ChTim1 clr.b Tim2GO lea Timme2(pc),a0 addq.b #1,(a0) cmp.b #$34,(a0) bne.s tim_6 cmp.b #$32,Timme1 bne.s tim_6 move.b #$30,(a0) move.b #$2f,Timme1 move.b #1,Tim1GO move.w #1,NewDayCou tim_6: cmp.b #$3a,(a0) bne.s tim_5 move.b #$30,(a0) move.b #1,Tim1GO tim_5: move.w #$3f,pr_xpos bra printTimer tim_ChTim1: tst.b Tim1GO beq.s tim_Shit clr.b Tim1GO lea Timme1(pc),a0 addq.b #1,(a0) move.w #$39,pr_xpos bra printTimer tim_Shit: move.w NewDayCou(pc),d0 beq rts addq.w #1,NewDayCou cmp.w #1,d0 beq rts cmp.w #$8,d0 bge.s ClrCont lea Menu1+2+[$a6*44],a0 mulu #44,d0 lea (a0,d0.w),a0 lea Menu2-Menu1(a0),a1 move.l #$c0000000,(a0)+ move.l #$3fffffff,(a1)+ move.l #$00000000,(a0)+ move.l #$ffffffff,(a1)+ move.w #$0000,(a0)+ move.w #$ffff,(a1)+ move.b #$03,(a0) move.b #$ff,(a1) rts Clrcont: cmp.w #$f,d0 bge NewDate lea Menu1+2+[$a6*44],a0 mulu #44,d0 lea (a0,d0.w),a0 lea Menu2-Menu1(a0),a1 move.l #$c0000000,(a0)+ move.l #$3fffffff,(a1)+ move.b #$00,(a0)+ move.b #$ff,(a1)+ rts NewDate:cmp.w #$f,d0 bne.L PrintAll addq.w #1,veckodag cmp.w #7,veckodag bne.s okthisvecko clr.w veckodag okthisvecko: lea VeckoPois(pc),a0 move.w veckodag(pc),d0 asl.w #2,d0 move.l (a0,d0.w),a0 move.b 1(a0),PrintVex move.b 2(a0),PrintVex+1 lea 4(a0),a0 move.l a0,PrintVePoi move.b #1,PrintVeckodag addq.w #1,dayno addq.w #1,datnr lea Skottarstabell-2(pc),a0 moveq #0,d0 move.w year(pc),d0 and.w #$3,d0 beq.s Skottar lea NormalarsTabell-2(pc),a0 Skottar:move.w Monnr(pc),d1 add.w d1,d1 move.w datnr(pc),d0 cmp.w (a0,d1.w),d0 ble.s DatisOk move.w #1,datnr addq.w #1,Monnr cmp.w #13,Monnr bne.s DatisOK addq.w #1,Year move.w #1,Monnr DatisOK: lea dagge(pc),a1 lea DatumPrint(pc),a0 move.w datnr(pc),d0 add.w d0,d0 move.w (a1,d0.w),(a0)+ move.w #$13,daxpos tst.b (a0)+ lea months-4(pc),a1 move.w monnr(pc),d0 asl.w #2,d0 lea (a1,d0.w),a1 move.b (a1)+,(a0)+ move.b (a1)+,(a0)+ move.b (a1)+,(a0)+ move.l #DatumPrint,DaxPoi move.b #1,DaxOn rts DatumPrint: dc.b "00",$1f,"jan",0,0 DaxPoi: dc.l DatumPrint Daxpos: dc.w 0 DaxOn: dc.b 0 dc.b 0 NormalarsTabell:dc.w 31,28,31,30,31,30,31,31,30,31,30,31 SkottarsTabell: dc.w 31,29,31,30,31,30,31,31,30,31,30,31 PrintAll: cmp.w #$1f,d0 bge.s PrintDax tst.b PrintVeckodag beq rts lea PriVe(pc),a0 move.l PrintVePoi(pc),a1 move.b (a1)+,(a0) beq.s EndPrintVe move.l a1,PrintVePoi move.w PrintVex,pr_xpos move.w #$a6,pr_ypos bsr Print1 move.w pr_xpos,PrintVex rts EndPrintVe: clr.b PrintVeckodag rts move.w #$13,daxpos tst.b (a0)+ lea months-4(pc),a1 move.w monnr(pc),d0 asl.w #2,d0 lea (a1,d0.w),a1 move.b (a1)+,(a0)+ move.b (a1)+,(a0)+ move.b (a1)+,(a0)+ move.l #DatumPrint,DaxPoi move.b #1,DaxOn PrintDax: cmp.w #$2f,d0 bge.s EndNewDate tst.b DaxOn beq.s EndNewDate lea PriVe(pc),a0 move.l DaxPoi(pc),a1 move.b (a1)+,(a0) beq.s EndPrintDax move.l a1,DaxPoi move.w Daxpos,pr_xpos move.w #$ad,pr_ypos bsr Print1 move.w pr_xpos,DaxPos rts EndPrintDax: clr.b DaxOn rts EndNewDate: clr.w NewDayCou rts Sek1GO: dc.b 0 Min2GO: dc.b 0 Min1GO: dc.b 0 Tim2GO: dc.b 0 Tim1GO: dc.b 0 PrintVeckodag: dc.b 0 NewDayCou: dc.w 0 PrintVex: dc.w 0 PrintVePoi: dc.l Mandag PriVe: dc.b 0,0 ;---------------------------------------------------------------- OldKeyIrq: dc.l 0 SetKeyIrq: move.l $68.w,OldKeyIrq move.l #NewIOInt,$68.w move.w #$8008,$dff09a rts ClrKeyIrq: move.w #$0008,$dff09a move.l OldKeyIrq(pc),$68.w rts NewIOInt: movem.l d0-d2,-(a7) move.b $bfed01,d0 bclr #7,d0 bclr #3,d0 beq NII_Ex moveq #0,d2 move.b $bfec01,d2 bset #6,$bfee01 not.b d2 ror.b #1,d2 moveq #60,d1 NII_Wait: dbf d1,NII_Wait bclr #6,$bfee01 cmp.b #$65,d2 bne.s NII_AltOn1 bset #0,AltMode bra NII_Ex NII_AltOn1: cmp.b #$e5,d2 bne.s NII_AltOff1 bclr #0,AltMode bra NII_Ex NII_AltOff1: cmp.b #$64,d2 bne.s NII_AltOn2 bset #1,AltMode bra NII_Ex NII_AltOn2: cmp.b #$e4,d2 bne.s NII_AltOff2 bclr #1,AltMode bra NII_Ex NII_AltOff2: cmp.b #$61,d2 bne.s NII_ShiftOn1 bset #0,ShiftMode bra NII_Ex NII_ShiftOn1: cmp.b #$e1,d2 bne.s NII_ShiftOff1 bclr #0,ShiftMode bra NII_Ex NII_ShiftOff1: cmp.b #$60,d2 bne.s NII_ShiftOn2 bset #1,ShiftMode bra NII_Ex NII_ShiftOn2: cmp.b #$e0,d2 bne.s NII_ShiftOff2 bclr #1,ShiftMode bra NII_Ex NII_ShiftOff2: cmp.b #$4f,d2 bne.s NII_LeftOn move.w #-1,CursorKeyX bra NII_Ex NII_LeftOn: cmp.b #$cf,d2 bne.s NII_LeftOff tst.w CursorKeyX bpl NII_Ex clr.w CursorKeyX bne.s pr_nopos3 move.b (a0)+,pr_xpos move.b (a0)+,pr_xpos+1 move.b (a0)+,pr_ypos+1 bra.s print3 pr_nopos3: lea menu1,a1 move.w pr_xpos(pc),d1 move.w d1,d7 and.w #$7,d7 eor.w #$7,d7 lsr.w #3,d1 move.w pr_ypos(pc),d2 mulu #44,d2 add.w d2,d1 lea (a1,d1.w),a1 lea menu2-menu1(a1),a3 lea sfontbredds(pc),a2 moveq #0,d2 move.b (a2,d0.w),d2 add.w d2,pr_xpos move.w d0,d1 and.w #$1f,d0 and.w #$e0,d1 asl.w #$3,d1 add.w d0,d1 lea sfontr,a2 lea (a2,d1.w),a2 moveq #0,d0 moveq #0,d1 moveq #0,d2 moveq #0,d3 moveq #0,d4 moveq #0,d5 moveq #0,d6 move.b $20*0(a2),d0 move.b $20*1(a2),d1 move.b $20*2(a2),d2 move.b $20*3(a2),d3 move.b $20*4(a2),d4 move.b $20*5(a2),d5 move.b $20*6(a2),d6 asl.w d7,d0 asl.w d7,d1 asl.w d7,d2 asl.w d7,d3 asl.w d7,d4 asl.w d7,d5 asl.w d7,d6 or.b d0,44*0+1(a1) or.b d1,44*1+1(a1) or.b d2,44*2+1(a1) or.b d3,44*3+1(a1) or.b d4,44*4+1(a1) or.b d5,44*5+1(a1) or.b d6,44*6+1(a1) or.b d0,44*0+1(a3) or.b d1,44*1+1(a3) or.b d2,44*2+1(a3) or.b d3,44*3+1(a3) or.b d4,44*4+1(a3) or.b d5,44*5+1(a3) or.b d6,44*6+1(a3) lsr.w #$8,d0 lsr.w #$8,d1 lsr.w #$8,d2 lsr.w #$8,d3 lsr.w #$8,d4 lsr.w #$8,d5 lsr.w #$8,d6 or.b d0,44*0(a1) or.b d1,44*1(a1) or.b d2,44*2(a1) or.b d3,44*3(a1) or.b d4,44*4(a1) or.b d5,44*5(a1) or.b d6,44*6(a1) or.b d0,44*0(a3) or.b d1,44*1(a3) or.b d2,44*2(a3) or.b d3,44*3(a3) or.b d4,44*4(a3) or.b d5,44*5(a3) or.b d6,44*6(a3) moveq #0,d0 move.b $20*7(a2),d0 asl.w d7,d0 or.b d0,44*7+1(a1) or.b d0,44*7+1(a3) lsr.w #$8,d0 or.b d0,44*7(a1) or.b d0,44*7(a3) bra print3 pr_end3:rts print1: moveq #0,d0 move.b (a0)+,d0 beq.s pr_end3 cmp.b #$ff,d0 bne.s pr_nopos1 move.b (a0)+,pr_xpos move.b (a0)+,pr_xpos+1 move.b (a0)+,pr_ypos+1 bra.s print1 pr_nopos1: lea menu1,a1 move.w pr_xpos(pc),d1 move.w d1,d7 and.w #$7,d7 eor.w #$7,d7 lsr.w #3,d1 move.w pr_ypos(pc),d2 mulu #44,d2 add.w d2,d1 lea (a1,d1.w),a1 lea menu2-menu1(a1),a3 lea sfontbredds(pc),a2 moveq #0,d2 move.b (a2,d0.w),d2 add.w d2,pr_xpos move.w d0,d1 and.w #$1f,d0 and.w #$e0,d1 asl.w #$3,d1 add.w d0,d1 lea sfontr,a2 lea (a2,d1.w),a2 moveq #0,d0 moveq #0,d1 moveq #0,d2 moveq #0,d3 moveq #0,d4 moveq #0,d5 moveq #0,d6 move.b $20*0(a2),d0 move.b $20*1(a2),d1 move.b $20*2(a2),d2 move.b $20*3(a2),d3 move.b $20*4(a2),d4 move.b $20*5(a2),d5 move.b $20*6(a2),d6 asl.w d7,d0 asl.w d7,d1 asl.w d7,d2 asl.w d7,d3 asl.w d7,d4 asl.w d7,d5 asl.w d7,d6 or.b d0,44*0+1(a1) or.b d1,44*1+1(a1) or.b d2,44*2+1(a1) or.b d3,44*3+1(a1) or.b d4,44*4+1(a1) or.b d5,44*5+1(a1) or.b d6,44*6+1(a1) not.b d0 not.b d1 not.b d2 not.b d3 not.b d4 not.b d5 not.b d6 and.b d0,44*0+1(a3) and.b d1,44*1+1(a3) and.b d2,44*2+1(a3) and.b d3,44*3+1(a3) and.b d4,44*4+1(a3) and.b d5,44*5+1(a3) and.b d6,44*6+1(a3) lsr.w #$8,d0 lsr.w #$8,d1 lsr.w #$8,d2 lsr.w #$8,d3 lsr.w #$8,d4 lsr.w #$8,d5 lsr.w #$8,d6 or.b d0,44*0(a1) or.b d1,44*1(a1) or.b d2,44*2(a1) or.b d3,44*3(a1) or.b d4,44*4(a1) or.b d5,44*5(a1) or.b d6,44*6(a1) not.b d0 not.b d1 not.b d2 not.b d3 not.b d4 not.b d5 not.b d6 and.b d0,44*0(a3) and.b d1,44*1(a3) and.b d2,44*2(a3) and.b d3,44*3(a3) and.b d4,44*4(a3) and.b d5,44*5(a3) and.b d6,44*6(a3) moveq #0,d0 move.b $20*7(a2),d0 asl.w d7,d0 or.b d0,44*7+1(a1) not.b d0 and.b d0,44*7+1(a3) lsr.w #$8,d0 or.b d0,44*7(a1) not.b d0 and.b d0,44*7(a3) bra print1 PrintTimer: moveq #0,d0 move.b (a0)+,d0 lea menu1+[[$9f+2]*44],a1 move.w pr_xpos(pc),d1 move.w d1,d7 and.w #$7,d7 eor.w #$7,d7 lsr.w #3,d1 lea (a1,d1.w),a1 lea menu2-menu1(a1),a3 lea sfontr+$110+$40,a2 and.w #$f,d0 lea (a2,d0.w),a2 moveq #0,d0 moveq #0,d1 moveq #0,d2 moveq #0,d3 moveq #0,d4 moveq #0,d5 move.b $20*0(a2),d0 move.b $20*1(a2),d1 move.b $20*2(a2),d2 move.b $20*3(a2),d3 move.b $20*4(a2),d4 move.b $20*5(a2),d5 move.w #%11111000,d6 asl.w d7,d0 asl.w d7,d1 asl.w d7,d2 asl.w d7,d3 asl.w d7,d4 asl.w d7,d5 asl.w d7,d6 not.w d6 and.b d6,44*0+1(a1) and.b d6,44*1+1(a1) and.b d6,44*2+1(a1) and.b d6,44*3+1(a1) and.b d6,44*4+1(a1) and.b d6,44*5+1(a1) or.b d0,44*0+1(a1) or.b d1,44*1+1(a1) or.b d2,44*2+1(a1) or.b d3,44*3+1(a1) or.b d4,44*4+1(a1) or.b d5,44*5+1(a1) not.b d6 or.b d6,44*0+1(a3) or.b d6,44*1+1(a3) or.b d6,44*2+1(a3) or.b d6,44*3+1(a3) or.b d6,44*4+1(a3) or.b d6,44*5+1(a3) not.b d0 not.b d1 not.b d2 not.b d3 not.b d4 not.b d5 and.b d0,44*0+1(a3) and.b d1,44*1+1(a3) and.b d2,44*2+1(a3) and.b d3,44*3+1(a3) and.b d4,44*4+1(a3) and.b d5,44*5+1(a3) lsr.w #$8,d0 lsr.w #$8,d1 lsr.w #$8,d2 lsr.w #$8,d3 lsr.w #$8,d4 lsr.w #$8,d5 lsr.w #$8,d6 and.b d6,44*0(a1) and.b d6,44*1(a1) and.b d6,44*2(a1) and.b d6,44*3(a1) and.b d6,44*4(a1) and.b d6,44*5(a1) or.b d0,44*0(a1) or.b d1,44*1(a1) or.b d2,44*2(a1) or.b d3,44*3(a1) or.b d4,44*4(a1) or.b d5,44*5(a1) not.b d0 not.b d1 not.b d2 not.b d3 not.b d4 not.b d5 not.b d6 or.b d6,44*0(a3) or.b d6,44*1(a3) or.b d6,44*2(a3) or.b d6,44*3(a3) or.b d6,44*4(a3) or.b d6,44*5(a3) and.b d0,44*0(a3) and.b d1,44*1(a3) and.b d2,44*2(a3) and.b d3,44*3(a3) and.b d4,44*4(a3) and.b d5,44*5(a3) rts ;---------------------------------------------------------------- tim1: dc.w $0 ;frames timdc: dc.w $0 EverTimer: addq.w #1,timdc cmp.w #596,timdc bne.s time6 addq.w #1,tim1 clr.w timdc time6: addq.w #4,Dot_draw and.w #$7e,Dot_draw addq.w #4,Dot_erase and.w #$7e,Dot_erase rts ;---------------------------------------------------------------- Window_maker: ;d0=xpos i bytes ;d1=ypos i pix ;d2=xbredd i bytes ;d3=yhojd i pix lea menu1,a0 lea menu2,a1 mulu #44,d1 add.w d1,d0 lea (a0,d0.w),a0 lea (a1,d0.w),a1 moveq #1,d4 ;oversta 2 raderna move.w d2,d5 move.b #%11111111,(a0) move.b #%00000000,(a1) move.b #%11111111,44(a0) move.b #%00000000,44(a1) bra.s wi_loi wi_lop: move.b #%11111111,(a0,d4.w) move.b #%00000000,(a1,d4.w) move.b #%11111111,44(a0,d4.w) move.b #%00000000,44(a1,d4.w) addq.w #1,d4 wi_loi: dbf d5,wi_lop move.b #%11111110,(a0,d4.w) move.b #%00000001,(a1,d4.w) move.b #%11111101,44(a0,d4.w) move.b #%00000011,44(a1,d4.w) lea 44*2(a0),a0 lea 44*2(a1),a1 move.w d3,d6 ;mittenfaltet bra.s wi_loi3 wi_lop3: moveq #1,d4 move.w d2,d5 move.b #%11000000,(a0) move.b #%00111111,(a1) bra.s wi_loi2 wi_lop2:move.b #%00000000,(a0,d4.w) move.b #%11111111,(a1,d4.w) addq.w #1,d4 wi_loi2:dbf d5,wi_lop2 move.b #%00000011,(a0,d4.w) move.b #%11111111,(a1,d4.w) lea 44(a0),a0 lea 44(a1),a1 wi_loi3:dbf d6,wi_lop3 moveq #1,d4 ;understa 2 raderna move.w d2,d5 move.b #%10111111,(a0) move.b #%01111111,(a1) move.b #%01111111,44(a0) move.b #%11111111,44(a1) bra.s wi_loi5 wi_lop5:move.b #%11111111,(a0,d4.w) move.b #%11111111,(a1,d4.w) move.b #%11111111,44(a0,d4.w) move.b #%11111111,44(a1,d4.w) addq.w #1,d4 wi_loi5:dbf d5,wi_lop5 move.b #%11111111,(a0,d4.w) move.b #%11111111,(a1,d4.w) move.b #%11111111,44(a0,d4.w) move.b #%11111111,44(a1,d4.w) rts Menu_init: lea menu1,a0 lea menu2,a1 move.w #[[menu2-menu1]/2]-1,d7 me_lo: clr.w (a0)+ clr.w (a1)+ dbf d7,me_lo moveq #2,d0 ;x-bytes moveq #$00,d1 ;y-pix move.w #9,d2 ;x-bredd move.w #$a8,d3 ;y-pixhojd bsr window_maker lea menu1+[$95*44]+3,a0 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) lea menu1+[$96*44]+3,a0 lea menu2-menu1(a0),a1 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) clr.b (a1)+ clr.l (a1)+ clr.l (a1)+ lea menu1+[$73*44]+3,a0 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) lea menu1+[$74*44]+3,a0 lea menu2-menu1(a0),a1 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) clr.b (a1)+ clr.l (a1)+ clr.l (a1)+ lea menu1+[$1f*44]+3,a0 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) lea menu1+[$20*44]+3,a0 lea menu2-menu1(a0),a1 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) clr.b (a1)+ clr.l (a1)+ clr.l (a1)+ lea menu1+[$30*44]+3,a0 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) lea menu1+[$31*44]+3,a0 lea menu2-menu1(a0),a1 move.b #-1,(a0)+ move.l #-1,(a0)+ move.l #-1,(a0) clr.b (a1)+ clr.l (a1)+ clr.l (a1)+ lea MenuText(pc),a0 bsr print3 lea MenuSelText(pc),a0 bsr print1 bsr GetCal lea VeckoPois(pc),a0 move.w veckodag(pc),d0 asl.w #2,d0 move.l (a0,d0.w),a0 bsr print1 lea dagge(pc),a1 lea manadsdag(pc),a0 move.w datnr(pc),d0 add.w d0,d0 move.w (a1,d0.w),(a0) move.w #$13,pr_xpos move.w #$9f,pr_ypos bsr print1 lea months-4(pc),a0 move.w monnr(pc),d0 asl.w #2,d0 lea (a0,d0.w),a0 move.w #$22,pr_xpos move.w #$9f,pr_ypos bsr print1 lea timme1(pc),a0 move.w #$39,pr_xpos bsr print1 lea timme2(pc),a0 move.w #$3f,pr_xpos bsr print1 lea kolon(pc),a0 move.w #$45,pr_xpos bsr print1 lea minut1(pc),a0 move.w #$48,pr_xpos bsr print1 lea minut2(pc),a0 move.w #$4e,pr_xpos bsr print1 lea kolon(pc),a0 move.w #$54,pr_xpos bsr print1 lea sekund1(pc),a0 move.w #$57,pr_xpos bsr print1 lea sekund2(pc),a0 move.w #$5d,pr_xpos bsr print1 rts MenuSelText: dc.b $ff,$00,$17,$07,"PLAY" dc.b $ff,$00,$57,$25,$08 ;stop-button dc.b $ff,$00,$15,$77,"tunes" dc.b 0 Menutext: dc.b $ff,$00,$55,$07,$09,$0a dc.b $ff,$00,$17,$13,"L.PLAY",$ff,$00,$55,$13,$0b,$0c dc.b $ff,$00,$17,$25,$01,$02,$03,$04,$05,$06,$07 dc.b $ff,$00,$45,$77,"instr" dc.b $ff,$00,$15,$80,"greets",$ff,$00,$49,$80,"addr" dc.b $ff,$00,$15,$89,"prefs",$ff,$00,$3c,$89,"future" dc.b 0 Mandag: dc.b $ff,$00,$1d,$98,"monday the",0 Tisdag: dc.b $ff,$00,$19,$98,"tuesday the",0 Onsdag: dc.b $ff,$00,$14,$98,"wednesday the",0 Torsdag:dc.b $ff,$00,$17,$98,"thursday the",0 Fredag: dc.b $ff,$00,$1e,$98,"friday the",0 Lordag: dc.b $ff,$00,$17,$98,"saturday the",0 Sondag: dc.b $ff,$00,$1d,$98,"sunday the",0 even Manadsdag: dc.w 0,0 ;har laggs printet Dagge: dc.b "0001020304050607080910111213141516171819202122232425262728293031" Months: dc.b "jan",0,"feb",0,"mar",0,"apr",0,"may",0,"jun",0 dc.b "jul",0,"aug",0,"sep",0,"oct",0,"nov",0,"dec",0 VeckoPois: dc.l Mandag,Tisdag,Onsdag,Torsdag,Fredag,Lordag,Sondag year: dc.w 1990 ;ar 1988-2087 monnr: dc.w 1 ;manad 1-12 datnr: dc.w 11 ;datum 1-31 dayno: dc.w 0 ;dag sedan 1 jan 1988 veckodag: dc.w 0 ;veckodag 0-6 timme1: dc.b "2",0 timme2: dc.b "3",0 minut1: dc.b "5",0 minut2: dc.b "9",0 sekund1: dc.b "5",0 sekund2: dc.b "8",0 kolon: dc.b ":",0 sfontbredds: dc.b 0,11,8,6,13,8,6,12,8,8,8,8,8,8,8,8 dc.b 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3 dc.b 5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8 dc.b 6,6,6,6,6,6,6,6,6,6,3,4,8,8,8,8 dc.b 0,9,9,9,9,9,9,9,9,4,9,9,9,9,9,9 dc.b 9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9 dc.b 0,6,6,6,6,6,6,6,6,3,6,6,6,6,6,6 dc.b 6,6,6,6,7,6,6,6,6,6,6,6,6,6,6,6 pr_xpos: dc.w 0 pr_ypos: dc.w 0 print3: moveq #0,d0 move.b (a0)+,d0 beq pr_end3 cmp.b #$ff,d0 bne.s pr_n