err.z80 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #ifdef SHELL_BROKEN
  2. GramErr:
  3. ld de,StrGram
  4. jp CustomError
  5. #endif
  6. MOSIONErr:
  7. inc hl \ ld a,(hl) \ cp $30 \ jr nz,MirageErr
  8. ld de,StrION
  9. jp CustomError
  10. MirageErr:
  11. dec a \ jp nz,HomeRunASM
  12. ld de,StrMirage
  13. jp CustomError
  14. DCSErr:
  15. rlca
  16. cp (hl) \ jp nz,HomeRunASM
  17. inc hl \ ld a,(hl) \ cp $C9 \ jp nz,HomeRunASM
  18. ld de,StrDCS
  19. jp CustomError
  20. ErrStackOverflow_pop:
  21. ld hl,s_StackOverflow_pop
  22. ld a,6
  23. jr custerrd
  24. ErrStackOverflow_push:
  25. ld hl,s_StackOverflow_push
  26. ld a,5
  27. jr custerrd
  28. ErrPkgNotFound:
  29. ld hl,s_PkgNotFound
  30. ld a,4
  31. custerrd:
  32. ld de,appErr1
  33. call mov13
  34. jr err
  35. ErrBadToken:
  36. ld a,3
  37. jr Err
  38. onbreak:
  39. in a,(4)
  40. and 8
  41. ret nz
  42. ONErr:
  43. xor a
  44. .db $C2 ;start of jp nz,**
  45. ErrMEM:
  46. err_fatal:
  47. ld a,1
  48. Err:
  49. ld (cxErrorEP),a
  50. jp ErrorJump
  51. GramHandl:
  52. ld hl,(ErrorLoc)
  53. ld (parsePtr),hl
  54. cp errmap_end-errmap \ jr nc,BreakProgram
  55. ld hl,errmap
  56. add a,l
  57. ld l,a
  58. #if (errmap&255)>251
  59. jr nc,+_
  60. inc h
  61. _:
  62. #endif
  63. ld a,(hl)
  64. .db $FE ;start of cp *s
  65. StopToken:
  66. BreakProgram:
  67. xor a
  68. push af
  69. ;Reset the keypress
  70. _:
  71. call GetKeyDebounce
  72. or a
  73. jr nz,-_
  74. ;Reset the link port
  75. out (0),a
  76. ;Reset the OS keypress
  77. ld (843Fh),a
  78. ld (8444h),a
  79. ;Reset textShadow and cmdShadow
  80. bcall(_clrTxtShd)
  81. bcall(_saveCmdShadow)
  82. pop af
  83. ld hl,(parsePtr)
  84. dec hl
  85. ld (parsePtr),hl
  86. ld sp,(SPSave)
  87. di
  88. im 1
  89. or a
  90. jr z,+_
  91. ld b,a
  92. ld a,(basic_prog)
  93. cp 5
  94. ld a,b
  95. jr nz,$+4
  96. or 128
  97. bcall(_JError)
  98. _:
  99. or 1
  100. ret
  101. errmap:
  102. .db 6,14,43,36,43,43,43
  103. errmap_end:
  104. ;The following are errors thrown outside of parsing.
  105. ;Ex., during compiling, or loading a source file from archive
  106. err_LowMem:
  107. ;Need to actually show to the user
  108. ret