|
|
|
|
@ -17,55 +17,53 @@
|
|
|
|
|
ctrl+v - paste |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
%+ { ADD } %- { SUB } |
|
|
|
|
%+ { ADD } %- { SUB } %* { MUL } %/ { DIV } |
|
|
|
|
%< { LTH } %> { GTH } %= { EQU } %! { NEQ } |
|
|
|
|
%++ { ADD2 } %-- { SUB2 } |
|
|
|
|
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } |
|
|
|
|
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } |
|
|
|
|
%!~ { NEQk NIP } |
|
|
|
|
|
|
|
|
|
%DEBUG { ;print-hex JSR2 #0a .Console/write DEO } |
|
|
|
|
%DEBUG2 { SWP ;print-hex JSR2 ;print-hex JSR2 #0a .Console/write DEO } |
|
|
|
|
%2* { #10 SFT } %2/ { #01 SFT } %2** { #10 SFT2 } %2// { #01 SFT2 } |
|
|
|
|
%4* { #20 SFT } %4/ { #02 SFT } %4** { #20 SFT2 } %4// { #02 SFT2 } |
|
|
|
|
%8* { #30 SFT } %8/ { #03 SFT } %8** { #30 SFT2 } %8// { #03 SFT2 } |
|
|
|
|
%10* { #40 SFT } %10/ { #04 SFT } %10** { #40 SFT2 } %10// { #04 SFT2 } |
|
|
|
|
%20* { #50 SFT } %20/ { #05 SFT } %20** { #50 SFT2 } %20// { #05 SFT2 } |
|
|
|
|
|
|
|
|
|
%2* { #10 SFT } %2/ { #01 SFT } |
|
|
|
|
%4* { #20 SFT } %4/ { #02 SFT } |
|
|
|
|
%8* { #30 SFT } %8/ { #03 SFT } |
|
|
|
|
%20* { #50 SFT } |
|
|
|
|
%40* { #60 SFT } |
|
|
|
|
%80* { #70 SFT } |
|
|
|
|
|
|
|
|
|
%2** { #10 SFT2 } %2// { #01 SFT2 } |
|
|
|
|
%4// { #02 SFT2 } |
|
|
|
|
%8** { #30 SFT2 } %8// { #03 SFT2 } |
|
|
|
|
%10** { #40 SFT2 } %10// { #04 SFT2 } |
|
|
|
|
%20** { #50 SFT2 } |
|
|
|
|
%80** { #70 SFT2 } |
|
|
|
|
%100** { #80 SFT2 } |
|
|
|
|
%200** { #90 SFT2 } |
|
|
|
|
|
|
|
|
|
%2INC2 { INC2 INC2 } |
|
|
|
|
%2MOD { #01 AND } |
|
|
|
|
%4MOD { #03 AND } |
|
|
|
|
%8MOD { #07 AND } |
|
|
|
|
%10MOD { #0f AND } |
|
|
|
|
%2MOD { #01 AND } %2MOD2 { #0001 AND2 } |
|
|
|
|
%4MOD { #03 AND } %4MOD2 { #0003 AND2 } |
|
|
|
|
%8MOD { #07 AND } %8MOD2 { #0007 AND2 } |
|
|
|
|
%10MOD { #0f AND } %10MOD2 { #000f AND2 } |
|
|
|
|
|
|
|
|
|
%20MOD { #1f AND } |
|
|
|
|
%8MOD2 { #0007 AND2 } |
|
|
|
|
%100MOD2 { #00ff AND2 } |
|
|
|
|
%10MOD2 { #000f AND2 } |
|
|
|
|
|
|
|
|
|
%TOS { #00 SWP } |
|
|
|
|
%SWP2? { #01 JCN SWP2 } |
|
|
|
|
|
|
|
|
|
%STEP8 { #33 SFT2 } |
|
|
|
|
|
|
|
|
|
%!~ { NEQk NIP } |
|
|
|
|
|
|
|
|
|
%DEBUG { ;print-hex/byte JSR2 #0a #18 DEO } |
|
|
|
|
%DEBUG2 { ;print-hex JSR2 #0a #18 DEO } |
|
|
|
|
|
|
|
|
|
%RTN { JMP2r } |
|
|
|
|
%ROL { DUP #07 SFT SWP #10 SFT + } |
|
|
|
|
%ROR { DUP #70 SFT SWP #01 SFT + } |
|
|
|
|
%SFL { #40 SFT SFT } |
|
|
|
|
%GTS2 { #8000 ++ SWP2 #8000 ++ << } |
|
|
|
|
%STEP8 { #33 SFT2 } |
|
|
|
|
%TOGGLE { LDZk #00 = SWP STZ } |
|
|
|
|
%GET-ITER { OVR2 NIP OVR SWP } |
|
|
|
|
%BRK? { #01 JCN BRK } |
|
|
|
|
%SWP? { #01 JCN SWP } |
|
|
|
|
|
|
|
|
|
%ROL { DUP #07 SFT SWP #10 SFT + } |
|
|
|
|
%ROR { DUP #70 SFT SWP #01 SFT + } |
|
|
|
|
|
|
|
|
|
( defines ) |
|
|
|
|
|
|
|
|
|
%HOR { #10 } %VER { #10 } |
|
|
|
|
%LENGTH { #1000 } |
|
|
|
|
|
|
|
|
|
@ -79,6 +77,7 @@
|
|
|
|
|
%BANK-COLOR { #9100 } |
|
|
|
|
|
|
|
|
|
( todo ) |
|
|
|
|
|
|
|
|
|
%DATA-CLIP { #6000 } |
|
|
|
|
|
|
|
|
|
%GET-HEX-ADDR { TOS 8** ;font-hex ++ .Screen/addr DEO2 } |
|
|
|
|
@ -502,19 +501,31 @@ BRK
|
|
|
|
|
@on-touch-nametable ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
|
|
|
|
|
.settings/focus LDZ2 BANK-SPRITESHEET -- 10// NIP |
|
|
|
|
|
|
|
|
|
( get touch tile ) |
|
|
|
|
|
|
|
|
|
.Mouse/y DEI2 .nametable/y LDZ2 -- 8// 10** |
|
|
|
|
.Mouse/x DEI2 .nametable/x LDZ2 -- 8// ++ |
|
|
|
|
BANK-NAMETABLE ++ STA |
|
|
|
|
.Mouse/x DEI2 .nametable/x LDZ2 -- 8// ++ STH2 |
|
|
|
|
|
|
|
|
|
( get blending ) .settings/blend LDZ |
|
|
|
|
.Mouse/y DEI2 .nametable/y LDZ2 -- 8// 10** |
|
|
|
|
.Mouse/x DEI2 .nametable/x LDZ2 -- 8// ++ |
|
|
|
|
BANK-COLOR ++ STA |
|
|
|
|
( look for changes ) |
|
|
|
|
|
|
|
|
|
;redraw JSR2 |
|
|
|
|
( sprite ) STH2kr BANK-NAMETABLE ++ LDA |
|
|
|
|
( color ) STH2kr BANK-COLOR ++ LDA |
|
|
|
|
( sprite ) .settings/focus LDZ2 BANK-SPRITESHEET -- 10// NIP |
|
|
|
|
( color ) .settings/blend LDZ |
|
|
|
|
|
|
|
|
|
( stop ) NEQ2 ,&continue JCN POP2r BRK &continue |
|
|
|
|
|
|
|
|
|
( set sprite ) |
|
|
|
|
.settings/focus LDZ2 BANK-SPRITESHEET -- 10// NIP |
|
|
|
|
STH2kr BANK-NAMETABLE ++ STA |
|
|
|
|
|
|
|
|
|
( set color ) |
|
|
|
|
.settings/blend LDZ |
|
|
|
|
STH2r BANK-COLOR ++ STA |
|
|
|
|
|
|
|
|
|
;draw-nametable JSR2 |
|
|
|
|
SET-STATE |
|
|
|
|
|
|
|
|
|
BRK |
|
|
|
|
|
|
|
|
|
@ -1136,7 +1147,7 @@ RTN
|
|
|
|
|
&loop |
|
|
|
|
DUP STHkr > 8* TOS ;slider-icns ++ .Screen/addr DEO2 |
|
|
|
|
#02 .Screen/sprite DEO |
|
|
|
|
.Screen/x DEI2 2INC2 .Screen/x DEO2 |
|
|
|
|
.Screen/x DEI2 INC2 INC2 .Screen/x DEO2 |
|
|
|
|
INC GTHk ,&loop JCN |
|
|
|
|
POP2 |
|
|
|
|
POPr |
|
|
|
|
@ -1454,7 +1465,7 @@ RTN
|
|
|
|
|
|
|
|
|
|
STH STH |
|
|
|
|
( y2 ) STHkr #06 + LDZ2 |
|
|
|
|
( y1 ) STHkr #02 + LDZ2 #0001 -- ( flip sign ) GTH2k SWP2? |
|
|
|
|
( y1 ) STHkr #02 + LDZ2 #0001 -- ( flip sign ) GTH2k #01 JCN SWP2 |
|
|
|
|
&ver |
|
|
|
|
( save ) DUP2 .Screen/y DEO2 |
|
|
|
|
( x1 ) STHkr LDZ2 #0001 -- .Screen/x DEO2 |
|
|
|
|
@ -1465,7 +1476,7 @@ RTN
|
|
|
|
|
INC2 GTH2k ,&ver JCN |
|
|
|
|
POP2 |
|
|
|
|
( x2 ) STHkr #04 + LDZ2 |
|
|
|
|
( x1 ) STHkr LDZ2 #0001 -- ( flip sign ) GTH2k SWP2? |
|
|
|
|
( x1 ) STHkr LDZ2 #0001 -- ( flip sign ) GTH2k #01 JCN SWP2 |
|
|
|
|
&hor |
|
|
|
|
( save ) DUP2 .Screen/x DEO2 |
|
|
|
|
( y1 ) STHkr #02 + LDZ2 #0001 -- .Screen/y DEO2 |
|
|
|
|
@ -1488,7 +1499,7 @@ RTN
|
|
|
|
|
&loop |
|
|
|
|
( save ) DUP2 .Screen/x DEO2 |
|
|
|
|
( draw ) STHkr .Screen/pixel DEO |
|
|
|
|
2INC2 GTH2k ,&loop JCN |
|
|
|
|
INC2 INC2 GTH2k ,&loop JCN |
|
|
|
|
POP2 POP2 POPr |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
@ -1499,18 +1510,20 @@ RTN
|
|
|
|
|
&loop |
|
|
|
|
( save ) DUP2 .Screen/y DEO2 |
|
|
|
|
( draw ) STHkr .Screen/pixel DEO |
|
|
|
|
2INC2 GTH2k ,&loop JCN |
|
|
|
|
INC2 INC2 GTH2k ,&loop JCN |
|
|
|
|
POP2 POP2 POPr |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@print-hex ( value -- ) |
|
|
|
|
@print-hex ( value* -- ) |
|
|
|
|
|
|
|
|
|
STHk #04 SFT ,&parse JSR .Console/write DEO |
|
|
|
|
STHr #0f AND ,&parse JSR .Console/write DEO |
|
|
|
|
SWP ,&byte JSR |
|
|
|
|
&byte ( byte -- ) |
|
|
|
|
STHk #04 SFT ,&parse JSR #18 DEO |
|
|
|
|
STHr #0f AND ,&parse JSR #18 DEO |
|
|
|
|
RTN |
|
|
|
|
&parse ( value -- char ) |
|
|
|
|
DUP #09 GTH ,&above JCN #30 ADD RTN &above #09 SUB #60 ADD RTN |
|
|
|
|
&parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 + RTN |
|
|
|
|
&above #57 + RTN |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
|