in diskio.f_readline make sure AY result isn't clobbered

This commit is contained in:
Irmen de Jong
2024-12-21 06:24:47 +01:00
parent d70cfbb661
commit 1f49e8fe75
4 changed files with 7 additions and 2 deletions

View File

@@ -436,7 +436,9 @@ _line_end dey ; get rid of the trailing end-of-line char
sta (P8ZP_SCRATCH_W1),y sta (P8ZP_SCRATCH_W1),y
_end jsr cbm.READST _end jsr cbm.READST
pha pha
phy
jsr cbm.CLRCHN jsr cbm.CLRCHN
ply
pla pla
rts rts
}} }}

View File

@@ -390,9 +390,13 @@ _line_end dey ; get rid of the trailing end-of-line char
lda #0 lda #0
sta (P8ZP_SCRATCH_W1),y sta (P8ZP_SCRATCH_W1),y
_end jsr cbm.READST _end jsr cbm.READST
pha
tya
pha pha
jsr cbm.CLRCHN jsr cbm.CLRCHN
pla pla
tay
pla
rts rts
}} }}
} }

View File

@@ -405,7 +405,7 @@ Directives
if that can't be found, select the first occurrence regardless. If no other blocks are found, no merge is done. Blocks in libraries are considered first to merge into. if that can't be found, select the first occurrence regardless. If no other blocks are found, no merge is done. Blocks in libraries are considered first to merge into.
- ``no_symbol_prefixing`` (block or module) makes the compiler *not* use symbol-prefixing when translating prog8 code into assembly. - ``no_symbol_prefixing`` (block or module) makes the compiler *not* use symbol-prefixing when translating prog8 code into assembly.
Only use this if you know what you're doing because it could result in invalid assembly code being generated. Only use this if you know what you're doing because it could result in invalid assembly code being generated.
This option can be useful when writing library modules that you don't want to be exposing prefixed assembly symbols. This option can be useful when writing library modules that you don't want to be exposing prefixed assembly symbols. Various standard library modules use it for this purpose.
- ``ignore_unused`` (block or module) suppress warnings about unused variables and subroutines. Instead, these will be silently stripped. - ``ignore_unused`` (block or module) suppress warnings about unused variables and subroutines. Instead, these will be silently stripped.
This option is useful in library modules that contain many more routines beside the ones that you actually use. This option is useful in library modules that contain many more routines beside the ones that you actually use.
- ``verafxmuls`` (block, cx16 target only) uses Vera FX hardware word multiplication on the CommanderX16 for all word multiplications in this block. Warning: this may interfere with IRQs and other Vera operations, so use this only when you know what you're doing. It's safer to explicitly use ``verafx.muls()``. - ``verafxmuls`` (block, cx16 target only) uses Vera FX hardware word multiplication on the CommanderX16 for all word multiplications in this block. Warning: this may interfere with IRQs and other Vera operations, so use this only when you know what you're doing. It's safer to explicitly use ``verafx.muls()``.

View File

@@ -1,7 +1,6 @@
TODO TODO
==== ====
diskio: in 1 routine also save Y not only A? it's when it calls CLRCHN
various library modules: remove %option no_symbol_prefixing? various library modules: remove %option no_symbol_prefixing?
- DONE: make word arrays split by default and add new @nosplit tag to make an array use the old linear storage format - DONE: make word arrays split by default and add new @nosplit tag to make an array use the old linear storage format