commit cd5c3f3
neauoire
·
2022-04-01 03:30:12 +0000 UTC
parent 0c29c24
Added labels in UI
1 files changed,
+76,
-2
+76,
-2
1@@ -5,13 +5,14 @@
2 |20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
3 |80 @Controller &vector $2 &button $1 &key $1
4 |90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1
5-|a0 @File &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2
6+|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
7
8 |0000
9
10 @input $80
11 @token $40
12 @p &ptr $2 &len $2
13+ @l &ptr $2
14
15 |0100 ( -> )
16
17@@ -22,9 +23,20 @@
18 #15 .Screen/auto DEO
19 ( vectors )
20 ;on-button .Controller/vector DEO2
21+
22+ ( load prefabs )
23+ ;prefabs/play-note-txt ;add-label JSR2
24+ ;prefabs/draw-line-txt ;add-label JSR2
25+ ;prefabs/list-files-txt ;add-label JSR2
26+ ;prefabs/load-file-txt ;add-label JSR2
27+
28 ( draw )
29 #01 ;draw-input JSR2
30 #01 ;draw-stack JSR2
31+ #01 ;draw-program JSR2
32+ #01 ;draw-labels JSR2
33+
34+ #010e DEO
35
36 BRK
37
38@@ -130,6 +142,21 @@ JMP2r
39
40 JMP2r
41
42+@add-label ( label* -- )
43+
44+ #aaaa .l/ptr LDZ2 ;labels ADD2 STA2
45+
46+ .l/ptr LDZ2k INC2 INC2 ROT STZ2
47+
48+ DUP2
49+ .l/ptr LDZ2 ;labels ADD2 ;scpy JSR2
50+ ;slen JSR2 INC2 STH2
51+
52+ .l/ptr LDZ2k STH2r ADD2 ROT STZ2
53+ #0a18 DEO
54+
55+JMP2r
56+
57 @do-lithex ( t* -- )
58
59 DUP2 ;slen JSR2 #0004 EQU2 ,&on-short JCN
60@@ -162,6 +189,25 @@ JMP2r
61
62 ( drawing )
63
64+@draw-labels ( color -- )
65+
66+ POP
67+ #0020 .Screen/x DEO2
68+ #00d0 .Screen/y DEO2
69+ ;symbols-txt #02 ;draw-str JSR2
70+ .Screen/y DEI2k #0010 ADD2 ROT DEO2
71+
72+ ;labels
73+ &while
74+ LDA2k #03 ;draw-short JSR2
75+ .Screen/x DEI2k #0008 ADD2 ROT DEO2
76+ DUP2 INC2 INC2 #01 ;draw-str JSR2
77+ .Screen/x DEI2k #0008 ADD2 ROT DEO2
78+ ;scap JSR2 INC2 LDA2k #0000 NEQ2 ,&while JCN
79+ POP2
80+
81+JMP2r
82+
83 @draw-input ( color -- )
84
85 STH
86@@ -275,6 +321,21 @@ JMP2r
87
88 JMP2r
89
90+@scat ( src* dst* -- )
91+
92+ DUP2 ,slen JSR ADD2
93+
94+@scpy ( src* dst* -- )
95+
96+ STH2
97+ &while
98+ LDAk STH2kr STA INC2r
99+ INC2 LDAk ,&while JCN
100+ POP2
101+ #00 STH2r STA
102+
103+JMP2r
104+
105 @chex ( char -- value )
106
107 DUP #2f GTH OVR #3a LTH AND ,&number JCN
108@@ -337,6 +398,7 @@ JMP2r
109 @prompt-txt "Do 20 $1
110 @stack-txt "Stack 20 $1
111 @program-txt "Program 20 $1
112+@symbols-txt "Symbols 20 $1
113
114 @opcodes
115 "LIT "INC "POP "DUP "NIP "SWP "OVR "ROT
116@@ -348,6 +410,14 @@ JMP2r
117 @err
118 &lithx "LITHX $1 &label "LABEL $1 &token "TOKEN $1 &reslv "RESLV $1
119
120+( prefabs )
121+
122+@prefabs
123+ &play-note-txt "play-note $1
124+ &draw-line-txt "draw-line $1
125+ &list-files-txt "list-files $1
126+ &load-file-txt "load-file $1
127+
128 @flowers-icn ( by elioat )
129 0000 0020 1408 0810 40a0 4205 0200 40a0
130 0810 103c 7e7e 3c18 4205 0234 7e7e 3c18
131@@ -460,4 +530,8 @@ JMP2r
132 0000 0060 1010 1010 0810 1010 1060 0000
133 0000 0060 920c 0000 0000 0000 0000 0000
134
135-@dst
136+@dst $1000
137+
138+( addr* label[length] )
139+
140+@labels