Subject: Re: [stella] Help with Stella port to Mac OS X From: Stephen Anthony <stephena@xxxxxxxxxxxxxxxxxxxxx> Date: Fri, 7 May 2004 09:07:00 -0230 |
On May 4, 2004 03:01 am, zu03776 wrote: > I had wondered why there was no port of Stella past 1.2 to Mac OS; > now I understand. OK, there is a Stella 1.4 port pretty much completed. I can't give any other details ATM, but it is apparently working quite well (except for some sound problems that are common in all ports, which I haven't found the time to fix yet). So I don't know if there's a need to get 1.2/1.3 ported. > I first bought CodeWarrior 9, then spent a few days getting Stella > 1.2 source to compile. It works (after a few heavy-handed changes). OK, there's the first problem right there. Older versions of Stella were 'technically' portable in the fact that it was all C++. But there was still much work to do for each porter (as you imply by 'heavy-handed changes'). The latest CVS code is based on SDL, so the portability comes not only from being in C++, but also at the cross-platform SDL application level. New ports will have to take this into account. > Then I looked at the source for Stella 1.3 and 1.4, thinking it would > bolt right into what I already had working. Wrong, the code to get > sound out of Stella 1.3 and 1.4 is a nightmare -- I can't figure out > how to shoehorn the code to match what I have compiled. Not to > mention the new preferences objects, which didn't previously exist. The sound code has been heavily modified since the 1.2 release. I agree that some sound stuff was hard to understand in 1.3, since we introduced digital sound support. That's partly disabled (for now) in the 1.4 CVS, but something like it will be added again. And previously, there were 6 sound backends (MacStella, DirectX, DOS, OSS, ALSA, SDL), now there's one (SDL). So if anything, it should be easier to understand, not harder. And the preferences objects are new, as well as many other things. The current SDL cvs code is functionally quite different from 1.2, but it's a lot more portable. But it probably just doesn't fit into the way the original author of MacStella 1.2 envisioned it. In fact, the cvs code is *easier* to port than ever before, since there are quite a few things you had to do per-port previously; now you don't. For example, with the exception of one class (SettingsXXX), the same codebase compiles in Linux and Windows. AFAIK, the person who ported 1.4 to MacOSX had to change 2 classes. One was the creation of a SettingsMacOSX, and the other was a change to mainSDL (to accomodate a GUI). Of course, more code had to be written to actually give a Cocoa GUI, but that's to be expected of any port that makes use of platform-specific features. I think that's pretty good :) > Maybe it's a lack of familiarity with CodeWarrior, maybe it's objects > in C++, maybe it's just that I'm confused. I'm not sure who to ask, > or even what to ask, but I sure would like to see illegal opcodes and > 3F cart support for the Mac OS. I think it's a little of 2 and a lot of 3 :) The codebase *has* changed a lot, but to make it easier on porters, not harder. It will require you to change your mindset appropriately. Steve (SDL Stella maintainer) ---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[stella] Help with Stella port to M, zu03776 | Thread | [stella] Assymetrical PF and Reposi, cybergoth |
Re: Question about your VCS simulat, KirkIsrael | Date | Re: Question about your VCS simulat, Christian Bogey |
Month |