You ever get that feeling you’re going nowhere

And no matter what you are do, this program simply will not run?  You think it’s something platform specific since building it is such a major pain with so many moving parts that you are bound to screw something up.

CRASH!

CRASH!

And then, while looking at the call stack, something looks familiar: I’m crashing at the same place on two different platforms with two different compilers.

It isn’t much, but even consistency lets you know you’ve at least got that much going.

13 thoughts on “You ever get that feeling you’re going nowhere

  1. Ahh Basilisk II – I’ve lost track of how much time I’ve wasted trying to get that thing to build properly. From memory it was the ancient UAE processor code that was causing me issues (too?). Unfortunately, I gave up…

    • I never could get it to compile either, but for some reason I came across an old copy of 0.8, and with a few minor tweaks I got it to run on Debian 7 (i386).. So influenced with that I just got it running on OS X!

      It’s really cool, I’m adding libpcap support, and SLiRP (Ironically from a much later version of Basilisk II) with the hopes that an older and more boring base build will be much more stabler. I have high hopes.

  2. Looks like the emulator is hitting an a-trap (0xaaaa). Then it tries to throw an illegal instruction, which means jumping to the trap handler. Then it tries to “prefetch” the next (few) word(s) at the address of the trap handler, but the trap handler is at address 0x00000000 for some reason. And that should cause a double-fault, but those are hard to implement. I don’t. So it dumbly accesses that address in its own guest memory map, and blows up.

    • Yeah, some buffer wasn’t initalized, but it’s cool to see if failing on multiple platforms in the same place.

      But the cool thing is I just got it running on Linux and OS X. I need to do some more work for Windows, but I’m reviving an old version of Basilisk II, to talk to Shoebill… 🙂

      • I remember the old NT builds being fairly reliable. The more recent JIT builds though certainly haven’t been as reliable as I remember Basilik being, at least under OS X and Windows.

        Those old a at builds had some interesting features, eg its own network driver to do bridging, pass through SCSI support, and probably other bits I’m forgetting.

        • It even has clipboard access , which I never new about.. and the ability to mount the local filesystem. I can play quicktime stuff on this ancient level that causes the new stuff to flip out.. so go figure.

      • It’s always been a rather hacky emulator. Perhaps over the years some of the hacks have been “cleaned” out.

        Just as well there are projects like MESS to do things right.

        • Yeah, and always prone to crashing. But it’s funny looking under the hood, it really emulates none of the hardware, its like pcem of ages ago with it’s fake BIOS to run MS-DOS, instead this hooks the hardware syscalls and fakes it that way.. Pretty cool.

          Im thinking if I KISS, it should be halfway stable. I have it running now on Windows (although it still has timer issues), Linux and OS X. I’m using SDL 1.2.15 since the 2.0 stuff is all hardware texturing based.. I want simple buffers to blit to. Now to do audio.

  3. Hacky indeed. I’d say almost none of the Macintosh emulators actually emulate the whole machine. Why bother when you can just patch in some drivers for virtual devices into the ROM. It worked great for many years….. well except if you wanted to run A/UX or later OS X.

    For audio output on OS X, I think Apple changed the APIs around. Back in 2003 I got sound working in a pre-pre-alpha port of the Mac-On-Linux to OS X by using the Core Audio HAL. It was even multithreaded! Nowadays I think Apple recommends using something like Audio Queue or Audio Units.

    I never did get networking going. Mac-On-Linux had support for TUN/TAP, but it didn’t seem to work right on OS X. I recall downloading the source to the OS X port of Basilisk II to see how they got it working. I will say, MOL did run some classic apps in a OS 9.2.2 VM better than Classic did!

  4. imho, it’d be better letting basilisk rot in the trash heap where it belongs, where it can live with all the other inaccurate and historical-interest emulators like zsnes and nesticle

    MiniVMac, Shoebill, and MESS are where it’s at!

    • Probably, but I’m interested in it’s networking capabilities. Shoebill is truly amazing, I just wish I could get it to run longer than 12-20 hours.

      Mess seems unwieldy on a good day and I just wanted some ‘quick’ action of something simple I could hack on that isn’t multimegabytes of stuff.. Which is why I started with the oldest version of BasiliskII I could find, and started to make it more of an SDL application, and add in things like pcap support.

        • Well I have 0.8 with a slightly newer cpu core running on Linux, Windows and OS X. . I’m just trying to get slirp running, which for some reason is a challenge, although Ive gotten it running in SIMH and Shoebill without much fighting, but for some reason BasiliskII is stomping on itself.. I probably need to impliment queues, and a mutex on the queue… I tried semaphore’s but it just stacked up like crazy… Or re-write the ethernet so that when slirp sends a packet into BasiliskII it gets processed right away. I donno.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.