Browse code

(controller.tal) Print debugger on start button

neauoire authored on 11/02/2022 03:29:50
Showing 2 changed files
... ...
@@ -16,8 +16,11 @@
16 16
 %8MOD  { #07 AND } %8MOD2  { #0007 AND2 }
17 17
 %10MOD { #0f AND } %10MOD2 { #000f AND2 }
18 18
 
19
-%DEBUG      { ;print-hex/byte JSR2 #0a18 DEO }
20
-%DEBUG2     { ;print-hex JSR2 #0a18 DEO }
19
+%HALT   { #010f DEO }
20
+%EMIT   { #18 DEO }
21
+%DEBUG  { ;print/byte JSR2 #0a EMIT }
22
+%DEBUG2 { ;print/short JSR2 #0a EMIT }
23
+
21 24
 %RTN        { JMP2r }
22 25
 
23 26
 ( devices )
... ...
@@ -49,15 +52,11 @@
49 52
 
50 53
 BRK
51 54
 
52
-@print-hex ( value* -- )
53
-	
54
-	SWP ,&byte JSR 
55
-	&byte ( byte -- )
56
-		STHk #04 SFT ,&parse JSR #18 DEO
57
-		STHr #0f AND ,&parse JSR #18 DEO
58
-	RTN
59
-	&parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 + RTN 
60
-	&above #57 + RTN
55
+@print ( short* -- )
56
+
57
+	&short ( short* -- ) SWP ,&byte JSR
58
+	&byte ( byte -- ) DUP #04 SFT ,&char JSR
59
+	&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD EMIT
61 60
 
62 61
 RTN
63 62
 
... ...
@@ -8,11 +8,13 @@
8 8
 %RTN { JMP2r }
9 9
 %TOS { #00 SWP }
10 10
 %LTS2  { #8000 ++ SWP2 #8000 ++ >> } 
11
+%AUTO-NONE   { #00 .Screen/auto DEO }
12
+%AUTO-X      { #01 .Screen/auto DEO }
11 13
 
12 14
 ( devices )
13 15
 
14 16
 |00 @System     [ &vector $2 &pad    $6 &r      $2 &g     $2 &b      $2 ]
15
-|20 @Screen     [ &vector $2 &width  $2 &height $2 &pad   $2 &x      $2 &y $2 &addr $2 &pixel $1 &sprite $1 ]
17
+|20 @Screen     &vector $2 &width    $2 &height $2 &auto   $1 &pad    $1 &x       $2 &y       $2 &addr   $2 &pixel $1 &sprite $1
16 18
 |80 @Controller [ &vector $2 &button $1 &key    $1 ]
17 19
 
18 20
 ( variables )
... ...
@@ -55,13 +57,16 @@
55 57
 	( vectors ) 
56 58
 	;on-button .Controller/vector DEO2
57 59
 
58
-	;draw-controller JSR2
60
+	,draw-controller JSR
59 61
 
60 62
 BRK
61 63
 
62 64
 @on-button ( -> )
63 65
 
64
-	;draw-controller JSR2
66
+	,draw-controller JSR
67
+
68
+	( print stack on start button )
69
+	.Controller/button DEI #08 = JMP BRK #010e DEO
65 70
 
66 71
 BRK
67 72
 
... ...
@@ -120,7 +125,9 @@ BRK
120 125
 
121 126
 	.center/x LDZ2 #0010 -- .Screen/x DEO2
122 127
 	.center/y LDZ2 #0010 -- .Screen/y DEO2
128
+	AUTO-X
123 129
 	.Controller/button DEI2 #03 ;draw-short JSR2
130
+	AUTO-NONE
124 131
 
125 132
 RTN
126 133
 
... ...
@@ -128,18 +135,16 @@ RTN
128 135
 
129 136
 @draw-short ( short* color -- )
130 137
 
131
-	STH SWP 
132
-	DUP #04 SFT TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2
133
-	( draw ) STHkr .Screen/sprite DEO
134
-	#0f AND TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2
135
-	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
136
-	( draw ) STHkr .Screen/sprite DEO
137
-	DUP #04 SFT TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2
138
-	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
139
-	( draw ) STHkr .Screen/sprite DEO
140
-	#0f AND TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2
141
-	.Screen/x DEI2 #0008 ++ .Screen/x DEO2
142
-	( draw ) STHr .Screen/sprite DEO
138
+	STH  SWP STHkr ,draw-byte JSR STHr 
139
+
140
+@draw-byte ( byte color -- )
141
+
142
+	STH DUP #04 SFT STHkr ,draw-hex JSR STHr 
143
+
144
+@draw-hex ( char color -- )
145
+
146
+	#00 ROT #0f AND #30 SFT2 ;font-hex ++ .Screen/addr DEO2
147
+	.Screen/sprite DEO
143 148
 
144 149
 RTN
145 150