Boxer

Developer diary: plans and progress reports.

Stirrings! Thursday 28th May 2009

DOSBox 0.73 was released today, with a slurry of improvements to speed, stability and emulation accuracy. Hence Boxer 0.86 is around the corner, and will be released next week (after testing and tweaking) to bundle the new DOSBox. This version will still be based on the same Applescript codebase as 0.85 and will include several game tweaks, installer improvements and bugfixes that came up since the 0.85 release.

An update to the 0.9 beta branch is further away, since it is integrated much more tightly with DOSBox and I need to go through the new codebase file by file sticking my grubby fingers back into it.

Commentary

  1. Ha, finally a new release, it took 2 years or so for them to make a new release. But it's probably worth it :) Didn't know it was released yet, I've read it would come out in May so I thought it would be out in June or July but no, they kept their promise... Gonna check it out right now

  2. Any more betas of Boxer we can get our hands on? :)

  3. I'm guessing some unforeseen problems cropped up and prevented a new build from being released this week?

  4. Should-have-foreseen problems more like: the entire week got swallowed up with moving to our new house. After a marathon weekend we're now more or less done, and so normal service should resume next week.

    In the meantime though, it is possible to swap Boxer 0.85's version of DOSBox for the new one by hand: the cleanest way is to copy the executable inside the DOSBox 0.73 application package, and use it to replace the executable in the "Boxer (DOS Session)" application package, which is located in Boxer's Resources folder.

  5. Alun: Cool trick, just did that and it works perfectly. Thanks for the hint :-)

  6. I tested Boxer under Snow Leopard and nothing would work. I set Boxer to open through Rosetta, and it works fine ; DOSBox runs in Intel mode !

  7. I'm guessing at this point Alun is focusing on 0.9 and DOSBox 0.73 rather than Boxer 0.86.

  8. Under Snow Leopard, the 0.85 version and 0.86b worked well - only through rosetta, but 0.9b didn't work at all !

  9. Hi Weedy, thanks for clarifying the version - was going to email you about it. Looks like my Cocoa rewrite isn't Snow Leopard compatible in some fashion, though it's odd that it would still work in Rosetta. I'll need to get a developer seed of 10.6 to track this down I think, but in the meantime does it give any error message when it refuses to run?

  10. When ran without Rosetta, 0.85 or 0.86 gave an error about no C drive existing, when clicking a ".boxer" package. It also shows the executable select panel every time.

  11. In recent weeks (I guess after WWDC) I've been getting consistent crash reports from Snow Leopard users. It appears there are bugs or language/library changes in 10.6's applescript that are breaking Boxer's behaviour when opening game packages, and unfortunately these are difficult to debug without having a developer seed myself.

    I'm holding off on the new version release until I've had more time to address these as I don't want the release to be a flood of Snow Leopard crash reports. Time unfortunately has been very short lately, as I have just started a new fulltime job, which limits Boxer work to the weekends. Sorry for the delays all!

  12. Under Snow Leopard, when ran through Rosetta, if the ".boxer" package contains a ".iso", Boxer crashes with an error -1728...

  13. My guess is that Snow Leopard under Rosetta is still partially some Leopard AppleScript code because PowerPC's last Mac OS will be Leopard and thus be emulated through Rosetta... and run through real Snow Leopard uses the new even more broken AppleScript..

    I only get the -1728 error in AppleScript when a called object isn't there. This of course is in Leopard and not in plain AppleScript. The problem here is that Apple hasn't yet provided us a changelog or anything that can explain those errors in AppleScript.

  14. Alun, is there a way to completely remove AppleScript dependence? Was 0.9 eventually supposed to do away with AS?

  15. Indeed, I plan to get rid of Applescript entirely for the release of 0.9 - these sorts of version-specific errors (in a well-coded and fault-tolerant applescript, no less) are ridiculous and make support very difficult.

    I've already reimplemented most of the automatic environment configuration logic into Cocoa in the latest 0.9 beta. However, replacing the core applescript behaviour can only be done all at once, not piece by piece, which is a big task. The applescript interface parts are also a bit daunting simply because they can be made so much better with Cocoa - and should be. This means that I want to put considerably more thought into how they should work in a redesign.

  16. Is your latest 0.9 still using shell scripts with cocoa? Is that even possible?

    This time I created a new app. You probably think, "Again?". But it's neither alpha nor beta it's really completely done and bug free. I only need to write code for Growl. This is still AppleScript because I really can't find a place where I can learn cocoa :(

    Weedy, have you tried the new build 10A394 on Boxer? I hear you can download the update from Software Update.

  17. I just did some testing with the new build 10A394 of Snow Leopard and it's the same as with the 10A380 build.

  18. I hope Apple hasn't changed too much stuff in AppleScript that breaks backwards compatibility and that it are just bugs that will be fixed by Apple eventually... I haven't seen any error reports on Boxer but maybe it all lies into the 'path to ..' functions. They have been changed over the OS X versions...

    BTW Alun, do you know that your DMG contains two backgrounds ? a .png & .jpg...

  19. The current 0.9 betas still rely on applescript for a lot of things - detecting and installing games, creating and opening game packages, deciding on drive mounts - then Cocoa takes over for the actual emulation. I've been migrating that functionality to Cocoa bit by bit, but the game package code needs to be replaced entirely before it can work at all in Cocoa.

    The two backgrounds was an oversight - I'll clean them up for the official release ;)

  20. Also, your Growl code, you can easily change it so it works on both Leopard and Tiger. If you want details, I can explain them but that's rather off-topic so if you want, send me a mail about it. (Unless you already cocoaized it, is that a word?)

  21. Just discovered Boxer; while I like it, I'm having trouble installing larger programs; Daggerfall, for example, I can't use the 'huge' install option (~450 MB). When I run DIR, it says there's approximately 260MB free (obviously I have much more than that free on my hard drive). Suggestions?

  22. Edit: go download the new beta instead, which rolls in these proposed improvements and should be able to install Daggerfall at any installation size without problems.

    By default, Boxer (and DOSBox) report a smaller amount of free disk space than you have because a lot of older DOS games will get confused and stop working if they see 'too much' disk space.

    Boxer automatically increases this reported space to around 700MB when installing games from CD or CD-image (ISO), because those games can definitely cope with larger hard drives. However, it won't do this when you're just installing a game from a regular folder (since it isn't sure.)

    So, long story short: if you download ISOs of these games, or burn their install files to CD, then they should give you no further installation problems. Otherwise, you'll have to break out some DOSBox-fu and enter the drive mount commands manually to increase the disk space. Email me and I can walk you through that if you like - the comments section is a little cramped for that.

    (I'll work on giving Boxer some smarter heuristics for this in the next version, e.g. increasing the disk space if the game being installed is larger than the default size.)

Design by 40watt.