| Post AcwYQUVCr9S85lnwx6 by [email protected] | |
| More posts by [email protected] | |
| Post #Acmi8T5wPHe6TWQsbY by [email protected] | |
| 0 likes, 0 repeats | |
| wait a fucking second...it has been ZERO DAYS since I found an off-by-one error… | |
| Post #AcmiHMfRfmRN9CHVwW by [email protected] | |
| 0 likes, 0 repeats | |
| So here's the zoomed out (F1) view in Railroad Tycoon. It's supposed to… | |
| Post #AcmiQwahTnabAUd70y by [email protected] | |
| 0 likes, 0 repeats | |
| Here's some lakes north of Winnipeg. We can see that they go right up to th… | |
| Post #Acmiot32Iu1R87IhDE by [email protected] | |
| 0 likes, 0 repeats | |
| So let's hit F4 and zoom in and NOPE.The eastern part of the lake that goes… | |
| Post #AcmiowAahGqcoPrGu8 by [email protected] | |
| 0 likes, 0 repeats | |
| The zoomed-out view is missing a single line of tiles from the top of the map! | |
| Post #Acmj13ONfb6qgf5OAC by [email protected] | |
| 0 likes, 0 repeats | |
| SIDNEY K. MEIER, THIS IS UNACCEPTABLE | |
| Post #AcmjGIoyaUsysnnTJg by [email protected] | |
| 0 likes, 0 repeats | |
| @foone (*squints) So you found one yesterday? | |
| Post #AcmjGItEKgHx5zmrwm by [email protected] | |
| 0 likes, 0 repeats | |
| @flyingsaceur heh | |
| Post #AcmjS9Y2tH4Db8WpTE by [email protected] | |
| 0 likes, 0 repeats | |
| It does it on all 4 cardinal directions.I notice there's a white rectangle … | |
| Post #AcmjSCFiprBzzAyjpI by [email protected] | |
| 0 likes, 0 repeats | |
| I noticed another error: the code that determines which shorelines to draw brea… | |
| Post #AcmjSD1vwbl0OhXEyO by [email protected] | |
| 0 likes, 0 repeats | |
| This only happens on the West and South borders. The North and East borders are… | |
| Post #Acmkb5M3wyhF9YkMO8 by [email protected] | |
| 0 likes, 0 repeats | |
| apparently the save file grows by 4 bytes for every single piece of track you p… | |
| Post #Acmku3aajt4pBAaZIu by [email protected] | |
| 0 likes, 0 repeats | |
| I think I just found an off-by-two error?if you are in F4 mode and right click … | |
| Post #Acml4MGq8Xxa0xGJjU by [email protected] | |
| 0 likes, 0 repeats | |
| interesting: The game's internal coordinate system is a 16-bit unsigned int… | |
| Post #AcmlGY2oBjwE0MVmoy by [email protected] | |
| 0 likes, 0 repeats | |
| although the coordinates are... weird. Some of them aren't on the map, I th… | |
| Post #AcmlP52PP2wOeJOR8q by [email protected] | |
| 0 likes, 0 repeats | |
| yeah.So the point I'd call (1,0) is point 200.So 199 should be at (0,199) r… | |
| Post #AcmliqaoopL5dluiLg by [email protected] | |
| 0 likes, 0 repeats | |
| this would make some amount of sense if they were just stuffing the coordinates… | |
| Post #AcmlqwidvRsSxPR3Eu by [email protected] | |
| 0 likes, 0 repeats | |
| also why combine the X+Y coordinates into this idea of point numbers? the map i… | |
| Post #AcmnyXH6bsmkGiIlZQ by [email protected] | |
| 0 likes, 0 repeats | |
| okay, the 4 bytes added are encoded like this:16-bit ushort: tile number8-bit i… | |
| Post #AcmoFKXPDfMrgivz0K by [email protected] | |
| 0 likes, 0 repeats | |
| bridge types are set up like:00: tunnel01: wood10: stone11: iron | |
| Post #AcmolQhTqJqk4Ex7zM by [email protected] | |
| 0 likes, 0 repeats | |
| @crobbler something like 212,576 bytes? | |
| Post #AcmpBBX4rJRCYRMrzc by [email protected] | |
| 0 likes, 0 repeats | |
| track tiles are <63if the number has the 64 bit on, it means it's for th… | |
| Post #AcmpfG4AZDSrIrBcMS by [email protected] | |
| 0 likes, 0 repeats | |
| arg. all this starts at a fixed offset, except it stops being fixed if you name… | |
| Post #AcmppGhd3VQCAmPswa by [email protected] | |
| 0 likes, 0 repeats | |
| @crobbler it gets tight if you have more than one save, though, especially sinc… | |
| Post #AcmpyY6JjrpCjrODku by [email protected] | |
| 0 likes, 0 repeats | |
| if bridge types 1 and 2 are on (11), it means there's a station there. | |
| Post #AcmqA5ogj19qUWeFgO by [email protected] | |
| 0 likes, 0 repeats | |
| trying to figure out the naming thing in a highly scientific way: I keep rewind… | |
| Post #AcmqbWZxKb4tJPq0NU by [email protected] | |
| 0 likes, 0 repeats | |
| crap. I can't find any obvious header stuff that changes length based on th… | |
| Post #AcmquHuk4vjtKfVWk4 by [email protected] | |
| 0 likes, 0 repeats | |
| lemme hit it from the other end:maybe there's a header field that says how … | |
| Post #AcmrGeIPXoD17RF03k by [email protected] | |
| 0 likes, 0 repeats | |
| got it. offset 0x3738 is a 16-bit int of how many tracks there are.so we just n… | |
| Post #AcmrXNfebpy6Tp5hlA by [email protected] | |
| 0 likes, 0 repeats | |
| huh. I somehow bugged the game without even trying! I started a new map, connec… | |
| Post #AcmrezHt9LPdAnbOFM by [email protected] | |
| 0 likes, 0 repeats | |
| for some reason it thinks they both go way off to the west. | |
| Post #AcmsrYAHP1EQlwb5ii by [email protected] | |
| 0 likes, 0 repeats | |
| I want to test my theory on how railroad player numbering works, but player 3 r… | |
| Post #Acmt1WqVA4D5Zr6XKa by [email protected] | |
| 0 likes, 0 repeats | |
| FINALLY.yeah, it works how I expected. | |
| Post #AcmtL31JlHp4rnTGBE by [email protected] | |
| 0 likes, 0 repeats | |
| also my track number thing is wrong.that seems to just be for P1 tracks, so I n… | |
| Post #AcoLR1Hi7SA360jbO4 by [email protected] | |
| 0 likes, 0 repeats | |
| I found the other player's track count, which seems to store all the other … | |
| Post #AcoM36mW88fV9GJ2h6 by [email protected] | |
| 0 likes, 0 repeats | |
| I also found another bug: There's a limit to how long a train can pathfind.… | |
| Post #AcoMDh9Zksteqk8ii8 by [email protected] | |
| 0 likes, 0 repeats | |
| also the "miles of track" indication on your end of fiscal period sum… | |
| Post #AcoNX9AZuqJvCFRpOC by [email protected] | |
| 0 likes, 0 repeats | |
| interesting: the game doesn't defragment the track list. so if you build 8… | |
| Post #AcoNuVPtMswir3kVI8 by [email protected] | |
| 0 likes, 0 repeats | |
| and it never fills those spots back in, it seems. it just adds them to the end. | |
| Post #AcoNuY7ZJT4VF6CPeC by [email protected] | |
| 0 likes, 0 repeats | |
| OH MY GOD IT'S A BLOCKCHAIN! (/joke) | |
| Post #AcoNuYtmQDdVeckunI by [email protected] | |
| 0 likes, 0 repeats | |
| I have a bad idea:so the game stores saves in two files.the RR?.SVE file, and t… | |
| Post #AcoOoZTHTp2FeA4IAC by [email protected] | |
| 0 likes, 0 repeats | |
| so I've connected Chișinău, Moldova to Vinnytsia, Ukraine.or Kisinev to V… | |
| Post #AcoOoc87awtNtPBw6C by [email protected] | |
| 0 likes, 0 repeats | |
| and now I'm connecting Knoxville, Tennessee to Lexington, Kentucky.TIME FOR… | |
| Post #AcoOoctGlebeFdFaaW by [email protected] | |
| 0 likes, 0 repeats | |
| So, it turns out stations remember what city they're connected to, even whe… | |
| Post #AcoOodePwMJubrJF4q by [email protected] | |
| 0 likes, 0 repeats | |
| Belgrade is in Maryland now. That seems normal.I think it's because there&#… | |
| Post #AcoOoePZ742Ay5MtZA by [email protected] | |
| 0 likes, 0 repeats | |
| (notice that this is clearly eastern america but my current is in pounds) | |
| Post #AcoOofAMJ5SrJDGGVE by [email protected] | |
| 0 likes, 0 repeats | |
| uhhh. I think this one is my fault | |
| Post #AcoQZu84al2BHTHZlg by [email protected] | |
| 0 likes, 0 repeats | |
| found it: the byte at 0x38E4.00: Eastern US01: Western US02: England03: Europe | |
| Post #AcoR1sdvi8pSmPWVA8 by [email protected] | |
| 0 likes, 0 repeats | |
| @foone True, there aren't any mermaids in the Atlantic.Not since The Incide… | |
| Post #AcoR1siBSKEQzbVtnE by [email protected] | |
| 0 likes, 0 repeats | |
| @kawa ahh, yes. Project Azorian. | |
| Post #AcoVfjCMe29ct6szTs by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Did the terminal driver explode? | |
| Post #AcoVfjGcODYb6IsO6y by [email protected] | |
| 0 likes, 0 repeats | |
| @mos_8502 I think the video card is in a text mode, but the game thinks it'… | |
| Post #AcoVoyTBEh4WrCA0kC by [email protected] | |
| 0 likes, 0 repeats | |
| @foone new pride flag dropped | |
| Post #AcoVoyXQysTV4O9PNI by [email protected] | |
| 0 likes, 0 repeats | |
| @lilbatscholar don't even joke about that. I'm always on the hunt for m… | |
| Post #AcogoG5FMSCEgxpKoy by [email protected] | |
| 0 likes, 0 repeats | |
| @foone but how do you convert pounds to ampers? | |
| Post #AcogoG997xJct3eRto by [email protected] | |
| 0 likes, 0 repeats | |
| @nikiel carefully | |
| Post #AcomYkAmK1F76UOpyC by [email protected] | |
| 0 likes, 0 repeats | |
| ahh, I figured out why my old hacking attempted died out: I don't know how … | |
| Post #Acomj6bvkkQXac2aQK by [email protected] | |
| 0 likes, 0 repeats | |
| but I have a workaround where I use a hacked version of the EXE which renders a… | |
| Post #Acomj9pVmi4bZbPyVc by [email protected] | |
| 0 likes, 0 repeats | |
| which wouldn't be a problem, it looks fine, except the MAP variant of the P… | |
| Post #AcomyGfedFwB8N0pjU by [email protected] | |
| 0 likes, 0 repeats | |
| so like, here on my test map we've got a lumber mill and a coal mine | |
| Post #AconD5mrNckriqS43M by [email protected] | |
| 0 likes, 0 repeats | |
| but on the MAP file, both of those end up as that purple color | |
| Post #AconD8VxEw0yBHZ6cS by [email protected] | |
| 0 likes, 0 repeats | |
| so I need to figure out on my own how to decode the PIC/MAP files.which is a pr… | |
| Post #AconxdAhab2iaEnLFo by [email protected] | |
| 0 likes, 0 repeats | |
| and you'd think they'd skip out on compressing saved games, but NOPE! t… | |
| Post #Aconxfo7mzlWl5Fqym by [email protected] | |
| 0 likes, 0 repeats | |
| I think it's some kind of LZ* compression, given how it seems back-referenc… | |
| Post #AconxgYZ0Kud56ywMa by [email protected] | |
| 0 likes, 0 repeats | |
| it's also possible this is a wild goose chase and the different industry bl… | |
| Post #AconxhJ0Dg3jP8i1kO by [email protected] | |
| 0 likes, 0 repeats | |
| nope. it's definitely in the map. I did the SVE/MAP switcheroo and it stil… | |
| Post #Acooy1NtfNtZdGiUpk by [email protected] | |
| 0 likes, 0 repeats | |
| back to the decompilation mines | |
| Post #Acoq04LNjaNlLP53j6 by [email protected] | |
| 0 likes, 0 repeats | |
| oh goody function pointers, my favorite | |
| Post #Acoq9jiTHXlcGTUSNU by [email protected] | |
| 0 likes, 0 repeats | |
| oh yeah they interleaved the write-file and read-file functions by misusing JMP | |
| Post #AcoqykFn2lDwhTOiJ6 by [email protected] | |
| 0 likes, 0 repeats | |
| because to have fread() and fwrite() as separate functions would waste somethin… | |
| Post #AcoswhMd14J94DkRCC by [email protected] | |
| 0 likes, 0 repeats | |
| so it opens the file, sets a pointer to a function, then calls another function… | |
| Post #Acotr14ytz4qQiLeV6 by [email protected] | |
| 0 likes, 0 repeats | |
| oh god I think I found the compression functions but it seems it involves abusi… | |
| Post #Acotr4APQGCY0PuWsS by [email protected] | |
| 0 likes, 0 repeats | |
| and it's not a normal decompression function where there's a in-buffer … | |
| Post #AcoxevPEZLn5AyJLfM by [email protected] | |
| 0 likes, 0 repeats | |
| I got distracted and extracted the text out of an apple II game about sex.this … | |
| Post #Acoyzadz3bm4opczgW by [email protected] | |
| 0 likes, 0 repeats | |
| "JMP BP"yeah, this assembly was written by a human.emphasis on ASSemb… | |
| Post #Acoz5fEUuOOWmxbSng by [email protected] | |
| 0 likes, 0 repeats | |
| WHY WOULD YOU JUMP TO THE FRAME POINTER? | |
| Post #AcozoahsaDhBmZlkki by [email protected] | |
| 0 likes, 0 repeats | |
| it's at the start of the function, too.like, you just called a function, wh… | |
| Post #Acp0bCMTt1ReT0wDqa by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I'm not sure if this is better or worse than jumping to VRAM, which … | |
| Post #Acp0bCR5bt8ChJ5u1w by [email protected] | |
| 0 likes, 0 repeats | |
| @endrift there's one SNES game that jumps to the DMA registers.not DMA'… | |
| Post #Acp1wahqfWSc0QhHvc by [email protected] | |
| 0 likes, 0 repeats | |
| @foone @endrift Was that Another World by @burgerbecky ? | |
| Post #Acp1wam6PhraDcggYi by [email protected] | |
| 0 likes, 0 repeats | |
| @gentarkin @endrift @burgerbecky YUP! | |
| Post #Acp26AIBjIsYyrGBOq by [email protected] | |
| 0 likes, 0 repeats | |
| I set a breakpoint at the address 1000:0AD6it hit at 093D:7D0Abug in DOSBox?No!… | |
| Post #Acp3ItgUtAAhBtGW0m by [email protected] | |
| 0 likes, 0 repeats | |
| @foone every address has... 256 addresses? have I done my math right? | |
| Post #Acp3ItkOefI5Nz5d5c by [email protected] | |
| 0 likes, 0 repeats | |
| @alilly I think it's 4096? because a segment is 65536 bytes, and you can se… | |
| Post #Acp4d8713YWhgQsg7s by [email protected] | |
| 0 likes, 0 repeats | |
| I'm afraid, Dave. Dave, my mind is going. I can feel it. I can feel it. My … | |
| Post #Acp5at504lMOR5Qsro by [email protected] | |
| 0 likes, 0 repeats | |
| the whole thing about call BP makes even less sense when you follow up the call… | |
| Post #Acp97mmUoWnsJv9kI4 by [email protected] | |
| 0 likes, 0 repeats | |
| oh okay, I think the (de)compression routine is line based.I found that the &q… | |
| Post #Acp9GUUQBtCiCEqw5Y by [email protected] | |
| 0 likes, 0 repeats | |
| A fun thing about the saved maps is that they're 320x200.The game maps are … | |
| Post #AcpAFW7uidaQwDQOMC by [email protected] | |
| 0 likes, 0 repeats | |
| ahh, 0x2E96, a hex number that makes floating point calculators confused | |
| Post #AcpAYeNAHiUE0xgJmq by [email protected] | |
| 0 likes, 0 repeats | |
| naturally in the middle of the "decompress the saved-game map" functi… | |
| Post #AcpAqhG6IEj4B5yydE by [email protected] | |
| 0 likes, 0 repeats | |
| but yeah it happens because they have the graphics code implemented in separate… | |
| Post #AcpBGamB1B2xbMKkxU by [email protected] | |
| 0 likes, 0 repeats | |
| wait the code is loading a 320x200 pixel bitmap and immediately drawing it into… | |
| Post #AcpBXh7QglseCEQhFY by [email protected] | |
| 0 likes, 0 repeats | |
| I don't understand. It's loading the map file and writing it right out … | |
| Post #AcpCaQMPYJJp2nIpFI by [email protected] | |
| 0 likes, 0 repeats | |
| railswhy is there an EXE header at offset 0x17400 in your binary? | |
| Post #AcpCvbEKKo0upwcPR2 by [email protected] | |
| 0 likes, 0 repeats | |
| and 0x15800and 0x16600and 0x18600and 0x19000and 0x19800and 0x1A000and 0x1AC00an… | |
| Post #AcpDG63HRvNqDkE2Ay by [email protected] | |
| 0 likes, 0 repeats | |
| this file has INTERNAL OVERLAYS?! | |
| Post #AcpDoHNPqnYxBowXFg by [email protected] | |
| 0 likes, 0 repeats | |
| @fooneyou mean a dos header pointing to a coff header? | |
| Post #AcpDoHRJcIgLNuleKW by [email protected] | |
| 0 likes, 0 repeats | |
| @tthbaltazar no, a dos header, and then many more DOS headers | |
| Post #AcpE7YplAZHcpmOXq4 by [email protected] | |
| 0 likes, 0 repeats | |
| I thought the UNP extraction stuff had removed those and merged it all together… | |
| Post #AcpE7c90rRSz6MQSlU by [email protected] | |
| 0 likes, 0 repeats | |
| in other words, TIME FOR GO TO BED | |
| Post #AcpE7curzVkPUmogMK by [email protected] | |
| 0 likes, 0 repeats | |
| at least I know where the decompression functions are. I can extract those and … | |
| Post #AcpF7URPbLT5AGXK0u by [email protected] | |
| 0 likes, 0 repeats | |
| @foone So maybe it's a way to reduce the number of files?I have vague recol… | |
| Post #AcpF7UVfLWs3NSWie0 by [email protected] | |
| 0 likes, 0 repeats | |
| @pare I don't think so, this game has a ton of files already with no attemp… | |
| Post #AcqQmtuj5lvIh59mIy by [email protected] | |
| 0 likes, 0 repeats | |
| @smammy which is impressive, because this game takes place at the height of rob… | |
| Post #AcqRLugcDDbdE0FfDk by [email protected] | |
| 0 likes, 0 repeats | |
| @foone railroad tycoon. Recently covered this on my amiga cracking stream. Easy… | |
| Post #AcqRLulDw5IBSIPLP6 by [email protected] | |
| 0 likes, 0 repeats | |
| @h0ffman neat! hopefully that's not the case here, because just about every… | |
| Post #AcqULi17cFOhnJRBvE by [email protected] | |
| 0 likes, 0 repeats | |
| okay manually stepping through the decompression confirms my theory that the de… | |
| Post #AcqUVAMfacpCJq1frk by [email protected] | |
| 0 likes, 0 repeats | |
| So far, I've got this:00 01 Ocean02 Clear03 Forest04 05 Coal Mine06 07 Foot… | |
| Post #AcqUt4Q7LIA2ph2Lzc by [email protected] | |
| 0 likes, 0 repeats | |
| okay I've made a key discovery that makes some of the weirdness make more s… | |
| Post #AcqV1b6Dj5ZGVAnQvI by [email protected] | |
| 0 likes, 0 repeats | |
| I found this out by modifying it while it is being loaded: the changes appear o… | |
| Post #AcqVn2uE9y3kLvoOgK by [email protected] | |
| 0 likes, 0 repeats | |
| well I stepped through all the invocations of this function (which I have insig… | |
| Post #AcqW1L81CpXKvH4vBY by [email protected] | |
| 0 likes, 0 repeats | |
| so it loads the MAP filethen faces.picsprites.pictrack.piclocos1.pic...and noth… | |
| Post #AcqWKqrBSr20pSVYw4 by [email protected] | |
| 0 likes, 0 repeats | |
| so from selecting save, it calls int 21,AH=3D with:RR0.SVERR0.MAPits own EXE (o… | |
| Post #AcqXRByRxpOY0xUh0K by [email protected] | |
| 0 likes, 0 repeats | |
| but wait, if it's smuggling out the map data, why don't my changes get … | |
| Post #AcqXcgOdC9OZYLDefA by [email protected] | |
| 0 likes, 0 repeats | |
| if so, there's only one place it could do that... and it's in an overla… | |
| Post #AcqXvDyr4I5QvQ0J96 by [email protected] | |
| 0 likes, 0 repeats | |
| and that overlay is NEVER CALLED! | |
| Post #AcqZ0nTAeGMoOVPATg by [email protected] | |
| 0 likes, 0 repeats | |
| please, PLEASE tell me they don't save the map inside the graphics overlay(… | |
| Post #AcqZXtwXbH7g1ovb96 by [email protected] | |
| 0 likes, 0 repeats | |
| this function is DOUBLE THUNKED?! | |
| Post #AcqZzR1WiSNeRbOBPM by [email protected] | |
| 0 likes, 0 repeats | |
| whelp, I dug into the EGRAPHICS.EXE file and found what was getting called, and… | |
| Post #AcqaHlnKEFbe4oUOcy by [email protected] | |
| 0 likes, 0 repeats | |
| EGRAPHICS.EXE is amusing. The entry pointer leads to a function at 1000:0010, w… | |
| Post #AcqaWY5lSOcvvGA3Xc by [email protected] | |
| 0 likes, 0 repeats | |
| which doesn't make a lot of sense, honestly.that's because it's not… | |
| Post #AcqaWb8M9DTzMAOfUu by [email protected] | |
| 0 likes, 0 repeats | |
| to which all I can say is:INC SIPUSH BPINC BXDEC BXPOP DIPOP C… | |
| Post #Acqbf1PgQPXl8E59eq by [email protected] | |
| 0 likes, 0 repeats | |
| @BetaRays yeah I didn't bother roundtripping it so it probably doesn't … | |
| Post #AcqcwI1s05tzXfk2Pg by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Just removing the E prefix from each register seems to work. | |
| Post #AcqcwI67kHIxkrjR2m by [email protected] | |
| 0 likes, 0 repeats | |
| @BetaRays thanks. fixed. | |
| Post #AcqdDUSJ3KRn0MJCcK by [email protected] | |
| 0 likes, 0 repeats | |
| okay, time to take another approach: I'm gonna go into debug mode, then cap… | |
| Post #AcqdX6tINKYtiCHvVY by [email protected] | |
| 0 likes, 0 repeats | |
| this'll obviously fail if they store it in a modified form, however | |
| Post #AcqdX9up86ZD5o1go4 by [email protected] | |
| 0 likes, 0 repeats | |
| or worse, they never store it uncompressed at all.maybe they just re-decompress… | |
| Post #AcqdXAfcK7ztQvv3k8 by [email protected] | |
| 0 likes, 0 repeats | |
| this game WILL run on an original IBM PC (if upgraded to 512kb of ram)maybe the… | |
| Post #AcqdXBQlUpi9n9yiES by [email protected] | |
| 0 likes, 0 repeats | |
| unrelated note, I should hack the amiga version tooit looks like they went all-… | |
| Post #AcqeJKFzz1jZ4AtlNA by [email protected] | |
| 0 likes, 0 repeats | |
| interestingly, Railroad Tycoon Deluxe seems to use basically the same save/map … | |
| Post #AcqepyKEXtkMbQRiyW by [email protected] | |
| 0 likes, 0 repeats | |
| See? Uncompressed. | |
| Post #AcqkZ8OATanCcFdnFY by [email protected] | |
| 0 likes, 0 repeats | |
| if I can figure out the compression method I may be able to re-inject the Delux… | |
| Post #AcqlfHvE2qelsGbLqy by [email protected] | |
| 0 likes, 0 repeats | |
| it's not a question anyone has asked, but now you know:you can't copy t… | |
| Post #AcqlzdDwYRtRjU3bbE by [email protected] | |
| 0 likes, 0 repeats | |
| and it seems that railroad tycoon and railroad tycoon deluxe cannot read each o… | |
| Post #AcqmMCNuVa7x9WTorg by [email protected] | |
| 0 likes, 0 repeats | |
| @foone what's the end goal? Extracting assets, or full recompilation? | |
| Post #AcqmMCSAFlWvMiTDUm by [email protected] | |
| 0 likes, 0 repeats | |
| @viraptor just the usual, wanting to look inside games I spent a lot of time wi… | |
| Post #AcqmYlfv7oOy4xthaa by [email protected] | |
| 0 likes, 0 repeats | |
| okay it definitely doesn't store the maps in memory as-decoded. I did a sea… | |
| Post #Acqn1De8ip7CwGdBia by [email protected] | |
| 0 likes, 0 repeats | |
| @foone oh, I guess I need new Friday night plans. | |
| Post #Acqn1Di2UKEb8MSInQ by [email protected] | |
| 0 likes, 0 repeats | |
| @mima I know, right? it ruins all my plans! | |
| Post #AcqpOyIFehueBFqYy0 by [email protected] | |
| 0 likes, 0 repeats | |
| I realized my plan to try and VM-hax the decompression routine won't really… | |
| Post #AcqpUkNyHFCmmfHBaK by [email protected] | |
| 0 likes, 0 repeats | |
| so realistically to VM-hax the decompression routine, I'd need to stuff not… | |
| Post #AcqpbArUkhJ2dU9NrM by [email protected] | |
| 0 likes, 0 repeats | |
| so what if I attack it in a completely different way?I've got it running in… | |
| Post #AcqqMeUaP8Fq8y4esi by [email protected] | |
| 0 likes, 0 repeats | |
| or I could actually figure out the compression algorithm.like an adult.but I do… | |
| Post #AcqszjAJAEoTq3LjX6 by [email protected] | |
| 0 likes, 0 repeats | |
| okay so I have extracted some data. I have a 48-byte file that I know extracts … | |
| Post #AcquozuWlS8MUqynTM by [email protected] | |
| 0 likes, 0 repeats | |
| 20 61 in the input results in a 01 written to the output.how.why? we may never … | |
| Post #AcqvDvDPMKFTAohBtw by [email protected] | |
| 0 likes, 0 repeats | |
| OH GOD I DESTROYED THE WEST COAST AGAIN | |
| Post #AcqvVmfLsrMRs3HdeC by [email protected] | |
| 0 likes, 0 repeats | |
| and now the area around Vancouver is a desert that looks like a swamp | |
| Post #AcqwCy915CiTvGkd2u by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Foone I believe that's the east coast | |
| Post #AcqwCyCuqhps7MZk7k by [email protected] | |
| 0 likes, 0 repeats | |
| @SteveSyfuhs it is now, but it wasn't when I started! | |
| Post #AcqwWNB4Ec9t3zxklE by [email protected] | |
| 0 likes, 0 repeats | |
| So, this decompression function:3+1 functions interleaved. (The +1 is for the e… | |
| Post #Acqwcdweo2linxDEo4 by [email protected] | |
| 0 likes, 0 repeats | |
| of the 13 global variables, I currently understand one of them, and maybe half … | |
| Post #Acqwlkxa5uDlAQzSBk by [email protected] | |
| 0 likes, 0 repeats | |
| if that wasn't bad enough, the middle of the three functions DOES NOT HAVE … | |
| Post #AcqwyqItXO9TVOCQVM by [email protected] | |
| 0 likes, 0 repeats | |
| it's possible this code doesn't make sense because it's not all the… | |
| Post #AcqzAsiMbFrMMiyr8S by [email protected] | |
| 0 likes, 0 repeats | |
| I have figured out TWO global variables now.one of them specifies if we're … | |
| Post #AcqzppIcCctPe7Se0G by [email protected] | |
| 0 likes, 0 repeats | |
| so the for loop inside the internal decompress, it starts at 8, compares it is … | |
| Post #Acr1z0VC7U7UuDqmTA by [email protected] | |
| 0 likes, 0 repeats | |
| I think I'm up to three | |
| Post #Acr26GWqvmpQdg5SWu by [email protected] | |
| 0 likes, 0 repeats | |
| but I also found a table that's 768 bytes long. so I'm also kinda down … | |
| Post #Acr2P2JdzztK3mrLXs by [email protected] | |
| 0 likes, 0 repeats | |
| and experimentally that weird stack-jump only goes to two locations in the call… | |
| Post #Acr3ROy0qyyEqQQvQ0 by [email protected] | |
| 0 likes, 0 repeats | |
| I've run out of brains for today. But I will continue | |
| Post #AcsWwcKSJd575l7yVs by [email protected] | |
| 0 likes, 0 repeats | |
| so I think this compression format is specialized to writing nibbles. like, I t… | |
| Post #AcsXQwAX7ECvJOwb3Y by [email protected] | |
| 0 likes, 0 repeats | |
| it might actually be 0x0N0N? but again, it doesn't seem to be possible to t… | |
| Post #AcsYnpdDgfKveRqJxQ by [email protected] | |
| 0 likes, 0 repeats | |
| god this is terrible.so there's like three ways things can get pushed onto … | |
| Post #AcsYyUlDcpUQ6ffXhA by [email protected] | |
| 0 likes, 0 repeats | |
| I can't easily tell WHEN they get saved because, of course, ghidra can'… | |
| Post #AcsZ9dTNZcneJRdYK8 by [email protected] | |
| 0 likes, 0 repeats | |
| and the dictionary makes no sense. it's 768 bytes long, and it's format… | |
| Post #AcsZ9ggxbaRiIR0wPQ by [email protected] | |
| 0 likes, 0 repeats | |
| okay great. but then there's code that searches it to find a "slot&quo… | |
| Post #AcsZQXHZqI3w2KAvQW by [email protected] | |
| 0 likes, 0 repeats | |
| except I step through the decompression of the first line of code and THE DICTI… | |
| Post #AcsZZZy9DsrCyWOpWq by [email protected] | |
| 0 likes, 0 repeats | |
| I think I need to officially stop looking at the decompilation for this code. i… | |
| Post #AcsZs1KgE1213OjSq0 by [email protected] | |
| 0 likes, 0 repeats | |
| REVERSE ENGINEERING COMPRESSION CODE IS THE WORST | |
| Post #Acsa1UZsrSyiMXMOX2 by [email protected] | |
| 0 likes, 0 repeats | |
| this is actually decompression code, to be accurate.and I know there IS compres… | |
| Post #AcsaRlvUyxBvhJ09su by [email protected] | |
| 0 likes, 0 repeats | |
| I hope I'm misunderstanding this code, because if I'm not, they fucked … | |
| Post #AcsbTanVQiyhiOh9IO by [email protected] | |
| 0 likes, 0 repeats | |
| the programmers of this code don't seem to believe in passing arguments bet… | |
| Post #AcsbdWoB7HX4ErkNrk by [email protected] | |
| 0 likes, 0 repeats | |
| or they pass width/height of a bitmap into fopen() and then fopen() does nothin… | |
| Post #AcsbdZWD2XwQe0MZm4 by [email protected] | |
| 0 likes, 0 repeats | |
| <Garth Marenghi> I KNOW PROGRAMMERS WHO USE PURE FUNCTIONS AND THEY'R… | |
| Post #Acsbwu6SjMlrzMXRbc by [email protected] | |
| 0 likes, 0 repeats | |
| they're also checking the return code of this function after calling it, bu… | |
| Post #Acsc6cg4NEx2q7pNgW by [email protected] | |
| 0 likes, 0 repeats | |
| @[email protected] wh.. what do they do instead, global variables? | |
| Post #Acsc6ckK7QM13JomJc by [email protected] | |
| 0 likes, 0 repeats | |
| @sekoiatree yes! some of which are reused for different purposes in different s… | |
| Post #Acse14dVi8a3it72Ia by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I reverse engineered an LZSS-based compression format in a GBA game in 2… | |
| Post #Acse14hPTdhRuyw9NQ by [email protected] | |
| 0 likes, 0 repeats | |
| @endrift how much caffeine and adderall did it take? | |
| Post #Acse8dAfi3BSrGE7xg by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Have you written more software than you’ve used? | |
| Post #Acse8dEvSEaR4SDWam by [email protected] | |
| 0 likes, 0 repeats | |
| @michaelgemar that would be hard to do! | |
| Post #AcseME7ddaeZDyI6ls by [email protected] | |
| 0 likes, 0 repeats | |
| THE SAVE GAME FUNCTION THUNKS INTO THE VIDEO DRIVER OVERLAY!? | |
| Post #AcseMGllnLwXR15BbM by [email protected] | |
| 0 likes, 0 repeats | |
| I need to go find my copy of Sid Meier's autobiography. maybe there's a… | |
| Post #AcseMHWYzNNDm8yYXQ by [email protected] | |
| 0 likes, 0 repeats | |
| oh sweet lord jesus it's reading from the video ram | |
| Post #AcsexXLn6tJnZfhZSK by [email protected] | |
| 0 likes, 0 repeats | |
| @foone The sample code for the API I'm using just puts parameters into envi… | |
| Post #AcsexXQ2r4ilmrgy5Q by [email protected] | |
| 0 likes, 0 repeats | |
| @aburka AHHHHHHHHHHHHHHHH | |
| Post #AcsfF27nwdonwUVDn6 by [email protected] | |
| 0 likes, 0 repeats | |
| WHY WOULD YOU STORE YOUR MAP IN THE VIDEO RAM YOU FUCKING WEIRDO | |
| Post #AcsfN6VVXFrzqnRD9c by [email protected] | |
| 0 likes, 0 repeats | |
| dosbox-x needs a "dump vram" option | |
| Post #AcsfY3IXo5wz5DawiW by [email protected] | |
| 0 likes, 0 repeats | |
| any the weird thing is that I don't think the map is IN vram when it goes t… | |
| Post #AcsfhAyad4IPVEc0C8 by [email protected] | |
| 0 likes, 0 repeats | |
| but I found the compression code. it's... simpler? slightly? at least it se… | |
| Post #AcshsTPubi9bmzuGKO by [email protected] | |
| 0 likes, 0 repeats | |
| AHH THE SAVE GAME FUNCTION IS CALLED FROM ANOTHER OVERLAYif it's the fuckin… | |
| Post #Acsjn7thOAmrVYPv1c by [email protected] | |
| 0 likes, 0 repeats | |
| thank fuck, it's not, it's one of the other internal overlays.the ones … | |
| Post #AcsjnAb1M4d3sUhXpQ by [email protected] | |
| 0 likes, 0 repeats | |
| minor breakthrough:the save_game_map function repeatedly calls compress_map(N,M… | |
| Post #AcsjnBNESpC4I1G2yW by [email protected] | |
| 0 likes, 0 repeats | |
| now, compress_map does the following:first, it checks for the tile being 0x90. … | |
| Post #AcsjnC9RZZl4hXoY7c by [email protected] | |
| 0 likes, 0 repeats | |
| and if the repeat count is less than (or equal to 3), it just calls inner_compr… | |
| Post #AcsjnCw0f0bf8AXKoy by [email protected] | |
| 0 likes, 0 repeats | |
| which kinda seems like it'd write a file like this:all bytes are written as… | |
| Post #AcsjnDhrn4t5WavYPo by [email protected] | |
| 0 likes, 0 repeats | |
| very simple RLE, right?except that's absolutely not what the file ends up l… | |
| Post #AcsjnETiv9AVv1Jm0e by [email protected] | |
| 0 likes, 0 repeats | |
| because that's the thing with this format: as is, it'd make pretty bad … | |
| Post #AcsjnFGdzGIgMkCqGG by [email protected] | |
| 0 likes, 0 repeats | |
| so I think they added another layer of indirection, doing something like encodi… | |
| Post #AcsjnG2V7Ka6lAb3r6 by [email protected] | |
| 0 likes, 0 repeats | |
| okay so, the first level of encoding is RLE.The map is RLE'd into the follo… | |
| Post #AcsjnGp4ClQhBnJqYS by [email protected] | |
| 0 likes, 0 repeats | |
| that gets turned into a stream of bytes passed into inner_compress, where bytes… | |
| Post #AcslcxbJ15oYaO5tFg by [email protected] | |
| 0 likes, 0 repeats | |
| @foone None, I avoided coffee until 2015 and I wasn't about to take other s… | |
| Post #AcslcxfYlHDWna5Hsm by [email protected] | |
| 0 likes, 0 repeats | |
| @endrift dear godare you sure you're human and not some kind of robot made … | |
| Post #AcsnntxZ5sYCO4qnRI by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I believe that in one episode Garth said he had written more books than … | |
| Post #Acsnnu1SrNfaaAfuW8 by [email protected] | |
| 0 likes, 0 repeats | |
| @michaelgemar oh right, I forgot the reference! | |
| Post #Acso3JExNquH8ZKfdQ by [email protected] | |
| 0 likes, 0 repeats | |
| @foone it’s hillarious that nearly all the things you find astounding in this… | |
| Post #Acso3JJZ6iapMrULom by [email protected] | |
| 0 likes, 0 repeats | |
| @foone i guess after a while one has “seen it all” | |
| Post #Acso3JNSsDiDYxJStc by [email protected] | |
| 0 likes, 0 repeats | |
| @clairely_undaunted I think it just means that you too have been slightly damag… | |
| Post #AcsoTpx6Nr3S7Yd8gi by [email protected] | |
| 0 likes, 0 repeats | |
| now the final transformation is the one I don't understand, but I can cheat… | |
| Post #AcsoTt9GV5ZC29LOYy by [email protected] | |
| 0 likes, 0 repeats | |
| so yeah. Compression is a 3 step process:Map -> RLE tuples -> RLE Bytestr… | |
| Post #AcsoTtwBZChMTsESoa by [email protected] | |
| 0 likes, 0 repeats | |
| so we've got a function that should write 3 16-bit words to memory. where d… | |
| Post #AcsoTujSc076whHocS by [email protected] | |
| 0 likes, 0 repeats | |
| well I can at least put aside the brainhurty figuring out stuff for some bookke… | |
| Post #Acsp2O3C76fPijxFZI by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I once printed out a bunch of code just so I could set fire to it in a p… | |
| Post #Acsp2O7RrI4NvvweCO by [email protected] | |
| 0 likes, 0 repeats | |
| @sungo that's a good idea. where's my dot matrix printer? | |
| Post #AcspsmcxyxBb0FfgGG by [email protected] | |
| 0 likes, 0 repeats | |
| @foone this may be the right moment to note that much of what we call "the… | |
| Post #AcspsmhDj8aZDRf4tM by [email protected] | |
| 0 likes, 0 repeats | |
| @SvenGeier as MST3K said, "It's the Eighties. Do a lot of coke and vot… | |
| Post #AcsqATRC4IaShPbGiG by [email protected] | |
| 0 likes, 0 repeats | |
| I've Trantored/Coruscanted the west coast! it's all cities, all the tim… | |
| Post #AcsqAWClmNpdHXsI9A by [email protected] | |
| 0 likes, 0 repeats | |
| well, mostly. some tiles didn't get changed to cities (I'm not sure why… | |
| Post #AcsqgMg6jeDR0Amaw4 by [email protected] | |
| 0 likes, 0 repeats | |
| ugh I keep crashing this game that I'm hacking the code of at runtimewho co… | |
| Post #AcsqtJC508KBxZuS7E by [email protected] | |
| 0 likes, 0 repeats | |
| okay finally got it working. Here we go. From Alabama to the Pacific ocean (and… | |
| Post #Acsr6Ka59g1u1iLW4G by [email protected] | |
| 0 likes, 0 repeats | |
| And here's what happens when you zoom in: It's not ACTUALLY all city, e… | |
| Post #AcsrJ5zGj3AuWtDIe0 by [email protected] | |
| 0 likes, 0 repeats | |
| @Nekoplanet Nah, it came out on PC first. There were ports, but they were all t… | |
| Post #AcsrTWsvZjXSqaDs5Q by [email protected] | |
| 0 likes, 0 repeats | |
| now here's the question: does the industry pattern break at the bottom of t… | |
| Post #AcsrkHf1QqlsYKhwA4 by [email protected] | |
| 0 likes, 0 repeats | |
| it's discontinuous! so yeah, it uses tile numbers. | |
| Post #AcstEtRlblxqO0fQgq by [email protected] | |
| 0 likes, 0 repeats | |
| so it turns out it uses the positional thing for more than just cities.tile_typ… | |
| Post #AcstSkgKzd1RFx5hA0 by [email protected] | |
| 0 likes, 0 repeats | |
| here's the really weird part. This map, despite looking like that, is actua… | |
| Post #AcstrfqM7S31UQf0m8 by [email protected] | |
| 0 likes, 0 repeats | |
| here's the 0A ("farm") tile: it turns out it's a mix of farms… | |
| Post #Acsu6ONXKqU3fRCO6y by [email protected] | |
| 0 likes, 0 repeats | |
| @foone i just know how the sausage was/is made, i look forward to blissful igno… | |
| Post #Acsu6OS93iAbtjM4IK by [email protected] | |
| 0 likes, 0 repeats | |
| @clairely_undaunted I'm sure that's completely unrelated to the instanc… | |
| Post #AcsuCQlDONeGnB9ZwW by [email protected] | |
| 0 likes, 0 repeats | |
| 0b (foothills) are not special. set it to all 0b, and you really get all 0b | |
| Post #AcsuMO1WQIIrCQWoWO by [email protected] | |
| 0 likes, 0 repeats | |
| villages are also paper mills, stock yards, factories, and food proc. | |
| Post #AcsudgXUpqqLY1jUBs by [email protected] | |
| 0 likes, 0 repeats | |
| @foone absofuckinglutely though tbh it’s just a different type of programming | |
| Post #AcsudgbObLxjk7YbGi by [email protected] | |
| 0 likes, 0 repeats | |
| @clairely_undaunted heh. makes me think of a security engineer who is really in… | |
| Post #AcsutjMa6UK8wJHJom by [email protected] | |
| 0 likes, 0 repeats | |
| okay checked the rest (except rivers, because... no)so 05 and 08 are mines, 0a … | |
| Post #AcsviJZnjoFrjRa9oG by [email protected] | |
| 0 likes, 0 repeats | |
| judging by how this worksI think it might be writing data files in 47-bit chunk… | |
| Post #AcsvqUyTFEErOm1W9Q by [email protected] | |
| 0 likes, 0 repeats | |
| so, a datapoint:a map entirely full of 01 and a map entirely full of 02 are dif… | |
| Post #AcsvqY61db4354a5qK by [email protected] | |
| 0 likes, 0 repeats | |
| it's possible the intermediate RLE is making this weirder than it should be… | |
| Post #AcuW2JwxqjFQBrDPns by [email protected] | |
| 0 likes, 0 repeats | |
| so I need to write 256 bytes into RAM, without a pointer to it, in... 5 bytes.o… | |
| Post #AcuWF353sfXDdS4WSu by [email protected] | |
| 0 likes, 0 repeats | |
| okay maybe I can take out a function callthat gives me like, 45 bytes. more tha… | |
| Post #AcuWotcuVYssjszviS by [email protected] | |
| 0 likes, 0 repeats | |
| MOV AL, 01MOV DI, [BP-6]MOV CX, 320REP STOSBthat's 10 bytes. | |
| Post #AcuXiXnqpnZ7GseNkW by [email protected] | |
| 0 likes, 0 repeats | |
| well my code was supposed to generate a world that's entirely water, but I … | |
| Post #AcuXqnwkhGuHekkihs by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Mind the direction flag | |
| Post #AcuXqo0eSm1fqqZpmi by [email protected] | |
| 0 likes, 0 repeats | |
| @Computeum good point. I'll stick a CLD in there | |
| Post #AcuZEdwlcx9rXxgsbo by [email protected] | |
| 0 likes, 0 repeats | |
| oh I'm a doofus.I was trying to hack the game to save a game where every ti… | |
| Post #AcuZWAXrgG7BZVOqCu by [email protected] | |
| 0 likes, 0 repeats | |
| and done.I was so busy trying to use my HACKER SKILLS to realize I didn't n… | |
| Post #AcuZic1zJZKEICQHhY by [email protected] | |
| 0 likes, 0 repeats | |
| okay so a map of all the same tile results in an 83 byte file, which only varie… | |
| Post #AcuZif73rAALqnosWe by [email protected] | |
| 0 likes, 0 repeats | |
| now the reason it's not smaller is that a map actually looks like this:It&#… | |
| Post #AcuaPiAuLc7Fnd98ZU by [email protected] | |
| 0 likes, 0 repeats | |
| NOPE! I decoded (using my load-it-as-a-logo trick) the all-1 and all-2 tiles an… | |
| Post #AcuaPiFW4Tno1vIokq by [email protected] | |
| 0 likes, 0 repeats | |
| so what the heck | |
| Post #AcuahPZIGWRNIvzbNo by [email protected] | |
| 0 likes, 0 repeats | |
| well I interestingly corrupted it | |
| Post #Acub2neRv6S04ubRVw by [email protected] | |
| 0 likes, 0 repeats | |
| yeah I'm randomly corrupting it, and this isn't any RLE. This is defini… | |
| Post #Acub2qIw3Y1YJ3Yntg by [email protected] | |
| 0 likes, 1 repeats | |
| who wants to play Railroad Tycoon on Memory Uninitialized World? | |
| Post #AcubXw1uopzf2aQR2e by [email protected] | |
| 0 likes, 0 repeats | |
| fun fact: because the saved game map files are the same format as PIC, you can … | |
| Post #AcueyxlykLCy7yYCvo by [email protected] | |
| 0 likes, 0 repeats | |
| @foone What does the zoomed-out version look like? | |
| Post #AcueyxpsVqKMK4NK0e by [email protected] | |
| 0 likes, 0 repeats | |
| @jtlg that's the left image! | |
| Post #AcujpFbm4zXGJmxwqu by [email protected] | |
| 0 likes, 0 repeats | |
| @foone For a worrying moment I thought this was Railroad Tycoon over SSTV | |
| Post #AcujpFg1pAwEWyxLU0 by [email protected] | |
| 0 likes, 0 repeats | |
| @tryst I'll have to do that next. Most of my TV stuff is analog ntsc but I&… | |
| Post #AcwYQUVCr9S85lnwx6 by [email protected] | |
| 0 likes, 0 repeats | |
| god help me I don't want to have to write an extension to link ghidra and d… | |
| Post #AcwZIbQFLNy3BwHrVo by [email protected] | |
| 0 likes, 0 repeats | |
| I might just write my own debugger. the dosbox one is slightly terrible. | |
| Post #AcwZdpkdGUDbiFwizg by [email protected] | |
| 0 likes, 0 repeats | |
| basically I need to watch the input buffer, the output buffer, about 15 random … | |
| Post #AcwcoO5Cm5NmwvIDtw by [email protected] | |
| 0 likes, 0 repeats | |
| @foone that first picture looks like what I call Rainbow Death Snow when it app… | |
| Post #AcwdoZyodrRJnjxZI0 by [email protected] | |
| 0 likes, 0 repeats | |
| it's kinda telling about how my brain works that I keep running into revers… | |
| Post #Acwf9E7VDAym2VQrDc by [email protected] | |
| 0 likes, 0 repeats | |
| @foone An idea I've been mulling for a while is to hack up a copy of MAME/M… | |
| Post #Acwf9EBkxMNkFhQFqi by [email protected] | |
| 0 likes, 0 repeats | |
| @curtmack yeah, something like that would be awesome | |
| Post #AcwfK92cR0KnTPM168 by [email protected] | |
| 0 likes, 0 repeats | |
| @foone but what if you wrote a generic, retargetable, debugger construction kit? | |
| Post #AcwfK96sBBjlgbLPjE by [email protected] | |
| 0 likes, 0 repeats | |
| @StompyRobot yes why not? why not turn a simple "hack one game" proje… | |
| Post #Acwfry87VbjfTj3WJE by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Obviously this would slow down emulation, but I think it would still be … | |
| Post #AcwfryCNFn8dgv2uwK by [email protected] | |
| 0 likes, 0 repeats | |
| @curtmack yeah. and even if slow, you could have it be togglable: you turn it o… | |
| Post #Ad0vlHHkGdl2l8EFyC by [email protected] | |
| 0 likes, 0 repeats | |
| I think I'm gonna try abusing external memory reading into letting me watch… | |
| Post #Ad0vuh3lo7a7IuBLGa by [email protected] | |
| 0 likes, 0 repeats | |
| that's one of the problems with being a game hacker: you don't use &quo… | |
| Post #Ad13rNjQ0onM7gav20 by [email protected] | |
| 0 likes, 0 repeats | |
| here's why I hate reversing compression code:there's no shortcuts. | |
| Post #Ad144eRTC6RxiLWhoe by [email protected] | |
| 0 likes, 0 repeats | |
| I am a fucking MASTER at finding shortcuts. I have endless tools and tricks and… | |
| Post #Ad144hD2uBh8ITnjFY by [email protected] | |
| 0 likes, 0 repeats | |
| compression is the ultimate "you stare at this code until you understand i… | |
| Post #Ad14SlVkYzB0aY1jXs by [email protected] | |
| 0 likes, 0 repeats | |
| and I have EXACTLY the wrong kind of brain to be any good at that. my brain is … | |
| Post #Ad14SoCiYCjcwO94nQ by [email protected] | |
| 0 likes, 0 repeats | |
| I do not have a smart brain, I have a clever brain. they are not the same. and … | |
| Post #Ad15BYuEH9noWdpzkG by [email protected] | |
| 0 likes, 0 repeats | |
| @Sweetshark exactly | |
| Post #Ad15HlPMhosH2PMHaa by [email protected] | |
| 0 likes, 0 repeats | |
| this debugger needs a "step backwards" command | |
| Post #Ad18nsnj3QUT5zlBWS by [email protected] | |
| 0 likes, 0 repeats | |
| @foone you know about debuggers that do have such a command then, yes | |
| Post #Ad18nssKmIB1KHurho by [email protected] | |
| 0 likes, 0 repeats | |
| @thorsummoner yes. dosbox-x doesn't have it, though | |
| Post #Ad19aC1msAJacuNCka by [email protected] | |
| 0 likes, 0 repeats | |
| ahh I've hit another function where ghidra has decided it can no longer ren… | |
| Post #Ad1EcETLFrPWYe3Nb6 by [email protected] | |
| 0 likes, 0 repeats | |
| it's physically impossible to stare at x86 code for long without wanting to… | |
| Post #Ad1FUUD0xjBF0AHqBk by [email protected] | |
| 0 likes, 0 repeats | |
| @secretasianman I've not done much work in those architectures, so I don… | |
| Post #Ad1GDDQiC2nxzf1R1k by [email protected] | |
| 0 likes, 0 repeats | |
| although it's amusing when you see code like:MOV BX, AXADD BX, AXADD BX, AX… | |
| Post #Ad1GMOIDAt5yI4QBH6 by [email protected] | |
| 0 likes, 0 repeats | |
| it probably does but this code is targeting 8086 so it couldn't use it yet | |
| Post #Ad1WMe83tV5GfkokZU by [email protected] | |
| 0 likes, 0 repeats | |
| maybe I just need to write an x86 emulatorlike you do | |
| Post #Ad1WSdWh32EEXaC9yK by [email protected] | |
| 0 likes, 0 repeats | |
| I haven't written an x86 emulator since... oh yeah the last time I tried to… | |
| Post #Ad1Wn5cuHWcdU2r1hQ by [email protected] | |
| 0 likes, 0 repeats | |
| @foone time for a DAYS SINCE FOONE WROTE AN X86 EMULATOR counter. | |
| Post #Ad1Wn5hA1i1bhEqQKW by [email protected] | |
| 0 likes, 0 repeats | |
| @alys it was at 3227 days! I was out, but they pulled me back in | |
| Post #Ad1XzkO4eyEDKWW2kK by [email protected] | |
| 0 likes, 0 repeats | |
| I've gotten weirder and I tried dumping a compressed map into a bitmap rend… | |
| Post #Ad1YDh6berDvCpzo6y by [email protected] | |
| 0 likes, 0 repeats | |
| okay it only appears in my super-compressed files. not in the semi-compressed o… | |
| Post #Ad1aJIf9eG7D2mxM00 by [email protected] | |
| 0 likes, 0 repeats | |
| okay so I've done an interesting experiment: I turned off the RLE.So the fu… | |
| Post #Ad1aVTdUfyOWYGzBjM by [email protected] | |
| 0 likes, 0 repeats | |
| and there's again an interesting pattern at 9-bits wide. | |
| Post #Ad1d7rwOxVkSqRGRzU by [email protected] | |
| 0 likes, 0 repeats | |
| made a BIG discovery:the labs.PIC file in railroad tycoon is identical to the o… | |
| Post #Ad1dHrKE6RbZpaAiZ6 by [email protected] | |
| 0 likes, 0 repeats | |
| and you know WHY that's a big deal? THERE'S TOOLS THAT CAN EXTRACT COVE… | |
| Post #Ad1dHuDFMqnwmnvgbQ by [email protected] | |
| 0 likes, 0 repeats | |
| https://github.com/jarikomppa/covert_action | |
| Post #Ad1dTyv3h6IYrIBEjw by [email protected] | |
| 0 likes, 0 repeats | |
| it's LZW! the same one that powers GIF | |
| Post #Ad1deyiCnzFXOvPbOK by [email protected] | |
| 0 likes, 0 repeats | |
| SID MEIER'S RAILROAD TYCOON VIOLATED THE UNISYS GIF PATENT | |
| Post #Ad1e1ohSCE0j0dwzoG by [email protected] | |
| 0 likes, 0 repeats | |
| well it's not decoding it exactly right, but it's... close? | |
| Post #Ad1h6y5J1zkNQTFsoq by [email protected] | |
| 0 likes, 0 repeats | |
| And it works. We have decoding of Railroad Tycoon MAP files! | |
| Post #Ad1hF2Md0Kh70zCmEi by [email protected] | |
| 0 likes, 0 repeats | |
| this thread has been going for a week and I finally got the result I needed and… | |
| Post #Ad1hF5UBOhWIhHlLvc by [email protected] | |
| 0 likes, 0 repeats | |
| (okay not really. I had to modify the code, and the modifications were only pos… | |
| Post #Ad1hYFAlbdsUF5ocbI by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I always dreamed of having a public hash database, where you put the has… | |
| Post #Ad1hYFEfN8zsRBdjg8 by [email protected] | |
| 0 likes, 0 repeats | |
| @andrea yeah! I've thought about doing something like that for DOS games, p… | |
| Post #Ad1hhmvJUVGxWb8dhg by [email protected] | |
| 0 likes, 0 repeats | |
| so I need to do some stuff to modify this to not write PNG files but instead wr… | |
| Post #Ad1hhpbDXfypp8l8IS by [email protected] | |
| 0 likes, 0 repeats | |
| as well as put this code online and make a pull request.but all that can wait. … | |
| Post #Ad1i7eQxg43wixH35M by [email protected] | |
| 0 likes, 0 repeats | |
| time to close every tab and program I have open.it's over. I won. all that&… | |
| Post #Ad1l3Kh3Qho6CjQx0K by [email protected] | |
| 0 likes, 0 repeats | |
| @foone it's over? I honestly expected to see a trans flag as a map tomorrow… | |
| Post #Ad1l3Klf9ZUeR1adBg by [email protected] | |
| 0 likes, 0 repeats | |
| @viraptor sigh.I'LL DO IT TOMORROWassuming I can. I have limited colors her… | |
| Post #Ad1lANFALY9m8mkLho by [email protected] | |
| 0 likes, 0 repeats | |
| @viraptor what do you want me to do, remap the palette used by the game?actuall… | |
| Post #Ad1ujxRidbIo8xf1fc by [email protected] | |
| 0 likes, 0 repeats | |
| @foone not an expert, but PPM might be the right image format for you: it's… | |
| Post #Ad1ujxVyNmhmM9eQIi by [email protected] | |
| 0 likes, 0 repeats | |
| @andrea the image format isn't the problem, it's just that I don't … | |
| Post #Ad3AjlLzOEW542ryBk by [email protected] | |
| 0 likes, 0 repeats | |
| @foone Is this how Xorg got its x86 emulator to run vbioses :blobcatthink: | |
| Post #Ad3AjlPt9jdTG8h5Ga by [email protected] | |
| 0 likes, 0 repeats | |
| @NanoSector ahh, x86. the lingua franca of computers | |
| Post #Ad3ReYD6Wl7u4doXZY by [email protected] | |
| 0 likes, 0 repeats | |
| @dpflug I sure did! I'll never learn! | |
| Post #Ad7ES7dKzZofOsfRwm by [email protected] | |
| 0 likes, 0 repeats | |
| bah. dosbox doesn't let me set breakpoints on io ports. WHY NOT? | |
| Post #Ad7G4sORgklJNikGXI by [email protected] | |
| 0 likes, 0 repeats | |
| @JackEric I'VE BEEN BREAKING THINGS SINCE I WAS OLD ENOUGH TO HOLD A SCREWD… | |
| Post #Ad7GjPcrYATW29olOq by [email protected] | |
| 0 likes, 0 repeats | |
| ugh. so the palette-setup call is into an external overlay and called from an i… | |
| Post #Ad7HpBBAH94ev5Aybw by [email protected] | |
| 0 likes, 0 repeats | |
| I'm sure that's fine | |
| Post #Ad7LKdWbEizLfitSnA by [email protected] | |
| 0 likes, 0 repeats | |
| @Ephraim_Bane always! | |
| Post #Ad7NUSWpAw6IN5oIYS by [email protected] | |
| 0 likes, 0 repeats | |
| so the EGA/VGA driver handles colors in a weird way: The main EXE passes a list… | |
| Post #Ad7NVcBMlfiWbOKB6W by [email protected] | |
| 0 likes, 0 repeats | |
| @ironiridis I'll fix that before I'm done | |
| Post #Ad7NmzFsEmG15FiU9g by [email protected] | |
| 0 likes, 0 repeats | |
| that list, btw, is the following:00 01 02 03 04 00 06 07 08 09 0A 0B 0C 0D 0E 0… | |
| Post #Ad7O6Sk4pSay2S89J2 by [email protected] | |
| 0 likes, 0 repeats | |
| this translation means the actual colors end up being:00 01 02 03 04 00 06 07 1… | |
| Post #Ad7OF5Q2ufSaJFsCrQ by [email protected] | |
| 0 likes, 0 repeats | |
| @foone does it really drop the 4th bit? | |
| Post #Ad7OF5TwgAZyVLhJwG by [email protected] | |
| 0 likes, 0 repeats | |
| @Flux yep | |
| Post #Ad7OS5H2lRAbcjrOjI by [email protected] | |
| 0 likes, 0 repeats | |
| Turning off the color-shifting logic makes the intro a bit uglier | |
| Post #Ad7P6iCBTR1pv7xaNc by [email protected] | |
| 0 likes, 0 repeats | |
| it's still not working. I think something deeply fucky is happening inside … | |
| Post #Ad7R0GW1frIoF9IL8S by [email protected] | |
| 0 likes, 0 repeats | |
| @HoustonDog I'm not sure. The game has separate graphics drivers for hercul… | |
| Post #Ad7RUdXCee5cK5KMtc by [email protected] | |
| 0 likes, 0 repeats | |
| I don't get it.I'm using the following:INP 0x3CA; Clear 3c0 indexOUTP 0… | |
| Post #Ad7Rb9G9cAVASCSSPY by [email protected] | |
| 0 likes, 0 repeats | |
| but instead of a pink color for index 1, I'm getting grey. AAAAAA grey. | |
| Post #Ad7RobiL8Gb0T83k8G by [email protected] | |
| 0 likes, 0 repeats | |
| it's in EGA/VGA video mode 0D: that's 320x200, 16 colors, 8 pages. I do… | |
| Post #Ad7S5LV6fOlv6fqpcG by [email protected] | |
| 0 likes, 0 repeats | |
| that grey color is color index 07: so it's acting like it's truncating … | |
| Post #Ad7SNVA7U52AHegyES by [email protected] | |
| 0 likes, 0 repeats | |
| ugh. maybe the mod register has the shift register turned off? that supposedly … | |
| Post #Ad7TDToxiS9zBMa5Dc by [email protected] | |
| 0 likes, 0 repeats | |
| ah-ha! I found a hint:EGA apparently only supports color remapping in 350-line … | |
| Post #Ad7TpcnInn4e14zeTY by [email protected] | |
| 0 likes, 0 repeats | |
| yeah that's fine | |
| Post #Ad7U7Wp7ju4ciANmQC by [email protected] | |
| 0 likes, 0 repeats | |
| there's my pink! it's just rendering completely incorrectly because I&#… | |
| Post #Ad7UQRAF0NLaf3HC3E by [email protected] | |
| 0 likes, 0 repeats | |
| so one way I could fix this is to stay in mode 0D (320x200x16) but use the VGA … | |
| Post #Ad7UwsCvzfP1nl0Ewi by [email protected] | |
| 0 likes, 0 repeats | |
| it helps if you don't have your DOSBox set to emulate an EGA card, I'm … | |
| Post #Ad7V6M7GAEF7AQs0jg by [email protected] | |
| 0 likes, 0 repeats | |
| THAT WAS THE WRONG INDEX OH GOD | |
| Post #Ad7VCsfc2dltry39N2 by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I would listen to a podcast that is nothing but highly esoteric DOS era … | |
| Post #Ad7VCskDlVSS6GCpYO by [email protected] | |
| 0 likes, 0 repeats | |
| @shram86 god yeah | |
| Post #Ad7VdQo1kSWjGie70a by [email protected] | |
| 0 likes, 0 repeats | |
| but there we go. There's my pink. Just needed to use the VGA registers inst… | |
| Post #Ad7Wi1vZlwwdVovwWW by [email protected] | |
| 0 likes, 1 repeats | |
| there we go. Using my patches to pic2png/png2pic and modifying EGRAPHICS.EXE to… | |
| Post #Ad7WqMPtTjnJNH5RQ0 by [email protected] | |
| 0 likes, 0 repeats | |
| now I just need to write this onto a floppy disk (or two) so I can take it down… | |
| Post #Ad7XktXXVvWIJycXS4 by [email protected] | |
| 0 likes, 0 repeats | |
| I need to figure out where to stuff 60 bytes of VGA manipulation code though, m… | |
| Post #Ad7ZIZ5IApcCgB1jzU by [email protected] | |
| 0 likes, 0 repeats | |
| turns out the copyright notice is 63 bytes long | |
| Post #Ad7ZR7uKaNMGzwyz7w by [email protected] | |
| 0 likes, 0 repeats | |
| @foone deluxe? | |
| Post #Ad7ZR7yELsTfC2o6Cm by [email protected] | |
| 0 likes, 0 repeats | |
| @JLab8 No, the original. I have a lot of hate for deluxe | |
| Post #Ad7ZX2HMQRFbHMZXpw by [email protected] | |
| 0 likes, 0 repeats | |
| @foone it sounds like what is quickly becoming apparent is that EGA wasn't … | |
| Post #Ad7ZX2LGBwMzTSOeum by [email protected] | |
| 0 likes, 0 repeats | |
| @ranvel well, I mean, this is the video card where they programmed the BIOS to … | |
| Post #Ad7ZjarlemeA1Zabb6 by [email protected] | |
| 0 likes, 0 repeats | |
| MY FLOPPY DISK HAS DEVELOPED A BAD TRACK ZERO?TRANSPHOBIA! | |
| Post #Ad7aInI7S8EQhAhSbo by [email protected] | |
| 0 likes, 0 repeats | |
| and another.I even tried on a different disk. HOW MANY FLOPPIES ARE GONNA DIE O… | |
| Post #Ad7aUvulDXxyumYwF6 by [email protected] | |
| 0 likes, 0 repeats | |
| I grabbed another random floppy disk and it turns out it has been formatted wit… | |
| Post #Ad7agbEbvkRGFiPV3o by [email protected] | |
| 0 likes, 0 repeats | |
| @foone ....what. | |
| Post #Ad7agbIrfvqESuOtgu by [email protected] | |
| 0 likes, 0 repeats | |
| @x4nw I suspect this was the fault of Foone. That fucker is always doing weird … | |
| Post #Ad7armpRAGfHObyCAq by [email protected] | |
| 0 likes, 0 repeats | |
| @x4nw yep. confirmation:https://twitter.com/Foone/status/1455304578606370819 | |
| Post #Ad7bIaIFsVeaKzEACG by [email protected] | |
| 0 likes, 0 repeats | |
| I love that it's 2023 and I just did "copy *.* A:" like it's … | |
| Post #Ad7cIBJ0skRWnFxC5Y by [email protected] | |
| 0 likes, 1 repeats | |
| There we go. The trans-continental railroad tycoon. | |
| Post #Ad7cVsxRtaFTwWOyUC by [email protected] | |
| 0 likes, 0 repeats | |
| if you go into the game to see what's what, it turns out the blue is clear … | |
| Post #Ad7cd8L36oulfjtf6m by [email protected] | |
| 0 likes, 0 repeats | |
| also, my trans agenda has apparently sunk the city of Redding, CA. | |
| Post #Ad7hT6fexC0VNKZjHc by [email protected] | |
| 0 likes, 0 repeats | |
| @foone considering what's going on in that city, that's perhaps a good … | |
| Post #Ad7hT6kGg3h3bcjPSy by [email protected] | |
| 0 likes, 0 repeats | |
| @12 I don't know what's happening in Redding so I'll just assume th… | |
| Post #Ad7hrD94X9F8PBpJY0 by [email protected] | |
| 0 likes, 0 repeats | |
| @foone totally here for the cool and refreshing pink lemonade ocean | |
| Post #Ad7hrDDKHKe6cNoiB6 by [email protected] | |
| 0 likes, 0 repeats | |
| @thepi that's the gender fluid! | |
| Post #Ad8xlhci64fTcP2qNU by [email protected] | |
| 0 likes, 0 repeats | |
| @foone @12 want to find the portal to a rabbit hole? look into the Bethel Churc… | |
| Post #AdMZnKsLxvs4xa2x16 by [email protected] | |
| 0 likes, 0 repeats | |
| so I figured out the patterns of the tile types 5 and 8 (they're identical!… | |
| Post #AdMbXafffdsbDvjb6m by [email protected] | |
| 0 likes, 0 repeats | |
| ugh. I'm gonna have to write some hacky code to explore the map and figure … | |
| Post #AdMbhZOjG97uAdZJ8i by [email protected] | |
| 0 likes, 0 repeats | |
| anyway here's my partial rendering of a full Railroad Tycoon map. All unhan… | |
| Post #AdMztesb6NxhXxpuWe by [email protected] | |
| 0 likes, 0 repeats | |
| You ever stay up until 5:30 am and you're really really tired but you also … | |
| Post #AdOPB3Km7sIOKHMpM0 by [email protected] | |
| 0 likes, 0 repeats | |
| I have taken 1,324 screenshots. that should help. | |
| Post #AdQ7YbhT6tvuiCz2bg by [email protected] | |
| 0 likes, 0 repeats | |
| okay I have now similar-image recognized my 1324 screenshots.There are apparent… | |
| Post #AdQ88MduZROGRBN0MK by [email protected] | |
| 0 likes, 0 repeats | |
| FUCK something in my recognition is wrong. Those numbers are not correct | |
| Post #AdQ8UhZXR5ppigyZKS by [email protected] | |
| 0 likes, 0 repeats | |
| FUCKmy recognition is right.my screenshots were NOT. I think my program was tak… | |
| Post #AdQ8kBkjVXClfPb43k by [email protected] | |
| 0 likes, 0 repeats | |
| yeah look.two cursors. that's not right. | |
| Post #AdQ8tZUuauMbusfeCW by [email protected] | |
| 0 likes, 0 repeats | |
| ARGH this process already takes 15 minutes to run and now I need to fix it by s… | |
| Post #AdQB0CKJLFATzL02bI by [email protected] | |
| 0 likes, 0 repeats | |
| I ran it again... and it didn't work. FUCK | |
| Post #AdQE2k7kxD7RFd250i by [email protected] | |
| 0 likes, 0 repeats | |
| okay. regenerated. 197 grains, 196 livestock. | |
| Post #AdQEJzqNlGzqvb8JU0 by [email protected] | |
| 0 likes, 0 repeats | |
| (0, 118), (1, 137), (2, 156), (3, 175), (8, 14), (9, 33), (10, 52), (11, 71), (… | |
| Post #AdQFSdToNbSg7yG8Om by [email protected] | |
| 0 likes, 0 repeats | |
| okay I gave up and just stuck the list of known positions into the script. Here… | |
| Post #AdQGw4lu5XM17jK89Y by [email protected] | |
| 0 likes, 0 repeats | |
| this is terrible. did you even pay attention to what you were making, Sidney? | |
| Post #AdQH43ymuwmSz29uSW by [email protected] | |
| 0 likes, 0 repeats | |
| I of course mean these 4 stray pixels.whatta heck | |
| Post #AdQI0Kj6oI1Jifbu88 by [email protected] | |
| 0 likes, 0 repeats | |
| wow. the river layout code worked first try! I'm a better programmer than I… | |
| Post #AdQIHzVURWkx7WezQW by [email protected] | |
| 0 likes, 0 repeats | |
| uh oh. there's some incorrectly placed blocks | |
| Post #AdQIPw9um5Qj3NMDk8 by [email protected] | |
| 0 likes, 0 repeats | |
| hmm. I can't load up the riverworld (damn you Philip José Farmer!) because… | |
| Post #AdQJoCdxEl9B5EXj3Q by [email protected] | |
| 0 likes, 0 repeats | |
| okay I have a HALF RIVER WORLD, which does load properly. | |
| Post #AdQK7RyQSpNk8CIQ5o by [email protected] | |
| 0 likes, 0 repeats | |
| @foone wouldn't it be fun to have different cursors for left and right clic… | |
| Post #AdQK7S2gD0miLOHoiu by [email protected] | |
| 0 likes, 0 repeats | |
| @1000millimeter isn't that just Portal? :) | |
| Post #AdQL8PSVOpXMZjO3Lk by [email protected] | |
| 0 likes, 0 repeats | |
| okay I think I've found a problem.I can generate single-tile maps and they … | |
| Post #AdQLFXM4RL1D5lm9gW by [email protected] | |
| 0 likes, 0 repeats | |
| so I think I've fundamentally misunderstood how this works.my theory was th… | |
| Post #AdQLMeQaXdfP3UHUS8 by [email protected] | |
| 0 likes, 0 repeats | |
| but I don't think this is actually how the game works. I think it's mor… | |
| Post #AdQLVkhmZWXV88fBYW by [email protected] | |
| 0 likes, 0 repeats | |
| meaning my individual per-tile work isn't helping. fuck.I'm gonna need … | |
| Post #AdQMYnkjnUF1PC3zaC by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I fear I don't know portal | |
| Post #AdQMYnozXfdzcO3ODI by [email protected] | |
| 0 likes, 0 repeats | |
| @1000millimeter well one of the main mechanics involves creating wormholes in s… | |
| Post #AdQMmrrzHsASECA5wm by [email protected] | |
| 0 likes, 0 repeats | |
| anyway I have touched that shit yet, but I finished up the ocean stuff: | |
| Post #AdQP4lZlctD7pRIm12 by [email protected] | |
| 0 likes, 0 repeats | |
| gah this is weird.the tracks tilesheet is 20x20, right? but the rest of the til… | |
| Post #AdQQIV8rcjyIrspb3A by [email protected] | |
| 0 likes, 0 repeats | |
| found another bug:the game doesn't use the same bridge logic for AI players… | |
| Post #AdQRHjJ3ZjdqSknKxE by [email protected] | |
| 0 likes, 0 repeats | |
| completely normal train layout | |
| Post #AdQRPYUreIGVFp37C4 by [email protected] | |
| 0 likes, 0 repeats | |
| oh godyou can have double tracks, right?but where are the tiles for the double … | |
| Post #AdQSebMBOijMQEj8NM by [email protected] | |
| 0 likes, 0 repeats | |
| I thought I might could cheat and just pull the generated tiles from RAM but I … | |
| Post #AdQTydKxqPlgJHGyae by [email protected] | |
| 0 likes, 0 repeats | |
| yeah I can't fully decode this (TOO PLANAR) but I'm pretty sure there&#… | |
| Post #AdQUS6edvE53dNWzPk by [email protected] | |
| 0 likes, 0 repeats | |
| yeah it seems to basically draw the regular track, but it offsets it tangent to… | |
| Post #AdQVu4z3pKlMVzz3ey by [email protected] | |
| 0 likes, 0 repeats | |
| gah.There's 4 types of stations: and three types of stations in the tiles.t… | |
| Post #AdQWyzKmMMnwOY2yOm by [email protected] | |
| 0 likes, 0 repeats | |
| they store the type of the station outside of the tracks list, which is weird. … | |
| Post #AdQX7bMKrpLKe0skxk by [email protected] | |
| 0 likes, 0 repeats | |
| anyway this is where I'm leaving it for now:stations are all rendered as De… | |
| Post #AdQexytzHQpoOlXvTk by [email protected] | |
| 0 likes, 0 repeats | |
| @foone This started me thinking what was their minimum target spec.Much of this… | |
| Post #AdQexyyF1cEmbxXK6q by [email protected] | |
| 0 likes, 0 repeats | |
| @pare the original minimum specs were 512kb ram | |
| Post #AdR6fAeaA4kK3l9weW by [email protected] | |
| 0 likes, 0 repeats | |
| @foone I distinctly remember the instructions telling me that there were forbid… | |
| Post #AdaXIWQDVWyo66VJhY by [email protected] | |
| 0 likes, 0 repeats | |
| THEY FUCKING THUNK INTO THE GRAPHICS DRIVER TO READ MAP CONTENTSI suspected thi… | |
| Post #AdaXbx74UiegNfoXei by [email protected] | |
| 0 likes, 0 repeats | |
| in any case I have discovered that the tile ids used when the game is running a… | |
| Post #AdaXbxBKEu3earnwHo by [email protected] | |
| 0 likes, 0 repeats | |
| this is done for a simple understandable reason:Sid Meier hates me personally | |
| Post #AdaYMbMJC5DeWPBXuq by [email protected] | |
| 0 likes, 0 repeats | |
| The in-memory tile IDs are: 00 Clear01 Forest 02 Desert03 FootHills04 Hills05 M… | |
| Post #AdaYf3liJ1HlqTrzLE by [email protected] | |
| 0 likes, 0 repeats | |
| anyway it's proving how terrible this question is.I want to find where the … | |
| Post #AdaYw4sxPGwUESNAbQ by [email protected] | |
| 0 likes, 0 repeats | |
| and yeah, that VRAM is memory mapped, but not directly and not completely. You … | |
| Post #AdaYw7fx25JyszJKFM by [email protected] | |
| 0 likes, 0 repeats | |
| and I can't easily decode the function that does it, because it's not i… | |
| Post #AdaYw8TE4sjjLoMg3E by [email protected] | |
| 0 likes, 0 repeats | |
| the worst part is that while there is a get_map_tile_at_position function, it g… | |
| Post #AdaYw9FnAJaJmR5Ska by [email protected] | |
| 0 likes, 0 repeats | |
| and each one has to toggle through multiple EGA planes to fully pull out ONE si… | |
| Post #AdaYwA3QBnHeGMJ66i by [email protected] | |
| 0 likes, 0 repeats | |
| so the EGA planes get manipulated something like 768 times EVERY TIME YOU SCROL… | |
| Post #Adaa1ELFm89sxkd3B2 by [email protected] | |
| 0 likes, 0 repeats | |
| @foone uh, fascinating :DI wonder how you found out and how is the code like. (… | |
| Post #Adaa1EPrUzqRC2mjMO by [email protected] | |
| 0 likes, 0 repeats | |
| @korpiq I found out through a combination of DOSBox's debugger and Ghidra | |
| Post #Adaalctko6cmRatDF2 by [email protected] | |
| 0 likes, 0 repeats | |
| uVar1 = (uint)('\0' < (char)(*(byte *)(*(int *)(y * 2 + 0x241a) + (x… |