diff --git a/checksum/build.sh b/checksum/build.sh new file mode 100755 index 0000000..c51971c --- /dev/null +++ b/checksum/build.sh @@ -0,0 +1,35 @@ +#!/bin/sh -e + +ASM="uxncli $HOME/roms/drifblim.rom" +EMU="uxncli" +LIN="uxncli $HOME/roms/uxnlin.rom" +APP="$HOME/bin/butler push" + +SRC="checksum.tal" +DST="checksum.rom" + +CPY="$HOME/roms" +ARG="test.txt" + +echo ">> Cleaning" +rm -rf bin +mkdir bin + +if [[ "$*" == *"--lint"* ]] +then + echo ">> Linting $SRC" + $LIN $SRC +fi + +echo ">> Assembling $SRC" +$ASM $SRC $DST + +if [[ "$*" == *"--save"* ]] +then + echo ">> Saving $DST" + cp $DST $CPY +fi + +echo ">> Running $DST" +$EMU $DST $ARG + diff --git a/checksum/checksum.tal b/checksum/checksum.tal index df40f59..c03897f 100644 --- a/checksum/checksum.tal +++ b/checksum/checksum.tal @@ -10,7 +10,6 @@ |0100 ( -> ) ;await-src .Console/vector DEO2 - ;dict/input pstr BRK @@ -23,13 +22,14 @@ BRK @on-ready ( -> ) - #0a18 DEO - ;src hash plong - #0a18 DEO + ;src hash plong #2018 DEO ;src pstr #0a18 DEO #010f DEO BRK +( +@|core ) + @hash ( filename* -- x* y* ) .File/name DEO2 @@ -46,6 +46,9 @@ BRK JMP2r +( +@|stdlib ) + @scap ( str* -- end* ) LDAk #00 NEQ [ JMP JMP2r ] &w INC2 LDAk ?&w JMP2r @sput ( chr str* -- ) @@ -59,6 +62,4 @@ JMP2r &s SWP plong/b &b DUP #04 SFT plong/c &c #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO JMP2r -@dict - &input "Input(.tal): 20 $1