Release Basilisk ii - Mac Emulator

Discussion in 'Software Releases' started by Wally, Aug 1, 2014.

  1. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    Hello all,

    Definitely well overdue. Managed to finally work out how PNDs actually work and master a Basilisk ii PND which comes complete with the companion GUI app. 

    Runs quite decently compared to the last build we had on the Pandora (This is the latest GIT build) and I found The Incredible Machine 3 and Harry the Handsome Executive both run awesome.

    Basilisk ii requires a ROM File (I suggest Quadra 650) and a configured Mac OS 6 or Mac OS 7 dsk, this can be done on the Pandora and the OS can be obtained from Apple

    Suggested config:

    32MB of RAM.

    68040 processor (Depending on the games requirements)

    Mac OS 7.5.3 or OS 6 and tons of software ^_^

    Known issues:

    * Notaz SDL doesn't seem to work if I export the video driver. Perhaps it is because the GUI comes up first, I will be looking into this Seems to work now.

    * Some games will crash randomly.  

    Have fun! :D
     
    Last edited by a moderator: Aug 11, 2014
    Tags:
    sswam likes this.
  2. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Were you able to solve the touchscreen issue?

    If the app starts the emulator from it's gui, you could manually set the variable in the code itself before starting. What happens, when you start without the gui and the export? Is the videooutput set to SDL and is SDL support compiled in?
     
    Last edited by a moderator: Aug 1, 2014
  3. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    Nah, need Notaz SDL to solve the touchscreen issue and yeah I used the --enable-sdl-video and it comes up in the debug output
     
  4. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    if I run Basilisk 2 outside of the PND and call Notaz SDL tracking works okay but there's still the grabbing issue. Not sure how I can get around that as it clicks where the cursor was last. I think there needs to be a driver for the OS to be able to handle it.
     
  5. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    I think it is a bug in the mousehandling. There is a patch for a n900 version. Have a look if it can be used with this one.
     
    Wally likes this.
  6. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    You'll have to be looking at the current sources as that's what I am building from. ;)

    EDIT: I've added the code and now compiling as there was no changes from old to new source.


    BTW i've forked the BasiliskII Repo and will make some changes then request a merge back and probably add a configure --touch-screen option for later so that it stays in the code.
     
    Last edited by a moderator: Aug 4, 2014
  7. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    Okay.. Finally we have a solution.. ptitseb (Seriously is a god) fixed the issue and gave me the diff to add and it works... Somehow it fixed Notaz SDL loading at launch so we now have a nice fullscreen experience. :D
     

    dgame, i'm going to hide our little discussion as it's so different to ptitseb's fix and we don't want to confuse anyone.

    I'll explain the fix later.
     
    moxie likes this.
  8. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Very good. Hope this fix also works with the non-modified sdl and gtk backends.


    I need to build some version for raspberry that needs touchscreen support :)
     
  9. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    The fix is in the Video_SDL.cpp, I think X11 is too much effort to fix as there's no full screen, audio doesn't work and of course has the same bug which probably can be patched there too. Maybe ptitSeb is best to explain everything (When he's finished with my games image of course ;) ) i'm going to bed so i'll try tomorrow.

    Mac OS 8 works great too! :D
     
  10. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Could sheep shaver alsi be built for the ppc macs?
     
  11. ptitSeb

    ptitSeb Serial Porter

    Joined:
    Aug 15, 2012
    Messages:
    8,394
    Location:
    France, near Lyon
    I tried, it built, but doesn't run.

    The memory manager does strange things, like trying to mmap 0x0000000.

    So for it to run, I will have to write my own Memory manager :( ...

    It (should) works with standard sdl. The problem is, when using a touchscreen, you have a mouse move+click when you touch the screen.

    It seems the MacOS itslelf doesn't handle a move + click in the same interept correctly. So the patch is to first move, then click. And I use BasiliskII intégrated 60Hz interupt to differentiate both action (easily, because the SDL event_handler is called by the refresh code).

    the diff is here:

    Code:
    diff --git a/BasiliskII/src/SDL/video_sdl.cpp b/BasiliskII/src/SDL/video_sdl.cpp
    index 720b8dc..c6b2f0a 100644
    --- a/BasiliskII/src/SDL/video_sdl.cpp
    +++ b/BasiliskII/src/SDL/video_sdl.cpp
    @@ -1695,6 +1695,19 @@ static void handle_events(void)
            const int n_max_events = sizeof(events) / sizeof(events[0]);
            int n_events;
     
    +       static unsigned int old_up = 0;
    +       static unsigned int old_down = 0;
    +
    +       unsigned int moved = 0;
    +
    +       if (old_down) {
    +               SDL_Event fake;
    +               fake.type = SDL_MOUSEBUTTONDOWN;
    +               fake.button.button = old_down;
    +               SDL_PushEvent(&fake);
    +               old_down = 0;
    +       }
    +
            while ((n_events = SDL_PeepEvents(events, n_max_events, SDL_GETEVENT, sdl_eventmask)) > 0) {
                    for (int i = 0; i < n_events; i++) {
                            SDL_Event const & event = events[i];
    @@ -1703,6 +1716,9 @@ static void handle_events(void)
                            // Mouse button
                            case SDL_MOUSEBUTTONDOWN: {
                                    unsigned int button = event.button.button;
    +                               if (moved) {
    +                                       old_down = button;
    +                               } else
                                    if (button == SDL_BUTTON_LEFT)
                                            ADBMouseDown(0);
                                    else if (button == SDL_BUTTON_RIGHT)
    @@ -1738,6 +1754,7 @@ static void handle_events(void)
                            // Mouse moved
                            case SDL_MOUSEMOTION:
                                    drv->mouse_moved(event.motion.x, event.motion.y);
    +                               moved = 1;
                                    break;
     
                            // Keyboard
    
     
    Last edited by a moderator: Sep 30, 2014
    klapse and Wally like this.
  12. dgame

    dgame Active Member

    Joined:
    Oct 1, 2006
    Messages:
    937
    No problem. I am glad it is fixed. Don't have may Pandora with me but will try the new build later.

    Thanks Guys!
     
  13. Silent-Hunter

    Silent-Hunter Hardcore Member

    Joined:
    May 29, 2010
    Messages:
    3,048
    I can't get Mac OS 8.1 to work. It says I need the original CD, that it can't be a copy. But I can't, I don't have a CD-ROM drive for the Pandora.

    Please help?
     
  14. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    You're better off using Mac OS 7.5.3 as it's free from Apple. You're not allowed to distribute a complete image as people need to accept the EULA.

    I'm contemplating making a nice collection of freeware / shareware as a dsk file if anyone is interested. Shame the Sim games aren't freeware / shareware as they're a lot of fun ;)
     
  15. hitbyambulance

    hitbyambulance Active Member

    Joined:
    Nov 26, 2005
    Messages:
    622
    Location:
    Seattle, WA
    for sure get the demos for the Ambrosia titles!
     
    Wally likes this.
  16. Silent-Hunter

    Silent-Hunter Hardcore Member

    Joined:
    May 29, 2010
    Messages:
    3,048
    But I already have the CD-ROM. I don't want to distribute it.
     
    Wally likes this.
  17. Wally

    Wally I am a banana! Staff Member

    Joined:
    Jan 31, 2006
    Messages:
    2,943
    Location:
    Melbourne, Australia
    Have you tried dumping the iso and running that as CD Rom. You'll also need to configure the rom file (Quadra 650 does the trick) to load it.


    I'll try 8.1 when I get home but that won't be for another hour or so.
     
  18. Silent-Hunter

    Silent-Hunter Hardcore Member

    Joined:
    May 29, 2010
    Messages:
    3,048
    It works, I had to boot using a floppy image and then install. It's got issues though, like the emulator crashes when setting up the locale stuff, like your name and organization. I can't use System 7.5.3 because it comes as a bunch of images that can only be read on a Mac.
     
  19. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    There are tools to prepare them on a linux/windows system.


    The easiest one lets you mount/create mac image files and manipulate them.
     
  20. mcobit

    mcobit Advanced Member

    Joined:
    Jul 28, 2008
    Messages:
    6,755
    Did you also compile and include the sheepnet module? Might be useful in some cases.
     

Share This Page

Loading...