Skip to content

Motorola M6800 (6800) Exorciser / SWTPC emulator

License

Notifications You must be signed in to change notification settings

MrAureliusR/exorsim

 
 

Repository files navigation

EXORsim - Motorola EXORciser Simulator

Links

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

Introduction

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.

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.

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.

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:

ftp://bitsavers.informatik.uni-stuttgart.de/bits/Motorola/mdos/

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:

http://www.classiccmp.org/dunfield/img/index.htm

Documentation about MDOS can be found here:

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

	M68MDOS3_MDOS3um_Jun79.pdf	Operating system user's manual.
	MEK6800D2.pdf			Microprocessor datasheet
	M6800_Microprocessor_Applications_Manual_1975.pdf
	Motorola_M6800_Programming_Reference_Manual_M68PRM(D)_Nov76.pdf

Some text documentation and notes can be found here:

EXORsim usage guide

To run FLEX2:

./exor --swtpc flex.dsk

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/

About

Motorola M6800 (6800) Exorciser / SWTPC emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.8%
  • Makefile 1.2%