Browse code

Renamed SHR for SFT

neauoire authored on 20/03/2021 03:41:45
Showing 7 changed files
... ...
@@ -46,7 +46,7 @@ Program p;
46 46
 
47 47
 char ops[][4] = {
48 48
 	"BRK", "NOP", "LIT", "LDR", "STR", "---", "JMP", "JSR", 
49
-	"EQU", "NEQ", "GTH", "LTH", "AND", "ORA", "SHL", "SHR",
49
+	"EQU", "NEQ", "GTH", "LTH", "AND", "ORA", "SHL", "SFT",
50 50
 	"POP", "DUP", "SWP", "OVR", "ROT", "---", "CLN", "STH",
51 51
 	"ADD", "SUB", "MUL", "DIV", "---", "---", "---", "XOR"
52 52
 };
... ...
@@ -20,5 +20,5 @@ cc -std=c89 -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wextra -Werr
20 20
 # cc uxn.c emulator.c -std=c89 -Os -DNDEBUG -g0 -s -Wall -Wno-unknown-pragmas -L/usr/local/lib -lSDL2 -o bin/emulator
21 21
 
22 22
 # run
23
-./bin/assembler projects/software/left.usm bin/boot.rom
23
+./bin/assembler projects/software/noodle.usm bin/boot.rom
24 24
 ./bin/emulator bin/boot.rom
... ...
@@ -34,13 +34,13 @@ BRK
34 34
 
35 35
 	( detect movement )
36 36
 	~Controller.buttons #f0 AND
37
-		DUP #04 SHR #01 AND #01 NEQ ,$no-up ROT JMP2? 
37
+		DUP #04 SFT #01 AND #01 NEQ ,$no-up ROT JMP2? 
38 38
 			( move ) ~Sprite.y -- =Sprite.y ,up_icn =Sprite.addr $no-up
39
-		DUP #05 SHR #01 AND #01 NEQ ,$no-down ROT JMP2? 
39
+		DUP #05 SFT #01 AND #01 NEQ ,$no-down ROT JMP2? 
40 40
 			( move ) ~Sprite.y ++ =Sprite.y ,down_icn =Sprite.addr $no-down
41
-		DUP #06 SHR #01 AND #01 NEQ ,$no-left ROT JMP2? 
41
+		DUP #06 SFT #01 AND #01 NEQ ,$no-left ROT JMP2? 
42 42
 			( move ) ~Sprite.x -- =Sprite.x ,left_icn =Sprite.addr $no-left
43
-		DUP #07 SHR #01 AND #01 NEQ ,$no-right ROT JMP2? 
43
+		DUP #07 SFT #01 AND #01 NEQ ,$no-right ROT JMP2? 
44 44
 			( move ) ~Sprite.x ++ =Sprite.x ,right_icn =Sprite.addr $no-right
45 45
 	POP
46 46
 
... ...
@@ -81,7 +81,7 @@ RTN
81 81
 		$hor
82 82
 			( get bit )
83 83
 			,cell0_icn #00
84
-			~editor.addr #00 ~pixel.y ADD2 LDR #07 ~pixel.x SUB SHR #01 AND ( get bit )
84
+			~editor.addr #00 ~pixel.y ADD2 LDR #07 ~pixel.x SUB SFT #01 AND ( get bit )
85 85
 			#0008 MUL2 ADD2 =Sprite.addr ( add *8 )
86 86
 			( draw ) #08 =Sprite.color
87 87
 			( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
... ...
@@ -19,7 +19,7 @@
19 19
 %RTN? { JMP2r? }
20 20
 
21 21
 %++ { #0001 ADD2 } %-- { #0001 SUB2 }
22
-%8/ { #0003 SHR2 } %8* { #0003 SHL2 }
22
+%8/ { #0003 SFT2 } %8* { #0003 SHL2 }
23 23
 %8- { #0008 SUB2 } %8+ { #0008 ADD2 }
24 24
 
25 25
 ;lock { byte 1 }
... ...
@@ -78,37 +78,37 @@ BRK
78 78
 		@no-ctrl-right
79 79
 		( alt )
80 80
 		,no-alt ~Controller #0f AND #02 NEQ JMP2?
81
-			,no-aup ~Controller #04 SHR #01 NEQ JMP2?
81
+			,no-aup ~Controller #04 SFT #01 NEQ JMP2?
82 82
 				,find-wordstart JSR2 =selection.to
83 83
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
84 84
 			@no-aup
85
-			,no-adown ~Controller #04 SHR #02 NEQ JMP2?
85
+			,no-adown ~Controller #04 SFT #02 NEQ JMP2?
86 86
 				,find-wordend JSR2 =selection.to
87 87
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
88 88
 			@no-adown
89
-			,no-aleft ~Controller #04 SHR #04 NEQ JMP2?
89
+			,no-aleft ~Controller #04 SFT #04 NEQ JMP2?
90 90
 				~selection.to -- =selection.to
91 91
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
92 92
 			@no-aleft
93
-			,no-aright ~Controller #04 SHR #08 NEQ JMP2?
93
+			,no-aright ~Controller #04 SFT #08 NEQ JMP2?
94 94
 				~selection.to ++ =selection.to
95 95
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
96 96
 			@no-aright
97 97
 		@no-alt
98 98
 		( ctrl )
99 99
 		,no-ctrl ~Controller #0f AND #01 NEQ JMP2?
100
-			,no-cup ~Controller #04 SHR #01 NEQ JMP2?
100
+			,no-cup ~Controller #04 SFT #01 NEQ JMP2?
101 101
 				#0004 ,scroll-up JSR2
102 102
 				,redraw JSR2 ,ctrl-end JMP2
103 103
 			@no-cup
104
-			,no-cdown ~Controller #04 SHR #02 NEQ JMP2?
104
+			,no-cdown ~Controller #04 SFT #02 NEQ JMP2?
105 105
 				#0004 ,scroll-down JSR2
106 106
 				,redraw JSR2 ,ctrl-end JMP2
107 107
 			@no-cdown
108
-			,no-cleft ~Controller #04 SHR #04 NEQ JMP2?
108
+			,no-cleft ~Controller #04 SFT #04 NEQ JMP2?
109 109
 				,goto-linestart JSR2 ,redraw JSR2 ,ctrl-end JMP2
110 110
 			@no-cleft
111
-			,no-cright ~Controller #04 SHR #08 NEQ JMP2?
111
+			,no-cright ~Controller #04 SFT #08 NEQ JMP2?
112 112
 				,goto-lineend JSR2 ,redraw JSR2 ,ctrl-end JMP2
113 113
 			@no-cright
114 114
 		@no-ctrl
... ...
@@ -468,13 +468,13 @@ RTN
468 468
 @draw-short ( short )
469 469
 
470 470
 	=addr
471
-	,font_hex #00 ,addr LDR #f0 AND #04 SHR #08 MUL ADD2 =Sprite.addr
471
+	,font_hex #00 ,addr LDR #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr
472 472
 	( draw ) #0e =Sprite.color
473 473
 	~Sprite.x 8+ =Sprite.x
474 474
 	,font_hex #00 ,addr LDR #0f AND #08 MUL ADD2 =Sprite.addr
475 475
 	( draw ) #0e =Sprite.color
476 476
 	~Sprite.x 8+ =Sprite.x
477
-	,font_hex #00 ,addr ++ LDR #f0 AND #04 SHR #08 MUL ADD2 =Sprite.addr
477
+	,font_hex #00 ,addr ++ LDR #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr
478 478
 	( draw ) #0e =Sprite.color
479 479
 	~Sprite.x 8+ =Sprite.x
480 480
 	,font_hex #00 ,addr ++ LDR #0f AND #08 MUL ADD2 =Sprite.addr
... ...
@@ -556,7 +556,7 @@ RTN
556 556
 			#0000 =Sprite.x
557 557
 			~scroll.y ~Sprite.y 8/ ADD2 DUP2 SWP POP =k 
558 558
 			~position.y EQU2 #0c MUL =l
559
-			,font_hex #00 ~k #f0 AND #04 SHR #08 MUL ADD2 =Sprite.addr
559
+			,font_hex #00 ~k #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr
560 560
 			#02 ~l ADD =Sprite.color
561 561
 			#0008 =Sprite.x
562 562
 			,font_hex #00 ~k #0f AND #08 MUL ADD2 =Sprite.addr
... ...
@@ -8,11 +8,11 @@
8 8
 
9 9
 %RTN   { JMP2r }
10 10
 %RTN?  { JMP2r? }
11
-%STEP8 { #0003 SHR2 #0003 SHL2 }
11
+%STEP8 { #0003 SFT2 #0003 SHL2 }
12 12
 
13 13
 %++ { #0001 ADD2 }
14
-%2/ { #0001 SHR2 } %2* { #0001 SHL2 }
15
-%8/ { #0003 SHR2 } %8* { #0003 SHL2 }
14
+%2/ { #0001 SFT2 } %2* { #0001 SHL2 }
15
+%8/ { #0003 SFT2 } %8* { #0003 SHL2 }
16 16
 %8- { #0008 SUB2 } %8+ { #0008 ADD2 }
17 17
 
18 18
 ;bankview { x 2 y 2 mode 1 addr 2 }
... ...
@@ -359,7 +359,7 @@ RTN
359 359
 	#00 =i
360 360
 	$bytes
361 361
 		~tileview.x #0088 ADD2 =SPRT.x
362
-		,font_hex #00 ~tileview.addr #00 ~i ADD2 LDR #f0 AND #04 SHR #08 MUL ADD2 =SPRT.addr
362
+		,font_hex #00 ~tileview.addr #00 ~i ADD2 LDR #f0 AND #04 SFT #08 MUL ADD2 =SPRT.addr
363 363
 		( draw ) #02 =SPRT.color
364 364
 		~SPRT.x 8+ =SPRT.x
365 365
 		,font_hex #00 ~tileview.addr #00 ~i ADD2 LDR #0f AND #08 MUL ADD2 =SPRT.addr
... ...
@@ -404,7 +404,7 @@ RTN
404 404
 		$hor
405 405
 			( get bit )
406 406
 			,blank_icn #00
407
-			~tileview.addr #00 ~pt.y ADD2 LDR #07 ~pt.x SUB SHR #01 AND ( get bit )
407
+			~tileview.addr #00 ~pt.y ADD2 LDR #07 ~pt.x SUB SFT #01 AND ( get bit )
408 408
 			8* ADD2 =SPRT.addr ( add *8 )
409 409
 			( draw ) #01 =SPRT.color
410 410
 			( incr ) ~SPRT.x 8+ =SPRT.x
... ...
@@ -445,13 +445,13 @@ RTN
445 445
 @draw-short ( short )
446 446
 
447 447
 	=addr
448
-	,font_hex #00 ,addr LDR #f0 AND #04 SHR #08 MUL ADD2 =SPRT.addr
448
+	,font_hex #00 ,addr LDR #f0 AND #04 SFT #08 MUL ADD2 =SPRT.addr
449 449
 	( draw ) #02 =SPRT.color
450 450
 	~SPRT.x 8+ =SPRT.x
451 451
 	,font_hex #00 ,addr LDR #0f AND #08 MUL ADD2 =SPRT.addr
452 452
 	( draw ) #02 =SPRT.color
453 453
 	~SPRT.x 8+ =SPRT.x
454
-	,font_hex #00 ,addr ++ LDR #f0 AND #04 SHR #08 MUL ADD2 =SPRT.addr
454
+	,font_hex #00 ,addr ++ LDR #f0 AND #04 SFT #08 MUL ADD2 =SPRT.addr
455 455
 	( draw ) #02 =SPRT.color
456 456
 	~SPRT.x 8+ =SPRT.x
457 457
 	,font_hex #00 ,addr ++ LDR #0f AND #08 MUL ADD2 =SPRT.addr
... ...
@@ -21,8 +21,8 @@
21 21
 %RTN   { JMP2r }
22 22
 %RTN?  { JMP2r? }
23 23
 %++ { #0001 ADD2 } %-- { #0001 SUB2 }
24
-%2/ { #0001 SHR2 }
25
-%8/ { #0003 SHR2 } %8* { #0003 SHL2 }
24
+%2/ { #0001 SFT2 }
25
+%8/ { #0003 SFT2 } %8* { #0003 SHL2 }
26 26
 %8+ { #0008 ADD2 }
27 27
 %MOD8 { #0007 AND2  }
28 28
 
... ...
@@ -149,13 +149,13 @@ BRK
149 149
 	$no-touch
150 150
 
151 151
 	~Controller.buttons #f0 AND
152
-		DUP #04 SHR #01 AND #01 NEQ ,$no-up ROT JMP2?
152
+		DUP #04 SFT #01 AND #01 NEQ ,$no-up ROT JMP2?
153 153
 			( move ) ~zoom.y -- =zoom.y $no-up
154
-		DUP #05 SHR #01 AND #01 NEQ ,$no-down ROT JMP2?
154
+		DUP #05 SFT #01 AND #01 NEQ ,$no-down ROT JMP2?
155 155
 			( move ) ~zoom.y ++ =zoom.y $no-down
156
-		DUP #06 SHR #01 AND #01 NEQ ,$no-left ROT JMP2?
156
+		DUP #06 SFT #01 AND #01 NEQ ,$no-left ROT JMP2?
157 157
 			( move ) ~zoom.x -- =zoom.x $no-left
158
-		DUP #07 SHR #01 AND #01 NEQ ,$no-right ROT JMP2?
158
+		DUP #07 SFT #01 AND #01 NEQ ,$no-right ROT JMP2?
159 159
 			( move ) ~zoom.x ++ =zoom.x $no-right
160 160
 	#00 NEQ ,draw-canvas ROT JSR2?
161 161
 	
... ...
@@ -231,7 +231,7 @@ RTN
231 231
 		#00 =px.x
232 232
 		$hor
233 233
 			( addr ) ,size_icn #00 ~cursor.size 8* ADD2
234
-			( byte ) #00 ~px.y ADD2 LDR #07 ~px.x SUB SHR #01 AND 
234
+			( byte ) #00 ~px.y ADD2 LDR #07 ~px.x SUB SFT #01 AND 
235 235
 			#00 EQU ,$no-pixel ROT JMP2?
236 236
 				,$no-pixel ,patternize JSR2 #00 EQU JMP2?
237 237
 				~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ,add-pixel JSR2
... ...
@@ -267,7 +267,7 @@ RTN
267 267
 		#00 =px.x
268 268
 		$hor
269 269
 			( addr ) ,size_icn #00 ~cursor.size 8* ADD2
270
-			( byte ) #00 ~px.y ADD2 LDR #07 ~px.x SUB SHR #01 AND 
270
+			( byte ) #00 ~px.y ADD2 LDR #07 ~px.x SUB SFT #01 AND 
271 271
 			#00 EQU ,$no-pixel ROT JMP2?
272 272
 				,$no-pixel ,patternize JSR2 #00 EQU JMP2?
273 273
 				~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ,remove-pixel JSR2
... ...
@@ -336,7 +336,7 @@ RTN
336 336
 	SWP POP #07 AND =px.x
337 337
 	( get tile ) ~pt1.x 8/ ~pt1.y 8/ ~canvas.w MUL2 ADD2 8*
338 338
 	( add addr ) ,data ADD2
339
-	#00 ~px.y ADD2 LDR #07 ~px.x SUB SHR #01 AND
339
+	#00 ~px.y ADD2 LDR #07 ~px.x SUB SFT #01 AND
340 340
 
341 341
 RTN
342 342
 
... ...
@@ -517,14 +517,14 @@ RTN
517 517
 
518 518
 	( draw width )
519 519
 	~Screen.width #0048 SUB2 =Sprite.x
520
-	,font_hex ~canvas.w #f0 AND #04 SHR #08 MUL ADD2 =Sprite.addr
520
+	,font_hex ~canvas.w #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr
521 521
 	( draw ) #02 =Sprite.color
522 522
 	~Sprite.x 8+ =Sprite.x
523 523
 	,font_hex ~canvas.w #0f AND #08 MUL ADD2 =Sprite.addr
524 524
 	( draw ) #02 =Sprite.color
525 525
 	~Sprite.x 8+ =Sprite.x
526 526
 	( draw height )
527
-	,font_hex ~canvas.h #f0 AND #04 SHR #08 MUL ADD2 =Sprite.addr
527
+	,font_hex ~canvas.h #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr
528 528
 	( draw ) #02 =Sprite.color
529 529
 	~Sprite.x 8+ =Sprite.x
530 530
 	,font_hex ~canvas.h #0f AND #08 MUL ADD2 =Sprite.addr