þþ d!X; VOICE HANDLER (C) 1997 THORnX; USING THE SP0256-AL2 CHIPxX;‚"X; BASE ADDRESS FOR TURBO BASICŒ"X; SHOULD BE MODIFIED FOR OTHER–X; OTHER PURPOSES. #X; THIS HANDLER DOES NOT YET SETª X; MEMLO.´X;¾€ÈFÒ%!…INSTA;; JMP TO INSTALLATION PROCÜ„INITQ>?;; INIT VIAæPÖðQ>úPÖQ>P ÖQ>"PƒBFL, P„BUFA6 P„BUFB@!P…LENTH;;INIT BUFFER AND TIMERJ P„TIMRTP…SPEED;;RESET SPEED^PƒFLGhQ> r P„PBUF| P„PBUF† P„PBUFQ>š $>5ƒVBI¤ %>4ƒVBI®K \ä;;SETUP VBI (WE'RE NOT USING THE VIA IRQ, ALTHOUGH THIS IS POSSIBLE)¸QÖÂQÖÌQ>ÖPƒFLGà:ê ƒVBI*ƒFLGô G„WAITþ "„TIMR Q„TIMRR>ÿ;;SPEED TIMERHƒEVB&+Q…LENTH;;STILL CHARACTERS IN THE BUFFER?0FƒEVA: $„BUFADQ>?NPÖXQ>bP Öl Q„BUFR9vR>@€.DƒNSP;;CHECK FOR ILLEGAL PHONEMS: SET SPEEDŠM>?” P…SPEEDž "…LENTH¨ #„BUFA²,¼DƒEVAÆ"ƒNSPPÖ;;SEND TO OUTPUT BUFFERÐQ>ÚP ÖäL>îP Ö;;GENERATE STROBEøƒEVC"…LENTH #„BUFA "ƒFLG Q…SPEED  P„TIMR*&„WAITQ Ö;;CHECK FOR CHARACTER DONE4M>>FƒEVBHQÖR#ƒFLG\ƒEVAQ…SPEEDf P„TIMRp ƒEVB!_äz „BUFA „ „BUFB Ž …LENTH ˜ …SPEED ¢ „TIMR ¬ ƒFLG ¶†PUTONE% Ô;;PUT ONE PHONEMÀ>H†PUTONE;;WAIT FOR VBI, AVOID MODIFICATION WHILE VBI ACTIVEÊ ‚PO%…LENTHÔ)>ÿÞF‚PO;;OVERFLOW ?è $„BUFBòP„BUFR9;;TO BUFFERü #„BUFB #…LENTH:„PBUF Aƒ A$ ƒBFL .ƒPUT;PUT ONE BYTE VECTOR8R> /;;END OF PHONEM?BFƒTOCLR>›VFƒTOC`R> jFƒTOCtR> ,~FƒTOCˆ%ƒBFL’)>œ E„ERC0¦ P„PBUF8°#ƒBFLº%>Ä:΄ERC0%>À;;DECODE PHONEMØ G„ENALâ ƒTOC$>ì ‚CLQ„PBUFö R„TAB19H‚NX  Q„PBUF R„TAB29H‚NX( Q„PBUF2 R„TAB39<FƒFONF‚NX2P(>KZD‚CLd%>Án G„ENALxƒFONA‚ †PUTONEŒ%>– „ENALQ>   P„PBUFª P„PBUF´ P„PBUF¾Q>ÈPƒBFLÒ:ÜX; PHONEM TABLEæV„TAB1 AÊPPPPPOAEKPJNITRAMTDIEDUAAYAHBTUUADGVGSZRFKKZNLWXWYCEEODSNHOAYGEBSSSSSSSSSSAðV„TAB2 AÊAAAAAYYHKPHNHTRXMTHYYDWOAYEHBHHWWDGVGHHRFKKZGLWRHYHRRWHSNHRRRGLBPPPPPPPPPPAúV„TAB3 AÊ12345 3 1 21 11 11 2 11 2 23 1 2 21 1 12 2 22 2 20123456789A„OPEN „INITX;CIO VECTORS%>":, …CLOSE6Q>@ †PUTONEJQ>T †PUTONE^ „WTENhQ>r $>5_ä| %>4_ä† \ä%>š:¤ƒGET:®†STATUSQ…LENTH¸FƒST1Â!%>;;SEND EOF IF BUFFER EMPTYÌ:Ö ƒST1%>à:ê „WTENQÖô ‚WLQ ÖþM>F‚WLQÖ Q…LENTH&H‚WL0::8…INSTAQ ;;INSTALL HANDLER TO CASINI, AS V: TO HATABSDL>NP X Q>4ƒRSTbPl Q>5ƒRSTvP€ ƒRST$> VŠ Q>5ƒTAB” %>4ƒTABž †ä¨:²ƒTAB „OPEN¼ …CLOSEÆ ƒGETÐ ƒPUTÚ †STATUSä ƒGETî „BUFR