Alright, @Warrigal got me down quite the rabbit hole of various defunct websites, but I eventually found one of his contact numbers, and, on a whim, called.
Got a former business partner and friend of his who was absolutely astounded that I was calling about a 25 year old video game. He took down the information and my contact details and emailed Scott immediately. He said Scott is very responsive and I should expect a response by later this afternoon. (He also said Scott keeps and religiously backs up everything, so he most certainly has a copy of the game hanging around.)
Wow. Thank you all for this amazing call to action! It’s such a shame that he encountered legal action. Fortunately he did get his demo out there (and hopefully some full copies!), as I got the demo on a cd pack in for (I think) Australian PC User magazine, sometime in 1999. I’m still going through the Internet Archive trying to locate the exact issue.
I had not thought of decompiling the z5, indeed I didn’t know it was possible. Thank you for uploading the output - it will be an interesting read later, hopefully after playing as I’m sure some of the content will give away the ending!
Years ago I did locate his archived Success Information website and attempted to email some people who I thought could be him through LinkedIn but never heard back, or those emails went with or without bounce into some void. Calling is not something that occurred to me - how cool! Good luck and thank you!
I made a very quick first sstab at it with Reform. It balked at a function called binaryLeft2 at the end so more work is needed. The decompiled file + the autogenerated symbol-file below.
Object -> obj25_demo_fairy__flitting_about_your_head_ "demo fairy (flitting about your head)" ! 25 / 0x19
with name 'demo' 'fairy' 'fairie',
before routine51524,
description [43 a1],
each_turn routine51544,
limit [0 0],
has animate;
Have a before and a each turn-property looking like this:
! References: obj25_demo_fairy__flitting_about_your_head_.before
[ routine51524 ; ! 51524 / 0xc944
if (global233 == 16[obj16_floor?]) {
print "You cannot get rid of the demo fairy in the trial version. She will be with you throughout.";
new_line;
rtrue;
}
if (global233 == 66[obj66_scary_halloween_mask?]) {
print "No use trying to harm the impervious demo fairy.";
new_line;
rtrue;
}
rfalse;
];
! References: obj25_demo_fairy__flitting_about_your_head_.each_turn
[ routine51544 ; ! 51544 / 0xc958
routine64884(global235,76[obj76_Master_bedroom?]);
if (routine64380(global235,76[obj76_Master_bedroom?]) == 12[obj12_northwest_wall?] && random(3) == 1 && global8 == 2[?] or 4[String?] or 5[CompassDirection?]) {
routine39592(94[obj94_PC_TV_Integrator_software?]);
}
if (routine64380(global235,76[obj76_Master_bedroom?]) == 18[obj18_inside?]) {
routine64352(global235,76[obj76_Master_bedroom?],0);
if (global8 < 5) {
style bold;
print "^^The demo fairy squeaks: ~That's all the time you have to experiment with this phase of the adventure. It's time to see what the next phase holds! ...~^^";
}
if (global8 == 5[CompassDirection?]) {
style bold;
print "^^The demo fairy boinks you on the nose with her tiny wand and squeaks: ~That's all the time you have to experiment this time around. You'll see a message that says you've won, but really, you haven't. Sorry ... at least you can get the full version of this game for what Infocom(TM) used to charge for an Invisiclues(TM) booklet! My master hates shareware nag screens as much as anybody does, but he's explained to me that making this game took him 50 consecutive 10-hour days out of his direct marketing career, so ...~";
routine64012();
}
routine63592(global8 + 1);
}
if (routine64380(global235,76[obj76_Master_bedroom?]) == 9[obj9_east_wall?]) {
style bold;
print "^^The demo fairy flitting about your head says: ~Just 8 more moves in this phase, then we move on ...~^";
new_line;
rtrue;
}
rfalse;
];
If these are removed (or the routines are hacked so they return without action) is maybe a way to get rid of the fairy?
I made a modified game-file by changing byte $C945 from $41 to $B1 and byte $C958 from $F9 to $B1 ($B1 = rfalse). Now the fairy never appears, but I can’t vouch for more than that. Are there any walkthrough available to test it?
EDIT: Testing around a bit I noticed that the fairy sits in your inventory. You can drop it and leave it behind now but I should probably remove it from the inventory entirely…
EDIT 2: I updated the file with a new change. Byte $F396 from $19 to $B3 (moving the wrist watch to the inventory two times instead of the fairy should be harmless). Now the fairy stays in the secret place.
EDIT 3: The game seems playable. I just finished phase one in 100 moves without any problems. There’s still messages at the start and when you move to the next phase that you’re playing a demo version and there are no HINTs (No HINT or WEAK verb, I was hoping it was in the file waiting to be unlocked but, no).
I just saw that the author posted this comment on the only review on IFDB
Hi y’all!
I’m Scott, the guy who made the game.
I don’t remember if, or how, I divided the game into 5 sections and/or created a demo version of it.
If I can find it, I’ll post the full version for free.
I never used Frotz after 1999.
The prospect that the non-demo file will surface seems slim…
Yeah, he never responded directly, but at least the prodding got to him. Hopefully he finds the thing. His friend seemed certain he had it. Made some jokes at his expense about the guy saving/archiving everything. Gave me a bit of a Meretzky vibe.
I downloaded the mod and played through the first phase (for the first time ever) and all seems well. I got through it in 172 moves, so a bit rusty, but still quite enjoyable and an interesting perspective challenge, after working from home for many years!
I did get to draw up a map of the offices and wrote down the major moves to upload a hint/walkthrough later if the commercial version is never recovered.
I was able to beat the first part as well without running into any noteworthy bugs. Seems to be a fairly serviceable version. I’ll keep going to confirm the game is beatable in its current form.
If you want to be fussy, update the Z-code checksum.
Come to think of it, do we have a convention for marking a hacked (or politely adjusted) game file? Would it make sense to change the serial number to the current date, since it’s effectively a new version?
Or maybe change the last digit of the serial number to “A”, to indicate that it’s a new version but still show what release it’s based on. (The six-digit serial number is traditionally digits but other ASCII characters are legal.)
Further tweaks, if you should happen to make more tweaks, would be “B”, “C”, etc.
I have to admit that I cheated in the last two phases (peeked in the disassembly) and optimized the number of moves in the first three when I knew what to do.
I had a bit of a peek to help too. Unfortunately I think I broke the game in the second phase, so I restarted to see if that was an error of mine or the games.
In the meantime I did do a bit more searching and found an item of interest for the IF archeologists present and one (25 year old) lead on a game copy.
First there were year 2000 stock indexes, then millennium radio programs. Now comes a computer adventure game called Uh-Oh. The game, created by Scott Covert and styled after circa 1980s computer games such as the Enchanter series, starts you off in 1998 in an office during the assessment phase of trying to prove the year 2000 problem to your boss. By the time you reach the survival phase, you’re hunkered down in your rural home, relying on your wits. A free shareware version is available at www. successinformation.com/game.htm. For the full version, send $10 to Scott Covert, R.R. No. 8, 1956 O’Brien Rd., Peterborough, On- tario, Canada Koj 6X9
The lead on the game copy is through a post on rec.arts-if from 1998 from someone who purchased the game and intended to write a review. I’ve done some searching and think I found this person online and have emailed them. Don’t think it will go anywhere, but bothering people on the internet about these old things seems to be amusing as a good IF itself