~rabbits/orca-toy

8e9dc06438cd92f0bbb6e0096586faabfe90c5fa — Devine Lu Linvega 7 months ago 4e04349
Updated manifest.tal
2 files changed, 13 insertions(+), 68 deletions(-)

M src/manifest.tal
M src/orca.tal
M src/manifest.tal => src/manifest.tal +10 -65
@@ 95,7 95,7 @@ JMP2r

	;get-sub JSR2
	;menu-close JSR2
	DUP2 #0000 EQU2 ,&skip JCN
	ORAk #00 EQU ,&skip JCN
		DUP2 JSR2
		&skip
	POP2


@@ 247,7 247,7 @@ JMP2r

	,&mask STR POP
	;draw-menu/sel LDA ;get-cat JSR2
	DUP2 #0000 EQU2 ,&skip JCN
	ORAk #00 EQU ,&skip JCN
	;draw-menu/sel LDA ;get-catx JSR2 ,&anchor STR2
	LDAk STH INC2 ;skip-str JSR2
	STHr #00


@@ 359,69 359,14 @@ JMP2r

( stdlib )

@scat ( src* dst* -- )

	DUP2 ,slen JSR ADD2

@scpy ( src* dst* -- )

	STH2
	&while
		LDAk STH2kr STA INC2r
		INC2 LDAk ,&while JCN
	POP2
	#00 STH2r STA

JMP2r

@slen ( str* -- len* )

	DUP2 ,scap JSR SWP2 SUB2

JMP2r

@scap ( str* -- end* )

	LDAk #00 NEQ JMP JMP2r
	&while INC2 LDAk ,&while JCN

JMP2r

@sput ( char str* -- )

	,scap JSR STA

JMP2r

@spop ( str* -- )

	LDAk ,&no-null JCN
		POP2 JMP2r &no-null
	#00 ROT ROT ,scap JSR #0001 SUB2 STA

JMP2r

@mclr ( addr* len* -- )

	OVR2 ADD2 SWP2
	&loop
		STH2k #00 STH2r STA
		INC2 GTH2k ,&loop JCN
	POP2 POP2

JMP2r

@mcpy ( src* dst* len* -- )

	SWP2 STH2
	OVR2 ADD2 SWP2
	&loop
		LDAk STH2kr STA INC2r
		INC2 GTH2k ,&loop JCN
	POP2 POP2
	POP2r

JMP2r
@scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ,&w JCN JMP2r
@spop ( str* -- ) LDAk ,&n JCN POP2 JMP2r &n ,scap JSR #0001 SUB2 #00 ROT ROT STA JMP2r
@sput ( chr str* -- ) ,scap JSR STA JMP2r
@slen ( str* -- len* ) DUP2 ,scap JSR SWP2 SUB2 JMP2r
@scat ( src* dst* -- ) DUP2 ,slen JSR ADD2
@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
@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ,&loop JCN POP2 POP2 POP2r JMP2r

@print ( short* -- )


M src/orca.tal => src/orca.tal +3 -3
@@ 275,9 275,9 @@ BRK
	.Controller/key DEI
	[ #00 ] EQUk NIP ,&end JCN
	[ #1b ] NEQk NIP ,&no-esc JCN ;toggle-insert JSR2 POP BRK &no-esc
	[ #20 ] NEQk NIP ,&no-spc JCN #01 #00 #00 ;mod-sel JSR2 POP BRK &no-spc
	[ #08 ] NEQk NIP ,&no-bks JCN #ff #00 #00 ;mod-sel JSR2 CHAR-DOT ;fill-sel JSR2 POP BRK &no-bks
	DUP ;ci-key JSR2 #00 EQU ,&no-key JCN .Controller/key DEI ;fill-sel JSR2 #01 #00 #00 ;mod-sel JSR2 &no-key
	[ #20 ] NEQk NIP ,&no-spc JCN #01 #0000 ;mod-sel JSR2 POP BRK &no-spc
	[ #08 ] NEQk NIP ,&no-bks JCN #ff #0000 ;mod-sel JSR2 CHAR-DOT ;fill-sel JSR2 POP BRK &no-bks
	DUP ;ci-key JSR2 #00 EQU ,&no-key JCN .Controller/key DEI ;fill-sel JSR2 #01 #0000 ;mod-sel JSR2 &no-key
	&end
	POP