@@ 14,8 14,8 @@
ctrl+s - save
)
-%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
-%< { LTH } %> { GTH } %= { EQU } %! { NEQ }
+%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
+%< { LTH } %> { GTH } %= { EQU } %! { NEQ }
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
@@ 23,6 23,7 @@
%WIDTH { HOR TOS #0008 ** }
%LENGTH { HOR TOS VER TOS ** #0010 ** }
+%8** { #30 SFT2 }
%RTN { JMP2r }
%MOD { DUP2 / * - }
%MOD2 { OVR2 OVR2 // ** -- }
@@ 899,13 900,13 @@ RTN
.colorview/y2 LDZ2 #0001 ++ .Screen/y DEO2
.colorview/x1 LDZ2 .Screen/x DEO2
- ;font-hex [ .System/r GET-COLOR ] TOS #0008 ** ++ .Screen/addr DEO2
+ .System/r GET-COLOR ;draw-short/parse JSR2 .Screen/addr DEO2
#20 .settings/color LDZ + .Screen/color DEO
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
- ;font-hex [ .System/g GET-COLOR ] TOS #0008 ** ++ .Screen/addr DEO2
+ .System/g GET-COLOR ;draw-short/parse JSR2 .Screen/addr DEO2
#20 .settings/color LDZ + .Screen/color DEO
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
- ;font-hex [ .System/b GET-COLOR ] TOS #0008 ** ++ .Screen/addr DEO2
+ .System/b GET-COLOR ;draw-short/parse JSR2 .Screen/addr DEO2
#20 .settings/color LDZ + .Screen/color DEO
.colorview/x1 LDZ2 .colorview/y1 LDZ2
@@ 1016,31 1017,37 @@ RTN
RTN
-@draw-byte ( byte color -- )
-
- STH STH
- ;font-hex #00 STHkr #f0 AND #04 SFT #08 * ++ .Screen/addr DEO2
- ( draw ) OVRr STHr .Screen/color DEO
- .Screen/x DEI2 #0008 ++ .Screen/x DEO2
- ;font-hex #00 STHr #0f AND #08 * ++ .Screen/addr DEO2
- ( draw ) STHr .Screen/color DEO
-
-RTN
-
@draw-short ( short* color -- )
STH SWP
- DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
- ( draw ) STHkr .Screen/color DEO
- #0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
+ DUP #04 SFT ,&parse JSR .Screen/addr DEO2
+ ( draw ) STHkr .Screen/color DEO
+ .Screen/x DEI2 #0008 ++ .Screen/x DEO2
+ #0f AND ,&parse JSR .Screen/addr DEO2
+ ( draw ) STHkr .Screen/color DEO
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
- ( draw ) STHkr .Screen/color DEO
- DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
+ DUP #04 SFT ,&parse JSR .Screen/addr DEO2
+ ( draw ) STHkr .Screen/color DEO
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
- ( draw ) STHkr .Screen/color DEO
- #0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
+ #0f AND ,&parse JSR .Screen/addr DEO2
+ ( draw ) STHr .Screen/color DEO
+ RTN
+ &parse ( value -- addr* )
+ DUP #09 GTH ,&above JCN
+ #30 ADD #20 - TOS 8** ;font ++ RTN
+ &above
+ #09 SUB #40 ADD #20 - TOS 8** ;font ++ RTN
+
+RTN
+
+@draw-byte ( byte color -- )
+
+ STH
+ DUP #04 SFT ,draw-short/parse JSR .Screen/addr DEO2
+ ( draw ) STHkr .Screen/color DEO
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
- ( draw ) STHr .Screen/color DEO
+ #0f AND ,draw-short/parse JSR .Screen/addr DEO2
+ ( draw ) STHr .Screen/color DEO
RTN
@@ 1188,15 1195,6 @@ RTN
@zoom-icns
3048 8484 4834 0200 ( in )
3245 8284 4834 0200 ( out )
-@font-hex
- 007c 8282 8282 827c 0030 1010 1010 1010
- 007c 8202 7c80 80fe 007c 8202 1c02 827c
- 000c 1424 4484 fe04 00fe 8080 7c02 827c
- 007c 8280 fc82 827c 007c 8202 1e02 0202
- 007c 8282 7c82 827c 007c 8282 7e02 827c
- 007c 8202 7e82 827e 00fc 8282 fc82 82fc
- 007c 8280 8080 827c 00fc 8282 8282 82fc
- 007c 8280 f080 827c 007c 8280 f080 8080
@font ( specter8-frag font )
0000 0000 0000 0000 0008 0808 0800 0800
0014 1400 0000 0000 0024 7e24 247e 2400