Menu

#87 Multiface 1/128/+3 emulation

v1.3.7
closed-accepted
nobody
None
5
2017-07-08
2005-05-09
No

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 )

Related

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

Discussion

<< < 1 2 (Page 2 of 2)
  • Gergely Szasz

    Gergely Szasz - 2015-05-26

    Here is an updated patch.

    Nothing changed yet, just applied for current HEAD...

     
  • Stuart Brady

    Stuart Brady - 2015-05-26

    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.

     
  • Gergely Szasz

    Gergely Szasz - 2015-05-26

    Here is a patch:

    • now we have Multiface 1, Multiface 128 and Multiface +3 (or just Multiface 3?) as separated peripherals (with separated port definitions)
    • combo box disappeared
    • o.k. now only one of them emulated at once (we cannot plug an MF One after an MF128... yet ;)
     
  • Gergely Szasz

    Gergely Szasz - 2015-05-30

    Next step:
    Now there are 3 multiface, 3 ram, 3 set of in/out routines, etc...

    But only one RED button...

     
  • Fredrick Meunier

    • Group: v1.2 --> future
     
  • Sergio Baldoví

    Sergio Baldoví - 2017-05-21

    I've committed some tidy-ups into the recent patches-87-multiface-emulation branch.

    From a superficial look, I see some possible issues:

    • The Multifce 3 it's likely not compatible with 48K. The manual claims compatibility only with +2A and +3 machines and this discussion points to different voltage lines on the edge connector. machines_periph.c enables Multiface 3 for 48K machines, though.
    • A comment in Multiface 3 code inform these paging ports:
      /* IN A, (191) -> page in, and IN A, (63) page out */
      But James McKay and Woody suggest that the ports are swapped.
     
  • Sergio Baldoví

    Sergio Baldoví - 2017-06-04

    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 Multiface disabled status is only valid for model One. Represents
      the physical switch. Enabled/disabled by the Fuse menu.
    • The Multiface software lockout status (invisible/stealth) is only
      valid for models 128/3. Is enabled by default, disabled by the Multiface
      menu.
    • Disabled and software lockout are exclusive.
    • SpecEmu doesn't emulate Multiface One.
    • Spectaculator emulates Multiface 3 but doesn't store its status in
      snapshots.
    • SpecEmu wrongly set "red button disabled" as "software lockout".
    • The "red button disabled" should be set when the Multiface menu is
      visible and maybe with ALL_RAM mode in +3.
     

    Related

    Commit: [5ec70c]
    Commit: [fd13d9]

  • Fredrick Meunier

    This looks good to me. Are there any changes that anyone thinks are neccessary before we merge this code to master?

     
  • Sergio Baldoví

    Sergio Baldoví - 2017-06-05

    "attached" value to 0xff is the outstanding bit. Might be a future FIXME, though.

     
  • Fredrick Meunier

    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.

     
  • Fredrick Meunier

    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.

     
  • Sergio Baldoví

    Sergio Baldoví - 2017-06-11

    Thanks. I think it's good enough. Merged by [5d6f0a] and [bae06b].

     

    Related

    Commit: [bae06b]
    Commit: [5d6f0a]

  • Fredrick Meunier

    • status: open --> pending-accepted
    • Group: future --> NextRelease
     
  • Sergio Baldoví

    Sergio Baldoví - 2017-07-02
    • status: pending-accepted --> closed-accepted
     
  • Sergio Baldoví

    Sergio Baldoví - 2017-07-02

    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.

     
  • windale

    windale - 2017-07-04

    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.

     
  • Fredrick Meunier

    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

     
    • Gergely Szasz

      Gergely Szasz - 2017-07-04

      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:

      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
      [1]http://x128.speccy.cz/multiface/multiface.htm

       
  • windale

    windale - 2017-07-04

    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
  • Sergio Baldoví

    Sergio Baldoví - 2017-07-04

    I suppose i'll stick with these unless anyone recommends using better version

    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:

    SpecEmu multiface ROMs
    4b31a971    mf1.rom "MU 2.1, 1986"
    f473991e    mf128.rom "unknown"
    2d594640    mf3.rom "V50 MULTP3, 1987"
    
    Spectaculator multiface ROMs
    4b31a971    mf1.rom "MU 2.1, 1986"
    78ec8cfd    mf128.rom "V36 DIS, 1987"
    2d594640    mf3.rom "V50 MULTP3, 1987"
    

    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).

    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.

     
  • Philip Kendall

    Philip Kendall - 2017-07-08

    A small change has just been made to http://www.shadowmagic.org.uk/spectrum/roms.html :-)

     
<< < 1 2 (Page 2 of 2)

Log in to post a comment.