~aleteoryx/uxn

904b541f98197556c589550e12d4af82f70b6502 — Aleteoryx 3 days ago a5d56a8
HES DA CROKR
3 files changed, 34 insertions(+), 3 deletions(-)

A decroaker.tal
M mkfile
M rot.tal
A decroaker.tal => decroaker.tal +30 -0
@@ 0,0 1,30 @@
( $ echo "I'ANTACS M D. NRKHDNYOOA UAOOT Y FCRT U DMOKKDCEE OLLEASBL! EY." | decroaker.rom
  IM NOT DEAD YOU CANNOT DESTROY ME BAKA FOOL CHUCKLES DARKLY )

@on-reset ( -> )
	;on-char #10 DEO2
	BRK

@on-char ( -> )
	#12 DEI
	DUP [ LIT "A ] SUB #26 LTH
	JMP BRK
	( >> )

@add-char ( c -- )
	[ LIT &ptr 00 ]
	STZk
	INC DUP ,/ptr STR

	#31 EQU JMP BRK
	( >> )

@finish ( -- )
	[ LIT2r 0a18 ]
	#3000 &loop
		OVR DIVk MUL SUB
		LDZk STHrk DEO
		#07 ADD NEQk ?/loop
	LDZ STHrk DEO
	STH2r DEO #800f DEO BRK
	

M mkfile => mkfile +2 -1
@@ 4,7 4,8 @@ roms=\
	bfc.rom\
	lzw.rom\
	grep.rom\
	rot.rom
	rot.rom\
	decroaker.rom

all:VQ: $roms


M rot.tal => rot.tal +2 -2
@@ 9,7 9,7 @@

@on-arg ( -> )
	#17 DEI
	#02 NEQk ?{ POP2 !/one-digit }
	#02 EQUk ?/one-digit
	INC EQUk ?usage

	( argend )


@@ 46,5 46,5 @@
	DIVk MUL SUB			( mod )
	ADD
	#18 DEO
	POP2 BRK
	BRK