Burroughs MCP: Using CANDE

CANDE, (Command And Edit) is the user facing part of time-sharing on Burroughs MCP, similar to a shell.

Logging on

On retro-b5500. halt/load the system, and enable time-sharing by entering CE on the operator console. navigate to the terminal (DCA) window and click connect.

On simh, start the system - time-sharing is already enabled if you used the quick-start - then use telnet to connect to port 5500 on localhost. Then give your user name and password.

B5500 TIME SHARING - 01/00, STATION 02
ENTER USER CODE, PLEASE-RUPERT
AND YOUR PASSWORD
RUPERT@@
09/23/25 12:11 PM.
GOOD AFTERNOON, RUPERT LANE     YOU HAVE STATION 02

#

General usage

Once logged in, you can either edit a work file or issue commands, in an interface similar to Dartmouth DTSS.

Input lines should be less than 72 characters long. You can use backspace to correct mistakes and Enter to terminate a line - this is a convenience of the emulator; on the real system you'd use ' to backspace and ← to finish a line.

A line starting with " is treated as a comment, ie just printed on the teletype but not saved or processed.

More than one command can be given on a single line by separating them with ;. Commands can usually be abbreviated, eg LIST can by typed as L.

If you get an error message, typing ? will often provide more details.

If you get stuck, eg a program is in an infinite loop, you can interrupt it back to the command level by pressing break, which is Control-E on simh or Control-B on retro-b6600.

Selecting a work file

CANDE has the concept of a work file which is a temporary copy of a program on disk. You can make a work file by creating a new file or loading from an existing disk file.

File names in CANDE are 6 characters long and must start with a letter.

To create a new work file, use CREATE name type where name is the file name and type is a programming language: BASIC, ALGOL, FORTRAN, or COBOL. You can also set type to be SEQ (for general line numbered files) or DATA (for un-numbered line files).

CREATE HELLO BASIC
FILE:HELLO - TYPE:BASIC  -- CREATED

To load an existing file, use LOAD

LOAD HELLO
FILE:HELLO - TYPE:BASIC  -- LOADING
4 RECORDS LOADED.

Editing a program

Typing a line starting with a number adds to a program or replaces the line if it already exists. Typing a line number on its own will delete that line. Lines can be entered in any order.

You can use the SEQ command (or just the abbreviation +) to automatically create a line number for each line you enter. Terminate it by pressing Enter on a blank new line.

SEQ
100FOR I = 1 TO 5
200PRINT "HELLO, WORLD"
300NEXT I
400END
500
#

As well as retyping a line, there is also the FIX command which can delete or change part of a line.

FIX's syntax is

    FIX line-number delimiter old delimiter [new]

So for the line

    200 PRINT "HELLO, WORLD"

you can change this to "HELLO, EARTH" with

    FIX 200 /WORLD/EARTH

and delete HELLO with

    FIX 200 /HELLO, /

The delimiter used above was /, but this could be any character. Note that only two delimiters are used, compared to say Unix sed where you'd do s/world/earth/.

Note also that FIX only makes changes the next time the file is used (eg on LIST or RUN) - so any errors in your FIX syntax will be presented then, not immediately.

FIX can also be abbreviated to just *.

Compiling and running

COMPILE will compile your work file, printing out any errors if found. EXECUTE will run the compiled file. Typing RUN will compile and execute, skipping the compile if the program has not changed.

RUN
 WAIT.

 COMPILING.


 END COMPILE .0 SEC.

 RUNNING
        

HELLO, EARTH
HELLO, EARTH
HELLO, EARTH
HELLO, EARTH
HELLO, EARTH


 END HELLO .0 SEC.

Listing

You can use LIST to list out your program; rather than listing the whole file you can give a single line number or a range as parameters, eg LIST 200-300. PRINT is like LIST but will omit the banner.

PRINT 200-300
200 PRINT "HELLO, EARTH"
300 NEXT I

File management

You can see what files you have in your disk area with FILE or for slightly more detail, LIST FILES.

FILES
 *HELLO  HELLO
#
LIST FILES
09/23/25 RUPERT         12:57 PM
NAME    TYPE     RECS SEGS   CREATED   ACCESSED  W/R  W/B  S-F LOCKD BY
HELLO   BASIC       4   10  09/23/25 * 09/23/25   10  300    7
HELLO   OBJ(B)     13   13  09/23/25 * 09/23/25   30   30    7
       2  FILES         23  SEGMENTS      17  RECORDS


 END LFILES .0 SEC.

You can manipulate files with COPY, RENAME and REMOVE, as well as APPEND and MERGE to combine several files.

Logging off

Type BYE to end your session. If you have modified your work file, you will get an error; you can either type SAVE to save it or DELETE to discard.

When you log off you will see some statistics

 ON FOR  3 MIN, 45.2 SEC.
 C&E USE .0 SEC.
 EXECUTE .0 SEC.
 IO TIME .0 SEC.
 OFF AT   6:50 PM.
 GOODBYE GUEST
07/14/25

Some funny responses to commands

If you enter ? to find out details of an error before you have submitted any commands at all, you get:

?
I AM THE GENIE OF THE DISK--WHAT IS YOUR COMMAND?

If you halt/load the system while still connected to the terminal you will see the following when the system comes back up:

P 
 L 
  o 
   P 
RESTARTING . . PLEASE WAIT

In the next post I will go into more details on some advanced CANDE commands.

More information

On bitsavers, the Time-sharing System User's Guide is the best first reference; note this is from a different version of MCP so some of the commands may vary. The Georgia Tech B5700 Time-sharing System Manual is a more complete reference, giving examples of each command, but note this also contains extensions added by Georgia Tech not available on the base Burroughs system.

Also of interest is The Complete CANDE Primer in the Charles Babbage Institute Burroughs collection. However this is from 1980 so for a much enhanced version of CANDE compared to what we have today.

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.