From 8f7dec78721a4f6667ef836d13bcd6548dc43f7b Mon Sep 17 00:00:00 2001 From: Paul Kimpel Date: Wed, 4 May 2016 18:09:14 -0700 Subject: [PATCH] 1. Commit proofing corrections to XBASIC from Rich Cornwell. 2. Update file table in project README. --- README.md | 32 ++++++++++++++--------------- XBASIC-Paisley-College/README.txt | 4 +++- XBASIC-Paisley-College/XBASIC.alg_m | 12 +++++------ 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index cc82820..5af4e7e 100644 --- a/README.md +++ b/README.md @@ -10,22 +10,22 @@ Source files should be prepared in Unisys "PWB format," named for the Programmer File name extensions of the form `.*_m` denote PWB-format files. The following table shows the common extensions used with B5500 source files, the locations of text, sequence, and mark fields with in the record, and the full length to which records should be padded. The length does not include line delimiters. "Mark" fields are used to carry patchmark ("blame") information, but were not used on the B5500, and may be left blank: -|File Kind |Ext | Text| Seq| Mark|Length| -|:----------|:-----|----:|----:|----:|-----:| -|ALGOL |.alg_m| 1-72|73-80|81-90| 90| -|BASIC |.bas_m| 5-72| 1-4|73-80| 80| -|COBOL |.cob_m| 7-72| 1-6|73-80| 80| -|DATA |.dat_m| all| n/a| n/a| variable| -|DCP |.dcp_m| 1-72|73-80|81-90| 90| -|ESPOL |.esp_m| 1-72|73-80|81-88| 88| -|FORTRAN |.for_m| 1-72|73-80|81-80| 80| -|JOB |.wfl_m| 1-80|83-90|91-90| 90| -|NDL |.ndl_m| 1-72|73-80|81-90| 90| -|PASCAL |.pas_m| 1-72|73-80|81-90| 90| -|SEQDATA |.sqd_m| 1-72|73-80|81-90| 80| -|TEXTDATA |.txt_m| 1-72|73-80|81-90| 90| -|XFORTRAN |.xfr_m| 1-72|73-80|81-80| 80| - +|File Kind |Ext | Text| Seq| Mark| Length| +|:----------|:-------|----:|----:|----:|--------:| +|ALGOL |`.alg_m`| 1-72|73-80|81-90| 90| +|BASIC |`.bas_m`| 5-72| 1-4|73-80| 80| +|COBOL |`.cob_m`| 7-72| 1-6|73-80| 80| +|DATA |`.dat_m`| all| n/a| n/a| variable| +|DCP |`.dcp_m`| 1-72|73-80|81-90| 90| +|ESPOL |`.esp_m`| 1-72|73-80|81-88| 88| +|FORTRAN |`.for_m`| 1-72|73-80|81-80| 80| +|JOB |`.wfl_m`| 1-80|83-90|91-90| 90| +|NDL |`.ndl_m`| 1-72|73-80|81-90| 90| +|PASCAL |`.pas_m`| 1-72|73-80|81-90| 90| +|SEQDATA |`.sqd_m`| 1-72|73-80|81-90| 80| +|TEXTDATA |`.txt_m`| 1-72|73-80|81-90| 90| +|XFORTRAN |`.xfr_m`| 1-72|73-80|81-80| 80| +|Card deck |`.card` | all| n/a| n/a| n/a| The initial set of files for this repository were extracted from http://github.com/pkimpel/retro-b5500 in April 2016. diff --git a/XBASIC-Paisley-College/README.txt b/XBASIC-Paisley-College/README.txt index 04780c5..4c5a4b1 100644 --- a/XBASIC-Paisley-College/README.txt +++ b/XBASIC-Paisley-College/README.txt @@ -7,8 +7,10 @@ card deck. XBASIC.alg_m is the interpreter and was transcribed from http://bitsavers.org/pdf/burroughs/B5000_5500_5700/listing/ -B5700_XBASIC_Apr77.pdf by James Fehlinger. +B5700_XBASIC_Apr77.pdf by James Fehlinger of New Jersey, US. Corrections +by Rich Cornwell of North Carolina, US. STQB64.BAS is a Star Trek game originally written for Quick Basic and donated by James Fehlinger. + diff --git a/XBASIC-Paisley-College/XBASIC.alg_m b/XBASIC-Paisley-College/XBASIC.alg_m index 9d8d971..82e80a0 100644 --- a/XBASIC-Paisley-College/XBASIC.alg_m +++ b/XBASIC-Paisley-College/XBASIC.alg_m @@ -1,4 +1,4 @@ - $ CARD LIST SINGLE XREF 00000100 + $ SET SINGLE BEND 00000100 BEGIN 00000200 COMMENT::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 00000300 ::::: XBASIC -- A CONVERSATIONAL BASIC INTERPRETER ::::: 00000400 @@ -502,7 +502,7 @@ COMMENT------------------------------------------------------- 00049500 OBJECT:=HDDR:=FALSE;OU:=0; 00050200 00050300 FILL KEY[*] WITH "LET","GOT","GOS","RET","INP", 00050400 - "REA","PRI","FOR","NFX","MAT","DEF","DAT", 00050500 + "REA","PRI","FOR","NEX","MAT","DEF","DAT", 00050500 "RAN","PAG","RES","REM","STO","END","IF ","ON ","SIN","COS", 00050600 "TAN","ATN","EXP","LOG","ABS","INT","SQR","FIX","SGN","RND", 00050700 "EQ","LT","LE","GT","GE","NE"; 00050800 @@ -605,7 +605,7 @@ COMMENT------------------------------------------------------- 00049500 ON("TIME00") BEGIN TIM:=3600|NMBR(10);WRITE(TTY,STP,"SETTIM"); 00060500 GO TO SOURCEIN END; 00060600 ON("PLOP00") FILECONTROL(5,0,0,SOURCEIN); 00060700 - ON("WHATSO") BEGIN WRITE(TTY,F9);IF IO[0]=0 THEN 00060800 + ON("WHATS0") BEGIN WRITE(TTY,F9);IF IO[0]=0 THEN 00060800 WRITE(TTY,F10,MS,SSEQ[MS]) ELSE 00060900 WRITE(TTY,F11,IO[0].[41:36],MS,SSEQ[MS]); 00061000 GO SOURCEIN END; 00061100 @@ -879,7 +879,7 @@ COMMENT------------------------------------------------------- 00049500 COMMENT 2 GO TO 00087800 GO TO ; 00087900 00088000 - GOT: SKIP(1,"0");GO TO RON; 00088100 + GOT: SKIP(1,"O");GO TO RON; 00088100 COMMENT 3 GOSUB 00088200 GOSUB ; 00088300 00088400 @@ -904,7 +904,7 @@ COMMENT------------------------------------------------------- 00049500 00090300 FOX: FORC:=FORC+1;PUT(FORC);IF FORC>10 THEN SYNT("11 FORS"); 00090400 ARITH(1);FORX[FORC,4]:=ADDR+1;IF CHA NEQ "T" THEN SYNT(" NO TO"); 00090500 - SKIP(1,"0");FOR A:=1 STEP 1 UNTIL FORC-1 DO IF FORX[A,4]=ADDR THEN 00090600 + SKIP(1,"O");FOR A:=1 STEP 1 UNTIL FORC-1 DO IF FORX[A,4]=ADDR THEN 00090600 SYNT("ILL FOR");ARITH(1);IF CHA="S" THEN BEGIN SKIP(3,"TEP");ARITH(1) 00090700 END ELSE PUT(0);FORX[FORC,2]:=CO;PUT(0);PUT(0);FORX[FORC,3]:=CS; 00090800 GO INCST; 00090900 @@ -1496,7 +1496,7 @@ COMMENT------------------------------------------------------- 00049500 POUB:=POINTER(IOF[*]);REPLACE PIOB:=POINTER(IOF[*]) BY " " FOR 72 END; 00149100 PRI: CHA:=GET;IF MF>0 AND CHA=5 THEN ERROR(26); 00149200 GO TO TYP[CHA+1]; 00149300 - Z:=GET;Z:=64|X+GET; 00149400 + Z:=GET;Z:=64|Z+GET; 00149400 COMMENT , IN PRINT MOVES TO NEXT 14-SPACE COLUMN. 00149500 00149600 (SEMICOLON IN MIDDLE OF PRINT IS JUST DELIMITER); 00149700