... | ... |
@@ -1,8 +1,9 @@ |
1 | 1 |
( dev/screen ) |
2 | 2 |
|
3 | 3 |
&Screen { width 2 height 2 pad 4 x 2 y 2 color 1 } |
4 |
+&Sprite { pad 8 x 2 y 2 addr 2 color 1 } |
|
4 | 5 |
|
5 |
-;centerx 2 ;centery 2 ;i 2 |
|
6 |
+;centerx 2 ;centery 2 ;i 2 ;j 1 |
|
6 | 7 |
|
7 | 8 |
|0100 @RESET |
8 | 9 |
|
... | ... |
@@ -26,15 +27,31 @@ |
26 | 27 |
~i #0002 ADD2 =i ( increment ) |
27 | 28 |
~i ~dev/screen.width LTH2 ,draw-ver ROT JMP? POP2 |
28 | 29 |
|
30 |
+ ( draw blending modes ) |
|
31 |
+ @draw-blends |
|
32 |
+ ~j ,icon #00 ~j #0008 MUL2 ~dev/screen.height #0010 SUB2 ,draw-sprite JSR |
|
33 |
+ ~j #01 ADD =j |
|
34 |
+ ~j #10 LTH ,draw-blends ROT JMP? POP2 |
|
35 |
+ |
|
29 | 36 |
( draw pixel in the middle ) |
30 | 37 |
#01 ~centerx ~centery =dev/screen.y =dev/screen.x =dev/screen.color |
31 | 38 |
|
32 | 39 |
BRK |
33 | 40 |
|
41 |
+@draw-sprite |
|
42 |
+ =dev/sprite.y |
|
43 |
+ =dev/sprite.x |
|
44 |
+ =dev/sprite.addr |
|
45 |
+ =dev/sprite.color |
|
46 |
+ RTS |
|
47 |
+ |
|
48 |
+@icon [ 3c7e e7c3 c3e7 7e3c ] |
|
49 |
+ |
|
34 | 50 |
|c000 @FRAME BRK |
35 | 51 |
|d000 @ERROR BRK |
36 | 52 |
|
37 | 53 |
|FF10 ;dev/screen Screen |
54 |
+|FF20 ;dev/sprite Sprite |
|
38 | 55 |
|
39 | 56 |
|FFF0 [ f0ac f0bb f053 ] ( palette ) |
40 | 57 |
|FFFA .RESET .FRAME .ERROR ( vectors ) |
41 | 58 |
deleted file mode 100644 |
... | ... |
@@ -1,40 +0,0 @@ |
1 |
-( desktop ) |
|
2 |
- |
|
3 |
-:dev/w fff9 ( const write port ) |
|
4 |
- |
|
5 |
-|0100 @RESET |
|
6 |
- |
|
7 |
- #02 =dev/w |
|
8 |
- #00 ,icon #0040 #0040 ,draw-sprite JSR |
|
9 |
- #01 ,icon #0048 #0040 ,draw-sprite JSR |
|
10 |
- #02 ,icon #0050 #0040 ,draw-sprite JSR |
|
11 |
- #03 ,icon #0058 #0040 ,draw-sprite JSR |
|
12 |
- #04 ,icon #0040 #0048 ,draw-sprite JSR |
|
13 |
- #05 ,icon #0048 #0048 ,draw-sprite JSR |
|
14 |
- #06 ,icon #0050 #0048 ,draw-sprite JSR |
|
15 |
- #07 ,icon #0058 #0048 ,draw-sprite JSR |
|
16 |
- #08 ,icon #0040 #0050 ,draw-sprite JSR |
|
17 |
- #09 ,icon #0048 #0050 ,draw-sprite JSR |
|
18 |
- #0a ,icon #0050 #0050 ,draw-sprite JSR |
|
19 |
- #0b ,icon #0058 #0050 ,draw-sprite JSR |
|
20 |
- #0c ,icon #0040 #0058 ,draw-sprite JSR |
|
21 |
- #0d ,icon #0048 #0058 ,draw-sprite JSR |
|
22 |
- #0e ,icon #0050 #0058 ,draw-sprite JSR |
|
23 |
- #0f ,icon #0058 #0058 ,draw-sprite JSR |
|
24 |
- |
|
25 |
-BRK |
|
26 |
- |
|
27 |
-@icon [ 3c7e e7c3 c3e7 7e3c ] |
|
28 |
- |
|
29 |
-@draw-sprite |
|
30 |
- IOW2 ( y byte ) |
|
31 |
- IOW2 ( x byte ) |
|
32 |
- IOW2 ( sprite address ) |
|
33 |
- IOW ( layer-color ) |
|
34 |
- RTS |
|
35 |
- |
|
36 |
-|c000 @FRAME |
|
37 |
-|d000 @ERROR |
|
38 |
- |
|
39 |
-|FFF0 [ f3f0 f30b f30a ] ( palette ) |
|
40 |
-|FFFA .RESET .FRAME .ERROR |
|
41 | 0 |
\ No newline at end of file |
... | ... |
@@ -114,6 +114,8 @@ Uint8 opr[][2] = { |
114 | 114 |
|
115 | 115 |
/* clang-format on */ |
116 | 116 |
|
117 |
+#pragma mark - Core |
|
118 |
+ |
|
117 | 119 |
int |
118 | 120 |
haltuxn(Uxn *u, char *name, int id) |
119 | 121 |
{ |
... | ... |
@@ -191,8 +193,6 @@ loaduxn(Uxn *u, char *filepath) |
191 | 193 |
if(!(f = fopen(filepath, "rb"))) |
192 | 194 |
return haltuxn(u, "Missing input rom.", 0); |
193 | 195 |
fread(u->ram.dat, sizeof(u->ram.dat), 1, f); |
194 |
- u->devr = 0xfff8; |
|
195 |
- u->devw = 0xfff9; |
|
196 | 196 |
u->vreset = mempeek16(u, 0xfffa); |
197 | 197 |
u->vframe = mempeek16(u, 0xfffc); |
198 | 198 |
u->verror = mempeek16(u, 0xfffe); |