.,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.c}OS2203fOpDCk4y,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h P!c:\ln\watcom\h\fcntl.hƈ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA i U_BSS i" Ö os11_DATAFAR_DATA6 a  i/O ihO iUO i ߈O i ߈O i,O iЈO iψO i0O ijO i(ÈO i-O ibO L_ _dma_page _dma_parms _dma_pageUSQVfP0#f@ f@ f@ fHfH&f@ f@ f@ ΁fpfHXUPe^Y[]Æ zՑos_init_channel_{kmpqrs"t(u.v4w<xCyEzK{Q|W}horwoutp_@UVW މωÁfC0$ 1fC|?tB1fE Uˆ UU0U$%t!ɀՊE͈E1JfEU1f1fC 11ffC 1fC 111UfC11fC11fC1fC 111fC11UfC1ҊS1fC fe_^])&5BQaqd os_pgm_dma_Ǖ #.46?MUhkmowy"$Ρ.UR1Ҋf@ %eZ] r os_stop_dma_D"Jinp_ápUSQRf1fC 11fC1fCf1@1%fS|eZY[]a  +8 os_dma_count_E$1>@P`b݌ _dos_read_ _gf1_status6UQVƉЍUR1ҌfډÉfEe^Y] "W os_file_read_ & _dos_close_"Ufft]  os_file_close_ʌ lseek_! U} ]1]؝ os_file_seek_!   _dos_open_H2 USR]1ffuE؍eZ[]w  o os_file_open_' "%M _dos_setvect_ U]  os_setvect_ t _dos_getvect_ U]  os_getvect_ f* _os_irq_table os_getvect_ os_setvect_ URVWEߋ]1ff4fMUӃ!1%!¸!1%!¸fe_^Z]a) ! ) 0 9Ws1 os_set_irq_W 4=GQ[k m w  ơUSQRftKٰ!1% ¸!1% ¸1f ffeZY[]($&BWa i p u os_unset_irq_ȕW  *:<F!["]#y${t  pqrstuvw _os_irq_table _dma_parms5UR%~ eZ]? %os_eoi_r!&()+,) math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1sound.cxOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1sound.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ( C:\PRG\AUDIO\GF1\GF1NEW\voltab.h( "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA L [_BSS iH gf1sound11_DATAFAR_DATA a  iO ivuO iڈO i[O i`O iOO iLO i O iUO igO L_+_sound_voice_status _vrperiod@_sound_init_data_sound_voice_status# _gf1_voices_pertab _vrperiod#_gf1_freq_divisor _freq_divisormUR1҈%f=vB@f;r1f1ffE%1eZ]3 +5<AIQ[2 sound_init_9CKLMO N!P1QES_%[ gf1_enter1__gf1_page_registeroutp__gf1_register_select_gf1_data_high gf1_leave_^[USQf11ff1 f11fffeY[]m)   , 1 ; C H set_pan_֕-UW Y[#\7]G^N# gf1_delay_ _gf1_data_lowinpw_FUQVW fUًEsfEE=vfEf11ff1 f1f1f1f1f%G9C K X ] j o t    vfE1fu 18_UE)څ}ۅt־19|T 1fƒ~N}ft1f% 1fEMf9~E@1f7  4   `hi"j5l?mOnaospxrstuwxyz{}|~ ">IP]fF]}11f}Ef;EtN1Uf11 ff]1f1ffe_^Y]=  + 5 B K U Z _i n s $set_vol_ŕ9hxZ _vol_tableF set_vol_ޡR UQV1fMf$%tfe^Y] -:?  gf1_sound_volume_Y-  +>E set_pan_U USQ1fù]f$%tfeY[]ú =B N gf1_sound_pan_-  +AH outpw_ǡ USQ1fÍ ]f$%tS 15%1f1f11fffeY[]78,=P U b g qy~  gf1_sound_frequency_? *JYm}gf1_free_voice_ USQRVƍ Ef$%tW11fI11f11fQ11fQfe^ZY[]â=6D I S [ `j r |  gf1_sound_stop_2W .:>O_fvx(convert_to_16bit_ UQVWljэ4Ef$%1f$<rv<tufVⷈրvN$%tN@ڋuQJUQ¹Jq7 < gf1_set_addr_regs_;j Uf11f11fV11fVfe_^Y]e3# ( 2 : ?I Q V  gf1_sound_mode_T "1@TXZ`hjny}9inp_á|USR»Uf$%t<1f1f1fu 1f؍eZ[]֝., 1 > C K Ug 0gf1_sound_playing_Q (5GO]b d f m=gf1_sound_stop_gf1_allocate_voice_gf1_sound_frequency_kUVW ljf]M] f1f‰ǃufЉE1fV t UB UBV tF ‰11k)!)7 H\}5gf1_sound_pan_gf1_sound_mode_gf1_sound_volume_ɡRX^d l"r$x&~(*,.02468:<>@ݷ_pertabP _freq_divisorDJffU1^ U]Efe_^] (3 {gf1_sound_start_˕#$1%6&=(D)Q*T,`+c-p.w0y/|2356789:;< math387r emu387gt" C:\PRG\AUDIO\GF1\GF1NEW\voltab.cOS2203fOpDCk( C:\PRG\AUDIO\GF1\GF1NEW\voltab.c/( C:\PRG\AUDIO\GF1\GF1NEW\voltab.h( "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA 'R_ _vol_table6 math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1mixer.c|OS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1mixer.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1mixer11_DATAFAR_DATA a  i&ňO i&ňO i&ňO i&ňO i&ňO i&ňO L_' _mixer_mask_gf1_mix_controloutp_ , UR%1Ҋ1feZ]ÅO gf1_enable_line_in_ҕ   , UR 1Ҋ1feZ]ÛO gf1_disable_line_in_d  ! " , UR 1Ҋ1feZ]ÙO gf1_enable_mic_in_E $&' ( ~, UR%1Ҋ1feZ]ËO gf1_disable_mic_in_ו *,- . g,UR%1Ҋ1feZ]ÊOgf1_enable_output_023 4 P,UR 1Ҋ1feZ]ÞOgf1_disable_output_689 : 9 math387r emu387gt" C:\PRG\AUDIO\GF1\GF1NEW\gf1rec.ckOS2203fOpDCk( C:\PRG\AUDIO\GF1\GF1NEW\gf1rec.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i  gf1rec11_DATAFAR_DATAؙ a  iTO L_G gf1_enter1__gf1_register_selectoutp__gf1_data_high gf1_leave_ZUSRøf1Hf11ffeZ[]Õ,1;BG gf1_set_record_rate_D-!##$7&F'M> math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1uart.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1uart.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1uart11_DATAFAR_DATAT a  i#ȈO i!ʈO L_#_uart_init_datagf1_midi_reset_+'U11]ß uart_init_! ! "$d'_gf1_midi_controloutp_ gf1_delay_|)USR1f‰eZ[]r gf1_midi_reset_^&()*p math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1midi.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1midi.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  _BSS  idO iO L_JD<ʡ ѣ< <JddddddddddddddddȌ_pbs_msb_gf1_log_tableUQVWƍ 0䋹eځ ׅ}ڈ] щ U1׍Y ؉U1u UE1҉ȋM 1҉Eu]ଢ଼gf1_channel_pitch_bend_?@M) }фtʉe_^Y].pgf1_midi_pitch_bend_g2D <E%F0G3H7I9L>KCMON_OqPQRSTVXYOUQVЉڍ+rqadr?xr&Dy{9)+e`ra@u r((&r ye^Y]à 6gf1_midi_set_vibrato__rpn_msb_rpn_lsb_pbs_lsbΡe^Y]Ãrv'e^Y]Ãe^Y]Ã<<~e^Y]ÃZ<Le^Y]Ã1$`.*8F^kyƌr_channel_expression_channel_volumegf1_midi_change_volume_gf1_midi_set_balance_gf1_midi_channel_sustain_>Ze^Y]à )e^Y]Ëӻ‰e^Y]ÉЉe^Y]Ëл‰e^Y]91҈‰=)7> V f t {  =gf1_midi_all_notes_off_*D{_pbs_msb_pbs_lsb@_rpn_msb_rpn_lsb_channel_volume_channel_expression@ _channel_panJe^Y]Ée^Y]Ée^Y]É11Ⱦdȉe^Y]Ée^Y]L3 & /@MS X d r gf1_midi_parameter_[_aefg kl2p@qZugv{z|)+4;BLQdw~ math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1scale.cOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1scale.c*"C:\PRG\AUDIO\GF1\GF1NEW\gf1scale.h "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  R_!#%<(**-/258I<?CGKyPBUTZ_delkqxWdg'~/A URi~<N_=_̓$+`[y: {V,TJ;HV;}uA~ 7 X J v m 9vX[nP)"Ys$!#%<(a*S*-/E258I<?C GoKyPBUTZ_delk2 USQÉf…tfFf1f 1Ef11f1f1f` $8=G LR`eou z   f1eY[] ˑ gf1_enable_timer1_co @D EFG#H*I1J6KALPMWNiP~QRSTUpURf1%%1Ef11ffeZ]?= ,2?DNT Y^ʑgf1_disable_timer1_9WYZ[\]6^H_]`de_adlib_timer_mask2pURf1%%1Ef11ffeZ]D= ,2?DNT Y^ʑgf1_disable_timer2_9bdefgh6iHj]kd math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1note1.cOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1note1.cΈP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\gf1note.h "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1note111_DATAFAR_DATA' a  i{pO i^O i:O iNO L_a gf1_enter1__gf1_page_registeroutp__gf1_register_select _gf1_data_lowinpw_ gf1_leave_T URf1f1f1ffeZ]6) $)16=W gf1_midi_get_volume_=3  -!<"C$H$gf1_midi_get_volume_ _gf1_voices@ USR119vB1f9rw1؍eZ[]r  d$ gf1_midi_get_master_volume_E9 &)+, -./%0,21Ԍ _voice_statusߡdUSQRE11%C$%tC:Eu 9vB!1f9rσw1ȍeZY[]  .@ %gf1_midi_get_channel_volume_E4: 8;<=+>2@8AHBODT _note_statusAUSQVWEU111U=Ht(H:Mu zt}uG1ɉ}}}JC!1f 9rEe_^Y[]$  g $gf1_midi_get_channel_notes_i9FMKONP%RHT[Voӈ math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1note.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1note.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ*"C:\PRG\AUDIO\GF1\GF1NEW\gf1scale.h( C:\PRG\AUDIO\GF1\GF1NEW\voltab.h()!C:\PRG\AUDIO\GF1\GF1NEW\gf1note.h "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA 1 v_BSS i gf1note11_DATAFAR_DATAZ a  iLO ijO i9O iψO i*O iˈO iO iRO iRO i7O i4O i{pO iO iOO iEO iIO ivuO i?O i0O il~O i ߈O i҈O iSO igO iKO i O i`O! iFO" i#O# L_y_gf1_note_init_data_gf1_linear_volumes _voice_status_channel_status _gf1_m_volume_vibrato_voice_count__STOSBnote_volume_handler_،gf1_add_volume_handler_*#USQR1҈%%0ۃ!@@@f@@XXBX |ܸ11Ƀ@df@@HHHHHHHӈHBfX |ȹ1Ҹfu. B :note_voice_handler_\gf1_add_voice_handler_!#teZY[]<   #gf1_note_init_#2;<=@ A$B(C.>2?5E8D9FAHMIQQWG[J^KaLdMgNjOmRpPrSxUTX[\_ gf1_enter1_ _vol_table#"USQVWfػsfG=t+s%EƊ"%4E1CƁ€оfCxD) 2@N Zf z7calculate_tremolo_d_gf1_page_registeroutp__gf1_register_select_gf1_data_high gf1_delay_ _gf1_data_lowinpw_3"ut 1҉ȊS1f K1GfK1f1f1f1fskErC:C tSu@H۝G2:GLQ^cpu}'"ak lm$n:o>pGtpur{|~&6:Ho硵"Z$ %t C$%u411SC ыU)) C}kC uC{~Cu&u1Ҋ@<%fS¹1| 1ҊPA1fC¹1" u^PH tNSt11ҊCfS¹1E\D<1%f{ǹ1C+E1U1f{B<ǹ1U1B;1ҿEs}s"E}ʋC)Ё  Uv E sE}E}9sHs1@fs11Uf1f11URv[~}pdq~",HJejl+=OVZ_bdg"bQS1fS11Uf1f11UfE;Et-EC 1fK1CfC KC1 fK1G &+8=JOjr gf1_leave_="1fS11fSfe_^Y[] #(h"change_voice_volume_ÕK"&6=change_voice_volume_ _gf1_voices!USQEUs E vEf]؊]E1"A$%tA:Eu UC!1f9rfeY[]Ò/ @Giu~ !gf1_midi_change_volume_K!(+?KOcm}calculate_vibrato_¡ USQVWEfUй1EA$%tqA:Eui1fA fA xGu E耸 t]1f1f11fQ fҌ. $ew outpw_ǡ9 F!1f9oEffe_^Y[] $A  gf1_channel_pitch_bend_] #*4HXl{USQVƅ}1 ~=t1f1ffEf1/A$%t1Akf;pu 1ҊPC!1f9rfe^Y[]l.% AI Nk}gf1_midi_synth_volume_.o    # )4;EMRVbouUSQVWEuU!)EfUпǹG 11G _ E܊E]G EA$%A:E}uxGt> LU$enable_vibrato_disable_vibrato_d1]…uxGt1ŁU3Ut;tfBffuuffJfuxGu t]1҉UF!1f9'S.EMXenu\fe_^Y[]]gf1_midi_set_vibrato_% &')(/,7-:2T1Y.]4_0d/j5~6789: <&=7@CAWB^~USQRVW1C$%xGu1Ck C 1S1ɊK1C<w(%.$C )ȉ C )k{t/PEt&C$ Fzܡ1҈)׉ȈC1ɊHE1f1f1fC ȍE1fsƊKs8r1ҊSBCSF!1f91e_^ZY[]$&+8=TYdo_note_vibrato_TDJKL$M4NQPjS~TVWY]^bcdf gh,l3nGTdo_note_vibrato_gf1_enable_timer2_xUReZ]Ò Lenable_vibrato_pz{gf1_disable_timer2_ U]~disable_vibrato_z}UQVWUىЉÍйq t 11ҊA Q 1pGPF@E%Ei d1<1Ҹ1҈CɍC9{uC (_gf1_log_table1 1҉Uy U1u UE1҉ȋM 1҉EuU}<U܈1ҹE)lj1U1fC 1 fC )‰UfC tC Q ] rZECCe_^Y]calculate_vibrato_046:<DFHOZpKVZ]dbUSQVWǍ1ۊXt@XD@C%E@>1%fW¹1Kˉ)ڃsCUʋuցv ))Ј(܈g܈$1* $%g1ъG)1fiE 1Ҹ@KLi19w C9v~1G1G?~G?Ge_^Y[]G4calculate_tremolo_ (-146;Fbhjx'šEUQVƉf 1É 1f؍e^Y]+  0 gf1_calc_fc_' "/6P_gf1_scale_table&|USQ1fXf@)%Љ ځ}1ҁ|4_|) eY[]) ؍eY[]î5!>!E!D$calculate_scaled_frequency_i &,49;BINQ[eo USQRfЉÁC$% cc1 fK1 f1f1f1f1fL  AIV[hmrO1fC@1f1f1?f1 f11fS11fSfeZY[]ÏQ%*7<IN[`jrwXgf1_midi_stop_voice_- / 5 : M_qv#* :!Ainp_áUSRfC$%to1f1f1fuf:1f1fuf f1eZ[]̝L  +0=BJO"Xns{"gf1_midi_status_voice_Lo#&()*'+4,F-S.W/^1e2w34589:M( _other_voicesgf1_midi_status_voice_UUSQRf11ɋt fu B|f0eZY[]É  #&$93gf1_midi_status_note_?<@ABCD#E/F8G?HG gf1_free_voice_ _note_statusNUSQRfȹA$%1f1f1ft11f1f1fAA0$lV 6;HMUZ"hmz%&S$xGu1ۊY؀USRVfڃt9utk!t9ufe^Z[]\$ #+'@#Qa(mgf1_midi_stop_note_Qimn p%q*r/t6vGwLx`ze{l|sgf1_midi_note_off_?UVWLE؉U]ԉMuUUк‹]؉UuBE؋M؅Qf1Eu}ąEԉM܉M}ȉEEȻM܉\(I1fA=tUr)4[ ~"'<FLW_dg !3calculate_scaled_frequency_  ]U1fB=tF1||u1fVځ tHtuv1~+VUy QI9;Y|;E};Z  ;Z|@9|9n *!B+gf1_midi_stop_note_gf1_allocate_voice_ZEǃUȉD*UԈU0҈k!ƊEFE} E ~EE5FtQU1fBEUE1E̋EU‰EE.+ ,%&/&8&@n Z gf1_calc_fc_⡳@%E̋U1U9U1fBEEEUЉUU1BUE}fF1QfA.UfF1fB=ufF]11fVfC fF } *v--0AKRZiry"'pt1f1f11fV f1 fE1ҊP t 1f 11fQ5FFAH$%tNAH$%tNAH$%tNAH8 +2?DYem_$%tKN@1 f11ffQ*1 f11ffQ,C f11ffQ1 f11ffQ 1fSV%.;@J[`js$(,8<HLX\hl 4EYj~    11ffQ"1f11ffQ$1f11ffQ&1f11ffQ(1fF11fQ61ޝ[!+4AFPYfku~*f1f1f11QMgv$!"%&')*+,-/(0;1G3V4r6FU܉]Mȉu9dEn1EЋ\.tS}1Ʌ~71҃f\*Af]9}T+AfM|ۋUЃ9|fe_^]O#k#gf1_midi_note_on_78USQVW EfЊE$%t+u1:u:u=u}1:u:t B=| փU苎xk! ȁ. #7&?&G&b&j&#gf1_adjust_priority_!C$%SC$%C$0$SSրs@H$@%fC$׈Ā c@H$%tE1ffR1f^..(&2&[b:ABC3D5FEHLJVK[L^M`OpP{QSTUVXYZ[]^ _`b$c2dDe]fogu]1ffR AffR*1f1ffR,1f11f11fS11fSPH@ɝV !&:?LQejtyP tPH 1 f1f1fsC1`f纉K1f%{uf{t1fi11҂8#(5:?LQcu}h|ijkmnopru%v7wIxNy`{c|gzr}~%4Ff{C1CfK R;1f1f1f@H$ %1f1 f1f1ÝG16CHUty١df1C}CS S1fsR91f1f1fCfu fSft1fi1f1C1҈K P?13+8KP]bjoJfC¿1EsE1U9sSS1fS11ff1fE1҈ˆC1fLK@1fE1҈ˆC1f184AKS`ew/X]o}#/:=Wgy|顁f11ff1 f11fS11fS]9hfe_^Y[]= +0:BGQYlʑgf1_midi_note_off_"! '.ꡟUSQEfUt [1Ɉ<:Eu-$%tt11A1f9rfeY[]= )2=E&P&_&l&r&w)"gf1_midi_channel_sustain_&K #'.09Cf{6USQRÉA$%tpa_1f11f11fQ11fQA$%tyteZY[]=+0:?IQV`h'(note_voice_handler_C]!%4EU\lx~ USQRVÊC$%c_1f1 f1f1f1f1f%SEtCȽG05BGTY^kp}4 C s0Ɉss uCC SK׈SֈK ͈s k@H$%tE1ffR1f1ffR Af)afz 6> ?@(A,B9CKD]EbFtHOPQRSTUWXYZ^[_abcd0eBfHgO ZfR*1f1ffR,1f11f11fS11fS@H$ %C$%K6="';@JOYafpߡ uCC @>CxDu1ҊSЀ fS1f11fSKk1 fk1ҊT61ft0K7CC D<1%fS¾11fȃsK3 &.JRbg a0Ef9r K@1 c1f11f1 f11fS11fSe^ZY[]8$)3:GLV^cmuַ note_volume_handler_u (*0O^akovx|F USQRVWEf1һU`C$%tJE1ɉE~.}FWt ;tIHuuEA9|;MtEMA!M1f;Ew1u`C$%tJ& w'̕ %17EKRVYZ\`ns{rx E1ɉE~.uGVt ;tIHuuEA9|;MtEMA!M1f;Ewfe_^ZY[]F(Xb& gf1_midi_silence_patch_notes_ ɡ0 USRø1;Xu@B |eZ[]9U  gf1_midi_patch_removed_ ! #s" USÍЉEe[]AK! gf1_midi_change_program_ m USQEUЋUu ƀ ~]] f1IA$%t9u:qu11f1 f1UfC!1f9rfe}=#9?G in{ߡ Y[]ʑ gf1_midi_set_balance_c !(-58CKOcr8USQRf1C$%t :KuB!1f9rػ1C$%t :KuB!1f9rfeZY[]Ä)  -'9B^(js!gf1_midi_all_sounds_off_W   * 1AFJ[bry7=} WY!0_gf1_log_table_gf1_linear_volumes0} _voice_status _other_voices  _note_status _channel_status _gf1_m_volume_vibrato_voice_count/RUSQRf1ۀt:u1ʊufeZY[]8  &&)&.)> gf1_midi_all_notes_off_3#!2"=#D math387r emu387gt" C:\PRG\AUDIO\GF1\GF1NEW\digpos.cOS2203fOpDCk( C:\PRG\AUDIO\GF1\GF1NEW\digpos.c1P!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\digital.hЈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i  digpos11_DATAFAR_DATA a  i]O L_h_dig_voice_status gf1_enter1__gf1_page_registeroutp__gf1_register_select _gf1_data_lowinpw_5USQRVWif$ %1f_.؀|GK1f1f1fÉ1f1f1fOBTYfksx%make_physical_address_ gf1_leave_h1ff9uG$%%11f1ff1f_.؋\GCDGG9w)ڊG$%tWfЍe_^ZY[]ËWfЍe_^ZY[]1fЍe_^ZY$ 9r   Z[]ygf1_digital_position_ŕ %&'((P)]+o,-./0123456 7 9:;<2?HAJCQ math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\digpause.cMOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\digpause.caP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\digital.hЈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i digpause11_DATAFAR_DATA a  ifO L_[ gf1_enter1__dig_voice_status_gf1_page_registeroutp_dig_change_voice_ gf1_leave_ۡlUSQRif∣1f>Ȉ>1feZY[]é3#.4;ALSXgf1_pause_digital_"9!'"?#P$W%^o math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\digital.cÈOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\digital.c׈P!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\digital.hЈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i &digital11_DATAFAR_DATA0 a  iO itwO ieO iO iO iɈO i݈O ieO iNO ikO i9O i O iKO iO iSO ip{O iڈO iUO iQO iWO i_O iO L__dig_voice_status3$_dig_voice_status_dig_init_data _dma_rate _stereo_dma _gf1_voicesUSRVW01%f=fCCCCC CCC(C>C?ǃ @9@=@A9uFf;5a  ''dig_terminal_count__last_dma_voicegf1_add_dma_handler_dig_voice_handler_gf1_add_voice_handler_;r1f5ute_^Z[]   Z dig_init_*36 45788=9A:E;L<S=Z>a?h@oCsAuB{GDEFHIJMNQ+gf1_set_addr_regs_;eUVWU]iF$%t+F$%tF:F:U]‹F?e_^] T ?set_addr_regs_R?nqst!u-v9w<x>zC|XN_gf1_page_registeroutp__gf1_register_select_gf1_data_high gf1_delay_USQVi1ɊS>f U‰1 f11fS?11fS?11ftE1 1f11Mf1Q + 8= GO T^f pu  fC$%1S?f1 f11fS?11fS?111f]1f1fe^Y[]Ν[  $ , 9> HP U_g s{   dig_change_voice_[~ /CSZjy};@O! gf1_enter1_convert_to_16bit_set_addr_regs_x dig_change_voice_ gf1_leave_USQRVWiff0$%u91fV.ЊVDFCu ‰f>f>ր6fe_^ZY[]QdyXgf1_restart_digital_%W />PUhn}E[USQf11ff1 f11fffeY[]d)   ,1 ;C Hset_pan_͕- #7GN _gf1_data_lowinpw_'UQVf1f1 fa?a?1 1fA?1 1f1f1f%1f1?ӝQ   +0 IN Sdi v{  f1f؃PsP1f=v%1%f9vQq?1@fq?11ff1f1fQsfQ?1fQ? 3  P] jr  "4=RWm%7DHKcuRinp_á^1f1f11ff1 f11fQ?11fQ?1f1f$%tfeQ`  % 2: GL V^ cmu    ^Y]Zset_vol_'ش set_vol_ޡvUSQVW1fiff01$fƅt01ffQ,A1$…t1҉fQAfe_^Y[]-@\aבgf1_dig_set_vol_? 07DS`g set_pan_YUSQ1fiff0$%tA$%u feY[]ƝAF*gf1_dig_set_pan_3    ,8EL_gf1_freq_divisoroutpw_ڡUSQVi1ffE% 1f1f4U1%f1f11ff1fA$%t41Q?fG 5?T^ e rz   61f1ffe^Y[]È  "M set_freq_`Q!P"X$b#i%&'(*+p set_freq_QUSQ1fiff0$%tfQfeY[]/9>7gf1_dig_set_freq_302456,709=:D\ gf1_stop_dma_DUSQRVWiff0$%f0$%t=t0҈PF?1F>1҉fF$%tP1҉fVAt111)?EPfrgf1_free_voice_;fF$%t F?fe_^ZY[]Õ  %~gf1_stop_digital_q=? ABC0D>ECFTG[I_HaJjKvLNOSTZV[\_`USQRVWif؍ @9@=@A9uC(fC0C6CC2CfC.$%t{ Cǹ Wfe_etҡ ^ZY[]  init_digital_Õbd him&j)k0l7n?oFpLrSsYq\tkunvpxzyz{-USQRVWEi10effV.fӍF@DFK$% 1@fÃu11fk KKtf?&~>N?~>N?v>^?v>^?‹Ef0$%tEF4 _fe_^ZY[]gf1_update_digital_!-ARZagf1_update_digital_USQRVifaa1҉fQ11fY,fQt11fY,fQAf0t =ufe^ZY[]?)8Hi!gf1_start_digital_ Q  -5L\mɡUQVщ%iPËPߋ@t@u@tfv5BKJfv&1ffvB@KJBJfwe^Y] K preformat_o +259:>?CKP[ijmO U$]X gf1_dig_set_dma_rate_  (gf1_dma_ready_ USQRVWEifF$%^ E;^2v~N2F$V())9vǀ}t^ 9v1fV0ЋV2U܉TFC}tEEߊMfZ"# preformat_ /EJ L!N#Q$T%b'd(l)s+u,-0/123456789:!<)=* gf1_poke_gf1_dram_xfer_b >111fUfE=tF:1U܋]NډE9rFVڍZV tFFHK1ҋFE؃j]܋E1ɋUNËF=r$#%t$$% memcpy_y ]t1fV0ЀLFK5FVE܋N9rBFXF$%t14‹FHF1HF1҃SKj]܉1ɋFN1f^0؀LFK=x-&j${$%_ ?<@VA_CsDzFJKLMNOPRQTUWacde&i0kDlMmRoopwr}svu V^ V)N6^ F N6u1fV0ЀLFK}t}~21V^2fF )9r;F6vF;F2u)F2;FuFF21fV0ЀLFKF61f^0N(؉N(|FGfV0͌gf1_start_digital_&n 1BffV0ufF0F$%u6f0$%t Ef0$%t Efe_^ZY[]í3!N'X dig_dma_next_buffer_K wxyz{|}~  dig_dma_next_buffer_. USQRVWiF(;F$1fV0ЊDFK$%~ tN ^ffbr v$t;TuP0$%u@C K(gf1_stop_digital_P 7~ te_^ZY[]Ê&e_^ZY[]1e_^ZY[]: )(~ dig_check_db_  BHOYfl|}޴ dig_check_db_ USQR%f t1f1fiAff9u11fiʁf; s9f0$%t1ft eZY[]Bf;\3"**DSmt*qS rǻ1fv5f0$%t1ft eZY[]Bf9r1eZY[] "*P dig_terminal_count_8{ $.8HMP^z롲 USQRVWEi$ERfF.EfF0E܋}1Gfu11fEk TK^(UDGV)À^(tN1fEk N}DKEf~.$%t'tUظ/J 11f>E$%u f;}^E$%t&f;}t 1fUЊDFK$%t0F@u!E؈֊~>61҈~>f0$%uEut~@C * !'.58E RX \ q v  !!",$6&T'Z)bˡ3 XtEEuE1e_^ZY[]) !)s dig_voice_handler_̕ +i,q2y3{zUQVifz u>Z B(Z$r9s#1fZ0؊DBK$%uf1 fe^Y]R(Wbđgf1_play_next_buffer_ɕQ57 9:<#=&;,?OAVB]DaEhFmߌgf1_allocate_voice_աUVW ƉU]f11fUfEƉufiE$%t9EfCAC?ufC?e_^]fC EC].&).+<Tb)j+ I[Wbc6d;eBgIhOiajrk}lmqrpstuwyxz{}~ egf1_read_block_C$%tMEU؈CGC{E؃@C$E$%tS$S$B C:C$C?C$S NjEfC,E{$%tC>C>E1҉EffCfC C$;$,Q init_digital_ߌgf1_play_next_buffer_޷8_last_dma_voice _stereo_dma _dma_rate{]%t fs fs C$%u f{ f{ 1҉fSECC$%t11f1fCA 1ffU ]t Ufȍe_^]*-7Up.gf1_play_digital_(,.25=XdnzB math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1wave.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1wave.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3 "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1wave11_DATAFAR_DATA] a  icO L_! gf1_enter1_convert_to_16bit_USQRfCHK$%t ʉ0$ fCfS CH$%t ʉ0$ fC"C4$fS$0fS" fS"KCSHȀth "Y($&%'(()*+,,2.F-I/V0_1a3c4p6s89:<>?ADCEFGHJK- _gf1_voices_gf1_freq_divisor gf1_leave_J‰0$ fC&%fC(C4$fK&0SH CfK&tS0C0P0$ fC*%fC,1ffE11fC fK1fC.fJwY1eZY[]gf1_update_waveform_0MQRSY math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1pat1.c-OS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1pat1.cAP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3 "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1pat111_DATAFAR_DATA a  iKO i`O iIO i7O L_= USQRXBf@9uffAeZY[]Ê gf1_create_patch_3  # !"$$%)&/bO UQم||-Ã{t eY]ÉKJ9}Bf1eY]Ð gf1_add_layer_ޕ9 (*+-.%00162A3CQfUVWljUލ[Éʉ؍KIB@Z9uENjWF9}Ffwe_^]÷gf1_get_waveform_info_c35<>.@5?6A@BTCY0 gf1_enter1_gf1_update_waveform_ gf1_leave_BQUV4vfȃIB@Z9ufe^]Å!:?gf1_set_waveform_info_X9ELNO%Q,P-R7T>UE math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1patch.cOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1patch.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3 "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1patch11_DATAFAR_DATA a  i O iaO i&O iO L_O os_file_open_ _gf1_status os_file_read_os_file_close_strncmp_strcmp_䡶 USQV}fڸfu e^Y[]û%=te^Y[]ûte^Y[]ú F}58 %FYpwԡO e^Y[]û?%?te^Y[]É1e^Y[]é'; gf1_get_patch_info_ &+,-.0.1@2J3V4]7j<=>@EFGHIJKMNO UVWlj։]؉MԋE f^U1fv@BfNUIf9rE1 B@1ۊ9rEf1E̋Ef@E}Ef޸f5ueSt# os_file_seek_gf1_unload_patch_> _^] 11f…tЍe_^] ]̉UE؋U؉EE‰Uܻ/UE%/tEEe_^] et%EHkI] U؉BEUf@fB[mu Qcde#f*g:i>hBjUl]mhoqp}qrtvyz{~%3:DLZ Z"UEfBE 1EȋE}E`4E%`tEEe_^] f}u EUȉPUȋ@DB;B4JBNB RBX4FNH _bil (1:CLU^hqs}~ˡ B5lfBnfBeBBfBCgBDhBEiBFjBGkBHHfBCMU_drw|+gf1_set_addr_regs_'E8< =>?&@8AIBYChD{Eʈ math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1dma1.c@OS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1dma1.cTP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ%C:\PRG\AUDIO\GF1\GF1NEW\dma.h "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1dma111_DATAFAR_DATA a  iBO L_ _dma_parms os_dma_count_ԡHURf0$%t1t)‰ eZ]ñ)38ޑgf1_amount_xferred_9 "##'%7&< math387r emu387gt" C:\PRG\AUDIO\GF1\GF1NEW\gf1dma.csOS2203fOpDCk( C:\PRG\AUDIO\GF1\GF1NEW\gf1dma.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ%C:\PRG\AUDIO\GF1\GF1NEW\dma.h "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  _BSS i Җ gf1dma11_DATAFAR_DATA a  iQO iՈO iSO i8O iˈO iO i\O i%ƈO i"ɈO L_#_gf1_dma_latchos_init_channel_N(URu 10eZ]= gf1_set_channel_out_! "#$%B+URu¸0eZ]p ~gf1_set_channel_in_!(*+,-'_gf1_dma_init_data_gf1_channel_outgf1_set_channel_out_*_gf1_channel_in,gf1_set_channel_in_gf1_dma_next_buffer_gf1_add_dma_handler__gf1_dma_activebb U1t %]1t %]øt ]ã]Ì) &+=B T  gf1_dma_init_<?JASCX%T _dma_parmsconvert_to_16bit__gf1_register_selectoutp_ _gf1_data_lowoutpw_S UVWuf1}}f=ff51҉ 0$%tK$%u| щ1Bf1f1f| =B " ( / 7 = am ~ ۡ) р! 1fe_^]   dram_xfer_ FL M N&O,P3Q;SATUU`VjWqZu[\]^_efhi7 gf1_enter1_ gf1_leave_gf1_poke_block_ _gf1_flags UVWE։]Mf=tfE@EE}0?$%1|4Et.Eu(tU1ɉMffnE0$ftD q) %7 b dram_xfer_u )1f9v1ɊM%UEÉEMU)ljMU r]1fE1PMEf1e_^]}$Y^  gf1_dram_xfer_ɕ kstu$v+x5z?{HyK|_~kw ȡ USQRVƒ=u1 5u51e^ZY[]1f5);v55f01fЅtG1f1f P$%tDH1fËB    & 0 D S [ a z    * os_pgm_dma__gf1_data_high gf1_delay_ 11A,f1f PD1If1Ҋ1ff)5f5ffe^ZY[]èL  " 1> CK SX]e l r y  gf1_dma_next_buffer_' $.4?Q_ehv */G1_gf1_status_registerinp_process_interrupt_ USRf=tcJt`1f$%uf0$%tf0$%tff=uf=t u 1eZ[]8 #2BI[elr }  gf1_wait_dma_?o  'AFGXikpy{U=%]Ü Rgf1_dma_ready_ޕ os_stop_dma_b P_gf1_dma_activeT _dma_parms9USRf=|1ۉf0$%t1%1Af1Ҋ1f1If1Ҋ1ffeZ[].L    8> L QY afs x ‘ gf1_stop_dma_0].02<CUj|$ math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1voice.cOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1voice.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  _BSS i `gf1voice11_DATAFAR_DATA a  i1O i6O iVO iJO L__gf1_voice_init_datak _voice_mask _gf1_voices _voice_array>P USR1҈%1f=v 1fk 1ۉ@f;r1eZ[]ò -4;y gf1_voice_init_W3 !12 Aq gf1_enter1_P_age gf1_leave_ USQVWljUf1uf= uG1f э)ډ <M@ f1fk 9w)r;v1=)?Y^eow| fk U싶1fk @f;]]td)tM5 ƋE)‹]<5@fEe_^Y[]ÛB !ALZry gf1_allocate_voice_ "*&'+!(#,9-=/G.L0]1i235689;>?@ADEFHGJCKJLM<UQRf!ʉfeZY]8 $)\gf1_free_voice_k'NRSTU(V/ P _age& _voice_array _voice_mask7USQf)feY[]o$}gf1_adjust_priority_ !XZ [ \#]* math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1utils.cpOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1utils.c( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hhP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h  "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  _BSS   i܈O L_ _ultrasndk getenv_{_ustr strtol_\USQRfA1Ҋ,u@ A1Ҋ,u@ A1Ҋ,u@ e %*3BLQV^mw|ULTRASND Qa _ultrasnd]_ustrdA1Ҋ,u@ fQAftytytyt t1eZY[]֝"' GetUltraCfg_Q !2"P#]${%&'(),, math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1dram.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1dram.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1dram11_DATAFAR_DATAl a  i!O iO i~mO i|oO L_r gf1_enter1__gf1_register_selectoutp_ _gf1_data_lowoutpw__gf1_data_high _gf1_dram_ioinp_ gf1_leave_q USRf1Cf1f1Df1%1f1ff؍eZ[]Ü= ',9>TYafm  gf1_peek_9    !0B]lsġ USQÈf1Cf1f1Df1%1f11ffeY[]Û= ).;@V[elq ۑ gf1_poke_ޕ9  #2Da p!w0UVWljUވȋ]@Uee0Ɉe$%t0f1Df11fUEĈeE1CfG11ffGCĊU0҇.=RWavNt t1f%U‹ENtfucfe_^]G&; Wgf1_poke_block_i$-*.+%/*194I5]6z9:;<=?@ACIKLa gf1_peek_ gf1_poke_USQRVWƉf LjEUÈE1%Ut0i1Ut 0e_^ZY[]ú1%=t 08 % 1 : A [ g n    ۡe_^ZY[]ú1%=t 0e_^ZY[]Áw"1҉1҉e_^ZY[]ÉE܉%1ɉEqf;Mtu] ӉغE1d)  " M X    7NP WXYZ7[>\X]_^k_`abcdfghimn#o*p3q8r:sPtWujvvwyvY%=u$1҉U1҉U0e_^ZY[]1҉؊UA1fʃu1҉U1҉Ue_^ZY[]Ñ  % > T ` jgf1_good_dram_ٕ!z{|}~k math387r emu387gt" C:\PRG\AUDIO\GF1\GF1NEW\gf1mem.cfOS2203fOpDCk( C:\PRG\AUDIO\GF1\GF1NEW\gf1mem.czP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i  gf1mem11_DATAFAR_DATAә a  i`O iyrO iO i?O i7O i3O i7O L_% gf1_enter1_ gf1_poke_ gf1_leave_= USQVf1ɉF1AVCrfe^Y[] )ő gf1_write_block_' (/K gf1_peek_9 USQf1҉ABCArfeY[]ú &Б gf1_read_block_x' %,_gf1_mem_init_dataF_bankD#gf1_good_dram_gf1_write_block_z USQRV1f11ۉUtBM؉uuf 1 fuf 0ҹUU܉ME@E|f=u111e. $FUj ^ZY[] gf1_mem_init_1u "* +,-!.,041>2J3Y/[4c5n6r79:;<gf1_read_block_ USQRVW$ƍpf1ҁU M1Ҹf]UȉE$%;ue֋UȀ)eփ@sUȉfC Ẻ]U8[ o >E HIG(J+KFMUN_PxQ{RSTVWXY[Z]\^_`abcefik 1҉EfU30҉ËU؍UȉuU؋EU܃t֍U؉E̍U؉EfC e_^ZY[]Ë]99]C]f1e_^ZY[]â(< LQ gf1_malloc_ mn,o3p5ء USQRW0ÍXUf}tZUEE$%uCEЋM]EԉMEtUUE]UUЉ}ԃtBUE$%u,EU‹EĉU) . [ is}  xG EԃtUUEԉ]eހUЈeމfe_ZY[]  -2 gf1_free_땱 rw yxz!{'|2>~DIRW_emwhUSQRVf1۾]M1ft)EtUE$%u]܋E9uE@E|f؍e^ZY[]ð(A h,gf1_mem_avail_ٕW 2=EQTW[gn}_bank5USQRVWf1۾]M1ft/Et$UE$%u }9sE9u܋E@E|f vC1e_^ZY[])B o"gf1_mem_largest_avail_yo 3>FRY[^bnuzĈ math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\globals.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\globals.cш)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA & _BSS  L_ _gf1_pstatus_gf1_mix_control_gf1_status_register_gf1_timer_control_gf1_timer_data _gf1_irqdma_control _gf1_reg_control_gf1_midi_control_gf1_midi_data7, &()+/ !"#$%'_gf1_page_register_gf1_register_select _gf1_data_low_gf1_data_high _gf1_dram_io_gf1_dma_latch _gf1_voices _gf1_flags_gf1_semaphore _gf1_status_gf1_channel_out _mixer_mask _gf1_channel_in _midi_irq _gf1_irq ׈ math387r emu387gt$"C:\PRG\AUDIO\GF1\GF1NEW\gf1detct.cOS2203fOpDCk*"C:\PRG\AUDIO\GF1\GF1NEW\gf1detct.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3 "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA _BSS i gf1detct11_DATAFAR_DATA a  i_O L_outp_inp_eUSQRÉ =uUUu1eZY[]]+>Egf1_detect_card_?"6B N#U$WL math387r emu387gt" C:\PRG\AUDIO\GF1\GF1NEW\gf1isr.cWOS2203fOpDCk( C:\PRG\AUDIO\GF1\GF1NEW\gf1isr.ckP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA 0 w_BSS i  gf1isr11_DATAFAR_DATAę a  i-O i:O i|oO ïO ïO ïO iDO i7O i7O i7O i%ƈO i%ƈO iZO L__midi_semaphore_visr0_dma_handler_1_dma_handler_2 _voice_handler_1_voice_handler_2_volume_handler_1_volume_handler_2_timer1_handler _timer2_handler$_midi_xmit_handler(_visrD_dma_handler_1_dma_handler_2_voice_handler_1_voice_handler_2_volume_handler_1_volume_handler_2_timer1_handler_timer2_handler_midi_xmit_handler_midi_recv_handler_gf1_adlib_control5_midi_semaphore`UR1҉eZ]fB &,28 > D J P  gf1_isr_init_]/12 3456$7*8096:<;B<H=N>TO+USÃ8tu ff1e[] add_handler_O3@BCDEFHIw+USÃ8tu ff1e[]add_far_handler_3KMNOPQST  add_handler_l=USRɸtt1eZ[]à mgf1_add_dma_handler_y!VXZ'[.\0=USRɸtt1eZ[]Ä igf1_add_voice_handler_!^`b'c.d0ȡ=USRɸtt1eZ[]Å e gf1_add_volume_handler_!fhj'k.l0add_far_handler_̡J Uut*]Ãut]ø ]F % *I gf1_add_timer_handler_9 npqruv$w2z;{@% UR¸teZ]H  s# gf1_add_midi_recv_handler_ }% UR¸teZ]I  t# gf1_add_midi_xmit_handler_ % UR¸teZ]J  } gf1_add_visr_8 ߌ@_gf1_status_registerinp__gf1_midi_control_gf1_midi_data USQRf1f‰tH1ft=tt 1f=t ‰ feZY[];=  (-: C PU[ h n  process_midi_interrupt_W   $38GLYlrtQ/ _midi_irq_gf1_irqprocess_midi_interrupt_@USR1fŠ:t$tЍeZ[]u -check_irq_status_ 3#',1ڌ_gf1_semaphoreմcheck_irq_status_: _gf1_flags_gf1_register_selectoutp__gf1_data_highġUSQRVWfff11Åuf0$%gÀuf0$%1Af1f@uf0$%t=f f =t#G )C_dlq{u=t 1If1f@t$=t1u=ttU1Ef1f1f=tRe!&.3=HR[mrz   #<Vh'=Nahm>]t1tV1Ef1f1f=tt1ɉ `P1f1fň$%=Q& ,4< BGM V b y~ $1҈1ဈȅu8t!,=t u=tt ߈$@%u6t!,=t u=tt )ff fe48%0:Efq{6%_midi_recv_handler,_gf1_adlib_control$ _^ZY[]éprocess_interrupt_  &*, A VXcgkm!$%&= math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1init.cOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1init.cP!c:\ln\watcom\h\dos.hP!c:\ln\watcom\h\i86.h ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3 "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  _BSS i ٖgf1init11_DATAFAR_DATA\ a  i&ˆO iYO ieO iO iAO iBO i.O i͈O i O L_J_gf1_register_selectoutp__gf1_data_high_gf1_status_registerinp_UR1Af11f1Ef11f1If11f1f1Af1f1If1f̝j !.3=BOT^ckp}"81f11fB |eZ]ǝ#clear_gf1_ints_1i,123%475F6X8g9t:;<=>?@A os_unset_irq_ݡ$USÉ9te[]S gf1_reset_irq_!CEF HI3gf1_irq_service_ os_set_irq_midi_irq_service_)4 USQVƻ9tɉe^Y[]   "j gf1_set_irq_f! KM NOQ&S7gf1_init_ports_gf1_init_semaphores_ gf1_isr_init__gf1_irq_latch9_gf1_irq _midi_irq_gf1_channel_out_gf1_channel_in? gf1_set_irq_~ reset_ultra_P UVƈUf…t f|1Eufe^]1؀ufe^]E 1Ң1E f1e^]}B & + 6 MW ox gf1_initialize_L T[ ]^_`d%g*j/k=l?nLoQp^q`smtsuvv|y{|}Q gf1_enter1_ _gf1_voices_gf1_page_register gf1_delay_ _gf1_data_lowinpw_ USQRf1f=11ff1 f1f1f1f1fvl1f1[ $,9>KPUbgly~š f1f1f1 f1@fCf; 1f=y11ff1f1ft11s[&+8=JOWf|@ gf1_leave_S \f1f1fCf;rfeZY[]Õ.+18? gf1_ramp_down_  0BTYkp(8GTXgy~? _os_loaded,= _gf1_flagsgf1_detect_card_ _mixer_maskgf1_initialize_gf1_set_interface_ USQRVƋtJ1 1ff1fFuf e^ZY[]1Ҋ1fF111fNP1^F1P1VfF…t fЍe^ZY[]fC3 (6PYf  gf1_asm_init_GD ffu%1ҊfF1e^ZY[]Å !&/ gf1_load_os_ #,/>@NUjgf1_ramp_down_Ҵ"clear_gf1_ints_gf1_reset_irq_k URf0$%uCJu2f1fff1eZ]33%/"4#:AF$OY gf1_unload_os_E +.38JL]_QJ_gf1_dma_latch_gf1_reg_control_gf1_mix_control_gf1_irqdma_control2USQR1ۊ:u@118u@1Њf1f1Ҋ1f11f11f1`  )/ ;AG%Z%o&t|'(&01f1 1f @1҈11f1f1Ҋ1f11f @1҈1f1f11fo '($)9'@J(OW_'dn(uz'(&;\ 1Ҋ1f11ffeZY[]î '"&'ηgf1_set_interface_!$&8?ORTcfx   &>M\cxࡳUSQR} ~ ff1Lf11f1Lf1f1f1 1f1V'49CHMR_dqv{5f=11ff11f1f1f1 f1f1f1fhj# &05BGLY^kp}" !#+$=%L&Q'V(h)z*,-0.1234567!8398:J;\<k=}>?X outpw_ǡ\11f1f11f1f11f1f11f1f1?f1f1e )',)9>HM)Z_in){$ f1f1f1 f1f1 f11f1 f1`fCf;f j&+8=JO)\akp)})#f%' _os_loaded_gf1_irq_latch0_old_gf1_service_old_midi_serviceסo1f1 1f1Lf1ffeZY[]͝= #(-#:?LQV[7 reset_ultra_<@ABCDEFG(H:ILJ^KpLMNOPQRSTUVWXY5 math387r emu387gt#!C:\PRG\AUDIO\GF1\GF1NEW\gf1wisr.cވOS2203fOpDCk)!C:\PRG\AUDIO\GF1\GF1NEW\gf1wisr.c)!C:\PRG\AUDIO\GF1\GF1NEW\globals.hʈ( C:\PRG\AUDIO\GF1\GF1NEW\newgf1.hh)!C:\PRG\AUDIO\GF1\GF1NEW\gf1priv.h4u,C:\PRG\AUDIO\GF1\GF1NEW\os\dos32\watcom\os.h3 "CODEDATABSSFLATDGROUP_TEXTu iOCONSTי CONST2 _DATA  _BSS i gf1wisr11_DATAFAR_DATAK a  ihO ilO L_M__GETDS_gf1_irqos_eoi__gf1_semaphore _gf1_flagsprocess_interrupt_ڡ`0%f=tf f :fff%f0$%uff aEB #-7?FOU[lsgf1_irq_service_K *;=JLTYj%w _midi_irq_midi_semaphoreprocess_midi_interrupt_ Q_midi_semaphore`0%=tff?fff0$%u١ aϾG ",6=CLV[ aqw<midi_irq_service_>K')* +),:.</G0I2Z3_4p6{ math387r emu387gt wdigital.asmh@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP L dig_init__dig_init_data@Z RV!t wtimer.asmch@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP Lgf1_timer_init_c_gf1_timer_init_dataV@Z SV!t gf1wsnd.asm?h@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP L sound_init__sound_init_data@Z PV!t gf1wuart.asmƖh@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP L uart_init_/_uart_init_data"@Z SV!t gf1wnote.asm̖h@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP Lgf1_note_init_А_gf1_note_init_dataÈ@Z QV!t gf1wdma.asmRh@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP L gf1_dma_init_V_gf1_dma_init_dataI@Z SV!t gf1wvoic.asmіh@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP Lgf1_voice_init_n_gf1_voice_init_dataa@Z SV!t gf1wmem.asmEh@ _DATADATA˜I _GF1INITSDATAI_GF1INITDATAI _GF1INITEDATAI DGROUP L gf1_mem_init_I_gf1_mem_init_data<@Z SV!t gf1sem.asmh@ _TEXTCODEpB _DATADATA˜FLAT9^DGROUPZXgf1_add_midi_recv_handler_ gf1_add_visr__visr_gf1_semaphore_gf1_mix_control_gf1_irqdma_control_gf1_page_register_gf1_register_select _gf1_data_low_gf1_data_high_gf1_status_register _gf1_dram_io_gf1_timer_control_gf1_timer_data_gf1_midi_data_gf1_midi_control_gf1_reg_control_gf1_freq_divisor_gf1_irq _midi_irq_gf1_channel_in_gf1_channel_out _gf1_status _gf1_flags _mixer_mask _gf1_voices _gf1_pstatusgf1_add_dma_handler_gf1_add_voice_handler_gf1_add_volume_handler_gf1_add_timer_handler_process_interrupt_process_midi_interrupt_ gf1_isr_init_gf1_init_semaphores_9 gf1_enter1_3 gf1_leave_:P gf1_enter_^ _num_sems@tfffff=u 3fff f=ut%fø. !@GTag Ut gf1init2.asmh@ _TEXTCODEcO _DATADATA˜FLAT9^DGROUPZ_gf1_semaphore_gf1_mix_control_gf1_irqdma_control_gf1_page_register_gf1_register_select _gf1_data_low_gf1_data_high_gf1_status_register _gf1_dram_io_gf1_timer_control_gf1_timer_data_gf1_midi_data_gf1_midi_control_gf1_reg_control_gf1_freq_divisor_gf1_irq _midi_irq_gf1_channel_in_gf1_channel_out _gf1_status _gf1_flags _mixer_mask _gf1_voices _gf1_pstatus gf1_delay_gf1_init_ports_)@gQRfZYSQV=r7=`w,+t f3^Y[ù5B֠Vt gf1ainit.asmh@ _TEXTCODEkG _DATADATA˜ _GF1INITSDATAI _GF1INITDATAI  _GF1INITEDATAI FLAT9 XDGROUP E Gf1InitEndƐ Gf1InitStart͐ gf1_asm_init_=@oSQRVW;t #׋;tu K;sӃ;tڀ Su3_^ZY[  Ktm:(lU|"-Gdos!gf1midi!< gf1note1!$divisor!:digpos! gf1_add_volume_handler_gf1_midi_change_volume_gf1_midi_channel_sustain_gf1_add_midi_recv_handler_ Gf1InitStartgf1_midi_get_channel_volume_$gf1_midi_silence_patch_notes__dig_init_data_gf1_mem_init_data gf1_asm_init_convert_to_16bit_egf1_mem_avail_{dig_change_voice_h gf1_init_ports_gf1_timer_init_gf1_write_block_{gf1_enable_output_egf1_disable_timer1_ os_set_irq_r~3O*BYegf1isr! sound_init__channel_expression<_channel_statusgf1_midi_get_channel_notes_$make_physical_address_e_gf1_channel_outN_gf1_status_registerNprocess_midi_interrupt__vibrato_voice_count_gf1_log_table gf1_isr_init_ gf1_wait_dma_gf1_dram_xfer_gf1_add_layer_gf1_initialize_gf1_voice_init_gf1_irq_service_gf1_detect_card_gf1_set_addr_regs_egf1_disable_mic_in_e os_getvect_ os_pgm_dma_gf1_sound_frequency_ձj=E%7O_1z+qY gf1utils! gf1detct!gf1wdma!d gf1wvoic!t gf1wnote!Tdigital!h gf1mixer!e reset_ultra_os_init_channel__gf1_freq_divisor:_rpn_msb<_gf1_linear_volumes _vol_tableF_channel_volume<gf1_sound_pan__old_midi_service_visrgf1_create_patch_gf1_enable_mic_in_egf1_get_patch_info_;gf1_midi_stop_voice_gf1_midi_get_volume_$gf1_disable_line_in_egf1_dig_set_dma_rate_h gf1_midi_set_vibrato_gf1_add_timer_handler_bCl*v2#:WL gf1wuart!D_dig_voice_statush Gf1InitEnd _os_irq_table gf1_load_os_gf1_good_dram__gf1_dma_latchNgf1_midi_stop_note_gf1_midi_parameter_<_gf1_reg_controlN_gf1_mix_controlNgf1_midi_status_note_ os_dma_count_^PJ6A}q#.iWgf1rec!wtimer!$ gf1error! _gf1_adlib_control _other_voices_gf1_page_registerN_gf1_midi_dataN gf1_poke_ gf1_delay_ gf1_leave__gf1_dma_init_datad gf1_mem_init_{_gf1_voice_init_datatgf1_unload_os_gf1_dig_set_freq_h gf1_pause_digital_( gf1_sound_playing_gf1_allocate_voice_gf1_update_waveform_gf1_midi_wait_voice_ os_stop_dma__gf1_midi_controlNgf1_mem_largest_avail_{ _dma_parmsW#(D{b3JP>jttimer!gf1sem! gf1init2!voltab!F_gf1_timer_controlNprocess_interrupt__pbs_msb< dig_init_h gf1_free_{ gf1_enter__gf1_note_init_dataT gf1_stop_dma__old_gf1_service _mixer_maskNgf1_read_block_{gf1_sound_start_gf1_disable_output_egf1_midi_pitch_bend_<gf1_add_voice_handler_gf1_midi_status_voice_pRzJg^18&>globals!Ngf1_midi_patch_removed__gf1_irqdma_controlN uart_init__rpn_lsb<_gf1_register_selectN _gf1_m_volume_gf1_timer_init_data$gf1_load_patch_;gf1_sound_stop_gf1_dig_set_vol_h gf1_detune_patch_;gf1_unload_patch_;gf1_play_digital_h _midi_irqNgf1_enable_line_in_e os_setvect_gf1_adjust_priority_ _num_sems os_unset_irq_?PkY6G$}wb,gf1uart!gf1dma! digpause!( _voice_status_sound_init_data4_gf1_semaphoreN gf1_calc_fc_gf1_note_init__gf1_data_highNgf1_free_voice_gf1_midi_reset_dig_dma_next_buffer_h _gf1_irqNgf1_start_digital_h gf1_play_next_buffer_h os_file_seek_ _gf1_flagsNgf1_get_waveform_info_X3a&IizAqgf1dma1!gf1addr!e _gf1_statusNgf1_midi_all_notes_off_gf1_midi_change_program_ _freq_divisorgf1_midi_get_master_volume_$_uart_init_dataD gf1_add_visr_ gf1_dma_init_gf1_error_str_ gf1_dig_set_pan_h gf1_amount_xferred_gf1_set_waveform_info_os_file_close_BH1rN%+z<cU7gf1init! wdigital! gf1sound! gf1voice! gf1scale! gf1patch!;gf1mem!{gf1pat1!gf1dram!gf1wisr! _gf1_voicesNgf1_midi_all_sounds_off_gf1_add_midi_xmit_handler_ _gf1_data_lowN_pbs_lsb< gf1_enter1_ GetUltraCfg_gf1_dma_ready_gf1_sound_mode_gf1_midi_note_on_gf1_sound_volume_gf1_midi_note_off_gf1_enable_timer2_gf1_init_semaphores_gf1_restart_digital_h gf1_set_record_rate_gf1_midi_synth_volume_aH;%nPw㙯X+1g gf1ainit!gf1wsnd!4gf1wave!gf1note!gf1wmem!midi_irq_service_gf1_channel_pitch_bend_ _gf1_pstatusN _note_status_gf1_timer_dataN gf1_peek_ gf1_malloc_{gf1_ramp_down__gf1_scale_tablegf1_poke_block_os_eoi_gf1_stop_digital_h gf1_enable_timer1_gf1_disable_timer2_ _channel_pan<gf1_add_dma_handler_ _gf1_dram_ioNgf1_digital_position_ gf1_midi_set_balance_ os_file_open_ os_file_read__gf1_channel_inN