• R/O
  • HTTP
  • SSH
  • HTTPS

Repository summary

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

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


Recent Commits RSS

Rev. Time Author Message
92ef8a2 2022-09-03 00:57:21 Joel Matthew Rees master rt_opt Fixing the embarrassing CPX bug -- C flag, etc.
b083fd0 2020-11-22 22:37:11 Joel Matthew Rees 6801 additions and command-line switch for asm6800.c -- n...
cc0e06a 2020-11-22 17:23:23 Joel Matthew Rees unasm changed to runtime option for 6801, lightly tested,...
5943efe 2020-11-22 02:42:52 Joel Matthew Rees got the bug in the opcode determinant logic for 8-bit bin...
a8cfd78 2020-11-22 02:27:01 Joel Matthew Rees bad boolean math for 8-bit binary
73ec185 2020-11-22 02:03:25 Joel Matthew Rees buggy in 6800 mode, not sure why
7b9a5a5 2020-11-17 19:51:19 Joel Matthew Rees forth conversion complete
36b72d7 2020-11-17 16:14:57 Joel Matthew Rees tests file needs a more explicit name
6fd5f84 2020-11-17 01:24:53 Joel Matthew Rees assembler additions functional, lightly tested, but allow...
b9eccc1 2020-11-16 00:16:42 Joel Matthew Rees unasm now has 6801 stuff and is lightly tested, adding te...

Branches

Name Rev. Time Author Message
master 92ef8a2 2022-09-03 00:57:21 Joel Matthew Rees Fixing the embarrassing CPX...
rt_opt 92ef8a2 2022-09-03 00:57:21 Joel Matthew Rees Fixing the embarrassing CPX...

README.md

EXORsim - Motorola EXORciser Simulator

Links

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

Introduction

<

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:

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/pdf/motorola

    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 flex2.dsk

You can get FLEX2 disk images here:

http://www.evenson-consulting.com/swtpc/Downloads.htm

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