tweak comment

This commit is contained in:
Irmen de Jong 2022-01-23 22:34:05 +01:00
parent 3401cb5b4a
commit adb979df38
3 changed files with 13 additions and 10 deletions

View File

@ -134,7 +134,7 @@ _startloop dey
; Locates the first position of the given character in the string,
; returns the string starting with this character or $0000 if the character is not found.
%asm {{
; need to copy the the cx16 virtual registers to zeropage to be compatible with C64...
; need to copy the the cx16 virtual registers to zeropage to make this run on C64...
sta P8ZP_SCRATCH_B1
lda cx16.r0
ldy cx16.r0+1

View File

@ -3,7 +3,11 @@ TODO
For next release
^^^^^^^^^^^^^^^^
...
- why does this use stack eval on return:
sub sprite_y_for_row(ubyte row) -> word {
return (8-row as byte)
}
Need help with
^^^^^^^^^^^^^^
@ -20,18 +24,14 @@ Blocked by an official Commander-x16 r39 release
Future Things and Ideas
^^^^^^^^^^^^^^^^^^^^^^^
- why does this use stack eval on return:
sub sprite_y_for_row(ubyte row) -> word {
return (8-row as byte)
}
- move vload() to cx16diskio module
- nameInAssemblyCode() should search smarter
- string.find should return index of found character + carry set if found, carry clear if not found. (fix cx16assem, it uses current behavior. Also fix docs!)
- if char in "string" should fall back to string.find if string is longer than... 16?
also.. is "string" removed from the interned strings?
- add option to memory() to get aligned memory block (word, page aligned)
- Typecastexpression.isSimple: make it 'expression.isSimple' rather than always false. (this breaks some things atm)
- IdentifierReference: fix equality to also include position. CallGraph can then also only store IdentifierRef instead of pair(ident, position) as keys.
- Fix: don't report as recursion if code assign address of its own subroutine to something, rather than calling it
- Fix: don't report as recursion if code assigns address of its own subroutine to something, rather than calling it
- allow "xxx" * constexpr (where constexpr is not a number literal, now gives expression error not same type)
- can we promise a left-to-right function call argument evaluation? without sacrificing performance
- unify FunctioncallExpression + FunctioncallStatement and PipeExpression + Pipe statement, may require moving Expression/Statement into interfaces instead of abstract base classes
@ -43,8 +43,7 @@ Future Things and Ideas
- simplifyConditionalExpression() should not split expression if it still results in stack-based evaluation
- simplifyConditionalExpression() sometimes introduces needless assignment to r9 tempvar
- consider adding McCarthy evaluation to shortcircuit and and or expressions. First do ifs by splitting them up? Then do expressions that compute a value?
- improve testability further, add more tests
- use more of Result<> and Either<> to handle errors/ nulls better
- use more of Result<> and Either<> to handle errors/ nulls better?
- rethink the whole "isAugmentable" business. Because the way this is determined, should always also be exactly mirrorred in the AugmentableAssignmentAsmGen or you'll get a crash at code gen time.
- can we get rid of pieces of asmgen.AssignmentAsmGen by just reusing the AugmentableAssignment ? generated code should not suffer
- c64: make the graphics.BITMAP_ADDRESS configurable (VIC banking)

View File

@ -1,8 +1,11 @@
%import textio
%import string
%zeropage basicsafe
main {
sub start() {
ubyte ccc
ubyte @shared qq = string.find("irmendejong", ccc)!=0
word ww
ww = calculate(6)
txt.print_w(ww)
@ -13,6 +16,7 @@ main {
ww = calculate(10)
txt.print_w(ww)
txt.nl()
qq = string.find("irmendejong", ccc)!=0
}
sub calculate(ubyte row) -> word {