Login  •  Register


The time is now: Sun May 31, 2020 4:11 pm

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 1 of 4 [ 85 posts ]    Go to page 1, 2, 3, 4  Next
Print view Previous topic  |  Next topic
Author Message
PostPosted: Tue Sep 30, 2014 4:19 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
On linux, and much to my amazement, a few minor tweaks, mostly to configure and the generated makefile, it compiles and runs! Of course the #1 reason why Id bother with such an ancient version is the size, the later versions are so massive, it looks overwhelming to start messing around with.

For the heck of it I dropped in a latter uae core, from a newer version of Basilisk II, and that seems to be working as well. Although when I look at [urlhttps://github.com/tycho/basiliskii/blob/master/src/uae_cpu/cpu_emulation.h]online source repositories[/url], it looks like they stopped merging UAE's CPU at 0.8.11?

Is there a good historical location of BasiliskII builds? I know it gets really confusing, especially with the magical 142, and the introduction of the JIT.. Although I wonder if anyone has tried to use the recent WinUAE CPU that has full 030 and 040 including MMU (it boots AMIX and is used in pervious to boot NeXTSTEP..)

I did some hacking on 0.8 and added some libpcap support, much like what I did to Shoebill, and I'm able to map drives to and from Basilisk II, Windows NT, and all that.. Its not terribly fast when it comes to network stuff, but it didn't crash either.

Ive been testing with System 7.1 and 8.0, and scroll bars don't work on 8.0 otherwise it seems ok...

I'm more surprised that GCC 4.7 compiles it, and it runs.

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Sep 30, 2014 5:33 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
Hi,

Great to see you try some new stuff with Basilisk. But I know of no overview of builds, certainly not of the pre-jit builds and not of Linux builds.

I believe the erstwhile developer (gwenole beauchesne) stopped importing newer uae cpu source when he started with the JIT. Current versions mostly have the same functionality across platforms (except recently, as OSX users became a majority and several developments were focused toward that platform).

For the Windows versions of Basilisk departing from the 142 build meant that a lot of functionality was lost. Some time ago I dabbled with adding e.g., startup sound support and floppy and scsi support from the source of the 142 build. Floppy access is easily added to both Basilisk and SheepShaver, while SCSI access for SheepShaver trips on the fact that newer SCSI hardware was never fully emulated.

The 142 source originally built with Visual Studio version 5 and some additional tools. Isn't that appealing to you? I also got it to compile with what I believe was VS 2008 later (that is the 142 version which is available in this forum). Other JIT versions build up to GCC 4.6 if remember correctly. This has something to do with the position of the return instruction in assembly no longer being placed at the end of code.
The JIT was borrowed from Qemu, which itself of course moved on to a newer JIT architecture.

To get around the dependency on the basilisk ethernet driver (it doesn't support 64 bit Windows), I tried to add winpcap support to the more recent basilisk and sheepshaver source, but failed as I really don't know where to begin. Networking the windows versions is real pain, as is CD rom access btw. ;-)

Official git is here: https://github.com/cebix/macemu

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Sep 30, 2014 5:54 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
The changes were quite small, it's just hard for me to test on mac os, as my macbook has no ethernet... :oops:

It seems that until shoebill nobody really tried to emulate the hardware.. I was wondering how much of a difference, hardware wise was there between the early quadras and a macII? Is there even any real technical details on these things?

I guess there must be some reason the mac's were never really emulated correctly, and I guess shimming things into the ROM was just too easy.

It is kind of cool having a couple virtual macs, talking to an NT server over a cisco network. although going all the way and installing exchange seems a little crazy. I may do it anyways... :mrgreen:

Oh yeah, is there any good network stuff to do? Games or anything network aware?

Every time I used a mac back in the OS 6/7 days they were all standalone.. and when I got a box to run A/UX on, I just used it as a Unix box..

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Sep 30, 2014 6:02 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
Quote:
The changes were quite small, it's just hard for me to test on mac os, as my macbook has no ethernet... :oops:
Wont a USB ethernet adapter do the trick? I use one on my Samsung Hackbook as the built-in ethernet device is not supported.

I tried networking with the network-aware game Bolo. But believe it requires Appletalk.
I would love to see you add winpcap support to Basilisk for Windows ;-)

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Sep 30, 2014 7:05 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2954
Location: Emaculation.com
I seem to recall Bolo having a patch for TCP/IP only; it did indeed require Appletalk by default. But I also remember playing Bolo over the Internet in 1995, as well as over a local Appletalk network. I seem to recall you needed an IP address for the remote user to play it over TCP/IP instead of Appletalk.

USB ethernet adapter is definitely the solution if you're willing to invest in it. It also has the benefit that if you want, you can stick a line monitor in the middle and watch your TX/RX on blinking LEDs :)


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 01, 2014 1:32 am 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
Keep in mind this is for BasilsikII 0.8 ..... :mrgreen:

This is more a 'wow it works'

Code:
Binary files BasiliskII-0.8/BasiliskII and BasiliskII-0.8-pcap/BasiliskII differ
diff -ruN BasiliskII-0.8/src/Unix/configure BasiliskII-0.8-pcap/src/Unix/configu
re
--- BasiliskII-0.8/src/Unix/configure   1999-11-04 05:04:14.000000000 +0800
+++ BasiliskII-0.8-pcap/src/Unix/configure   2014-10-01 09:22:58.000000000 +0
800
@@ -2139,6 +2139,8 @@
 
 fi
 
+no_x="xno"
+
 if [ "x$no_x" = "xyes" ]; then
   { echo "configure: error: You need X11 to run Basilisk II." 1>&2; exit 1; }
 fi
@@ -2187,7 +2189,8 @@
 #define $ac_tr_lib 1
 EOF
 
-  LIBS="-lpthread $LIBS"
+#snealily we add pcap in here too......
+  LIBS="-lpthread -lpcap $LIBS"
 
 else
   echo "$ac_t""no" 1>&6
@@ -2281,10 +2284,13 @@
 
   LIBS="-lPTL $LIBS"
 
+ac_t="yes"
+
 else
   echo "$ac_t""no" 1>&6
 
-      { echo "configure: error: You need pthreads to run Basilisk II." 1>&2; ex
it 1; }
+#      hhh{ echo "configure: error: You need pthreads to run Basilisk II." 1>&2
; exit 1; }
+      { echo "configure: error: You need pthreads to run Basilisk II." 1>&2;  }
     
 fi
 
diff -ruN BasiliskII-0.8/src/Unix/Linux/ether_linux.cpp BasiliskII-0.8-pcap/src/
Unix/Linux/ether_linux.cpp
--- BasiliskII-0.8/src/Unix/Linux/ether_linux.cpp   1999-11-03 18:56:31.0000
00000 +0800
+++ BasiliskII-0.8-pcap/src/Unix/Linux/ether_linux.cpp   2014-09-29 23:41:58.0000
00000 +0800
@@ -26,6 +26,12 @@
 #include <errno.h>
 #include <stdio.h>
 
+#include <pcap.h>
+pcap_t *pcap;
+const unsigned char *data;
+struct pcap_pkthdr h;
+
+
 #include "cpu_emulation.h"
 #include "main.h"
 #include "macos_util.h"
@@ -115,15 +121,33 @@
       return;
 
    // Is it Ethertap?
-   is_ethertap = (strncmp(name, "tap", 3) == 0);
+   is_ethertap = (strncmp(name, "eth", 3) == 0);
 
    // Open sheep_net or ethertap device
    char dev_name[16];
+   char errbuf[PCAP_ERRBUF_SIZE];
    if (is_ethertap)
+      {
+      memset(errbuf,0,sizeof(errbuf));
+      if((pcap=pcap_open_live(name,1518,1,0,errbuf))==0)
+         {printf("ethernet.c: pcap_open_live error on %s!\n",name
+);exit(-1);}
+//      Make pcap nonblocking
+//      Normally you would want this, but because of how
+//      the threads work and using pcap directly
+//      it works better if it doesn't block   
+//      if (pcap_setnonblock(pcap,1,errbuf))
+//       {printf("Error going into nonblocking.\n[%s]\n", errbuf);
+//       exit(-1);}
+      }
+   fd=pcap_get_selectable_fd(pcap);
+
+/*   if (is_ethertap)
       sprintf(dev_name, "/dev/%s", name);
    else
       strcpy(dev_name, "/dev/sheep_net");
    fd = open(dev_name, O_RDWR);
+*/
    if (fd < 0) {
       sprintf(str, GetString(STR_NO_SHEEP_NET_DRIVER_WARN), dev_name,
strerror(errno));
       WarningAlert(str);
@@ -138,7 +162,7 @@
    }
 
    // Set nonblocking I/O
-   ioctl(fd, FIONBIO, &nonblock);
+   //ioctl(fd, FIONBIO, &nonblock);
 
    // Get Ethernet address
    if (is_ethertap) {
@@ -149,6 +173,7 @@
       ether_addr[3] = p >> 16;
       ether_addr[4] = p >> 8;
       ether_addr[5] = p;
+   printf("Ethernet address %02x %02x %02x %02x %02x %02x\n", ether_addr[0]
, ether_addr[1], ether_addr[2], ether_addr[3], ether_addr[4], ether_addr[5]);
    } else
       ioctl(fd, SIOCGIFADDR, ether_addr);
    D(bug("Ethernet address %02x %02x %02x %02x %02x %02x\n", ether_addr[0],
 ether_addr[1], ether_addr[2], ether_addr[3], ether_addr[4], ether_addr[5]));
@@ -231,13 +256,14 @@
 
 int16 ether_add_multicast(uint32 pb)
 {
-   if (ioctl(fd, SIOCADDMULTI, Mac2HostAddr(pb + eMultiAddr)) < 0) {
+/*   if (ioctl(fd, SIOCADDMULTI, Mac2HostAddr(pb + eMultiAddr)) < 0) {
       D(bug("WARNING: Couldn't enable multicast address\n"));
       if (is_ethertap)
          return noErr;
       else
          return eMultiErr;
    } else
+*/
       return noErr;
 }
 
@@ -248,10 +274,11 @@
 
 int16 ether_del_multicast(uint32 pb)
 {
-   if (ioctl(fd, SIOCDELMULTI, Mac2HostAddr(pb + eMultiAddr)) < 0) {
+/*   if (ioctl(fd, SIOCDELMULTI, Mac2HostAddr(pb + eMultiAddr)) < 0) {
       D(bug("WARNING: Couldn't disable multicast address\n"));
       return eMultiErr;
    } else
+*/
       return noErr;
 }
 
@@ -319,11 +346,13 @@
    // Copy packet to buffer
    uint8 packet[1516], *p = packet;
    int len = 0;
+/*****
    if (is_ethertap) {
       *p++ = 0;   // Ethertap discards the first 2 bytes
       *p++ = 0;
       len += 2;
    }
+*****/
    for (;;) {
       int w = ReadMacInt16(wds);
       if (w == 0)
@@ -343,9 +372,14 @@
 #endif
 
    // Transmit packet
+        if (pcap_sendpacket(pcap, packet, len) < 0) {
+                printf("WARNING: Couldn't transmit packet\n");
+                return excessCollsns;
+/*
    if (write(fd, packet, len) < 0) {
       D(bug("WARNING: Couldn't transmit packet\n"));
       return excessCollsns;
+*/
    } else
       return noErr;
 }
@@ -358,12 +392,13 @@
 static void *receive_func(void *arg)
 {
    for (;;) {
-
-      // Wait for packets to arrive
-      struct pollfd pf = {fd, POLLIN, 0};
-      int res = poll(&pf, 1, -1);
-      if (res <= 0)
-         break;
+   data=pcap_next(pcap,&h);
+   if(data)
+      {
+      if((memcmp(data+6,ether_addr,6))==0)
+         {}
+      else
+      {
 
       // Trigger Ethernet interrupt
       D(bug(" packet received, triggering Ethernet interrupt\n"));
@@ -372,7 +407,9 @@
 
       // Wait for interrupt acknowledge by EtherInterrupt()
       sem_wait(&int_ack);
+      }
    }
+      }//end for
    return NULL;
 }
 
@@ -387,10 +424,14 @@
 
    // Call protocol handler for received packets
    uint8 packet[1516];
-   for (;;) {
+   //for (;;) {      //why do we loop like crazy, once is enough
+   for (int i=0;i<1;i++) {
 
       // Read packet from sheep_net device
-      ssize_t length = read(fd, packet, is_ethertap ? 1516 : 1514);
+      //ssize_t length = read(fd, packet, is_ethertap ? 1516 : 1514);
+      ssize_t length = h.caplen;
+      memset(packet,0x0,sizeof(packet));
+      memcpy(packet,data,length);
       if (length < 14)
          break;
 
@@ -404,16 +445,22 @@
 
       // Pointer to packet data (Ethernet header)
       uint8 *p = packet;
+/*****
       if (is_ethertap) {
          p += 2;         // Ethertap has two random bytes
 before the packet
          length -= 2;
       }
+*****/
 
       // Get packet type
       uint16 type = ntohs(*(uint16 *)(p + 12));
 
       // Look for protocol
       NetProtocol *prot = find_protocol(type);
+/*
+      if((prot==NULL) || (prot->handler==0))
+         printf("whoops!\n");
+*/
       if (prot == NULL)
          continue;
 
@@ -434,9 +481,10 @@
       r.a[4] = ether_data + ed_ReadPacket;         // Point
er to ReadPacket/ReadRest routines
       D(bug(" calling protocol handler %08lx, type %08lx, length %08lx
, data %08lx, rha %08lx, read_packet %08lx\n", prot->handler, r.d[0], r.d[1], r.
a[0], r.a[3], r.a[4]));
       Execute68k(prot->handler, &r);
-   }
+   }
 
    // Acknowledge interrupt to reception thread
    D(bug(" EtherIRQ done\n"));
+   ClearInterruptFlag(INTFLAG_ETHER);      //Do we have to?
    sem_post(&int_ack);
 }
diff -ruN BasiliskII-0.8/src/Unix/sys_unix.cpp BasiliskII-0.8-pcap/src/Unix/sys_
unix.cpp
--- BasiliskII-0.8/src/Unix/sys_unix.cpp   1999-11-01 07:18:37.000000000 +0
800
+++ BasiliskII-0.8-pcap/src/Unix/sys_unix.cpp   2014-09-16 11:56:10.000000000 +0
800
@@ -31,10 +31,14 @@
 #include <linux/major.h>
 #include <linux/kdev_t.h>
 #include <linux/unistd.h>
+#include <values.h>  //for MAX_INT
 
-#ifdef __NR__llseek
+#ifdef __NR__llseek___NOTGOINGTOHAPPEN
 _syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo, loff_t *, res, uint, wh
);
+#error
 #else
+#include <sys/types.h>
+#include <sys/unistd.h>
 static int _llseek(uint fd, ulong hi, ulong lo, loff_t *res, uint wh)
 {
    if (hi)
@@ -120,8 +124,9 @@
 void SysAddFloppyPrefs(void)
 {
 #if defined(__linux__)
-   PrefsAddString("floppy", "/dev/fd0H1440");
-   PrefsAddString("floppy", "/dev/fd1H1440");
+//   PrefsAddString("floppy", "/dev/fd0H1440");
+//   PrefsAddString("floppy", "/dev/fd1H1440");
+   PrefsAddString("floppy", "/dev/null");
 #elif defined(__NetBSD__)
    PrefsAddString("floppy", "/dev/fd0a");
    PrefsAddString("floppy", "/dev/fd1a");


Of course I'm looking for ethX since I'm on linux but the better thing would be to add a new statement to look for, and leave the tuntap stuff alone. I'm using generic libpcap calls, not even the 'new style' of dynamically loading... So it's all statically linked. It's interesting that with BasiliskII's threads, it works better in blocking mode.

I should see about adding a tap interface on my macbook, and see if I can get to VM's to see eachother.

Any recommendations on a USB Ethernet adapter?

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 01, 2014 4:01 am 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
I tried several in a friendly shop, taking my hackbook with me, but the original Apple device is the only USB ethernet adapter I got working:
http://store.apple.com/us/product/MC704 ... r?fnode=58

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 01, 2014 4:52 am 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
Oh good they make one! I'll pick one up next time I'm around central.

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri Oct 03, 2014 7:27 pm 
Offline
Mac Mechanic
User avatar

Joined: Tue Mar 29, 2011 8:57 pm
Posts: 187
Location: London, UK
neozeed, I don't want to deviate too much from the subject, but I guess it would interest you. Take a look in the Mini vMac, if you didn't already, check this FAQ:

http://minivmac.sourceforge.net/faq.html

The author gives a few details about the differences between Mac II and later macs and how he is planning on continuing the project by adding support for newer models. Mini vMac is more of a "proper" emulator than Basilisk, in the sense that it emulates more pieces of hardware while Basilisk patches them. The next version is supposed to support Mac II, and there is an alpha available for tests.

I understand that the biggest difference between Mac IIs and Quadras is the processor, and I suppose Basilisk emulates a wide range of processors, right? I am not sure if the Mini vMac developer wants to create new code for it (he probably does).


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Oct 04, 2014 1:19 am 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
I guess the thing about basilisk that interests me is that it uses the UAE cpu core, which Toni Wilen, of WinUAE fame has managed to get pretty solid 030 and 040 emulation to the point where he can run Linux and AMIX in Winuae. And other people using his core have managed to boot up NeXTSTEP....

I've been playing around with older versions of Basilisk as it seems to me, the simpler versions are easier to get some handle on, and they feel far more stable (pre 142 stuff). Although their build process leaves a LOT to be desired.

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Oct 04, 2014 11:01 am 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
I don't suppose anyone has any old versions of Basilisk II squirrelled away? The reason why I ask is that while bulding on Linux and OS X, the cpuopti program actually runs and does it's thing.

Code:
gcc -arch i386  -o obj/cpuopti obj/cpuopti.o
g++ -arch i386 -I../include -I. -I../uae_cpu -DHAVE_CONFIG_H  -DENABLE_MON=0 -DENABLE_XF86_DGA=0 -DENABLE_FBDEV_DGA=0 -DENABLE_XF86_VIDMODE=0 -DENABLE_GTK=0 -DENABLE_ESD=0 -DREGPARAM="__attribute__((regparm(3)))" -DX86_ASSEMBLY -D_REENTRANT -DDATADIR=\"/usr/local/share/BasiliskII\" -DPART_1 -S -g   -fomit-frame-pointer cpuemu.cpp -o cputmp1.s
obj/cpuopti <cputmp1.s >cpufast1.s || mv cputmp1.s cpufast1.s
rm -f cputmp1.s
gcc -arch i386  -c cpufast1.s -o obj/cpufast1.o


But in the Visual C++ 5.0 dump of build 142 thee is a project for vc5opti, but there is no vc5opti.cpp in the archive. I know I'm even more crazy building this with Visual C++ 5.0 but I suspect trying to build it with anything modern won't end well.

For those who don't know, cpuopti re-orders and does some basic optimazation to the GAS files. There was apparently a version for Visual C and MASM but it looks lost. There is just a mention of it here, and the filename was BasiliskII_win32_src_26122000.zip


In other news...

Image

It's looking better! This is that OS 8.0 boot floppy, but it's running! :mrgreen:

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Oct 04, 2014 2:05 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
Hi,

I got some windows source from 2001, and it contains an opti.bat, with this content:
REM A batch file to to optimize uae cpu core.

REM cd Release
REM copy cpuemu.asm cpuemu0.asm
REM ..\vc5opti\Release\vc5opti.exe cpuemu.asm
REM ml /c /coff cpuemu.asm
REM cd ..

REM cd Release
REM ml /c /coff cpuemuop.asm
REM copy cpuemuop.obj cpuemu.obj
REM cd ..

cd BasiliskII___Win32_Win9x
copy cpuemu.asm cpuemu0.asm
..\vc5opti\Release\vc5opti.exe cpuemu.asm
..\masm\ml /c /coff cpuemu.asm
cd ..

I have vc5opti folder containing a dsp. .dsw and vc5opti.vc5.unsupported.dsp, but no .cpp file.

Have you seen this link?
http://m.delphiforums.com/macemulation/messages/1262/1


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Oct 04, 2014 2:34 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
It helps in getting rid of the fetch/execute loop and
specflag checks in every iteration....

I need to run upstairs to see if I have that assembly file, I guess it could be enough to see what it is doing, as I do want to move the CPU core to newer and newer versions....

The ultimate thing would be to match the Pervious import of WinUAE, with the full 68040/030 support.
edit

anyways I got it to build and 'run' with Visual C++ 5.0 ... holy crap it's SLOW. I went to then leapfrog from 5.0 to 7.0 (aka Visual Studio 2003), and it's a bazillion times faster. It's so fast, i can't double click the mouse! :mrgreen:

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sun Oct 05, 2014 4:27 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
so apparently winpcap with windows wants to be non blocking, while under linux and OS X(well as far as I can tell, I still have no ether) work without it...

Code:
// Set nonblocking I/O
//      Make pcap nonblocking
//      Normally you would want this, but because of how
//      the threads work and using pcap directly
//      it works better if it doesn't block   
//   but it is needed for Windows... go figure.
#ifdef WIN32
      if (pcap_setnonblock(pcap,1,errbuf))
       {printf("Error going into nonblocking.\n[%s]\n", errbuf);
       exit(-1);}
#endif



Now to convert all the pthread to sdl thread and I'll have something to show, even if the windows timers seem to still be misfiring. quicktime doesn't play right... but it runs fine on linux and OS X.

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Oct 06, 2014 1:11 pm 
Offline
Inquisitive Elf

Joined: Sat Nov 26, 2011 3:08 am
Posts: 25
I've been following the thread on your blog and figured you'd come here :)

I have a small collection of Basilisk II Win32 versions at https://drive.google.com/folderview?id= ... sp=sharing

Unfortunately the oldest source I have is from 18/6/2000, which I'm pretty sure would match the 0.8 version you already have. Once upon a time I would have had earlier builds but sadly its a few too many HDD crashes and moves ago...

[Edit: Fixed Link]


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Oct 06, 2014 1:28 pm 
Offline
Inquisitive Elf

Joined: Sat Nov 26, 2011 3:08 am
Posts: 25
Ooo it looks like Christian Bauer's Github repo contains the CVS commits from back in 1999 - so commit 8e491572ca420b22ff0366e594ce5b9248928e91 (https://github.com/cebix/macemu/commit/ ... 9248928e91) should be version 0.7.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Oct 06, 2014 2:59 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
superpete wrote:
I've been following the thread on your blog and figured you'd come here :)

I have a small collection of Basilisk II Win32 versions at https://drive.google.com/folderview?id= ... sp=sharing

Unfortunately the oldest source I have is from 18/6/2000, which I'm pretty sure would match the 0.8 version you already have. Once upon a time I would have had earlier builds but sadly its a few too many HDD crashes and moves ago...

[Edit: Fixed Link]


awesome!!!

BasiliskII_win32_src_18062000.zip

has the vc5opti.cpp !

I wonder if the VC5 build is usable with it, because without it, it runs like a stone.. Visual C++ 2005 was even faster than 2003, I didn't bother with 6 or 2002..

But wow thanks for vc5opti.cpp! :mrgreen:

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Oct 06, 2014 4:12 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
superpete wrote:
Ooo it looks like Christian Bauer's Github repo contains the CVS commits from back in 1999 - so commit 8e491572ca420b22ff0366e594ce5b9248928e91 (https://github.com/cebix/macemu/commit/ ... 9248928e91) should be version 0.7.


And I see going back you can view changes going forward here.

The big thing though is that you had the old versions of the Windows port which wasn't rolled into BasiliskII at that point.

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 08, 2014 7:12 am 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
I found a solution to the slirp problem! Netscape kinda worked while internet explorer would crash the stack in no time..

Now I can use either and I get about 60 to 80kb sec. Internet Explorer 4 is so much faster!

Also I found optimizing for space rather than speed gave a tremendous boost to speed.

I want to change the pcap to demand load so I don't need a pcap and non pcap version.

I'll upload it for anyone who cares... There is still plenty of bugs to squish... Features to remove others to add...

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 08, 2014 8:07 am 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
Hi,

Yes, please upload your version.

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 08, 2014 3:10 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
Ok, here we go!!


https://sourceforge.net/projects/cockatrice/

Including source!

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 08, 2014 10:08 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
Great! Native networking through pcap is a fresh breeze through Basilisk land.
I always hoped this would happen!.

Next SheepShaver with pcap networking? Would it be difficult to implement in SheepShaver?

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Oct 08, 2014 11:26 pm 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
I could always look at sheepshaver...

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu Oct 09, 2014 5:58 am 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4887
Location: Sittard, The Netherlands
I'll post your build in the Basilisk for Windows sticky.

Finally, with pcap networking we can replace the flaky Appletalk support solution through the Basilisk ethernet driver, which didn't work in 64 bit windows.

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu Oct 09, 2014 10:01 am 
Offline
Apple Corer

Joined: Sun Aug 25, 2013 3:25 am
Posts: 289
Location: Hong Kong
Cat_7 wrote:
I'll post your build in the Basilisk for Windows sticky.

Finally, with pcap networking we can replace the flaky Appletalk support solution through the Basilisk ethernet driver, which didn't work in 64 bit windows.

Best,
Cat_7



I'm also dying to know if the OS X stuff works regarding pcap... You should be able to use

ether en0

and go from there.... Unfortunately where I live/work is so far away from the apple store I still don't have ethernet. I guess it's hard to imagine there is 'backwater woods' in Hong Kong but here I am. :mrgreen:

Everything is 32bit to keep the bitwise stuff all in alignment as there is some code 15+ years old...

I also have some more minor updates, I found another slirp instability (oh geez!!) but now I can drag windows around while things are downloading and not crash. Also something that has always really annoyed me is that before Shoebill had ethernet I would barely be able to download in Basilisk, then mount the disk under sheepshaver (dont even think of trying to download in sheep with slirp) as Sheep could mount partitioned diskfiles, while Basilisk can't.

Well it turns out the code to read partitions is in Basilisk, and has been since forever! It's just used on CD-ROM's of all things (actually there is quite a LOT of code dealing with CD's that I'm tempted to just completely remove. Does anyone actually have hybrid ISO's or use CD-Player stuff in 2014 and beyond?!), So a minor change to the find_hfs_partition procedure, and now I can mount HFS ISO's (mounted as disk files) and the first HFS partition of a Shoebill HFS/UFS disk just fine.

Also I think I gutted the serial port stuff wrong, I got a nice overflow from Zterm, and a good crash... Although at some point I'd love to take DOSBox's virtual modems and tie them to Shoebill so I can download with Zmodem on something with an address book. Don't get me wrong that Public Address thing is kinda cool, but also kinda a PITA to have to type in stuff over and over.. :twisted:

I was also thinking of having some presets that pick up depending on what ROM you throw in there, or at least recommended stuff.. Although all I've found is that the Quadra 800 seems to be a nice rounded model, the 700 though seems faster, probably because it has no appletalk and needless to say the way Basilisk works the OS can't patch it... I'm pretty sure Quadra 700's can AppleTalk, right???

I've been trying to find a good 68040LC rom that I can use without the UAE FPU as I think there is some issues in there, when trying to stress things. Although it may just be time to start pushing to update the UAE core like I wanted to.

_________________
don't do today what you can put off until tomorrow.


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 1 of 4 [ 85 posts ]    Go to page 1, 2, 3, 4  Next


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
 

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group