-.proc brk_handler
-
- pla
- sta _brk_y
- pla
- sta _brk_x
- pla
- sta _brk_a
- pla
- and #$EF ; Clear break bit
- sta _brk_sr
- pla ; PC low
- sec
- sbc #2 ; Point to start of brk
- sta _brk_pc
- pla ; PC high
- sbc #0
- sta _brk_pc+1
-
- jsr uservec ; Call the user's routine
-
- lda _brk_pc+1
- pha
- lda _brk_pc
- pha
- lda _brk_sr
- pha
- ldx _brk_x
- ldy _brk_y
- lda _brk_a
- rti ; Jump back...
+.proc brk_handler
+
+ pla
+ sta _brk_y
+ pla
+ sta _brk_x
+ pla
+ sta _brk_a
+ pla
+ and #$EF ; Clear break bit
+ sta _brk_sr
+ pla ; PC low
+ sec
+ sbc #2 ; Point to start of brk
+ sta _brk_pc
+ pla ; PC high
+ sbc #0
+ sta _brk_pc+1
+
+ jsr uservec ; Call the user's routine
+
+ lda _brk_pc+1
+ pha
+ lda _brk_pc
+ pha
+ lda _brk_sr
+ pha
+ ldx _brk_x
+ ldy _brk_y
+ lda _brk_a
+ rti ; Jump back...
+
+.endproc
+
+
+; Break stub, must go into low (non banked) memory
+
+.segment "LOWCODE"