diff --git a/build/Makefile b/build/Makefile index a2d553f..22b7463 100644 --- a/build/Makefile +++ b/build/Makefile @@ -133,6 +133,7 @@ cmd: dirs \ $(BINDIR)/moo \ $(BINDIR)/nm \ $(BINDIR)/p \ + $(BINDIR)/psych \ $(BINDIR)/rm \ $(BINDIR)/rn \ $(BINDIR)/roff \ @@ -227,6 +228,10 @@ P=$(CMDSRC)/p1.s $(CMDSRC)/p2.s $(CMDSRC)/p3.s $(CMDSRC)/p4.s $(CMDSRC)/p5.s $(BINDIR)/p: $(P) $(AS) $(ASARGS) -o $(BINDIR)/p $(P) +PSYCH=$(CMDSRC)/psych.s $(CMDSRC)/fop.s +$(BINDIR)/psych: $(PSYCH) + $(AS) $(ASARGS) -o $(BINDIR)/psych $(PSYCH) + $(BINDIR)/rm: $(CMDSRC)/rm.s $(AS) $(ASARGS) -o $(BINDIR)/rm $(CMDSRC)/rm.s diff --git a/build/proto b/build/proto index 1fffacd..c413762 100644 --- a/build/proto +++ b/build/proto @@ -50,6 +50,7 @@ dd drwr- -1 4 nm frwr- -1 bin/nm od frwr- -1 bin/od p frwr- -1 bin/p + psych frwr- -1 bin/psych rm frwr- -1 bin/rm rn frwr- -1 bin/rn roff frwr- -1 bin/roff diff --git a/src/cmd/psych.s b/src/cmd/psych.s index 457b1df..8c680ff 100644 --- a/src/cmd/psych.s +++ b/src/cmd/psych.s @@ -22,7 +22,7 @@ restart: fst; z "[ z = z + g - scan markup] fst; oldx "[ g = -g * fact - scan markup] fst; oldy "[ fact = 1 / fact - scan markup] - lac o400000 "[ xx = 500. * d * sin(b + pi/2) - scan markup] + lac o400000 "[ exex = 500. * d * sin(b + pi/2) - scan markup] dac i 11 "[ ni() - scan markup] dac i 11 "[ yy = 500. * d * sin(b) - scan markup] lac setx "[ ni() - scan markup] @@ -51,7 +51,7 @@ loop: sin fmp; d fmp; fp500 - fst; xx + fst; exex jms in jmp done fld; b @@ -67,7 +67,7 @@ loop: dac i 11 fld; oldx fng - fad; xx + fad; exex fix spa xor o775777 @@ -81,7 +81,7 @@ loop: xor o775777 tad vecy dac i 10 - fld; xx + fld; exex fst; oldx fld; yy fst; oldy @@ -261,7 +261,7 @@ release: 0 char: 0 stick: 0 -xx: 0; 0; 0 +exex: 0; 0; 0 oldx: 0; 0; 0 yy: 0; 0; 0 oldy: 0;0 0; 0 @@ -277,6 +277,7 @@ o177777: 0177777 o12000: 012000 o61000: 061000 om60: -060 +d1: 1 d13: 13 d500: 500 o141000: 0141000