| ... | ... |
@@ -28,7 +28,7 @@ |
| 28 | 28 |
|0130 ;Sprite { pad 8 x 2 y 2 addr 2 color 1 }
|
| 29 | 29 |
|0140 ;Controller { buttons 1 }
|
| 30 | 30 |
|0150 ;Keys { key 1 }
|
| 31 |
-|0160 ;Mouse { x 2 y 2 state 1 chord 1 change 1 }
|
|
| 31 |
+|0160 ;Mouse { vector 2 x 2 y 2 state 1 chord 1 }
|
|
| 32 | 32 |
|0170 ;File { pad 8 name 2 length 2 load 2 save 2 }
|
| 33 | 33 |
|0180 ;Audio { ch1adsr 2 ch2adsr 2 ch3adsr 2 ch4adsr 2 ch1vol 1 ch1pitch 1 ch2vol 1 ch2pitch 1 ch3vol 1 ch3pitch 1 ch4vol 1 ch4pitch 1 }
|
| 34 | 34 |
|
| ... | ... |
@@ -16,7 +16,7 @@ |
| 16 | 16 |
|0130 ;Sprite { vector 2 pad 6 x 2 y 2 addr 2 color 1 }
|
| 17 | 17 |
|0140 ;Controller { vector 2 p1 1 }
|
| 18 | 18 |
|0150 ;Keys { vector 2 key 1 }
|
| 19 |
-|0160 ;Mouse { x 2 y 2 state 1 chord 1 change 1 }
|
|
| 19 |
+|0160 ;Mouse { vector 2 x 2 y 2 state 1 chord 1 }
|
|
| 20 | 20 |
|0170 ;File { pad 8 name 2 length 2 load 2 save 2 }
|
| 21 | 21 |
|0180 ;Audio { ch1adsr 2 ch2adsr 2 ch3adsr 2 ch4adsr 2 ch1vol 1 ch1pitch 1 ch2vol 1 ch2pitch 1 ch3vol 1 ch3pitch 1 ch4vol 1 ch4pitch 1 }
|
| 22 | 22 |
|
| ... | ... |
@@ -10,25 +10,24 @@ |
| 10 | 10 |
;pointer { x 2 y 2 }
|
| 11 | 11 |
;circle { xc 2 yc 2 x 2 y 2 r 2 d 2 }
|
| 12 | 12 |
|
| 13 |
-|0100 ;Console { pad 8 char 1 byte 1 short 2 }
|
|
| 14 |
-|0110 ;Screen { width 2 height 2 pad 4 x 2 y 2 color 1 }
|
|
| 15 |
-|0120 ;Sprite { pad 8 x 2 y 2 addr 2 color 1 }
|
|
| 16 |
-|0150 ;Mouse { x 2 y 2 state 1 chord 1 }
|
|
| 17 |
-|0170 ;Audio { ch1adsr 2 ch2adsr 2 ch3adsr 2 ch4adsr 2 ch1vol 1 ch1pitch 1 ch2vol 1 ch2pitch 1 ch3vol 1 ch3pitch 1 ch4vol 1 ch4pitch 1 }
|
|
| 18 |
-|01F0 ;System { pad 8 r 2 g 2 b 2 }
|
|
| 13 |
+|0100 ;System { vector 2 pad 6 r 2 g 2 b 2 }
|
|
| 14 |
+|0110 ;Console { pad 8 char 1 byte 1 short 2 }
|
|
| 15 |
+|0120 ;Screen { vector 2 width 2 height 2 pad 2 x 2 y 2 color 1 }
|
|
| 16 |
+|0130 ;Sprite { vector 2 pad 6 x 2 y 2 addr 2 color 1 }
|
|
| 17 |
+|0140 ;Controller { vector 2 button 1 }
|
|
| 18 |
+|0150 ;Keys { vector 2 key 1 }
|
|
| 19 |
+|0160 ;Mouse { vector 2 x 2 y 2 state 1 chord 1 }
|
|
| 19 | 20 |
|
| 20 | 21 |
( program ) |
| 21 | 22 |
|
| 22 | 23 |
|0200 @RESET |
| 23 | 24 |
|
| 24 | 25 |
( theme ) #03fd =System.r #0ef3 =System.g #0bf2 =System.b |
| 25 |
- ( vectors ) ,FRAME =Screen.vector |
|
| 26 |
- |
|
| 27 |
- #004f =Audio.ch1adsr #33 =Audio.ch1vol |
|
| 26 |
+ ( vectors ) ,on-mouse =Mouse.vector |
|
| 28 | 27 |
|
| 29 | 28 |
BRK |
| 30 | 29 |
|
| 31 |
-@FRAME |
|
| 30 |
+@on-mouse |
|
| 32 | 31 |
|
| 33 | 32 |
( clear ) |
| 34 | 33 |
~circle.xc ~circle.yc ~circle.r #00 ,draw-circle JSR2 |
| ... | ... |
@@ -39,7 +38,6 @@ BRK |
| 39 | 38 |
~Mouse.x DUP2 =circle.xc |
| 40 | 39 |
~Mouse.y DUP2 =circle.yc |
| 41 | 40 |
#0000 =circle.r |
| 42 |
- ( play sound ) ~Screen.width #000c DIV2 ADD2 #0002 DIV2 SWP POP =Audio.ch1pitch |
|
| 43 | 41 |
( release ) #00 =Mouse.state |
| 44 | 42 |
$no-touch |
| 45 | 43 |
|
| ... | ... |
@@ -97,7 +95,5 @@ RTN |
| 97 | 95 |
|
| 98 | 96 |
RTN |
| 99 | 97 |
|
| 100 |
-@ERROR BRK |
|
| 101 |
- |
|
| 102 | 98 |
@clear_icn [ 0000 0000 0000 0000 ] |
| 103 | 99 |
@cursor_icn [ 80c0 e0f0 f8e0 1000 ] |
| 104 | 100 |
\ No newline at end of file |
| ... | ... |
@@ -14,7 +14,6 @@ |
| 14 | 14 |
;window { x1 2 y1 2 x2 2 y2 2 w 2 h 2 }
|
| 15 | 15 |
;label { x 2 y 2 addr 2 }
|
| 16 | 16 |
;slider { x1 2 y 2 x2 2 pos 2 }
|
| 17 |
-;addr { short 2 }
|
|
| 18 | 17 |
;selection { byte 1 }
|
| 19 | 18 |
;theme {
|
| 20 | 19 |
r1 1 r2 1 r3 1 r4 1 |
| ... | ... |
@@ -22,17 +21,20 @@ |
| 22 | 21 |
b1 1 b2 1 b3 1 b4 1 |
| 23 | 22 |
} |
| 24 | 23 |
|
| 25 |
-|0110 ;Screen { width 2 height 2 pad 4 x 2 y 2 color 1 }
|
|
| 26 |
-|0120 ;Sprite { pad 8 x 2 y 2 addr 2 color 1 }
|
|
| 27 |
-|0150 ;Mouse { x 2 y 2 state 1 chord 1 }
|
|
| 28 |
-|01F0 ;System { pad 8 r 2 g 2 b 2 }
|
|
| 24 |
+|0100 ;System { vector 2 pad 6 r 2 g 2 b 2 }
|
|
| 25 |
+|0110 ;Console { pad 8 char 1 byte 1 short 2 }
|
|
| 26 |
+|0120 ;Screen { vector 2 width 2 height 2 pad 2 x 2 y 2 color 1 }
|
|
| 27 |
+|0130 ;Sprite { vector 2 pad 6 x 2 y 2 addr 2 color 1 }
|
|
| 28 |
+|0140 ;Controller { vector 2 button 1 }
|
|
| 29 |
+|0150 ;Keys { vector 2 key 1 }
|
|
| 30 |
+|0160 ;Mouse { vector 2 x 2 y 2 state 1 chord 1 }
|
|
| 29 | 31 |
|
| 30 | 32 |
( program ) |
| 31 | 33 |
|
| 32 | 34 |
|0200 @RESET |
| 33 | 35 |
|
| 34 | 36 |
( theme ) #127f =System.r #34e7 =System.g #56c4 =System.b |
| 35 |
- ( vectors ) ,FRAME =Screen.vector |
|
| 37 |
+ ( vectors ) ,on-mouse =Mouse.vector |
|
| 36 | 38 |
|
| 37 | 39 |
#00a0 =window.w |
| 38 | 40 |
#0050 =window.h |
| ... | ... |
@@ -84,7 +86,7 @@ |
| 84 | 86 |
|
| 85 | 87 |
BRK |
| 86 | 88 |
|
| 87 |
-@FRAME |
|
| 89 |
+@on-mouse |
|
| 88 | 90 |
|
| 89 | 91 |
~Mouse.state #00 EQU ,$no-touch JNZ2 |
| 90 | 92 |
|
| ... | ... |
@@ -124,18 +126,18 @@ BRK |
| 124 | 126 |
|
| 125 | 127 |
@update-theme |
| 126 | 128 |
|
| 127 |
- #01F8 PEK2 #0f AND ~theme.r1 #40 SFT ADD #01F8 POK2 |
|
| 128 |
- #01Fa PEK2 #0f AND ~theme.g1 #40 SFT ADD #01Fa POK2 |
|
| 129 |
- #01Fc PEK2 #0f AND ~theme.b1 #40 SFT ADD #01Fc POK2 |
|
| 130 |
- #01F8 PEK2 #f0 AND ~theme.r2 ADD #01F8 POK2 |
|
| 131 |
- #01Fa PEK2 #f0 AND ~theme.g2 ADD #01Fa POK2 |
|
| 132 |
- #01Fc PEK2 #f0 AND ~theme.b2 ADD #01Fc POK2 |
|
| 133 |
- #01F9 PEK2 #0f AND ~theme.r3 #40 SFT ADD #01F9 POK2 |
|
| 134 |
- #01Fb PEK2 #0f AND ~theme.g3 #40 SFT ADD #01Fb POK2 |
|
| 135 |
- #01Fd PEK2 #0f AND ~theme.b3 #40 SFT ADD #01Fd POK2 |
|
| 136 |
- #01F9 PEK2 #f0 AND ~theme.r4 ADD #01F9 POK2 |
|
| 137 |
- #01Fb PEK2 #f0 AND ~theme.g4 ADD #01Fb POK2 |
|
| 138 |
- #01Fd PEK2 #f0 AND ~theme.b4 ADD #01Fd POK2 |
|
| 129 |
+ #0108 PEK2 #0f AND ~theme.r1 #40 SFT ADD #0108 POK2 |
|
| 130 |
+ #010a PEK2 #0f AND ~theme.g1 #40 SFT ADD #010a POK2 |
|
| 131 |
+ #010c PEK2 #0f AND ~theme.b1 #40 SFT ADD #010c POK2 |
|
| 132 |
+ #0108 PEK2 #f0 AND ~theme.r2 ADD #0108 POK2 |
|
| 133 |
+ #010a PEK2 #f0 AND ~theme.g2 ADD #010a POK2 |
|
| 134 |
+ #010c PEK2 #f0 AND ~theme.b2 ADD #010c POK2 |
|
| 135 |
+ #0109 PEK2 #0f AND ~theme.r3 #40 SFT ADD #0109 POK2 |
|
| 136 |
+ #010b PEK2 #0f AND ~theme.g3 #40 SFT ADD #010b POK2 |
|
| 137 |
+ #010d PEK2 #0f AND ~theme.b3 #40 SFT ADD #010d POK2 |
|
| 138 |
+ #0109 PEK2 #f0 AND ~theme.r4 ADD #0109 POK2 |
|
| 139 |
+ #010b PEK2 #f0 AND ~theme.g4 ADD #010b POK2 |
|
| 140 |
+ #010d PEK2 #f0 AND ~theme.b4 ADD #010d POK2 |
|
| 139 | 141 |
|
| 140 | 142 |
RTN |
| 141 | 143 |
|
| ... | ... |
@@ -155,10 +157,6 @@ RTN |
| 155 | 157 |
~window.x1 #0050 ADD2 ~window.y1 #0020 ADD2 ~window.x1 #0080 ADD2 #00 ,theme.g1 ~selection ADD PEK2 #0004 MUL2 #01 ,draw-slider JSR2 |
| 156 | 158 |
~window.x1 #0050 ADD2 ~window.y1 #0030 ADD2 ~window.x1 #0080 ADD2 #00 ,theme.b1 ~selection ADD PEK2 #0004 MUL2 #01 ,draw-slider JSR2 |
| 157 | 159 |
|
| 158 |
- ~window.x1 #0008 ADD2 =Sprite.x ~window.y1 =Sprite.y ~System.r ,draw-short JSR2 |
|
| 159 |
- ~window.x1 #0030 ADD2 =Sprite.x ~window.y1 =Sprite.y ~System.g ,draw-short JSR2 |
|
| 160 |
- ~window.x1 #0058 ADD2 =Sprite.x ~window.y1 =Sprite.y ~System.b ,draw-short JSR2 |
|
| 161 |
- |
|
| 162 | 160 |
~window.x1 #0050 ADD2 =Sprite.x |
| 163 | 161 |
~window.y1 #0040 ADD2 =Sprite.y |
| 164 | 162 |
,radio_icns #00 ~selection #00 EQU #0008 MUL2 ADD2 =Sprite.addr |
| ... | ... |
@@ -200,23 +198,6 @@ RTN |
| 200 | 198 |
|
| 201 | 199 |
RTN |
| 202 | 200 |
|
| 203 |
-@draw-short ( short ) |
|
| 204 |
- |
|
| 205 |
- =addr |
|
| 206 |
- ,font_hex #00 ~addr PEK2 #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr |
|
| 207 |
- ( draw ) #04 =Sprite.color |
|
| 208 |
- ~Sprite.x 8+ =Sprite.x |
|
| 209 |
- ,font_hex #00 ~addr PEK2 #0f AND #08 MUL ADD2 =Sprite.addr |
|
| 210 |
- ( draw ) #04 =Sprite.color |
|
| 211 |
- ~Sprite.x 8+ =Sprite.x |
|
| 212 |
- ,font_hex #00 ~addr ++ PEK2 #f0 AND #04 SFT #08 MUL ADD2 =Sprite.addr |
|
| 213 |
- ( draw ) #04 =Sprite.color |
|
| 214 |
- ~Sprite.x 8+ =Sprite.x |
|
| 215 |
- ,font_hex #00 ~addr ++ PEK2 #0f AND #08 MUL ADD2 =Sprite.addr |
|
| 216 |
- ( draw ) #04 =Sprite.color |
|
| 217 |
- |
|
| 218 |
-RTN |
|
| 219 |
- |
|
| 220 | 201 |
@draw-slider ( x1 y x2 pos color ) |
| 221 | 202 |
|
| 222 | 203 |
( load ) =color =slider.pos =slider.x2 =slider.y =slider.x1 |
| ... | ... |
@@ -303,19 +284,6 @@ RTN |
| 303 | 284 |
@green_txt [ Green 00 ] |
| 304 | 285 |
@blue_txt [ Blue 00 ] |
| 305 | 286 |
|
| 306 |
- |
|
| 307 |
-@font_hex ( 0-F TODO: should pull from @font instead.. ) |
|
| 308 |
-[ |
|
| 309 |
- 003c 464a 5262 3c00 0018 0808 0808 1c00 |
|
| 310 |
- 003c 4202 3c40 7e00 003c 421c 0242 3c00 |
|
| 311 |
- 000c 1424 447e 0400 007e 407c 0242 3c00 |
|
| 312 |
- 003c 407c 4242 3c00 007e 0204 0810 1000 |
|
| 313 |
- 003c 423c 4242 3c00 003c 4242 3e02 3c00 |
|
| 314 |
- 003c 4242 7e42 4200 007c 427c 4242 7c00 |
|
| 315 |
- 003c 4240 4042 3c00 007c 4242 4242 7c00 |
|
| 316 |
- 007e 4078 4040 7e00 007e 4078 4040 4000 |
|
| 317 |
-] |
|
| 318 |
- |
|
| 319 | 287 |
@font ( spectrum-zx font ) |
| 320 | 288 |
[ |
| 321 | 289 |
0000 0000 0000 0000 0000 2400 7e3c 0000 0000 2400 3c42 0000 0000 6c7c 7c38 1000 |
| ... | ... |
@@ -351,5 +319,3 @@ RTN |
| 351 | 319 |
0000 4428 1028 4400 0000 4444 443c 0438 0000 7c08 1020 7c00 000c 0810 1008 0c00 |
| 352 | 320 |
0008 0808 0808 0800 0030 1008 0810 3000 0000 0032 4c00 0000 3c42 99a1 a199 423c |
| 353 | 321 |
] |
| 354 |
- |
|
| 355 |
-@ERROR BRK |
| ... | ... |
@@ -561,10 +561,9 @@ Uint8 |
| 561 | 561 |
system_poke(Uxn *u, Uint16 ptr, Uint8 b0, Uint8 b1) |
| 562 | 562 |
{
|
| 563 | 563 |
Uint8 *m = u->ram.dat; |
| 564 |
- m[PAGE_DEVICE + 0x00f0 + b0] = b1; |
|
| 565 |
- loadtheme(&m[PAGE_DEVICE + 0x00f8]); |
|
| 564 |
+ m[PAGE_DEVICE + b0] = b1; |
|
| 565 |
+ loadtheme(&m[PAGE_DEVICE + 0x0008]); |
|
| 566 | 566 |
(void)ptr; |
| 567 |
- (void)b0; |
|
| 568 | 567 |
return b1; |
| 569 | 568 |
} |
| 570 | 569 |
|