Just for the lulz : Imagery
Rick Murray (539) 13759 posts |
Does anybody remember Imagery? It was a “commercial” graphics program given away on the front of an Anyhow, one thing that I noticed back in the day was an “Overlay” directory containing a number of small BASIC programs. This tipped me off to the idea that the entire program might be in BASIC. After less time looking at the program than it is taking to write this sentence, it turns out that the complicated protection system works by basically loading a wodge of data into memory, decrypting it (EOR!), then messing with PAGE to push the newly-arrived BASIC code into view. The non-existant “*Imagery” command at the end of the loader is never executed. I just happened to come across this a few days ago buried in a backup disc. Actually, it was the zip file from the cover disc… no, I lie, it was ArcFS. God, I’d fogotten about that… Whatever, a blast from the past presented itself, so, given the core of the program is in BASIC, it remained to crack the installer, 32bit the assembler code, and the LZWFiler module. Thankfully the assembler code pretty much didn’t bother restoring flags, didn’t set V except one place, and didn’t do anything weird as it runs in USR mode. As a result of that, all of the conversion work took… oh… about as long as it takes to brew a decent cuppa. Here’s a middling-quality (for bandwidth) screenshot of it running on my Pi2: And here’s a download if you’d like to play with some software that is a mere quarter century old: http://heyrick.ddns.net/files/imagery32.zip (about 80K) These are both (archive and the image) being served off my Pi, so grab ’em quick! Note: I don’t own this software, I don’t claim to own this software, and the only references I can find for John Whigham (the author) is that he wrote White Magic / White Magic 2 for The Fourth Dimension. 1992/1993 predates the Internet and ubiquitous email… |
Doug Webb (190) 1156 posts |
Hi Rick I remember using this program on my A3000 and then when i uopdated to RISC OS 3 it stopped working and I tried altering things but could never get it to run correctly. Anyway I’ve tried it on my HV 5.23 ROM Pandaboard and it locks up on the splash screen and even using Aemulor does’t help so it may not like something perhaps screen modes available? |
John Rickman (71) 645 posts |
Anyway I’ve tried it on my HV 5.23 ROM Pandaboard and it locks up on the splash screen and even using Aemulor does’t help so it may not like something perhaps screen modes available? Similar behaviour on ARMX6 – ie Splash screen made from two sprites – title and horse. |
Rick Murray (539) 13759 posts |
Strange. It shouldn’t need any particular screen mode as it is a Wimp program. It is working on my 1280×1024 16M display. Oh, that’s bizarre… Insert the following just before the line that runs !RunImBAS: Set Imagery$File "" I don’t know why this didn’t bite me earlier. Known problems:
|
Rick Murray (539) 13759 posts |
Just a brief look, I think that is making assumptions for MODE 15 (what a 256 colour program written in 1992 thinks it would be likely to be used in) otherwise try to work out the correct scaling factors for the mode. Remember – modern monitors are 2:2 or 1:1, while MODE 15 would be 2:4. |
Doug Webb (190) 1156 posts |
Rick
Yep that does the trick. Great work and thanks for saving another program from oblivion. |
Steve Pampling (1551) 8130 posts |
Hmmm: “Are you sure you want to quit?” Well, since you ask, er, yes. That was sort of why I clicked on the Quit option in the menu. |
Rick Murray (539) 13759 posts |
Yes – God forbid it bother to note whether or not there are unsaved changes before asking…?! That said, maybe people back then just made weird|dumb prompts and messages? In trying to track down information on this program, I came across this which nearly made me lose a mouthful of tea (my emphasis):
Even now I’m smirking. There was probably some annoyingly convoluted thing that needed done, so an annoyed programmer made his/her feelings known with that message… I’ve put some weird messages in my software as placeholders or commentary of things that annoy me, but I do usually remove such messages when the job is done – but remember that should you see a message like Tribbles ahoy at five o’clock, blast ‘em with your slimy flibbit! (five o’clock would, in that case, would have been the time that I called it a day and went to bed… and flibbit apparently means an underwater fart (according to the infamously untrustworthy urbandictionary), but “slimy flibbet” was chosen because I couldn’t remember how to spell “flibbertigibbet” at 5am!). I think that one was in something for ages. Might have been OvHTML? But it was some weird edge-case that I don’t remember, suffice to say most would have been unlikely to see it. |
Steve Pampling (1551) 8130 posts |
Oh, you mean like having a message that actually said “Unsaved changes, are you sure you want to quit?” |
nemo (145) 2502 posts |
“Are you sure you want to save me the trouble of tracking file modifications properly?” |
Rick Murray (539) 13759 posts |
The extra words aren’t the problem. The problem is the lack of logic to detect if the base image has changed at all, and if it has, then display the prompt. Of all of my emoji including snot 🤧 and poo 💩 and girl getting a head massage 💆, I don’t appear to have a facepalm. Weird. So here’s a headache pill instead… 💊 |
Steve Pampling (1551) 8130 posts |
Oh, a pill – that’s a top end insertion isn’t it? |
Vince M Hudd (116) 534 posts |
While writing a quick ‘nybble’ about this for RISCOSitory, I thought I’d take a quick look – and I’m 99.99999% sure I’ve found the author. I’ve found his blog, Facebook and LinkedIn pages. The blog hasn’t been updated since 2015 and has no contact details, but his bio page strongly suggests it’s the right guy (mentions programming on Acorn 8 and 32-bit machines). His Facebook page appears to be similarly dusty, but his LinkedIn profile is more up to date. He could probably be contacted through that. |
Jon Abbott (1421) 2640 posts |
He also did The Olympics and Birds of War for The Fourth Dimension. |