Browse Source

Migrated a few JCN to JCI

main
Devine Lu Linvega 3 years ago
parent
commit
e7ee6d743b
  1. 214
      src/nasu.tal

214
src/nasu.tal

@ -144,17 +144,17 @@ JMP2r
#00 draw-filepath
( start )
[ LIT &listening $1 ] ,&no-start JCN
[ LIT &listening $1 ] ?&no-start
#01 ,&listening STR
;filepath #0040 mclr
&no-start
( end )
.Console/read DEI
DUPk #1f GTH SWP #7f LTH AND ,&no-end JCN
DUPk #1f GTH SWP #7f LTH AND ?&no-end
#00 ,&listening STR
&no-end
( capture )
,capture-trap JSR
capture-trap
#01 draw-filepath
BRK
@ -162,19 +162,19 @@ BRK
@on-button-trap ( -> )
#00 draw-filepath
.Controller/key DEI DUP #0d EQU #03 MUL SUB ,capture-trap JSR
.Controller/key DEI DUP #0d EQU #03 MUL SUB capture-trap
#01 draw-filepath
BRK
@capture-trap ( button -- )
DUP ,&no-null JCN POP JMP2r &no-null
[ #08 ] NEQk NIP ,&no-pop JCN ;filepath spop POP JMP2r &no-pop
[ #0a ] NEQk NIP ,&no-load JCN file-open &no-load
[ #7f ] NEQk NIP ,&no-delete JCN ;filepath #0040 mclr POP JMP2r &no-delete
[ #20 ] GTHk NIP ,&no-special JCN untrap POP JMP2r &no-special
;filepath slen NIP #3f EQU ,&no-push JCN
DUP ?&no-null POP JMP2r &no-null
[ #08 ] NEQk NIP ?&no-pop ;filepath spop POP JMP2r &no-pop
[ #0a ] NEQk NIP ?&no-load file-open &no-load
[ #7f ] NEQk NIP ?&no-delete ;filepath #0040 mclr POP JMP2r &no-delete
[ #20 ] GTHk NIP ?&no-special untrap POP JMP2r &no-special
;filepath slen NIP #3f EQU ?&no-push
DUP ;filepath sput
&no-push
POP
@ -184,7 +184,7 @@ JMP2r
@on-mouse-trap ( -> )
( release trap on touch )
.Mouse/state DEI ,&release JCN BRK &release
.Mouse/state DEI ?&release BRK &release
untrap
@ -193,7 +193,7 @@ BRK
@on-frame-trap ( -> )
.state/timer LDZ
DUP #07 AND ,&no-blink JCN
DUP #07 AND ?&no-blink
DUP #03 SFT #01 AND #30 SFT INC draw-filepath
&no-blink
INC .state/timer STZ
@ -203,7 +203,7 @@ BRK
@on-button ( -> )
.Controller/button DEI2 find-modkey
ORAk #00 EQU ,&skip JCN
ORAk #00 EQU ?&skip
DUP2 JSR2
&skip
POP2
@ -212,21 +212,21 @@ BRK
@on-mouse ( -> )
.Mouse/y DEI2 #000c LTH2 ;trap-menu JCN2
.Mouse/y DEI2 #000c LTH2 ?trap-menu
( color ) #42 .Mouse/state DEI #00 NEQ ADD
( addr* ) ;brush-icn #00 .settings/tool LDZ #30 SFT ADD2
update-cursor
#01 .Screen/auto DEO
.Mouse/state DEI #00 EQU ,&no-touch JCN
.Mouse/x DEI2 .Mouse/y DEI2 .tileview within-rect ;on-touch-tileview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .nametableview within-rect ;on-touch-nametable JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .toolview within-rect ;on-touch-toolview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .blendview within-rect ;on-touch-blendview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .colorview within-rect ;on-touch-colorview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .preview within-rect ;on-touch-preview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .zoomview within-rect ;on-touch-zoomview JCN2
.Mouse/state DEI #00 EQU ?&no-touch
.Mouse/x DEI2 .Mouse/y DEI2 .tileview within-rect ?on-touch-tileview
.Mouse/x DEI2 .Mouse/y DEI2 .nametableview within-rect ?on-touch-nametable
.Mouse/x DEI2 .Mouse/y DEI2 .toolview within-rect ?on-touch-toolview
.Mouse/x DEI2 .Mouse/y DEI2 .blendview within-rect ?on-touch-blendview
.Mouse/x DEI2 .Mouse/y DEI2 .colorview within-rect ?on-touch-colorview
.Mouse/x DEI2 .Mouse/y DEI2 .preview within-rect ?on-touch-preview
.Mouse/x DEI2 .Mouse/y DEI2 .zoomview within-rect ?on-touch-zoomview
&no-touch
( release-record )
#0000 .Mouse/state DEO .cursor/last STZ
@ -238,9 +238,9 @@ BRK
.Mouse/x DEI2 .tileview/x1 LDZ2 SUB2
.Mouse/y DEI2 .tileview/y1 LDZ2 SUB2
( test )
.settings/tool LDZ #02 EQU ;&zoom JCN2
.settings/zoom LDZ #01 EQU ;&zoomed JCN2
.settings/tool LDZ #01 EQU ;&select JCN2
.settings/tool LDZ #02 EQU ?&zoom
.settings/zoom LDZ #01 EQU ?&zoomed
.settings/tool LDZ #01 EQU ?&select
( paint )
.settings/color LDZ .Mouse/state DEI #01 EQU MUL
put-pixel
@ -275,9 +275,9 @@ BRK
#03 SFT2 NIP STH
#03 SFT2 NIP STH SWPr
.Mouse/state DEI DUP .cursor/last LDZ
ORAk #00 EQU ,&end JCN
DUP2 #0100 NEQ2 ,&no-down JCN STH2kr set-selection-from &no-down
DUP2 #0101 NEQ2 ,&no-up JCN STH2kr set-selection-to &no-up
ORAk #00 EQU ?&end
DUP2 #0100 NEQ2 ?&no-down STH2kr set-selection-from &no-down
DUP2 #0101 NEQ2 ?&no-up STH2kr set-selection-to &no-up
&end
POP2 POP2r
.cursor/last STZ
@ -301,27 +301,27 @@ BRK
( release mouse ) #00 .Mouse/state DEO
.Mouse/x DEI2 .toolview/x1 LDZ2 SUB2 #03 SFT2 NIP
[ #20 ] NEQk NIP ,&no-save JCN file-save POP BRK &no-save
[ #1e ] NEQk NIP ,&no-load JCN file-open POP BRK &no-load
[ #1d ] NEQk NIP ,&no-name JCN file-new POP BRK &no-name
[ #04 ] NEQk NIP ,&no-tool0 JCN #00 set-tool POP BRK &no-tool0
[ #05 ] NEQk NIP ,&no-tool1 JCN #01 set-tool POP BRK &no-tool1
[ #06 ] NEQk NIP ,&no-tool2 JCN #02 set-tool &no-tool2
INCk .settings/color LDZ NEQ ,&no-eraser JCN #00 set-color POP BRK &no-eraser
[ #02 ] GTHk NIP ,&no-color JCN INCk set-color POP BRK &no-color
[ #08 ] LTHk NIP ,&no-rename JCN trap POP BRK &no-rename
[ #20 ] NEQk NIP ?&no-save file-save POP BRK &no-save
[ #1e ] NEQk NIP ?&no-load file-open POP BRK &no-load
[ #1d ] NEQk NIP ?&no-name file-new POP BRK &no-name
[ #04 ] NEQk NIP ?&no-tool0 #00 set-tool POP BRK &no-tool0
[ #05 ] NEQk NIP ?&no-tool1 #01 set-tool POP BRK &no-tool1
[ #06 ] NEQk NIP ?&no-tool2 #02 set-tool &no-tool2
INCk .settings/color LDZ NEQ ?&no-eraser #00 set-color POP BRK &no-eraser
[ #02 ] GTHk NIP ?&no-color INCk set-color POP BRK &no-color
[ #08 ] LTHk NIP ?&no-rename trap POP BRK &no-rename
POP
BRK
@on-touch-zoomview ( -> )
.Mouse/y DEI2 .zoomview/y1 LDZ2 SUB2 #0020 LTH2 ;&no-mod JCN2
.Mouse/y DEI2 .zoomview/y1 LDZ2 SUB2 #0020 LTH2 ?&no-mod
.Mouse/x DEI2 .zoomview/x1 LDZ2 SUB2 #03 SFT2 NIP
DUP #00 EQU .Mouse/state DEI #01 EQU #0101 NEQ2 ,&no-su JCN ;op-shiftu run &no-su
DUP #00 EQU .Mouse/state DEI #01 GTH #0101 NEQ2 ,&no-sd JCN ;op-shiftd run &no-sd
DUP #01 EQU .Mouse/state DEI #01 EQU #0101 NEQ2 ,&no-sr JCN ;op-shiftr run &no-sr
DUP #01 EQU .Mouse/state DEI #01 GTH #0101 NEQ2 ,&no-shiftleft JCN ;op-shiftl run &no-shiftleft
DUP #00 EQU .Mouse/state DEI #01 EQU #0101 NEQ2 ?&no-su ;op-shiftu run &no-su
DUP #00 EQU .Mouse/state DEI #01 GTH #0101 NEQ2 ?&no-sd ;op-shiftd run &no-sd
DUP #01 EQU .Mouse/state DEI #01 EQU #0101 NEQ2 ?&no-sr ;op-shiftr run &no-sr
DUP #01 EQU .Mouse/state DEI #01 GTH #0101 NEQ2 ?&no-shiftleft ;op-shiftl run &no-shiftleft
POP
( release mouse ) #00 .Mouse/state DEO
,&finish JMP
@ -350,9 +350,9 @@ BRK
@on-touch-colorview ( -> )
.Mouse/y DEI2 .colorview/y1 LDZ2 SUB2 #03 SFT2 NIP
[ #00 ] NEQk NIP ,&no-r JCN .System/r STHk ,&set-color JSR STHr ,&set-nibble JSR &no-r
[ #01 ] NEQk NIP ,&no-g JCN .System/g STHk ,&set-color JSR STHr ,&set-nibble JSR &no-g
[ #02 ] NEQk NIP ,&no-b JCN .System/b STHk ,&set-color JSR STHr ,&set-nibble JSR &no-b
[ #00 ] NEQk NIP ?&no-r .System/r STHk ,&set-color JSR STHr ,&set-nibble JSR &no-r
[ #01 ] NEQk NIP ?&no-g .System/g STHk ,&set-color JSR STHr ,&set-nibble JSR &no-g
[ #02 ] NEQk NIP ?&no-b .System/b STHk ,&set-color JSR STHr ,&set-nibble JSR &no-b
POP
redraw
@ -374,11 +374,11 @@ BRK
.Mouse/x DEI2 .blendview/x1 LDZ2 SUB2 #03 SFT2 NIP
.Mouse/y DEI2 .blendview/y1 LDZ2 SUB2 #03 SFT2 NIP #20 SFT ADD
[ #0f GTHk NIP ] ,&no-set JCN DUP .settings/blend STHk LDZ #b0 AND ADD STHr STZ ,&end JMP &no-set
[ #0f GTHk NIP ] ?&no-set DUP .settings/blend STHk LDZ #b0 AND ADD STHr STZ ,&end JMP &no-set
( buttons )
#03 AND
[ #02 NEQk NIP ] ,&no-ver JCN .settings/blend STHk LDZ #20 EOR STHr STZ &no-ver
[ #03 NEQk NIP ] ,&no-hor JCN .settings/blend STHk LDZ #10 EOR STHr STZ &no-hor
[ #02 NEQk NIP ] ?&no-ver .settings/blend STHk LDZ #20 EOR STHr STZ &no-ver
[ #03 NEQk NIP ] ?&no-hor .settings/blend STHk LDZ #10 EOR STHr STZ &no-hor
&end
POP
draw-blendview
@ -415,13 +415,13 @@ JMP2
@clamp-selection ( -- )
.selection/x1 LDZ #0f STHk LTH ,&ok-limitx1 JCN STHkr .selection/x1 STZ &ok-limitx1 POPr
.selection/y1 LDZ #0f STHk LTH ,&ok-limity1 JCN STHkr .selection/y1 STZ &ok-limity1 POPr
.selection/x2 LDZ #0f STHk LTH ,&ok-limitx2 JCN STHkr .selection/x2 STZ &ok-limitx2 POPr
.selection/y2 LDZ #0f STHk LTH ,&ok-limity2 JCN STHkr .selection/y2 STZ &ok-limity2 POPr
.selection/x1 LDZ #0f STHk LTH ?&ok-limitx1 STHkr .selection/x1 STZ &ok-limitx1 POPr
.selection/y1 LDZ #0f STHk LTH ?&ok-limity1 STHkr .selection/y1 STZ &ok-limity1 POPr
.selection/x2 LDZ #0f STHk LTH ?&ok-limitx2 STHkr .selection/x2 STZ &ok-limitx2 POPr
.selection/y2 LDZ #0f STHk LTH ?&ok-limity2 STHkr .selection/y2 STZ &ok-limity2 POPr
( invert )
.selection/x2 LDZ .selection/x1 LDZ STHk GTH ,&ok-flipx JCN STHkr .selection/x2 STZ &ok-flipx POPr
.selection/y2 LDZ .selection/y1 LDZ STHk GTH ,&ok-flipy JCN STHkr .selection/y2 STZ &ok-flipy POPr
.selection/x2 LDZ .selection/x1 LDZ STHk GTH ?&ok-flipx STHkr .selection/x2 STZ &ok-flipx POPr
.selection/y2 LDZ .selection/y1 LDZ STHk GTH ?&ok-flipy STHkr .selection/y2 STZ &ok-flipy POPr
JMP2r
@ -462,7 +462,7 @@ JMP2r
@mod-selection ( x y -- )
.settings/zoom LDZ ;mod-selection-zoom JCN2
.settings/zoom LDZ ?mod-selection-zoom
DUP
.selection/y2 LDZ ADD #0f AND .selection/y2 STZ
@ -471,10 +471,10 @@ JMP2r
.selection/x2 LDZ ADD #0f AND .selection/x2 STZ
.selection/x1 LDZ ADD #0f AND .selection/x1 STZ
( clamp )
.selection/x2 LDZ .selection/x1 LDZ GTH ,&no-x JCN
.selection/x2 LDZ .selection/x1 LDZ GTH ?&no-x
.selection/x1 LDZ .selection/x2 STZ
&no-x
.selection/y2 LDZ .selection/y1 LDZ GTH ,&no-y JCN
.selection/y2 LDZ .selection/y1 LDZ GTH ?&no-y
.selection/y1 LDZ .selection/y2 STZ
&no-y
@ -507,10 +507,10 @@ JMP2
.selection/x2 LDZ ADD #0f AND .selection/x2 STZ
( clamp )
.selection/x2 LDZ .selection/x1 LDZ GTH ,&no-x JCN
.selection/x2 LDZ .selection/x1 LDZ GTH ?&no-x
.selection/x1 LDZ .selection/x2 STZ
&no-x
.selection/y2 LDZ .selection/y1 LDZ GTH ,&no-y JCN
.selection/y2 LDZ .selection/y1 LDZ GTH ?&no-y
.selection/y1 LDZ .selection/y2 STZ
&no-y
( focus )
@ -530,9 +530,9 @@ JMP2
.selection/x2 LDZ INC .selection/x1 LDZ
&hor
OVR2 NIP OVR SWP get-tile-addr STH2kr JSR2
INC GTHk ,&hor JCN
INC GTHk ?&hor
POP2
INC GTHk ,&ver JCN
INC GTHk ?&ver
POP2
POP2r
@ -550,14 +550,14 @@ JMP2
&ch1
INC2k LDA STH
DUP2 STHr ROT ROT STA
INC2 GTH2k ,&ch1 JCN
INC2 GTH2k ?&ch1
POP2
( cap ) STHr ROT ROT STA
#0008 ADD2 DUP2 #0007 ADD2 SWP2 LDAk STH
&ch2
INC2k LDA STH
DUP2 STHr ROT ROT STA
INC2 GTH2k ,&ch2 JCN
INC2 GTH2k ?&ch2
POP2
( cap ) STHr ROT ROT STA
@ -569,14 +569,14 @@ JMP2r
&ch1
DUP2 #0001 SUB2 LDA STH
DUP2 STHr ROT ROT STA
#0001 SUB2 LTH2k ,&ch1 JCN
#0001 SUB2 LTH2k ?&ch1
POP2
( cap ) STHr ROT ROT STA
#0008 ADD2 DUP2 #0007 ADD2 LDAk STH
&ch2
DUP2 #0001 SUB2 LDA STH
DUP2 STHr ROT ROT STA
#0001 SUB2 LTH2k ,&ch2 JCN
#0001 SUB2 LTH2k ?&ch2
POP2
( cap ) STHr ROT ROT STA
@ -593,7 +593,7 @@ JMP2r
( ch2 )
#00 OVR STH2kr #0008 ADD2 ADD2 DUP2
LDA rol ROT ROT STA
INC GTHk ,&loop JCN
INC GTHk ?&loop
POP2
POP2r
@ -610,7 +610,7 @@ JMP2r
( ch2 )
#00 OVR STH2kr #0008 ADD2 ADD2 DUP2
LDA ror ROT ROT STA
INC GTHk ,&loop JCN
INC GTHk ?&loop
POP2
POP2r
@ -654,7 +654,7 @@ JMP2
@draw-tileview ( -- )
.settings/zoom LDZ ;draw-tileview-zoom JCN2
.settings/zoom LDZ ?draw-tileview-zoom
.tileview/x1 LDZ2 .Screen/x DEO2
.tileview/y1 LDZ2 .Screen/y DEO2
( draw tiles )
@ -663,7 +663,7 @@ JMP2
#1000
&loop
#81 .Screen/sprite DEO
INC GTHk ,&loop JCN
INC GTHk ?&loop
POP2
( draw selection )
#06 .selection/x2 LDZ .selection/x1 LDZ SUB #40 SFT ADD .Screen/auto DEO
@ -674,12 +674,12 @@ JMP2
&loop-sel
#00 OVR #80 SFT2 [ LIT2 &sprite $2 ] ADD2 .Screen/addr DEO2
#84 .Screen/sprite DEO
INC GTHk ,&loop-sel JCN
INC GTHk ?&loop-sel
POP2
#01 .Screen/auto DEO
( draw selection size )
.selection/x2 LDZ .selection/x1 LDZ SUB #02 LTH ,&no-label JCN
.selection/y2 LDZ #0f EQU ,&no-label JCN
.selection/x2 LDZ .selection/x1 LDZ SUB #02 LTH ?&no-label
.selection/y2 LDZ #0f EQU ?&no-label
#00 .selection/x1 LDZ #30 SFT2 .tileview/x1 LDZ2 ADD2 .Screen/x DEO2
#00 .selection/y2 LDZ INC #30 SFT2 .tileview/y1 LDZ2 ADD2 .Screen/y DEO2
#04 ;draw-chr/color STA
@ -703,21 +703,21 @@ JMP2r
( y ) .selection/zy LDZ ADD #00 SWP
( x ) ROT .selection/zx LDZ ADD #00 SWP SWP2
get-pixel .Screen/sprite DEO
INC GTHk ,&hor JCN
INC GTHk ?&hor
POP2
INC GTHk ,&ver JCN
INC GTHk ?&ver
POP2
( guide hor )
#0007 .selection/zy LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2
.tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0a line-hor-dashed
.selection/zy LDZ #07 AND #00 EQU ,&skip-hor JCN
.selection/zy LDZ #07 AND #00 EQU ?&skip-hor
.tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0040 ADD2 #0a line-hor-dashed
&skip-hor
POP2r
( guide ver )
#0007 .selection/zx LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2
.tileview/x1 LDZ2 STH2kr ADD2 .tileview/y1 LDZ2 #0a line-ver-dashed
.selection/zx LDZ #07 AND #00 EQU ,&skip-ver JCN
.selection/zx LDZ #07 AND #00 EQU ?&skip-ver
.tileview/x1 LDZ2 STH2kr ADD2 #0040 ADD2 .tileview/y1 LDZ2 #0a line-ver-dashed
&skip-ver
POP2r
@ -737,12 +737,12 @@ JMP2r
( addr* ) #0003 MUL2 ;nametable ADD2
LDA2k ;spritesheet ADD2 .Screen/addr DEO2
( color ) INC2 INC2 LDA .Screen/sprite DEO
INC GTHk ,&hor JCN
INC GTHk ?&hor
POP2
POPr
.nametableview/x LDZ2 .Screen/x DEO2
draw-lb
INC GTHk ,&ver JCN
INC GTHk ?&ver
POP2
JMP2r
@ -758,7 +758,7 @@ JMP2r
@get-pixel ( x* y* -- color )
( channel 1 )
OVR2 SWP2 ,get-pixel-addr JSR [ STH2k ] LDA
OVR2 SWP2 get-pixel-addr [ STH2k ] LDA
ROT ROT NIP #07 AND [ STHk ]
#07 SWP SUB SFT #01 AND
( channel 2 )
@ -785,8 +785,8 @@ JMP2r
@put-pixel ( x* y* color -- )
STH
OVR2 SWP2 ,get-pixel-addr JSR
( ch1 ) OVR2 OVR2 STHkr #00 ,toggle-pixel JSR
OVR2 SWP2 get-pixel-addr
( ch1 ) OVR2 OVR2 STHkr #00 toggle-pixel
( ch2 ) #0008 ADD2 STHr #01
@toggle-pixel ( x* addr* color -- )
@ -795,7 +795,7 @@ JMP2r
LDAk
STH SWP2 NIP
STHr SWP
STH2r SFT #01 AND ,&do-set JCN
STH2r SFT #01 AND ?&do-set
( mask ) #0107 ROT #07 AND SUB #40 SFT SFT #ff EOR AND
( save ) ROT ROT STA
JMP2r
@ -809,10 +809,10 @@ JMP2r
;nametable STH2k #0300 ADD2 STH2r
&loop
LDAk #00 EQU ,&continue JCN
LDAk #00 EQU ?&continue
POP2 POP2 #01 JMP2r
&continue
INC2 GTH2k ,&loop JCN
INC2 GTH2k ?&loop
POP2 POP2
#00
@ -834,9 +834,9 @@ JMP2r
#00 .selection/x1 LDZ #30 SFT ADD2 ,&x STR2
#20 SFT .zoomview/x1 LDZ2 ADD2 .Screen/x DEO2
[ LIT2 &x $2 ] [ LIT2 &y $2 ] get-pixel .Screen/sprite DEO
INC GTHk ,&hor JCN
INC GTHk ?&hor
POP2
INC GTHk ,&ver JCN
INC GTHk ?&ver
POP2
( frame )
@ -870,7 +870,7 @@ JMP2r
( check if within ratio )
.settings/ratio LDZ #0f AND LTH STH
.settings/ratio LDZ #04 SFT LTH STHr
#0101 NEQ2 ,&outside JCN
#0101 NEQ2 ?&outside
( get tile ) STH2kr .Screen/addr DEO2
( get blending ) .settings/blend LDZ .Screen/sprite DEO
( incr ) STH2r #0008 [ .settings/depth LDZ #30 SFT #00 SWP ADD2 ] ADD2 STH2
@ -879,9 +879,9 @@ JMP2r
;halftone-icn .Screen/addr DEO2
#03 .Screen/sprite DEO
&resume
INC GTHk ,&hor JCN
INC GTHk ?&hor
POP2
INC GTHk ;&ver JCN2
INC GTHk ?&ver
POP2
POP2r
@ -919,7 +919,7 @@ JMP2
DUP STHkr GTH #30 SFT #00 SWP ;slider-icns ADD2 .Screen/addr DEO2
#02 .Screen/sprite DEO
.Screen/x DEI2k INC2 INC2 ROT DEO2
INC GTHk ,&loop JCN
INC GTHk ?&loop
POP2
POPr
@ -938,7 +938,7 @@ JMP2r
#00 OVR #32 SFT2 .blendview/y1 LDZ2 ADD2 .Screen/y DEO2
#00 .Screen/sprite DEO
DUP .settings/blend LDZ #b0 AND ADD .Screen/sprite DEO
INC GTHk ,&loop JCN
INC GTHk ?&loop
POP2
#01 .Screen/auto DEO
@ -982,7 +982,7 @@ JMP2r
( skip line )
.dataview/x1 LDZ2 .Screen/x DEO2
draw-lb
INC GTHk ,&loop JCN
INC GTHk ?&loop
POP2
JMP2r
@ -1050,7 +1050,7 @@ JMP2r
#00
&l2
STHkr .Screen/sprite DEO
INC GTHk ,&l2 JCN
INC GTHk ?&l2
POP2
POPr
@ -1080,16 +1080,16 @@ JMP2r
@draw-str-right ( text* -- )
DUP2 ,get-strw JSR STH2
DUP2 get-strw STH2
.Screen/x DEI2k STH2r SUB2 ROT DEO2
@draw-str ( str* -- str* )
LDAk #00 EQU ,&skip JCN
LDAk #00 EQU ?&skip
#01 .Screen/auto DEO
&while
LDAk draw-chr
INC2 LDAk ,&while JCN
INC2 LDAk ?&while
&skip
INC2
@ -1097,11 +1097,11 @@ JMP2r
@draw-short ( short* -- )
SWP ,draw-byte JSR
SWP draw-byte
@draw-byte ( byte -- )
DUP #04 SFT ,draw-hex JSR
DUP #04 SFT draw-hex
@draw-hex ( char -- )
@ -1135,7 +1135,7 @@ JMP
.Screen/auto DEO
.Screen/addr DEO2
STH
#00 &l STHkr ,&paint JSR INC GTHk ,&l JCN POP2
#00 &l STHkr ,&paint JSR INC GTHk ?&l POP2
POPr
JMP2r
&single ( color addr* auto -- )
@ -1213,7 +1213,7 @@ JMP2
#0000
&loop
#00 OVR #40 SFT2 ;spritesheet ADD2 .File/read DEO2
INC NEQk ,&loop JCN
INC NEQk ?&loop
POP2
#00 .state/changed STZ draw-state
;redraw ( .. )
@ -1228,7 +1228,7 @@ JMP2
;spritesheet .File/write DEO2
( nametable )
has-nametable #00 EQU ,&no-nametable JCN
has-nametable #00 EQU ?&no-nametable
;nametable-ext ;filepath scap #0004 mcpy
;filepath .File/name DEO2
#0300 .File/length DEO2
@ -1248,7 +1248,7 @@ JMP2
#0000
&loop
#00 OVR #40 SFT2 ;spritesheet ADD2 .File/write DEO2
INC NEQk ,&loop JCN
INC NEQk ?&loop
POP2
#00 .state/changed STZ ;draw-state ( .. )
@ -1360,11 +1360,11 @@ JMP2r
@within-rect ( x* y* rect -- flag )
STH
( y LTH rect.y1 ) DUP2 STHkr INC2 INC2 LDZ2 LTH2 ,&skip JCN
( y GTH rect.y2 ) DUP2 STHkr #06 ADD LDZ2 GTH2 ,&skip JCN
( y LTH rect.y1 ) DUP2 STHkr INC2 INC2 LDZ2 LTH2 ?&skip
( y GTH rect.y2 ) DUP2 STHkr #06 ADD LDZ2 GTH2 ?&skip
SWP2
( x LTH rect.x1 ) DUP2 STHkr LDZ2 LTH2 ,&skip JCN
( x GTH rect.x2 ) DUP2 STHkr #04 ADD LDZ2 GTH2 ,&skip JCN
( x LTH rect.x1 ) DUP2 STHkr LDZ2 LTH2 ?&skip
( x GTH rect.x2 ) DUP2 STHkr #04 ADD LDZ2 GTH2 ?&skip
POP2 POP2 POPr
#01
JMP2r
@ -1379,7 +1379,7 @@ JMP2r
@rol ( byte -- byte ) DUP #07 SFT SWP DUP ADD ADD JMP2r
@ror ( byte -- byte ) DUP #70 SFT SWP #01 SFT ADD JMP2r
@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ,&loop JCN POP2 POP2 POP2r JMP2r
@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ?&loop POP2 POP2 POP2r JMP2r
(
@|assets )

Loading…
Cancel
Save