This is a fork of Joe H. Allen's Exorsim project ( https://github.com/jhallen/exorsim ) 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. -- 3 Sept 2022 -- there were also official 6801 modules from Motorola for using the Exorciser to develop 6801 applications, but I don't know anything about them.)
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: https://osdn.net/downloads/scmarchive/u/reiisi/git/xhilr_calendar/c9/ca/xhilr_calendar-c9ca731.tar.gz/
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 or years. Right now I need to use it for the 6800 and 6801 implementations of my common run-time libraries, which are still (3 Sept 2022) in suspended animation.
3 September 2022: I have been getting VTL-2 (Very Tiny Language) running on this simulator, and also on the XRoar MC-10 emulator, and in the process discovered the most embarrassing thing possible. Well, not quite that embarrassing, but embarrassing enough, especially after writing my blog post about software differences between the 6800 and the 6801: https://joels-programming-fun.blogspot.com/2022/08/software-differences-between-6800-and-6801-6803.html . My code here for the 6801 version of CPX failed to set C (and perhaps other condition codes). That is now (I hope) fixed.
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 ( https://sourceforge.net/projects/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"
or
./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 now 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.
Motorola M6800 (6800) Exorciser / SWTPC emulator plus 6801 instruction set emulation
Rev. | 时间 | 作者 | Message RSS |
92ef8a29 | 2022-09-03 00:57:21 | Joel Matthew Rees | Fixing the embarrassing CPX bug -- C flag, etc. |
b083fd00 | 2020-11-22 22:37:11 | Joel Matthew Rees | 6801 additions and command-line switch for asm6800.c -- n... |
cc0e06ae | 2020-11-22 17:23:23 | Joel Matthew Rees | unasm changed to runtime option for 6801, lightly tested,... |
5943efec | 2020-11-22 02:42:52 | Joel Matthew Rees | got the bug in the opcode determinant logic for 8-bit bin... |
a8cfd78e | 2020-11-22 02:27:01 | Joel Matthew Rees | bad boolean math for 8-bit binary |
73ec1852 | 2020-11-22 02:03:25 | Joel Matthew Rees | buggy in 6800 mode, not sure why |
7b9a5a57 | 2020-11-17 19:51:19 | Joel Matthew Rees | forth conversion complete |
36b72d7f | 2020-11-17 16:14:57 | Joel Matthew Rees | tests file needs a more explicit name |
6fd5f840 | 2020-11-17 01:24:53 | Joel Matthew Rees | assembler additions functional, lightly tested, but allow... |
b9eccc1d | 2020-11-16 00:16:42 | Joel Matthew Rees | unasm now has 6801 stuff and is lightly tested, adding te... |
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 ( https://github.com/jhallen/exorsim ) to access unbroken links.
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:
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:
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.
Welcome to OSDN Wiki system. Here is your chamber Wiki space.
Check Wiki Guide (English) to refer syntax and functions.