~rabbits/turye

7cbbab1858899e7fa849d579217fd5ea68f844a4 — neauoire 4 months ago e844af9
Added export
2 files changed, 55 insertions(+), 15 deletions(-)

M src/manifest.tal
M src/turye.tal
M src/manifest.tal => src/manifest.tal +4 -4
@@ 353,11 353,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/turye.tal => src/turye.tal +51 -11
@@ 21,7 21,7 @@
@state &timer $2
@glyph $1
@cursor &x $2 &y $2
@filepath $40
@src $40
@pangrams-view &x $2 &y $2 &x2 $2 &y2 $2
@editor-view &x $2 &y $2 &x2 $2 &y2 $2
@collection-view &x $2 &y $2 &x2 $2 &y2 $2


@@ 44,7 44,7 @@
	.editor-view/x2 LDZ2 #0020 ADD2 DUP2 .collection-view/x STZ2 #0100 ADD2 .collection-view/x2 STZ2
	.editor-view/y LDZ2 DUP2 .collection-view/y STZ2 #0100 ADD2 .collection-view/y2 STZ2
	( init )
	;untitled-txt ;filepath #000c ;mcpy JSR2
	;untitled-txt ;src #000c ;mcpy JSR2
	;load-theme JSR2
	;draw-menu JSR2
	;redraw-all JSR2


@@ 56,11 56,12 @@ BRK

@manifest

	05 "Turye $1
	06 "Turye $1
		01 "n :file-new "New $1
		01 "r :file-rename "Rename $1
		01 "o :file-open "Open $1
		01 "s :file-save "Save $1
		01 "e :file-export "Export $1
		01 "q :exit "Exit $1
	08 "Edit $1
		01 "c :edit-copy "Copy $1


@@ 104,7 105,7 @@ JMP2r
	( start )
	[ LIT &listening $1 ] ,&no-start JCN
		#01 ,&listening STR
		;filepath #0040 ;mclr JSR2
		;src #0040 ;mclr JSR2
		&no-start
	( end )
	.Console/read DEI


@@ 128,11 129,11 @@ BRK
@capture-trap ( button -- )

	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 ;src ;spop JSR2 POP JMP2r &no-pop
	[ #0a ] NEQk NIP ,&no-load JCN ;file-open JSR2 &no-load
	[ #7f ] NEQk NIP ,&no-delete JCN ;filepath #0040 ;mclr JSR2 POP JMP2r &no-delete
	[ #7f ] NEQk NIP ,&no-delete JCN ;src #0040 ;mclr JSR2 POP JMP2r &no-delete
	[ #20 ] GTHk NIP ,&no-special JCN ;untrap JSR2 POP JMP2r &no-special
	;filepath ;slen JSR2 NIP #3f EQU ,&no-push JCN DUP ;filepath ;sput JSR2 &no-push
	;src ;slen JSR2 NIP #3f EQU ,&no-push JCN DUP ;src ;sput JSR2 &no-push
	POP

JMP2r


@@ 327,7 328,7 @@ JMP2r
	#03 ;get-catx JSR2 .Screen/x DEO2
	#0004 .Screen/y DEO2
	;draw-chr/color STA
	;filepath ;draw-str JSR2 POP2
	;src ;draw-str JSR2 POP2

JMP2r



@@ 523,7 524,7 @@ JMP2r
@file-open ( -- )

	;clear-screen JSR2
	;filepath .File/name DEO2
	;src .File/name DEO2
	#2100 .File/length DEO2
	;font .File/read DEO2
	;redraw-all JSR2


@@ 532,13 533,43 @@ JMP2r

@file-save ( -- )

	;filepath .File/name DEO2
	;src .File/name DEO2
	#2100 .File/length DEO2
	;font .File/write DEO2
	#01 ;draw-state JSR2

JMP2r

@file-export ( -- )

	;src ;scap JSR2 STH2
	;dict/tal-ext STH2kr ;scpy JSR2
	;src .File/name DEO2
	#0001 .File/length DEO2
	;dict/font ;fstr JSR2
	( sizes )
	;font #0080 ;fmem JSR2
	#0a ;fchr JSR2
	( glyphs )
	;dict/glyphs ;fstr JSR2
	;font/glyphs #0400 ADD2 #1000 ;fmem JSR2
	#0a ;fchr JSR2
	#00 STH2r STA

JMP2r

@fmem ( addr* len* -- )

	ADD2k NIP2 SWP2
	&l
		SUB2k #000f AND2 NIP #00 EQU
		#0a20 ROT [ JMP SWP POP ] ;fchr JSR2
		LDA2k ;fhex JSR2
		INC2 INC2 GTH2k ,&l JCN
	POP2 POP2

JMP2r

( snarf )

@snarf-txt ".snarf $1


@@ 635,14 666,23 @@ JMP2r
(
@|stdlib )

@fhex ( short* -- ) SWP ,&b JSR &b DUP #04 SFT ,&c JSR &c #0f AND DUP #09 GTH #27 MUL ADD #30 ADD ,fchr JSR JMP2r
@fchr ( chr -- ) ,&b STR #0001 .File/length DEO2 ;&b .File/write DEO2 JMP2r &b $1
@fstr ( str* -- ) DUP2 ;slen JSR2 .File/length DEO2 .File/write DEO2 JMP2r

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

@untitled-txt "untitled.uf2 $1

@dict
	&font "@font $1
	&glyphs "&glyphs $1
	&tal-ext ".tal $1

@pangrams-txt
	"Gaza 20 "frequens 20 "Lybicum 20 "duxit 20 "Karthago 20 "triumphum. 0a
	"Portez 20 "ce 20 "vieux 20 "whisky 20 "au 20 "juge 20 "blond 20 "qui 20 "fume. 0a
	"The 20 "five 20 "boxing 20 "wizards 20 "jump 20 "quickly. $1
	09 "The 20 "five 20 "boxing 20 "wizards 20 "jump 20 "quickly. $1

@state-icn
	0000 0000 0010 387c