run FLEX on exec09 - nealcrook/multicomp6809 GitHub Wiki

TODO there are a couple of gotcha's that prevent using the emulator with the mk2 memory mapping unit (paging unit and SDcontroller get corrupted when you load the .HEX file; it works fine if you load a .bin file). To be fixed in August/September.

You can run FLEX (though with some rough edges) on my fork of the exec09 emulator -- that's how I debugged my port in the first place. You will need:

  • A checkout of (my branch of) the exec09 github repository (which you also need to build from the source code)
  • the 6809M.HEX ROM image from the multicomp6809/multicomp/6809/ROMS directory
  • an SD card image built as described in creating an SDcard for FLEX and named (this is important) multicomp09_sd.img -- you do //not// need to transfer the image to an actual SDcard.

Because of the current bug in polite handling of .HEX files, the first thing to do is to generate a .bin file, thus:

$ multicomp6809/bin/hex2bin 6809M.HEX > 6809M.bin

Adjust paths to suit, but be sure to point to multicomp6809/bin/hex2bin or you might get some default program in your $PATH with different command-line semantics.

Now put the .bin and .img files in your working directory and invoke the emulator like this:

$ ./m6809-run -s multicomp09 -b 6809M.bin -d -m 0

"-s multicomp09" selects the target, -b 6809M.bin specifies a binary image (the Camelforth image), -d starts up in the debugger, -m 0 allows the simulator to run "forever". You may see some error messages but you should end up at the "(dbg)" prompt.

Type c and you should see Camelforth start up. Type FLEX and you should see:

FLEX FLEX......................
FLEX 9.0

DATE (MM,DD,YY)?

The first FLEX was typed by you, the second FLEX was printed back by the loader, then there was one dot for each sector loaded.

You have effectively followed all the steps in booting a pre-built FLEX system disk and you can also (if you choose) follow all the debug steps in that section. You can also use the emulator to follow all of the steps in porting FLEX from first principles.

Type "./m6809-run -help" for a summary of the command-line arguments, and refer to README in the source tree for a detailed description of all the commands.

⚠️ **GitHub.com Fallback** ⚠️