{ ------- // ------------- . ------------------------------------ //////////////////////// . //////////////////////////////////// ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 01³ . CASE - DSPXEC ff³ #nxt . ff³ *cas1-1 . ÃÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :NoKey *NoKey 01³memh . 0E³ meml . =>View DlyK FF³ mask . [possib prev View in Edit mode] 00³ bits . ?exp'd ÃÄÄ´ . 01³ AND . =THEN, next, [no View or done] FF³ DUM . ELSE, to dNxSa,,> [View 'touch'] ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 01³memh . 39³ meml . =>KyCod FF³ mask . 00³ bits . ?Zro ÃÄÄ´ . 01³ AND . =THEN, next, FF³ DUM . ELSE, prev. activity, to CLKY,,, ÀÄÄÙ . ÚÄÄ¿ . 80³ . Ä´ . 02³memh . 0C³ meml . 00³ ON . 20³ OFF . OFF Curs Block ÀÄÄÙ . ÚÄÄ¿ . 82³ . Ä´ . 01³memh . 4E³ meml . =>kDat Dly 00³ ADDbyt . CLR ÀÄÄÙ . 81 . ff> *ANOYF . to ,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ // . :CASE 1 - ALL KEY FUNCTIONS // . [was $SYNCLK first] ÚÄÄ¿ . [nuKy set by syTYMCAL] *cas1 00³memh . 0F³ meml . =>TYMflg [r15] 10³ mask . ?nuKy 10³ bits . ÃÄÄ´ . 01³ AND . =THEN, next, ff³*NoKey . ELSE, none ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 04³memh . 18³ meml . 01³ ON . CALL BLIT@ ÀÄÄÙ . ------- // ------------- . ------------------------------------ // . :HANDLE ALL KEYS ÚÄÄ¿ . *KParse 8E³ . EXECUTE ÃÄÄ´ . 00³ . 80³ $cKCAPT . DO KyCAPT ÃÄÄ´ . [Clrs nuKyŸ] 00 noParam . ÀÄÄÙ . ÚÄÄ¿ . :NOYS ON 80³ . Ä´ . 01³memh . 4D³ meml . 01³ ON . ON NOYS! 00³ OFF . ÀÄÄÙ . ÚÄÄ¿ . 01³memh . 39³ meml . =>KyCOD [KyB+25, single key] FF³ mask . 80³ bits . ?none ÃÄÄ´ . ff³*PKey . =THEN, to Pkey,,> FF.ff³*dEntry . ELSE, next, blocked keys, ÀÄÄÙ . [KKnt block, or not past filter] // . ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :no key *NOYFF 01³memh . 3D³ meml . =>KKnt [max=C] FF³ mask . 03³ bits . ? ÃÄÄ´ . ff³*CLKY . =THEN, K4, to CLKY,,, ff³*NOYa . FF³ FIN . >ELSE, KC-5, wait, FIN,,, ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 01³ . CASE - dumskp ff³ #nxt . ÃÄÄÙ . ÚÄÄ¿ . *NOYa 01³memh . 3D³ meml . =>KKnt [max=C] FF³ mask . 01³ bits . ? ÃÄÄ´ . ff³*CBLK . =THEN, to CBLK,,, ff³*CBLK . ELSE, next, ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :CLR ALL CHARs *CLKY 83³ word . Ä´ . 01³memh . 3A³ meml . 00³ ADDxtByt . CLR any PK5, PK6 ÀÄÄÙ . ÚÄÄ¿ . :NOYS OFF *ANOYF 80³ . Ä´ . 01³memh . 4D³ meml . 00³ ON . 01³ OFF . OFF NOYS! ÀÄÄÙ . // . ÚÄÄ¿ . 83³ word . Ä´ . 01³memh . 0D³ meml . 00³ ADDxtByt . CLR DlyKs ÀÄÄÙ . ÚÄÄ¿ . 82³ . Ä´ . 01³memh . 39³ meml . 00³ ADDbyt . OFF any CODE ÀÄÄÙ . ÚÄÄ¿ . 80³ . Ä´ . 01³memh . 3E³ meml . 00³ ON . 44³ OFF . RMV CLRkyŸ HOLD ÀÄÄÙ . *CBLK FF FIN . FIN,,, ------- // ------------- . ------------------------------------ *dNxSa 81 dumskip . ff> *dNxSb . to ,,,> ------- // ------------- . ------------------------------------ // . :Handle keys ÚÄÄ¿ . *PKey 01³memh . 3E³ meml . =>s 04³ mask . 00³ bits . ?/HOLD ÃÄÄ´ . 01³ AND . =THEN, next, FF³ DUM . ELSE, FIN,,, [HOLD until noKey] ÀÄÄÙ . ÚÄÄ¿ . 8E³ . EXECUTE Ä´ . 00³ . 82³ $KASS4 . DO KeysAssignState [013C] ÃÄÄ´ . [Keys in PK5=013A] 00 no params . [-] [+] [->] [View]...[NuDat] ÀÄÄÙ . or // . [Stop] [Man] [Regen] [View].... // . ÚÄÄ¿ . D1³ . Pattern GoTo Ä´ . 02³memh Pattern . =>Menu 02³ meml byt . Ä´ . 1F³ mask . ?no data [=menu 1] 01³ AND . =then, next, Ä´ . 01³ . ?Menu 1 01³ AND . =then, next, Ä´ . 02³ . ?Menu 2 ff³*Mnu2 . =then, to Mnu2,,> Ä´ . 03³ . ?Menu 3 ff³*Mnu3 . =then, to Mnu3,,> Ä´ . 04³ . ?Menu 4 ff³*Mnu3 . =then, to Mnu3,,> Ä´ . 05³ . ?Menu 5 ff³*Mnu3 . =then, to Mnu3,,> Ä´ . 00³ bits . ?no match FF³ FIN . =then, FIN,,, ÀÄÄÙ . ------- // ------------- . ------------------------------------ // . :Menu 0/1 ÚÄÄ¿ . D1³ . Pattern GoTo Ä´ . 01³memh Pattern . =>KState 3B³ meml byt . [Stop] [Man] [Regen] [View].... Ä´ . F0³ mask . ?no data FF³ FIN . =then, FIN,,, Ä´ . 10³ . ?[View] ff³*dViewx . =then, to dViewx,,> Ä´ . 20³ . ?[Regen] ff³*dRgn . =then, to dRgn,,> Ä´ . 40³ . ?[Man] ff³*dMan . =then, to dMan,,> Ä´ . 80³ . ?[Stop] ff³*dStp . =then, to dStp,,> Ä´ . 30³ . ?[Regen][View] ff³*sMnu3 . =then, to sMnu3,,> Ä´ . 50³ . ?[Man][View] ff³*sMnu4 . =then, to dMnu4,,> Ä´ . . ³ . ?[] . ³ . =then, Ä´ . 00³ bits . ?no match FF³ FIN . =then, FIN,,, ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Menu 2; Allow [View] *Mnu2 01³memh . 3B³ meml . =>KState F0³ mask . 10³ bits . ?[View] ÃÄÄ´ . ff³*dView . =THEN, to dView,,> FF³ FIN . ELSE, FIN,,, ÀÄÄÙ . ------- // ------------- . ------------------------------------ // . :Menu3,4,5 *Mnu3 81 . ff> *dEDIT . to ,,> ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 01³ . CASE - DSPXEC dumskip ff³ #nxt . ------- // ------------- . ------------------------------------ *dNxSb 81 dumskip . ff> *dNxS . to ,,,> ------- // ------------- . ------------------------------------ // . :Start ManOp ÚÄÄ¿ . *dMan 01³memh . 07³ meml . => 02³ mask . 02³ bits . ? ÃÄÄ´ . ff³*RKEY . =THEN, to RKEY,,> [Do ManOP] ff³*dRgn . FF³ DUM . >ELSE, none ÀÄÄÙ . ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Start Regen *dRgn 04³memh . B6³ meml . =>Seq$ FF³ mask . 00³ bits . ?No Activ ÃÄÄ´ . 01³ AND . =THEN, next, FF³ DUM . ELSE, to RKEY,,> [?Rstart Regen] ÀÄÄÙ . // . ÚÄÄ¿ . :Delay to Start Op B7³ . Ä´ . IncrKntrToFixLimit 01³memh . 0D³ meml Data . =>DlyK Ä´ . 7F³ Limit . ?LIM:Kntr ÃÄÄ´ . 01³ AND . =THEN, next, FF³ FIN . Keys 60³ mask . 20³ bits . ? ÃÄÄ´ . 01³ AND . =THEN, next, FF³ FIN . ELSE, to RKEY,,> [Do ManOP] ÀÄÄÙ . // . ÚÄÄ¿ . :START REGEN C0³ . Ä´ . 04³memh . B6³ meml . 81³ byt . SET Regen ÀÄÄÙ . 81 . ff> *Pcoa . to ,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ // . :STOP - To Screen Case 2 *dStp DD . nop // . ÚÄÄ¿ . :All Req Keys2 *RKEY A2³ . Ä´ . CopyBytPair 01³memh . 3B³ meml . => Ä´ . E0³ mask . SET ManRq ÀÄÄÙ . 81 . ff> *Pcoa . to ,,> ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :SELECT Menu#3 *sMnu3 C0³ . Ä´ . 02³memh . 02³ meml . 03³ byt . SEL Mnu#3 ÀÄÄÙ . 81 . ff> *sHLD . to ,,,> ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :SELECT Menu#4 *sMnu4 C0³ . Ä´ . 02³memh . 02³ meml . 04³ byt . SEL Mnu#4 ÀÄÄÙ . // . ÚÄÄ¿ . *sHLD C0³ . Ä´ . 02³memh . 03³ meml . 00³ byt . CLR Scr [To force Start at 1st Scr] ÀÄÄÙ . ÚÄÄ¿ . 80³ . Ä´ . 01³memh . =>S 3E³ meml . 04³ ON . SET HOLD 00³ OFF . ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . *dViewx 02³memh . 03³ meml . => 0F³ mask . 01³ bits . ?2nd Scr ÃÄÄ´ . 01³ AND . =THEN, next, ff³*dView . ELSE, to dView ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 02³memh . 02³ meml . C5³ Konstbyt . ÀÄÄÙ . 81 . ff> *dNxS . to ,,, ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Delay to Switch Menu *dVw3s B7³ . Ä´ . IncrKntrToFixLimit 01³memh . 0E³ meml Data . =>DlyK Ä´ . C0³ Limit . ?LIM:Kntr ÃÄÄ´ . 01³ AND . =THEN, next, FF³ FIN . ELSE, next, ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 02³memh . 03³ meml . 03³ byt . PREP last Screen ÀÄÄÙ . ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Restore Main Menu *dView A2³ . Ä´ . CopyBytPair 02³memh . 01³ meml . =>prev Menu Sel Ä´ . 1F³ mask . ÀÄÄÙ . // . ÚÄÄ¿ . :SCROLL next Screen *dNxS C0³ . Ä´ . 01³memh . 39³ meml . =>KyCOD 82³ ON . SET DnArrow cod=82 ÀÄÄÙ . // . :Note: Menu Selection by $HConfig 81 . ff> *Pcom . to Pcom,,< ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ // . :Prog Menus ÚÄÄ¿ . *dEDIT D1³ . Pattern GoTo Ä´ . 01³memh Pattern . =>KState 3B³ meml byt . [-] [+] [->] [View]...[NuDat] Ä´ . F1³ mask . ?no data FF³ FIN . =then, FIN,,, Ä´ . 10³ . ?[View] ff³*dVw3s . =then, to dVw3s,,> Ä´ . 11³ . ?[View]...[NuDat] ff³*dRefr . =then, to dRefr,,> Ä´ . 20³ . ?[->]...[] ff³*dNext . =then, to dNext,,> Ä´ . 21³ . ?[->]...[NuDat] ff³*dEntr . =then, to dEntr,,> Ä´ . 40³ . ?[+]...[] ff³*dIncD . =then, to dIncD,,> Ä´ . 41³ . ?[+]...[NuDat] ff³*dIncD . =then, to dIncD,,> Ä´ . 80³ . ?[-]...[] ff³*dDecD . =then, to dDecD,,> Ä´ . 81³ . ?[-]...[NuDat] ff³*dDecD . =then, to dDecD,,> Ä´ . C0³ . ?[-][+]...[] ff³*dClrD . =then, to dClrD,,> Ä´ . C1³ . ?[-][+]...[NuDat] ff³*dClrD . =then, to dClrD,,> Ä´ . . ³ . ?[]...[NuDat] . ³ . =then, Ä´ . 00³ bits . ?no match FF³ FIN . =then, FIN,,, ÀÄÄÙ . ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 01³ . CASE - DSPXEC dumskip ff³ #nxt . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :REFRESH Screen *dRefr 80³ . Ä´ . 02³memh . 0C³ meml . 20³ ON . SET CurBlock 40³ OFF . CLR /nuCur ÀÄÄÙ . 81 . ff> *Pcoa . to Pcoa,,< ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Set CURSOR code *dNext C0³ . Ä´ . 01³memh . 39³ meml . =>KyCOD 81³ ON . SET CURcod=81 ÀÄÄÙ . ÚÄÄ¿ . *Pcom 8E³ . EXECUTE 00³ . 81³ $cEDIT . DO EDIT [compile multi-key entry] ÃÄÄ´ . 00 no params . ÀÄÄÙ . 81 . ff> *Pcoa . to ,,< ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Set ENTER code *dEntr C0³ . Ä´ . 01³memh . 39³ meml . =>KyCOD 80³ ON . SET NTRcod=80 ÀÄÄÙ . ÚÄÄ¿ . 8E³ . EXECUTE 00³ . 81³ $cEDIT . DO EDIT [compile multi-key entry] ÃÄÄ´ . 00 no params . ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :SET to EEPROM [from Case 2 also] *SETnu 80³ . Ä´ . 04³memh . 20³ meml . 03³ ON . CALL EWrt@ 00³ OFF . ÀÄÄÙ . ÚÄÄ¿ . *Pcoa B0³word . Ä´ . 01³memh . 3D³ meml . Ä´ . 30³ ON . SET KKnt CF³ OFF . 40³ ON . SET CLRky 01³ OFF . CLR NuDat ÀÄÄÙ . // . ÚÄÄ¿ . 83³ word . Ä´ . 01³memh . 0D³ meml . 00³ ADDxtByt . CLR DlyKs ÀÄÄÙ . FF . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Data - CLEAR Stage *dClrD 80³ . Ä´ . 01³memh . 3E³ meml . 4D³ ON . SET CLRky, ClrDat, NuDat [Hold] 00³ OFF . [Clr'd by cKDAT macro] ÀÄÄÙ . 81 . ff> *dIcm . to ,,> ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ // . :Data - INCR Stage ÚÄÄ¿ . *dIncD 80³ . Ä´ . 01³memh . 3E³ meml . 41³ ON . SET CLRky, NuDat 02³ OFF . CLR Decr ÀÄÄÙ . // . ÚÄÄ¿ . [for NO Num.KEYpad Unit] *dIcm 8E³ . EXECUTE Ä´ . Update selected Data in Stage 00³ . per DATfil params, or Incr. only. 84³ $cKDAT . DO per Delay K ÃÄÄ´ . 01 params . Ä´ . 00 Delay . x.005 sec. ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 01³memh . 3D³ meml . 20³ Konstbyt . ÀÄÄÙ . FF . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ // . :Data - INCR Stage ÚÄÄ¿ . [for NO Num.KEYpad Unit] *dDecD 80³ . Ä´ . 01³memh . 3E³ meml . 43³ ON . SET CLRky,Decr, NuDat 00³ OFF . ÀÄÄÙ . 81 . ff> *dIcm . to ,,< ------- // ------------- . ------------------------------------ ------- // ------------- . ----------------------------------- //////////////////////////.///////////////////////////////////// ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 02³ . CASE 2 - SCREENS ff³ #nxt . ff³ *cas2-1 . ÃÄÄÙ . // . *CLepr 81 . e.g. ff> *SETnu . to ,,> [. :Case 1] ------- // ------------- . ------------------------------------ // . :CASE 2 // . :1st, possib Edit Screens ÚÄÄ¿ . *cas2 D1³ . Pattern GoTo Ä´ . 02³memh byt . =>Screens 04³ meml . [looking for Prog'm Screens Ä´ . 1F³ mask . ?no data FF³ FIN . =then, FIN,,, Ä´ . 03³ bits . ?Scr#03 ff³*cSCHD . =then, to cSCHD,,> Ä´ . 07³ bits . ?Scr#07 ff³*cCLOK . =then, to cCLOK,,> Ä´ . .³ bits . ? .³ . =then, Ä´ . 00³ bits . ?no match ff³*cas2A . =then, to cas2A ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :SetClock Scr; indic Day sel *cCLOK 02³memh . 0C³ meml . =>CURSOR 7F³ mask . 43³ bits . ?Day Slect'd ÃÄÄ´ . ff³*sULin . =THEN, to sUndrLine,,> ff³*cSnrm . ff³*cSnrm . >ELSE, to cSnrm,,> ÀÄÄÙ . ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Schedule Scr; indic Day sel *cSCHD 02³memh . 0C³ meml . =>CURSOR 7F³ mask . 41³ bits . ?Day Slect'd ÃÄÄ´ . 01³ AND . =THEN, next, ff³*cSnrm . ff³*cSnrm . >ELSE, to cSnrm,,> ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . *sULin 01³memh . 96³ meml . =>Sclk 10³ mask . 00³ bits . ? ÃÄÄ´ . 01³ AND . =THEN, next, ff³*cSnrm . ff³*cSnrm . >ELSE, to cSnrm,,> ÀÄÄÙ . // . ÚÄÄ¿ . :Show underline C0³ . Ä´ . 02³memh . B8³ meml . "_" ³ byt . ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Show Normal *cSnrm C0³ . Ä´ . 02³memh . B8³ meml . ">" ³ byt . ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ \\\\\\\\\\\\\\\\\\\\\\\\\ . \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ------- // ------------- . ------------------------------------ // . :Possible OP keys ÚÄÄ¿ . *cas2A D1³ . Pattern GoTo Ä´ . 01³memh Pattern . =>Kys Copy 3C³ meml byt . Ä´ . E0³ mask . ?no data ff³*kCLR . =then, to kCLR,,> Ä´ . 20³ . ?Regen key ff³*kRGN . =then, to kRGN,,> Ä´ . 40³ . ?Man key ff³*kMAN . =then, to kMAN,,> Ä´ . 80³ . ?Stop key ff³*kSTP . =then, to kSTP,,> Ä´ . 00³ bits . ?no match ff³*kCLR . =then, to kCLR,,> ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 02³ dumskp . CASE 2 - SCREENS ff³ #nxt . // ------------- . ------------------------------------ ÚÄÄ¿ . :Hav Regen Request *kRGN 04³memh . B6³ meml . =>Rgn$ 18³ mask . 08³ bits . ?Paused ÃÄÄ´ . 01³ AND . =THEN, next, FF³ FIN . ELSE, next, ÀÄÄÙ . ÚÄÄ¿ . 80³ . Ä´ . 04³memh . B6³ meml . 00³ ON . 98³ OFF . CLR Paus ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Hav Manual Request *kMAN 80³ . Ä´ . 01³memh . 3C³ meml . 00³ ON . 40³ OFF . CLR ÀÄÄÙ . ÚÄÄ¿ . 01³memh . 07³ meml . =>Ops 02³ mask . 02³ bits . ?ManOp ÃÄÄ´ . ff³*ManOp . =THEN, to ManOp,,> 01³ AND . ELSE, none ÀÄÄÙ . ÚÄÄ¿ . 04³memh . B6³ meml . =>RSeq$ FF³ mask . 00³ bits . ?No Activ ÃÄÄ´ . 01³ AND . =THEN, next, FF³ DUM . ELSE, FIN,,, ÀÄÄÙ . // ------------- . ------------------------------------ ÚÄÄ¿ . :Start Manual Op 80³ . Ä´ . 01³memh . 07³ meml . 02³ ON . SET ManOp 00³ OFF . ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 04³memh . B6³ meml . 91³ byt . SET Hold, $1 ÀÄÄÙ . ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :Step and Set Hold *ManOp 82³ . Ä´ . 04³memh . B6³ meml . 81³ ADDbyt . INCR RSeq$ ÀÄÄÙ . ÚÄÄ¿ . 04³memh . B6³ meml . =>Rseq$ 07³ mask . 04³ bits . ? ÃÄÄ´ . 01³ AND . =THEN, next, 01³ AND . ELSE, to fSTP,,> ÀÄÄÙ . ÚÄÄ¿ . 80³ . Ä´ . 04³memh . B6³ meml . 90³ ON . SET Hold 08³ OFF . CLR possib ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 01³memh . 3D³ meml . 40³ byt . FORCE Key Rep Delay ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :CLEAR Dly K *kCLR 01³memh . 3D³ meml . =>KKnt FF³ mask . 00³ bits . ?no Key ÃÄÄ´ . 01³ AND . =THEN, next, FF³ DUM . ELSE, FIN,,, ÀÄÄÙ . ÚÄÄ¿ . C0³ . Ä´ . 01³memh . 0C³ meml . 00³ byt . CLR DlyK ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :STOP key *kSTP 80³ . Ä´ . 01³memh . 3C³ meml . 00³ ON . 80³ OFF . CLR ÀÄÄÙ . ÚÄÄ¿ . 04³memh . B6³ meml . =>RSeq$ FF³ mask . 00³ bits . ?No Activ ÃÄÄ´ . ff³*kCLR . =THEN, to kCLR,,< FF³ DUM . ELSE, next, ÀÄÄÙ . ÚÄÄ¿ . :Delay to Full STOP Op B7³ . Ä´ . IncrKntrToFixLimit 01³memh . 0C³ meml Data . =>DlyK Ä´ . 04³ Limit . ?LIM:Kntr ÃÄÄ´ . 01³ AND . =THEN, next, ff³*kPAUS . 01³ AND . Vbatt.hex D4³ meml word . Ä´ . 04³ memh Scale . =>~5v FS. A2³ meml Factors . [requires reassigned Loc'n] Ä´ . 02³ memh Destin . =>Vbatt C4³ meml . ÀÄÄÙ . // . ÚÄÄ¿ . :Charge Battery 8C³ . Ä´ . 02³memh . C4³ meml Data . ÃÄÄ´ . 04³ memh . ?DATA:varLIM A0³ meml Lim . is 3.21V ÃÄÄ´ . FF³ FIN . =THEN, FIN,,, 01³ AND . ELSE, to VBof,,> ÀÄÄÙ . ÚÄÄ¿ . :CHARGER ON B0³word . Ä´ . 00³memh . =>portD Outs 2A³ meml . Ä´ . 20³ ON . ON Dir:Outs 00³ OFF . 20³ ON . ON PD5 00³ OFF . ÀÄÄÙ . FF FIN . FIN,,, // ------------- . ------------------------------------ ÚÄÄ¿ . :CHARGER OFF *VBof B0³word . Ä´ . 00³memh . =>portD Outs 2A³ meml . Ä´ . 00³ ON . OFF Dir:Outs 20³ OFF . 00³ ON . 20³ OFF . OFF PD5 ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :FAST CONVERSIONS [as example] *FCNV 01³memh . 96³ meml . =>sec pace 03³ mask . 02³ bits . ?every 20 msec ÃÄÄ´ . 01³ AND . =THEN, next, FF³ FIN . ELSE, to Vbat,,> ÀÄÄÙ . ÚÄÄ¿ . :Vraw dc B4³ . Scaled Reduction Ä´ . 02³memh Source . =>Ref.VoltsRaw D0³ meml word . Ä´ . 04³ memh Scale . =>50v FS. AC³ meml Factors . [requires reassigned Loc'n] Ä´ . 02³ memh Destin . =>loDCV C0³ meml . ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ ------- // ------------- . ------------------------------------ ÚÄÄ¿ . :CASE 3 Stuff *cas3 B7³ . Ä´ . IncrBytKntrToFixLimit 01³memh . 96³ meml Byt . =>STYM Ä´ . C8³ Limit . ?Kntr:fixLIM [200 X 0.005sec] ÃÄÄ´ . 01³ AND . =THEN, next, ff³*FCNV . ELSE, next, ÀÄÄÙ . // ------------- . ------------------------------------ ÚÄÄ¿ . :EVERY SECOND 82³ . Ä´ . 01³memh . 96³ meml . 00³ ADDbyt . CLR STYM ÀÄÄÙ . ------- // ------------- . ------------------------------------ // . :DO PACED STUFF // . :Do Tempa Conversion ÚÄÄ¿ . *CnSkp 83³ word . Ä´ . 03³memh . 00³ meml . 00³ ADDxtByt . CLR Tempo ÀÄÄÙ . ÚÄÄ¿ . 01³memh . 00³ meml . =>OUTs 80³ mask . 00³ bits . ?no BkLite! [or other major load(s)] ÃÄÄ´ . 01³ AND . =THEN, next, FF³ DUM . ELSE, to fTc,,> ÀÄÄÙ . ÚÄÄ¿ . B4³ . Scaled Reduction Ä´ . 02³memh Source . =>Traw D2³ meml word . Ä´ . 02³ memh Scale . =>fraction 9C³ meml Factors . [correction ScaleFactor for hi +5V] Ä´ . 03³ memh Destin . =>Tempo adj 00³ meml . ÀÄÄÙ . // ------------- . ------------------------------------ ÚÄÄ¿ . *fTc B1³ . ADD Words Ä´ . '0B= b2(SourceSign) b0(DestinSign) 02³memh Source1 . =>Thermistor raw D0³ meml var . Ä´ . 03³ memh Source2 . =>Tempo adj 00³ meml var . Ä´ . 03³ memh Destin . =>Thermistor raw corrected 00³ meml word . ÀÄÄÙ . ÚÄÄ¿ . :Convert to approx øsize x 10 AD³ . TBconv Ä´ . 03³memh Source . =>Thermistor raw corrected 00³ meml Word . Ä´ . 0C³ Table# . =>tbT4k7b Ä´ . 03³ memh Destin . =>tempoø 00³ meml Word . ÀÄÄÙ . . 81 . . ff> *c3sk0 . to ,,, [skip] ------- // ------------- . ------------------------------------ ÚÄÄ¿ . . 03³ . CASE - CONVERSIONS . ff³ #nxt . . Adjustables require . . NEW Loc'ns . . suggest 378-B ScaleF . . 37C ZroBias . ÚÄÄ¿ . :Calibrated correc'n ~/10 to øsizeC *c3sk0 B4³ . Scaled Reduction Ä´ . opt: CLR neg Result 03³memh Source . =>tempoø 00³ meml word . Ä´ . 04³ memh Scale . =>~/10 ADJ* A8³ meml Factors . Ä´ . 03³memh Destin . =>tempoø[calib] 00³ meml . ÀÄÄÙ . ÚÄÄ¿ . :Bias ~-60 to øC B1³ . ADD Words Ä´ . r$0B stat: -ve=neg, cry=Ovflo 03³memh Source1 . =>tempoø[calib] 00³ meml var . Ä´ . 04³ memh Source2 . =>Zro Tbias ADJ* A6³ meml var . Ä´ . 02³ memh Destin . =>øC C2³ meml word . ÀÄÄÙ . FF FIN . FIN,,, ------- // ------------- . ------------------------------------ //////////////////////////.///////////////////////////////////// ------- // ------------- . ------------------------------------ ÚÄÄ¿ . 04³ . CASE 4 ff³ #nxt . }