Release Basilisk ii - Mac Emulator


Wally

I am a banana!
Joined
Jan 31, 2006
Messages
3,213
Age
37
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:
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:
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
 
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.
 
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.
 
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:
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.
 
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 :)
 
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
 
Could sheep shaver alsi be built for the ppc macs?
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 :( ...

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 :)
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:
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.
No problem. I am glad it is fixed. Don't have may Pandora with me but will try the new build later.

Thanks Guys!
 
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?
 
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 ;)
 
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.
 
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.
 
There are tools to prepare them on a linux/windows system.


The easiest one lets you mount/create mac image files and manipulate them.
 
Did you also compile and include the sheepnet module? Might be useful in some cases.
 
Back
Top