Hungry Harry in Haunted House - mdv archaeology.
Posted: Mon Jun 07, 2021 9:27 pm
Had to share this, as I was quite excited about buying it and getting it working. The packaging is probably the most amateur I have even seen for a QL game, but it certainly has it's charm. It's actually a Sinclair branded single mdv cartridge box wrapped in paper. The chap I got it off is on here, so he can own up if he wants to.
Very cheekily, when you run the clone file it makes a copy onto mdv2_ and then deletes the clone file on the source and the destination! So you were only ever allowed to make one copy of it. And dangerously this also means that the cart was never write-protected, which I suppose could have led to it being overwritten by accident (it also needs to save the high scores).
It has an interesting copy protection too that I am not skilful enough to crack. When you do a clone, before it copies the files over it renames the destination cart name in mdv2_ to an accented U. This is the code that does that:
Then it copies each file over that it finds on mdv1_.
It only seems to work though when the cartridge has that dodgy accented U name and so far my hunch is that the code file it LBYTES from the boot file may check this? Not sure, as there are some other pokes going on (I think to do with the graphics though).
Attached is the file that has a funny name (CHR$(251)&CHR$(251)&CHR$(251)&CHR$(230)) and is LBYTES'd in the boot file. Looks like it adds the command 'SETUP' which is refenced in the main file, so perhaps that has nothing to do with the protection.
When I got it I re-felted it and dumped it, and to my delight all sectors where recovered. I moved the image to Qemulator and it was full of random home made stuff, nothing at all related to Hungry Harry in Haunted House. There wasn't even a boot file. I was suspicious that it might still retain some originality due to the odd character named cartridge and because there was a file that also consited of odd characters. So I ran it through Cartridge Doctor and it was able to find three very important deleted files: the boot file, the main game file and the clone file. Once I added those to the image, it actually worked! It's really not a bad game for being almost entirely SuperBasic. The main game file is 41kb. Here are some pics:
By level 4 it becomes impossibly hard as it goes into night mode and you can't actually see the maze.Very cheekily, when you run the clone file it makes a copy onto mdv2_ and then deletes the clone file on the source and the destination! So you were only ever allowed to make one copy of it. And dangerously this also means that the cart was never write-protected, which I suppose could have led to it being overwritten by accident (it also needs to save the high scores).
It has an interesting copy protection too that I am not skilful enough to crack. When you do a clone, before it copies the files over it renames the destination cart name in mdv2_ to an accented U. This is the code that does that:
Code: Select all
1000 DEFine PROCedure readcode
1010 RESTORE
1020 r=RESPR(70)
1030 FOR x=r TO r+70:READ d:POKE x,d
1040 CALL r
1050 END DEFine
2000 DATA 96,20,0,6,77,68,86,50,95,219,0,10,77,68,86,49,95,67,76,79,78,69,65,250,255,234,112,3,78,66,112,4,114,255,65,250,255,230,78,66,78,117,85,24,0,0,84,254,2,0,0,0,152,254,255,255,253,56,2,220,0,0,10,48,0,0,158,234,0,0,78
It only seems to work though when the cartridge has that dodgy accented U name and so far my hunch is that the code file it LBYTES from the boot file may check this? Not sure, as there are some other pokes going on (I think to do with the graphics though).
Attached is the file that has a funny name (CHR$(251)&CHR$(251)&CHR$(251)&CHR$(230)) and is LBYTES'd in the boot file. Looks like it adds the command 'SETUP' which is refenced in the main file, so perhaps that has nothing to do with the protection.