timdoug's tidbits


2009-09-15

Installing SheepShaver and BasiliskII on Debian

I've tested SheepShaver with Mac OS 7.6.1 and Mac OS 8.1 with a 4MB OldWorld ROM. Sound works (even though ESD isn't used), video works, haven't tried ethernet. (all done on my current Debian unstable Intel Atom netbook.) The same instructions work for BasiliskII.

  1. Install the following packages: build-essential autoconf2.59 automake1.4 libxt-dev libxext-dev libxxf86dga-dev libxxf86vm-dev
  2. Follow the instructions here to download and the source from CVS, and make links as directed.
  3. Patch autogen.sh in src/Unix thusly:
    --- old/SheepShaver/src/Unix/autogen.sh 2007-06-13 14:09:05.000000000 +0200
    +++ ss2/SheepShaver/src/Unix/autogen.sh 2009-09-15 12:21:32.000000000 +0200
    @@ -40,13 +40,13 @@
     
     aclocalinclude="$ACLOCAL_FLAGS"; \
     (echo $_echo_n " + Running aclocal: $_echo_c"; \
    -    aclocal $aclocalinclude; \
    +    aclocal-1.4 $aclocalinclude; \
      echo "done.") && \
     (echo $_echo_n " + Running autoheader: $_echo_c"; \
    -    autoheader; \
    +    autoheader2.59; \
      echo "done.") && \
     (echo $_echo_n " + Running autoconf: $_echo_c"; \
    -    autoconf; \
    +    autoconf2.59; \
      echo "done.") 
     
     rm -f config.cache
  4. The output should look something like this:
    SheepShaver configuration summary:
    
    SDL support ...................... : none
    FBDev DGA support ................ : yes
    XFree86 DGA support .............. : yes
    XFree86 VidMode support .......... : yes
    Using PowerPC emulator ........... : yes
    Enable JIT compiler .............. : yes
    Enable video on SEGV signals ..... : yes
    ESD sound support ................ : no
    GTK user interface ............... : no
    mon debugger support ............. : no
    Addressing mode .................. : real
    Bad memory access recovery type .. : siginfo
    
    Configuration done. Now type "make".
  5. Patch sys_unix.cpp in src/Unix thusly:
    --- sys_unix.cpp.old    2009-09-15 12:28:54.000000000 +0200
    +++ sys_unix.cpp        2009-09-15 12:29:06.000000000 +0200
    @@ -883,11 +883,6 @@
                            }
                    }
     #endif
    -#ifdef CDROM_DRIVE_STATUS
    -               if (fh->cdrom_cap & CDC_DRIVE_STATUS) {
    -                       return ioctl(fh->fd, CDROM_DRIVE_STATUS, CDSL_CURRENT) == CDS_DISC_OK;
    -               }
    -#endif
                    cdrom_tochdr header;
                    return ioctl(fh->fd, CDROMREADTOCHDR, &header) == 0;
     #elif defined(__FreeBSD__) || defined(__NetBSD__)
  6. Make.
  7. If SheepShaver gets angry about ERROR: Cannot map Low Memory Globals: Permission denied. try: sudo sysctl -w vm.mmap_min_addr=0
To be continued...

[/debian] permanent link


© 2006-24 timdoug | email: "me" at this domain
So necessary