Jump to content


Aaron Giles

  • Posts

  • Joined

  • Last visited

  • Days Won


Aaron Giles last won the day on June 8

Aaron Giles had the most liked content!

Personal Information

  • Favorite LucasArts Game
  • Resolution

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Aaron Giles's Achievements


Explorer (4/14)

  • One Month Later Rare
  • Week One Done Rare
  • Collaborator Rare
  • Dedicated Rare
  • First Post Rare

Recent Badges



  1. Not sure how useful it is since this is the first official release, but if you're really curious: https://aarongiles.com/dreamm/version-win32.txt
  2. A couple of last minute fixes, and I'm officially releasing DREAMM 1.0. DREAMM provides a simple way to run your original DOS or FM Towns SCUMM games on a modern Windows system with high fidelity to the originals. Download it here: https://aarongiles.com/dreamm/ At this point, DREAMM will run all the known DOS and FM Towns versions of the SCUMM games, along with the Windows-only The Curse of Monkey Island. This includes: Maniac Mansion (both low and high resolution versions) Zak McKracken & the Alien Mindbenders (both low and high resolution versions, plus FM Towns version) Indiana Jones and the Last Crusade: The Graphic Adventure (both EGA and VGA versions, plus FM Towns version) Loom (both EGA and VGA versions, including CD-ROM talkie, plus FM Towns version) The Secret of Monkey Island (both EGA and VGA versions, including CD-ROM music, plus FM Towns version) Monkey Island 2: LeChuck’s Revenge (including FM Towns version) Indiana Jones and the Fate of Atlantis (both floppy and CD-ROM talkie versions, plus FM Towns version) Day of the Tentacle (both floppy and CD-ROM talkie versions) Sam & Max Hit the Road (both floppy and CD-ROM talkie versions) Full Throttle (CD-ROM) The Dig (CD-ROM) The Curse of Monkey Island (CD-ROM) How Is DREAMM Different From ScummVM? ScummVM is a modern reinterpretation of the original SPUTM game engine. It has a modern(-ish) interface, and runs lots and lots of games, but its fidelity to the original games is limited to the accuracy of the reverse engineering efforts, combined with how closely the ScummVM developers choose to mimic precise behaviors and details. In general, it does an excellent job at this, but may not achieve 100% fidelity to the original code, due to the fact that it is not actually running the original code. DREAMM, on the other hand, runs the original SPUTM game engine code in an x86 emulator. This means that fidelity to the original depends largely on how accurately DREAMM emulates the well-documented x86 architecture. Further, it means that you get all the original “chrome” (such as the save/load screens) and behaviors of the original game. Finally, DREAMM provides a streamlined, simple user interface that is customized for running the SCUMM games. In the end, for most people, the two are probably equivalent for running most games. But if you’d like to experience the games closer to their original form, complete with original bugs and user interface, DREAMM might be closer to what you want. Try them both! How Is DREAMM Different From DOSBox? DOSBox is a generic DOS emulator, and has a lot of similarities to DREAMM in how it is constructed. Both DOSBox and DREAMM emulate an x86 machine and all attached peripherals, and offer a fake implementation of DOS to service requests from the games. But DREAMM takes this concept further by optimizing its experience and interface specifically around the SCUMM games. This means that mouse cursor control is integrated, video updates are done without tearing, and idle time is given back to your system. It also means that DREAMM will help you install your old games into its environment, and will handle all the configuration of video and sound devices. Finally, DREAMM has the advantage of including a miniature 32-bit Windows implementation as well that allows it to run The Curse of Monkey Island, plus a miniature FM Towns layer that allows it to run the original FM Towns versions of the games that were released for that system!
  3. Heh, I lied. Apparently threatening this as the "final" beta brought out a bunch of bug reports, a few of which needed more invasive fixes. So we'll do (hopefully) one more beta before calling 1.0. Get 1.0b7 here: https://aarongiles.com/dreamm/ Version:1.0b7 • Fix modifier keys (shift/control) in Curse of Monkey Island. • Fix bug in copying from physical media; allow for multiple CDs when copying. • Bump memory for Indy Fate and the Ultimate Talkie Monkeys to 2MB since they can use EMS. • Add CD-ROM menu when game is run from a CD image or physical CD-ROM. • Fix mouse cursor in Maniac Mansion when run from within Day of the Tentacle. • Fix video detection in early games when Tandy sound is not selected. • Suppress error messages for CoMI disc 2 and for Maniac Mansion when found within Day of the Tentacle.
  4. Nice find! Absolutely that's a bug. I hadn't thought to check those. Should be an easy enough fix, I'm probably not reflecting the control key state properly in my faked up keydown messages.
  5. There are several reasons: Like all cross-platform frameworks, SDL trades off compatibility for lowest common denominator. I can almost always tell when I'm running an SDL app because it has the "feel" of one in its UI behavior, and it just doesn't feel as polished as a natively written program. On top of that, DREAMM has a number of extra-game behaviors (e.g., the frontend, installation, etc) that fit better with the native GUI, versus writing custom UI controls and logic to run in an SDL context (though to be fair I ended up customizing a decent amount of the native Win32 controls, but that wasn't my initial plan). As a personal programming preference, I am generally framework-averse. My experience with most frameworks is that they get me 80-90% of what I want, but I spend an inordinate amount of time fighting that final 10-20%. It usually ends up being a wash, time-wise, and a net negative, frustration-wise. I also prefer writing code with minimal dependencies. As it sits today, all the code in DREAMM is 100% my own, and its only dependency is bog standard Win32. I'd call it lean & mean in general, though the template explosion from my i386 emulator makes the final product a bit of a chonk. All that being said, there is enough interest in other platforms that I will probably do an experimental port to SDL in the not-too-distant future to see how well I can make it work, and also to evaluate just how much work I'm looking at for extra-game behaviors. (And, now that you pushed me to articulate it, I will import this into the FAQ!)
  6. Just dropped the last beta of DREAMM 1.0 for final testing: https://aarongiles.com/dreamm/ At this point, all the key functionality is in. If there are any remaining issues you'd like to see fixed before 1.0 is final, this is your last chance! Version:1.0b6 • Add increase/decrease video size menu items and key shortcuts (Alt-+/-). • Display selection dialog if multiple games are detected. • Always hide mouse in full screen mode, even outside of game area. • Added support for Curse of Monkey Island demos. • Allow selection of Standard/Practice/Expert modes in Loom FM Towns. • Fix audio looping in FM Towns playback (specifically Indy Crusade water pouring). • FM Towns games now exit cleanly via Ctrl+C. • Reduced target MIPS and RAM size for earlier games; fixed FM Towns at 2MB. • Fix window sizing behavior when target size is larger than the monitor size.
  7. LOL, seems I forgot to remove the frontend code that blocks you from adding FM Towns versions of the games. (Works fine if you add them from the command line, as I usually do.) Quick update to 1.0b5 to remove that. https://aarongiles.com/dreamm/
  8. Ok, FM Towns support is ready enough to play with. Still a couple of rough edges and uncertainties, but we'll call it 1.0b4. If you have or know someone with a real FM Towns, please help connect me. Particularly unsure of the anemic music in MI2/Indy4. Check out the 1.0b4 release here: https://aarongiles.com/dreamm/ Version:1.0b4 • Added FM Towns support for Zak/Loom/Monkey/Monkey2/Indy3/Indy4. • Improved i386 emulator to support paging (needed for FMTowns). • Added YM2612 and RF5C68 sound emulation (needed for FMTowns). • Support IMA as a file extension for floppy images. • Fix some cases where games would fail when writing save files.
  9. Interesting. I'd have to dissect the scripts to see if there is any upper limit to the speed in that section or if it's just "as fast as possible." DREAMM does only minimal throttling to ~60 MIPS, which is way more juice than the game actually requires, so if the game runs that scene "as fast as possible" then it will go quite fast.
  10. Hey all, thanks for giving DREAMM and try and for the great feedback so far! I've just released a new beta (1.0b3). Give it a play and let me know if it fixes any issues you encountered. Changes: • Added Hercules mode support for Maniac/Zak/SoMI. • Add integral scaling (Alt+I), on by default, which only stretches game screens horizontally by integral amounts. • Improved scaling logic to support 3x and 4x scaling in software to reduce jaggies and improve smoothness. • Improve overall smoothness of video updates. • The most recent configuration settings are now used for new games. • Report missing EXE files even when running from the command line. • Fix problems locating munt DLL when running from the frontend. • Fix long hangs/crashes in Sam & Max CD version. • Fix mouse wrapping at far edges of the screen. • Fix Unicode error when asking if you want to remove an entry. New beta here (it's linked above but links are pretty subtle here): https://aarongiles.com/dreamm/
  11. The mouse tracks movement across the actual window the same as it does any other window you're running. Those coordinates are then scaled to the screen and reported to the games. Sensitivity adjustments don't make sense in this model, because any sensitivity is controlled by your configuration in the OS. Also, if I applied a sensitivity correction, behavior would be strange as you entered/left the window because the mouse pointer wouldn't track with your system's mouse pointer. As for "smoothness", that's down to the games. They poll the mouse at their own frequency and update it as they see fit. That being said, there was an issue with DREAMM on some systems that would cause updates to be missed; hopefully this aspect is fixed in the next beta, so give it a try and let me know if it feels any better to you.
  12. No, sorry. First of all, not interested in enhancements. And secondly, doing that kind of a hack is much more feasible in an interpreter-level emulator like ScummVM than it is on a machine-level emulator like DREAMM.
  13. As it ships now, you are getting the raw image pixel-doubled to 640x400 or 640x480 (depending on aspect ratio correction), and then expanded by Windows GDI to the size of the window. GDI doesn't do bilinear filtering, so you will get "chunky" (nearest-neighbor) results. The only filtering you'll see today is if you enable aspect ratio correction (which is on by default). In this case, when expanding 320x200 screens to 640x480, DREAMM uses a fast and simple bilinear filter to expand each scanline, so you will see some software filtering. I just finished making some updates for the next beta that will expand/improve on this. To wit: 1. I have added an "integral scaling" option, which, when enabled, ensures that the screen is only ever stretched horizontally by an even multiple. The screen will be centered within the window at the largest even scaling factor that will fit. If aspect ratio correction is disabled, this will give you pixel-perfect scaling. 2. If aspect ratio correct is enabled, DREAMM will now internally scale up to 4x in software. This means that the vertical bilinear filtering it applies will be less apparent than it is today (since I only scale 2x before expanding). 3. I have changed the logic to stop using the internal aspect ratio correction altogether once the scale factor gets above 4x. For a 320x200 game this means that once you hit 5x (which is 1600x1200 with aspect ratio correction and gives pixel-perfect results in the correct aspect), you will no longer see any bilinear filtering at all. At this scale factor the unevenness of nearest neighbor starts to become less distracting. 4. I have hooked up epx3 and epx4 smoothing algorithms so that if you have smoothing enabled and scale to 3x or 4x you will get even more smooth graphics. I have also enabled it for CoMI if you are running high enough resolution. Beyond this, if I wanted to offer bilinear filtering, I could switch to using Direct2D for rendering, but I'm not sure I want to go there. With the above changes I'm pretty happy with the way things are presented, but we'll see what everyone thinks once the next beta is released.
  14. No, that was my predecessor, Eric Johnston. He did quite a lot of Mac customization to make the games run nicely on the early Macs. I took a more straightforward "as-is" approach to porting, which I could do because Macs of my era were high-end 680x0 or PowerPC based and had better graphics options than the equivalent-era PCs. I also always felt like Mac support was on the edge of being cut , so I worked hard to make sure all the games I worked on required no intervention from the original teams.
  15. Yeah, those were good times. I'm a completist, so no way Maniac Mansion wasn't coming to the Mac! I knew marketing would never go back and let me do Maniac and Zak as standalone releases for the Mac, but I figured I could at least slip Maniac in through the back door. Yes, screen scraping is involved. As a result, it has some imperfections. For example, if you move the mouse around sometimes you can get it to glitch (at least for some games). And if you look at Dr. Fred's plans in the CD version of DOTT (which has no copy protection) it will still suggest options to you. But it sure made development a lot easier once it was in, because I insisted on trying to always run the true originals and not the "cracked" versions that are floating around. Ultimate talkie versions are explicitly supported. You have to build the DOS versions as explained on his site, but if you do, they run well.
  • Create New...