Assemble psych and include it in the build. (#232)

Psych was added to the build system. It requires fops.s
for maths. Two notable things need to be fixed to make it
assemble:

 * d1 must be defined, presumably to a 1 following the
   patterns of other decimal numbers.

 * variable xx must be renamed so it doesn't clash with
   the xx instruction mnemonic used by the perl cross assembler.
This commit is contained in:
Sebastian Rasmussen
2022-02-04 14:04:33 -05:00
committed by GitHub
parent dd6b61333f
commit b46b160a43
3 changed files with 12 additions and 5 deletions
+5
View File
@@ -133,6 +133,7 @@ cmd: dirs \
$(BINDIR)/moo \ $(BINDIR)/moo \
$(BINDIR)/nm \ $(BINDIR)/nm \
$(BINDIR)/p \ $(BINDIR)/p \
$(BINDIR)/psych \
$(BINDIR)/rm \ $(BINDIR)/rm \
$(BINDIR)/rn \ $(BINDIR)/rn \
$(BINDIR)/roff \ $(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) $(BINDIR)/p: $(P)
$(AS) $(ASARGS) -o $(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 $(BINDIR)/rm: $(CMDSRC)/rm.s
$(AS) $(ASARGS) -o $(BINDIR)/rm $(CMDSRC)/rm.s $(AS) $(ASARGS) -o $(BINDIR)/rm $(CMDSRC)/rm.s
+1
View File
@@ -50,6 +50,7 @@ dd drwr- -1 4
nm frwr- -1 bin/nm nm frwr- -1 bin/nm
od frwr- -1 bin/od od frwr- -1 bin/od
p frwr- -1 bin/p p frwr- -1 bin/p
psych frwr- -1 bin/psych
rm frwr- -1 bin/rm rm frwr- -1 bin/rm
rn frwr- -1 bin/rn rn frwr- -1 bin/rn
roff frwr- -1 bin/roff roff frwr- -1 bin/roff
+6 -5
View File
@@ -22,7 +22,7 @@ restart:
fst; z "[ z = z + g - scan markup] fst; z "[ z = z + g - scan markup]
fst; oldx "[ g = -g * fact - scan markup] fst; oldx "[ g = -g * fact - scan markup]
fst; oldy "[ fact = 1 / 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 "[ ni() - scan markup]
dac i 11 "[ yy = 500. * d * sin(b) - scan markup] dac i 11 "[ yy = 500. * d * sin(b) - scan markup]
lac setx "[ ni() - scan markup] lac setx "[ ni() - scan markup]
@@ -51,7 +51,7 @@ loop:
sin sin
fmp; d fmp; d
fmp; fp500 fmp; fp500
fst; xx fst; exex
jms in jms in
jmp done jmp done
fld; b fld; b
@@ -67,7 +67,7 @@ loop:
dac i 11 dac i 11
fld; oldx fld; oldx
fng fng
fad; xx fad; exex
fix fix
spa spa
xor o775777 xor o775777
@@ -81,7 +81,7 @@ loop:
xor o775777 xor o775777
tad vecy tad vecy
dac i 10 dac i 10
fld; xx fld; exex
fst; oldx fst; oldx
fld; yy fld; yy
fst; oldy fst; oldy
@@ -261,7 +261,7 @@ release: 0
char: 0 char: 0
stick: 0 stick: 0
xx: 0; 0; 0 exex: 0; 0; 0
oldx: 0; 0; 0 oldx: 0; 0; 0
yy: 0; 0; 0 yy: 0; 0; 0
oldy: 0;0 0; 0 oldy: 0;0 0; 0
@@ -277,6 +277,7 @@ o177777: 0177777
o12000: 012000 o12000: 012000
o61000: 061000 o61000: 061000
om60: -060 om60: -060
d1: 1
d13: 13 d13: 13
d500: 500 d500: 500
o141000: 0141000 o141000: 0141000