A kind-of-emulator software, created for my experiments and development for Foenix machines.
Warning: m68k mode is slow and memory map doesn't fit current specifications! See MORFE/O for better m68k emulator!
At this moment You should also consider following factors:
MOST IMPORTANT: it is unofficial work and features/lack of features or emulator design does not correspond to features or design of real FMX/U/GenX machine!
Do not make any unauthorized assumptions about real hardware!
In this branch m68k is easily able to achieve 25Mhz, although now it is capped at 20Mhz. I have a plan for making all setting easily configurable, but first things (like debug facilities for both cpus) first...
First, clone repo by git clone https://github.com/aniou/morfe
Type make morfe
for a 65c816-only version or make morfe-m68k
for dual, 65c816/m68k one (but You should stick with 65c816 and use
MORFE/O for m68k).
There is also make help
that shows actual targets.
Typical session:
git clone https://github.com/aniou/morfe
cd morfe
make morfe
./morfe conf/c256.ini
For m68k a Musashi core
is used, built-in into emulator with some black magic around cgo
.
Standard makefile should build all object files for You, although
working gcc will be necessary.
Emulator requires config file, that defines platform behaviour, files to be loaded at start and some other parameters.
Binaries should be run from project directory (all paths are relative to top-directory of project), i.e.:
./morfe conf/c256.ini
./morfe-m68k conf/a2560k.ini
Use F8
to change active screen! By default FoenixMCP
shows debug on head0 and console on head1
Debugger interface is available for m68k only. Press F9
to call
debug window in terminal. Preferred terminal size is 132x42
(interface can be scaled on fly).
List of supported commands will be displayed in log frame.
conf/c256.ini
for examplesAt this moment a sort-of FMX memory map is available, but GenX is on the horizont: it is fast moving target, so stay tuned!
See here for VICKY II spec
See here for GABE spec
There are few keybindings now. Warning: following keys aren't passed to emulator!
Key | Effect |
---|---|
F8 | Change active head in multi-head setups |
F9 | Enter m68k debugger |
F10 | - (nothing) |
F11 | Toggle full-screen |
F12 | Exit emulator |
I owe thankful word for too many people. Excuse me if I omitted someone.
First at all: all hail to Stefany Allaire, a Dark Mistress that brought to life all Foenix Family! We all praise her brilliant work, persistence and vision!
Project was inspired by NES emulator created by Michael Fogleman and general layout as well as architectural concepts are based on that project. I'm very grateful to Michael for inspiration and all things I learned from their code.
During development a 65c816 emulation I draw inspiration and concepts from Michael's project as well as from MOS 6502 emulator by Paul Annesley. Some algorithms and behaviours are modeled on the C++ 65c816 emulator by Andrew Jacobs.
Project also draws inspirations, knowledge about Foenix's behaviour and even whole code snippets from Foenix IDE by Daniel Tremblay.
When I was in doubt (usually) I was able to find solution and hints in Foenix Kernel Code created and maintained by https://github.com/pweingar/
All code for Motorola is provided by Musashi core.
Finally: daschewie - thanks for Your support!