This patch add Multiface1 emulation to fuse... Just for
fun :-)
I add the Multiface 1 red button menu entry to Machines
menu branch, it may not so good but i have no idea of
the perfect place.
The multiface 1 stealth option represents the J2 jumper
state - disable Multiface, if checked, J2 open. The
joystick port always disabled (J1 always "open").
The multiface not work in 128k+ machines (I need some
info may the proper ports an port masks... or
schemantic of mf128 and mf+3 )
Wiki: Fuse 1.2 Release Plan
Wiki: Fuse 1.2.2 Release Plan
Wiki: Fuse 1.3.0 Release Plan
Wiki: Fuse 1.3.1 Release Plan
Wiki: Fuse 1.3.2 Release Plan
Wiki: Fuse 1.3.3 Plan
Wiki: Fuse 1.3.4 Release Plan
Wiki: Fuse 1.3.5 Release Plan
Wiki: Fuse 1.3.6 Release Plan
Wiki: Fuse 1.3.7 Release Plan
Here is an updated patch.
Nothing changed yet, just applied for current HEAD...
Thanks, Gergely. If you submit another patch with the changes I ask for, I'd be happy to apply it.
BTW, to justify my view that multiface_get_type() should be removed: consider that we already have PERIPH_TYPE_KEMPSTON and PERIPH_TYPE_KEMPSTON_LOOSE, which only differ in their port decoding.
If there were ten types of Multiface I might think about a combo box, but for just three models, the combo box just complicates the UI for the sake of removing just one extra widget. Yes, if you want to change the type of Multiface that is emulated, you need to deselect the old type and select the new type.
Just as if you plugged a Multiface One into the back of a Multiface 128, you'll find that enabling both the One and the 128 does not work especially well. This is consistent with other peripherals. I do agree that we should improve our approach to peripheral selection, but I'd rather see something that benefits all peripherals, in another patch, than a Multiface-specific change.
I would also like to avoid giving the false impression that conflicting peripherals cannot be selected in the UI. I think if we start doing this for specific peripherals without solving the general case, that is the path we risk going down.
Here is a patch:
Next step:
Now there are 3 multiface, 3 ram, 3 set of in/out routines, etc...
But only one RED button...
I've committed some tidy-ups into the recent patches-87-multiface-emulation branch.
From a superficial look, I see some possible issues:
/* IN A, (191) -> page in, and IN A, (63) page out */
But James McKay and Woody suggest that the ports are swapped.
Port reads should (probably) set the "attached" value to 0xff instead of 1, like other interfaces. Unfortunately that breaks Multiface 3, when exiting from Multiface menu it cannot set the proper bank selection. Probably that's another subtle error.
I cannot easly follow schematics, but for those interested in techical details there are (not so) recent and interesting info...
Bugfixed Multiface128 schematic:
https://www.worldofspectrum.org/forums/discussion/44841/hardware-description-multiface-128
Clone of Multiface3 schematic (caution!):
http://www.worldofspectrum.org/forums/discussion/44718/hardware-description-multiface-3
I've committed an initial snapshot support by [5ec70c] and [fd13d9]. It's heavely based on the SZX block that allows only one interface.
Some thoughts:
the physical switch. Enabled/disabled by the Fuse menu.
valid for models 128/3. Is enabled by default, disabled by the Multiface
menu.
snapshots.
visible and maybe with ALL_RAM mode in +3.
Related
Commit: [5ec70c]
Commit: [fd13d9]
This looks good to me. Are there any changes that anyone thinks are neccessary before we merge this code to master?
"attached" value to 0xff is the outstanding bit. Might be a future FIXME, though.
Yes, I think that is a detail that can be worked out later if relevant and would be happy for this to be merged for the next release.
I've brought both branches up to date with master and adjusted the SZX snapshot support to the libspectrum_buffer API and given it a quick test that looks good to me. I'm happy for a merge to master if you are happy.
Thanks. I think it's good enough. Merged by [5d6f0a] and [bae06b].
Related
Commit: [bae06b]
Commit: [5d6f0a]
Closing as will be released in fuse 1.3.7. There are still areas to improve in the implementation, but are flagged in the source code.
Can you tell me the CRC32's for the recommended mf1.rom, mf128.rom and mf3.rom please ? Phillip's site gives no information and obviously no download links. I wish FUSE detected all ROMS by the CRC and not by filename and size.
Unless Gergely has some specific advice, I don't think we have a specific recommendations. The ROM files are expected to be 8 kilobytes.
If you are able to give some feedback on compatible ROMs after trying some out it would be great. I think a great list defining the ROMs that were made for the Multiface models is here http://x128.speccy.cz/multiface/multiface.htm
Hi,
I think our intention was that: all ROM should work as in real life - a faithful hardware level emulation... O.k. we know very little about the hardware level: we have a Multiface One schematic, a PCB layout about MF128 and an MF3 (clone) schematic.
So there is no any recommendation,..
Gergely
On Tue, Jul 04, 2017 at 11:26:32AM +0000, Fredrick Meunier wrote:
Currently I am using :-
mf1.rom (2.1, 1986) (4B31A971)
mf128.rom (87.2) (F473991E)
mf3.rom (3.C) (2D594640)
I suppose i'll stick with these unless anyone recommends using better versions.
Again, it would be good if Phillip had CRC32's for his documented roms on his site as I assume these are the ones that he tests Fuse with (but only he knows which versions they are).
Last edit: windale 2017-07-04
That's a good selection. The only unsupported roms are mf128.rom with CRC32 8D8CFD39 or CFEFD560 as use different ports.
If you want maximum RZX compatibility with other emulators, look for these versions:
I think "The Spectrum ROMs collection" page main interest is tracking copyright holders and has no relation with Fuse development or testing.
The Sinclair FAQ wiki has more info about ROM versions and checksums: https://faqwiki.zxnet.co.uk/wiki/ROM_images
The best resource of information for Multiface is http://x128.speccy.cz/multiface/multiface.htm, though.
A small change has just been made to http://www.shadowmagic.org.uk/spectrum/roms.html :-)