VOGONS


First post, by Banjo

User metadata
Rank Newbie
Rank
Newbie

I'm trying to get the "Organizer" software that came with the Amstrad PPC640 (a late 80's "luggable" XT) to run on another XT, 286 or 486 without success. I've been trying via emulation (DOSBox, PCem, etc.) too, however whenever I load the software, it fails to start, instead returning to the command prompt with a custom "unauthorized use" error message that makes it likely the software checks it is being run on a real PPC before running, thus preventing people from using it on desktop or other brand machines.

I'm wondering if it would be possible to alter the exe file to make the program run on other machines. If it would be a ton of work, fair enough, but since as far as I know this software was never released in any other form (retail, etc.) besides the PPC512/649 bundles, it means that nobody can run this old program anymore without such a "crack". I looked at PCem and similar emulators, but none can emulate the hardware of a PPC as far as I know.

Would someone more knowledgable than me be willing to take a quick look at the executable and see if they can confirm or deny my theory that it is indeed looking for "real hardware" and thus exiting with an error if it doesn't find it?

I've attached the program for anyone who wants to take a look. Advice on the possibilities of fixing this is welcome! 😀

Attachments

  • Filename
    ORG.zip
    File size
    123.92 KiB
    Downloads
    67 downloads
    File comment
    PPC Organizer Software
    File license
    Fair use/fair dealing exception
  • ppcorgerror.PNG
    Filename
    ppcorgerror.PNG
    File size
    11.02 KiB
    Views
    1003 views
    File comment
    Error message when running "runalc".
    File license
    Fair use/fair dealing exception

Reply 1 of 5, by derSammler

User metadata
Rank l33t
Rank
l33t

I'm wondering if it would be possible to alter the exe file to make the program run on other machines.

Yes, and it's even fairly easy. Load it up into a disassembler, find the string, trace it back to where it is outputted, trace that back to the jump that occurs when running on the wrong machine, and NOP out the jump. Done.

Reply 2 of 5, by Banjo

User metadata
Rank Newbie
Rank
Newbie
derSammler wrote:

I'm wondering if it would be possible to alter the exe file to make the program run on other machines.

Yes, and it's even fairly easy. Load it up into a disassembler, find the string, trace it back to where it is outputted, trace that back to the jump that occurs when running on the wrong machine, and NOP out the jump. Done.

Thanks! Great to know this will be possible!

Your instructions are way outside my current knowledge, but I am willing to learn (and this will come in handy for other projects too, I suspect). What disassembler tools should I be starting with, and is there a guide anywhere to help a total novice get started with something like this?

Reply 3 of 5, by JohnElliott

User metadata
Rank Newbie
Rank
Newbie

You're correct that it's checking for PPC hardware - specifically, the video hardware. It writes to the CGA mode control register (03D8h) and checks that the video NMI system modifies the value written.

The conditional jump to be patched out is at offset 5796 in RUNALC.EXE - replace 75 17 with 90 90.

Reply 5 of 5, by Banjo

User metadata
Rank Newbie
Rank
Newbie

I've attached a "patch" made with the help of John Elliot's information (thanks, John!). Use it with the original version of the PPC Organizer software attached to the first post of this thread.

Tested and working on PCEm and DOSBox!

Also posted (with some other Amstrad stuff) on my game mod blog here!

Attachments

  • Filename
    Amstrad_PPC_Organizer_Patch.zip
    File size
    91.15 KiB
    Downloads
    65 downloads
    File comment
    Patch for Amstrad's PPC Organizer to let it run on non-original hardware.
    File license
    Fair use/fair dealing exception