home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_13_1986_Transactor_Publishing.d64 / trap (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  120 lines

  1. 0 rem trap (william turner)           :
  2. 1 :
  3. 2 rem  1 statement, 2 functions
  4. 3 :
  5. 4 rem keyword characters: 15
  6. 5 :
  7. 6 rem keyword   routine   line   ser #
  8. 7 rem s/trap    tra      12544    172
  9. 8 rem f/error   erro     12666    173
  10. 9 rem f/errlin  errl     12672    174
  11. 10 :
  12. 11 rem ================================
  13. 12 :
  14. 154 .asc "tra[208]"
  15. 623 .asc "erro[210]errli[206]"
  16. 1154 .word tra-1
  17. 1623 .word erro-1,errl-1
  18. 2125 jsr morvec
  19. 2555 jsr kilvec
  20. 9162 morvec =*
  21. 9164 jsr auton
  22. 9166 jsr erron
  23. 9178 rts
  24. 9180 ;
  25. 9182 kilvec =*
  26. 9184 jsr autoff
  27. 9186 jsr erroff
  28. 9198 rts
  29. 9200 ;
  30. 9202 autoff lda wrmsrt;from d. spruyt's
  31. 9204 sta $302
  32. 9206 lda wrmsrt+1
  33. 9208 sta $303
  34. 9210 rts
  35. 9212 ;
  36. 9214 auton lda $302
  37. 9216 sta wrmsrt
  38. 9218 lda $303
  39. 9220 sta wrmsrt+1
  40. 9222 rts
  41. 9232 ;
  42. 10082 .if >(*&255)+1: *=*+(*&1)
  43. 10084 wrmsrt .word 0
  44. 10086 ;
  45. 12544 tra jsr $ad8a
  46. 12546 jsr $b7f7
  47. 12548 sty tlin
  48. 12550 sta tlin+1
  49. 12552 tax
  50. 12554 bne tra1
  51. 12556 tya
  52. 12558 beq erroff
  53. 12560 tra1 bit trflag;test trap on now
  54. 12562 bmi tra2
  55. 12564 lda #<newv
  56. 12566 ldy #>newv
  57. 12568 sta $0300
  58. 12570 sty $0301
  59. 12572 lda #<warm
  60. 12574 ldy #>warm
  61. 12576 sta $0302
  62. 12578 sty $0303
  63. 12580 lda #$80
  64. 12582 sta trflag
  65. 12584 tra2 rts
  66. 12586 ;
  67. 12588 newv bmi warm
  68. 12590 stx errno
  69. 12592 lda $39
  70. 12594 ldy $3a
  71. 12596 sta eline
  72. 12598 sty eline+1
  73. 12600 bit trflag
  74. 12602 bpl eout
  75. 12604 lda tlin
  76. 12606 ldy tlin+1
  77. 12608 sta $14
  78. 12610 sty $15
  79. 12612 ldx #$fa
  80. 12614 txs
  81. 12616 lda #$a7
  82. 12618 pha
  83. 12620 lda #$ad
  84. 12622 pha
  85. 12624 jmp $a8a3
  86. 12626 ;
  87. 12628 warm jsr erroff
  88. 12630 jsr autoff
  89. 12632 ;jsr ownrtn
  90. 12634 ldx #$80
  91. 12636 jmp ($0300)
  92. 12638 ;
  93. 12640 erroff lda errvec
  94. 12642 ldy errvec+1
  95. 12644 sta $0300
  96. 12646 sty $0301
  97. 12648 lsr trflag
  98. 12650 rts
  99. 12652 ;
  100. 12654 erron lda $300
  101. 12656 ldy $301
  102. 12658 sta errvec
  103. 12660 sty errvec+1
  104. 12662 rts
  105. 12664 ;
  106. 12666 erro ldy errno
  107. 12668 jmp $b3a2
  108. 12670 ;
  109. 12672 errl ldy eline
  110. 12674 lda eline+1
  111. 12676 jmp usfp
  112. 12678 ;
  113. 12680 eout .byte $4c;jmp
  114. 12682 errvec .word 0;old error vector
  115. 12684 tlin   .word 0;trap line
  116. 12686 errno  .byte 0;error number
  117. 12688 eline  .word 0;erroneous line #
  118. 12690 trflag .byte 0;trap set flag
  119. 12692 ;
  120.