Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-c誰得cocoaqtpythonrubywindowsphpgameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwitterdombtronvb.nettestarduinodirectxpreviewerゲームエンジン

Recent Chamber Activity


Recent Wiki Changes


Wiki Guide

Side Bar


This is a fork of Joe H. Allen's Exorsim project ( ) to simulate Motorola's Exorciser development system for the 8-bit 6800 MPU. I am working on it here to add the additional instructions from the 6801 instruction set, just because I want something I can conveniently use to work on 6801 code.

(I don't know of any actual hardware that used a 6801 in an Exorciser system other than some highly customized systems some of my brother's coworkers put together as one-off personal projects.)

As of 19 November, the 6801 model (S parameters) fig-Forth assembles and runs well enough to run an old calendar program I put together for a (fictional) planet known as Xhilr:

As of 22 November, I have a command-line switch to enable the 6801 additions, and the assembler and unassembler are somewhat usable. I do not have fact files set up for the fig-Forth model, nor do I have the fig-Forth model interfaced to the disk drive simulation, yet. I'm planning to get back to that in a few weeks. Right now I need to use it for the 6800 and 6801 implementations of my common run-time libraries.

Compiling exorsim6801 is the same as exorsim, just cd into the directory with the source code, and make clean and make. Run it with ./exor and ./unasm, etc., if you don't want to go to the trouble of putting the binaries in your executable path.

Running fig-Forth: For the time being, use my asm68c ( ) to assemble either the 6800 or 6801 model. It outputs an S1/S9 file with a .x extension. Pull that up in a text editor, select-all, and copy. Run exorsim with

./exor -x"


./exor -x --6801

At the EXBUG prompt, hit ctrl-c, and it will drop you into the debugger, with a long listing of the trace record. Ignore that for now. Or you can type "help" for the commands, as it tells you.

At the % prompt, hit "l" (ell) and enter, and it will let you paste the S1/S9 file in. When it stops loading, hit enter one more time, to get it to register the start address. It will tell you what it set PC to, and wait. Hit ctrl-C again to get back to the % prompt. At the % prompt now, type "c" (or "c <start-address>") to execute the code pasted in.

I need to work on the fig-Forth's startup, but for new it gives you a screen full of

"OK "

lines, then waits for input. Hit return twice before you try to enter Forth code in. (As I say, I need to work on the start-up.) Remember, the only way to save and load Forth code for now is by copy/paste. Which means you'll have to scrub it of the Forth interpreter's responses to your code when you copy back out and paste your working code back into a text editor. Clumsy, yes, but that's how it is for now.

  • R/O
  • R/O (HTTP)
  • R/W (SSH)
  • R/W (HTTPS)

Motorola M6800 (6800) Exorciser / SWTPC emulator plus 6801 instruction set emulation

Release Files

No download files.

Recent Commits

Rev.TimeAuthorMessage RSS
b083fd002020-11-22 22:37:11Joel Matthew Rees6801 additions and command-line switch for asm6800.c -- n...
cc0e06ae2020-11-22 17:23:23Joel Matthew Reesunasm changed to runtime option for 6801, lightly tested,...
5943efec2020-11-22 02:42:52Joel Matthew Reesgot the bug in the opcode determinant logic for 8-bit bin...
a8cfd78e2020-11-22 02:27:01Joel Matthew Reesbad boolean math for 8-bit binary
73ec18522020-11-22 02:03:25Joel Matthew Reesbuggy in 6800 mode, not sure why
7b9a5a572020-11-17 19:51:19Joel Matthew Reesforth conversion complete
36b72d7f2020-11-17 16:14:57Joel Matthew Reestests file needs a more explicit name
6fd5f8402020-11-17 01:24:53Joel Matthew Reesassembler additions functional, lightly tested, but allow...
b9eccc1d2020-11-16 00:16:42Joel Matthew Reesunasm now has 6801 stuff and is lightly tested, adding te...
1c1147f02020-11-09 00:48:16Joel Matthew Reesseems to be stable this time around in (do)

The following description was automatically pulled in from Joe H. Allen's project readme. Many of the links are broken here, and I don't intend to fix them at this time. Go to his project pages on github ( ) to access unbroken links.

EXORsim - Motorola EXORciser Simulator


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



p>EXORsim simulates a Motorola EXORciser, which was a development system that Motorola sold in the late 1970s and early 1980s for the 8-bit 6800 microprocessor. Some pictures of this development system can be found at Pekka Tanskanen's website here.


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

EXORsim now emulates an EXORterm! I was finally able to find manuals for the EXORterm 155, so I've implemented an emulator for it. This allows the EDITORM Resident Editor to operate in screen mode.


p>The EXORterm emulator operates as a filter between the EXORciser and 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.


p>EXORsim provides these features:

  • Simulates 6800 CPU and the following peripherals:
    • ACIA serial port.
    • Line printer port.
    • Floppy disk controller:
      • EXORdisk-II floppy diskette controller emulated by intercepting calls to the controller ROM
      • FD1771 hardware emulation for MF68 with DC_1 controller floppy drive
  • Provides a separate command, MDOS, which allows you to read and write files to MDOS diskette images.
  • Provides a stand-alone 6800 disassembler.
  • Includes a powerful debug monitor which allows you to:
    • Assemble 6800 directly to memory. The assembler is symbolic and powerful enough to assemble programs in the Motorola User's Group Library. One way is to select the entire source listing from the web-browser and paste into the monitor after starting the "a" command.
    • Disassemble memory to the screen.
    • Load and save Motorola S19 files / tapes.
    • Load and save binary images.
    • Trace program execution.
    • Single step and continue until breakpoint. A trace buffer is provided, so you can see the instructions which led up to the breakpoint.
    • Call a 6800 subroutine and return to debug monitor when it returns.
    • Hex dump and memory/register modifiction.
  • The output from the disassembler and the tracing features of the debug monitor are annotated with a information from a "facts" file. For example, this file will have known hardware addresses, MDOS system calls, etc. It's not as powerful as IDA, but it works well enough for small programs.

Build instructions

Just type "make" to compile it:

exor    This is the simulator

mdos    This provides file access to MDOS diskette images

unasm   This is a stand-alone 6800 disassember

Right now the exbug.bin and swtbug.bin files must be in the current directory.

To run the simulator:

./exor mdos.dsk

You can get MDOS disk images here:

You need to use "ImageDisk" to extract the binary data from from the .IMD files.

imdu disk.imd disk.dsk /b

You can get ImageDisk from here:

Documentation about MDOS can be found here:

    M68MDOS3_MDOS3um_Jun79.pdf  Operating system user's manual.
    MEK6800D2.pdf           Microprocessor datasheet

Some text documentation and notes can be found here:

EXORsim usage guide

To run FLEX2:

./exor --swtpc flex2.dsk

You can get FLEX2 disk images here:

Download the "FULL kit", install it and find the FLEX2 .DSK files.

Latest updated Tickets

No tickets

About Chamber Wiki

Welcome to OSDN Wiki system. Here is your chamber Wiki space.

Check Wiki Guide (English) to refer syntax and functions.