From: Matthias S. <th...@sp...> - 2004-12-14 17:00:18
|
Hi, I had a first private mail exchange with Gwenol=E9 about this, but feel that it would actually be best to post here since others might be experiencing the same issues, and this way it'll end up in search engines to help out. This is my first attempt at running BasiliskII, and I've tried just about all and any sources, binaries that I could find, with many many different settings combinations and both Mac IIci and Quadra 900 BIOSes without being able to get it to work properly. As this is Fedora Core (selinux, NPTL), I've tried the "usual" (for me) tricks to check of any of the nifty new technologies or C(XX)FLAGS aren't causing the trouble, so I tried without selinux, with varions LD_ASSUME_KERNEL values to disable NPTL, disabled exec shield, used the default optimisations... but no go. I also thought it could be my builds, but the latest JIT binary rpm from Gwenol=E9 as well as older Fedora Core 1 or 2 binaries of 0.9 give the same results. My problem is that I either got BasiliskII to exit without any error, or segfault, or exit with "Illegal instruction: 000b at 000389ec". Only once did I get the actual grey Mac background, with an error printed there (and the little bomb), but wasn't able to reproduce it. Only by choosing to ignore illegal memory accesses do I get the grey Mac background to stay, but it doesn't display anything else and uses 100% CPU... Crlt+Esc does work to get out, though. Anyway, I followed Gwenol=E9's suggestion and built BasiliskII from CVS today, and got this (hopefully more useful) output : $ BasiliskII Basilisk II V1.0 by Christian Bauer et al. Reading ROM file... WARNING: Cannot open /dev/fd0u1440 (No such file or directory) WARNING: Cannot open /dev/fd1u1440 (No such file or directory) Using /dev/dsp audio output Caught SIGSEGV at address 0x15b10380 [IP=3D0x80a2dc4] D0: 00000000 D1: fffcffff D2: fffffffc D3: 05a0000f D4: 0003fffc D5: 00000000 D6: 00000012 D7: 00000000 A0: 0000003c A1: 00000002 A2: 000120b0 A3: 000124c0 A4: 00011ca0 A5: 05b10380 A6: 00000000 A7: 02d009a6 USP=3D00000000 ISP=3D02d009a6 MSP=3D00000000 VBR=3D00000000 T=3D00 S=3D1 M=3D0 X=3D1 N=3D1 Z=3D0 V=3D0 C=3D0 IMASK=3D0 FP0: nan FP1: nan FP2: nan FP3: nan FP4: nan FP5: nan FP6: nan FP7: nan N=3D0 Z=3D0 I=3D0 NAN=3D0 05a2e8e8: 2815 28c4 c081 c284 8287 MOVE.L (A5),D4 next PC: 05a2e8ea $=20 I hope someone will be able to help me out, I'd really love to get BasiliskII running! If more information is needed, just let me know. As I said, this is with Fedora Core 3 i386 on my laptop, a Dell 1.7GHz Centrino. Matthias --=20 Clean custom Red Hat Linux rpm packages : http://freshrpms.net/ Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.9-1.681_FC3.r300 Load : 3.50 2.81 2.07 |
From: Matthias S. <th...@sp...> - 2004-12-16 12:01:34
|
Matthias Saou wrote : > This is my first attempt at running BasiliskII, and I've tried just about > all and any sources, binaries that I could find, with many many different > settings combinations and both Mac IIci and Quadra 900 BIOSes without being > able to get it to work properly. [...] Silence... so I'll reply to myself ;-) Since the error I reported seemed optimisation related, I tried both forcing the disabling of X86 assembly usage, and recompiling on my Fedora Core 3 x86_64 system, but I get the same asm error in both cases. Seems like the current CVS is quite x86-centric, or maybe those are just problems with gcc 3.4 : g++ -I../include -I. -I../uae_cpu -DHAVE_CONFIG_H -DOS_linux -DDIRECT_ADDRESSING -DUNALIGNED_PROFITABLE -DX86_64_ASSEMBLY -DOPTIMIZED_FLAGS -DUSE_JIT -DUSE_JIT_FPU -DFPU_IEEE -D_REENTRANT -DDATADIR=\"/etc/BasiliskII\" -O2 -pipe -m64 -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib64/glib/include -I/usr/X11R6/include -fno-merge-constants -fno-gcse-sm -c ../uae_cpu/compiler/compemu_support.cpp -o obj/compemu_support.o In file included from ../uae_cpu/compiler/compemu_support.cpp:753: ../uae_cpu/compiler/codegen_x86.cpp: In function `void raw_call(uint32)': ../uae_cpu/compiler/codegen_x86.cpp:3043: warning: cast from pointer to integer of different size ../uae_cpu/compiler/codegen_x86.cpp: In function `void raw_jmp(uint32)': ../uae_cpu/compiler/codegen_x86.cpp:3053: warning: cast from pointer to integer of different size {standard input}: Assembler messages: {standard input}:40547: Error: suffix or operands invalid for `push' {standard input}:40547: Error: suffix or operands invalid for `pop' make: *** [obj/compemu_support.o] Error 1 As for my previous report, pointers are welcome! BTW, has _anyone_ gotten BasiliskII working on Fedora Core 3? Matthias -- Clean custom Red Hat Linux rpm packages : http://freshrpms.net/ Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.9-1.681_FC3.r300 Load : 0.39 0.42 0.45 |
From: Tomek J. <to...@je...> - 2004-12-16 12:24:00
|
> Matthias Saou wrote : > > > This is my first attempt at running BasiliskII, and I've tried just > > about all and any sources, binaries that I could find, with > many many > > different settings combinations and both Mac IIci and Quadra 900 > > BIOSes without > being > > able to get it to work properly. [...] > > Silence... so I'll reply to myself ;-) > Since the error I reported seemed optimisation related, I > tried both forcing the disabling of X86 assembly usage, and > recompiling on my Fedora Core 3 x86_64 system, but I get the > same asm error in both cases. Seems like the current CVS is > quite x86-centric, or maybe those are just problems with gcc 3.4 : > > g++ -I../include -I. -I../uae_cpu -DHAVE_CONFIG_H -DOS_linux > -DDIRECT_ADDRESSING -DUNALIGNED_PROFITABLE -DX86_64_ASSEMBLY > -DOPTIMIZED_FLAGS -DUSE_JIT -DUSE_JIT_FPU -DFPU_IEEE > -D_REENTRANT -DDATADIR=\"/etc/BasiliskII\" -O2 -pipe -m64 > -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtk-1.2 > -I/usr/include/glib-1.2 -I/usr/lib64/glib/include > -I/usr/X11R6/include -fno-merge-constants -fno-gcse-sm -c > ../uae_cpu/compiler/compemu_support.cpp -o > obj/compemu_support.o In file included from > ../uae_cpu/compiler/compemu_support.cpp:753: > ../uae_cpu/compiler/codegen_x86.cpp: In function `void > raw_call(uint32)': > ../uae_cpu/compiler/codegen_x86.cpp:3043: warning: cast from > pointer to integer of different size > ../uae_cpu/compiler/codegen_x86.cpp: In function `void > raw_jmp(uint32)': > ../uae_cpu/compiler/codegen_x86.cpp:3053: warning: cast from > pointer to integer of different size {standard input}: > Assembler messages: > {standard input}:40547: Error: suffix or operands invalid for `push' > {standard input}:40547: Error: suffix or operands invalid for `pop' > make: *** [obj/compemu_support.o] Error 1 > > As for my previous report, pointers are welcome! BTW, has > _anyone_ gotten BasiliskII working on Fedora Core 3? > > Matthias Are you absolutely sure that you are using the newest code from CVS? I used to have such problems with SheepShaver, not Basilisk some time ago, but it has already been fixed (x86_64). Maybe only in SheepShaver code? Jerzu |
From: Matthias S. <th...@sp...> - 2004-12-16 15:29:58
|
Tomek Jerzykowski wrote : > Are you absolutely sure that you are using the newest code from CVS? I used > to have such problems with SheepShaver, not Basilisk some time ago, but it > has already been fixed (x86_64). Maybe only in SheepShaver code? Hmmm, I've got a stupid question, then. When I looked at SheepShaver, I understood that it was only relevant on ppc machines. Was I wrong? Here's the first paragraph of the doc/index.html file in the SheepShaver CVS tree : "SheepShaver is a MacOS run-time environment for Linux that allows you to run MacOS applications at native speed inside the Linux multitasking environment on PowerPC-based Linux systems. This means that both Linux and MacOS applications can run at the same time and data can be exchanged between them." Does SheepShaver run on x86 and x86-64? How does it position itself compared to BasiliskII, pretty much like VMWare (-> BasiliskII) and Wine (-> SheepShaver)? I'm a bit confused. Back on topic, I recall having seen posts about x86_64 fixes for SheepShaver, as well as builds that supposedly fixed the "black screen" some people were seeing. This "black screen" seems to be what I'm getting with older BasiliskII releases, so if anyone has more info on that particular problem and how to work around it, I'd really appreciate it. Backports of the asm fixes to BasiliskII for testing would also be very welcome :-) Matthias -- Clean custom Red Hat Linux rpm packages : http://freshrpms.net/ Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.9-1.681_FC3.r300 Load : 0.63 0.86 0.84 |
From: Tomek J. <to...@je...> - 2004-12-16 15:58:24
|
> Hmmm, I've got a stupid question, then. When I looked at > SheepShaver, I understood that it was only relevant on ppc > machines. Was I wrong? Here's the first paragraph of the > doc/index.html file in the SheepShaver CVS tree > : > > "SheepShaver is a MacOS run-time environment for Linux that > allows you to run MacOS applications at native speed inside > the Linux multitasking environment on PowerPC-based Linux > systems. This means that both Linux and MacOS applications > can run at the same time and data can be exchanged between them." > Read a bit more please (from http://www.uni-mainz.de/~bauec002/SheepShaver.html): "There is also a built-in PowerPC emulator for non-PowerPC systems" > Does SheepShaver run on x86 and x86-64? How does it position > itself compared to BasiliskII, pretty much like VMWare (-> > BasiliskII) and Wine (-> SheepShaver)? > > I'm a bit confused. > > Back on topic, I recall having seen posts about x86_64 fixes > for SheepShaver, as well as builds that supposedly fixed the > "black screen" > some people were seeing. This "black screen" seems to be what > I'm getting with older BasiliskII releases, so if anyone has > more info on that particular problem and how to work around > it, I'd really appreciate it. > Backports of the asm fixes to BasiliskII for testing would > also be very welcome :-) > > Matthias SheepShaver works on x86 and x86_64 Linux and x86 Windows and emulates PowerMac to a certain degree so that it can run MacOS up to 9.0.4. It is pretty fast and actually usable. My guess is that on P4 3GHz it matches speed of 200MHz G4. BasiliskII emulates old 680x0 Macs whereas SheepShaver emulates PowerPC Macs. Jerzu |
From: Matthias S. <th...@sp...> - 2004-12-16 16:14:33
|
Tomek Jerzykowski wrote : > Read a bit more please (from > http://www.uni-mainz.de/~bauec002/SheepShaver.html): > "There is also a built-in PowerPC emulator for non-PowerPC systems" [...] > SheepShaver works on x86 and x86_64 Linux and x86 Windows and emulates > PowerMac to a certain degree so that it can run MacOS up to 9.0.4. It is > pretty fast and actually usable. My guess is that on P4 3GHz it matches > speed of 200MHz G4. > > BasiliskII emulates old 680x0 Macs whereas SheepShaver emulates PowerPC > Macs. OK, now I get it :-) And now I know that it's BasiliskII that I want working, since it's for nostalgia... to run Systems 6 and 7 emulating old-ish 680x0 Macs. The goal is to build a Mac SE + Mini ITX in the next couple of weeks, as I already have the late Mac SE, adapted a 9" SVGA (800x600!) display in it and ordered a Mini-ITX motherboard... next step is sawing and soldering :-) Like all my other computers, I plan to use Fedora Core on it, which is why I'd really like to get BasiliskII running on FC3. Matthias -- Clean custom Red Hat Linux rpm packages : http://freshrpms.net/ Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.9-1.681_FC3.r300 Load : 0.91 1.51 1.67 |
From: Gwenole B. <gb...@di...> - 2004-12-16 20:57:51
|
jeudi 16 d=E9cembre 2004, =E0 04:29 pm, Matthias Saou a =E9crit : > Hmmm, I've got a stupid question, then. When I looked at SheepShaver, = I > understood that it was only relevant on ppc machines. Was I wrong?=20 > Here's > the first paragraph of the doc/index.html file in the SheepShaver CVS=20= > tree > : Unfortunately, the documention in the CVS tree is somewhat old vs.=20 Christian's site: <http://www.uni-mainz.de/~bauec002/SheepShaver.html> > Does SheepShaver run on x86 and x86-64? Yes, and it runs up to MacOS 9.0.4. > How does it position itself compared to BasiliskII, pretty much like=20= > VMWare (-> BasiliskII) and Wine > (-> SheepShaver)? SheepShaver has almost the same foundations as Basilisk II thus sharing=20= a lot of code. Both run-time patch MacOS with driver hooks to native=20 code and high level replacements. i.e. they don't emulate real=20 hardware, but a virtual hardware good enough run those OSes. > This "black screen" seems to be what I'm getting > with older BasiliskII releases, so if anyone has more info on that > particular problem and how to work around it, I'd really appreciate = it. Sometimes, people reported they got it fixed by nuking/zap their XPRAM=20= file (~/.basilisk_ii_xpram). > Backports of the asm fixes to BasiliskII for testing would also be = very > welcome :-) The problem is I don't see any use of explicit suffixes to push/pop in=20= Basilisk II code. Well, people probably remember that I didn't see them=20= in SheepShaver initially either. ;-) On the other hand, new binutils=20 have better checks for it but this is what I now use too. So, I still=20 don't get it.= |
From: Matthias S. <th...@sp...> - 2004-12-16 23:05:47
|
Gwenole Beauchesne wrote : > jeudi 16 d=E9cembre 2004, =E0 04:29 pm, Matthias Saou a =E9crit : >=20 > > Hmmm, I've got a stupid question, then. When I looked at SheepShaver, I > > understood that it was only relevant on ppc machines. Was I wrong?=20 > > Here's > > the first paragraph of the doc/index.html file in the SheepShaver CVS=20 > > tree > > : >=20 > Unfortunately, the documention in the CVS tree is somewhat old vs.=20 > Christian's site: > <http://www.uni-mainz.de/~bauec002/SheepShaver.html> >=20 > > Does SheepShaver run on x86 and x86-64? >=20 > Yes, and it runs up to MacOS 9.0.4. >=20 > > How does it position itself compared to BasiliskII, pretty much like=20 > > VMWare (-> BasiliskII) and Wine > > (-> SheepShaver)? >=20 > SheepShaver has almost the same foundations as Basilisk II thus sharing=20 > a lot of code. Both run-time patch MacOS with driver hooks to native=20 > code and high level replacements. i.e. they don't emulate real=20 > hardware, but a virtual hardware good enough run those OSes. >=20 > > This "black screen" seems to be what I'm getting > > with older BasiliskII releases, so if anyone has more info on that > > particular problem and how to work around it, I'd really appreciate it. >=20 > Sometimes, people reported they got it fixed by nuking/zap their XPRAM=20 > file (~/.basilisk_ii_xpram). Not for me. Even after that, I either get the grey Mac screen if I check the "Ignore Illegal Memory Accesses" or I get this same error if I don't : Caught SIGSEGV at address 0x15b10380 [IP=3D0x80a2dc4] D0: 00000000 D1: fffcffff D2: fffffffc D3: 0000000f D4: 0003fffc D5: 00000000 D6: 00000012 D7: 00000000 A0: 0000003c A1: 00000002 A2: 00006114 A3: 00006528 A4: 00005d08 A5: 05b10380 A6: 00000000 A7: 02d009ae USP=3D00000000 ISP=3D02d009ae MSP=3D00000000 VBR=3D00000000 T=3D00 S=3D1 M=3D0 X=3D1 N=3D1 Z=3D0 V=3D0 C=3D0 IMASK=3D0 FP0: nan FP1: nan FP2: nan FP3: nan FP4: nan FP5: nan FP6: nan FP7: nan N=3D0 Z=3D0 I=3D0 NAN=3D0 05a2e8e8: 2815 28c4 c081 c284 8287 MOVE.L (A5),D4 next PC: 05a2e8ea Isn't this chunk of output useful in any way? With older Basilisk builds, I'd get a segfault, but the threaded design seems to prevent me from getting any useful info when gdb is attached to the initial process I run, but if anyone gives me quick steps to get more useful backtraces, I'd be more than willing to help provide some. Matthias --=20 Clean custom Red Hat Linux rpm packages : http://freshrpms.net/ Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.9-1.681_FC3.r300 Load : 2.16 1.97 1.41 |
From: Gwenole B. <gb...@di...> - 2004-12-16 20:46:19
|
Hi, > Seems like the current CVS is quite x86-centric, or maybe those are=20 > just problems > with gcc 3.4 : Hmm, people did reported build problems for both Basilisk II &=20 SheepShaver on FC3/x86_64 but this should really be fixed in current=20 CVS (cvs update -d to be sure). I have just built a binary of B2 with=20 gcc 3.4.1 on x86_64 and new binutils 2.15.92.0.2 which is what I=20 assume FC3 is using to report those suffix errors with push/pop. FWIW, my system is Mandrakelinux 10.1 for x86-64. ;-) Bye, Gwenol=E9.= |
From: Matthias S. <th...@sp...> - 2004-12-18 20:17:06
|
Matthias Saou wrote : [...] > Anyway, I followed Gwenol=E9's suggestion and built BasiliskII from CVS > today, and got this (hopefully more useful) output : >=20 > $ BasiliskII > Basilisk II V1.0 by Christian Bauer et al. > Reading ROM file... > WARNING: Cannot open /dev/fd0u1440 (No such file or directory) > WARNING: Cannot open /dev/fd1u1440 (No such file or directory) > Using /dev/dsp audio output > Caught SIGSEGV at address 0x15b10380 [IP=3D0x80a2dc4] > D0: 00000000 D1: fffcffff D2: fffffffc D3: 05a0000f > D4: 0003fffc D5: 00000000 D6: 00000012 D7: 00000000 > A0: 0000003c A1: 00000002 A2: 000120b0 A3: 000124c0 > A4: 00011ca0 A5: 05b10380 A6: 00000000 A7: 02d009a6 > USP=3D00000000 ISP=3D02d009a6 MSP=3D00000000 VBR=3D00000000 > T=3D00 S=3D1 M=3D0 X=3D1 N=3D1 Z=3D0 V=3D0 C=3D0 IMASK=3D0 > FP0: nan FP1: nan FP2: nan FP3: nan > FP4: nan FP5: nan FP6: nan FP7: nan > N=3D0 Z=3D0 I=3D0 NAN=3D0 > 05a2e8e8: 2815 28c4 c081 c284 8287 MOVE.L (A5),D4 > next PC: 05a2e8ea > $=20 Replying to myself with some more info. The _exact_ same error occurs with x86_64 Fedora Core 3. From there, I followed Gwenol=E9's new piece of advice and recompiled with --enable-addressing=3Dbanks, and it now works! But as it's a mode meant for very old machines, I guess that's the reason why I can even get MacOS in color :-( Anyway, out of curiosity, I've tested all 3 addressing options : - "real" gets BasiliskII just exit, no error, nothing. - "direct" causes the SIGSEGV reported above. - "banks" gets the emulation working. Matthias --=20 Clean custom Red Hat Linux rpm packages : http://freshrpms.net/ Fedora Core release 3 (Heidelberg) - Linux kernel 2.6.9-1.681_FC3.r300 Load : 0.03 0.93 1.59 |