diff --git a/STATUS.md b/STATUS.md index e29d912c..7a71fed7 100644 --- a/STATUS.md +++ b/STATUS.md @@ -108,7 +108,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on | `$FFE7` | `CLALL` | DONE | | | `$FFEA` | `UDTIM` | DONE | | | `$FFED` | `SCREEN` | DONE | | -| `$FFF0` | `PLOT` | NOT DONE | | +| `$FFF0` | `PLOT` | DONE | | | `$FFF3` | `IOBASE` | DONE | |
diff --git a/c64/kernal/plot.s b/c64/kernal/plot.s index 439b1828..3739b362 100644 --- a/c64/kernal/plot.s +++ b/c64/kernal/plot.s @@ -9,4 +9,19 @@ ;; plot: + bcs plot_get + +plot_set: + sty current_screen_y + stx current_screen_x + + ;; Our implementation has different screen editor, updating any + ;; other variables (see [CM64]) seems to be unnecessary + + ;; FALLTROUGH to save one byte on RTS + +plot_get: + ldy current_screen_y + ldx current_screen_x rts +