diff --git a/STATUS.md b/STATUS.md index d5178191..96d2da0c 100644 --- a/STATUS.md +++ b/STATUS.md @@ -136,7 +136,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on | `$FFE7` | `$F32F` | `CLALL` | DONE | | | `$FFEA` | | `UDTIM` | DONE | | | `$FFED` | | `SCREEN` | DONE | | -| `$FFF0` | `$E50A` | `PLOT` | PARTIAL | cursor blink not handled | +| `$FFF0` | `$E50A` | `PLOT` | PARTIAL | | | `$FFF3` | | `IOBASE` | DONE | | | `($FFFA)` | | NMI vec | PARTIAL | | | `($FFFC)` | | RESET vec | PARTIAL | | @@ -153,7 +153,7 @@ Not all of them - only these we want to have implemented. | Address | Name | Status | Remarks | | :-------: | :------------------ | :------: | :------------------------------------------------: | | `$E544` | clear screen | DONE | | -| `$E50C` | set cursor position | PARTIAL | cursor blink not handled | +| `$E50C` | set cursor position | PARTIAL | | | `$E5A0` | setup VIC II & IO | PARTIAL | | | `$EA31` | default IRQ | PARTIAL | | | `$EA7E` | ack CIA1 + below | DONE | | diff --git a/c64/basic/cmd_load.s b/c64/basic/cmd_load.s index 374943f1..b02ee765 100644 --- a/c64/basic/cmd_load.s +++ b/c64/basic/cmd_load.s @@ -95,8 +95,8 @@ got_devicenumber: bne got_loadaddress got_secondaryaddress: - ldx TXTTAB+0 ldy TXTTAB+1 + ldx TXTTAB+0 got_loadaddress: lda #$00 // LOAD not verify diff --git a/c64/kernal/e50a.interop b/c64/kernal/e50a.interop index 392ddf02..b661797e 100644 --- a/c64/kernal/e50a.interop +++ b/c64/kernal/e50a.interop @@ -1,4 +1,5 @@ The original reason to move PLOT routine into its original position was to provide support for unofficial $E50C address: - it is well known: https://www.lemon64.com/forum/viewtopic.php?t=3296&%3Bstart=15 + https://sys64738.org/2019/05/c64-bedtime-coding-eng-printing-08/ - 'Duotris' game calls $E50C during startup screen initialization diff --git a/c64/kernal/e50a.plot.s b/c64/kernal/e50a.plot.s index e72b33d2..58afa453 100644 --- a/c64/kernal/e50a.plot.s +++ b/c64/kernal/e50a.plot.s @@ -13,6 +13,7 @@ PLOT: // Note: the 'set' part has to start from $E50C, as this is a known address // - https://www.lemon64.com/forum/viewtopic.php?t=3296&%3Bstart=15 + // - https://sys64738.org/2019/05/c64-bedtime-coding-eng-printing-08/ // - 'Duotris' game calls $E50C during startup screen initialization plot_set: @@ -20,6 +21,7 @@ plot_set: stx PNTR // XXX handle cursor blink + // XXX should we update some more variables? // FALLTROUGH to save one byte on RTS diff --git a/c64/kernal/fd15.restor.s b/c64/kernal/fd15.restor.s index c71fe1c4..5e181423 100644 --- a/c64/kernal/fd15.restor.s +++ b/c64/kernal/fd15.restor.s @@ -11,8 +11,8 @@ RESTOR: clc // clear carry - for writing to system table - ldx #vector_defaults + ldx #