Login  •  Register


The time is now: Sun May 31, 2020 3:22 pm

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 2 of 3 [ 51 posts ]    Go to page Previous  1, 2, 3  Next
Print view Previous topic  |  Next topic
Author Message
PostPosted: Tue Sep 23, 2014 8:48 pm 
Offline
Tinkerer
User avatar

Joined: Sat Feb 08, 2014 8:15 pm
Posts: 62
You and me both, but fixing all the compile-related bugs is going to be a nightmare.

_________________
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn


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

Joined: Sun Feb 01, 2009 4:55 pm
Posts: 279
The best thing for compiling Sheepshaver seems to be either Visual Studio 2010 or GCC 4.3. I forget which compiler you are currently using, but those seem to be the two most suitable for that.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Oct 04, 2014 10:15 pm 
Offline
Tinkerer
User avatar

Joined: Sat Feb 08, 2014 8:15 pm
Posts: 62
Here's the output on gcc's version on OS X Mavericks

Code:
computer:~ username$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
computer:~ username$


I can also check on my linux installation in a bit. I've never got Visual Studio figured out, but I use OS X most of the time now.

_________________
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri Nov 21, 2014 9:27 pm 
Offline
Tinkerer
User avatar

Joined: Sat Feb 08, 2014 8:15 pm
Posts: 62
I've been really busy with schoolwork lately, so I don't have the time right now to fix any compile-related bugs with newer compilers. Any help to clean up the source code is appreciated.

_________________
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 3:26 am 
Offline
Tinkerer
User avatar

Joined: Sat Feb 08, 2014 8:15 pm
Posts: 62
I can no longer continue unless SheepShaver is updated to current compilers. I also think (though I have not tested) that my MMU emulation is done incorrectly. So progress has stalled (I hope to get back to it someday).

_________________
"Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."

Doug Gwyn


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 3:44 am 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 234
UbuntuXP wrote:
I can no longer continue unless SheepShaver is updated to current compilers. I also think (though I have not tested) that my MMU emulation is done incorrectly. So progress has stalled (I hope to get back to it someday).

could you post your current progress on the source code?


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 11:02 am 
Offline
Student Driver

Joined: Sat Jun 13, 2015 10:43 am
Posts: 14
Wow... If we could run MacOS 9.2.2 with SheepShaver would be awesome... Now only can run 9.0.4 version and this version is very limited for many apps, less icons, etc.

Would be pleasant/genial if we could run 9.2.2 with Yosemite (10.10.3). So we could open we old files, docs, images .... and games.

I believe that there are many people expert in C++ to improve the SheepShaver code and upgrade to MacOS 9.2.2 in the newest OS (Yosemite).

Cheer! :lol:
Figatrix


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 12:51 pm 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 234
figatrix wrote:
Wow... If we could run MacOS 9.2.2 with SheepShaver would be awesome... Now only can run 9.0.4 version and this version is very limited for many apps, less icons, etc.

Would be pleasant/genial if we could run 9.2.2 with Yosemite (10.10.3). So we could open we old files, docs, images .... and games.

I believe that there are many people expert in C++ to improve the SheepShaver code and upgrade to MacOS 9.2.2 in the newest OS (Yosemite).

Cheer! :lol:
Figatrix


yeah... I got a PowerMac G4 MDD so I could check out 9.2.2

on my branch of SheepShaver, I cleaned up the code removing compatibility for all platforms except Mac OS X x86/x86-64 so the code is easier to work with.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 2:47 pm 
Offline
Student Driver

Joined: Sat Jun 13, 2015 10:43 am
Posts: 14
Well... then.... when.. do you believe that could be possible work (64 bits) with yosemite and SheepShaver Classic 9.2.2 ?

I was working several years (1997-2002) with my old PowerPC 9600/G4 and classic 9.2.2. I have many files and docs in classic apps like Freehand (does not exist now), Quark 4.0, Photoshop 6.0 and all SCSI devices (zip, jaz, MO, scanner...).

Now, since a few month ago, i have a MacPro 3.1 (second hand) with 10.10.3.. and i want recover my old classic files to save a big HD (2TB).

With SheepShaver is possible, but with 9.0.4 limit... is very unpleasant and tired. 9.2.2 work fine and fast.

:arrow: i hope work soon with this 9.2.2 within Yosemite,,, :?:


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 2:53 pm 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 234
figatrix wrote:
Well... then.... when.. do you believe that could be possible work (64 bits) with yosemite and SheepShaver Classic 9.2.2 ?

I was working several years (1997-2002) with my old PowerPC 9600/G4 and classic 9.2.2. I have many files and docs in classic apps like Freehand (does not exist now), Quark 4.0, Photoshop 6.0 and all SCSI devices (zip, jaz, MO, scanner...).

Now, since a few month ago, i have a MacPro 3.1 (second hand) with 10.10.3.. and i want recover my old classic files to save a big HD (2TB).

With SheepShaver is possible, but with 9.0.4 limit... is very unpleasant and tired. 9.2.2 work fine and fast.

:arrow: i hope work soon with this 9.2.2 within Yosemite,,, :?:


There is an SCSI to SATA adapter, but it's like US$200.
However, there is 2GB in Mac OS 7/190GB in Mac OS 9/128GB for Power Macs before MDD limit, so if you want to take that option to put in a bigger HDD/faster SSD in your older mac, take note of those limits.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 3:41 pm 
Offline
Student Driver

Joined: Sat Jun 13, 2015 10:43 am
Posts: 14
Yes... there is that SCSI adapter.... but there is a SCSI to USB 2.0 adapter too... very expensive.. of course ($200). With my new MacPro i no need my Old Mac machines... neither PCs. All my old machines (PowerPc: 8600, 9600, G4, G4 Dual and my old PCs: Victor, Compaq, IBM, some Hybrid and Qbic PC) are within my MacPro 3.1 dual 2.8, with 8 cores, 4TB HD (1+3) and 32 GB RAM.

I have Parallels app with Windows 7 professional and Snow Leopard Server.
I have VMWAre with MSDOS 7.0, Windows 98 SE and Windows XP SP3
I have SheepShaver with MacOS 9.0.4.... (9.2.2 was my OS with my old 9600 and "G4" for many years)

Only left me get a virtual machine to mount the greatest Apple MacOS: 10.4.11 -tiger- within Yosemite. I was working many years (9) with 10.4.11 in my "G4 Dual"... and was the best OS of Apple... of course... sure. There are many mac user in specialized mac foros lovers of tiger... 10.4.11,,, many people.

Only i would need a Tiger emulator and 9.2.2 Classic OS to work fine and fully with Yosemite.

Do you understand me .. friend.?


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 3:46 pm 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 234
figatrix wrote:
Yes... there is that SCSI adapter.... but there is a SCSI to USB 2.0 adapter too... very expensive.. of course ($200). With my new MacPro i no need my Old Mac machines... neither PCs. All my old machines (PowerPc: 8600, 9600, G4, G4 Dual and my old PCs: Victor, Compaq, IBM, some Hybrid and Qbic PC) are within my MacPro 3.1 dual 2.8, with 8 cores, 4TB HD (1+3) and 32 GB RAM.

I have Parallels app with Windows 7 professional and Snow Leopard Server.
I have VMWAre with MSDOS 7.0, Windows 98 SE and Windows XP SP3
I have SheepShaver with MacOS 9.0.4.... (9.2.2 was my OS with my old 9600 and "G4" for many years)

Only left me get a virtual machine to mount the greatest Apple MacOS: 10.4.11 -tiger- within Yosemite. I was working many years (9) with 10.4.11 in my "G4 Dual"... and was the best OS of Apple... of course... sure. There are many mac user in specialized mac foros lovers of tiger... 10.4.11,,, many people.

Only i would need a Tiger emulator and 9.2.2 Classic OS to work fine and fully with Yosemite.

Do you understand me .. friend.?



yeah, tiger + 9.2.2 = most older apple apps !!

For Tiger you can look at qemu, but it's a pain to use.
You can run Snow Leopard Server in VMware to run your old PPC apps.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 13, 2015 4:14 pm 
Offline
Student Driver

Joined: Sat Jun 13, 2015 10:43 am
Posts: 14
Thanks a lot, friend..
Qemu app... is the first time i have ear something about it. I will try to see it later..
:smile:


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Jun 15, 2015 8:53 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2954
Location: Emaculation.com
I'm curious: what exactly are people requiring 9.2.2 for?

9.0.4 was the last real update to OS 9 -- the 9.1 and 9.2 updates were mostly for classic mode compatibility. This means that any software that requires 9.1+ will likely run just fine under 10.1 through 10.4 which run just fine (if a bit slowly) under PearPC and qemu.

I've hacked up an image I use that has System 9.0.4 reporting itself as 9.2.2, and most of the rest of the System folder is from 9.2.2. It runs most of what I've thrown at it that complained about 9.0.4 being too old -- but all the same software runs in 10.4.11 (and indeed in 10.6.8 with Rosetta, except for the stuff that requires special hardware) so I've generally done that instead.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri Jun 19, 2015 7:14 am 
Offline
Tinkerer

Joined: Thu Aug 14, 2008 9:05 am
Posts: 97
adespoton wrote:
I'm curious: what exactly are people requiring 9.2.2 for?

9.0.4 was the last real update to OS 9 -- the 9.1 and 9.2 updates were mostly for classic mode compatibility.

That's not quite right; the last "real" update to OS 9 was 9.1, whose codename was "Fortissimo" — i.e. go out with a bang. I remember it being quite a bit more stable than 9.0.x was. In addition, it had some new features; Wiki says it was the first one that introduced the Finder disc burning support. 9.2.x were the Classic compatibility updates.

With that said, I agree with you that emulating past 9.0.4 isn't necessary for most old Mac stuff. The main benefit would be for people whose only old OS 9 CDs are for 9.1 and higher.
Quote:
This means that any software that requires 9.1+ will likely run just fine under 10.1 through 10.4 which run just fine (if a bit slowly) under PearPC and qemu.

While 10.1 through 10.4 work in PearPC and qemu, the Classic environment doesn't. Those operating systems currently are only able to run native software in emulation.

Quote:
(and indeed in 10.6.8 with Rosetta, except for the stuff that requires special hardware)

Classic software won't run on 10.6.8 at all. That will only work for Carbon apps.

_________________
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 20, 2015 12:16 am 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2954
Location: Emaculation.com
Yes, my point was that after 9.0.4, the updates in OS 9 were to Carbon, therefore anything that wouldn't run on 9.0.4 will run natively in OS X [edit] ...through OS X 10.6. Although 10.5 and 10.6 x86 are emulated with Rosetta, so anything depending on hardware won't work on these OSes (even less than in PearPC/qemu, which have some basic hardware emulation).


Last edited by adespoton on Sat Jun 20, 2015 7:18 pm, edited 1 time in total.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 20, 2015 7:53 am 
Offline
Expert User
User avatar

Joined: Thu Feb 09, 2006 10:24 pm
Posts: 5965
Location: Amsterdam, Netherlands
Some Carbon applications will run in MacOS 9.0.4 with CarbonLib 1.6 extension installed.


Last edited by Ronald P. Regensburg on Sat Jun 20, 2015 7:53 am, edited 1 time in total.
 


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Jun 23, 2015 5:43 am 
Offline
Student Driver

Joined: Tue Jun 23, 2015 5:37 am
Posts: 14
UbuntuXP, has anything further come from your effort to compile the MMU? I am on my 10.6.8 machine. If all that's needed is to compile the code on this type of OS, point me in the direction of a suitable compiler, and give me a web address to upload the results.

I'm not a programmer, but I'm dying to be able to finally run OS 9.2.2 in SheepShaver. You can take all the credit, I just want to have an MMU available in SheepShaver.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Jun 23, 2015 2:40 pm 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 234
It would be better to work in QEMU, because SheepShaver uses a ton of HLE hacks.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Jun 23, 2015 5:02 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2954
Location: Emaculation.com
and as mentioned over here, there's a high likelihood of 9.2.2 working on QEMU by the end of August. I've looked at the MMU handling and how SheepShaver traps its calls, and making it function there will 1) really slow down SheepShaver and 2) be a real mess to implement due to how extremely hacky SheepShaver's instruction emulation is. It isn't just a case of dropping in some functional MMU code, as SheepShaver may not even call the appropriate instruction in its current state.

I'm starting to look at QEMU as the long-term replacement for SheepShaver AND PearPC. It already supports snapshotting, external volumes, networking and sound, and is under active development. We're getting to the point where modern computers are fast enough not to worry about all the extra cycles needed for full emulation.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Jun 23, 2015 9:21 pm 
Offline
Student Driver

Joined: Tue Jun 23, 2015 5:37 am
Posts: 14
If QEMU can do this by August, I will be so very happy!


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu Jun 25, 2015 7:22 pm 
Offline
Master Emulator

Joined: Fri Sep 17, 2004 4:22 am
Posts: 360
DANADAX wrote:
UbuntuXP, has anything further come from your effort to compile the MMU? I am on my 10.6.8 machine. If all that's needed is to compile the code on this type of OS, point me in the direction of a suitable compiler, and give me a web address to upload the results.
To be clear, it is (apparently) not possible at the moment to get the current version of Sheepshaver – even without the MMU – to compile at all with current development tools. (These things change as the years go by.) Adding MMU support would be the second step.

Quote:
I'm not a programmer, but I'm dying to be able to finally run OS 9.2.2 in SheepShaver.
To emphasize the above, 9.2.2 is not particularly necessary to get anything running that won't already start in 9.0.4, and you can already use the Finder from 9.2.2. It's certainly quite likely that 9.2.2 is not going to run faster or better than 9.0.4.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu Jun 25, 2015 7:28 pm 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 234
In one of my branches, I was attempting to convert the autoconfusingtools to cmake.
I stopped that for a while because I didn't know about configure_file.

There's still the problem of the memory management that SheepShaver uses. It still doesn't work on newer compilers, and I still haven't figured out why.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu Jun 25, 2015 8:18 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2954
Location: Emaculation.com
SheepShaver expects to reference all memory from a base of address 0, which doesn't play nicely with the memory obfuscation routines introduced in recent compilers, and so they throw a "reference from address 0" error or similar IIRC.

Considering the entire way SheepShaver handles memory is based around being able to do this, fixing it is not a minor undertaking. I suggested a while back that one method might be to create a sandbox around SheepShaver that provides it an environment where addressing behaves as it expects -- but this is essentially writing an emulator to get an emulator to run inside (and it doesn't really fix the compiler issue, as the modern compilers will still refuse to compile the inner code).

Considering the development history of SheepShaver (frankensteinian child of a Basilisk II port), we may find that it's more profitable in the long term to move dev efforts to getting qemu to run with Old World ROMs.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 27, 2015 8:12 pm 
Offline
Tinkerer

Joined: Sun Jul 05, 2009 10:33 pm
Posts: 80
SheepShaver is supposed to be able to run with the memory offset, i.e. the allocated memory block isn't at address zero. SheepShaver calls this "direct" memory mode, as opposed to "real".

This isn't working right now for several reasons, including:

  • Unlike Basilisk II, the offset is determined or set a compile time. (Basilisk's method is better.)
  • SheepShaver's CONFIGURE has no logic to use the pagezero test result to determine if real mode can be used vs. direct. So unless you explicitly set the memory mode to direct, you get real.
  • As you noted, real mode won't work without a working method of allowing addresses at 0.
  • There are several ways that we could get address 0 to work, but that's a lost cause, because this is expressly verboten in 64-bit programs starting with Yosemite. This means that the future is direct mode.
  • Compiling with direct mode falls on 64-bit because ld defaults to creating a 4gb pagezero area when linking 64-bit executables. This means that the program configure tries to use to find a natmem offset fails, because it is only testing 32-bit addresses.
  • Trying to pass an explicit natmem offset fails because there is a bug in the SED expression it uses to validate the parms. It is using grep syntax that is only valid on Sun grep, not GNU grep. The fix for that is to use \{0,1\} instead of \? in the expression.
  • Even with that fix, it still gets a kernel data error at run time. I suspect that it is trying to allocate the kernel data area at a 32-bit address.

That's as far as I got. I need to get Xcode working for debugging it to find the runtime bug.

This can all be fixed. It isn't as hard as the problems with the JIT emulator.


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


Who is online

Users browsing this forum: Google [Bot] and 21 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