EtchedPixels wrote: ↑22 Jun 2019 19:09
The rest works - at least on MEMU. As ever that doesn't always mean it runs on the hardware because emulators are never perfect - and also it doesn't emulate the CFII.
There is a version of MEMU that emulates the CFX-II, including the CF
http://primrosebank.net/computers/rpi/p ... memupi.htm.
The source code there will build six versions of MEMU on a Raspberry Pi. The first four versions will also build on x86 Linux. These versions are:
memu-circle/app/memu/memu:
This is the classic command line version of MEMU, but with additional features (see below). It requires XWindows, and is configured using the command line.
memu-circle/app/memu/memu-cfg:
This version also requires XWindows. Configuration is specified by a configuration file "-config-file memu.cfg" and a configuration dialog. Try <SysRq>, <Windows> or <Windows Menu> keys to open the dialog (not all environments pass all keys).
memu-circle/app/memu/memu-fb:
Command line version that does not require XWindows. Instead each window is shown full screen (using frame buffer). Use <Ctrl> plus function keys to switch between windows.
memu-circle/app/memu/memu-cfb:
Configuration dialog version that does not require XWindows.
memu-circle/app/memu/memu-pi:
Configuration dialog version that does not require XWindows. Uses GPU to display. Can use RPi GPIO to attach: MTX keyboard, Atari style joysticks, printer, PIO (Note only 3.3v not 5v). Specify hardware as "-hw-config hardware.cfg". Example file for MTX keyboard included.
memu-circle/boot/kernel*.img:
The bare metal versions for the different RPi processors. This version uses two configuration files "memu0.cfg" (static) and "memu.cfg" (changed by the configuration dialog). It supports use of GPIO to attach hardware (specify "-hw-config hardware.cfg" in "memu0.cfg"). At present this version does not use the GPU, nor does it provide DART emulation. More work to do. However it is currently the best one to use for MTX-Pi.
All of these versions include:
CFX-II Emulation:
Enable this with "-cfx2 rom_file". The rom_file should be 16KB as Martin produces, it is automatically split into rom 4 and rom 5. CF partitions are specified as separate files, which means that the same files can be used as either SID drives or CF partitions. Specify the partitions as -cf-image c:p image_file", where "c" is card number (0 or 1) and "p" is partition number on the card (0-7).
There is a technique to getting into CFX CP/M mode. First press and hold both the <Alt> keys. Then press and hold the "C" key. Release the <Alt> keys. Continue to hold the "C" key long enough for the CFX ROM to recognise CP/M mode required. This order is necessary because XWindows will not report the second <Alt> key if the "C" is already down.
Enhanced keyboard re-mapping:
Enable this with "-kbd-remap". This now works as per the Propeller hardware interface. By default Andy's original mapping. Hit <Scroll Lock> to make use of the three "missing" keys to match the shift state of most characters. <F12> to turn on <Num Lock> so that keypad keys produce the digits as labelled. The "-kbd-remap" switch also applies the ROM patches to support the three extra keys.
Load and save audio (*.wav) files:
Enable this with "-cassette-in file" or "-cassette-out file". The files may be either *.wav or *.mtx. *.mtx files are converted to/from audio during load/save. Clearly this is much slower than the usual way of loading *.mtx files. To keep the file size down the attached Zip file only contains a couple of examples in the "tapes" folder.
Slightly improved usage message:
If there is an issue with the command line, it tells you which switch is causing the problem.