@aaronsgiles@corteximplant.com
@aaronsgiles@corteximplant.com avatar

aaronsgiles

@aaronsgiles@corteximplant.com

Rogue emulation programmer & demon hunter. Formerly of #Microsoft, #MAME, #Connectix, and #LucasArts. Still active in the Seattle choral scene #SeattleSings via Summer Fling Singers and Sine Nomine.

Author of #DREAMM emulator and the #ymfm audio library.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

aaronsgiles, to Emulation
@aaronsgiles@corteximplant.com avatar

DREAMM 2.1 is officially released for Windows, MacOS, and Linux targets (x64 and ARM64). DREAMM is a bespoke emulator for LucasArts titles running on DOS, Windows, and FMTowns platforms.

Download it here: https://aarongiles.com/dreamm/

Link to what's new (also attached below): https://aarongiles.com/dreamm/docs/v21/#intro-whatsnew

#dreamm #lucasarts #scumm #emulation #starwars #indianajones

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Oh hey, hello there Indy!

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

When I first left my job at Microsoft a couple years ago, I went through the process of scanning all the postcards I received from my JPEGView days. I then put them online and started the process of OCRing and tagging them.

I got through about half (3000/6000) before I kind of petered out, but still put up https://postcardware.net with what I had, along with a Mastodon bot @postcardware that you can follow for 3x daily samples.

Since the beginning of this year, I've started working through the remainder, and just crossed the 3500 threshold. I just refreshed the database, so if you visit postcardware.net you'll be able to browse the current lot.

Onward to 4000!

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Even though neither Loom nor Indiana Jones and the Last Crusade shipped with Hercules graphics support, the Passport to Adventure demo CD offers a Hercules video option. Which means you can check out both games (along with Secret of Monkey Island, which did support Hercules) in glorious green & black to see what might have been.

(The scaling artifacts on the text are from the original game, not from DREAMM. Guessing they didn't put too much work into cleaning up that stuff for a rather niche market.)

image/png
image/png
image/png

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Was investigating a bug in the version of Maniac Mansion that shipped with Day of the Tentacle. You can access Maniac Mansion from within DOTT by playing with Weird Ed's computer, in which case it launches the original Maniac Mansion EXE as a subprocess. For the English release, they used the original 160x200 graphics version.

The data files are identical to the original release, so DREAMM supports running this version as a standalone. However, this reveals an interesting bug when running in EGA/VGA mode.

Looking into why this happens, it became clear that LucasArts recompiled the original code for the Day of the Tentacle release with an option that set the minimum CPU version to something higher than base 8086. This is evident because PUSHing immediate values is done directly rather than by loading the immediate into a register first.

However, it appears that when they recompiled the code, it optimized a bit too well, and removed some required EGA/VGA frame buffer reads, leading to the effect below. They likely missed a volatile modifier which didn't matter in the original release.

This would not have hit in the real world because when launching from DOTT (a VGA game) it defaults to MCGA mode which doesn't have this issue. It only happens if you run it directly with either v or e command line options.

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Anyone familiar with or have info for the DOS version of the Indiana Jones and the Fate of Atlantis Action Game? There's precious little information out there.

I've reverse engineered which command line options are meaningful command to the game, but not sure what most of them do.

n - seems to disable sound (or indicate no sound card)
i - internal speaker
q - (quiet?) also seems to disable sound, but behaves like a mute option and can be changed later

e - EGA
v - VGA
m - MCGA

r - followed by another letter from c-z - ???
s - ???
z - ???
f - ???
d - ???
h - ???

The manual is platform-agnostic, so if there's any command-line info it would have been on the platform-specific card, which I haven't found any scans of.

If you don't have EGA/VGA it will print out an error message saying you need EGA, VGA, or Tandy, but the Tandy support doesn't appear to be actually present anywhere in the code, so I think that's a misleading error.

The game defaults to Adlib/SoundBlaster sound if you don't specify anything else. The r/s/z/f/d/h options don't appear to be sound-related from what I can tell in the code.

aaronsgiles, to Starwars
@aaronsgiles@corteximplant.com avatar

Full list of games supported as of DREAMM 2.1.

This was honestly not the direction I thought I'd go when I started the project. But that's the fun of just following what interests you!

I originally thought I'd focus on the 16-bit DOS games, with the knowledge that I'd surely be tackling 32-bit DOS games eventually, in order to support the later SCUMM titles. But then true FM-Towns support happened, which was a fun rathole. Once that was done, there was just Curse of Monkey Island left in the "SCUMM" category, which tricked me into adding minimal Windows support. But from there, going full on into substantial Win32 and DirectX emulation to support 3D games? So not in the original plan!

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Watching @danielalbu play Indiana Jones and the Infernal Machine gives me a chance to just marvel at how well the game works in emulation.

Usually when I'm playing, I'm in hyper-focused find-the-bug mode, or running under the debugger and trying to deliberately test the boundaries to break stuff.

But knowing how much is going on behind the scenes from CPU emulation to thread scheduling to 3D graphics emulation to my custom Windows GDI implementation to the hundreds of other little things that all need to be working in harmony, and seeing it all work well enough to smoothly play a game for others to enjoy is deeply satisfying.

https://www.youtube.com/watch?v=1MLtKDxLhmU

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta release today:

https://aarongiles.com/dreamm/beta

New in 2.1b11

  • Added support for MDS/MDF CD image files
  • Improved file matching for renamed files while scanning
  • Changed detection of single file updater programs to be CRC-based, not filename-based
  • Fixed bug where Indy Desktop dialogs would cause the window size to shift
  • Fixed inability to save in FM Towns Monkey Island 1 & 2 and Indy Fate
  • Fixed missing animated textures in Direct3D mode in Outlaws
  • Fixed crash in Infernal Machine when pushing the stone in Olmec Temple level
  • Fixed crash in Infernal Machine when selecting Help from the menus
  • Fixed drift-toward-center behavior with mouselook in Outlaws
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta release:

https://aarongiles.com/dreamm/beta

New in 2.1b13

  • Updated documentation: https://aarongiles.com/dreamm/docs/v21
  • Fixed potential crash when rendering unsupported glyphs in the UI
  • Added support for ZIP's "implode" (mode 6) algorithm
  • Fixed handling of ZIP files with missing size/CRC data in local header
  • Added telemetry opt-in/opt-out links in about box
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Arrgh, it's killing me that at least a dozen people have this version of Yoda Stories with an alternate wavmix32.dll, and yet I've never found it. With so many hits, I'm guessing it exists in some form somewhere online.

Putting this out there on the off chance you're one who tried it. If you got an "unrecognized version" notice when installing Yoda Stories, hit me up!

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta this morning:

https://aarongiles.com/dreamm/beta

New in 2.1b14

  • Improve behavior when unexpected conditions occur in release builds
  • Cleanly exit on invalid memory accesses in non-Windows (or 16-bit Windows) games
  • Fixed some application-level crashes when games exit unexpectedly
  • Enabled 32-bit upgraders for Outlaws (2.0.1 and Direct3D)
  • Some progress (not working yet) on earlier Outlaws upgraders
  • Added back exact 1.5:1 aspect correction hack for Hercules (patterns are ugly otherwise)
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Maniac Mansion came either on one 3.5" disk or two 5.25" disks. The contents were nearly identical, except for the index file (00.LFL), which mapped which rooms were on which disks so the game could prompt you to insert the right disk when you got to a particular room.

Well apparently the Spanish licensee either made a mistake or had some other issue such that when they shipped the single-disk version, they included the two-disk index file. Meaning the user might be prompted to insert disk 2 at some point in the game.

The workaround? The text on the floppy label: "Cuando el disco 2 sea solicitado, volver a introducir el mismo disco"

Which Google translates as: "When disk 2 is requested, reinsert the same disk"

LOL

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta:

https://aarongiles.com/dreamm/beta

New in 2.1b12

  • Fixed error in Infernal Machine warning of unimplemented Blt scaling
  • Fixed incorrect Infernal Machine sun rendering due to reversed fog/alpha blending order
  • Fixed some missing alpha blending effects in Jedi Knight
  • Open/save dialogs now scroll default selection into view
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Implemented some basic Windows scripting today so that SWSE installation is automatic. I may eventually do this for the various supported updaters as well, but for SWSE it was kind of important as there are a lot of options that need to be configured appropriately.

video/mp4

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta available:

https://aarongiles.com/dreamm/beta/

SWSE and SWChess Windows are unlocked but there are lots of problems, so don't bother reporting any bugs to me on these. SWSE also needs manual extraction from the installer.

  • Many improvements Windows support, specifically 16-bit Windows:
    • Can now load multiple 16-bit tasks together in the same address space
    • Hooked up midiOut and 16-bit multimedia timer multimedia support
    • Implemented many new GDI features, including support for non-solid brushes and binary ROPs
    • Added support for owner-draw listboxes and better messages for 16-bit controls
    • INI files are now read/written from actual INI files instead of using registry proxy
    • 16-bit nametable resources now support type renaming as well
  • New partially working "game": Star Wars Screen Entertainment (still crashes in spots but works partially)
  • New non-working game: Star Wars Chess, Windows (loads fine but won't let you play)
  • Indy Desktop/Yoda Stories now provide their own wavemix.ini configuration settings
  • Disabled video options for DIG95 version of The Dig
  • Fixed bug in GDI line drawing logic that sometimes caused a hang
  • Fixed improper fault when fetching 80-bit floating point values from read-only segments
  • Fixed crash when launching the DOS version of The Dig
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

DREAMM 3.0b2 is now available to fix a few key issues from the first beta. First item is particularly important due to shuffling of game IDs: you will want to let DREAMM re-verify your games if you're coming from a 2.x version!

https://aarongiles.com/dreamm/beta

New in 3.0b2:

  • Fixed version check so you are once again prompted after upgrading to scan folders
  • Fixed standalone mode
  • Fixed black levels in basic and epx OpenGL shaders
  • Improved preset matching for sound fonts
  • You can now track new versions via RSS at https://aarongiles.com/dreamm/version.xml
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

DREAMM 2.1b6 is now available:

https://aarongiles.com/dreamm/beta

This will be the last release for the next couple weeks, as I'll be busy with travel and other activities. Expect the next beta in mid-July!

New in 2.1b6

  • Added warning when attempting to access Steam client rather than crashing
  • Fixed radio button behavior in Windows dialogs
  • Fixed music in GOG versions of Jedi Knight/Mysteries of the Sith
  • Fixed occasional crash when scanning with removable media present
  • Added support for Dark Forces control configuration (requires reinstall)
  • Added Outlaws option for bilinear filtering in Direct3D mode
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

In revisiting my FM-Towns video emulation I remembered that there was an FM-Towns port of Indy Fate of Atlantis. It's interesting to contrast the interface between this version and the recently-surfaced DOS/V port, which had a radically reorganized verb/inventory section.

The FM-Towns version benefits from having a high-resolution top layer they can use to overlay Kanji at 640x480 resolution, so it certainly has a more refined look. However, it suffers from the fact that its YM2612 FM chip is really underpowered for the soundtrack, which was written to sound best on the MT-32 or at least a SoundBlaster.

A subtle thing also is the shading on Indy. Due to limitations of the FM-Towns video modes, the game layer is run in 16-bit true color (555 RGB), so palette effects like shading seem to be lacking compared to the PC side.

Also the FM-Towns version has an incorrect aspect ratio because it's effectively running in 640x480/320x240 and so has opted to letterbox the image, whereas the DOS/V version runs at 320x200 and thus fills the screen vertically.

image/png

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Hate it when I see an interesting video topic on YouTube and then find out it's a stupid 2+ hour livestream with a bunch of unscripted people yammering on about things with like 15 minutes of real content. Life is too short to waste spending time on that crap. Put some effort in; I have better things to do with my time.

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta is up:

https://aarongiles.com/dreamm

New in 3.0b7:

  • Many improvements to GDI support, including proper support for bitmap brushes
  • Broader font support, including auto-generation of bold/italic fonts
  • Most SWSE screen savers run fine now, except that Poster Art crashes occasionally
  • Fixed bad memory leak that led to Windows crashes
  • Fixed detection of size updates, which should fix Jedi Knight/MotS user interface
  • Fixed Indy Desktop weirdness
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

These days I'm frequently referencing the BIOS sources published in the various IBM Technical Reference manuals. It would be super handy if these were in text format rather than in PDFs.

I've seen a few examples of these listings around the net, but just a subset of what I'm interested in, and I'd really like a way to convert them all and ensure they are unmodified.

Straight up OCR of the PDF doesn't seem to do well and gets pretty confused by the formatting. Ideally there would be an OCR program that could be configured to assume fixed-width characters and generate a text file that looks like what's below, complete with all the necessary spacing intact. Does such a thing exist?

Maybe @bitsavers or @textfiles has run across something?

aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

New DREAMM beta available:

https://aarongiles.com/dreamm/beta

New in 3.0b4:

  • Fixed many bugs in Pipe Dream Windows, including missing menus, clipping bugs, and other missing features
  • Added support for Infernal Machine 1.1 updaters (there are two versions)
  • Disabled non-working video modes in the DOTT English version of Maniac Mansion
  • Fixed regression in the open/save dialog for Windows games
  • Fixed regression where files with incorrect names but matching CRC weren't being found by the scanner/verifier
  • Fixed regression where Windows games were not returning idle time back to the system
  • Fixed crash when using the mouse wheel while menus were visible on some UI screens
  • Fixed missing lines in Infernal Machine map
  • Fixed Jedi Knight/MotS default video mode to be 640x480 instead of 400x300
  • Fixed Grim Fandango defaulting to software rendering
  • Fixed screen position of Rebel Assault II Windows launcher after playing
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

Finally a new DREAMM beta:

https://aarongiles.com/dreamm/beta

New in 2.1b9

  • Added support for updaters, just drag the EXE to install; currently supported for:
    • Indiana Jones and the Infernal Machine (1.2 updater)
    • Grim Fandango (1.01 updater)
    • Escape from Monkey Island (1.1 updater)
    • (note you may need to reinstall the 1.0 versions for some updaters to work)
  • Revamped game launch screen UI, now uses tabbed groups for management/configuration
  • Replaced DREAMM options menu with new options screen
  • Added ability to Reverify installs of individual/unrecognized/all games
  • Automatically suggest reverification on a version change if unrecognized games found
  • Fixed crash on exit in some cases running Yoda Stories
  • Fixed crash when scanning for games on some systems
  • More fixes for texture locking failures
  • Improved Windows teardown to hopefully alleviate sporadic crashes on exit
aaronsgiles, to random
@aaronsgiles@corteximplant.com avatar

DREAMM 2.1b7 is now up

https://aarongiles.com/dreamm/beta/

It's been a couple of weeks and I've been on vacation (and recovering from COVID), but I'm back and have some fixes for you.

  • Fixed Linux case-sensitivity issue with Escape from Monkey Island saves
  • Fixed crash when fielding an unexpected exception
  • Fixed crash on failure to lock game texture
  • Added stubs for the full set of Win98 kernel32/user32/gdi32 APIs
  • Fixed occasional lost key up messages in Windows, which resulted in "sticky" keys
  • Fixed handling of assert in Infernal Machine so it shows up and exits gracefully
  • Added option to load game directly at startup in Infernal Machine
  • Fixed difficulty configuring in Loom FM Towns version
  • Added new 3D rasterizers reported via telemetry
  • Improved error reporting for crashes and added reporting for unexpected exceptions
  • Minor UI refinements
  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • InstantRegret
  • ethstaker
  • magazineikmin
  • GTA5RPClips
  • rosin
  • modclub
  • Youngstown
  • ngwrru68w68
  • slotface
  • osvaldo12
  • kavyap
  • DreamBathrooms
  • Leos
  • thenastyranch
  • everett
  • cubers
  • cisconetworking
  • normalnudes
  • Durango
  • anitta
  • khanakhh
  • tacticalgear
  • tester
  • provamag3
  • megavids
  • lostlight
  • All magazines