OpenLib = -408 CloseLib = -414 ExecBase = 4 AllocMem = -198 FreeMem = -210 Open = -30 Close = -36 Read = -42 Write = -48 Exit = -144 Mode_old =1005 jmp windowOpen windowOpen: move.l ExecBase.s, a6 move.l #200, d0 moveq #2, d1 jsr AllocMem(a6) move.l d0, mem lea DosName, a1 moveq #0,d0 jsr OpenLib(a6) move.l d0,dosbase beq error move.l dosbase, a6 move.l #Name,d1 move.l #Mode_old,d2 jsr Open(a6) move.l d0,conhandle beq error move.l conhandle, d1 move.l #DennS, d2 move.l #DennE-DennS,d3 jsr Write(a6) jsr wkey move.l conhandle, d1 move.l #ttext, d2 move.l #tende-ttext, d3 jsr Write(a6) move.l #$DFF000, a0 move.l mem, a1 move.b #127, $00(a1) move.b #127, $01(a1) move.b #127, $02(a1) move.b #127, $03(a1) move.b #127, $04(a1) move.b #127, $05(a1) move.b #127, $06(a1) move.b #127, $07(a1) move.b #-127,$08(a1) move.b #-127,$09(a1) move.b #-127,$0A(a1) move.b #-127,$0B(a1) move.b #-127,$0C(a1) move.b #-127,$0D(a1) move.b #-127,$0E(a1) move.b #-127,$0F(a1) move.l a1, $0D0(a0) ; Location move.w #8, $0D4(a0) ; Length in Words move.w #64, $0D8(a0) ; Volume move.w #400, $0D6(a0) ; Period move.w #$00FF, $09E(a0) ; no modulation bra main Standard: move.l conhandle, d1 move.l #Stext, d2 moveq #Sende-Stext,d3 jsr Write(a6) move.l mem, a1 move.w #680*2 ,$10(a1) move.w #904*2 ,$12(a1) move.w #1144*2 ,$14(a1) move.w #1520*2 ,$16(a1) move.w #2033*2,$18(a1) move.w #2720*2,$1A(a1) rts Custom1: move.l conhandle, d1 move.l #Customs1, d2 moveq #Custome1-Customs1,d3 jsr Write(a6) move.l mem, a1 move.w #680*2 ,$10(a1) move.w #904*2 ,$12(a1) move.w #1144*2 ,$14(a1) move.w #1520*2 ,$16(a1) move.w #1712*2,$18(a1) move.w #2720*2,$1A(a1) rts CustomH1: move.l conhandle, d1 move.l #CustomSH1, d2 moveq #CustomEH1-CustomSH1,d3 jsr Write(a6) move.l mem, a1 move.w #340*2 ,$10(a1) move.w #904 ,$12(a1) move.w #572*2 ,$14(a1) move.w #760*2 ,$16(a1) move.w #1712,$18(a1) move.w #1360*2,$1A(a1) rts Custom2: move.l conhandle, d1 move.l #Customs2, d2 moveq #Custome2-Customs2,d3 jsr Write(a6) move.l mem, a1 move.w #680*2 ,$10(a1) move.w #904*2 ,$12(a1) move.w #1144*2 ,$14(a1) move.w #1520*2 ,$16(a1) move.w #2033*2,$18(a1) move.w #3040*2,$1A(a1) rts CustomH2: move.l conhandle, d1 move.l #CustomSH2, d2 moveq #CustomEH2-CustomSH2,d3 jsr Write(a6) move.l mem, a1 move.w #340*2 ,$10(a1) move.w #452*2 ,$12(a1) move.w #572*2 ,$14(a1) move.w #760*2 ,$16(a1) move.w #2033,$18(a1) move.w #3040,$1A(a1) rts OpenG: move.l conhandle, d1 move.l #OpenGs, d2 moveq #OpenGe-OpenGs,d3 jsr Write(a6) move.l mem, a1 move.w #760*2 ,$10(a1) move.w #904*2 ,$12(a1) move.w #1144*2 ,$14(a1) move.w #1520*2 ,$16(a1) move.w #2288*2,$18(a1) move.w #3040*2,$1A(a1) rts OpenGH: move.l conhandle, d1 move.l #OpenGSH, d2 moveq #OpenGEH-OpenGSH,d3 jsr Write(a6) move.l mem, a1 move.w #760 ,$10(a1) move.w #452*2 ,$12(a1) move.w #572*2 ,$14(a1) move.w #760*2 ,$16(a1) move.w #2288,$18(a1) move.w #3040,$1A(a1) rts OpenC: move.l conhandle, d1 move.l #OpenCs, d2 moveq #OpenCe-OpenCs,d3 jsr Write(a6) move.l mem, a1 move.w #680*2 ,$10(a1) move.w #856*2 ,$12(a1) move.w #1144*2 ,$14(a1) move.w #1712*2 ,$16(a1) move.w #2288*2,$18(a1) move.w #3424*2,$1A(a1) rts OpenCH: move.l conhandle, d1 move.l #OpenCSH, d2 moveq #OpenCEH-OpenCSH,d3 jsr Write(a6) move.l mem, a1 move.w #680 ,$10(a1) move.w #856 ,$12(a1) move.w #1144 ,$14(a1) move.w #1712 ,$16(a1) move.w #2288,$18(a1) move.w #3424,$1A(a1) rts step12: move.l conhandle, d1 move.l #ptext, d2 moveq #pende-ptext,d3 jsr Write(a6) move.l mem, a1 move.w #720*2 ,$10(a1) move.w #960*2 ,$12(a1) move.w #1208*2,$14(a1) move.w #1616*2,$16(a1) move.w #2160*2,$18(a1) move.w #2880*2,$1A(a1) rts StepF: move.l conhandle, d1 move.l #ftext, d2 moveq #fende-ftext, d3 jsr Write(a6) move.l mem, a1 move.w #760*2 ,$10(a1) move.w #1016*2,$12(a1) move.w #1280*2,$14(a1) move.w #1712*2,$16(a1) move.w #2288*2,$18(a1) move.w #3040*2,$1A(a1) rts StandardH: move.l conhandle, d1 move.l #SHtext, d2 moveq #SHende-SHtext,d3 jsr Write(a6) move.l mem, a1 move.w #340*2 ,$10(a1) move.w #452*2 ,$12(a1) move.w #572*2 ,$14(a1) move.w #760*2 ,$16(a1) move.w #2033,$18(a1) move.w #1360*2,$1A(a1) rts step12H: move.l conhandle, d1 move.l #pHtext, d2 moveq #pHende-pHtext,d3 jsr Write(a6) move.l mem, a1 move.w #360*2 ,$10(a1) move.w #480*2 ,$12(a1) move.w #604*2 ,$14(a1) move.w #808*2 ,$16(a1) move.w #1080*2,$18(a1) move.w #1440*2,$1A(a1) rts StepFH: move.l conhandle, d1 move.l #fHtext, d2 moveq #fHende-fHtext, d3 jsr Write(a6) move.l mem, a1 move.w #380*2 ,$10(a1) move.w #508*2 ,$12(a1) move.w #640*2 ,$14(a1) move.w #856*2 ,$16(a1) move.w #1144*2,$18(a1) move.w #1520*2,$1A(a1) rts main: move.b #$02,$BFE001 move.l #tune, a2 move.b #00,(a2) jsr Standard move.l #$DFF000, a0 move.w #$8208, $096(a0) ; DMA Start move.w #$0000, $0A8(a0) move.w #$0000, $0B8(a0) move.w #$0000, $0D8(a0) jsr no main2: jsr wkey move.l #buffer, a2 cmp.b #$20, (a2) beq Denn cmp.b #$51, (a2) beq quitt cmp.b #$71, (a2) beq quitt cmp.b #$1B, (a2) beq quitt sub.b #$31, (a2) and.b #$0F, (a2) cmp.b #$05, (a2) ble tone ;jmp rap jmp main2 jsr quitt rts tone: move.l #$DFF000, a0 move.l mem, d4 moveq #$00, d3 add.b (a2), d3 lsl.w #1,d3 add.b d3,d4 add.l #$10,d4 move.l d4, a4 move.w (a4), $0D6(a0) jmp rap Stop: jsr no jmp main2 Denn: jsr Bleep move.l #tune, a2 cmp.b #$00, (a2) beq abc1 cmp.b #$01, (a2) beq abc2 cmp.b #$02, (a2) beq abc3 cmp.b #$03, (a2) beq abc4 cmp.b #$04, (a2) beq abc5 cmp.b #$05, (a2) beq abc6 cmp.b #$06, (a2) beq abc7 cmp.b #$07, (a2) beq abc8 cmp.b #$08, (a2) beq abc9 cmp.b #$09, (a2) beq abc10 cmp.b #$0A, (a2) beq abc11 cmp.b #$0B, (a2) beq abc12 cmp.b #$0C, (a2) beq abc13 cmp.b #$0D, (a2) beq abc14 jmp main2 wkey: move.l conhandle, d1 move.l #buffer,d2 moveq #1,d3 jsr Read(a6) rts abc1: jsr step12 move.b #$01,(a2) jmp main2 abc2: jsr StepF move.b #$02,(a2) jmp main2 abc3: jsr OpenC move.b #$03,(a2) jmp main2 abc4: jsr OpenG move.b #$04,(a2) jmp main2 abc5: jsr Custom1 move.b #$05,(a2) jmp main2 abc6: jsr Custom2 move.b #$06,(a2) jmp main2 abc7: jsr StandardH move.b #$07,(a2) jmp main2 abc8: jsr step12H move.b #$08,(a2) jmp main2 abc9: jsr StepFH move.b #$09,(a2) jmp main2 abc10: jsr OpenCH move.b #$0A,(a2) jmp main2 abc11: jsr OpenGH move.b #$0B,(a2) jmp main2 abc12: jsr CustomH1 move.b #$0C,(a2) jmp main2 abc13: jsr CustomH2 move.b #$0D,(a2) jmp main2 abc14: jsr Standard move.b #$00,(a2) jmp main2 quitt: jsr no bra ende rts no: move.w #$0000, $0D8(a0) ; Stop Sound rts yes: move.w #64, $0D8(a0) rts rap: btst #6, $BFE001 beq Stop jsr Beep jsr Beep jsr Beep jsr Beep bra Stop Bleep: move.w #400, $DFF0D6 ; Period move.w #64, $DFF0D8 move.w #$01FF, d1 jsr oldhold1 move.w #0, $DFF0D8 rts Beep: jsr yes jsr hold jsr no jsr hold rts oldhold: move.w #$04FF, d1 oldhold1: subq.w #$01, d1 cmp.w #$0000, d1 bne oldhold1 rts hold: move.l #$0000CFFF, d0 hold1: subq.l #$01, d0 cmp.b #$40, $BFEC01 beq hold2 cmp.l #$00, d0 bne hold1 ;dbeq d0, hold1 hold2: rts error: moveq #-1,d0 ende: move.l conhandle, d1 move.l #ByeS, d2 moveq #ByeE-ByeS,d3 jsr Write(a6) jsr hold move.l #$DFF000, a0 move.w #$0064,d0 aga: move.w d0, $0D8(a0) subq.w #$01, d0 move.w #$000016,d2 muls d0,d2 move.w d2, $0D6(a0) jsr oldhold cmp.w #$0000, d0 bne aga move.w #$0000, $0D8(a0) move.l d0,d1 move.l dosbase, a6 move.l conhandle, d1 jsr Close(a6) move.l ExecBase.s, a6 move.l mem, a1 move.l #200, d0 jsr FreeMem(a6) move.b #$00, $BFE000 rts DosName: dc.b 'dos.library',0 Name: dc.b 'RAW:20/10/302/110/Guitar Tuner V1.6',0 ttext: dc.b 'Guitar Tuner V1.6 -- March 22, 1992',$0D,$0A dc.b 'Written By: Michael Kohn',$0D,$0A,$0A dc.b 'SPACEBAR CHANGES TUNING', $0D,$0A dc.b 'SELECT #1-6 FOR STRING #', $0D,$0A dc.b 'Q OR ESC TO QUIT',$0D,$0A dc.b $9B,'0;31;40m' dc.b $0A,$0D,$0A,$0D,$0A,$0D dc.b $0A,$0D dc.b ' ' dc.b $9B,'0;31;43m6' dc.b $9B,'0;31;40m ',$9B,'0;31;43m5' dc.b $9B,'0;31;40m ',$9B,'0;31;43m4' dc.b $9B,'0;31;40m ',$9B,'0;31;43m3' dc.b $9B,'0;31;40m ',$9B,'0;31;43m2' dc.b $9B,'0;31;40m ',$9B,'0;31;43m1' dc.b $9B,'0;31;40m',$0A,$0D dc.b $0B,$0B,$0B,$0B dc.b $9B,$30,$20,$70,0 tende: Stext: dc.b $9B,'4CSTANDARD TUNING ',$0D,$0A,$0A dc.b $9B,'4CE A D G B E ',$0D,$9B,'2',$41,0 Sende: Customs1: dc.b $9B,'4CRAISED C TUNING ',$0D,$0A,$0A dc.b $9B,'4CE C D G B E ',$0D,$9B,'2',$41,0 Custome1: Customs2: dc.b $9B,'4CDROP D TUNING ',$0D,$0A,$0A dc.b $9B,'4CD A D G B E ',$0D,$9B,'2',$41,0 Custome2: ptext: dc.b $9B,'4C1/2 STEP DOWN ',$0D,$0A,$0A dc.b $9B,'4CEb Ab Db Gb Bb Eb ',$0D,$9B,'2',$41,0 pende: ftext: dc.b $9B,'4CFULL STEP DOWN ',$0D,$0A,$0A dc.b $9B,'4CD G C F A D ',$0D,$9B,'2',$41,0 fende: SHtext: dc.b $9B,'4CSTANDARD -',$9B,'3;33;40',$6D dc.b' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CE A D G B E - 8va',$0D,$9B,'2',$41,0 SHende: pHtext: dc.b $9B,'4C1/2 STEP -',$9B,'3;33;40',$6D dc.b ' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CEb Ab Db Gb Bb Eb - 8va',$0D,$9B,'2',$41,0 pHende: fHtext: dc.b $9B,'4CFULL STEP -',$9B,'3;33;40',$6D dc.b ' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CD G C F A D - 8va',$0D,$9B,'2',$41,0 fHende: CustomSH1: dc.b $9B,'4CRAISED C -',$9B,'3;33;40',$6D dc.b ' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CE C D G B E - 8va',$0D,$9B,'2',$41,0 CustomEH1: CustomSH2: dc.b $9B,'4CDROP D -',$9B,'3;33;40',$6D dc.b ' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CD A D G B E - 8va',$0D,$9B,'2',$41,0 CustomEH2: OpenGs: dc.b $9B,'4COPEN G TUNING ',$0D,$0A,$0A dc.b $9B,'4CD G D G B D ',$0D,$9B,'2',$41,0 OpenGe: OpenGSH: dc.b $9B,'4COPEN G -',$9B,'3;33;40',$6D dc.b ' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CD G D G B D - 8va',$0D,$9B,'2',$41,0 OpenGEH: OpenCs: dc.b $9B,'4COPEN C TUNING ',$0D,$0A,$0A dc.b $9B,'4CE C G C G C ',$0D,$9B,'2',$41,0 OpenCe: OpenCSH: dc.b $9B,'4COPEN C -',$9B,'3;33;40',$6D dc.b ' (HARMONIC TUNE) ',$0D,$9B,'0;31;40',$6D,$0A,$0A dc.b $9B,'4CE C G C G C - 8va',$0D,$9B,'2',$41,0 OpenCEH: DennS: dc.b $0C,$9B,'0;31;40',$6D,' Michael Kohn' dc.b $27,'s',$0A,$0D dc.b $0A,' Guitar Tuner V1.6' dc.b $0D,$0A,$9B,'13',$3B,'12',$48,$9B,'0;31;42',$6D dc.b 'PRESS ANY KEY',$9B,$30,$20,$70 dc.b $9B,'5;18H',$9B,'0;31;42m ' dc.b $9B,'6;18H ' dc.b $9B,'7;18H ' dc.b $9B,'8;18H ' dc.b $9B,'9;14H ' dc.b $9B,'10;14H ' dc.b $9B,'6;20H ' dc.b $9B,'7;21H ' dc.b $9B,'8;22H ' dc.b $9B,'13;12H' dc.b $9B,'0;31;40',$6D,$0D,0 DennE: ByeS: dc.b $0C ByeE: buffer: blk.b 80 ;align dosbase: dc.l 0 conhandle: dc.l 0 mem: blk.b 8 tune: blk.b 4