Pff s nٙgcnܙ3>Gameboy Music V11i3@KGkHk@\BC>q@HI>J>K!" y x >@KGD (D >G@>G>/W>0z #W z( _kH_KG> /W>0z _W Wz(( ``~<~|ffll66ff88ll88vvvv80 000000 00 00ff<<<~~````~|ff~<~ff~<80 00``00 ~~~~``00 00``~<~>ff~>``````~|ffff~|~ffff~>~6600xx000000~>ffff~>~|````~|ffffffffffff~<````ffllxxllff88~|ffffffff~ffff~>~|ff``````~>``~<~|~~ffffffff~>ffffff<<llll88llffffff~>~|~~ 00~~ppppppvv88ll|| |vxx~<>f;x |vx |v00x |v|x 8~<f~`<xxxxp000x|8<p000x|00x`x` >lxxxxxxxxvv| <ff<x~~8ld`x000<px |v8p000xxxv<ll>~8ll8|0f< 6k7m<<3ff3f3f""""""""UUUUUUUUwwwwwwww666666666666666666666666666666666666666666666666666666666666666666666666667766666666667700????00776666666666666666666677007766666666666666666666666666666666666666??66666666666666666666vvvvx~~ff````````llllllll~~ff0000ff~~~pffffffff||``vv00xxxx0088llll8888llllll00||xx~~~~ ~~~~``88````88x~~~~~~~~~~00 00~~ 00 ~~p~~vvvv|8llll|8 ll<<pp00``<<<<<<<<O////_!#~"y_!#~w("Tune :SFX :0123456789ABCDEF ld a,[de] inc de ld [hl],e hlincby1 patadr2+1 ld [hl],d ld e,a ld d,0 ld hl,pattab add hl,de add hl,de ld e,[hl] inc hl ld d,[hl] ld a,[de] ld hl,seqadr2+1 nonote2c2: hldecby1d seqadr2,seqadre hldecby1d notelen2,notelene sfx2noloopc2: ld [hl+],a inc de ld a,[de] cp a,$ff jr nz,nonote2c6 inc de ld [hl],e hlincby1d seqadr2+1,seqadre+1 ld [hl],d jp nonote2c1 nonote2c6: cp a,$fe jr nz,nonote2c3 ld a,[note2de] ld [$FF17],A inc de ld [hl],e hlincby1d seqadr2+1,seqadre+1 ld [hl],d ld a,$80 ld [$ff19],a jp nonote2c1 nonote2c3: cp a,$fd jr nz,nonote2c5 ld a,1 ld [noterset2],a ld a,[note2at] ld [$FF17],A inc de ld [hl],e hlincby1d seqadr2+1,seqadre+1 ld [hl],d jp nonote2c1 nonote2c5: inc de ld b,a ld a,[noteechanadr] cp a,tempo2&$ff jr nz,skpeff2c4 xor a jp skpeff2c3 skpeff2c4: ld a,[transp2] skpeff2c3: add b ld [note2],a ld a,[de] inc de ld [hl],e hlincby1d seqadr2+1,seqadre+1 ld [hl],d ld e,a ld d,0 ld hl,instab add hl,de add hl,de ld e,[hl] inc hl ld d,[HL] ld a,[de] ld [duty2],A inc de ld a,[de] ld [note2at],a inc de ld a,[de] ld [note2de],a inc de ld hl,freqval2 xor a ld [hl+],a ld [hl],a inc a ld [freqtim2],a ld [arptim2],a ld [combtim2],a ld [noterset2],a ld hl,arptabadr2 ld a,[de] inc de ld [hl+],a ld [hl+],a jr dispstrl1 dispstrc1: ret text1: db "Tune :",0 text2: db "SFX :",0 hextab: db "0123456789ABCDEF" demoend: SECTION "Music",CODE[16384] Musicd: ld hl,tempo1 dec [hl] jr z,nonote1c7 jp nonote1c1 nonote1c7: ld a,[tempstor1] ld [hl],a hlincby1 notelen1 dec [hl] jr z,nonote1c4 jp nonote1c1 nonote1c4: hlincby1 seqadr1 ld e,[hl] hlincby1 seqadr1+1 ld d,[hl] ld a,[de] cp a,$ff jr nz,nonote1c9 hlincby1 transp1 inc de ld a,[de] ld b,a inc de ld a,[de] ld d,a ld a,b ld e,a jr nonote1ca nonote1c9: cp a,0 jr nz,nonote1c2 hlincby2 patadr1 ld e,[hl] hlincby1 patadr1+1 ld d,[hl] hldecby2 transp1 nonote1ca: ld a,[de] ld [hl+],a inc de ld a,[de] inc de ld [hl],e hlincby1 patadr1+1 ld [hl],d ld e,a ld d,0 ld hl,pattab add hl,de add hl,de ld e,[hl] inc hl ld d,[hl] ld a,[de] ld hl,seqadr1+1 nonote1c2: hldecby2 notelen1 nonote1cb: ld [hl+],a inc de ld a,[de] cp a,$ff jr nz,nonote1c6 inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d jp nonote1c1 nonote1c6: cp a,$fe jr nz,nonote1c3 ld a,[note1de] ld [$FF12],A inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d ld a,$80 ld [$ff14],a jp nonote1c1 nonote1c3: cp a,$fd jr nz,nonote1c5 ld a,1 ld [noterset1],a ld a,[note1at] ld [$FF12],A inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d jp nonote1c1 nonote1c5: inc de ld b,a ld a,[transp1] add b ld [note1],a ld a,[de] inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d ld e,a ld d,0 ld hl,instab add hl,de add hl,de ld e,[hl] inc hl ld d,[HL] ld a,[de] ld [duty1],A inc de ld a,[de] ld [note1at],a inc de ld a,[de] ld [note1de],a inc de ld hl,freqval1 xor a ld [hl+],a ld [hl],a inc a ld [noterset1],a ld [freqtim1],a ld [arptim1],a ld [combtim1],a ld hl,arptabadr1 ld a,[de] inc de ld [hl+],a ld a,[de] inc de ld [hl],a ld hl,freqtabadr1 ld a,[de] inc de ld e,a call SoundFX jp firec2 tunebutc1: ld a,[tunenum] ld e,a call MusicInit firec2: ld a,$20 ld [$ff00],a ld a,[$ff00] ld a,[$ff00] cpl and a,$f ld d,a ld a,$30 ld [$ff00],a ld a,d cp a,0 jr nz,firec3 ld [butflag1],a jr firec4 firec3: ld d,a ld a,[butflag1] cp a,0 jr nz,firec4 ld a,d ld [butflag1],a and a,4 cp a,0 jr z,firec5 ld a,[effnum] cp a,numsfx jr z,firec5 inc a ld [effnum],a CALL SirenVol ld de,500 CALL EnginePitch firec5: ld a,d and a,8 cp a,0 jr z,firec6 ld a,[effnum] cp a,0 jr z,firec6 dec a ld [effnum],a CALL SirenVol firec6: ld a,d and a,2 cp a,0 jr z,firec7 ld a,[tunenum] cp a,0 jr z,firec7 dec a ld [tunenum],a firec7: ld a,d and a,1 cp a,0 jr z,firec4 ld a,[tunenum] cp a,numtunes jr z,firec4 inc a ld [tunenum],a firec4: ld hl,$98e7 ld a,[effnum] call bin2hex ld hl,$98c7 ld a,[tunenum] call bin2hex ld hl,$98c0 ld de,text1 call dispstr ld hl,$98e0 ld de,text2 call dispstr ld hl,tunes ld a,[tunenum] nxttunl1: cp a,0 jr z,nxttunc1 dec a ld b,a nxttunl2: ld a,[hl+] cp a,0 jr nz,nxttunl2 ld a,b jr nxttunl1 nxttunc1: ld e,l ld d,h ld hl,$98ca call dispstr ld hl,sfxs ld a,[effnum] nxtsfxl1: cp a,0 jr z,nxtsfxc1 dec a ld b,a nxtsfxl2: ld a,[hl+] cp a,0 jr nz,nxtsfxl2 ld a,b jr nxtsfxl1 nxtsfxc1: ld e,l ld d,h ld hl,$98ea call dispstr ld de,demotxt1 ld hl,$9960 call dispstr ld de,demotxt2 ld hl,$9980 call dispstr ld de,demotxt3 ld hl,$99a0 call dispstr ld de,demotxt4 ld hl,$99c0 call dispstr ld de,demotxt5 ld hl,$9800 call dispstr ld de,demotxt6 ld hl,$9820 call dispstr ld de,demotxt7 ld hl,$9860 call dispstr jp End demotxt1: db "L/R+SEL= Change Tune",0 demotxt2: db "U/D+B = Change SFX",0 demotxt3: db " ",0 demotxt4: db " DUKES OF HAZZARD!",0 demotxt5: db " ",0 demotxt6: db " (C)2000 AUDIOARTS",0 demotxt7 db " ",0 tunes: db "Music off ",0 db "TITLE ",0 db "ENGINE ",0 db "STOP ENGINE",0 db "SIREN ",0 db "STOP SIREN ",0 db "TUNE 2 ",0 db "SKID ON ",0 db "SKID OFF ",0 db "CARHITCAR ",0 db "TNT EXPLSN ",0 db "Bridge on ",0 db "Bridge off ",0 db "Collision1 ",0 db "Collision2 ",0 db "Collision3 ",0 db "Collision4 ",0 db "Arrows ",0 db "Horn ",0 db "Horn 2 ",0 db "Get Turbo ",0 db "pickup 1 ",0 db "pickup 2 ",0 db "Siren down ",0 db "skid v2 ",0 db "skid v2 off",0 db "TRUCK ENGINE",0 db "STOP ENGINE",0 sfxs: db "Blank ",0 db "Menu beep ",0 db "select ",0 font: incbin "mmxfont.bin" fonte: bin2hex: push hl ld c,a sra a sra a sra a sra a and a,$f ld e,a ld d,0 ld hl,hextab add hl,de ld a,[hl] pop hl ld [hl+],a push hl ld a,c and a,$f ld e,a ld d,0 ld hl,hextab add hl,de ld a,[hl] pop hl ld [hl],a ret dispstr: dispstrl1: ld a,[de] cp a,0 jr z,dispstrc1 inc de ld a,[de] inc de ld [hl],a !5(@bw,5(@,^,V ,GWx_ !^,V--"s,r_!K^#V!--" s,r@ s,r>@ > s,r@Gs,r_!K^#V !"w< !"w! "w!"wÅA! ~( w>,*]T,*fo= ##* *fo*}TF#^! "r,x"{"]T,*fo= #* *fo*}TN!"r,]T,*fo= #* *fo*}T^!"r,Cx Z~_!H*_Vx !*_~Wz{_ !V5(,îB> !5(,îBcw,5(îB,^,V ,GWx_A I_ $( !Y2O2_Q0>a>îB,,^,V--"s,r_!K^#V!--" s,rîB s,r>îB > s,rîBG_ ZB-s,r_!K^#V!!%"w<"'* !("w!#"w!+"wVC! ~( w>,*]T,*fo= ##* *fo*}TF#N!#"r,x"y"]T,*fo= #* *fo*}TN!("r,]T,*fo= #* *fo*}T^!+"r,Cx Z~_!H*_Vx !%*_~Wz{!.5(+Ddw,5(+D,^,V ,GWx_ËC !3^,V--"s,r_!K^#V!1--" s,r+D s,r>5!68"w+DG2Es,r_!K^#V>5!6""""!="w<:?B5!@"w!;"w!C"wD!5]T,*fo= #* *fo*}T^!6"r,{!:]T,*fo= ##* *fo*}TF#N!;"r,x"y"]T,*fo= #* *fo*}TN!@"r,]T,*fo= #* *fo*}T^!C"r,Cx Z~_!H*_Vx !=*_~Wzk{j>_F !V5(E> !F5(Eew,5(E,^,V ,GWx_`E I_F $( !Y2O2_Q0>a>MNE,,^,V--"s,r_!K^#V!I--" s,rE N!>#s,rQF >Os,rQFG_F ûEJs,r_!JL^#V MN>PSO!Q"w!T"wQF!O~( wM!># ,]T,*fo= #* *fo*}TN!Q"r,y"]T,*fo= #* *fo*}TN!T"ry#!_*fo G5(G_ cew,5(G,^,V ,GWx_ 4,,^,V--w,s,r_!K_ ûFH*~kb^,V--" s,rG s,rG s,rGGs,r_!K^#Va _!g]T,*fo=(0##* *fo*}TN#F!h"r,>gixw>kj!I*O*G(-**< >>Hybx($**< >>Hycx(*3*4>0>H1>/.ydx($*K*LMH>HIyex(C*h*i*fo0*{@ >&>>=_>>g<5!6H{"zw>w$>%&>#!!zI_( f=(H*f_ >  F >OM*X*Y* F!_s#r>VWa''''{=z>H,k#wVN;c 'B[r!-9DOYbks{ UII $$7INKNMNON[|[ hLLLL[l[M|\_\MN|\_\NINLM M@M[[MM FMBM VMRMbMMjM vMzM rMzM MzMMMMMMMM N NN KNONN|\_\MN\n\QNTNZN`NfN{NNNN O&O-OFOeOOOO#PNPyPPPPPPQ$QPQZQoQQQQQQQQNONTTTR3RLRhRRRRRRS9SbS~SSSSSST;TMT\TjTTTTTTkNJMNMZM^MdMnM~MMMMMMMMM NNNT9VIVIVSVcVlV~VVVVVVVVVVWX$X6XIX\XfXpXzXXXXYZY0ZLWgW{WWWWtYYSZ]ZYYWVX)YUWZYY:[WWWTTMY#NYBVZZZZ.[ [oNZZZ[ [V[5N  %&' !"""""#""""""""$+6,+-+6+,+-./01233435333435>>?@F789:;;7;<=ABCDEHI$$1JKZ$ Z2L0 bMM $ NNO$30 P04Q$ RSR+5(5 $5 $5$5&5(5)5 +5 +5 +5(5+5T(6U(+8V(09G(Z)*W :dX$;Y$h#U*NU,NX;N#UEDCD > ? ? > > = = < < ; ; : : 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1[0~\445566665544\ ld [hl],d ld e,a ld d,0 ld hl,instab add hl,de add hl,de ld e,[hl] inc hl ld d,[HL] ld a,[de] ld [duty2],A inc de ld a,[de] ld [note2at],a inc de ld a,[de] ld [note2de],a inc de ld hl,freqval2 xor a ld [hl+],a ld [hl],a inc a ld [freqtim2],a ld [arptim2],a ld [combtim2],a ld [noterset2],a ld hl,arptabadr2 ld a,[de] inc de ld [hl+],a ld [hl+],a jr dispstrl1 dispstrc1: ret text1: db "Tune :",0 text2: db "SFX :",0 hextab: db "0123456789ABCDEF" demoend: SECTION "Music",CODE[16384] Musicd: ld hl,tempo1 dec [hl] jr z,nonote1c7 jp nonote1c1 nonote1c7: ld a,[tempstor1] ld [hl],a hlincby1 notelen1 dec [hl] jr z,nonote1c4 jp nonote1c1 nonote1c4: hlincby1 seqadr1 ld e,[hl] hlincby1 seqadr1+1 ld d,[hl] ld a,[de] cp a,$ff jr nz,nonote1c9 hlincby1 transp1 inc de ld a,[de] ld b,a inc de ld a,[de] ld d,a ld a,b ld e,a jr nonote1ca nonote1c9: cp a,0 jr nz,nonote1c2 hlincby2 patadr1 ld e,[hl] hlincby1 patadr1+1 ld d,[hl] hldecby2 transp1 nonote1ca: ld a,[de] ld [hl+],a inc de ld a,[de] inc de ld [hl],e hlincby1 patadr1+1 ld [hl],d ld e,a ld d,0 ld hl,pattab add hl,de add hl,de ld e,[hl] inc hl ld d,[hl] ld a,[de] ld hl,seqadr1+1 nonote1c2: hldecby2 notelen1 nonote1cb: ld [hl+],a inc de ld a,[de] cp a,$ff jr nz,nonote1c6 inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d jp nonote1c1 nonote1c6: cp a,$fe jr nz,nonote1c3 ld a,[note1de] ld [$FF12],A inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d ld a,$80 ld [$ff14],a jp nonote1c1 nonote1c3: cp a,$fd jr nz,nonote1c5 ld a,1 ld [noterset1],a ld a,[note1at] ld [$FF12],A inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d jp nonote1c1 nonote1c5: inc de ld b,a ld a,[transp1] add b ld [note1],a ld a,[de] inc de ld [hl],e hlincby1 seqadr1+1 ld [hl],d ld e,a ld d,0 ld hl,instab add hl,de add hl,de ld e,[hl] inc hl ld d,[HL] ld a,[de] ld [duty1],A inc de ld a,[de] ld [note1at],a inc de ld a,[de] ld [note1de],a inc de ld hl,freqval1 xor a ld [hl+],a ld [hl],a inc a ld [noterset1],a ld [freqtim1],a ld [arptim1],a ld [combtim1],a ld hl,arptabadr1 ld a,[de] inc de ld [hl+],a ld a,[de] inc de ld [hl],a ld hl,freqtabadr1 ld a,[de] inc de ld e,a call SoundFX jp firec2 tunebutc1: ld a,[tunenum] ld e,a call MusicInit firec2: ld a,$20 ld [$ff00],a ld a,[$ff00] ld a,[$ff00] cpl and a,$f ld d,a ld a,$30 ld [$ff00],a ld a,d cp a,0 jr nz,firec3 ld [butflag1],a jr firec4 firec3: ld d,a ld a,[butflag1] cp a,0 jr nz,firec4 ld a,d ld [butflag1],a and a,4 cp a,0 jr z,firec5 ld a,[effnum] cp a,numsfx jr z,firec5 inc a ld [effnum],a CALL SirenVol ld de,500 CALL EnginePitch firec5: ld a,d and a,8 cp a,0 jr z,firec6 ld a,[effnum] cp a,0 jr z,firec6 dec a ld [effnum],a CALL SirenVol firec6: ld a,d and a,2 cp a,0 jr z,firec7 ld a,[tunenum] cp a,0 jr z,firec7 dec a ld [tunenum],a firec7: ld a,d and a,1 cp a,0 jr z,firec4 ld a,[tunenum] cp a,numtunes jr z,firec4 inc a ld [tunenum],a firec4: ld hl,$98e7 ld a,[effnum] call bin2hex ld hl,$98c7 ld a,[tunenum] call bin2hex ld hl,$98c0 ld de,text1 call dispstr ld hl,$98e0 ld de,text2 call dispstr ld hl,tunes ld a,[tunenum] nxttunl1: cp a,0 jr z,nxttunc1 dec a ld b,a nxttunl2: ld a,[hl+] cp a,0 jr nz,nxttunl2 ld a,b jr nxttunl1 nxttunc1: ld e,l ld d,h ld hl,$98ca call dispstr ld hl,sfxs ld a,[effnum] nxtsfxl1: cp a,0 jr z,nxtsfxc1 dec a ld b,a nxtsfxl2: ld a,[hl+] cp a,0 jr nz,nxtsfxl2 ld a,b jr nxtsfxl1 nxtsfxc1: ld e,l ld d,h ld hl,$98ea call dispstr ld de,demotxt1 ld hl,$9960 call dispstr ld de,demotxt2 ld hl,$9980 call dispstr ld de,demotxt3 ld hl,$99a0 call dispstr ld de,demotxt4 ld hl,$99c0 call dispstr ld de,demotxt5 ld hl,$9800 call dispstr ld de,demotxt6 ld hl,$9820 call dispstr ld de,demotxt7 ld hl,$9860 call dispstr jp End demotxt1: db "L/R+SEL= Change Tune",0 demotxt2: db "U/D+B = Change SFX",0 demotxt3: db " ",0 demotxt4: db " DUKES OF HAZZARD!",0 demotxt5: db " ",0 demotxt6: db " (C)2000 AUDIOARTS",0 demotxt7 db " ",0 tunes: db "Music off ",0 db "TITLE ",0 db "ENGINE ",0 db "STOP ENGINE",0 db "SIREN ",0 db "STOP SIREN ",0 db "TUNE 2 ",0 db "SKID ON ",0 db "SKID OFF ",0 db "CARHITCAR ",0 db "TNT EXPLSN ",0 db "Bridge on ",0 db "Bridge off ",0 db "Collision1 ",0 db "Collision2 ",0 db "Collision3 ",0 db "Collision4 ",0 db "Arrows ",0 db "Horn ",0 db "Horn 2 ",0 db "Get Turbo ",0 db "pickup 1 ",0 db "pickup 2 ",0 db "Siren down ",0 db "skid v2 ",0 db "skid v2 off",0 db "TRUCK ENGINE",0 db "STOP ENGINE",0 sfxs: db "Blank ",0 db "Menu beep ",0 db "select ",0 font: incbin "mmxfont.bin" fonte: bin2hex: push hl ld c,a sra a sra a sra a sra a and a,$f ld e,a ld d,0 ld hl,hextab add hl,de ld a,[hl] pop hl ld [hl+],a push hl ld a,c and a,$f ld e,a ld d,0 ld hl,hextab add hl,de ld a,[hl] pop hl ld [hl],a ret dispstr: dispstrl1: ld a,[de] cp a,0 jr z,dispstrc1 inc de ld a,[de] inc de ld [hl],a