Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apollo > #189
| From | Hans Ostermeyer <oh2021@t-online.de> |
|---|---|
| Newsgroups | comp.sys.apollo |
| Subject | Re: looking for MESS build instructions and Apollo compilers |
| Date | 2013-06-26 16:35 +0200 |
| Organization | TOTA |
| Message-ID | <kqeu79$nu9$1@tota-refugium.de> (permalink) |
| References | <Q0pxt.135939$cw4.43966@newsfe21.iad> <kq9kvv$b1r$1@tota-refugium.de> <%pryt.4601$Jk4.1108@newsfe09.iad> |
On 06/26/13 03:25, Richard L. Hamilton wrote: > While I couldn't compile 0.149 on my Mac (OS X 10.7.5, latest Xcode compiler), you might look at the MESS forum http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=69633&page=12 ; there seem to be some 64 Bit issues. Maybe you will have to use the latest version from the SVN ( svn://dspnet.fr/mame/trunk ) > I could compile 0.148, with or without USE_NETWORK=1. But with USE_NETWORK=1, > it would crash right around when its window appeared. I found and fixed the > cause of the crash (shown below), but the networking still doesn't appear > to work for the Apollo emulation (yes, I set up the guest properly AFAIK!). > > Here's the crash: > > Crashed Thread: 0 Dispatch queue: com.apple.main-thread > > Exception Type: EXC_BAD_ACCESS (SIGSEGV) > Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 > > VM Regions Near 0: > --> > __TEXT 000000010198a000-0000000103963000 [ 31.8M] r-x/rwx SM=COW /Users/USER/* > > Application Specific Information: > objc[45316]: garbage collection is OFF > > Thread 0 Crashed:: Dispatch queue: com.apple.main-thread > 0 libsystem_c.dylib 0x00007fff89aa5490 strncpy + 64 > 1 mess64 0x0000000102cf2f1b add_netdev(char const*, char const*, netdev* (*)(char const*, device_network_interface*, int)) + 203 > 2 mess64 0x00000001025b9e00 init_pcap() + 144 > [...] > > > interestingly, adding a printf showed that when add_netdev() was > called, the first argument (devs->name) was"en0", but the second > (devs->description) was NULL, which caused the subsequent strncpy() to > make an invalid pointer dereference. > > Now, pcap_findalldevs(3pcap) says: > > description > if not NULL, a pointer to a string giving a human-read- > able description of the device > > The following stopped the crashing, by using "" instead of NULL: > > *** src/osd/osdnet.c.orig 2011-12-14 22:33:52.000000000 -0500 > --- src/osd/osdnet.c 2013-06-25 11:15:06.000000000 -0400 > *************** > *** 9,15 **** > entry->id = netdev_list.count(); > strncpy(entry->name, name, 255); > entry->name[255] = '\0'; > ! strncpy(entry->description, description, 255); > entry->description[255] = '\0'; > entry->func = func; > netdev_list.append(*entry); > --- 9,15 ---- > entry->id = netdev_list.count(); > strncpy(entry->name, name, 255); > entry->name[255] = '\0'; > ! strncpy(entry->description, (description!=NULL)?description:"", 255); > entry->description[255] = '\0'; > entry->func = func; > netdev_list.append(*entry); > > > (one could use name instead of "" if description is NULL, just to have > something visible for the human-readable description) I forwarded the patch to the MESS developers. Thanks. > > But it didn't help otherwise; if there's something else to be done to get > pcap-based networking to work (yes, I set an IP address on the Apollo side!), > I'm stumped for what to check next. Has pcap-based networking ever been > attempted/worked for any of the mess emulations when building/running on OS X? > You probably still have to select the proper Network Device. To check or modify the Network Device * start the emulation for DN3500, DN3000, DSP3500 or DSP3000 * in the MESS window press [ScrLock] to switch your keyboard in partial emulation mode * press [Tab] to enter the Internal User Interface * press [Cursor Down] to select "Network Devices" and press [Return] to open the Network Devices menu * the Network Devices menu has only one entry * press [Cursor Right] or [Cursor Left] to select the proper value in entry :3C505; select the appropriate Network Device (e.g. eth0 for Linux, en0 on Mac?) * press button [Tab] to close the menu * press [ScrLock] to switch your keyboard back to in full emulation mode Now connect the network device of your host Mac with a second Mac/PC, setup appropriate IP addresses and try to ping each other. Using wireshark to observe the traffic might be useful. The big restriction seems to be, that it is not possible to access the host Mac/PC from the Apollo emulation (and vice versa) as both use the same network device and there is no local loopback of transmitted Ethernet packets. You might bypass this restriction by using two network interfaces in your Mac (one for the host and one for the emulation) and connect them with a crossover cable. Note: As I don't own a Mac, this has been verified on Linux only.
Back to comp.sys.apollo | Previous | Next — Previous in thread | Next in thread | Find similar
looking for MESS build instructions and Apollo compilers rlhamil@smart.net (Richard L. Hamilton) - 2013-06-22 21:52 +0000
Re: looking for MESS build instructions and Apollo compilers Hans Ostermeyer <oh2021@t-online.de> - 2013-06-24 16:27 +0200
Re: looking for MESS build instructions and Apollo compilers rlhamil@smart.net (Richard L. Hamilton) - 2013-06-26 01:25 +0000
Re: looking for MESS build instructions and Apollo compilers Hans Ostermeyer <oh2021@t-online.de> - 2013-06-26 16:35 +0200
Re: looking for MESS build instructions (networking on Mac) Hans Ostermeyer <oh2021@t-online.de> - 2013-06-27 09:53 +0200
Re: looking for MESS build instructions (networking on Mac) Jim Rees <jim.rees@rees.org> - 2013-06-30 06:18 -0700
Re: looking for MESS build instructions (networking on Mac) Jim Rees <jim.rees@rees.org> - 2013-06-30 09:09 -0700
Re: looking for MESS build instructions (networking on Mac) karlojkessler@gmail.com - 2013-07-01 07:21 -0700
Re: looking for MESS build instructions and Apollo compilers (on Mac OS X) Hans Ostermeyer <oh2021@t-online.de> - 2013-07-01 09:11 +0200
csiph-web