Progress on macros experiments
This commit is contained in:
parent
f58ce2882f
commit
dad55324aa
|
@ -26,10 +26,20 @@ contexts:
|
||||||
scope: variable.control
|
scope: variable.control
|
||||||
pop: true
|
pop: true
|
||||||
# constants
|
# constants
|
||||||
# structs
|
|
||||||
|
|
||||||
# Special
|
|
||||||
|
|
||||||
|
# templated
|
||||||
|
- match: '(\S+)\^\s?'
|
||||||
|
scope: storage.type
|
||||||
|
pop: true
|
||||||
|
- match: '(\S+)\=\s?'
|
||||||
|
scope: constant.numeric
|
||||||
|
pop: true
|
||||||
|
- match: '(\S+)\?\s?'
|
||||||
|
scope: storage.type
|
||||||
|
pop: true
|
||||||
|
- match: '(\S+)\!\s?'
|
||||||
|
scope: constant.numeric
|
||||||
|
pop: true
|
||||||
|
|
||||||
# Pushing to stack
|
# Pushing to stack
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,11 @@
|
||||||
%-- { #0001 SUB2 }
|
%-- { #0001 SUB2 }
|
||||||
%ABS2 { DUP2 #000f SFT2 EQU #04 JNZ #ffff MUL2 }
|
%ABS2 { DUP2 #000f SFT2 EQU #04 JNZ #ffff MUL2 }
|
||||||
|
|
||||||
|
(
|
||||||
|
%%^ { .% PEK } %%= { .% POK }
|
||||||
|
%%? { .% DEI } %%! { .% DEO }
|
||||||
|
)
|
||||||
|
|
||||||
%%^ { .% PEK2 } %%= { .% POK2 }
|
%%^ { .% PEK2 } %%= { .% POK2 }
|
||||||
%%? { .% DEI2 } %%! { .% DEO2 }
|
%%? { .% DEI2 } %%! { .% DEO2 }
|
||||||
|
|
||||||
|
@ -28,11 +33,12 @@
|
||||||
|0100 ( -> )
|
|0100 ( -> )
|
||||||
|
|
||||||
( theme )
|
( theme )
|
||||||
#f0fd System/r!
|
#f0f0 System/r!
|
||||||
#f003 System/g!
|
#f00f System/g!
|
||||||
#f002 System/b!
|
#f000 System/b!
|
||||||
|
|
||||||
( vectors ) ;on-mouse Mouse/vector!
|
( vectors )
|
||||||
|
;on-mouse Mouse/vector!
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
|
@ -41,13 +47,10 @@ BRK
|
||||||
;draw-cursor JSR2
|
;draw-cursor JSR2
|
||||||
|
|
||||||
( on down )
|
( on down )
|
||||||
.Mouse/state DEI #00 NEQ
|
.Mouse/state DEI #00 NEQ .pointer/state PEK #00 EQU #0101 EQU2 ,on-mouse-down JNZ
|
||||||
.pointer/state PEK #00 EQU
|
|
||||||
#0101 EQU2 ,on-mouse-down JNZ
|
|
||||||
|
|
||||||
( on drag )
|
( on drag )
|
||||||
.Mouse/state DEI
|
.Mouse/state DEI #00 NEQ ,on-mouse-drag JNZ
|
||||||
#00 NEQ ,on-mouse-drag JNZ
|
|
||||||
|
|
||||||
.Mouse/state DEI .pointer/state POK
|
.Mouse/state DEI .pointer/state POK
|
||||||
|
|
||||||
|
@ -58,6 +61,7 @@ BRK
|
||||||
( record start position )
|
( record start position )
|
||||||
Mouse/x? DUP2 pointer/x= pointer/lastx=
|
Mouse/x? DUP2 pointer/x= pointer/lastx=
|
||||||
Mouse/y? DUP2 pointer/y= pointer/lasty=
|
Mouse/y? DUP2 pointer/y= pointer/lasty=
|
||||||
|
|
||||||
.Mouse/state DEI .pointer/state POK
|
.Mouse/state DEI .pointer/state POK
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
@ -70,11 +74,12 @@ BRK
|
||||||
pointer/x^
|
pointer/x^
|
||||||
pointer/y^
|
pointer/y^
|
||||||
#01 ( add mouse state ) [ .Mouse/state DEI #10 EQU #02 MUL ADD ]
|
#01 ( add mouse state ) [ .Mouse/state DEI #10 EQU #02 MUL ADD ]
|
||||||
;hairline JSR2
|
;draw-line JSR2
|
||||||
|
|
||||||
( record last position )
|
( record last position )
|
||||||
Mouse/x? pointer/lastx=
|
Mouse/x? pointer/lastx=
|
||||||
Mouse/y? pointer/lasty=
|
Mouse/y? pointer/lasty=
|
||||||
|
|
||||||
.Mouse/state DEI .pointer/state POK
|
.Mouse/state DEI .pointer/state POK
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
@ -102,7 +107,7 @@ BRK
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@hairline ( x1 y1 x2 y2 color -- )
|
@draw-line ( x1 y1 x2 y2 color -- )
|
||||||
|
|
||||||
( load ) .color POK line/y0= line/x0= line/y= line/x=
|
( load ) .color POK line/y0= line/x0= line/y= line/x=
|
||||||
line/x0^ line/x^ SUB2 ABS2 line/dx=
|
line/x0^ line/x^ SUB2 ABS2 line/dx=
|
||||||
|
@ -111,7 +116,11 @@ RTN
|
||||||
#ffff #00 line/y^ line/y0^ LTS2 #0002 MUL2 ADD2 line/sy=
|
#ffff #00 line/y^ line/y0^ LTS2 #0002 MUL2 ADD2 line/sy=
|
||||||
line/dx^ line/dy^ ADD2 line/e1=
|
line/dx^ line/dy^ ADD2 line/e1=
|
||||||
&loop
|
&loop
|
||||||
line/x^ Screen/x! line/y^ Screen/y! .color PEK .Screen/color DEO
|
( draw )
|
||||||
|
line/x^ Screen/x!
|
||||||
|
line/y^ Screen/y!
|
||||||
|
.color PEK
|
||||||
|
.Screen/color DEO
|
||||||
line/x^ line/x0^ EQU2 line/y^ line/y0^ EQU2 #0101 EQU2 ,&end JNZ
|
line/x^ line/x0^ EQU2 line/y^ line/y0^ EQU2 #0101 EQU2 ,&end JNZ
|
||||||
line/e1^ #0002 MUL2 line/e2=
|
line/e1^ #0002 MUL2 line/e2=
|
||||||
line/e2^ line/dy^ LTS2 ,&skipy JNZ
|
line/e2^ line/dy^ LTS2 ,&skipy JNZ
|
||||||
|
|
|
@ -112,8 +112,8 @@ drawdebugger(Ppu *p, Uint8 *stack, Uint8 ptr)
|
||||||
Uint8 i, x, y, b;
|
Uint8 i, x, y, b;
|
||||||
for(i = 0; i < 0x20; ++i) { /* memory */
|
for(i = 0; i < 0x20; ++i) { /* memory */
|
||||||
x = ((i % 8) * 3 + 1) * 8, y = (i / 8 + 1) * 8, b = stack[i];
|
x = ((i % 8) * 3 + 1) * 8, y = (i / 8 + 1) * 8, b = stack[i];
|
||||||
puticn(p, p->bg, x, y, font[(b >> 4) & 0xf], 2 + (ptr == i));
|
puticn(p, p->bg, x, y, font[(b >> 4) & 0xf], 1 + (ptr == i) * 0x7);
|
||||||
puticn(p, p->bg, x + 8, y, font[b & 0xf], 2 + (ptr == i));
|
puticn(p, p->bg, x + 8, y, font[b & 0xf], 1 + (ptr == i) * 0x7);
|
||||||
}
|
}
|
||||||
for(x = 0; x < 0x20; ++x) {
|
for(x = 0; x < 0x20; ++x) {
|
||||||
drawpixel(p, x, p->height / 2, 2);
|
drawpixel(p, x, p->height / 2, 2);
|
||||||
|
|
Loading…
Reference in New Issue