... | ... |
@@ -23,14 +23,18 @@ |
23 | 23 |
|
24 | 24 |
|0100 @RESET |
25 | 25 |
|
26 |
- ,pattern =editor.addr |
|
27 |
- #0030 =window.x1 #0030 =window.y1 #00b0 =window.x2 #0090 =window.y2 |
|
26 |
+ #0030 =window.x1 #0030 =window.y1 #00a8 =window.x2 #0090 =window.y2 |
|
28 | 27 |
|
29 |
- #0040 =editor.x1 #0040 =editor.y |
|
28 |
+ #0040 =editor.y ( TODO: Remove ) |
|
30 | 29 |
|
31 |
- ,draw-window JSR |
|
30 |
+ ~window.x1 #0010 ADD2 =editor.x1 |
|
31 |
+ ~window.y1 #0010 ADD2 =editor.y1 |
|
32 |
+ |
|
33 |
+ ( starting addr ) |
|
34 |
+ ,pattern =editor.addr |
|
32 | 35 |
|
33 |
- #0040 #0040 #01 ,draw-editor JSR |
|
36 |
+ ,draw-window JSR |
|
37 |
+ ,draw-editor JSR |
|
34 | 38 |
|
35 | 39 |
BRK |
36 | 40 |
|
... | ... |
@@ -41,13 +45,13 @@ BRK |
41 | 45 |
,no-ctrl-up ~dev/ctrl.buttons #10 EQU JMP? POP2 |
42 | 46 |
~editor.addr #0001 ADD2 =editor.addr |
43 | 47 |
,draw-window JSR |
44 |
- ,redraw JSR |
|
48 |
+ ,draw-editor JSR |
|
45 | 49 |
@no-ctrl-up |
46 | 50 |
|
47 | 51 |
,no-ctrl-down ~dev/ctrl.buttons #20 EQU JMP? POP2 |
48 | 52 |
~editor.addr #0001 SUB2 =editor.addr |
49 | 53 |
,draw-window JSR |
50 |
- ,redraw JSR |
|
54 |
+ ,draw-editor JSR |
|
51 | 55 |
@no-ctrl-down |
52 | 56 |
|
53 | 57 |
@no-ctrl |
... | ... |
@@ -60,7 +64,7 @@ BRK |
60 | 64 |
( save ) ~editor.addr ~dev/mouse.y ~editor.y1 SUB2 #0008 DIV2 ADD2 STR |
61 | 65 |
|
62 | 66 |
,draw-window JSR |
63 |
- ,redraw JSR |
|
67 |
+ ,draw-editor JSR |
|
64 | 68 |
|
65 | 69 |
@no-click |
66 | 70 |
|
... | ... |
@@ -70,30 +74,19 @@ BRK |
70 | 74 |
|
71 | 75 |
@draw-window |
72 | 76 |
|
73 |
- #0000 #0000 ~dev/screen.width ~dev/screen.height #03 ~editor.addr ,tile-rect JSR |
|
74 |
- |
|
75 |
- ~window.x1 #0001 SUB2 ~window.y1 #0001 SUB2 ~window.x2 ~window.y2 #01 ,line-rect JSR |
|
76 |
- ~window.x1 ~window.y1 ~window.x2 ~window.y2 #02 ,fill-rect JSR |
|
77 |
- ~window.x1 ~window.y1 #04 ,window_name ,draw-label-left JSR |
|
77 |
+ ( desktop ) #0000 #0000 ~dev/screen.width ~dev/screen.height #03 ~editor.addr ,tile-rect JSR |
|
78 |
+ ( outline ) ~window.x1 #0001 SUB2 ~window.y1 #0001 SUB2 ~window.x2 ~window.y2 #01 ,line-rect JSR |
|
79 |
+ ( background ) ~window.x1 ~window.y1 ~window.x2 ~window.y2 #02 ,fill-rect JSR |
|
80 |
+ ( label ) ~window.x1 ~window.y1 #04 ,window_name ,draw-label-left JSR |
|
78 | 81 |
|
79 | 82 |
RTS |
80 | 83 |
|
81 | 84 |
@draw-editor |
82 | 85 |
|
83 |
- =color DUP2 =dev/sprite.y =editor.y1 DUP2 =dev/sprite.x =editor.x1 |
|
84 |
- |
|
85 |
- ,redraw JSR |
|
86 |
- |
|
87 |
-RTS |
|
88 |
- |
|
89 |
-@redraw |
|
90 |
- |
|
91 | 86 |
~editor.x1 =dev/sprite.x |
92 | 87 |
~editor.y1 =dev/sprite.y |
93 | 88 |
~editor.addr =dev/sprite.addr |
94 | 89 |
|
95 |
- #02 =color |
|
96 |
- |
|
97 | 90 |
#00 =pixel.y |
98 | 91 |
@redraw-ver |
99 | 92 |
#00 =pixel.x |
... | ... |
@@ -118,6 +111,7 @@ RTS |
118 | 111 |
~window.x2 #0008 SUB2 =dev/sprite.x |
119 | 112 |
( draw ) #01 =dev/sprite.color |
120 | 113 |
|
114 |
+ ( TODO: Make a loop.. ) |
|
121 | 115 |
~window.x1 #0058 ADD2 ~window.y1 #0010 ADD2 #08 ~editor.addr ,draw-byte JSR |
122 | 116 |
~window.x1 #0058 ADD2 ~window.y1 #0018 ADD2 #08 ~editor.addr #0001 ADD2 ,draw-byte JSR |
123 | 117 |
~window.x1 #0058 ADD2 ~window.y1 #0020 ADD2 #08 ~editor.addr #0002 ADD2 ,draw-byte JSR |
... | ... |
@@ -285,4 +279,4 @@ RTS |
285 | 279 |
|FF50 ;dev/mouse Mouse |
286 | 280 |
|
287 | 281 |
|FFF0 .RESET .FRAME .ERROR ( vectors ) |
288 |
-|FFF8 [ 0ff4 0f04 0ff4 ] ( palette ) |
|
289 | 282 |
\ No newline at end of file |
283 |
+|FFF8 [ 0fcf 0fc4 0fc4 ] ( palette ) |
|
290 | 284 |
\ No newline at end of file |
... | ... |
@@ -42,7 +42,7 @@ void op_str(Uxn *u) { Uint16 a = pop16(&u->wst); Uint8 b = pop8(&u->wst); mempok |
42 | 42 |
/* Logic */ |
43 | 43 |
void op_and(Uxn *u) { Uint8 a = pop8(&u->wst), b = pop8(&u->wst); push8(&u->wst, b & a); } |
44 | 44 |
void op_xor(Uxn *u) { Uint8 a = pop8(&u->wst), b = pop8(&u->wst); push8(&u->wst, b | a); } |
45 |
-void op_rol(Uxn *u) { Uint8 a = pop8(&u->wst), b = pop8(&u->wst); push8(&u->wst, b << a); } |
|
45 |
+void op_rol(Uxn *u) { Uint8 a = pop8(&u->wst), b = pop8(&u->wst); push8(&u->wst, b << (a % 8)); } |
|
46 | 46 |
void op_ror(Uxn *u) { Uint8 a = pop8(&u->wst), b = pop8(&u->wst); push8(&u->wst, b >> a); } |
47 | 47 |
/* Stack */ |
48 | 48 |
void op_pop(Uxn *u) { pop8(&u->wst); } |
... | ... |
@@ -68,7 +68,7 @@ void op_ldr16(Uxn *u) { Uint16 a = pop16(&u->wst); push16(&u->wst, mempeek16(u, |
68 | 68 |
void op_str16(Uxn *u) { Uint16 a = pop16(&u->wst); Uint16 b = pop16(&u->wst); mempoke16(u, a, b); } |
69 | 69 |
void op_and16(Uxn *u) { Uint16 a = pop16(&u->wst), b = pop16(&u->wst); push16(&u->wst, b & a); } |
70 | 70 |
void op_xor16(Uxn *u) { Uint16 a = pop16(&u->wst), b = pop16(&u->wst); push16(&u->wst, b ^ a); } |
71 |
-void op_rol16(Uxn *u) { Uint16 a = pop16(&u->wst), b = pop16(&u->wst); push16(&u->wst, b << a); } |
|
71 |
+void op_rol16(Uxn *u) { Uint16 a = pop16(&u->wst), b = pop16(&u->wst); push16(&u->wst, b << (a % 16)); } |
|
72 | 72 |
void op_ror16(Uxn *u) { Uint16 a = pop16(&u->wst), b = pop16(&u->wst); push16(&u->wst, b >> a); } |
73 | 73 |
/* Stack(16-bits) */ |
74 | 74 |
void op_pop16(Uxn *u) { pop16(&u->wst); } |