6800     EXORsim

EXORsim - MDOS Command Reference

Home page
Change Log
News
Usage
MDOS Intro
MDOS Commands
MDOS Tech. info

Source code
Download

Summary of EXORdisk II/III Operating System User's Guide, Second edition, 1979 (First edition was 1978), which describes:

M6800 Diskette Operating System (MDOS) or M6809 Diskette Operating System (MDOS09).

Diskette operating system

Boot up

When you power up the EXORciser, the M6800 runs the EXbug monitor ROM and the EXbug prompt is displayed on the terminal. To boot into MDOS, you must jump to the diskette controller ROM by typing:

MAID
E800;G

Drives

There can be up to four drives connected to the system, numbered :0 - :3.

Sign-on Message and command line prompt look like this:

MDOS 3.00 (M6800)
=

Upper case

Althought you can edit files with both upper and lower case letters, commands must be in all uppercase. Lowercase letters are not allowed in file names.

3. Command format:

NAME1 NAME2 [,] NAME3 [,] NAME4 ... [ ; OPTIONS ]

Each name is a file name. NAME1 is the command and the others are file name arguments for the command. The comma separators between the arguments are optional. The semicolon before the options is mandatory.

File names

File names in MDOS are up to eight characters with a two character extension. The first character of both the name and extension must be a letter. The others can be letters or numbers. Only uppercase letters are valid for filenames.

Drive specifier

Each name can be post-fixed with a drive specifier as shown in the following examples:

FOO:0
BAR:1
FRED.SA:2

Default drive is :0. There is no concept of "current drive" as with MS-DOS.

Special keys

DEL deletes the last character.

Ctrl-W pauses the output. Hit any other key to restart it.

Ctrl-X cancels the line.

Ctrl-D redisplays the line.

Break aborts a command in progress.

Device names

Devices may sometimes be used in place of file names:

#LP
Line printer
#CN
Console output
#CP
Console punch
#UD
User-defined device (for COPY command)
#CR
Console reader
#HR
EXORtape

Command reference

DIR commmand - get a directory listing

Summary: DIR [<name>] [;<options>]

Options:
L
Direct output to printer
S
Include hidden system files in listing
E
Display entire directory entry
A
Display allocation information for each entry

Use DIR :1 to get a listing from drive 1.

Wildcards are allowed, so: DIR AB*.SA lists all .SA files beginning with AB. The wildcard character only works in the last position of the name or extension.

BACKUP command - copy entire diskette

Summary: BACKUP [[<source-drive>] <dest-drive>] [; <options>]

Options:
none
Copy all allocated space to destination
R
Reorganize diskette to eliminate fragmentation
A
Copy selective files to the destination
V
Verify: compare source and dest diskettes.
C
Continue if read/write errors occur
D
Continue if deleted data mark errors occur
I
Change ID sector during copy
L
Use line printer for bulk of message printing
N
Suppress printing of file names
S
Suppress printing of mis-compare byte offsets
U
Include unallocated space during copy
Y
If duplicate exists, delete old copy new
Z
If duplicate exists, keep old ignore new

BINEX command: convert memory image file to S-records file

Summary: BINEX <name1> [<name2>]

BLOKEDIT command: stream editor

Summary: BLOKEDIT <command-file> <new-file>

The command file looks like this:
* Comment line
FILENAME:1
Open a source file
5,75-80
Copy lines from source file to new-file
" comment
Begin quoted matter: the following lines are copied into the new file.
copy
to
new
file
" comment
End of quoted matter

CHAIN command: batch files

Summary: CHAIN <command-file> [;<arg1>,<arg2>,arg3>,...]

Also: CHAIN N* (restart last batch file with line after one which caused abort)

Also; CHAIN * (restart last batch file with line which caused abort)

Arguments have this syntax: <tag>[%<value>%]

Command file format:
/* Comment line
First pass comments
/IFS <expression>
If set (comma means OR)
/IFC <expression>
If not set
/ELSE
Else
/XIF
End if
/ABORT
Abort batch file
@* Comment line
Second pass comments
@. Comment
Breakpoint
@SET 800
Set error status word: ignore errors
@SET 0
Clear error status word: abort on errors (default)
@TST <test-expression>
Test command error status word, skip next line if true
@JMP <label>
Jump to label
@LBL <label>
Define a label
@CMD ON
Echo commands
@CMD OFF
Echo off
<expression> is:
<tag>
True if tag exists
<tag> . <tag>
True if both tags exist
<expression> <expression>
True if either is true.
<test-expression> is:
[,<j>] <condition> [,<value>]
<j> is:
W
whole word: bits F-0
T
error type: bits 7-0
M
error mask: bits B-8
S
error status: bits F-C
<condition> is:
EQ
NE
GT
LT
GE
LE
BS
bit set
BC
bit clear
<value> is hexadecimal number

COPY command - copy files

COPY <name1>[, <name2>] [; <options>]

Options:
B
Copy and verify
C
Binary record conversion for copying to non diskette device
D=<name3>
Load user's device driver
L
List error on printer
M
Goto debug monitor after loading driver
N
Use non-file format mode for non-diskette device.
V
Verify files (no copy)
W
Force overwrite of existing files

DEL command - delete files

DEL <name1> [,<name2>...] [;<options>]

Options:
S
Allow system files
Y
Do not ask for confirmation to delete

DOSGEN command - install system on formatted floppy

DOSGEN [:<drive>] [;<options>]

Options:
T
Perform read/write test
U
Generate minimum system (a user disk)

DUMP command - sector editor

DUMP [<name>]

Commands:
Q
Quit
U i
Select drive
O <name>
Open a file
C
Close file
S
Show buffer
SB
Show CAT
S [m[,n]]
Show sector(s)
SD [m[,n]]
Show directory sectors
SC [m[,n]]
Show clusters
LB
Print CAT
L [m[,n]]
Print sector(s)
LD [m[,n]]
Print directory sectors.
LC [m,n]]
Print clusters
RB
Read CAT
RD m
Read directory sector
R m
Read sector
W
Write buffer back to disk
WB
Write buffer to cat
WD m
Write buffer to directory sector
W m
Write buffer to sector m
F c
Fill buffer
F "a"
Fill buffer
hh/
examine/change buffer

ECHO command - echo console output to printer

ECHO [;<options>]

Options:
N
Turn echo off

EMCOPY command - copy files from EDOS 2 system disk to MDOS disk

EDOS is some earlier operating system with 5 character filenames.

EXBIN command - convert S record to binary image

EXBIN <name1>[,<name2>] [;HHHH]

Options:
HHHH
Gives starting execution address

FORMAT command - format diskette

FORMAT [:<drive>]

FREE command - show number of free sectors

FREE [:<drive>] [;<options>]

Options:
L
Direct output to line printer

LIST command - show file on console or printer

Summary: LIST <name>[, [<start>][, <end>]] [;<options>]

Options:
L
Direct output to line printer
H
Get heading information from console
N
Display line numbers for each line
F[ccc].[pp]
Use a non-standard page format. ccc is no. columns (80 is default). pp is no. rows (66 is default).
<start> and <end> have this format:
Lnnnn
Start on line nnnnn
Smmm
Start on sector mmm

LOAD command - load image file into memory

Summary: LOAD [<name>] [;<options>]

Default extension is .LO

Options:
<none>
Load program into contiguous memory above MDOS, leave MDOS SWI handler intact.
U
Load program into user memory map of an EXORcister II with a dual memory map configuration.
V
Allow programs to load over MDOS or anywhere else in memory (disables MDOS SWI).
G
Execute program after loading (otherwise goes to EXbug monitor).
(<string>)
Initialize MDOS command line buffer with the character string.

MERGE command - merge files together

Summary: MERGE <name1>[,<name2>,...],<dname>[;<options>]

If <dname> is the same as <name1>, then <name2>.. are appended to <name1>.

Options:
W
Use automatic overwrite if dname already exists.
<addr>
Use hex address as starting execution address of destination file.

Merges text files similar to UNIX cat.

Merges binary image files with different addresses into a single file containing all files at their original addresses.

NAME command - rename files

Summary: NAME <name1>[,<name2>] [;<options>]

Options:
D
Set delete protection
W
Set write protection
X
Remove protection
S
Set system attribute
N
Remove system attribute

PATCH command - modify memory image files

Summary: PATCH <name>

Options:
Q
quit
O
display current offset
O m
set offset to m
O m,n
set offset to m*n
<cr>
Show current location
L
display lowest address
H
display highest address
m[,n]R
calculate relative address
cI
dis-assemble opcode
[m][,n]M
set search mask
m,nS
search for byte
m,nW
search for word
N
search for non-matching byte
X
search for non-matching word
m,nP
hex dump
[m[,n]]G
set/display execution address
m[,n]/<string>
examine/change increment mode
m[,n]\<string>
examine/change decrement mode

REPAIR command - like chkdsk

Summary: REPAIR [:<drive>]

ROLLOUT command - save memory to a file

Summary: ROLLOUT [<name>] [;<options>]

Options:
U
Rollout from user memory map of EXOR II
<none>
Write memory to file
V
Write memory to scratch diskette (in drive 1): This copies ROLLOUT code to an address nnnn you specify at the prompt and then returns to MDOS. Next load your file into memory with LOAD. Finally, execute ROLLOUT command with nnnn;G from EXbug.
D
Copy scratch diskette to a file

ASM command - assembler

Summary: ASM <name> [;<options>]

Options:
G
Print all generated code for FCB, FDB, and FCC
-G
Do not print all generated code for FCB, FDB and FCC
L
Print listing on printer
-L
Do not print listing
L=#CN,
Print listing on console
O=<name>,
Create object file with given name
S
Print symbol table
-S
Don't print symbol table

ASM1000 command - M141000 cross assembler

Summary: ASM1000 <name1>[,<name2>,...][;<options>]

Options:
C
Print macro calls
-C
Don't print macro calls
D
Print macro definitions
-D
Don't print macro definitions
E
Print macro expansions
-E
Don't print macro expansions
G
Print generated code from OPLA
-G
Don't generate code from OPLA
H
Input initial heading from console
-H
Don't get heading from console
L
Print source listing on printer
-L
Don't print source listing
L=#CN,
Print source listing to console
L=<name>,
Print source listing to file
M
Print errors only on line printer
-M
Print errors on console and printer
N=ddd,
Set printer line length to ddd
O=<name>,
Save object file name
P=dd,
Set number of lines per page
S
Print symbol table
-S
Don't print symbol table
T
Print opcode usage statistics table
-T
Don't print table
U
Print unassembled code between directives
-U
Don't print unassembled code
X
Print cross-reference table
-X
Don't print cross-reference table

ASM3870 command - M3870 cross assembler

Summary: ASM3870 <name1>[,<name2>...][;<options>]

Options:
C
Print macro calls
-C
Don't print macro calls
D
Print macro definitions
-D
Don't print macro definitions
E
Print macro expansions
-E
Don't print macro expansions
G
Print generated code from OPLA
-G
Don't generate code from OPLA
H
Input initial heading from console
-H
Don't get heading from console
L
Print source listing on printer
-L
Don't print source listing
L=#CN,
Print source listing to console
L=<name>,
Print source listing to file
M
Print errors only on line printer
-M
Print errors on console and printer
N=ddd,
Set printer line length to ddd
O=<name>,
Save object file name
P=dd,
Set number of lines per page
S
Print symbol table
-S
Don't print symbol table
U
Print unassembled code between directives
-U
Don't print unassembled code
X
Print cross-reference table
-X
Don't print cross-reference table

BASIC command - basic interpreter

Summary: BASIC <name1>[,<name2>]

E command - CRT text editor

Summary: E <name>[;<options>]

Used for EXORterm 200/220 or EXORterm 150

EDIT command - text editor

Summary: EDIT <name1>[,<name2>]

EM3870 command - M3870 emulator

Summary: EM3870

FORM1000 command - M141000 Object file conversion

Summary: FORM1000 <name1>[,<name2>]

FORT command - Fortran compiler

Summary: FORT <name1>[,<name2>,...] [;<options>]

Options:
H
Input initial heading from console
-H
Don't get heading from console
L
Print source listing on printer
-L
Don't print source listing
L=#CN,
Print source listing to console
L=<name>,
Print source listing to file
N=ddd,
Set printer line length to ddd
O=<name>,
Save object file name
P=dd,
Set number of lines per page
S
Print symbol table
-S
Don't print symbol table
X
Print cross-reference table
-X
Don't print cross-reference table

MASM command - MACE cross assembler

Summary: MASM <name1>[,<name2>...][;<options>]

Options:
D=<name>,
Name to use for build definition table file
L
Print source listing on printer
-L
Don't print source listing
L=#CN,
Print source listing to console
L=<name>,
Print source listing to file
M
Print errors only on line printer
-M
Print errors on console and printer
N=ddd,
Set printer line length to ddd
O=<name>,
Save object file name
P=dd,
Set number of lines per page
T=<name>,
Name of definitions table file
-T
Definitions table is in memory
X
Print cross-reference table
-X
Don't print cross-reference table

MBUG command - MACE loader and debug module

Summary: MBUG [<name1>][,<name2>][;<options>]

MOTEST command - Component tester executive

Summary: LOAD MOTST;VG

MPL command - MPL compiler

Summary: MPL <name1>[,<name2>...][;<options>]

Options:
L
Print source listing on printer
-L
Don't print source listing
M
Print errors only on line printer
-M
Print errors on console and printer
N
Print line numbers
-N
No line numbers
O=<name>
Save object file name (give as last option)
S
Include MPL statements as comment in output file

PPLO/PPHI command - PROM Programmer I

Summary: LOAD PPHI;VG or

Also: LOAD PPLO;VG

PROMPROG command - PROM Programmer II/III

Summary: PROMPROG

RASM command - Relocatable M6800 Macro Assembler

Summary: RASM <name1>[,<name2>...][;<options>]

Options:
A
Memory-image object file output
C
Print macro calls
D
Print macro definitions
E
Print macro expansions
F
Print conditional directives
G
Print generated code from FCB, FDB, FCC
H
Input initial heading from console
L
Print source listing on printer
-L
Don't print source listing
L=#CN,
Print source listing to console
L=<name>,
Print source listing to file
M
Print errors only on line printer
-M
Print errors on console and printer
N=ddd,
Set printer line length to ddd
O=<name>,
Save object file name
P=dd,
Set number of lines per page
R
Relocatable object file output
S
Print symbol table
U
Print unassembled code between directives
X
Print cross reference table
Z
Use M6801 mnemonics

RASM09 command - Relocatable M6809 Macro Assembler

Summary: RASM09 <name1>[,<name2>...][;<options>]

Options:
A
Memory-image object file output
C
Print macro calls
D
Print macro definitions
E
Print macro expansions
F
Print conditional directives
G
Print generated code from FCB, FDB, FCC
H
Input initial heading from console
L
Print source listing on printer
-L
Don't print source listing
L=#CN,
Print source listing to console
L=<name>,
Print source listing to file
M
Print errors only on line printer
-M
Print errors on console and printer
N=ddd,
Set printer line length to ddd
O=<name>,
Save object file name
P=dd,
Set number of lines per page
R
Relocatable object file output
S
Print symbol table
U
Print unassembled code between directives
X
Print cross reference table

RLOAD command - Linking loader

Summary: RLOAD

SIM1000 command - 141000 Simulator

Summary: SIM1000