From 2fb917e4b430568efa9c92a4b57f25698a04bd41 Mon Sep 17 00:00:00 2001 From: Tom Everett Date: Sat, 19 Oct 2019 17:08:17 -0600 Subject: [PATCH] added moo.s to build and image --- build/Makefile | 5 +- build/proto | 1 + src/cmd/moo.s | 514 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 519 insertions(+), 1 deletion(-) create mode 100644 src/cmd/moo.s diff --git a/build/Makefile b/build/Makefile index 8bc377b..e74ae75 100644 --- a/build/Makefile +++ b/build/Makefile @@ -97,7 +97,7 @@ cmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \ $(BINDIR)/dskres $(BINDIR)/dsksav $(BINDIR)/ed $(BINDIR)/init \ $(BINDIR)/db $(BINDIR)/stat $(BINDIR)/tm $(BINDIR)/dsw $(BINDIR)/apr \ $(BINDIR)/cas $(BINDIR)/rm $(BINDIR)/rn $(BINDIR)/pd $(BINDIR)/nm \ - $(BINDIR)/roff $(BINDIR)/p $(BINDIR)/apr $(BINDIR)/salv + $(BINDIR)/roff $(BINDIR)/p $(BINDIR)/apr $(BINDIR)/salv $(BINDIR)/moo # Alternate commands: no dd, but . and .. altcmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \ @@ -200,6 +200,9 @@ $(BINDIR)/p: $(CMDSRC)/p0.s $(CMDSRC)/p1.s $(CMDSRC)/p2.s $(CMDSRC)/p3.s $(CMDSR $(BINDIR)/salv: $(CMDSRC)/salv.s $(AS) $(ASARGS) -o $(BINDIR)/salv $(CMDSRC)/salv.s +$(BINDIR)/moo: $(CMDSRC)/moo.s + $(AS) $(ASARGS) -o $(BINDIR)/moo $(CMDSRC)/moo.s + # Alternative init: no dd directory $(BINDIR)/altinit: $(ALTSRC)/init.s $(AS) $(ASARGS) -o $(BINDIR)/altinit $(ALTSRC)/init.s diff --git a/build/proto b/build/proto index 7d9762e..7384cc6 100644 --- a/build/proto +++ b/build/proto @@ -42,6 +42,7 @@ dd drwr- -1 4 ls frwr- -1 bin/ls lsd frwr- -1 bin/lsd lsl frwr- -1 bin/lsd + moo frwr- -1 bin/moo nm frwr- -1 bin/nm od frwr- -1 bin/od p frwr- -1 bin/p diff --git a/src/cmd/moo.s b/src/cmd/moo.s new file mode 100644 index 0000000..bd272e4 --- /dev/null +++ b/src/cmd/moo.s @@ -0,0 +1,514 @@ +"** 09-1-35.pdf page 22 +" moo + + jmp 1f +reset: + jms messg; ;;012;0 +1: + jms messg; ; ; ; ; ; 040; ; + ; ; ; ; 012; 0 + +gstart: + jms random + dac a1 +1: + jms random + sad a1 + jmp 1b + dac a2 +1: + jms random + sad a1 + jmp 1b + sad a2 + jmp 1b + dac a3 +1: + jms random + sad a1 + jmp 1b + sad a2 + jmp 1b + sad a3 + jmp 1b + dac a4 + dzm nguess + +guessloop: + jms readguess + lac nguess + sza + jmp 1f + sys time + lacq + rcr + dac stime +1: + dzm nbull + dzm ncow + lac g1 +"** 09-1-35.pdf page 24 + sad a1 + isz nbull + sad a2 + isz ncow + sad a3 + isz ncow + sad a4 + isz ncow + lac g2 + sad a2 + isz ncow + sad a2 + isz nbull + sad a3 + isz ncow + sad a4 + isz ncow + lac g3 + sad a1 + isz ncow + sad a2 + isz ncow + sad a3 + isz nbull + sad a4 + isz ncow + lac g4 + sad a1 + isz ncow + sad a2 + isz ncow + sad a3 + isz ncow + sad a4 + isz nbull + lac nbull + sad d4 + jmp gdone + jms messg; 040040; 040040; 040040; ; 075; 0 + lac nbull + jms number + lac ncow + jms number + jms newline + isz nguess + jmp guessloop + +gdone: + sys time + lacq + rcr + cma + tad stime + cma + spa + tad o400000 + rcr + dac stime + lac u.ntime + tad stime + dac u.ntime +"** 09-1-35.pdf page 25 + lac u.nguess + tad nguess + dac u.nguess + isz u.ngames + jms putentry + jms messg; 012; ;; ; 12; 0 + lac user + dac 2f + dzm user + skp +1: + isz user + jms getentry + jmp 1f + lac d1 + sys write; u.name; 4 + jms paver + jmp 1b +1: + lac 2f + dac user + jms getentry + nop + jmp gloop +2: 0 + +paver: 0 + lac u.ngames + sna + jmp 1f +"** 09-1-35.pdf page 28 + jms messg; ; 040; ; ; + q> + a> + s> + r> +nrq = .-rqname +rqhand: + jmp gstart1 + jmp quit + jmp average + jmp standing + jmp reset + +quit: + jms messg; ; + +m1: ;;;;;040;;;;;;;;;;;;