OSX 10.7 Lion crashing?
increpare

A quick search doesn't bring up anything - I tried running one of my old games

http://www.increpare.com/2008/12/rara-racer/

which was done in allegro 4.3, and get a crash in:

0 liballeg-4.3.dylib 0x00219aa9 _linear_clear_to_color32 + 105

anyway, I wonder if there's any easy workaround for this or, if not, if there's any more recent version that's confirmed to work in lion?

Trent Gamblin

Did they drop QuickDraw in Lion? It's been deprecated for a while. If so, Allegro 4.* programs will not work.

increpare

according to somewhere on the internet ( https://bugzilla.mozilla.org/show_bug.cgi?id=661636 )

"Most QuickDraw header files have disappeared from OS X 10.7, and from the OS X 10.7 SDK. "

Guess that answers that. Hmm. Will be a pain, but can probably port most the games to something newer.

Evert
increpare said:

A quick search doesn't bring up anything

What did you expect? Lion has only been released today. :P

Anyway, apart from that, I guess that's it as far as Allegro 4 is concerned. Allegro 5 should be fine though, but it'd be great if someone could try it out and report any issues they run into.

Trent Gamblin

Elias downloaded it and I paused my download most of the way through so I could do some stuff in Windows. I'll be trying it with my game in the next few days for sure since I'm doing a release.

Arthur Kalliokoski

I paused my download most of the way through so I could do some stuff in Windows.

Must... resist... urge... to sig!

Matthew Leverton

It should still work even if the headers are missing.

Trent Gamblin

Unless the headers missing is a sign of other things missing.

increpare

Possibly the same problem that SDL 1.2 has (doesn't work in fullscreen software mode). From ( http://forums.libsdl.org/viewtopic.php?p=29146#29146 ) :

"
CGDisplayBaseAddress() has been deprecated in 10.6 and while it still exists on 10.7, it now returns NULL instead of the display's base address. SDL_SetVideoMode() ends up calling a number of deprecated CG functions via the Quartz implementation including CGDisplayBaseAddress(). It is SDL_SetVideoMode()'s call to SDL_ClearSurface() that actually causes the crash when it tries to clear the frame buffer memory at address zero.

A new set of APIs has been added as of 10.6 and while they let you capture a display, they do not allow direct frame buffer access. Quartz or OpenGL are the only methods that can update a captured display.
"

can't find any fixes for it based on a google about, and the associated bug in sdl's bug tracker ( http://bugzilla.libsdl.org/show_bug.cgi?id=1215 ) hasn't been fixed.

Arthur Kalliokoski
increpare said:

A new set of APIs has been added as of 10.6 and while they let you capture a display, they do not allow direct frame buffer access. Quartz or OpenGL are the only methods that can update a captured display.

I was under the impression that very few if any video cards now have cpu addressable video memory. OpenGL allows you to upload a block of system memory to video, but that's different, the driver tells the card to fetch it.

[EDIT]

On second thought, that was rather stupid of me to say cards don't have any cpu addressable memory, as the computer BIOS has to use VGA mode 3 or similar.

Mike Farrell

this breaks zsnes on 10.7 as well. Quickdraw still works partially, just can't be in full screen.

Brandon McCartin

I'm not familiar with the intricacies of OSX updates (or rendering on the Mac for that matter!), but for what it's worth, this is an issue of great importance to me too.

Sorry, but what should I expect here? Is this the sort of thing Apple will fix in a future update? Or does that depend on community response? And if not, will a workaround in Allegro 4.x be feasible? I get the impression they're phasing out software rendering altogether, but again, not exactly an expert on the subject here. ???

It's just frustrating, since Allegro applications have run flawlessly and consistently on all my Windows machines the last decade. Consequently, I've put a lot of work into an Allegro-bound framework with which I was THIS close to attempting to deploy to Mac for the first time. (A matter of days, I swear!)

TL;DR: $%@#&, I hope this gets fixed! :o

Evert

Is this the sort of thing Apple will fix in a future update?

No.
The API has been deprecated for a very long time, and they're now finally removing support for it. They will not reverse that.

Quote:

And if not, will a workaround in Allegro 4.x be feasible?

Not very likely, unless someone is willing to invest the time and energy in updating Allegro 4.

This has been a long time coming, and for me was one of the initial reasons to switch to using Allegro 5.

Matthew Leverton

It's just frustrating, since Allegro applications have run flawlessly and consistently on all my Windows machines the last decade

There are problems with Windows Vista / 7 too, although those can mostly be worked around. And the ones that cannot, probably could be fixed without too much trouble... at least for now.

Brandon McCartin

@Evert: Ah, just as I feared. And "updating Allegro 4" in this case would mean a full-scale conversion to hardware rendering, I assume. Ugh. :'(

@Matthew: There are? I'm on Win 7 64bit now (previously Vista on a laptop), but I guess I'm simply not accessing these components? Either way, it's nothing on the level of not being able to draw to the screen! I hope that ominous "at least for now" doesn't mean you've heard something about this happening... have you? :-/

P.S. I finally got 'round to checking out A5 a week or so ago. Great stuff! Kudos to everyone involved. Quick to set up, worked fine, and I for one dig the style of function_names.

Also, the threaded, event-based timing is SUCH an improvement. However, browsing through the (Windows) source, I didn't see it checking QPC against ticks for jumps or setting the thread affinity, but A) I'm not sure I was looking at the development branch to begin with and B) this is getting stupidly off-topic, sorry.

Anyway, thanks for the quick replies! I never post, but this forum has been my go-to place for programming knowledge, no matter what I've been working on/with, for a long time. All the best! ;D

(Heh, I think the notion of A4 games not working on future systems has got me a bit... sentimental.)

Matthew Leverton

Either way, it's nothing on the level of not being able to draw to the screen!

But it does. e.g., There are problems with DX windows not updating and 8-bit palettes not working in full screen.

Quote:

I hope that ominous "at least for now" doesn't mean you've heard something about this happening... does it?

Nothing specific, no.

Brandon McCartin

I see... Mostly I use it for retro, pixely-style games, which aren't typically being rendered in "true" full screen on modern computers, anyway (what with their low resolutions and not-widescreen display ratios). But that is good to know, thanks!

I guess ultimately what I need to do, if I plan on continuing to make this sorta stuff into the future, is recreate the retro look (with all its quirks) using hardware-accelerated methods. Not terribly difficult, I suppose, but I'm just so lazy. :P

(Also, a big part of not doing this to begin with was the idea that using 4.x would be "more compatible" or something, which is apparently-and-increasingly untrue! Jeepers.)

Thread #607882. Printed from Allegro.cc