Can Only See a Portion of the Screen

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
bestusername
Space Cadet
Posts: 2
Joined: Fri Feb 22, 2019 1:01 am

Can Only See a Portion of the Screen

Post by bestusername »

Image: https://imgur.com/ubr22Za

While trying to setup Mac System 9, I ran into this issue. As you can see it only displays the bottom left quarter (approximately) of what should be shown. I tried changing the scaling option in System Prefs., but that didn't do anything. I also uninstalled SheepShaver and tried again. I also tried changing to fullscreen mode in SheepShaver prefs., changing the window size also doesn't change this.

If anyone has run into this, what was the solution? Otherwise does anyone know what this could be?

I'm running Mojave 10.14.3
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Can Only See a Portion of the Screen

Post by adespoton »

It looks like your screen resolution in the prefs file is set to 160x120 -- did you miss some 0s?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Can Only See a Portion of the Screen

Post by Ronald P. Regensburg »

Do you have a Retina screen? And did you download the latest SheepShaver build soon after it was posted? Please download this one and try again:
http://ronaldpr.home.xs4all.nl/sheepsha ... 90220A.zip

This may be the same problem that was reported here:
viewtopic.php?p=62270#p62270
(The original download was modified accordingly yesterday, so it should now also be OK.)

Edit: You can also try to solve the issue while still using the original download by setting the application to open in low resolution in Finder Info for the application.
Last edited by Ronald P. Regensburg on Fri Feb 22, 2019 11:01 am, edited 1 time in total.
Reason:  
JonathonWyble
Student Driver
Posts: 17
Joined: Fri Nov 09, 2018 11:00 pm
Location: Buffalo, New York

Re: Can Only See a Portion of the Screen

Post by JonathonWyble »

adespoton wrote:It looks like your screen resolution in the prefs file is set to 160x120 -- did you miss some 0s?
I also found something similar to what you posted when doing a Google search on this. Something about setting the screen resolution to 1024x768. Anyway, maybe that could be the OP's problem, according to some articles I found, kind of like this one (on E-Maculation), https://www.emaculation.com/doku.php/sh ... os_x_setup
DrLex
Tinkerer
Posts: 84
Joined: Sun Nov 19, 2006 6:01 pm
Location: Belgium

Re: Can Only See a Portion of the Screen

Post by DrLex »

bestusername wrote:Image: https://imgur.com/ubr22Za
If anyone has run into this, what was the solution? Otherwise does anyone know what this could be?

I'm running Mojave 10.14.3
I'm also running Mojave 10.14.3 and I have never seen this with my own SheepShaver builds. This looks a lot like a bug in SDL2, which may be confused about the plist saying that the app is high-resolution capable, but the window is configured as not allowing high resolution. Maybe I'm not seeing this bug because I'm building against a newer version of the SDL2 framework than the build you were using?

Can you try reproducing this bug with this build? It contains the fix proposed in this thread, maybe that on its own would be enough to avoid the problem as well.
Last edited by DrLex on Sat Feb 23, 2019 4:11 pm, edited 1 time in total.
bestusername
Space Cadet
Posts: 2
Joined: Fri Feb 22, 2019 1:01 am

Re: Can Only See a Portion of the Screen

Post by bestusername »

Telling the application to run in Low Resolution in the Get Info panel fixed the issue

Thank you!
DrLex
Tinkerer
Posts: 84
Joined: Sun Nov 19, 2006 6:01 pm
Location: Belgium

Re: Can Only See a Portion of the Screen

Post by DrLex »

No, it worked around the issue. Please try my build so we can know if it really fixes the problem.
Last edited by DrLex on Sat Feb 23, 2019 4:10 pm, edited 1 time in total.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Can Only See a Portion of the Screen

Post by adespoton »

I tested your build and got the following:
Feb 22 20:03:18 Host com.apple.xpc.launchd[1] (com.apple.xpc.launchd.oneshot.0x10000082.SheepShaver[37347]): Service exited due to SIGKILL | sent by CoreServicesUIAgent[4006]
Feb 22 20:03:24 Host SheepShaver[37349]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
Feb 22 20:03:29 Host kcm[37353]: DEPRECATED USE in libdispatch client: Setting timer interval to 0 requests a 1ns timer, did you mean FOREVER (a one-shot timer)?; set a breakpoint on _dispatch_bug_deprecated to debug
Feb 22 20:04:35 Host SheepShaver[37366]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
Feb 22 20:04:36 Host SheepShaver[37366]: dyld: lazy symbol binding failed: Symbol not found: _SDL_RenderSetIntegerScale
Referenced from: /Applications/Emulation/Apple/Macintosh/Macs OS /1999-2000 Mac OS 9.0.4 (Minuet).app/Contents/Resources/1999-2000 Mac OS 9.0.4 (Sonata).app/Contents/MacOS/SheepShaver
Expected in: /Library/Frameworks/SDL2.framework/Versions/A/SDL2
Feb 22 20:04:36 Host SheepShaver[37366]: dyld: Symbol not found: _SDL_RenderSetIntegerScale
Referenced from: /Applications/Emulation/Apple/Macintosh/Macs OS /1999-2000 Mac OS 9.0.4 (Minuet).app/Contents/Resources/1999-2000 Mac OS 9.0.4 (Sonata).app/Contents/MacOS/SheepShaver
Expected in: /Library/Frameworks/SDL2.framework/Versions/A/SDL2
Feb 22 20:04:43 Host Console[37369]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
Is it possible to include sdl2 in your build instead of using it externally? There appears to be a conflict between my system-wide SDL2 and your build.

[edit] I upgraded my SDL to 2.09 and it appears to be working properly (nice crisp graphics) but really slow redraw, slow performance and 100% CPU usage.
DrLex
Tinkerer
Posts: 84
Joined: Sun Nov 19, 2006 6:01 pm
Location: Belgium

Re: Can Only See a Portion of the Screen

Post by DrLex »

adespoton wrote:Is it possible to include sdl2 in your build instead of using it externally? There appears to be a conflict between my system-wide SDL2 and your build.

[edit] I upgraded my SDL to 2.09 and it appears to be working properly (nice crisp graphics) but really slow redraw, slow performance and 100% CPU usage.
Oops, I assumed the project was configured to embed the framework but it obviously wasn't. It also seems this was a debug build, so it probably lacks optimisations. Here's a new one that is built for release and includes the framework (I have updated all the above links to point to this build as well).
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Can Only See a Portion of the Screen

Post by Ronald P. Regensburg »

DrLex wrote:Oops, I assumed the project was configured to embed the framework but it obviously wasn't.
The project expects the framework to be in /Users/Library/Frameworks/
DrLex
Tinkerer
Posts: 84
Joined: Sun Nov 19, 2006 6:01 pm
Location: Belgium

Re: Can Only See a Portion of the Screen

Post by DrLex »

Ronald P. Regensburg wrote:The project expects the framework to be in /Users/Library/Frameworks/
That's a bit of an unusual location. Also the XCode project (as checked into GitHub) uses relative paths, so it needs to be in a specific location as well. Wouldn't it be better to expect the framework to be in the standard location (/Library/Frameworks/) and refer to it using absolute paths in the project?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Can Only See a Portion of the Screen

Post by Ronald P. Regensburg »

As far as I know, it was a choice made by kanjitalk755, I don't know why. I have it now both in the default location /Library/Frameworks/ and in /Users/Library/Frameworks/ for building SheepShaver and BasiliskII from kanjitalk755/macemu only.
I didn't realise that a relative path is used. I always use the source folder on my desktop.
Last edited by Ronald P. Regensburg on Sun Feb 24, 2019 4:45 pm, edited 1 time in total.
Reason:  
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Can Only See a Portion of the Screen

Post by adespoton »

Personally, I think that unless it’s deploying an installer script, it should just be in the Resources folder. It’s not like the size difference is that big compared to the disk images/etc we create to go with it, and that prevents other applications from requiring an incompatible version at some point and breaking things.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Can Only See a Portion of the Screen

Post by Ronald P. Regensburg »

The Xcode project finds SDL2.framework in /Users/Library/Frameworks/ and when building the application, copies it into SheepShaver.app/Contents/Frameworks/

It has been like that for many years, but in the past it used to copy the framework from the default location /Library/Frameworks/
I do not remember when that changed and if it is only in kanjitalk755/macemu.
DrLex
Tinkerer
Posts: 84
Joined: Sun Nov 19, 2006 6:01 pm
Location: Belgium

Re: Can Only See a Portion of the Screen

Post by DrLex »

Ronald P. Regensburg wrote:The Xcode project finds SDL2.framework in /Users/Library/Frameworks/ and when building the application, copies it into SheepShaver.app/Contents/Frameworks/

It has been like that for many years, but in the past it used to copy the framework from the default location /Library/Frameworks/
I do not remember when that changed and if it is only in kanjitalk755/macemu.
Well, it doesn't really matter if the framework location is a bit odd and I don't want to make kanjitalk755 move his files around, but regardless of where the framework is expected to be, it should be documented in the README. The easier we make it for anyone to get started working on this, the better the chances of getting more contributions to the project :smile:
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: Can Only See a Portion of the Screen

Post by kanjitalk755 »

When I added SDL2.framework as embedded, it was registered by relative path.
I couldn't find how to change it to absolute path.

As a trial, I have edited project file manually.
If something goes wrong with this change, I will restore it.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Can Only See a Portion of the Screen

Post by Ronald P. Regensburg »

Works here as intended.

SDL2.framework is now found by the Xcode project at /Library/Frameworks/SDL2.framework
Post Reply