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