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:
32
README.md
32
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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user