~rabbits/orca-toy

b279fb591cbb128b12d2845a8cb647a8433bf673 — Devine Lu Linvega 22 days ago 6d2cce6
Improved C implementation
1 files changed, 7 insertions(+), 8 deletions(-)

M src/library.tal
M src/library.tal => src/library.tal +7 -8
@@ 38,16 38,15 @@
@op-c-lc get-bang ?&* POP2 JMP2r &*
@op-c ( clock )

	STH2k
	STH2
	( set type ) .types/op STH2kr write-type
	( get rate ) get-port-left1-value ( min1 ) DUP #00 EQU ADD
	( get mod ) STH2kr get-port-right1-raw
		( get case ) DUP ciuc ,&case STR
		( to value ) chrb36 ( min1 ) DUP #00 EQU ADD

	( res ) #00 SWP ROT #00 SWP .timer/frame LDZ2 SWP2 DIV2 SWP2
	.timer/frame LDZ2
	#00 ( get rate ) STH2kr get-port-left1-value ( min1* ) EQUk ADD
		DIV2
	#00 ( get mod ) STH2kr get-port-right1-raw
			( get case ) DUP ciuc ,&case STR
			( to value ) chrb36 ( min1* ) EQUk ADD
		( MOD2 ) [ DIV2k MUL2 SUB2 ] NIP

	( set case ) [ LIT &case $1 ] set-case
	( output ) STH2r !set-port-output-below
	&? "C "Outputs 20 "modulo 20 "of 20 "frame $1