diff --git a/docs/source/todo.rst b/docs/source/todo.rst index 21835dd49..30378bae2 100644 --- a/docs/source/todo.rst +++ b/docs/source/todo.rst @@ -3,6 +3,18 @@ TODO For next release ^^^^^^^^^^^^^^^^ +- add joypad controls to tehtriz x16 version + dpad left = "," (move left) + dpad right = "/" (move right) + controller B/Y btn = "Z" (rotate counter clockwise) + controller A/X btn = "X" (rotate clockwise) + dpad down = "." (descend) + controller B btn = " " (drop) + dpad up (and/or controller X btn) = "C" (hold) + controller start = F1 (new game) + make the 'R' tilemap a backwards R :) +- fix 6502 codegen bug (check that it isn't also in vm codegen): complex comparison expression is evaluated wrong + see circles.p8 line 57; if distance(c) < (radius as uword) + circle_radius[c] - vm: intermediate code: don't flatten everything. Instead, as a new intermediary step, convert the new Ast into *structured* intermediary code. Basically keep the blocks and subroutines structure, including full subroutine signature information, diff --git a/examples/cx16/circles.p8 b/examples/cx16/circles.p8 index eb3c49adb..04726eca7 100644 --- a/examples/cx16/circles.p8 +++ b/examples/cx16/circles.p8 @@ -54,7 +54,9 @@ main { return true ubyte @zp c for c in 0 to num_circles-1 { - if distance(c) < (radius as uword) + circle_radius[c] + ; TODO FIX THIS IN 6502 CODEGEN: if distance(c) < (radius as uword) + circle_radius[c] + cx16.r15 = (radius as uword) + circle_radius[c] + if distance(c) < cx16.r15 return false } return true