1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-03 17:56:13 +00:00

1. Commit proofing corrections to XBASIC from Rich Cornwell.

2. Update file table in project README.
This commit is contained in:
Paul Kimpel
2016-05-04 18:09:14 -07:00
parent 51249a5a38
commit 8f7dec7872
3 changed files with 25 additions and 23 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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
<N> GO TO <S> ; 00087900
00088000
GOT: SKIP(1,"0");GO TO RON; 00088100
GOT: SKIP(1,"O");GO TO RON; 00088100
COMMENT 3 GOSUB 00088200
<N> GOSUB <S> ; 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