Browse Source

Migrated a few JSR2 to JSI

main
Devine Lu Linvega 3 years ago
parent
commit
b8bd37720f
  1. 286
      src/nasu.tal

286
src/nasu.tal

@ -46,24 +46,24 @@
#32 .settings/ratio STZ #32 .settings/ratio STZ
#01 .settings/tool STZ #01 .settings/tool STZ
#00 .settings/brush STZ #00 .settings/brush STZ
;set-focus JSR2 set-focus
( place ) ( place )
.Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 SUB2 #001b .frame/width LDZ2 .frame/height LDZ2 ;frame ;set-size JSR2 .Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 SUB2 #001b .frame/width LDZ2 .frame/height LDZ2 ;frame set-size
.frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;tileview ;set-size JSR2 .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;tileview set-size
.frame/x1 LDZ2 #0089 ADD2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;nametableview ;set-size JSR2 .frame/x1 LDZ2 #0089 ADD2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;nametableview set-size
.frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #001f #002f ;zoomview ;set-size JSR2 .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #001f #002f ;zoomview set-size
.frame/x1 LDZ2 #002f ADD2 .frame/y1 LDZ2 #001f #002f ;preview ;set-size JSR2 .frame/x1 LDZ2 #002f ADD2 .frame/y1 LDZ2 #001f #002f ;preview set-size
.frame/x1 LDZ2 #005f ADD2 .frame/y1 LDZ2 #0020 #002f ;colorview ;set-size JSR2 .frame/x1 LDZ2 #005f ADD2 .frame/y1 LDZ2 #0020 #002f ;colorview set-size
.frame/x1 LDZ2 #008f ADD2 .frame/y1 LDZ2 #001f #002f ;blendview ;set-size JSR2 .frame/x1 LDZ2 #008f ADD2 .frame/y1 LDZ2 #001f #002f ;blendview set-size
.frame/x1 LDZ2 #00bf ADD2 .frame/y1 LDZ2 #0048 #002f ;dataview ;set-size JSR2 .frame/x1 LDZ2 #00bf ADD2 .frame/y1 LDZ2 #0048 #002f ;dataview set-size
.tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ADD2 .frame/width LDZ2 #0008 ;toolview ;set-size JSR2 .tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ADD2 .frame/width LDZ2 #0008 ;toolview set-size
( static drawings ) ( static drawings )
;load-theme JSR2 load-theme
;draw-once JSR2 draw-once
( begin ) ( begin )
;file-new JSR2 file-new
;draw-menu JSR2 draw-menu
;untrap JSR2 untrap
BRK BRK
@ -124,7 +124,7 @@ BRK
#0000 .Screen/vector DEO2 #0000 .Screen/vector DEO2
;on-button .Controller/vector DEO2 ;on-button .Controller/vector DEO2
;on-mouse .Mouse/vector DEO2 ;on-mouse .Mouse/vector DEO2
#01 ;draw-filepath JSR2 #01 draw-filepath
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
JMP2r JMP2r
@ -135,18 +135,18 @@ JMP2r
;on-button-trap .Controller/vector DEO2 ;on-button-trap .Controller/vector DEO2
;on-mouse-trap .Mouse/vector DEO2 ;on-mouse-trap .Mouse/vector DEO2
( clear cursor ) ( clear cursor )
#40 ;draw-cursor JSR2 #40 draw-cursor
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
JMP2r JMP2r
@on-console ( -> ) @on-console ( -> )
#00 ;draw-filepath JSR2 #00 draw-filepath
( start ) ( start )
[ LIT &listening $1 ] ,&no-start JCN [ LIT &listening $1 ] ,&no-start JCN
#01 ,&listening STR #01 ,&listening STR
;filepath #0040 ;mclr JSR2 ;filepath #0040 mclr
&no-start &no-start
( end ) ( end )
.Console/read DEI .Console/read DEI
@ -155,27 +155,27 @@ JMP2r
&no-end &no-end
( capture ) ( capture )
,capture-trap JSR ,capture-trap JSR
#01 ;draw-filepath JSR2 #01 draw-filepath
BRK BRK
@on-button-trap ( -> ) @on-button-trap ( -> )
#00 ;draw-filepath JSR2 #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 JSR
#01 ;draw-filepath JSR2 #01 draw-filepath
BRK BRK
@capture-trap ( button -- ) @capture-trap ( button -- )
DUP ,&no-null JCN POP JMP2r &no-null DUP ,&no-null JCN POP JMP2r &no-null
[ #08 ] NEQk NIP ,&no-pop JCN ;filepath ;spop JSR2 POP JMP2r &no-pop [ #08 ] NEQk NIP ,&no-pop JCN ;filepath spop POP JMP2r &no-pop
[ #0a ] NEQk NIP ,&no-load JCN ;file-open JSR2 &no-load [ #0a ] NEQk NIP ,&no-load JCN file-open &no-load
[ #7f ] NEQk NIP ,&no-delete JCN ;filepath #0040 ;mclr JSR2 POP JMP2r &no-delete [ #7f ] NEQk NIP ,&no-delete JCN ;filepath #0040 mclr POP JMP2r &no-delete
[ #20 ] GTHk NIP ,&no-special JCN ;untrap JSR2 POP JMP2r &no-special [ #20 ] GTHk NIP ,&no-special JCN untrap POP JMP2r &no-special
;filepath ;slen JSR2 NIP #3f EQU ,&no-push JCN ;filepath slen NIP #3f EQU ,&no-push JCN
DUP ;filepath ;sput JSR2 DUP ;filepath sput
&no-push &no-push
POP POP
@ -186,7 +186,7 @@ JMP2r
( release trap on touch ) ( release trap on touch )
.Mouse/state DEI ,&release JCN BRK &release .Mouse/state DEI ,&release JCN BRK &release
;untrap JSR2 untrap
BRK BRK
@ -194,7 +194,7 @@ BRK
.state/timer LDZ .state/timer LDZ
DUP #07 AND ,&no-blink JCN DUP #07 AND ,&no-blink JCN
DUP #03 SFT #01 AND #30 SFT INC ;draw-filepath JSR2 DUP #03 SFT #01 AND #30 SFT INC draw-filepath
&no-blink &no-blink
INC .state/timer STZ INC .state/timer STZ
@ -202,7 +202,7 @@ BRK
@on-button ( -> ) @on-button ( -> )
.Controller/button DEI2 ;find-modkey JSR2 .Controller/button DEI2 find-modkey
ORAk #00 EQU ,&skip JCN ORAk #00 EQU ,&skip JCN
DUP2 JSR2 DUP2 JSR2
&skip &skip
@ -216,17 +216,17 @@ BRK
( color ) #42 .Mouse/state DEI #00 NEQ ADD ( color ) #42 .Mouse/state DEI #00 NEQ ADD
( addr* ) ;brush-icn #00 .settings/tool LDZ #30 SFT ADD2 ( addr* ) ;brush-icn #00 .settings/tool LDZ #30 SFT ADD2
;update-cursor JSR2 update-cursor
#01 .Screen/auto DEO #01 .Screen/auto DEO
.Mouse/state DEI #00 EQU ,&no-touch JCN .Mouse/state DEI #00 EQU ,&no-touch JCN
.Mouse/x DEI2 .Mouse/y DEI2 .tileview ;within-rect JSR2 ;on-touch-tileview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .tileview within-rect ;on-touch-tileview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .nametableview ;within-rect JSR2 ;on-touch-nametable JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .nametableview within-rect ;on-touch-nametable JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .toolview ;within-rect JSR2 ;on-touch-toolview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .toolview within-rect ;on-touch-toolview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .blendview ;within-rect JSR2 ;on-touch-blendview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .blendview within-rect ;on-touch-blendview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .colorview ;within-rect JSR2 ;on-touch-colorview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .colorview within-rect ;on-touch-colorview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .preview ;within-rect JSR2 ;on-touch-preview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .preview within-rect ;on-touch-preview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .zoomview ;within-rect JSR2 ;on-touch-zoomview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .zoomview within-rect ;on-touch-zoomview JCN2
&no-touch &no-touch
( release-record ) ( release-record )
#0000 .Mouse/state DEO .cursor/last STZ #0000 .Mouse/state DEO .cursor/last STZ
@ -243,9 +243,9 @@ BRK
.settings/tool LDZ #01 EQU ;&select JCN2 .settings/tool LDZ #01 EQU ;&select JCN2
( paint ) ( paint )
.settings/color LDZ .Mouse/state DEI #01 EQU MUL .settings/color LDZ .Mouse/state DEI #01 EQU MUL
;put-pixel JSR2 put-pixel
#01 .state/changed STZ ;draw-state JSR2 #01 .state/changed STZ draw-state
;redraw JSR2 redraw
BRK BRK
@ -253,9 +253,9 @@ BRK
#33 SFT2 NIP STH #33 SFT2 NIP STH
#33 SFT2 NIP STHr #33 SFT2 NIP STHr
;set-selection-zoom JSR2 set-selection-zoom
;toggle-zoom JSR2 toggle-zoom
;redraw JSR2 redraw
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
BRK BRK
@ -264,9 +264,9 @@ BRK
SWP2 #03 SFT2 #00 .selection/zx LDZ ADD2 SWP2 #03 SFT2 #00 .selection/zx LDZ ADD2
SWP2 #03 SFT2 #00 .selection/zy LDZ ADD2 SWP2 #03 SFT2 #00 .selection/zy LDZ ADD2
.settings/color LDZ .Mouse/state DEI #01 EQU MUL ;put-pixel JSR2 .settings/color LDZ .Mouse/state DEI #01 EQU MUL put-pixel
#01 .state/changed STZ ;draw-state JSR2 #01 .state/changed STZ draw-state
;redraw JSR2 redraw
BRK BRK
@ -276,8 +276,8 @@ BRK
#03 SFT2 NIP STH SWPr #03 SFT2 NIP STH SWPr
.Mouse/state DEI DUP .cursor/last LDZ .Mouse/state DEI DUP .cursor/last LDZ
ORAk #00 EQU ,&end JCN ORAk #00 EQU ,&end JCN
DUP2 #0100 NEQ2 ,&no-down JCN STH2kr ;set-selection-from JSR2 &no-down DUP2 #0100 NEQ2 ,&no-down JCN STH2kr set-selection-from &no-down
DUP2 #0101 NEQ2 ,&no-up JCN STH2kr ;set-selection-to JSR2 &no-up DUP2 #0101 NEQ2 ,&no-up JCN STH2kr set-selection-to &no-up
&end &end
POP2 POP2r POP2 POP2r
.cursor/last STZ .cursor/last STZ
@ -292,8 +292,8 @@ BRK
#0003 MUL2 ;nametable ADD2 STH2 #0003 MUL2 ;nametable ADD2 STH2
.settings/focus LDZ2 ;spritesheet SUB2 STH2kr STA2 .settings/focus LDZ2 ;spritesheet SUB2 STH2kr STA2
.settings/blend LDZ INC2r INC2r STH2r STA .settings/blend LDZ INC2r INC2r STH2r STA
;draw-nametable JSR2 draw-nametable
#01 .state/changed STZ ;draw-state JSR2 #01 .state/changed STZ draw-state
BRK BRK
@ -301,15 +301,15 @@ BRK
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
.Mouse/x DEI2 .toolview/x1 LDZ2 SUB2 #03 SFT2 NIP .Mouse/x DEI2 .toolview/x1 LDZ2 SUB2 #03 SFT2 NIP
[ #20 ] NEQk NIP ,&no-save JCN ;file-save JSR2 POP BRK &no-save [ #20 ] NEQk NIP ,&no-save JCN file-save POP BRK &no-save
[ #1e ] NEQk NIP ,&no-load JCN ;file-open JSR2 POP BRK &no-load [ #1e ] NEQk NIP ,&no-load JCN file-open POP BRK &no-load
[ #1d ] NEQk NIP ,&no-name JCN ;file-new JSR2 POP BRK &no-name [ #1d ] NEQk NIP ,&no-name JCN file-new POP BRK &no-name
[ #04 ] NEQk NIP ,&no-tool0 JCN #00 ;set-tool JSR2 POP BRK &no-tool0 [ #04 ] NEQk NIP ,&no-tool0 JCN #00 set-tool POP BRK &no-tool0
[ #05 ] NEQk NIP ,&no-tool1 JCN #01 ;set-tool JSR2 POP BRK &no-tool1 [ #05 ] NEQk NIP ,&no-tool1 JCN #01 set-tool POP BRK &no-tool1
[ #06 ] NEQk NIP ,&no-tool2 JCN #02 ;set-tool JSR2 &no-tool2 [ #06 ] NEQk NIP ,&no-tool2 JCN #02 set-tool &no-tool2
INCk .settings/color LDZ NEQ ,&no-eraser JCN #00 ;set-color JSR2 POP BRK &no-eraser INCk .settings/color LDZ NEQ ,&no-eraser JCN #00 set-color POP BRK &no-eraser
[ #02 ] GTHk NIP ,&no-color JCN INCk ;set-color JSR2 POP BRK &no-color [ #02 ] GTHk NIP ,&no-color JCN INCk set-color POP BRK &no-color
[ #08 ] LTHk NIP ,&no-rename JCN ;trap JSR2 POP BRK &no-rename [ #08 ] LTHk NIP ,&no-rename JCN trap POP BRK &no-rename
POP POP
BRK BRK
@ -318,10 +318,10 @@ BRK
.Mouse/y DEI2 .zoomview/y1 LDZ2 SUB2 #0020 LTH2 ;&no-mod JCN2 .Mouse/y DEI2 .zoomview/y1 LDZ2 SUB2 #0020 LTH2 ;&no-mod JCN2
.Mouse/x DEI2 .zoomview/x1 LDZ2 SUB2 #03 SFT2 NIP .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 JSR2 &no-su 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 JSR2 &no-sd 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 JSR2 &no-sr 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 JSR2 &no-shiftleft DUP #01 EQU .Mouse/state DEI #01 GTH #0101 NEQ2 ,&no-shiftleft JCN ;op-shiftl run &no-shiftleft
POP POP
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
,&finish JMP ,&finish JMP
@ -330,10 +330,10 @@ BRK
.Mouse/x DEI2 .zoomview/x1 LDZ2 SUB2 #02 SFT2 #00 .selection/x1 LDZ #30 SFT2 ADD2 .Mouse/x DEI2 .zoomview/x1 LDZ2 SUB2 #02 SFT2 #00 .selection/x1 LDZ #30 SFT2 ADD2
.Mouse/y DEI2 .zoomview/y1 LDZ2 SUB2 #02 SFT2 #00 .selection/y1 LDZ #30 SFT2 ADD2 .Mouse/y DEI2 .zoomview/y1 LDZ2 SUB2 #02 SFT2 #00 .selection/y1 LDZ #30 SFT2 ADD2
.settings/color LDZ .Mouse/state DEI #01 EQU MUL .settings/color LDZ .Mouse/state DEI #01 EQU MUL
;put-pixel JSR2 put-pixel
&finish &finish
#01 .state/changed STZ ;draw-state JSR2 #01 .state/changed STZ draw-state
;redraw JSR2 redraw
BRK BRK
@ -342,7 +342,7 @@ BRK
( y ) .Mouse/y DEI2 .preview/y1 LDZ2 SUB2 #03 SFT2 NIP #03 AND ( y ) .Mouse/y DEI2 .preview/y1 LDZ2 SUB2 #03 SFT2 NIP #03 AND
( x ) .Mouse/x DEI2 .preview/x1 LDZ2 SUB2 #03 SFT2 NIP ( x ) .Mouse/x DEI2 .preview/x1 LDZ2 SUB2 #03 SFT2 NIP
#40 SFT ADD #11 ADD .settings/ratio STZ #40 SFT ADD #11 ADD .settings/ratio STZ
;draw-preview JSR2 draw-preview
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
BRK BRK
@ -354,7 +354,7 @@ BRK
[ #01 ] NEQk NIP ,&no-g JCN .System/g STHk ,&set-color JSR STHr ,&set-nibble JSR &no-g [ #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 [ #02 ] NEQk NIP ,&no-b JCN .System/b STHk ,&set-color JSR STHr ,&set-nibble JSR &no-b
POP POP
;redraw JSR2 redraw
BRK BRK
&set-nibble ( -- ) &set-nibble ( -- )
@ -381,8 +381,8 @@ BRK
[ #03 NEQk NIP ] ,&no-hor JCN .settings/blend STHk LDZ #10 EOR STHr STZ &no-hor [ #03 NEQk NIP ] ,&no-hor JCN .settings/blend STHk LDZ #10 EOR STHr STZ &no-hor
&end &end
POP POP
;draw-blendview JSR2 draw-blendview
;draw-preview JSR2 draw-preview
( release mouse ) #00 .Mouse/state DEO ( release mouse ) #00 .Mouse/state DEO
BRK BRK
@ -393,7 +393,7 @@ BRK
@toggle-zoom ( -- ) @toggle-zoom ( -- )
.settings/zoom LDZk #00 EQU SWP STZ .settings/zoom LDZk #00 EQU SWP STZ
;draw-tileview JSR2 draw-tileview
;draw-toolview ( .. ) ;draw-toolview ( .. )
JMP2 JMP2
@ -401,7 +401,7 @@ JMP2
@set-color ( color -- ) @set-color ( color -- )
.settings/color STZ .settings/color STZ
;draw-toolview JSR2 draw-toolview
;draw-colorview ( .. ) ;draw-colorview ( .. )
JMP2 JMP2
@ -440,7 +440,7 @@ JMP2r
#0f AND #0f AND
DUP .selection/x1 STZ DUP .selection/x1 STZ
.selection/x2 STZ .selection/x2 STZ
;set-focus JSR2 set-focus
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -449,14 +449,14 @@ JMP2
.selection/y2 STZ .selection/y2 STZ
.selection/x2 STZ .selection/x2 STZ
;clamp-selection JSR2 clamp-selection
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@set-focus ( -- ) @set-focus ( -- )
.selection LDZ2 ;get-tile-addr JSR2 .settings/focus STZ2 .selection LDZ2 get-tile-addr .settings/focus STZ2
JMP2r JMP2r
@ -478,10 +478,10 @@ JMP2r
.selection/y1 LDZ .selection/y2 STZ .selection/y1 LDZ .selection/y2 STZ
&no-y &no-y
.selection/x1 LDZ #30 SFT .selection/y1 LDZ #30 SFT ;set-selection-zoom JSR2 .selection/x1 LDZ #30 SFT .selection/y1 LDZ #30 SFT set-selection-zoom
( focus ) ( focus )
;set-focus JSR2 set-focus
;redraw ( .. ) ;redraw ( .. )
@ -492,11 +492,11 @@ JMP2
( set zoom ) ( set zoom )
.selection/zy LDZ ADD SWP .selection/zy LDZ ADD SWP
.selection/zx LDZ ADD SWP .selection/zx LDZ ADD SWP
;set-selection-zoom JSR2 set-selection-zoom
( set from ) ( set from )
.selection/zx LDZ #03 SFT .selection/zx LDZ #03 SFT
.selection/zy LDZ #03 SFT .selection/zy LDZ #03 SFT
;set-selection-from JSR2 set-selection-from
;draw-tileview-zoom ( .. ) ;draw-tileview-zoom ( .. )
JMP2 JMP2
@ -514,7 +514,7 @@ JMP2
.selection/y1 LDZ .selection/y2 STZ .selection/y1 LDZ .selection/y2 STZ
&no-y &no-y
( focus ) ( focus )
;set-focus JSR2 set-focus
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -529,7 +529,7 @@ JMP2
&ver &ver
.selection/x2 LDZ INC .selection/x1 LDZ .selection/x2 LDZ INC .selection/x1 LDZ
&hor &hor
OVR2 NIP OVR SWP ;get-tile-addr JSR2 STH2kr JSR2 OVR2 NIP OVR SWP get-tile-addr STH2kr JSR2
INC GTHk ,&hor JCN INC GTHk ,&hor JCN
POP2 POP2
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
@ -589,10 +589,10 @@ JMP2r
&loop &loop
( ch1 ) ( ch1 )
#00 OVR STH2kr ADD2 DUP2 #00 OVR STH2kr ADD2 DUP2
LDA [ ;rol JSR2 ] ROT ROT STA LDA rol ROT ROT STA
( ch2 ) ( ch2 )
#00 OVR STH2kr #0008 ADD2 ADD2 DUP2 #00 OVR STH2kr #0008 ADD2 ADD2 DUP2
LDA [ ;rol JSR2 ] ROT ROT STA LDA rol ROT ROT STA
INC GTHk ,&loop JCN INC GTHk ,&loop JCN
POP2 POP2
POP2r POP2r
@ -606,10 +606,10 @@ JMP2r
&loop &loop
( ch1 ) ( ch1 )
#00 OVR STH2kr ADD2 DUP2 #00 OVR STH2kr ADD2 DUP2
LDA [ ;ror JSR2 ] ROT ROT STA LDA ror ROT ROT STA
( ch2 ) ( ch2 )
#00 OVR STH2kr #0008 ADD2 ADD2 DUP2 #00 OVR STH2kr #0008 ADD2 ADD2 DUP2
LDA [ ;ror JSR2 ] ROT ROT STA LDA ror ROT ROT STA
INC GTHk ,&loop JCN INC GTHk ,&loop JCN
POP2 POP2
POP2r POP2r
@ -626,7 +626,7 @@ JMP2r
[ LIT2 &length $2 ] [ LIT2 &length $2 ]
DUP2 .File/length DEO2 DUP2 .File/length DEO2
;&buf SWP2 ;mcpy JSR2 ;&buf SWP2 mcpy
;&buf .File/write DEO2 ;&buf .File/write DEO2
JMP2r JMP2r
@ -637,17 +637,17 @@ JMP2r
@redraw-all ( -- ) @redraw-all ( -- )
;draw-once JSR2 draw-once
@redraw ( -- ) @redraw ( -- )
;draw-toolview JSR2 draw-toolview
;draw-blendview JSR2 draw-blendview
;draw-colorview JSR2 draw-colorview
;draw-dataview JSR2 draw-dataview
;draw-preview JSR2 draw-preview
;draw-tileview JSR2 draw-tileview
;draw-nametable JSR2 draw-nametable
;draw-zoomview ( .. ) ;draw-zoomview ( .. )
JMP2 JMP2
@ -669,7 +669,7 @@ JMP2
#06 .selection/x2 LDZ .selection/x1 LDZ SUB #40 SFT ADD .Screen/auto DEO #06 .selection/x2 LDZ .selection/x1 LDZ SUB #40 SFT ADD .Screen/auto DEO
#00 .selection/x1 LDZ #30 SFT2 .tileview/x1 LDZ2 ADD2 .Screen/x DEO2 #00 .selection/x1 LDZ #30 SFT2 .tileview/x1 LDZ2 ADD2 .Screen/x DEO2
#00 .selection/y1 LDZ #30 SFT2 .tileview/y1 LDZ2 ADD2 .Screen/y DEO2 #00 .selection/y1 LDZ #30 SFT2 .tileview/y1 LDZ2 ADD2 .Screen/y DEO2
.selection LDZ2 ;get-tile-addr JSR2 ,&sprite STR2 .selection LDZ2 get-tile-addr ,&sprite STR2
.selection/y2 LDZ .selection/y1 LDZ SUB INC #00 .selection/y2 LDZ .selection/y1 LDZ SUB INC #00
&loop-sel &loop-sel
#00 OVR #80 SFT2 [ LIT2 &sprite $2 ] ADD2 .Screen/addr DEO2 #00 OVR #80 SFT2 [ LIT2 &sprite $2 ] ADD2 .Screen/addr DEO2
@ -685,7 +685,7 @@ JMP2
#04 ;draw-chr/color STA #04 ;draw-chr/color STA
.selection/x2 LDZ .selection/x1 LDZ SUB INC #40 SFT .selection/x2 LDZ .selection/x1 LDZ SUB INC #40 SFT
.selection/y2 LDZ .selection/y1 LDZ SUB INC ORA .selection/y2 LDZ .selection/y1 LDZ SUB INC ORA
;draw-byte JSR2 draw-byte
&no-label &no-label
JMP2r JMP2r
@ -702,23 +702,23 @@ JMP2r
OVR2 NIP OVR SWP OVR2 NIP OVR SWP
( y ) .selection/zy LDZ ADD #00 SWP ( y ) .selection/zy LDZ ADD #00 SWP
( x ) ROT .selection/zx LDZ ADD #00 SWP SWP2 ( x ) ROT .selection/zx LDZ ADD #00 SWP SWP2
;get-pixel JSR2 .Screen/sprite DEO get-pixel .Screen/sprite DEO
INC GTHk ,&hor JCN INC GTHk ,&hor JCN
POP2 POP2
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
POP2 POP2
( guide hor ) ( guide hor )
#0007 .selection/zy LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2 #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 JSR2 .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 JCN
.tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0040 ADD2 #0a ;line-hor-dashed JSR2 .tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0040 ADD2 #0a line-hor-dashed
&skip-hor &skip-hor
POP2r POP2r
( guide ver ) ( guide ver )
#0007 .selection/zx LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2 #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 JSR2 .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 JCN
.tileview/x1 LDZ2 STH2kr ADD2 #0040 ADD2 .tileview/y1 LDZ2 #0a ;line-ver-dashed JSR2 .tileview/x1 LDZ2 STH2kr ADD2 #0040 ADD2 .tileview/y1 LDZ2 #0a line-ver-dashed
&skip-ver &skip-ver
POP2r POP2r
@ -741,7 +741,7 @@ JMP2r
POP2 POP2
POPr POPr
.nametableview/x LDZ2 .Screen/x DEO2 .nametableview/x LDZ2 .Screen/x DEO2
;draw-lb JSR2 draw-lb
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
POP2 POP2
@ -833,7 +833,7 @@ JMP2r
#00 OVRk #00 OVRk
#00 .selection/x1 LDZ #30 SFT ADD2 ,&x STR2 #00 .selection/x1 LDZ #30 SFT ADD2 ,&x STR2
#20 SFT .zoomview/x1 LDZ2 ADD2 .Screen/x DEO2 #20 SFT .zoomview/x1 LDZ2 ADD2 .Screen/x DEO2
[ LIT2 &x $2 ] [ LIT2 &y $2 ] ;get-pixel JSR2 .Screen/sprite DEO [ LIT2 &x $2 ] [ LIT2 &y $2 ] get-pixel .Screen/sprite DEO
INC GTHk ,&hor JCN INC GTHk ,&hor JCN
POP2 POP2
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
@ -842,7 +842,7 @@ JMP2r
( frame ) ( frame )
.zoomview/x1 LDZ2 .Screen/x DEO2 .zoomview/x1 LDZ2 .Screen/x DEO2
.zoomview/y1 LDZ2 .Screen/y DEO2 .zoomview/y1 LDZ2 .Screen/y DEO2
#0404 ;frame2-chr ;draw-frame JSR2 #0404 ;frame2-chr draw-frame
( label ) ( label )
#01 .Screen/auto DEO #01 .Screen/auto DEO
@ -898,9 +898,9 @@ JMP2
.colorview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2 .colorview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2
.colorview/x1 LDZ2 .Screen/x DEO2 .colorview/x1 LDZ2 .Screen/x DEO2
#03 ;draw-chr/color STA #03 ;draw-chr/color STA
.System/r ,&get-color JSR ;draw-hex JSR2 .System/r ,&get-color JSR draw-hex
.System/g ,&get-color JSR ;draw-hex JSR2 .System/g ,&get-color JSR draw-hex
.System/b ,&get-color JSR ;draw-hex JSR2 .System/b ,&get-color JSR draw-hex
.colorview/x1 LDZ2 .colorview/y1 LDZ2 .colorview/x1 LDZ2 .colorview/y1 LDZ2
#00 .Screen/auto DEO #00 .Screen/auto DEO
@ -946,7 +946,7 @@ JMP2r
.blendview/x1 LDZ2 .Screen/x DEO2 .blendview/x1 LDZ2 .Screen/x DEO2
.blendview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2 .blendview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2
#03 ;draw-chr/color STA #03 ;draw-chr/color STA
( get blending ) .settings/blend LDZ ;draw-byte JSR2 ( get blending ) .settings/blend LDZ draw-byte
( y ) ( y )
.blendview/x1 LDZ2 #0010 ADD2 .Screen/x DEO2 .blendview/x1 LDZ2 #0010 ADD2 .Screen/x DEO2
@ -968,20 +968,20 @@ JMP2r
.dataview/x1 LDZ2 .Screen/x DEO2 .dataview/x1 LDZ2 .Screen/x DEO2
.dataview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2 .dataview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2
#03 ;draw-chr/color STA #03 ;draw-chr/color STA
.selection LDZ2 #40 SFT ADD ;draw-byte JSR2 .selection LDZ2 #40 SFT ADD draw-byte
.dataview/y1 LDZ2 .Screen/y DEO2 .dataview/y1 LDZ2 .Screen/y DEO2
#0400 #0400
&loop &loop
.dataview/x1 LDZ2 .Screen/x DEO2 .dataview/x1 LDZ2 .Screen/x DEO2
#00 OVR DUP ADD .settings/focus LDZ2 ADD2 #00 OVR DUP ADD .settings/focus LDZ2 ADD2
#01 ;draw-chr/color STA #01 ;draw-chr/color STA
( ch1 ) LDA2k ;draw-short JSR2 ( ch1 ) LDA2k draw-short
.Screen/x DEI2k #000c ADD2 ROT DEO2 .Screen/x DEI2k #000c ADD2 ROT DEO2
#02 ;draw-chr/color STA #02 ;draw-chr/color STA
( ch2 ) #0008 ADD2 LDA2 ;draw-short JSR2 ( ch2 ) #0008 ADD2 LDA2 draw-short
( skip line ) ( skip line )
.dataview/x1 LDZ2 .Screen/x DEO2 .dataview/x1 LDZ2 .Screen/x DEO2
;draw-lb JSR2 draw-lb
INC GTHk ,&loop JCN INC GTHk ,&loop JCN
POP2 POP2
@ -1007,7 +1007,7 @@ JMP2r
;zoom-icns [ #00 .settings/zoom LDZ #30 SFT2 ADD2 ] .Screen/addr DEO2 ;zoom-icns [ #00 .settings/zoom LDZ #30 SFT2 ADD2 ] .Screen/addr DEO2
#01 .settings/tool LDZ #02 EQU ADD .Screen/sprite DEO #01 .settings/tool LDZ #02 EQU ADD .Screen/sprite DEO
( file i/o ) ( file i/o )
;draw-state JSR2 draw-state
.toolview/x2 LDZ2 STH2k #0018 SUB2 .Screen/x DEO2 .toolview/x2 LDZ2 STH2k #0018 SUB2 .Screen/x DEO2
;load-icn .Screen/addr DEO2 ;load-icn .Screen/addr DEO2
#01 .Screen/sprite DEO #01 .Screen/sprite DEO
@ -1035,9 +1035,9 @@ JMP2r
;draw-chr/color STA ;draw-chr/color STA
;filepath ;filepath
( scroll ) ( scroll )
DUP2 ;slen JSR2 #0013 GTH2 #00 SWP DUP2 slen #0013 GTH2 #00 SWP
;filepath ;slen JSR2 #0013 SUB2 MUL2 ADD2 ;filepath slen #0013 SUB2 MUL2 ADD2
;draw-str JSR2 POP2 draw-str POP2
JMP2r JMP2r
@ -1060,11 +1060,11 @@ JMP2r
.tileview/x1 LDZ2 .Screen/x DEO2 .tileview/x1 LDZ2 .Screen/x DEO2
.tileview/y1 LDZ2 .Screen/y DEO2 .tileview/y1 LDZ2 .Screen/y DEO2
#1010 ;frame2-chr ;draw-frame JSR2 #1010 ;frame2-chr draw-frame
.nametableview/x LDZ2 .Screen/x DEO2 .nametableview/x LDZ2 .Screen/x DEO2
.nametableview/y LDZ2 .Screen/y DEO2 .nametableview/y LDZ2 .Screen/y DEO2
#1010 ;frame2-chr ;draw-frame JSR2 #1010 ;frame2-chr draw-frame
#01 .Screen/auto DEO #01 .Screen/auto DEO
@ -1074,7 +1074,7 @@ JMP2r
@get-strw ( str* -- width* ) @get-strw ( str* -- width* )
;slen JSR2 #30 SFT2 slen #30 SFT2
JMP2r JMP2r
@ -1088,7 +1088,7 @@ JMP2r
LDAk #00 EQU ,&skip JCN LDAk #00 EQU ,&skip JCN
#01 .Screen/auto DEO #01 .Screen/auto DEO
&while &while
LDAk ;draw-chr JSR2 LDAk draw-chr
INC2 LDAk ,&while JCN INC2 LDAk ,&while JCN
&skip &skip
INC2 INC2
@ -1172,13 +1172,13 @@ JMP2r
@file-new ( -- ) @file-new ( -- )
#00 ;draw-filepath JSR2 #00 draw-filepath
( clear ) ( clear )
;spritesheet #1300 ;mclr JSR2 ;spritesheet #1300 mclr
( rename to untitled.txt ) ( rename to untitled.txt )
;filepath #0040 ;mclr JSR2 ;filepath #0040 mclr
;untitled-txt ;filepath ;scpy JSR2 ;untitled-txt ;filepath scpy
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ draw-state
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -1186,19 +1186,19 @@ JMP2
@file-open ( -- ) @file-open ( -- )
( clear ) ( clear )
;spritesheet #1300 ;mclr JSR2 ;spritesheet #1300 mclr
( spritesheet ) ( spritesheet )
;filepath .File/name DEO2 ;filepath .File/name DEO2
#1000 .File/length DEO2 #1000 .File/length DEO2
;spritesheet .File/read DEO2 ;spritesheet .File/read DEO2
( nametable ) ( nametable )
;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2 ;nametable-ext ;filepath scap #0004 mcpy
;filepath .File/name DEO2 ;filepath .File/name DEO2
#0300 .File/length DEO2 #0300 .File/length DEO2
;nametable .File/read DEO2 ;nametable .File/read DEO2
;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2 ;filepath scap #0004 SUB2 #0004 mclr
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ draw-state
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -1206,7 +1206,7 @@ JMP2
@file-open-mono ( -- ) @file-open-mono ( -- )
( clear ) ( clear )
;spritesheet #1300 ;mclr JSR2 ;spritesheet #1300 mclr
( spritesheet ) ( spritesheet )
;filepath .File/name DEO2 ;filepath .File/name DEO2
#0008 .File/length DEO2 #0008 .File/length DEO2
@ -1215,7 +1215,7 @@ JMP2
#00 OVR #40 SFT2 ;spritesheet ADD2 .File/read DEO2 #00 OVR #40 SFT2 ;spritesheet ADD2 .File/read DEO2
INC NEQk ,&loop JCN INC NEQk ,&loop JCN
POP2 POP2
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ draw-state
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -1228,12 +1228,12 @@ JMP2
;spritesheet .File/write DEO2 ;spritesheet .File/write DEO2
( nametable ) ( nametable )
;has-nametable JSR2 #00 EQU ,&no-nametable JCN has-nametable #00 EQU ,&no-nametable JCN
;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2 ;nametable-ext ;filepath scap #0004 mcpy
;filepath .File/name DEO2 ;filepath .File/name DEO2
#0300 .File/length DEO2 #0300 .File/length DEO2
;nametable .File/write DEO2 ;nametable .File/write DEO2
;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2 ;filepath scap #0004 SUB2 #0004 mclr
&no-nametable &no-nametable
#00 .state/changed STZ ;draw-state ( .. ) #00 .state/changed STZ ;draw-state ( .. )
@ -1273,7 +1273,7 @@ JMP2r
;snarf-txt .File/name DEO2 ;snarf-txt .File/name DEO2
#0008 ;op-write/length STA2 #0008 ;op-write/length STA2
;op-write ;run JSR2 ;op-write run
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -1282,7 +1282,7 @@ JMP2
;snarf-txt .File/name DEO2 ;snarf-txt .File/name DEO2
#0010 ;op-write/length STA2 #0010 ;op-write/length STA2
;op-write ;run JSR2 ;op-write run
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@ -1291,23 +1291,23 @@ JMP2
;snarf-txt .File/name DEO2 ;snarf-txt .File/name DEO2
#0010 .File/length DEO2 #0010 .File/length DEO2
;op-read ;run JSR2 ;op-read run
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@edit-cut ( -- ) @edit-cut ( -- )
;edit-copy-chr JSR2 edit-copy-chr
;op-erase ;run JSR2 ;op-erase run
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2
@edit-erase ( -- ) @edit-erase ( -- )
;op-erase ;run JSR2 ;op-erase run
#01 .state/changed STZ ;draw-state JSR2 #01 .state/changed STZ draw-state
;redraw ( .. ) ;redraw ( .. )
JMP2 JMP2

Loading…
Cancel
Save