Post AqwTts6WLVmIZvJRtg by [email protected] | |
More posts by [email protected] | |
Post #AqttpIg889VcspZO1A by [email protected] | |
0 likes, 0 repeats | |
anyone feel like this is an invitation to crack a game?yes, even a bible game? | |
Post #Aqtu2bvZsF4ALe8s8O by [email protected] | |
0 likes, 0 repeats | |
STEP ONE: unpack with UNP.UNP 4.12 Executable file restore utility, written by … | |
Post #AqtuGPSn0qetkFFy6a by [email protected] | |
0 likes, 0 repeats | |
Step two: loaded it in ghidra, do a string search. We find the "Oh, oh! Th… | |
Post #AqtuQLmbYEWdE5GUVs by [email protected] | |
0 likes, 0 repeats | |
Which leads us right to FUN_1000_87c7, containing this code: | |
Post #AqtuyErXmrqzbojbP6 by [email protected] | |
0 likes, 0 repeats | |
FUN_1000_8798 seems to be the magic. It gets the current drive, then calls FUN_… | |
Post #AqtvmqXA065qvJKdIO by [email protected] | |
0 likes, 0 repeats | |
Here we go. It gets passed a sector number, and it confirms that the sector doe… | |
Post #AqtvqlpfQGHdV4rLNY by [email protected] | |
0 likes, 0 repeats | |
They pass in sector_num of 0x2ca. So presumably on the original disks they did … | |
Post #AqtvwYyG9bT5Lgdm76 by [email protected] | |
0 likes, 0 repeats | |
naturally if you copy this program onto another disk (or a hard drive), all tho… | |
Post #Aqtw4ukL4q7TCW6yKe by [email protected] | |
0 likes, 0 repeats | |
Anyway that'd be a pain to replicate on a real disk or a virtual DOSBox har… | |
Post #AqtwHtPxKR8EqPlYp6 by [email protected] | |
0 likes, 0 repeats | |
sticking 74 1D into https://shell-storm.org/online/Online-Assembler-and-Disasse… | |
Post #AqtwSI7qJutIN1Fhdg by [email protected] | |
0 likes, 0 repeats | |
there's definitely some way to make ghidra tell you the fill offset of the … | |
Post #AqtwXzTgZ56qGzBdC4 by [email protected] | |
0 likes, 0 repeats | |
And we're in the game with no "YOU PIRATED THIS!" message.Done. | |
Post #AqtwdbBdn7S0fnQ8Nk by [email protected] | |
0 likes, 0 repeats | |
@foone you're telling me a Bible built this game? | |
Post #AqtwgEkhetLhxk4wAC by [email protected] | |
0 likes, 0 repeats | |
@foone Do you often get games checking for this and introducing errors? I know … | |
Post #AqtwmaSDssft0WSk3k by [email protected] | |
0 likes, 0 repeats | |
@Canageek not usually. I've run into one application that did a tricksy ant… | |
Post #Aqtwv4xyKCbvxJMWZc by [email protected] | |
0 likes, 0 repeats | |
@DotMaetrix apparently! (I personally am a bridge-builder, not a bible-builder.… | |
Post #Aqtx0zLi7d4QGvHeO8 by [email protected] | |
0 likes, 0 repeats | |
this angel has no idea I just cracked their game | |
Post #Aqtx6fuHJzsDi4AE8e by [email protected] | |
0 likes, 0 repeats | |
@foone i mean I understand it's your papal perogative as a pope to do so | |
Post #AqtxJBAMvQEg8OeWJc by [email protected] | |
0 likes, 0 repeats | |
@foone I am in awe of not only the fact you have the skills to do this, but the… | |
Post #AqtxJBKeJCSWeHSjL6 by [email protected] | |
0 likes, 0 repeats | |
@Len0w0ThinkBad I'm a pope and I played this as a kid, the chances I'd … | |
Post #AqtxaUnTBy4RwOCOjQ by [email protected] | |
0 likes, 0 repeats | |
and there at offset C13B in the decompressed EXE, we've got the font. | |
Post #Aqtxi6vxnXJqFPnqV6 by [email protected] | |
0 likes, 0 repeats | |
it's 8x8 fixed width (like an NES font!) so we don't need to extract wi… | |
Post #AqtxqkGLSUVgXYSB2u by [email protected] | |
0 likes, 0 repeats | |
@foone why does the angel look like a quarterback | |
Post #AqtxqkOqwrJcxwQyJ6 by [email protected] | |
0 likes, 0 repeats | |
@Len0w0ThinkBad theologically accurate. gridiron football is the official sport… | |
Post #Aqty436ci9vykJFYvo by [email protected] | |
0 likes, 0 repeats | |
@foone That capital G is a crime. | |
Post #AqtyKAcOY1w8g8nXeK by [email protected] | |
0 likes, 0 repeats | |
@TomF fun fact: that distinctive G is how I double checked I had the right font | |
Post #Aqtynilcf7rOzHCmNU by [email protected] | |
0 likes, 0 repeats | |
SHIT WHO TOLD THEM? | |
Post #AqtyxW08yp92I5fRmi by [email protected] | |
0 likes, 0 repeats | |
@foone You're hleping spread the Word of The Lord! | |
Post #Aqtz0jVDEvEt24jZL6 by [email protected] | |
0 likes, 0 repeats | |
@foone Santa I suspect | |
Post #AqtzH137lgta5RMOmW by [email protected] | |
0 likes, 0 repeats | |
@foone Copy protection‽ Wouldn’t they want the nice word of the Lord to pro… | |
Post #AqtzKSTOGRT00aHsnI by [email protected] | |
0 likes, 0 repeats | |
@foone As the good book warns us: "and she who cracketh the builder of the… | |
Post #Aqtzy5RZJ2uqARKcZU by [email protected] | |
0 likes, 0 repeats | |
@foone Thou shalt not copy the floppy! | |
Post #Aqu02onKdNQ5ymldfk by [email protected] | |
0 likes, 0 repeats | |
@heathen_cat if I'd copied the floppy, I'd be find, it's only becau… | |
Post #Aqu0nHVYDA2KLvbcRM by [email protected] | |
0 likes, 0 repeats | |
That one is a joke, but the credits do actually have an anti-piracy message fol… | |
Post #Aqu1Jbw5nO0cyZR72G by [email protected] | |
0 likes, 0 repeats | |
The funny thing is: They're inconsistent with the fact it says "Thou s… | |
Post #Aqu1SQAUutxJ5MNKIC by [email protected] | |
0 likes, 0 repeats | |
NIV & Revised Standard say "You shall not steal."Living Bible say… | |
Post #Aqu1d99mVPVvVi9e08 by [email protected] | |
0 likes, 0 repeats | |
Come on guys, you could have made it switch between the different versions of t… | |
Post #Aqu1jP8nzPHAp2gLLc by [email protected] | |
0 likes, 0 repeats | |
the file DAT3 has chunks named SODOMA and SODOMB Come on guys, just 23 more and… | |
Post #Aqu1nrkbYrVSiCUQaG by [email protected] | |
0 likes, 0 repeats | |
@foone 😂 | |
Post #Aqu1ssXa3GsYbrmuxc by [email protected] | |
0 likes, 0 repeats | |
@foone and the Book of Mae says "Be gay do crimes" | |
Post #Aqu1ssgnV0Ff4S6HKK by [email protected] | |
0 likes, 0 repeats | |
@fluffy ahh, the good book! such wisdom | |
Post #Aqu2BoK1xbbv1oTfpg by [email protected] | |
0 likes, 0 repeats | |
there's some kind of compression going on here that's inexplicably bad? | |
Post #Aqu4RZprmwfSdn0wxU by [email protected] | |
0 likes, 0 repeats | |
I modified some of my Carmen Sandiego scripts to handle its files, so now I can… | |
Post #Aqu4UXL3WpLrlW0wTo by [email protected] | |
0 likes, 0 repeats | |
you might notice I did DAT1, DAT2, DAT3, and then DAT5: DAT4 is completely diff… | |
Post #Aqu5WslYvrkSks5w6i by [email protected] | |
0 likes, 0 repeats | |
@foone Duke Nukem is an angel now? | |
Post #Aqu5WsvUKxgjFejrZw by [email protected] | |
0 likes, 0 repeats | |
@tursiae always was, bub | |
Post #Aqu75GuNmJddQmBMX2 by [email protected] | |
0 likes, 0 repeats | |
@foone thou shalt not copy the floppy | |
Post #Aqu83vVFydGChyLu1g by [email protected] | |
0 likes, 0 repeats | |
@foone nah, just random coincidence | |
Post #Aqu87SXdb6I62m9Ods by [email protected] | |
0 likes, 0 repeats | |
hey @dosnostalgic: isn't there a way to mark clusters as bad in Norton Util… | |
Post #Aqu8ABVhNM9m5hXjaC by [email protected] | |
0 likes, 0 repeats | |
(I'm trying to recreate the copy protection) | |
Post #Aqu8lCeE6pcwKkBS08 by [email protected] | |
0 likes, 0 repeats | |
1 bad sector, eh? hopefully it's the right one! | |
Post #Aqu95KKXFvPpx4ZLZg by [email protected] | |
0 likes, 0 repeats | |
Doesn't work. Back to DOSBox so I can have a debugger! | |
Post #Aqu9YWiCIfoUkbYnkO by [email protected] | |
0 likes, 0 repeats | |
@foone Very fascinating thread, thanks for this! | |
Post #Aqu9boXcT2Z6usBEa8 by [email protected] | |
0 likes, 0 repeats | |
oooooh! I'm totally wrong.this is doing an int 25 DOS 1+ - ABSOLUTE DISK RE… | |
Post #Aqu9fgOige3AolrW1w by [email protected] | |
0 likes, 0 repeats | |
meaning this is a trickier compression than I thought: They left out a sector! … | |
Post #AquAB87RfYt7lsmFpg by [email protected] | |
0 likes, 0 repeats | |
looking into the freedos FORMAT source. maybe I can easily modify it to skip ov… | |
Post #AquD5N1Te16U7SvmVc by [email protected] | |
0 likes, 0 repeats | |
okay sector 2ca is on CHS 19/1/12 | |
Post #AquDbpzdT8ihEgYEc4 by [email protected] | |
0 likes, 0 repeats | |
dang it, I started putting data into DEBUG.COM, then I realized I have no way t… | |
Post #AquElsqXoaf2w3eY7M by [email protected] | |
0 likes, 0 repeats | |
@foone With a upd765, it's not trivial (it is with a wd1772 and friends). … | |
Post #AquEorTvLVUTZTUb2m by [email protected] | |
0 likes, 0 repeats | |
@galibert at the moment, just an emulator format. | |
Post #AquEuOJUhnx6qSFbuK by [email protected] | |
0 likes, 0 repeats | |
keyboard written (or rather, a script for my scriptable automation keyboard pro… | |
Post #AquFgWLS9CYlee7JFA by [email protected] | |
0 likes, 0 repeats | |
arg. I should have guessed debug.com has a tiny tiny input buffer, and it can&#… | |
Post #AquGX8LE7gbOYZ6Blo by [email protected] | |
0 likes, 0 repeats | |
meh this is a pain. to the NASM! | |
Post #AquGtX1342mTSDLBey by [email protected] | |
0 likes, 0 repeats | |
@foone The key words "MUST", "MUST NOT", "REQUIRED&quo… | |
Post #AquHlMyIcnxlwJj7o0 by [email protected] | |
0 likes, 0 repeats | |
note to self: before you try to CALL a function, make sure you have a stack fir… | |
Post #AquJip3zvIiQ6YJ076 by [email protected] | |
0 likes, 0 repeats | |
I may have created the disk | |
Post #AquJmtqy3ZcY7P9fQe by [email protected] | |
0 likes, 0 repeats | |
@foone Here: # | |
Post #AquKbwAXCtGY4KdyCW by [email protected] | |
0 likes, 0 repeats | |
@foone isn't this more of a "if you want to ever RET from a function&q… | |
Post #AquKqhIInE9kHOJaqG by [email protected] | |
0 likes, 0 repeats | |
20 bad sectors? No, I fucked up BAD somewhere. | |
Post #AquKuKBKfNGvkvmhiS by [email protected] | |
0 likes, 0 repeats | |
@nina_kali_nina technically correct, yes :) | |
Post #AquLl186ESse0yOkka by [email protected] | |
0 likes, 0 repeats | |
@foone wait, are you adding norton disk doctor to the death generator?? | |
Post #AquLobFYOWkeuNaqBs by [email protected] | |
0 likes, 0 repeats | |
I had off by one errors in two directions! but sadly they didn't cancel eac… | |
Post #AquLtJC6x5V0MGEDMe by [email protected] | |
0 likes, 0 repeats | |
@vfig no, this is a mostly death-generated-unrelated bit of nonsense | |
Post #AquMfpranBytZylodU by [email protected] | |
0 likes, 0 repeats | |
SCANDISK really doesn't like this disk. it's sitting here forever looki… | |
Post #AquN0qJGKPjx2pjIWm by [email protected] | |
0 likes, 0 repeats | |
well that's probably not a great sign | |
Post #AquNBnTLDaFhQifR0S by [email protected] | |
0 likes, 0 repeats | |
@foone it's got a lot to think about. Non-existing sectors, very philosophi… | |
Post #AquNEwT4EGtmCL2T9U by [email protected] | |
0 likes, 0 repeats | |
@foone successful software projects are just a bunch of off by one errors that … | |
Post #AquNsGZ3RcIxouafxo by [email protected] | |
0 likes, 0 repeats | |
@foone but did the original game ship on weirdly formatted disks? Or did they m… | |
Post #AquOwZR3KBaXSZSpk0 by [email protected] | |
0 likes, 0 repeats | |
@dryak I'm not sure yet! | |
Post #AquP6Xfck2Rssj2CFk by [email protected] | |
0 likes, 1 repeats | |
@foone on a clear disk you can seek forever. | |
Post #AquPF83RLlbY2eGjEe by [email protected] | |
0 likes, 0 repeats | |
I wrote a simple test program to try reading the 3 affected sectors, and... the… | |
Post #AquPIGnZIRm41tLJ4K by [email protected] | |
0 likes, 0 repeats | |
this would be easier to deal with if I didn't have to juggle 2 emulators, o… | |
Post #AquPLhJp9RXh9K43mK by [email protected] | |
0 likes, 0 repeats | |
I might just have to write a program to check every sector on the disk, to conf… | |
Post #AquPwzEnUZGtRFUgvg by [email protected] | |
0 likes, 0 repeats | |
@foone Add support for flux-level disks to emulator? 🤔 | |
Post #AquQZqWpo25LinSbzs by [email protected] | |
0 likes, 0 repeats | |
said program is now runnign | |
Post #AquQcuICGhGsGQ4bYm by [email protected] | |
0 likes, 0 repeats | |
@evraire that sounds like a lot of work for 5am! | |
Post #AquR49noi78eBarCq0 by [email protected] | |
0 likes, 0 repeats | |
BAD sectors start at 0x396? I was aiming for 0x02CA! | |
Post #AquR89MQIMaDyRwpZQ by [email protected] | |
0 likes, 0 repeats | |
they go to 0x03a7: that's 17 sectors, like I was trying to write, but presu… | |
Post #AquRIdvfUszjfzR9kW by [email protected] | |
0 likes, 0 repeats | |
I told it to write to track 19h (dec 25)but it's track DEC 19 that I was ai… | |
Post #AquRMfjaj9scQvi2dM by [email protected] | |
0 likes, 0 repeats | |
@foone But Exodus is in the Old Testament, while newer instructions in Mark 16:… | |
Post #AquRbiBpscFcOQ5l3I by [email protected] | |
0 likes, 0 repeats | |
@baffinsquid clearly you are learned in the ways of scripture! | |
Post #AquS8AukcPfqkMa2Oe by [email protected] | |
0 likes, 0 repeats | |
bingo! it fails to read sector 0x2CA but neighboring sectors are fine. I wonder… | |
Post #AquSPFHhcig7DvSJ3g by [email protected] | |
0 likes, 0 repeats | |
nope, crashes scandisk as well. Shame. lets see if I can copy files onto it | |
Post #AquSSzswosJyccfKK0 by [email protected] | |
0 likes, 0 repeats | |
@foone Then it's probably easier to find the sector in the format, whicheve… | |
Post #AquSaHAEyX88ErE0OG by [email protected] | |
0 likes, 0 repeats | |
Sector not found writing drive AAbort, Retry, Ignore, Fail?WHAT DO YOU MEAN? IT… | |
Post #AquScUqr3bcXGhDTKi by [email protected] | |
0 likes, 0 repeats | |
I probably have an off-by-one error in the FAT edits | |
Post #AquSysISZKpiLxnbQO by [email protected] | |
0 likes, 0 repeats | |
I (mostly) WINThe game loaded with no "bad disk" complaints. it then … | |
Post #AquTCAF59vjnm6YXYm by [email protected] | |
0 likes, 0 repeats | |
this article confirms it came on 720kb 3.5" floppies or 1.2mb 5.25" f… | |
Post #AquTJYIo6QqwQHoyx6 by [email protected] | |
0 likes, 0 repeats | |
and this warez NFO says it came on 3 720k disks. | |
Post #AquTlwDKnEEigynSls by [email protected] | |
0 likes, 0 repeats | |
this internet archive upload is technically mislabeled: it says it's the de… | |
Post #AquTxGqcPymBs6ZkSu by [email protected] | |
0 likes, 0 repeats | |
@foone looking at this, i now want a beat-em-up based on the council of Nicaea … | |
Post #AquTxH3NeWz6VgXwMC by [email protected] | |
0 likes, 0 repeats | |
@antijingoist I've said before I want a WWE-style wrestling game about Jaco… | |
Post #AquUCFQVz2tJoAVWFs by [email protected] | |
0 likes, 0 repeats | |
this site says it has some cracks for it. It'd be interesting to see how th… | |
Post #AquVXPZJZTXFIYHLns by [email protected] | |
0 likes, 0 repeats | |
the angel wants me to insert disk #1.man if I had a nickel for every time an an… | |
Post #AquWEm3jpL29VJBbPc by [email protected] | |
0 likes, 0 repeats | |
okay the disks need to look like this:DISK1: bb.exebb.icodat1dat2dat4DISK2: dat… | |
Post #AquWIav5BZvo75xXKC by [email protected] | |
0 likes, 0 repeats | |
my version isn't exactly right, I was assuming 1.44mb disks. I need to recr… | |
Post #AquWLTFo8wH3Cv1bLE by [email protected] | |
0 likes, 0 repeats | |
I also need to put the cracked version up on the internet archive to play, natch | |
Post #AquWRkFvqKVhfx4h2e by [email protected] | |
0 likes, 0 repeats | |
I'm not 100% sure that disk file listing is original, but it seems to work.… | |
Post #AquWZxtZ15eQIGX1yy by [email protected] | |
0 likes, 0 repeats | |
also I don't have a good way to get a stream image out of 86box (because it… | |
Post #AquWclZ1JwbcuwG57Q by [email protected] | |
0 likes, 0 repeats | |
@foone Yeah, well, restricting access to God's Word is a MUCH BIGGER SIN! | |
Post #AquWkQYlIVdU5gn5A8 by [email protected] | |
0 likes, 0 repeats | |
also need to:#1 figure out that FAT error. I'm in the wrong cluster or some… | |
Post #AquWz0Sec5tJUWsy9I by [email protected] | |
0 likes, 0 repeats | |
@foone can you build a tower of Babel in it? | |
Post #AquX49oJHRl3w4TGgy by [email protected] | |
0 likes, 0 repeats | |
much to do. unfortunately it's 6am. so it'll have to be done elsewhen. | |
Post #AquXYPiqgW4lyOLOdM by [email protected] | |
0 likes, 0 repeats | |
@MishaVanMollusq more importantly, can the tower of babel run doom? | |
Post #AquYqZMhfhRt2wCt7o by [email protected] | |
0 likes, 0 repeats | |
@foone ouch! | |
Post #AqueBiMDvvE4mssuIK by [email protected] | |
0 likes, 0 repeats | |
@foone probably better than a Mentat could. My Kabbalah teacher had a thing fo… | |
Post #AqupVe0KvUXaZfLwGm by [email protected] | |
0 likes, 1 repeats | |
@foone I'd be curious to see what fsck.msdos would do with it. | |
Post #Aquv0eel3H53LOrkWG by [email protected] | |
0 likes, 0 repeats | |
@foone this ordering sounds like something i’d do | |
Post #AqvCv5yONHT7VEY3yy by [email protected] | |
0 likes, 0 repeats | |
@foone function preludes only want one thing and its disgusting | |
Post #AqvDMgQAy9kGMahOhE by [email protected] | |
0 likes, 0 repeats | |
@foone this one is negotiable. | |
Post #AqvDvsuQX0RvEHdMmm by [email protected] | |
0 likes, 0 repeats | |
@foone Holy crap, Bible Builder. I repressed this game from my childhood. | |
Post #AqvQJkZGOXMRl7shRg by [email protected] | |
0 likes, 0 repeats | |
@RueNahcMohr nothing, I think. This is lower level than filesystem | |
Post #AqvooSdXVf0Q1Y3fnM by [email protected] | |
0 likes, 0 repeats | |
@foone | |
Post #AqvooSn6w4f6VEXJiK by [email protected] | |
0 likes, 0 repeats | |
@skysailor I ask myself, what would Jesus do?Give away stuff to thousands of pe… | |
Post #AqvvmfjmWvJ7ks4XNg by [email protected] | |
0 likes, 0 repeats | |
@foone and pirate many a loaf and fish. | |
Post #Aqvvmfthw1FOFeiSqu by [email protected] | |
0 likes, 0 repeats | |
@skysailor my fserve contains:* fish.fud* loaves.fudno ratio required | |
Post #AqvyRDXSTdIe4ylkZ6 by [email protected] | |
0 likes, 0 repeats | |
I'm doing a little research into copies of this game online, and so far I&#… | |
Post #AqvyXiiNTgUQVXyf2G by [email protected] | |
0 likes, 0 repeats | |
I need to build me a tool to make this sort of research more automatic. I wanna… | |
Post #AqvyaU1QYsKho9Cmy8 by [email protected] | |
0 likes, 0 repeats | |
then I just run it on EVERY GAME I CAN FIND | |
Post #AqvymGs9HGG4V3UCUi by [email protected] | |
0 likes, 0 repeats | |
why would I hack one game when I could hack EVERY GAME ?mwahahaha | |
Post #AqvytGk0AFcI7T0p3A by [email protected] | |
0 likes, 0 repeats | |
@foone shareware(z) archaeology | |
Post #AqvytGtvZLYYcFekWO by [email protected] | |
0 likes, 0 repeats | |
@rudi exactly! | |
Post #AqvyxSl3QYwiY1VKmu by [email protected] | |
0 likes, 0 repeats | |
@foone Have you tried Diffware? https://github.com/airbus-seclab/diffware | |
Post #AqvzDchqCxkM2DhutM by [email protected] | |
0 likes, 0 repeats | |
@foone look maybe if I just train AI on your social media posts it can.. no wa… | |
Post #AqvzqFv6rMQYevKpaC by [email protected] | |
0 likes, 0 repeats | |
@foone | |
Post #AqwTQamZfWNiST1OK0 by [email protected] | |
0 likes, 0 repeats | |
the game is running at 640x350 resolution, an EGA format.POP QUIZ: why did they… | |
Post #AqwTts6WLVmIZvJRtg by [email protected] | |
0 likes, 0 repeats | |
@foone it’s not even stealing, it’s copyright infringement. Two completely … | |
Post #AqwU278ILzpBVP4a6i by [email protected] | |
0 likes, 0 repeats | |
@UpLateGeek Coming Soon! the new 21st century bible from Church™ that include… | |
Post #AqwUUXftGVeBvqLI6C by [email protected] | |
0 likes, 1 repeats | |
@foone 64k segment limit? Is EGA 640x350 mode also planar like VGA? | |
Post #AqwUi6ptqaMSkQUexc by [email protected] | |
0 likes, 0 repeats | |
@jernej__s it's planar, but that's not directly why they're doing i… | |
Post #AqwUrDcdzATGOvdYEy by [email protected] | |
0 likes, 0 repeats | |
eww, this file format doesn't store the width, it stores the stride.So it&#… | |
Post #AqwagFuJkUn01m3jSy by [email protected] | |
0 likes, 0 repeats | |
it checks each DAT file it opens to see if it starts with MZ.I guess it can acc… | |
Post #AqwddKYqI3B1SEJMPI by [email protected] | |
0 likes, 0 repeats | |
SOME PROGRAMMERS NEED TO BE STOPPED alloc16((((DAT_1000_c79a + 0xfU >> … | |
Post #AqweSdM4As3GVlnZcu by [email protected] | |
0 likes, 0 repeats | |
code that indicates you're on 16-bit segmented x86 or you're about to b… | |
Post #AqwedkdFSUBgGa8WZ6 by [email protected] | |
0 likes, 0 repeats | |
a fun part of naming functions that you don't understand yet is that it mak… | |
Post #AqwehIebQFzUeUSiDg by [email protected] | |
0 likes, 0 repeats | |
COULD YOU BE MORE SPECIFIC PLZ | |
Post #AqwfRza69TXv6rcUcq by [email protected] | |
0 likes, 0 repeats | |
I found the decompression routine and I hate it. it's big and complicated a… | |
Post #AqwgtJpV4oRtgLPzV2 by [email protected] | |
0 likes, 0 repeats | |
step 1:fill a table of 256 words with 0xFFFF<dasharezone>OH SHIT IS THAT … | |
Post #AqwhCJwItPq1WZf3eS by [email protected] | |
0 likes, 0 repeats | |
calculate_some_things CHANGES DS? THE FUCK? | |
Post #AqwhKWGOxJl840yHVQ by [email protected] | |
0 likes, 0 repeats | |
segmented x86 is great, because in this code:MOV AX, [1234]CALL 0823:0000MOV AX… | |
Post #Aqwheq4b0uzBIH8e2K by [email protected] | |
0 likes, 0 repeats | |
that tells me that someone wrote this in assembly because compilers do not do t… | |
Post #AqwhthOdYXG6j8b9do by [email protected] | |
0 likes, 0 repeats | |
void allocate_36800_bytes(void)reasonable functions that imply good things abou… | |
Post #Aqwi3GFxJhfHRw65wG by [email protected] | |
0 likes, 0 repeats | |
I know programmers who use return values and parameters and they're all cow… | |
Post #AqwiD90Z7WaVribxYW by [email protected] | |
0 likes, 0 repeats | |
@foone it allocates 36,800 bytes. doesn't mean it's going to tell you w… | |
Post #AqwiGTeko78Wm0zxnU by [email protected] | |
0 likes, 0 repeats | |
this program is either doing something sneaky and clever (overwriting its own c… | |
Post #AqwiJyagFbodaDlH4i by [email protected] | |
0 likes, 0 repeats | |
@foone Sounds just like what the company my boss consults would write, everythi… | |
Post #AqwiPDVGEXadHWj2FU by [email protected] | |
0 likes, 0 repeats | |
I would say it's the result of a badly written debug macro, ie there's … | |
Post #AqwiVn92dEF7YlT3GC by [email protected] | |
0 likes, 0 repeats | |
I typo'd that as "global-heaven" which I guess is also technicall… | |
Post #AqwiYz1muK5ZHbb3RY by [email protected] | |
0 likes, 0 repeats | |
@foone looks like a reverse-engineered name :P | |
Post #AqwicIN9RPz89EAVhg by [email protected] | |
0 likes, 0 repeats | |
@wolf480pl it is! and a very accurate one that describes what it does | |
Post #AqwizArfWMwlWVLu8e by [email protected] | |
0 likes, 0 repeats | |
@foone using functions is a sign of weakness, put all code in main() | |
Post #Aqwjcj3UKpKwrDjxz6 by [email protected] | |
0 likes, 0 repeats | |
@foone thank you for the anti-pattern for my HS CS class tomorrow. | |
Post #AqwjgQ4oq3T99f7lLs by [email protected] | |
0 likes, 0 repeats | |
@trucy main? C wimps!REAL programmers put everything in _entry | |
Post #Aqwjo3zuoPBmziTXW4 by [email protected] | |
0 likes, 0 repeats | |
@foone REALEREST programmers put everything in machine code :D | |
Post #AqwkOPKixpWlagXTFI by [email protected] | |
0 likes, 0 repeats | |
@foone Ah good thing I didn't suggest "Decompression sounds like an id… | |
Post #Aqwka4Wm91lGXQjnuK by [email protected] | |
0 likes, 0 repeats | |
@foone I guess it's actually allocate_struct_foo(void) and they don't w… | |
Post #Aqwka4hPVUGh4PiIU4 by [email protected] | |
0 likes, 0 repeats | |
@ilmari this is all internal though, there shouldn't really be any ABI | |
Post #AqwkzGNZDaVaXCRVPk by [email protected] | |
0 likes, 0 repeats | |
char * strlen(void)I AM GOING TO TRY TO EXPLODE YOU WITH YOUR MIND | |
Post #Aqwl583z377sTs50QS by [email protected] | |
0 likes, 0 repeats | |
call it twice in a row! that makes even more sense! | |
Post #Aqwl88PMDwk0Q1VhZ2 by [email protected] | |
0 likes, 0 repeats | |
sometimes the length of a string takes some time to settle, so to avoid race co… | |
Post #AqwlBYg10w24l4vzxg by [email protected] | |
0 likes, 0 repeats | |
@foone As in they do rop-chaining or as in they don't? | |
Post #AqwlFAia29BHbtrD3g by [email protected] | |
0 likes, 0 repeats | |
@foone they could also achieve that with 4 chunks, one per plane. Given the mem… | |
Post #Aqwlmqgf0yIZKb19xA by [email protected] | |
0 likes, 0 repeats | |
@foone minecraft's panorama title screen calls the same function 7 times, a… | |
Post #AqwlmqqaQ4EppNf5QO by [email protected] | |
0 likes, 0 repeats | |
@SRAZKVT wow | |
Post #AqwlnSp9DrfNbvHTSS by [email protected] | |
0 likes, 0 repeats | |
@ilmari @foone If the code wasn't so old, another possibility is that the f… | |
Post #AqwlnSz4cxbe6hvOvg by [email protected] | |
0 likes, 0 repeats | |
@pndc @ilmari yeah, MSVC 5.0 (from 1988) isn't the best optimizer | |
Post #Aqwlp9DX5gy1NfUPuC by [email protected] | |
0 likes, 0 repeats | |
@[email protected] You pray for ghost functions? :neocat_flop: | |
Post #Aqwlp9OWQpl1vkdC2C by [email protected] | |
0 likes, 0 repeats | |
@usagi I pray for anything that lets me avoid having to reverse engineer self-m… | |
Post #AqwlwBLlYkcI1Sh9Gq by [email protected] | |
0 likes, 0 repeats | |
@foone Just in case | |
Post #AqwoLOXJrzdm4EFV8i by [email protected] | |
0 likes, 0 repeats | |
CLIMOV SP ,word ptr CS :[DAT_1000_c780 ]STIALRIGHT, FUCK YOU. I'M GO… | |
Post #AqwoOo8r7s2SLkQxRQ by [email protected] | |
0 likes, 0 repeats | |
changing THE STACK POINTER? in a function called multiple times in the decompre… | |
Post #AqwoXlnpBza5hWs0qu by [email protected] | |
0 likes, 0 repeats | |
@foone I love to watch you work 😍 | |
Post #Aqwpcmt8gPf0TEJQUi by [email protected] | |
0 likes, 0 repeats | |
@foone I know zero about coding, but this is exciting. | |
Post #AqwqwKAdGUFJ9KNH4S by [email protected] | |
0 likes, 0 repeats | |
@foone Ouch this brings back memories of 386 DOS/WIN TSR coding 35+- years ago.… | |
Post #AqwrCmmUeub6W7vuhE by [email protected] | |
0 likes, 0 repeats | |
@foone Huff-ing the ManTable was quite popular back when memory was even more p… | |
Post #AqwrHZbR5DDz5q2mC8 by [email protected] | |
0 likes, 0 repeats | |
@foone something something setjmp longjump | |
Post #AqwuzSPtShsJPTGJW4 by [email protected] | |
0 likes, 0 repeats | |
@foone One time I was curious: Is the New International Version of the Bible co… | |
Post #AqwwXhNkQYe5cl9M6C by [email protected] | |
0 likes, 0 repeats | |
@foone this sounds like a job for cladistics! | |
Post #Aqx3SfpvfhYcGoAxuq by [email protected] | |
0 likes, 0 repeats | |
@foone how wasteful with those sti/cli, even if they didn’t use only one inst… | |
Post #Aqx3aZIBt1ieI49wMC by [email protected] | |
0 likes, 1 repeats | |
@foone pulling arguments? | |
Post #Aqx3swNYn1mv6YQoMK by [email protected] | |
0 likes, 1 repeats | |
@foone The length of a string is 4 | |
Post #Aqx66HaPS8WwYCvo48 by [email protected] | |
0 likes, 1 repeats | |
@foone I have a directory navigating CRC generator written in perl. you point i… | |
Post #AqxmXnSVFvSRIM2GC8 by [email protected] | |
0 likes, 0 repeats | |
I had the bad idea of using 16bit protected mode to help me extract the decompr… | |
Post #AqxmftymtbYtpr08DA by [email protected] | |
0 likes, 0 repeats | |
@foone I mean, I've seen borland-compiled stuff (IIRC? been a while since I… | |
Post #Aqxmfu7eMeeQHL9D1c by [email protected] | |
0 likes, 0 repeats | |
@becomethewaifu yeah, stack probing would make sense, but this is MS C 5 from 1… | |
Post #AqxoIU1DS2pIZE67lo by [email protected] | |
0 likes, 0 repeats | |
I kinda want to yank the function out of the EXE into a separate tool and just … | |
Post #AqxoMttDCpEJxkSbKq by [email protected] | |
0 likes, 0 repeats | |
maybe I should modify the emulator to give me Fake Protection. I need to write … | |
Post #AqxoWtlWWPTOTRdDQe by [email protected] | |
0 likes, 0 repeats | |
11 years ago!?https://github.com/foone/DecompVM | |
Post #Aqxoh5SDuzYfcbSj5c by [email protected] | |
0 likes, 0 repeats | |
it supports 20 entire instructions! (assuming you count Jcc as one, if not it&#… | |
Post #AqxojhUdSfkGAzpwLA by [email protected] | |
0 likes, 0 repeats | |
also FUCK I wrote a 32bit x86 emulator! I need a 16bit emulator! | |
Post #Aqxp2q3NrGF0EDDRA0 by [email protected] | |
0 likes, 1 repeats | |
yes that's right, this isn't the first time I've gone "writing… | |
Post #Aqxp5KOzzf2EvqVsES by [email protected] | |
0 likes, 0 repeats | |
in fairness, x86 is documented. I can look up how it works. I can't do that… | |
Post #AqxpU0QJPZBWCytWhE by [email protected] | |
0 likes, 0 repeats | |
@foone are we the same person. I'm thankful to relate to somebody else in t… | |
Post #AqxpbyR6gRLYMV48WG by [email protected] | |
0 likes, 0 repeats | |
@wilkie it's entirely possible! | |
Post #AqxphvuyxVUuI0shoe by [email protected] | |
0 likes, 0 repeats | |
@foone Hardware - particularly a CPU architecture - has a barrier to entry, so … | |
Post #Aqxphw5cJy0KozrCOO by [email protected] | |
0 likes, 0 repeats | |
@cazabon it's like that quote about how reality is always weirder than fict… | |
Post #AqxplmiV6wWUuVsc2i by [email protected] | |
0 likes, 2 repeats | |
@foone Many eons ago I wrote a fax Group 4 decompressor in x86 assembler. Sever… | |
Post #AqxpzdWq4Kb6T61vcm by [email protected] | |
0 likes, 0 repeats | |
what I want is a way to iteratively isolate a function.Like I tell it "hey… | |
Post #Aqxq2WyKtzx30DGups by [email protected] | |
0 likes, 0 repeats | |
then I can go through and add those extra functions until I have a magic Just R… | |
Post #Aqxq6ByAvnhb1RwUbI by [email protected] | |
0 likes, 0 repeats | |
I would also like this to be less than the slowest thing possible, but unfortun… | |
Post #Aqxq9IOjUH1ppPqPeS by [email protected] | |
0 likes, 0 repeats | |
@StumpyTheMutt oh god group 4. had to deal with that in a previous life: the p… | |
Post #AqxqJ7dgLLqNM8WS0G by [email protected] | |
0 likes, 0 repeats | |
@foone Exactly!A few years ago @cstross had to put the third novel of a near-fu… | |
Post #AqxqJ7p1fAuxvJpVgW by [email protected] | |
0 likes, 0 repeats | |
@cazabon @cstross Halting State! That's a good series, yeah. and I agree co… | |
Post #Aqxr0BnakkEoi3h48e by [email protected] | |
0 likes, 0 repeats | |
16bit decompression is way worse than 32bit decompression, btw.there's mult… | |
Post #AqxrR1E0AuUNjXq8ga by [email protected] | |
0 likes, 0 repeats | |
okay so, see the "mov ES, [bp+06]"? That's normal code that is ge… | |
Post #AqxrjCTv3rrhrGxGSm by [email protected] | |
0 likes, 0 repeats | |
SS:BP+06 is in linear addresses, 27748hbut DS:BP+04 is 37758hthose are differen… | |
Post #Aqxs2d2cXN1DjYRyi0 by [email protected] | |
0 likes, 0 repeats | |
it IS pulling from the SS register, but I do not know why | |
Post #Aqxs6K03H621pu0ezw by [email protected] | |
0 likes, 0 repeats | |
@foone I also want this and would have found it useful yesterday. | |
Post #AqxseuEN4jPg3BCMym by [email protected] | |
0 likes, 0 repeats | |
wikipedia has a great article documenting the ModR/M format used in x86 encodin… | |
Post #Aqxsh4Ro3pmSJeVzWa by [email protected] | |
0 likes, 0 repeats | |
@foone I'm confused about the mov es, ... statement i thought you have to p… | |
Post #Aqxsh4cRQIHsqdUU6K by [email protected] | |
0 likes, 0 repeats | |
@lizzy nah, there's some special MOV variants that let you do this. | |
Post #AqxtDP4ktvg5Ym9OSW by [email protected] | |
0 likes, 0 repeats | |
I'm now reading the DOSBox source code to try and figure this out because I… | |
Post #AqxuHYZNe1uw7L1G3U by [email protected] | |
0 likes, 0 repeats | |
okay it's doing some weird effective-address calculating that means there&#… | |
Post #AqxuKjax6pEFBGGnM8 by [email protected] | |
0 likes, 0 repeats | |
I can't find the exact details but that's definitely what's happeni… | |
Post #AqxvCh2EqJaysXlJmy by [email protected] | |
0 likes, 0 repeats | |
after it makes that array of 256 0xFFFFs, it makes another array that's the… | |
Post #AqxvKk3ZUc9uZBDve4 by [email protected] | |
0 likes, 0 repeats | |
@foone its a long time since i did 16 bit x86, but iirc SP and BP use SS segmen… | |
Post #AqxvTpm1bfF4u5LsbA by [email protected] | |
0 likes, 0 repeats | |
@foone Segment selector overrides is here:https://wiki.osdev.org/X86-64_Instruc… | |
Post #AqxvufVDtyWQrqHxQm by [email protected] | |
0 likes, 0 repeats | |
the function that sneakily changes DS also changes SI.fun.this is definitely ha… | |
Post #Aqxw7nYZGirVbw77ei by [email protected] | |
0 likes, 0 repeats | |
@foone Oh the fun days of hand-written assembler. :) | |
Post #AqxwER6p7tTM1CImbw by [email protected] | |
0 likes, 0 repeats | |
@foone the output of compilersI am certain the internals of compilers don't… | |
Post #AqxwHCKYWr3v3J2fFw by [email protected] | |
0 likes, 0 repeats | |
@foone ghidra for 16-bit work is...... a challenge. it gets constantly confused… | |
Post #AqxwbIS5TlRDpU9Gz2 by [email protected] | |
0 likes, 0 repeats | |
@foone ah here, page 2-13 of https://edge.edx.org/c4x/BITSPilani/EEE231/asset/8… | |
Post #AqxwbIgGd2mSXSmb5M by [email protected] | |
0 likes, 0 repeats | |
@vfig thanks! | |
Post #AqxwekNu5DFLKTpxAm by [email protected] | |
0 likes, 0 repeats | |
@foone Wait wait wait I vaguely remember this. Hang on, I will 100% check this,… | |
Post #AqxwekYtQM2LsYyjIm by [email protected] | |
0 likes, 0 repeats | |
@foone Yes, I found a StackOverflow answer confirming my memory. Not very compe… | |
Post #AqxwekkEkB6wRkHmz2 by [email protected] | |
0 likes, 0 repeats | |
@TomF thanks! | |
Post #Aqy0UKKgUKynS3cNBw by [email protected] | |
0 likes, 0 repeats | |
@foone Cooperative multithreading? | |
Post #Aqy3Mvv39sS3ZOnGgy by [email protected] | |
0 likes, 0 repeats | |
@foone the *nostalgia* | |
Post #Aqy63INMFtUfHxMVl2 by [email protected] | |
0 likes, 0 repeats | |
@galibert god I WISH I could find a game written by people as mentally twisted … | |
Post #Aqy7J4H2YNaW8jUYN6 by [email protected] | |
0 likes, 0 repeats | |
@foone well, you put the file reading and the actual decompression in different… | |
Post #Aqy8LQ3scNqiFM1NoG by [email protected] | |
0 likes, 0 repeats | |
@galibert but the disk IO api is all synchronous! by technical necessity, reall… | |
Post #AqyAwi6ogI1UqIIvjc by [email protected] | |
0 likes, 0 repeats | |
this is a totally normal thing to think in 2025, guys. | |
Post #AqyBytfoktGzF6HZDM by [email protected] | |
0 likes, 0 repeats | |
@foone that's why it would not be entirely sane in the first place... It m… | |
Post #AqyC26NbyBx5WGIKxs by [email protected] | |
0 likes, 0 repeats | |
trying to script the DOSBox-X debugger by making a keyboard probably counts as … | |
Post #AqyCLyTZ4AkMnUYUHw by [email protected] | |
0 likes, 1 repeats | |
@foone TSR!It's an old code, but it still checks out. | |
Post #AqyCptSeH9DrvpORto by [email protected] | |
0 likes, 0 repeats | |
"what if I just smuggled in filenames using floating registers?"VERY … | |
Post #AqyDbxWEUYkmPtzODI by [email protected] | |
0 likes, 0 repeats | |
anyone know off the top of their heads how many characters you can reliably sto… | |
Post #AqyDpCN4aCFaFF1AQ4 by [email protected] | |
0 likes, 0 repeats | |
@foone Too many (or too few, depending on your perspective). | |
Post #AqyDvqI1510bmrowjo by [email protected] | |
0 likes, 0 repeats | |
@foone Don't the MMX instructions use the floating point registers? | |
Post #AqyEKI0jfFxyiHOYHA by [email protected] | |
0 likes, 0 repeats | |
@foone we're talking about 80-bit registers, right? | |
Post #AqyEN8AkhSYT4JR2K8 by [email protected] | |
0 likes, 0 repeats | |
sadly I'm giving up on the floating point idea. I'm just gonna rewrite … | |
Post #AqyEQcNeqLDnct8OQa by [email protected] | |
0 likes, 0 repeats | |
@foone 80 bits iirc. So trivially 10, more if you go funky. | |
Post #AqyFFRMtXvseF00mCu by [email protected] | |
0 likes, 0 repeats | |
@foone It's easy to store 77 arbitrary bits in extended precision and have … | |
Post #AqyI13UDqDqLytGrpY by [email protected] | |
0 likes, 0 repeats | |
I ran into a minor problem because I had to rewrite some code, as I'd writt… | |
Post #AqyK58zfVWOu803bpg by [email protected] | |
0 likes, 0 repeats | |
setting the ORG wrong in your x86 assembly really fucks it up. It was calculati… | |
Post #AqyKV5yvKQqQJd5EYa by [email protected] | |
0 likes, 1 repeats | |
@foone I learned C because of floating point. "but it does the floating po… | |
Post #AqyL1abX0ePWYadVLc by [email protected] | |
0 likes, 0 repeats | |
fopen("w","1234568.ext")WHY ISN'T IT WORKING?, I say, w… | |
Post #AqyL5Qrj9ymVVk2ndQ by [email protected] | |
0 likes, 0 repeats | |
@foone switch those parameters maybe? | |
Post #AqyLx7GcF884MfHfTE by [email protected] | |
0 likes, 0 repeats | |
@foone Ye olde needle-haystack quagmire. | |
Post #AqyMsYQfvX3l74NU2a by [email protected] | |
0 likes, 0 repeats | |
I miss the days when I could write:fwrite(ptr, size, 1, fp); and not worry abou… | |
Post #AqyN3JKiOVbzTjidqy by [email protected] | |
0 likes, 0 repeats | |
ugh why am I even using fwrite. it's a pain when I'm writing assembly. … | |
Post #AqyOI401mpmKDhdop6 by [email protected] | |
0 likes, 0 repeats | |
normal thoughts for a python programmer:"THIS C SHIT IS TOO HIGH LEVEL!&qu… | |
Post #AqyOaNzGDC9jQI1FLM by [email protected] | |
0 likes, 0 repeats | |
I can't tell if I'm 5 bytes off when writing out this file. That's … | |
Post #AqyOhyGthnWtz5sy5Q by [email protected] | |
0 likes, 0 repeats | |
fuck it I'm overdumping every chunk by 5 bytes and I'll figure if I nee… | |
Post #AqyQbg3Qiv6JehiGJM by [email protected] | |
0 likes, 0 repeats | |
@foone you forgot the 7 | |
Post #AqyQbgCIByBq6BrL7o by [email protected] | |
0 likes, 0 repeats | |
@lizzy the what? | |
Post #AqyQgf2juV9Py2lZdQ by [email protected] | |
0 likes, 0 repeats | |
YES! I extracted and decompressed every chunk in DAT1! | |
Post #AqyQpkOrMaMzBgRgmG by [email protected] | |
0 likes, 0 repeats | |
so I hacked the game like this:I wrote a little assembly program that basically… | |
Post #AqyQv18sXkssYoU2lc by [email protected] | |
0 likes, 0 repeats | |
then I compile that and I wrote a tiny python script to inject it into the EXE … | |
Post #AqyR0e19Qv4YZuYIfw by [email protected] | |
0 likes, 0 repeats | |
but since I didn't want to deal with writing code to parse the size and fil… | |
Post #AqyR4BgWiPILreaw4W by [email protected] | |
0 likes, 0 repeats | |
(that's why the filenames are a full 8.3 characters, so I can overwrite the… | |
Post #AqyRAWmTC6Yx1tOjOi by [email protected] | |
0 likes, 0 repeats | |
it worked successfully so of course as soon as I try it on DAT2, it starts hang… | |
Post #AqyRAWwkZsmnXmCwQC by [email protected] | |
0 likes, 0 repeats | |
TO THE DEBUGGER, BATMAN! | |
Post #AqyRJYnZ3uBFtSDVqq by [email protected] | |
0 likes, 0 repeats | |
@foone 6 is followed by 8. in the filename | |
Post #AqyRJYxqRgP6PL1isK by [email protected] | |
0 likes, 0 repeats | |
@lizzy oh right. I missed that. hah | |
Post #AqyRtoYNxhlFBMP8IC by [email protected] | |
0 likes, 0 repeats | |
ahh, I forgot the implicit state.I'm injecting into the game when it first … | |
Post #AqyRwoSokhpDlxEJRA by [email protected] | |
0 likes, 0 repeats | |
hopefully I can just patch it to load DAT2 instead. That might break if it need… | |
Post #AqyS4jikGrJFNXSSvo by [email protected] | |
0 likes, 0 repeats | |
... they put BIB100.MUS in DAT1 and DAT2.MOTHERFUCKER | |
Post #AqyS7quS02LkXjQ2TI by [email protected] | |
0 likes, 0 repeats | |
I can't just extract them all to the same folder, because there's dupli… | |
Post #AqySU7FlujNPbU0YIS by [email protected] | |
0 likes, 0 repeats | |
I should do this to Carmen when I get back to that project. Then instead of und… | |
Post #AqyT58x2Z2dVaGu0rg by [email protected] | |
0 likes, 0 repeats | |
@foone sorta like a mantisa and an exponent 🙂 | |
Post #AqyTEcXVvPb3xNTviC by [email protected] | |
0 likes, 0 repeats | |
yep, changing it to DAT2 breaks it. I can't swap DAT2 into the place of DAT… | |
Post #AqyTIIgxeycxYheh5k by [email protected] | |
0 likes, 0 repeats | |
my code starts right AFTER the chunk is loaded. I'd have to move it. MOTHER… | |
Post #AqyTLgmCZRb77liqPo by [email protected] | |
0 likes, 0 repeats | |
ALRIGHT HERE'S WHAT WE'RE DOING. WE'RE DOING IT LIVE.loadChunk is g… | |
Post #AqyUDdsvXNW9nHawng by [email protected] | |
0 likes, 0 repeats | |
IT WORKS! I have DAT2 now! lets see how it breaks when we try DAT3... | |
Post #AqyUiOTgs1R8zFSDiq by [email protected] | |
0 likes, 0 repeats | |
all dats extracted. I need to write some code to convert the ART files, but the… | |
Post #AqyW704Wqc4OUGyx2u by [email protected] | |
0 likes, 0 repeats | |
whoops, I got my lefts and rights backwards. silly little-endian formats. | |
Post #AqyWJWuSaGhBo3FNj6 by [email protected] | |
0 likes, 0 repeats | |
there are two ART formats: TITLEA.ART is the first one, and TITLEB.ART is the s… | |
Post #AqyXJkusbhO5CZ7C0O by [email protected] | |
0 likes, 0 repeats | |
WHERE'S YOUR HEAD? | |
Post #AqyXN0jsEgbn8vWFtY by [email protected] | |
0 likes, 0 repeats | |
@foone [basement jaxx intensifies] | |
Post #AqyXRo1suuUJAnEKhc by [email protected] | |
0 likes, 1 repeats | |
@foone hmmmm he lost his head… | |
Post #AqyXtl5LSNyS9NB4CG by [email protected] | |
0 likes, 0 repeats | |
I think what's happening is that there's some animation supported in th… | |
Post #AqyYaPR3pGMZSNfk7k by [email protected] | |
0 likes, 0 repeats | |
I fixed the scrolling problem, but the palettes are still deeply fuckt. | |
Post #AqyYdYGrQr4NjDOqnY by [email protected] | |
0 likes, 0 repeats | |
@foone I wouldn't call this deeply fuckt, more like deeply rad | |
Post #AqyYibknuU05yiogQS by [email protected] | |
0 likes, 0 repeats | |
@foone This looks like the best rave party ever with a big ass DJ counter | |
Post #AqyYkFKQG5VL0RG3Sy by [email protected] | |
0 likes, 0 repeats | |
@foone or are they | |
Post #AqyZZhfedpvjg3j3RY by [email protected] | |
0 likes, 0 repeats | |
@foone tbh this goes so hard though | |
Post #AqyZsh497BsFIrEjWi by [email protected] | |
0 likes, 0 repeats | |
@foone they're the same picture? | |
Post #AqyaoEIKFBfIrmIvLs by [email protected] | |
0 likes, 0 repeats | |
okay I think I've got all the non-animated images extracting properly. othe… | |
Post #AqyatT08zZENvVIUdM by [email protected] | |
0 likes, 0 repeats | |
sadly this includes SODOMA.ART and SODOMB.ART, which render completely inaccura… | |
Post #AqybHHkyS1hi0AYjY0 by [email protected] | |
0 likes, 0 repeats | |
@th would you happen to be colorblind? :) | |
Post #Aqyc9Otq6rHHnDVgem by [email protected] | |
0 likes, 0 repeats | |
@MorningSong that is literally how it renders SODOM. it takes both files and ov… | |
Post #AqygyDu79MuuHB80mG by [email protected] | |
0 likes, 0 repeats | |
@foone It's giving me a What We Do in the Shadows vibe | |
Post #Aqylr3id7U6KQm9xdg by [email protected] | |
0 likes, 0 repeats | |
@foone the Mescaline play variant | |
Post #AqyrertxpUBs1x20Qq by [email protected] | |
0 likes, 0 repeats | |
@foone From some angles, you could say that a TSR is an inversion or reverse of… | |
Post #AqysxCVk2jRD7F0UiG by [email protected] | |
0 likes, 0 repeats | |
@foone May I insert some really old news? DOS already parses the command line f… | |
Post #AqzT0BoMhIbsAGRURM by [email protected] | |
0 likes, 0 repeats | |
@Computeum sadly my COM is getting injected into an EXE, so I do have to worry … | |
Post #AqzexiqScYpJCM0q8W by [email protected] | |
0 likes, 0 repeats | |
@foone It can be buggy as well.. DNS *whistles innocently* | |
Post #AqzjcPqgYNHLyImFzU by [email protected] | |
0 likes, 0 repeats | |
@foone True,but args are stored after the FCB prototypes. When DOS starts a pro… | |
Post #Ar06EUBZ4l4pPx6NAO by [email protected] | |
0 likes, 0 repeats | |
@foone now that's a name I haven't heard in a long time.In a loong time. | |
Post #Ar087kdxgdUyLIIhl2 by [email protected] | |
0 likes, 0 repeats | |
I did some looking into the file format. It's tricky because it doesn't… | |
Post #Ar08BZupVyoSEF11SC by [email protected] | |
0 likes, 0 repeats | |
it's definitely multi-image, rather than simply animated. For example, the … | |
Post #Ar08yA7kCEowQWDrkm by [email protected] | |
0 likes, 1 repeats | |
time for some late-night reading | |
Post #Ar09DNjbsGQKz2BvCC by [email protected] | |
0 likes, 0 repeats | |
@foone Z80 assembler! | |
Post #Ar0cOzGVZe2rErSuXo by [email protected] | |
0 likes, 0 repeats | |
@foone narrator: and read it at https://archive.org/details/writingtsrsthrou000… | |
Post #Ar0r9UE8BqhHwZQ78K by [email protected] | |
0 likes, 0 repeats | |
no, angel, I will never give you up | |
Post #Ar0rnzhMbD4Z8NPPoO by [email protected] | |
0 likes, 0 repeats | |
@foone is this a copy protection screen? It sounds like heresy. | |
Post #Ar0sILsmgQSYcnE6ts by [email protected] | |
0 likes, 0 repeats | |
@retrovg nah, this uses on-disk copy protection.although now I'm amused by … | |
Post #Ar0uQWRrU3FXcQepBg by [email protected] | |
0 likes, 0 repeats | |
@foone You're never gonna let him down? | |
Post #Ar0uQWcqpC2YAVnbJg by [email protected] | |
0 likes, 0 repeats | |
@Uglesett never! | |
Post #Ar0yyr9hOwszVFmzgG by [email protected] | |
0 likes, 0 repeats | |
@foone @retrovg I get locked from the game for using the NRSV instead of "… | |
Post #Ar11Ca2s0s9EOpGc2y by [email protected] | |
0 likes, 0 repeats | |
@sapphicselene @retrovg This game is actually quite liberal on which translatio… | |
Post #Ar11GSBLBtWlAb4lZQ by [email protected] | |
0 likes, 0 repeats | |
@Mondobizarrro he might, especially if you live in Sodom | |
Post #Ar12cOgoxIpmfDpO8O by [email protected] | |
0 likes, 0 repeats | |
what is the theological use in teaching children to identify hellenistic-era se… | |
Post #Ar13Fhc8Wq6sePNYfo by [email protected] | |
0 likes, 0 repeats | |
@foone What is this from?Theologically, it could be something like "giving… | |
Post #Ar13FhmPucKjAIBlhI by [email protected] | |
0 likes, 0 repeats | |
@riley Bible Builder, 1992 bible trivia game for DOS | |
Post #Ar13JE5QFn4GEMl1aS by [email protected] | |
0 likes, 0 repeats | |
@foone i love the lil guy on the candle | |
Post #Ar13MeG3PBXSGjMVai by [email protected] | |
0 likes, 0 repeats | |
@riley but yeah, I'm intimately familiar with homeschooling textbooks, I wa… | |
Post #Ar13Qf3EOkEVt4HHfs by [email protected] | |
0 likes, 0 repeats | |
@nil I know, right? I can't wait to extract all their animations. | |
Post #Ar13eLM0Qd7MqraFfc by [email protected] | |
0 likes, 0 repeats | |
PROTESTANT SPOTTED (different religious traditions number the 10 commandments d… | |
Post #Ar14J4YNnSKScRnI1I by [email protected] | |
0 likes, 0 repeats | |
@foone It's so dishonest to name a game "Bible Builder" if you ca… | |
Post #Ar14J4jN8b7TAWw49I by [email protected] | |
0 likes, 0 repeats | |
@riley fortunately I'm a hacker so I CAN | |
Post #Ar153yyUMB5svWNCRU by [email protected] | |
0 likes, 0 repeats | |
@fooneThat depends on what kind of protestantism though. The one predominant in… | |
Post #Ar16RbupqBgcJaUkK0 by [email protected] | |
0 likes, 0 repeats | |
@phooky @foone https://www.tumblr.com/orcboxer/750588377359941632/woke-up-this-… | |
Post #Ar16Rc7x3QB6yGdDlY by [email protected] | |
0 likes, 0 repeats | |
@nev @phooky 90% sure I've reblogged that before, but it's good enough … | |
Post #Ar16egi7KCOYwzmXaq by [email protected] | |
0 likes, 0 repeats | |
@foone Funnily, Lutherans also use the catholic numbering | |
Post #Ar19gJOVHjpb4t4daS by [email protected] | |
0 likes, 0 repeats | |
@cinebox the holiest day of the year | |
Post #Ar1RLUbiCMyywqTShE by [email protected] | |
0 likes, 0 repeats | |
@foone okay I am pretty good at useless “I was raised in a Christian fundamen… | |
Post #Ar1SpMRjCnSaHLbuwC by [email protected] | |
0 likes, 0 repeats | |
oh hello there spooky mario 64 creepypasta, what are YOU doing here in this EGA… | |
Post #Ar4jlnhYD7QCLVmNea by [email protected] | |
0 likes, 0 repeats | |
okay I'm back to trying to do the floppy hack correctly (so, on a DD disk) … | |
Post #Ar4k3c1wLHhzMRoFhw by [email protected] | |
0 likes, 0 repeats | |
track 44, side B, sector 3 | |
Post #Ar4k6I9ogadwawlt20 by [email protected] | |
0 likes, 0 repeats | |
@foone *sound of needle dropping on vinyl* | |
Post #Ar4lC01T7gLO2j9Uqe by [email protected] | |
0 likes, 0 repeats | |
@sif yeah! I think it's actually a partial EGA update: I think this game tr… | |
Post #Ar4lFjkTZUbMjCzCZU by [email protected] | |
0 likes, 0 repeats | |
nope fucked up again | |
Post #Ar4lPqk8Q9shJieHaa by [email protected] | |
0 likes, 0 repeats | |
mov CX, 1300h ; TRACK 44HEY FOONE, IS 44 IN HEX "13"? | |
Post #Ar4lavPfOmiCzBM8Z6 by [email protected] | |
0 likes, 0 repeats | |
@foone I initially misread this as side 3 and I just shook my head, snorted, an… | |
Post #Ar4lavZwmYw3V4ALaa by [email protected] | |
0 likes, 0 repeats | |
@apicultor I do have a four-sided laserdisc player! It's sadly broken. | |
Post #Ar4lpr3LtJ4jo82OLQ by [email protected] | |
0 likes, 0 repeats | |
BTW "BAD" is technically incorrect. Those sectors are not bad, in the… | |
Post #Ar4lzFcZut4Ebuzk3M by [email protected] | |
0 likes, 0 repeats | |
I'd love to show you what the low-level track looks like but I can't lo… | |
Post #Ar4mOYeyGiFmthBJ7A by [email protected] | |
0 likes, 0 repeats | |
FAILED AGAIN.somehow sectors 321h, 323h, and 329h are bad. the fuck? | |
Post #Ar4mhXDhqUnTvyTeWe by [email protected] | |
0 likes, 0 repeats | |
"Note: This function does not set the INT 1E vector to point at the return… | |
Post #Ar4nA6JcxGpYtBrt8C by [email protected] | |
0 likes, 0 repeats | |
so the notes for int 13h/AH=05h say to call int13h/AH=17h first, to set up int … | |
Post #Ar4nUirVLlIKELXzMm by [email protected] | |
0 likes, 0 repeats | |
fortunately DOS has a simple syscall I can use to set the vector. And surely th… | |
Post #Ar4nYQCKgV1TVG3M7k by [email protected] | |
0 likes, 0 repeats | |
NOPE! int13h, AH=18 returns it in ES:DI and int 21h,AH=25h takes it in DS:DI | |
Post #Ar4nkdlG59kx2nDRA0 by [email protected] | |
0 likes, 0 repeats | |
@foone No. Probably so you don't clobber the new vector I guessing. | |
Post #Ar4qMV0pG5pWp2g48G by [email protected] | |
0 likes, 0 repeats | |
okay I think the problem may be slightly weirder: norton disk edit told me the … | |
Post #Ar4qw8ZcABCtecwXXk by [email protected] | |
0 likes, 0 repeats | |
@foone Do you know about the 'media descriptor codes' that early DOS us… | |
Post #Ar4qw8jXZH9A9PaT0y by [email protected] | |
0 likes, 0 repeats | |
@riley yup! it's not using that, I checked. | |
Post #Ar4qw8sl10WGbztpNg by [email protected] | |
0 likes, 0 repeats | |
@riley the disk I'm talking about is a fresh disk image I created. | |
Post #Ar4r9CDHwQdUhwj9CS by [email protected] | |
0 likes, 0 repeats | |
the one annoying thing about doing this in an accurate emulator is that it'… | |
Post #Ar4s79f8YQUMAhLN9k by [email protected] | |
0 likes, 0 repeats | |
@foone it’s doing the best it’s allowed to! Have you forgotten from whence … | |
Post #Ar4sz3JONkqw72sCFU by [email protected] | |
0 likes, 0 repeats | |
so my current format seems to work, but it leads to the whole track being bad, … | |
Post #Ar4t3oQLA8h7O1OPXE by [email protected] | |
0 likes, 0 repeats | |
I think that means I'm formatting the right track, but with the wrong secto… | |
Post #Ar4t70v1ACsj0VGhqC by [email protected] | |
0 likes, 0 repeats | |
BOY IT WOULD BE NICE IF I COULD OPEN THIS IN A FLUX VISUALIZER | |
Post #Ar4tDtwtTX69PyQjY0 by [email protected] | |
0 likes, 0 repeats | |
save me foxflux:https://dbalsom.github.io/fluxfox/index.htmlHEY WHO STOLE MY WH… | |
Post #Ar4tzJGLB3xLXN8GOW by [email protected] | |
0 likes, 0 repeats | |
FUCK! I clobbered ES! my code assumed ES never got modified, but when I had to … | |
Post #Ar4u2oCcbEv2Mg3rE0 by [email protected] | |
0 likes, 0 repeats | |
I'm trying to format the disk with some RANDOM MEMORY as the sector numbers… | |
Post #Ar4uCKyC8nXab4rBI0 by [email protected] | |
0 likes, 0 repeats | |
I'm amazed I didn't notice that in the debugger!OH WAIT I DON'T HAV… | |
Post #Ar4uk6zKdAfV4zUemW by [email protected] | |
0 likes, 0 repeats | |
There we go.Track 39, side B, and the sector numbers go 1,2,3,255,5,6,7,8,9. No… | |
Post #Ar4v8A8mYt9bo4Nl0y by [email protected] | |
0 likes, 0 repeats | |
@foone What software are you using for this? I don't think I've seen th… | |
Post #Ar4vHPppa13V5VvjAO by [email protected] | |
0 likes, 0 repeats | |
@philpem FluxFox!https://github.com/dbalsom/fluxfoxI'm using the web interf… | |
Post #Ar4vNbUV9k9yyYu7EW by [email protected] | |
0 likes, 0 repeats | |
And tested in DOS. It passes the copy protection! | |
Post #Ar4vocXFNic0284SYq by [email protected] | |
0 likes, 0 repeats | |
okay, so I've patched out the copy protection, easy.I've created the ha… | |
Post #Ar4vsET4nyNAY3qI9w by [email protected] | |
0 likes, 0 repeats | |
It naturally encrypts the file. But it does it badly, so I can probably bypass … | |
Post #Ar4vviwdwuMnwJKxEW by [email protected] | |
0 likes, 0 repeats | |
this explains why all the copies online are incorrectly cracked: They zipped up… | |
Post #Ar4w6O2rzf6OJ2KlCy by [email protected] | |
0 likes, 0 repeats | |
@foone OH DAAAAMN. This is wicked cool. | |
Post #Ar4wVPKuKa6jY7hZ9k by [email protected] | |
0 likes, 0 repeats | |
@foone @philpem Glad you've found it useful! Let me know if you have any q… | |
Post #Ar4wVPUTkzlQ1oBD4i by [email protected] | |
0 likes, 0 repeats | |
@gloriouscow @philpem oh hi! Thanks, it's been very handy, as it's the … | |
Post #Ar4wZsmomI1Q2ttGcK by [email protected] | |
0 likes, 0 repeats | |
if you install this game and then update your BIOS it will fail copy protection… | |
Post #Ar4wrabn6Lc6sfAxs0 by [email protected] | |
0 likes, 0 repeats | |
add more ram? another floppy drive? failed | |
Post #Ar4x5HNHPTT1HVurce by [email protected] | |
0 likes, 0 repeats | |
@foone @philpem If you prefer to use HxC, I would be rude not to mention that 8… | |
Post #Ar4x5HWUrCq7k6EDzM by [email protected] | |
0 likes, 0 repeats | |
@gloriouscow @philpem oh, cool. | |
Post #Ar4x8n0SGAk0FquiJM by [email protected] | |
0 likes, 0 repeats | |
I'm surprised this game didn't come with a dongle | |
Post #Ar4xMGNMNOCn6h3IRM by [email protected] | |
0 likes, 0 repeats | |
this game might seriously have some anti-cracking features that I just narrowly… | |
Post #Ar4xhGC2FalwcbldYG by [email protected] | |
0 likes, 0 repeats | |
nah, it's not an anti-crack routine, it's just more PC-fingerprinting.n… | |
Post #Ar4yKka7CWaoABrQx6 by [email protected] | |
0 likes, 0 repeats | |
@foone What title is this? I'd love to see an image. I like investigating v… | |
Post #Ar4yKkmWSOW8mffLI8 by [email protected] | |
0 likes, 0 repeats | |
@gloriouscow Bible Builder. Scroll way up and I'll talk about how it works.… | |
Post #Ar4yOgDXMvVrmpAqdU by [email protected] | |
0 likes, 0 repeats | |
DAT4 is 760 bytes, and how many are actually used?15. It only actually looks at… | |
Post #Ar4yh3adD1lBUHjsGW by [email protected] | |
0 likes, 0 repeats | |
@foone Doing hardware fingerprinting is a bit unusual for the era!Time to put u… | |
Post #Ar4yh3jqel8Hws3EdE by [email protected] | |
0 likes, 0 repeats | |
@gloriouscow I've got one set as well, and I've got a copy of the CD ve… | |
Post #Ar4yzjeDZsgz8kK5cu by [email protected] | |
0 likes, 0 repeats | |
@foone is the rest of the file random uninitialised buffer contents, in time-ho… | |
Post #Ar4zAbcPlnjFQKfAOG by [email protected] | |
0 likes, 0 repeats | |
@nabijaczleweli YUP! | |
Post #Ar4zF8vbrr33tEnxp2 by [email protected] | |
0 likes, 0 repeats | |
okay now I have a fake DAT4 that works.next step, make a utility to make my own… | |
Post #Ar4zIrlJdH4PoClVLc by [email protected] | |
0 likes, 0 repeats | |
then I don't have to touch the EXE to crack it: I just write out the correc… | |
Post #Ar4zTQQjamnSE3Aohk by [email protected] | |
0 likes, 0 repeats | |
step1: grab the 11 bytes starting at FFFF:0005, and XOR them with 57h. Write ou… | |
Post #Ar4zc1iYqGkuBgc4zQ by [email protected] | |
0 likes, 0 repeats | |
the step 3 is FUN_1000_c43a, a function that does a lot of weird math on some l… | |
Post #Ar50Uvxpw3ZWGnwLOS by [email protected] | |
0 likes, 0 repeats | |
hah! one of the things that changes the signature is if single step is set. So … | |
Post #Ar51DQ6jDxRKV3JO9w by [email protected] | |
0 likes, 0 repeats | |
yeah this thing is trying to fingerprint what processor you have in the age bef… | |
Post #Ar52Q7CsuL1VbCoCCO by [email protected] | |
0 likes, 0 repeats | |
okay it returns a value in AH, AL.AL will be 00 for 8086/80186AL will be 02 for… | |
Post #Ar52TOW30dyG9QKrke by [email protected] | |
0 likes, 0 repeats | |
so, for example, a 486DX will be a 0404, a 386 with no FPU will be 0003 | |
Post #Ar52qXFKiSFjt8YHQW by [email protected] | |
0 likes, 0 repeats | |
@foone Is it bad / showing my age that I remember the use of those registers an… | |
Post #Ar563keCVBtP4uB2R6 by [email protected] | |
0 likes, 0 repeats | |
they definitely got this code from elsewhere, because it's partially pointl… | |
Post #Ar56NYRZaJRp1LiIF6 by [email protected] | |
0 likes, 0 repeats | |
@foone stackoverflow programming like its 1992 | |
Post #Ar57bTYkdn0TsgGzQW by [email protected] | |
0 likes, 0 repeats | |
I think I found the source.It's based on official Intel code:INTEL RECOMMEN… | |
Post #Ar57tzwsxOQvXyOTQW by [email protected] | |
0 likes, 0 repeats | |
Found it through this code by R. Collins for Dr. Dobb’s Journal, who fixed it… | |
Post #Ar58QQD0rFdmG3Ojce by [email protected] | |
0 likes, 0 repeats | |
"The infinity of the coprocessor must be checked to determine the correct … | |
Post #Ar58qg6wMC716f4sBE by [email protected] | |
0 likes, 0 repeats | |
@foone depends on what Friend @Computer thinks. | |
Post #Ar59hE3jNpOLSAdJVA by [email protected] | |
0 likes, 0 repeats | |
@foone you're a sorceress! In command of ancient relics and lore forgotten … | |
Post #Ar5B2MgEcqbkE6Hq4W by [email protected] | |
0 likes, 0 repeats | |
@foone Dr Dobbs ! | |
Post #Ar5DVqUv2lnT0gBAaO by [email protected] | |
0 likes, 0 repeats | |
this code can handle the situation where you have a 386 but with a 80287 FPU in… | |
Post #Ar5Fb1MgGd0y4OvBAm by [email protected] | |
0 likes, 0 repeats | |
@foone feature detection ftw! | |
Post #Ar5I3Y2Sa11XQHC47E by [email protected] | |
0 likes, 0 repeats | |
@foone What is even happening in that picture?? | |
Post #Ar5IF0trc9by7Vdjvc by [email protected] | |
0 likes, 0 repeats | |
@foone Worst copy protection ever. | |
Post #Ar5JnXAmEOjE0pZk4u by [email protected] | |
0 likes, 0 repeats | |
OKAY buildsig is working. I just need to write up some docs. I might leave that… | |
Post #Ar5KUbpslo4mvVLGq0 by [email protected] | |
0 likes, 0 repeats | |
And done. For the first time in the nearly TWELVE YEARS this game has been uplo… | |
Post #Ar5S3iacLofDggtGYS by [email protected] | |
0 likes, 0 repeats | |
@foone Was that a thing in reality? | |
Post #Ar5SWYambFC74yie36 by [email protected] | |
0 likes, 0 repeats | |
@foone they decided to go active on enforcing that whole "thou shalt not s… | |
Post #Ar8P7RjRFiqQAryxUW by [email protected] | |
0 likes, 0 repeats | |
ok, the CD version came in.The game calls itself Version 1.02! (The earlier flo… | |
Post #Ar8PAlApQPYrLBNE92 by [email protected] | |
0 likes, 0 repeats | |
the only other change I've noticed is that they slightly rearranged the cre… | |
Post #Ar8PTyukYsxvSV1DZg by [email protected] | |
0 likes, 0 repeats | |
they may also have tweaked some command line argument parsing? I'm not sure… | |
Post #ArC3J5IF5GZXhKFHEm by [email protected] | |
0 likes, 0 repeats | |
I tested my funky-format on a real system now! It worked fine. You can see it h… | |
Post #ArC3U5R0tkoxK1auau by [email protected] | |
0 likes, 0 repeats | |
I used a nine-track formatting with one clearly-wrong sector instead of just te… | |
Post #ArC41LjPKQjrQC3iXg by [email protected] | |
0 likes, 0 repeats | |
@foone Put a secret message in your special sector | |
Post #ArC41LvSbcNc1ZhLKS by [email protected] | |
0 likes, 0 repeats | |
@gloriouscow good idea! I'm not exactly sure HOW though. DOS can't find… | |
Post #ArC4FVepDilWGEfSIS by [email protected] | |
0 likes, 0 repeats | |
@foone normally i'd never suggest something so insane, but you're foone… | |
Post #ArC4FVtiKMfv0PdLVI by [email protected] | |
0 likes, 0 repeats | |
@gloriouscow good point, I can just bypass DOS and program the controller myself | |
Post #ArC7h433lP7wbTplFA by [email protected] | |
0 likes, 0 repeats | |
I emailed the developer to see if he can answer some questions about how/why it… | |
Post #ArE0Ark7fWNloEazHk by [email protected] | |
0 likes, 0 repeats | |
@foone So all your reverse engineering was for naught? Aw :( | |
Post #ArZjE8yad08ANoSSmG by [email protected] | |
0 likes, 0 repeats | |
@fooneFLDPIFLD0FDIVFDUPFNEGFCMPI still have that code in my head. Since 1988, I… | |
Post #AtVx1VNkvZxLiZfcwq by [email protected] | |
0 likes, 0 repeats | |
@ppxl@foone |