diff --git a/a.out b/a.out new file mode 100644 index 0000000..eb40f93 --- /dev/null +++ b/a.out @@ -0,0 +1,282 @@ +010000: 600000 jmp start +010001: 110003 jms initio +010002: 630003 jmp .+1 i +010003: 000000 initio: 0 +010004: 210007 lac inter-1 +010005: 040000 dac fetch +010006: 610001 jmp rinit +010007: 110010 jms inter +010010: 000000 inter: 0 +010011: 750004 las +010012: 510311 and o17 +010013: 740200 sza +010014: 110047 jms trace +010015: 220000 lac pc i +010016: 050305 dac instr +010017: 200000 lac pc +010020: 510314 and o10000 +010021: 741200 sna +010022: 610342 jmp badpc +010023: 200000 lac sp +010024: 510325 and o17700 +010025: 550325 sad o17700 +010026: 610350 jmp badsp +010027: 510314 and o10000 +010030: 741200 sna +010031: 610350 jmp badsp +010032: 210305 lac instr +010033: 550310 sad insasg +010034: 741000 skp +010035: 630010 jmp inter i +010036: 777774 -4 +010037: 340000 tad sp +010040: 040000 dac t1 +010041: 220000 lac t1 i +010042: 510314 and o10000 +010043: 741200 sna +010044: 610356 jmp badasgn +010045: 210305 lac instr +010046: 630010 jmp inter i +010047: 000000 trace: 0 +010050: 500000 and d1 +010051: 740200 sza +010052: 110070 jms dtrace +010053: 750004 las +010054: 510326 and d2 +010055: 740200 sza +010056: 110133 jms ddisp +010057: 750004 las +010060: 500000 and d4 +010061: 740200 sza +010062: 110246 jms histog +010063: 750004 las +010064: 510312 and d8 +010065: 740200 sza +010066: 600000 jmp stop +010067: 630047 jmp trace i +010070: 000000 dtrace: 0 +010071: 200000 lac pc +010072: 040010 dac 8 +010073: 220010 lac 8 i +010074: 050305 dac instr +010075: 200010 lac 8 +010076: 110375 jms octal; -4 +010077: 777774 +010100: 760040 law 040 +010101: 100000 jms putc +010102: 210305 lac instr +010103: 744000 cll; lrs 14 +010104: 640516 +010105: 350327 tad lacop +010106: 050107 dac .+1 +010107: 210000 lac .. +010110: 100000 jms putc +010111: 760040 law 040 +010112: 100000 jms putc +010113: 210305 lac instr +010114: 110375 jms octal; -4 +010115: 777774 +010116: 210305 lac instr +010117: 550307 sad inslitr +010120: 741000 skp +010121: 610127 jmp 1f +010122: 760040 law 040 +010123: 100000 jms putc +010124: 220010 lac 8 i +010125: 110375 jms octal; -6 +010126: 777772 +010127: 760012 law 012 +010130: 100000 jms putc +010131: 100000 jms flush +010132: 630070 jmp dtrace i +010133: 000000 ddisp: 0 +010134: 110224 jms dspinit +010135: 210304 lac dspbp +010136: 040010 dac 8 +010137: 200000 lac dp +010140: 550302 sad olddp +010141: 741000 skp +010142: 110157 jms dspblk +010143: 200000 lac pc +010144: 110214 jms dspnt +010145: 200000 lac sp +010146: 110214 jms dspnt +010147: 200000 lac lastv +010150: 110214 jms dspnt +010151: 777777 -1 +010152: 060000 dac B i +010153: 220000 lac pbs i +010154: 740200 sza +010155: 610153 jmp .-2 +010156: 630133 jmp ddisp i +010157: 000000 dspblk: 0 +010160: 210303 lac dspbuf +010161: 040010 dac 8 +010162: 200000 lac dp +010163: 040000 dac t1 +010164: 140000 dzm t2 +010165: 200000 lac t1 +010166: 741200 sna +010167: 610205 jmp 1f +010170: 210320 lac o216000 " dx -20 +010171: 060010 dac 8 i +010172: 200000 lac t2 +010173: 350322 tad o20 +010174: 040000 dac t2 +010175: 200000 lac t1 +010176: 340000 tad d1 +010177: 040000 dac t3 +010200: 220000 lac t3 i +010201: 110214 jms dspnt +010202: 220000 lac t1 i +010203: 040000 dac t1 +010204: 610165 jmp 1b +010205: 210321 lac o160020 " sx 20 +010206: 340000 tad t2 +010207: 070303 dac dspbuf i +010210: 060010 dac 8 i +010211: 200010 lac 8 +010212: 050304 dac dspbp +010213: 630157 jmp dspblk i +010214: 000000 dspnt: 0 +010215: 510317 and o7777 +010216: 660502 lrss 2 +010217: 250323 xor o164000 " sy 0 +010220: 060010 dac 8 i +010221: 210324 lac o17010 +010222: 060010 dac 8 i +010223: 630214 jmp dspnt i +010224: 000000 dspinit: 0 +010225: 777777 -1 +010226: 350224 tad dspinit +010227: 050224 dac dspinit +010230: 777324 -300 +010231: 340000 tad lastv +010232: 040000 dac lastv +010233: 050303 dac dspbuf +010234: 777777 -1 +010235: 070224 dac dspinit i +010236: 070303 dac dspbuf i +010237: 150302 dzm olddp +010240: 210303 lac dspbuf +010241: 020027 sys capt +010242: 760015 law 13 +010243: 020025 sys sysloc +010244: 040000 dac pbs +010245: 630224 jmp dspinit i +010246: 000000 histog: 0 +010247: 110260 jms hisinit +010250: 200000 lac pc +010251: 640506 lrs 6 +010252: 510313 and o77 +010253: 350301 tad histbuf +010254: 040000 dac t1 +010255: 460000 isz t1 i +010256: 630246 jmp histog i +010257: 610257 jmp . +010260: 000000 hisinit: 0 +010261: 777777 -1 +010262: 350260 tad hisinit +010263: 050260 dac hisinit +010264: 777777 -1 +010265: 070260 dac hisinit i +010266: 777700 -64 +010267: 040000 dac t1 +010270: 340000 tad lastv +010271: 040000 dac lastv +010272: 050301 dac histbuf +010273: 340000 tad dm1 +010274: 040010 dac 8 +010275: 020010 dsm 8 i +010276: 440000 isz t1 +010277: 610275 jmp 1b +010300: 630260 jmp hisinit i +010301: 000000 histbuf: 0 +010302: 000000 olddp: 0 +010303: 000000 dspbuf: 0 +010304: 000000 dspbp: 0 +010305: 000000 instr: 0 +010306: 000000 obs: 0 +010307: 000005 inslitr: n 5 +010310: 000001 insasg: b 1 +010311: 000017 o17: 017 +010312: 000010 d8: 8 +010313: 000077 o77: 077 +010314: 010000 o10000: 010000 +010315: 000005 d5: 5 +010316: 000060 o60: 060 +010317: 007777 o7777: 07777 +010320: 216000 o216000: 0216000 +010321: 160020 o160020: 0160020 +010322: 000020 o20: 020 +010323: 164000 o164000: 0164000 +010324: 017010 o17010: 017010 +010325: 017700 o17700: 017700 +010326: 000002 d2: 2 +010327: 210327 lacop: lac . +010330: 000141 a>;b>;c>;f>;n>;s>;t>;u>;x>;y> +010331: 000142 +010332: 000143 +010333: 000146 +010334: 000156 +010335: 000163 +010336: 000164 +010337: 000165 +010340: 000170 +010341: 000171 +010342: 100000 jms flush +010343: 200000 lac d1 +010344: 020005 sys write; mpc; mpcs +010345: 010364 +010346: 000003 +010347: 600000 jmp stop +010350: 100000 jms flush +010351: 200000 lac d1 +010352: 020005 sys write; msp; msps +010353: 010367 +010354: 000003 +010355: 600000 jmp stop +010356: 100000 jms flush +010357: 200000 lac d1 +010360: 020005 sys write; mas; mass +010361: 010372 +010362: 000003 +010363: 600000 jmp stop +010364: 000012 012;;012 +010365: 160143 +010366: 000012 +010367: 000012 012;;012 +010370: 163160 +010371: 000012 +010372: 000012 012;;012 +010373: 141163 +010374: 000012 +010375: 000000 octal: 0 +010376: 652000 lmq +010377: 210315 lac d5 +010400: 370375 tad octal i +010401: 740001 cma +010402: 050430 dac 2f +010403: 741200 sna +010404: 610410 jmp 3f +010405: 660603 llss 3 +010406: 450430 isz 2f +010407: 610405 jmp 1b +010410: 230375 lac octal i +010411: 050430 dac 2f +010412: 641002 lacq +010413: 050431 dac 2f+1 +010414: 210431 lac 2f+1 +010415: 652000 lmq +010416: 660603 ecla llss 3 +010417: 350316 tad o60 +010420: 100000 jms putc +010421: 210431 lac 2f+1 +010422: 660703 alss 3 +010423: 050431 dac 2f+1 +010424: 450430 isz 2f +010425: 610414 jmp 1b +010426: 450375 isz octal +010427: 630375 jmp octal i +010430: 000000 2: 0;0 +010431: 000000 diff --git a/build/Makefile b/build/Makefile index b32581b..da7aa76 100644 --- a/build/Makefile +++ b/build/Makefile @@ -14,6 +14,7 @@ PDP7=pdp7 # source dirs SYSSRC=../src/sys CMDSRC=../src/cmd +GAMESRC=../src/games ALTSRC=../src/alt OTHERSRC=../src/other TESTSRC=../src/tests @@ -94,7 +95,7 @@ dirs: cmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \ $(BINDIR)/chown $(BINDIR)/chrm $(BINDIR)/cp $(BINDIR)/ds \ $(BINDIR)/dskres $(BINDIR)/dsksav $(BINDIR)/ed $(BINDIR)/init \ - $(BINDIR)/db $(BINDIR)/stat $(BINDIR)/tm + $(BINDIR)/db $(BINDIR)/stat $(BINDIR)/tm #$(BINDIR)/dmabs #$(BINDIR)/st # Alternate commands: no dd, but . and .. altcmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \ @@ -149,6 +150,30 @@ $(BINDIR)/stat: $(CMDSRC)/stat/stat.s $(BINDIR)/tm: $(CMDSRC)/tm/tm.s $(AS) $(ASARGS) -o $(BINDIR)/tm $(CMDSRC)/tm/tm.s +# -- compile errors +$(BINDIR)/dmabs: $(CMDSRC)/dmabs/dmabs.s + $(AS) $(ASARGS) -o $(BINDIR)/dmabs $(CMDSRC)/dmabs/dmabs.s + +# -- compile errors +$(BINDIR)/st: $(GAMESRC)/st/st1.s $(GAMESRC)/st/st2.s $(GAMESRC)/st/st3.s $(GAMESRC)/st/st4.s $(GAMESRC)/st/st5.s $(GAMESRC)/st/st6.s $(GAMESRC)/st/st7.s + $(AS) $(ASARGS) -o $(BINDIR)/st $(GAMESRC)/st/st1.s $(GAMESRC)/st/st2.s $(GAMESRC)/st/st3.s $(GAMESRC)/st/st4.s $(GAMESRC)/st/st5.s $(GAMESRC)/st/st6.s $(GAMESRC)/st/st7.s + +# -- compile errors +$(BINDIR)/bc: $(CMDSRC)/bc/bc.s + $(AS) $(ASARGS) -o $(BINDIR)/bc $(CMDSRC)/bc/bc.s + +# -- compile errors +$(BINDIR)/dsw: $(CMDSRC)/dsw/dsw.s + $(AS) $(ASARGS) -o $(BINDIR)/dsw $(CMDSRC)/dsw/dsw.s + +# -- compile errors +$(BINDIR)/apr: $(CMDSRC)/apr/apr.s + $(AS) $(ASARGS) -o $(BINDIR)/apr $(CMDSRC)/apr/apr.s + +# -- compile errors +$(BINDIR)/adm: $(CMDSRC)/adm/adm.s + $(AS) $(ASARGS) -o $(BINDIR)/adm $(CMDSRC)/adm/adm.s + # Alternative init: no dd directory $(BINDIR)/altinit: $(ALTSRC)/init/init.s $(AS) $(ASARGS) -o $(BINDIR)/altinit $(ALTSRC)/init/init.s diff --git a/src/cmd/bc.s b/src/cmd/bc/bc.s similarity index 100% rename from src/cmd/bc.s rename to src/cmd/bc/bc.s