commit 44c7245

zzo38  ·  2026-03-16 03:24:09 +0000 UTC
parent b2182ff
More changes to prg/elemental.tal which make the compiled file shorter (from 1889 to 1877 bytes).
1 files changed,  +15, -33
+15, -33
  1@@ -1,22 +1,3 @@
  2-( Screen layout:
  3-   .....................
  4-   .....XX.XX.......XX..
  5-   .....XX.XX.......XX..
  6-   .....................
  7-   ..XX.XX.XX.XX....XX..
  8-   ..XX.XX.XX.XX....XX..
  9-   .....................
 10-   ..XX.XX.XX.XX....XX..
 11-   ..XX.XX.XX.XX....XX..
 12-   .....................
 13-   .....XX.XX.......XX..
 14-   .....XX.XX.......XX..
 15-   .....................
 16-   Score:00.......Mani:3
 17-   list of cards in pile
 18-   list of cards in pile
 19-)
 20-
 21 |0000
 22   @Spare $40
 23   @Height $10 ( Height+(Y<<2)+X; note Height is aligned at 0x10 bytes )
 24@@ -97,7 +78,7 @@
 25   cls2
 26   LIT2 0d -Score LDZ GTH [? #000e showixy [' "You 20 "win! ]' 00 BRK ]@
 27   .Cursor cursorat ;Cards/cursor showoverlay
 28-  .Mark LDZ2k ORA [? BRK ]@ cursorat ;Cards/mark showoverlay BRK
 29+  .Mark LDZ2k ORA [? BRK ]@ cursorat ;Cards/mark showoverlay @brk BRK
 30 
 31 @deal2
 32   [& ]@
 33@@ -112,29 +93,29 @@
 34   $1 00 10 =random
 35 
 36 @inputVec
 37-  LIT2 &mem ff82 DEI EQUk ?/brk
 38+  LIT2 &mem ff82 DEI EQUk ?brk
 39   DUPk ,&mem STR #08 EQU ?reset
 40-  LIT2 0c -Score LDZ LTH ?/brk
 41+  LIT2 0c -Score LDZ LTH ?brk
 42   DUPk #80 EQU ?/r #40 EQU ?/l
 43   DUPk #20 EQU ?/d #10 EQU ?/u
 44   DUPk #02 EQU ?/b EQUk EQU ?/a
 45-  &sh showcursor &brk BRK
 46+  &sh showcursor
 47 
 48   &r
 49-    .Cursor/X LDZk DUP #05 LTH ADD DUP #04 EQU ADD &rsh SWP STZ
 50+    .Cursor/X LDZk DUP #05 LTH ADD DUP #04 EQU &rsa ADD &rsh SWP STZ
 51   !/sh
 52 
 53   &l
 54-    .Cursor/X LDZk DUPk DIV SUB DUP #04 EQU SUB
 55+    .Cursor/X &rss LDZk DUPk DIV SUB DUP #04 EQU SUB
 56   !/rsh
 57 
 58   &d
 59-    .Cursor/Y LDZk DUP #03 LTH ADD
 60-  !/rsh
 61+    .Cursor/Y LDZk DUP #03 LTH
 62+  !/rsa
 63 
 64   &u
 65-    .Cursor/Y LDZk DUPk DIV SUB
 66-  !/rsh
 67+    .Cursor/Y
 68+  !/rss
 69 
 70   &b
 71     LITr -Cursor LDZ2r DUP2r LITr 20 SFTr ADDr
 72@@ -154,7 +135,7 @@
 73         #01 STHrk .Height ADD STZ
 74         STHr #0a MUL .Tableau ADD STZ
 75         LITr -Height ADDr LDZrk LITr 01 SUBr SWPr STZr
 76-        LIT2 ff -Mani LDZ ADD .Mani STZ
 77+        decmani
 78         sound fe 4c 49 43 42 00
 79       ]@
 80     ]@
 81@@ -172,7 +153,6 @@
 82         DUP2 xym .Height ADD LDZ #00
 83       ]@
 84       EQU ?/sh .Mark STZ2
 85-      \\ sound fd e0 00
 86     ][
 87       EQU2k ?/un /nm
 88       OVR #05 NEQ [?
 89@@ -184,7 +164,7 @@
 90         .Height ADD LDZk
 91         DUP #0a EQU ?/un
 92         STHrk LDZ STZr ( height_address height_value card )
 93-        .Mani LDZk #01 SUB SWP STZ
 94+        decmani
 95         OVR LIT &ah $1 #0a MUL .Tableau ADD ADD STZ
 96         INC SWP STZ
 97         sound fe 4c 48 43 41 00
 98@@ -211,7 +191,7 @@
 99         .Height ADD LITr -Height ADDr
100         LDZk STHr STZ #00 SWP STZ
101         ;movepile #02 DEO2
102-        .Mani LDZk #01 SUB SWP STZ
103+        decmani
104         sound ff 48 4a 00
105         !/un
106       ]@
107@@ -264,6 +244,8 @@
108 
109 @dispspare [& ]@ DUP2 cursorxy LDZk showcard INC JMP2r
110 
111+@decmani .Mani LDZk #01 SUB SWP STZ JMP2r
112+
113 @cursorat ( addr -- )
114   LDZ2
115 @cursorxy ( x y -- )