10 REM > LocalError 0.20 15-Oct-2016 J.G.Harston
   20 REM Implement LOCAL ERROR and ON ERROR LOCAL for 6502 BASIC
   30 :
   40 REM PROCerr_local(1) to enable local error handler
   50 REM PROCerr_local(0) to restore default error handler
   60 REM Usage: LOCAL ERROR:ON ERROR LOCAL local error handler
   70 :
   80 DEFPROCerr_local(A%):IFHIMEM>&FFFF:ENDPROC
   90 IF(223AND?&FFF7)<>&4C:ENDPROC
  100 IFA%=0:?&202=err_0%:?&203=err_0%DIV256:ENDPROC
  110 A%=!&202:REPEATA%=A%+1:UNTIL(!A%AND&8000FF)=&80004C
  120 DIMerr_%119:FORB%=0TO1:P%=err_%:[OPT 0
  130   LDY#0:LDA(&FD),Y:CMP#16:BNEE%
  140   LDY&0A:DEY:LDA(&0B),Y:CMP#&EA:BNEE%:.C%
  150   INY:LDA(&0B),Y:CMP#32:BEQC%:CMP#&85:BNEE%
  160   INY:STY&0A:INC&1FB:LDA4:SBC#8:STA4:LDA5
  170   SBC#0:STA5:LDY#7:LDA&1F9:STA(&04),Y:DEY:.D%
  180   LDA&12,Y:STA(&04),Y:DEY:CPY#3:BNED%
  190   LDA#0:STA(&04),Y:DEY:LDA#4:STA(&04),Y:DEY
  200   LDA#0:STA(&04),Y:DEY:LDA#&16:STA(&04),Y:BNEG%:.E%
  210   LDY#0:LDA(&16),Y:CMP#&EA:BEQP%+5:.F%:JMP!&202
  220   LDA&16:ADC#0:STA&0B:LDA&17:ADC#0:STA&0C
  230 LDA#0:STA&0A:.G%:LDX#&F5:TXS:JMPA%!1:]:NEXT
  240 ?&202=err_%:?&203=err_%DIV256:err_0%=F%!1
  250 ENDPROC