Skip to content

jhallen/exorsim

Repository files navigation

EXORsim - Motorola EXORciser Simulator

Introduction

EXORsim is a Linux/Cygwin program that simulates a Motorola EXORciser, which was a development system that Motorola introduced in 1975 based on their 8-bit 6800 and 6809 microprocessors. They are analogous to Intel's Intellec development system for their own microprocessors.

http://computermuseum.informatik.uni-stuttgart.de/pics/exor/gesamt.jpg

Image from Computermuseum der Stuttgarter Informatik. Some more pictures of this development system can be found at Pekka Tanskanen's website here.

The EXORciser was influential in the M6800 world:

Documentation for the EXORciser can be found here:

http://www.bitsavers.org/components/motorola/6800/exorciser/

Disk images for the EXORciser can be found here:

http://www.bitsavers.org/bits/Motorola/Exorcisor/

You need to use ImageDisk to extract the binary data from from the .IMD files (requires MS-DOS).

imdu disk.imd disk.dsk /b

Or you can use "imdx" provided in this repository:

./imdx disk.imd

The EXORciser was designed primarily to help you write assembly language programs for Motorola's 8-bit microprocessors, including 6800, 6801, 6805 and 6809. But it also supported some high level language compilers including BASIC, FORTRAN, COBOL, MPL and PASCAL.

The EXORciser could be used without any disk drives. In this case, you would use either a paper tape punch and reader, usually as part of an ASR33 Teletype, or cassette tape storage, for example as included with a TI ASR 733. But it was much more pleasant if you did have floppy drives, such as the EXORdisk-I,-II, or -III. In this case, there were a number of available operating systems:

  • EDOS-I (primitive OS with no file names- files are refered to by number, for EXORdisk-I)
  • EDOS-II (primitive OS with 5 character file names, for EXORdisk-I)
  • MDOS (CP/M-like OS with 8 character file names with two character extensions, for EXORdisk-II/-III)
  • MDOS09 (same as MDOS, but for 6809-based EXORcisers)

There was an all-in-one follow-on system called EXORset available in the early 1980s. This system had a built-in terminal, used 5 1/4" mini-floppies and ran "XDOS". XDOS is nearly identical to the 6809 version of MDOS, but with mini-floppy support.

New! EXORsim can now simulate a 6809-based EXORciser as well as the original 6800-based one. It can run both MDOS and MDOS09.

SWTPC

EXORsim also simulates a SWTPC 6800 Computer System, which allows you to run the TSC FLEX operating system.

SWTPC-6800-01)

EXORsim

EXORsim is a terminal program- it's invoked at the UNIX shell and runs in the user's ANSI terminal emulator (such as XTerm). This allows you to use terminal emulator features such as scroll-back. I find this to be more useful than some emulators which run under MS-Windows, but provide only a very rudimentary terimnal.

EXORsim Simulates 6800 CPU and the following peripherals:

  • MC6850 "ACIA"-based serial port (UART)
    • EXORsim emulates an EXORterm 155 by converting its control sequences into ANSI ones
  • Line printer port
    • Output is appended to a file "listing.lp"
    • "listing.lp" can be converted to a .pdf file using the included "lpf" program
  • Floppy disk controller
    • EXORdisk-II floppy diskette controller emulated by intercepting calls to the controller ROM
    • SWTPC MF68 with DC_1 emulated by hardware emulation of the FD1771 controller.

Example session

Right now the exbug.bin (or swtbug.bin for SWTPC) files must be in the current directory.

'=' is the MDOS command prompt.


~/exor-1.0$ ./exor
Load facts file 'facts'
'exbug.bin' loaded.
'mdos.dsk' opened for drive 0 (double sided)

Hit Ctrl-C for simulator command line.  Starting simulation...


MDOS  3.05
=         

=DIR 
DRIVE : 0   DISK I.D. : SYSTEM
ECUSTOM .CF                   
MDOSMODE.CF
NEWS    .SA
EDITINFO.SA
TOTAL DIRECTORY ENTRIES SHOWN : 004/$04
=                                      

=DIR;S                     Include hidden system files
DRIVE : 0   DISK I.D. : SYSTEM
BINEX   .CM                   
LIST    .CM
MDOSOV0 .SY
DIR     .CM
MERGE   .CM
RLOAD   .CM

. . . etc . . .

TOTAL DIRECTORY ENTRIES SHOWN : 058/$3A
=

=BASIC FRED                Try BASIC interpreter- it requires a filename

MDOS BASIC 2.01
COPYRIGHT(C)- 1977



READY
#PRINT "HELLO, WORLD!"
HELLO, WORLD!

READY
#EXIT
SAVE(Y/N)
N

=RASM
MDOS MACROASSEMBLER  3.01
COPYRIGHT BY MOTOROLA 1977



** 02 NAME REQUIRED

=RASM09
M6809 MACROASSEMBLER 02.00
COPYRIGHT BY MOTOROLA 1978



** 02 NAME REQUIRED

=ASM09

AUSTIN,TEXAS--MICROCOMPUTER CAPITAL OF THE WORLD!
M6800-M6809 CROSS-ASSEMBLER 2.2
MOTOROLA-AUSTIN INTERNAL USE ONLY
COPYRIGHT MOTOROLA 1978

**UNIF. I/O ERROR-STATUS=00 AT 2971

=

You can also emulate a 6809-based EXORciser:



~/exorsim$ ./exor09
Load facts file 'facts09'
'exbug09.bin' loaded.
  EXBUG09-2.1 detected
'mdos09.dsk' opened for drive 0 (double sided)

OSLOAD...

Hit Ctrl-C for simulator command line.  Starting simulation...


MDOS09  3.04
=DIR
DRIVE : 0   DISK I.D. : TEST
RASM09  .CM
XASM    .CM
PROMPROG.CM
EDIT    .CM
E       .CM
NEWS    .SA
TOTAL DIRECTORY ENTRIES SHOWN : 006/$06
=

Hit Ctrl-C once to access the simulator's debugger prompt.

Hit Ctrl-C again to exit EXORsim, or use the 'c' command to continue simulating.

See the MDOS quick start to see how to use MDOS editors and write simple assembly langauge programs.

Also see EXORsim usage guide for more usage information.

SWTPC FLEX

To simulate SWTPC instead, run with the --swtpc option:


~/exor-1.0$ ./exor --swtpc
Load facts file 'facts'
'swtbug.bin' loaded.
'flex.dsk' opened for drive 0 (tracks=80 sectors=72)

Hit Ctrl-C for simulator command line.  Starting simulation...

FLEX 2.0

DATE (MM,DD,YY)? 02,07,11

+++

You can get FLEX2 disk images here:

http://www.flexusergroup.com/flexusergroup/fugdflx2.htm

https://deramp.com/downloads/swtpc/software/FLEX/FLEX%202.0%20and%203.0%20Disk%20Images/

Build instructions

  1. Make a clone of this repository

  2. (Linux)

    sudo make install

  3. (Cygwin) "run as administrator" the Cygwin terminal, then:

    make install

This will install the binaries in /usr/local/bin and install the data files in /usr/local/share/exorsim. When you run exor or exor09, the default drive 0 disk image is copied to $HOME/.exorsim.

The search order for data files is:

  1. Current directory
  2. $HOME/.exorsim
  3. /usr/local/share/exorsim

Utilities

A number of utilities are built in addition to "exor":

mdos	This provides file access to MDOS diskette images

edos	This provides read-only file access to EDOS-II diskette images

unasm	This is a stand-alone 6800 disassember

imdx	Utility to extract disk images from .imd files
	(so that you don't have to run MS-DOS)

lpf	Convert ASCII line printer output (66 lines per page) to
	PostScript.  Then use ps2pdf to generate a .PDF file.

Blank disks

sblank.dsk	Single sided blank disk with filesystem installed (DOSGEN ;U)

dblank.dsk	Double sided blank disk with filesystem installed (DOSGEN ;U)

Links

MDOS quick start
MDOS reference
MDOS technical information
EXORsim usage guide
MPL language
EXORterm info
Notes

About

Motorola M6800 (6800) Exorciser / SWTPC emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published