~rabbits/nasu

f7e133dcd96ce586defc412ed003fd51897197e3 — Devine Lu Linvega 2 months ago 67037ae
New metadata
2 files changed, 89 insertions(+), 88 deletions(-)

M src/manifest.tal
M src/nasu.tal
M src/manifest.tal => src/manifest.tal +85 -8
@@ 1,4 1,5 @@
( manifest )
(
@|manifest )

@trap-menu ( -> )



@@ 243,8 244,7 @@ JMP2r
	LDAk STH INC2 ;skip-str JSR2
	STHr #00
	&subcat
		STHk
		( theme ) #070b STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
		( theme ) STHk #070b STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
		[ LIT2 &anchor $2 ] .Screen/x DEO2
		#00 OVR INC #30 SFT2 #0004 ADD2 .Screen/y DEO2
		SWP2 ;draw-label JSR2 SWP2


@@ 326,7 326,84 @@ JMP2r

JMP2r

( theme )
(
@|about )

@about
&on-mouse ( -> )
	.Mouse/state DEI ,&on-control JCN
	BRK
&on-control ( -> )
	,&hide JSR
BRK
&toggle ( -- )
	[ LIT &active 00 ] ,&hide JCN
	#01 ,&active STR
	;draw-about JSR2
	;&on-mouse .Mouse/vector DEO2
	;&on-control .Controller/vector DEO2
JMP2r
&hide ( -- )
	#00 ,&active STR
	;clear-about JSR2
	;untrap ( .. )
JMP2

@draw-about ( -- )

	( frame )
	.Screen/width DEI2 #01 SFT2 #0070 SUB2 STH2k .Screen/x DEO2
	.Screen/height DEI2 #01 SFT2 #0010 SUB2 STH2k .Screen/y DEO2
	#1c06 ;frame1-chr ;draw-frame JSR2
	( fill )
	STH2r .Screen/y DEO2
	STH2r .Screen/x DEO2
	#1c #0351 ;fill-icn ;draw-fill-fast JSR2
	.Screen/x DEI2k #00e0 SUB2 ROT DEO2
	( icon )
	.Screen/x DEI2k #0008 ADD2 ROT DEO2
	.Screen/y DEI2k #000c ADD2 ROT DEO2
	#03 #8526 ;appicon ;draw-fill-fast JSR2
	.Screen/x DEI2k #0020 ADD2 ROT DEO2
	.Screen/y DEI2k #001c SUB2 ROT DEO2
	#0a ;draw-chr/color STA
	;meta/body ( .. )

@draw-txt ( txt* -- )

	#01 .Screen/auto DEO
	.Screen/x DEI2 ,&anchor STR2
	&w
		LDAk #20 LTH ,&no-char JCN
			LDAk ;draw-chr JSR2
			&no-char
		LDAk #0a NEQ ,&no-lb JCN
			[ LIT2 &anchor $2 ] .Screen/x DEO2
			,draw-lb JSR
			&no-lb
		INC2 LDAk ,&w JCN
	POP2

JMP2r

@draw-lb ( -- )

	.Screen/y DEI2k #0008 ADD2 ROT DEO2

JMP2r

@clear-about ( -- )

	.Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2
	.Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2
	#22 #0091 ;draw-fill-fast/blank JSR2
	;redraw-all JSR2
	;draw-menu ( .. )

JMP2

(
@|theme )

@load-theme ( -- )



@@ 353,11 430,11 @@ JMP2r
@scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ,&w JCN POP2 #00 STH2r STA JMP2r
@mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ,&l JCN POP2 POP2 JMP2r

@print ( short* -- )
@phex ( short* -- )

	SWP ,&byte JSR
	&byte ( byte -- ) DUP #04 SFT ,&char JSR
	&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
	SWP ,&b JSR
	&b ( byte -- ) DUP #04 SFT ,&c JSR
	&c ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO

JMP2r


M src/nasu.tal => src/nasu.tal +4 -80
@@ 746,7 746,8 @@ JMP2r
			INC GTHk ,&hor JCN
		POP2
		POPr
		.nametableview/x LDZ2 ;draw-lb JSR2
		.nametableview/x LDZ2 .Screen/x DEO2
		;draw-lb JSR2
		INC GTHk ,&ver JCN
	POP2



@@ 985,7 986,8 @@ JMP2r
			#02 ;draw-chr/color STA
			( ch2 ) #0008 ADD2 LDA2 ;draw-short JSR2
		( skip line )
		.dataview/x1 LDZ2 ;draw-lb JSR2
		.dataview/x1 LDZ2 .Screen/x DEO2
		;draw-lb JSR2
		INC GTHk ,&loop JCN
	POP2



@@ 1386,84 1388,6 @@ JMP2r
@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ,&loop JCN POP2 POP2 POP2r JMP2r

(
@|about )

@about
&on-mouse ( -> )
	.Mouse/state DEI ,&on-control JCN
	BRK
&on-control ( -> )
	,&hide JSR
BRK
&toggle ( -- )
	[ LIT &active 00 ] ,&hide JCN
	#01 ,&active STR
	;draw-about JSR2
	;&on-mouse .Mouse/vector DEO2
	;&on-control .Controller/vector DEO2
JMP2r
&hide ( -- )
	#00 ,&active STR
	;clear-about JSR2
	;untrap ( .. )
JMP2

@draw-about ( -- )

	( frame )
	.Screen/width DEI2 #01 SFT2 #0070 SUB2 STH2k .Screen/x DEO2
	.Screen/height DEI2 #01 SFT2 #0010 SUB2 STH2k .Screen/y DEO2
	#1c06 ;frame1-chr ;draw-frame JSR2
	( fill )
	STH2r .Screen/y DEO2
	STH2r .Screen/x DEO2
	#1c #0351 ;fill-icn ;draw-fill-fast JSR2
	.Screen/x DEI2k #00e0 SUB2 ROT DEO2
	( icon )
	.Screen/x DEI2k #0008 ADD2 ROT DEO2
	.Screen/y DEI2k #000c ADD2 ROT DEO2
	#03 #8526 ;appicon ;draw-fill-fast JSR2
	.Screen/x DEI2k #0020 ADD2 ROT DEO2
	.Screen/y DEI2k #001c SUB2 ROT DEO2
	#0a ;draw-chr/color STA
	;meta/body ;draw-txt JSR2

JMP2r

@draw-txt ( txt* -- )

	#01 .Screen/auto DEO
	.Screen/x DEI2 ,&anchor STR2
	&w
		LDAk #20 LTH ,&no-char JCN
			LDAk ;draw-chr JSR2
			&no-char
		LDAk #0a NEQ ,&no-lb JCN
			[ LIT2 &anchor $2 ] ,draw-lb JSR
			&no-lb
		INC2 LDAk ,&w JCN
	POP2

JMP2r

@draw-lb ( anchor* -- )

	.Screen/x DEO2
	.Screen/y DEI2k #0008 ADD2 ROT DEO2

JMP2r

@clear-about ( -- )

	.Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2
	.Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2
	#22 #0091 ;draw-fill-fast/blank JSR2
	;redraw-all JSR2
	;draw-menu ( .. )

JMP2

(
@|assets )

@untitled-txt "untitled10x10.chr $1