Burroughs MCP: Getting data in and out
Sun, Nov 9, 2025
Today we’ll look at how to get data in and out of MCP running under emulation. This is useful if you want to upload programs or download listings and data.
Using the CANDE terminal window, you can copy and paste small amounts of data but this does not work for large amounts (especially for input where the buffer is small). Instead we can reuse some of the facilities provided by the original hardware in a digital form under emulation.
Printer output
On retro-b6600 the printer has a window where you can view output directly and copy information to the clipboard.
On simh, printer output is to a text file - the quicksta…
Burroughs MCP: Getting data in and out
Sun, Nov 9, 2025
Today we’ll look at how to get data in and out of MCP running under emulation. This is useful if you want to upload programs or download listings and data.
Using the CANDE terminal window, you can copy and paste small amounts of data but this does not work for large amounts (especially for input where the buffer is small). Instead we can reuse some of the facilities provided by the original hardware in a digital form under emulation.
Printer output
On retro-b6600 the printer has a window where you can view output directly and copy information to the clipboard.
On simh, printer output is to a text file - the quickstart uses units/printer.txt.
CANDE provides direct output to the printer via a couple of verbs. LIST FILES TO PRINTER will print a directory listing.
COPY file TO
PRINTER
will print the contents of file, which could be source code or output captured to a file, such as done by the relocation facilities described in a previous article. Here’s what a program listing looks like on retro-b5500:
The B5500 printer window on retro-b5500. Source: Rupert Lane. License: CC0.
Card punch output
Using the card punch allows you to get an exact copy of code or data to a text file, without the pagination and spacing imposed by the line printer. This could then be edited on your host machine and the changed file uploaded via the card reader.
To punch from CANDE, use the COPY TO command:
COPY HELLO TO PUNCH
WAIT.4 RECORDS COPIED (LAST RECORD COPIED=40)
END COPY .0 SEC.
To actually get output, the operator needs to take some action, as on a real machine they would have to load blank cards for each job. Switch to the operator console and run the appropriately named job HARD/CANDE via the ? command.
This is what it looks like on simh, with input lines preceded by I and output by R. On retro-b5500 there is no prefix.
I ? EXECUTE HARD/CANDE; END
R
R 5:HARD/CANDE/SITE= 2 BOJ 1059
R FILE NAMES?
R #HARD/CANDE= 2: ACCEPT
The job is asking you a question about whether to list file names before processing them by prompting FILE NAMES. The next line #HARD/CANDE= 2: ACCEPT means it is waiting for input. Use the AX command to answer no, preceding the command by the mix number (process ID) for the job - this may vary from run to run, but you can see it from the = 2 on the BOJ line, showing on this run it is 2.
I 2 AX NO
R WHATS NEXT?
R #HARD/CANDE= 2: ACCEPT
To the question WHATS NEXT answer ALL:
I 2 AX ALL
R PUD0010 OUT PNCH:HARD/CANDE= 2
R 3HELLO/GUEST REMOVED
R HELLO COPIED TO PUNCH
Now locate the card punch. On retro-b5500 this will be a browser window where you can copy text from. On the simh quickstart it is in units/card-punch.txt. In either case, it will look something like this:
FILE: HELLO/GUEST PUNCHED: 10/11/25
FOR I = 1 TO 5 00000010
PRINT "HELLO, WORLD" 00000020
NEXT I 00000030
END 00000040
(The above was edited slightly to trim whitespace.)
Note that the line numbers are now on the right side of each line, which is standard for punched cards.
You could also do COPY HELLO TO TAPE and use HARD/CANDE to create a tape file if you wished.
Card reader input
So now we want to do the inverse of the above, provide a text file from your host system to the card reader which will be read and stored to a disk file on the guest. However, there seems to be no built in facility on MCP to do this. Fortunately, Richard Cornwell has written a program called OBJECT/READER that can do this. This program is included in the simh distribution; on retro-b5500 follow these steps to install it.
- Download https://sky-visions.com/burroughs/reader.card
- Go to the card reader window, select
reader.cardvia the browser file picker and pressSTART. - The operator console will show the job running and the line printer will show the compiler output.
- Confirm the binary was created by going to the operator window, pressing Escape then typing
PD OBJECT/READER.
Now on both systems to use OBJECT/READER, prepare a ASCII file representing a batch job that executes it, giving the parameters COMMON=3 and FILE NEWTAPE to be a disk file name. For example, to create a file called BYE on the CANDE account GUEST you could make a file called goodbye.card on your host machine that looks like:
?EXECUTE OBJECT/READER
?COMMON = 3
?FILE NEWTAPE = BYE/GUEST DISK SERIAL
?DATA CARD
FOR I = 1 TO 5 00000100
PRINT "GOODBYE, WORLD" 00000200
NEXT I 00000300
END 00000400
?END
On simh, press Control-E on the console to attach the deck and continue;
sim> attach cr0 units/goodbye.card
%SIM-INFO: CR0: 9 card Deck Loaded from units/goodbye.card
sim> continue
On retro-b5500, load the file into the card reader window and press START.
You will see lines printed on the operator console indicating it is running:
R 5:OBJECT/READER= 2 BOJ 1120
R CRA IN CARD 1:OBJECT/READER= 2
...
and output on the line printer confirming the file contents.
When finished, if you then do LIST FILES on CANDE you will see the file, but with a type of UNKNOWN as this metadata is not part of the file:
LIST FILES
10/11/25 GUEST 11:22 AM
NAME TYPE RECS SEGS CREATED ACCESSED W/R W/B S-F LOCKD BY
BYE UNKNOWN 4 1000 10/11/25 * 10/11/25 10 150 99
To fix this, type CHANGE BYE TYPE TO BASIC. You can then LOAD or RUN the program as normal.
More information
HARD/CANDE is documented in the Time-sharing System User’s Guide on bitsavers.
OBJECT/READER has other options eg to copy a disk file to the line printer: see the documentation on Richard Cornwell’s site for more details.
Questions, corrections, comments
I welcome any questions or comments, and also especially any corrections if I have got something wrong. Please email me at rupert@timereshared.com and I will add it here and update the main text.