incel Posted April 15, 2019 It was so cool. I thought, maybe it's because of mini-map, but it works well in alpha (maybe it hindered the performance? I dunno). And even though it takes a lot of a screen space, isn't it a good thing to mask possibly smaller area to render? Colors might be a questionable part, but nothing you can't fix or even add an option to change them, like in Pip Boy. BTW, did anyone ask devs about the sandwich pickup xD? If hand and heart were ment to be keys, does it mean that sandwich is probably a key too ? xD 1 Share this post Link to post
seed Posted April 15, 2019 (edited) The fact that is was too intrusive probably led to its demise. 6 Share this post Link to post
Dark Pulse Posted April 15, 2019 Yeah. Probably decided to prioritize letting you see that cool, new, realistic 3D world. 5 Share this post Link to post
BigBoy91 Posted April 15, 2019 Considering the minimalist nature of the HUDs most people use now, I'm gonna have to agree with Seed here. Still kinda cool though. 0 Share this post Link to post
Linguica Posted April 15, 2019 I can't remember if I have seen something to this effect in an interview, but a big reason for the helmet HUD concept was that it would naturally put a limit the amount of screen they had to draw in 3D, and after the move to BSP / a focus on simplicity and action, it didn't make sense to hamstring the player's view like that. 3 Share this post Link to post
drygnfyre Posted April 15, 2019 I think it just didn't look very good aesthetically. It took many years to make a good looking helmet UI. (I like the one from Doom 2016). Looking at that alpha/beta UI, it kind of overwhelmed the player with info. I think the final implementation was the best choice for its time. Gave you the info you'd need and that was it. 0 Share this post Link to post
KVELLER Posted April 15, 2019 As someone who thinks that Doom's final status bar is too big, playing with that would've been a nightmare for me, even though I do think it's cool as a concept. 1 Share this post Link to post
Loud Silence Posted April 15, 2019 I'm very happy they removed that. I think it would have been useless and just limited view. 0 Share this post Link to post
whirledtsar Posted April 15, 2019 If anything it would've increased performance, since there was less space to draw the actual game geometry & stuff. 1 Share this post Link to post
Dark Pulse Posted April 15, 2019 10 minutes ago, whirledtsar said: If anything it would've increased performance, since there was less space to draw the actual game geometry & stuff. Yeah, that would've been the point earlier. Would definitely have been a bit less impressive though. Done that way, it would've reminded me of the original Gloom. 1 Share this post Link to post
Cruduxy Pegg Posted April 15, 2019 Probably because over half the screen is blocked by pointless stuff. 1 Share this post Link to post
Doomkid Posted April 15, 2019 It woulda been cool if the black void in snes Doom and other console ports had been filled in with a slightly altered version of this hud! The enormous black square is so boring. 1 Share this post Link to post
someoneyoudislike Posted April 15, 2019 it's cluttered! just in general way too overdone, though if it were a bit smaller and didn't act like such a border of the entire screen, i'd...actually probably prefer it. 0 Share this post Link to post
Gez Posted April 15, 2019 It was a technically cumbersome approach since IIRC the shape of the drawable area is defined by machine language code in a lump in the IWAD! And yes, this is totally insane. 3 Share this post Link to post
incel Posted April 15, 2019 (edited) 15 minutes ago, Gez said: It was a technically cumbersome approach since IIRC the shape of the drawable area is defined by machine language code in a lump in the IWAD! And yes, this is totally insane. Can you elaborate for the former humans? As I presume, the drawable area is probably a rectangle (not very different from the reduced screens in full game, it's even proportional to the overall image dimensions), though it'd be cool if the machine could shave some of it off. 0 Share this post Link to post
Dark Pulse Posted April 15, 2019 20 minutes ago, Doomkid said: It woulda been cool if the black void in snes Doom and other console ports had been filled in with a slightly altered version of this hud! The enormous black square is so boring. In SNES Doom it was really pushing the limits of the console though, so I don't think that was quite possible. Hell, it's impressive that console got Doom, period. What was good news for me since it was my only way to play Doom until I got a PS1. :P 0 Share this post Link to post
SaladBadger Posted April 16, 2019 28 minutes ago, incel said: Can you elaborate for the former humans? Essentially, the game's WAD file had a lump containing binary code (the same code that makes the main game executable work) that draws the world as an overlay on top of the HUD. This was presumably done to make the HUD's complex shape (it was much more complex in the 0.2 alpha than the later ones, which squared it off) not have any overdraw. Trouble: a PWAD could trivially include a malicious lump that replaces that code with a virus of some sort. Other trouble: Game is now harder to port to non-x86 platforms. More trouble: Modern engines that run on computers much different than these old DOS computers would need some really fun code to enable execution of these lumps. 5 Share this post Link to post
Reisal Posted April 16, 2019 It looked way too bulky with all that stuff on the sides. 0 Share this post Link to post
incel Posted April 16, 2019 1 hour ago, SaladBadger said: Essentially, the game's WAD file had a lump containing binary code that draws the world as an overlay on top of the HUD. Whoa. TIL. It's like completely backwards than you'd think. So it is drawing this weird shape then. 1 Share this post Link to post
kb1 Posted April 16, 2019 2 hours ago, Gez said: It was a technically cumbersome approach since IIRC the shape of the drawable area is defined by machine language code in a lump in the IWAD! And yes, this is totally insane. Yeah, there was a routine for each pixel column, customized to the exact shape of the visor. The code was self-modifying to avoid loops for maximum speed! Wolfenstein used a similar approach. Code like that worked well on a 486, but it totally screws up the code cache, conditional branching, and return prediction in modern processors. A ballsy approach, and basically as fast as it gets (back then, anyway). Impressive. 0 Share this post Link to post
incel Posted April 16, 2019 16 hours ago, kb1 said: Yeah, there was a routine for each pixel column, customized to the exact shape of the visor. Am I right to think that the "melting" effect at the end of the stages is somehow connected to this? 0 Share this post Link to post
Dark Pulse Posted April 16, 2019 21 minutes ago, incel said: Am I right to think that the "melting" effect at the end of the stages is somehow connected to this? Pretty sure it's not. It's not in any of the betas that I can remember except for the press beta (maybe), and the helmet HUD was gone after 0.3. 0 Share this post Link to post
kb1 Posted April 17, 2019 (edited) On 4/15/2019 at 10:19 PM, incel said: Whoa. TIL. It's like completely backwards than you'd think. So it is drawing this weird shape then. When writing my WADExplorer, I spent a lot of time trying to decipher the various image and map formats contained in the alphas and the beta. That's when I stumbled on the HIGHBLIT lump. I recognized the hex as executable code, and wrote a mini disassembler for the first half of the lump, the output of which can be seen here: Spoiler 0000 81 C6 4C 0E 00 00 ADD ESI, 00000E4CH ;esi=3660 (E4CH) 0006 81 C7 4C 0E 00 00 ADD EDI, 00000E4CH ;edi=3660 (E4CH) 000C B1 0A MOV CL, 0AH 000E F3 A5 REP MOVSD 0010 81 C6 0C 01 00 00 ADD ESI, 0000010CH ;esi=3968 (F80H) 0016 81 C7 0C 01 00 00 ADD EDI, 0000010CH ;edi=3968 (F80H) 001C B1 10 MOV CL, 10H 001E F3 A5 REP MOVSD 0020 81 C6 F4 00 00 00 ADD ESI, 000000F4H ;esi=4276 (10B4H) 0026 81 C7 F4 00 00 00 ADD EDI, 000000F4H ;edi=4276 (10B4H) 002C B1 16 MOV CL, 16H 002E F3 A5 REP MOVSD 0030 81 C6 E4 00 00 00 ADD ESI, 000000E4H ;esi=4592 (11F0H) 0036 81 C7 E4 00 00 00 ADD EDI, 000000E4H ;edi=4592 (11F0H) 003C B1 18 MOV CL, 18H 003E F3 A5 REP MOVSD 0040 81 C6 D8 00 00 00 ADD ESI, 000000D8H ;esi=4904 (1328H) 0046 81 C7 D8 00 00 00 ADD EDI, 000000D8H ;edi=4904 (1328H) 004C B1 1C MOV CL, 1CH 004E F3 A5 REP MOVSD 0050 81 C6 CC 00 00 00 ADD ESI, 000000CCH ;esi=5220 (1464H) 0056 81 C7 CC 00 00 00 ADD EDI, 000000CCH ;edi=5220 (1464H) 005C B1 1E MOV CL, 1EH 005E F3 A5 REP MOVSD 0060 81 C6 C0 00 00 00 ADD ESI, 000000C0H ;esi=5532 (159CH) 0066 81 C7 C0 00 00 00 ADD EDI, 000000C0H ;edi=5532 (159CH) 006C B1 22 MOV CL, 22H 006E F3 A5 REP MOVSD 0070 81 C6 B4 00 00 00 ADD ESI, 000000B4H ;esi=5848 (16D8H) 0076 81 C7 B4 00 00 00 ADD EDI, 000000B4H ;edi=5848 (16D8H) 007C B1 24 MOV CL, 24H 007E F3 A5 REP MOVSD 0080 81 C6 AC 00 00 00 ADD ESI, 000000ACH ;esi=6164 (1814H) 0086 81 C7 AC 00 00 00 ADD EDI, 000000ACH ;edi=6164 (1814H) 008C B1 26 MOV CL, 26H 008E F3 A5 REP MOVSD 0090 81 C6 A4 00 00 00 ADD ESI, 000000A4H ;esi=6480 (1950H) 0096 81 C7 A4 00 00 00 ADD EDI, 000000A4H ;edi=6480 (1950H) 009C B1 28 MOV CL, 28H 009E F3 A5 REP MOVSD 00A0 81 C6 9C 00 00 00 ADD ESI, 0000009CH ;esi=6796 (1A8CH) 00A6 81 C7 9C 00 00 00 ADD EDI, 0000009CH ;edi=6796 (1A8CH) 00AC B1 2A MOV CL, 2AH 00AE F3 A5 REP MOVSD 00B0 81 C6 94 00 00 00 ADD ESI, 00000094H ;esi=7112 (1BC8H) 00B6 81 C7 94 00 00 00 ADD EDI, 00000094H ;edi=7112 (1BC8H) 00BC B1 2C MOV CL, 2CH 00BE F3 A5 REP MOVSD 00C0 81 C6 8C 00 00 00 ADD ESI, 0000008CH ;esi=7428 (1D04H) 00C6 81 C7 8C 00 00 00 ADD EDI, 0000008CH ;edi=7428 (1D04H) 00CC B1 2E MOV CL, 2EH 00CE F3 A5 REP MOVSD 00D0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=7748 (1E44H) 00D6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=7748 (1E44H) 00DC B1 2E MOV CL, 2EH 00DE F3 A5 REP MOVSD 00E0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=8068 (1F84H) 00E6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=8068 (1F84H) 00EC B1 2E MOV CL, 2EH 00EE F3 A5 REP MOVSD 00F0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=8388 (20C4H) 00F6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=8388 (20C4H) 00FC B1 2E MOV CL, 2EH 00FE F3 A5 REP MOVSD 0100 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=8708 (2204H) 0106 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=8708 (2204H) 010C B1 2E MOV CL, 2EH 010E F3 A5 REP MOVSD 0110 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=9028 (2344H) 0116 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=9028 (2344H) 011C B1 2E MOV CL, 2EH 011E F3 A5 REP MOVSD 0120 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=9348 (2484H) 0126 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=9348 (2484H) 012C B1 2E MOV CL, 2EH 012E F3 A5 REP MOVSD 0130 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=9668 (25C4H) 0136 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=9668 (25C4H) 013C B1 2E MOV CL, 2EH 013E F3 A5 REP MOVSD 0140 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=9988 (2704H) 0146 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=9988 (2704H) 014C B1 2E MOV CL, 2EH 014E F3 A5 REP MOVSD 0150 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=10308 (2844H) 0156 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=10308 (2844H) 015C B1 2E MOV CL, 2EH 015E F3 A5 REP MOVSD 0160 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=10628 (2984H) 0166 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=10628 (2984H) 016C B1 2E MOV CL, 2EH 016E F3 A5 REP MOVSD 0170 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=10948 (2AC4H) 0176 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=10948 (2AC4H) 017C B1 2E MOV CL, 2EH 017E F3 A5 REP MOVSD 0180 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=11268 (2C04H) 0186 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=11268 (2C04H) 018C B1 2E MOV CL, 2EH 018E F3 A5 REP MOVSD 0190 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=11588 (2D44H) 0196 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=11588 (2D44H) 019C B1 2E MOV CL, 2EH 019E F3 A5 REP MOVSD 01A0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=11908 (2E84H) 01A6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=11908 (2E84H) 01AC B1 2E MOV CL, 2EH 01AE F3 A5 REP MOVSD 01B0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=12228 (2FC4H) 01B6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=12228 (2FC4H) 01BC B1 2E MOV CL, 2EH 01BE F3 A5 REP MOVSD 01C0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=12548 (3104H) 01C6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=12548 (3104H) 01CC B1 2E MOV CL, 2EH 01CE F3 A5 REP MOVSD 01D0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=12868 (3244H) 01D6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=12868 (3244H) 01DC B1 2E MOV CL, 2EH 01DE F3 A5 REP MOVSD 01E0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=13188 (3384H) 01E6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=13188 (3384H) 01EC B1 2E MOV CL, 2EH 01EE F3 A5 REP MOVSD 01F0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=13508 (34C4H) 01F6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=13508 (34C4H) 01FC B1 2E MOV CL, 2EH 01FE F3 A5 REP MOVSD 0200 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=13828 (3604H) 0206 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=13828 (3604H) 020C B1 2E MOV CL, 2EH 020E F3 A5 REP MOVSD 0210 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=14148 (3744H) 0216 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=14148 (3744H) 021C B1 2E MOV CL, 2EH 021E F3 A5 REP MOVSD 0220 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=14468 (3884H) 0226 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=14468 (3884H) 022C B1 2E MOV CL, 2EH 022E F3 A5 REP MOVSD 0230 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=14788 (39C4H) 0236 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=14788 (39C4H) 023C B1 2E MOV CL, 2EH 023E F3 A5 REP MOVSD 0240 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=15108 (3B04H) 0246 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=15108 (3B04H) 024C B1 2E MOV CL, 2EH 024E F3 A5 REP MOVSD 0250 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=15428 (3C44H) 0256 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=15428 (3C44H) 025C B1 2E MOV CL, 2EH 025E F3 A5 REP MOVSD 0260 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=15748 (3D84H) 0266 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=15748 (3D84H) 026C B1 2E MOV CL, 2EH 026E F3 A5 REP MOVSD 0270 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=16068 (3EC4H) 0276 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=16068 (3EC4H) 027C B1 2E MOV CL, 2EH 027E F3 A5 REP MOVSD 0280 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=16388 (4004H) 0286 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=16388 (4004H) 028C B1 2E MOV CL, 2EH 028E F3 A5 REP MOVSD 0290 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=16708 (4144H) 0296 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=16708 (4144H) 029C B1 2E MOV CL, 2EH 029E F3 A5 REP MOVSD 02A0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=17028 (4284H) 02A6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=17028 (4284H) 02AC B1 2E MOV CL, 2EH 02AE F3 A5 REP MOVSD 02B0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=17348 (43C4H) 02B6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=17348 (43C4H) 02BC B1 2E MOV CL, 2EH 02BE F3 A5 REP MOVSD 02C0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=17668 (4504H) 02C6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=17668 (4504H) 02CC B1 2E MOV CL, 2EH 02CE F3 A5 REP MOVSD 02D0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=17988 (4644H) 02D6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=17988 (4644H) 02DC B1 2E MOV CL, 2EH 02DE F3 A5 REP MOVSD 02E0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=18308 (4784H) 02E6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=18308 (4784H) 02EC B1 2E MOV CL, 2EH 02EE F3 A5 REP MOVSD 02F0 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=18628 (48C4H) 02F6 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=18628 (48C4H) 02FC B1 2E MOV CL, 2EH 02FE F3 A5 REP MOVSD 0300 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=18948 (4A04H) 0306 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=18948 (4A04H) 030C B1 2E MOV CL, 2EH 030E F3 A5 REP MOVSD 0310 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=19268 (4B44H) 0316 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=19268 (4B44H) 031C B1 2E MOV CL, 2EH 031E F3 A5 REP MOVSD 0320 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=19588 (4C84H) 0326 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=19588 (4C84H) 032C B1 2E MOV CL, 2EH 032E F3 A5 REP MOVSD 0330 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=19908 (4DC4H) 0336 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=19908 (4DC4H) 033C B1 2E MOV CL, 2EH 033E F3 A5 REP MOVSD 0340 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=20228 (4F04H) 0346 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=20228 (4F04H) 034C B1 2E MOV CL, 2EH 034E F3 A5 REP MOVSD 0350 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=20548 (5044H) 0356 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=20548 (5044H) 035C B1 2E MOV CL, 2EH 035E F3 A5 REP MOVSD 0360 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=20868 (5184H) 0366 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=20868 (5184H) 036C B1 2E MOV CL, 2EH 036E F3 A5 REP MOVSD 0370 81 C6 88 00 00 00 ADD ESI, 00000088H ;esi=21188 (52C4H) 0376 81 C7 88 00 00 00 ADD EDI, 00000088H ;edi=21188 (52C4H) 037C B1 2E MOV CL, 2EH 037E F3 A5 REP MOVSD 0380 83 C6 64 ADD ESI, 83H ;esi=21472 (53E0H) 0383 83 C7 64 ADD EDI, B1H ;edi=21472 (53E0H) 0386 B1 08 MOV CL, 08H 0388 F3 A5 REP MOVSD 038A 83 C6 00 ADD ESI, 83H ;esi=21504 (5400H) 038D 83 C7 00 ADD EDI, B1H ;edi=21504 (5400H) 0390 B1 30 MOV CL, 30H 0392 F3 A5 REP MOVSD 0394 83 C6 00 ADD ESI, 83H ;esi=21696 (54C0H) 0397 83 C7 00 ADD EDI, B1H ;edi=21696 (54C0H) 039A B1 08 MOV CL, 08H 039C F3 A5 REP MOVSD 039E 83 C6 40 ADD ESI, 83H ;esi=21792 (5520H) 03A1 83 C7 40 ADD EDI, B1H ;edi=21792 (5520H) 03A4 B1 40 MOV CL, 40H 03A6 F3 A5 REP MOVSD 03A8 83 C6 40 ADD ESI, 83H ;esi=22112 (5660H) 03AB 83 C7 40 ADD EDI, B1H ;edi=22112 (5660H) 03AE B1 40 MOV CL, 40H 03B0 F3 A5 REP MOVSD 03B2 83 C6 40 ADD ESI, 83H ;esi=22432 (57A0H) 03B5 83 C7 40 ADD EDI, B1H ;edi=22432 (57A0H) 03B8 B1 40 MOV CL, 40H 03BA F3 A5 REP MOVSD 03BC 83 C6 40 ADD ESI, 83H ;esi=22752 (58E0H) 03BF 83 C7 40 ADD EDI, B1H ;edi=22752 (58E0H) 03C2 B1 40 MOV CL, 40H 03C4 F3 A5 REP MOVSD 03C6 83 C6 40 ADD ESI, 83H ;esi=23072 (5A20H) 03C9 83 C7 40 ADD EDI, B1H ;edi=23072 (5A20H) 03CC B1 40 MOV CL, 40H 03CE F3 A5 REP MOVSD 03D0 83 C6 40 ADD ESI, 83H ;esi=23392 (5B60H) 03D3 83 C7 40 ADD EDI, B1H ;edi=23392 (5B60H) 03D6 B1 40 MOV CL, 40H 03D8 F3 A5 REP MOVSD 03DA 83 C6 40 ADD ESI, 83H ;esi=23712 (5CA0H) 03DD 83 C7 40 ADD EDI, B1H ;edi=23712 (5CA0H) 03E0 B1 40 MOV CL, 40H 03E2 F3 A5 REP MOVSD 03E4 83 C6 40 ADD ESI, 83H ;esi=24032 (5DE0H) 03E7 83 C7 40 ADD EDI, B1H ;edi=24032 (5DE0H) 03EA B1 40 MOV CL, 40H 03EC F3 A5 REP MOVSD 03EE 83 C6 40 ADD ESI, 83H ;esi=24352 (5F20H) 03F1 83 C7 40 ADD EDI, B1H ;edi=24352 (5F20H) 03F4 B1 40 MOV CL, 40H 03F6 F3 A5 REP MOVSD 03F8 83 C6 40 ADD ESI, 83H ;esi=24672 (6060H) 03FB 83 C7 40 ADD EDI, B1H ;edi=24672 (6060H) 03FE B1 40 MOV CL, 40H 0400 F3 A5 REP MOVSD 0402 83 C6 40 ADD ESI, 83H ;esi=24992 (61A0H) 0405 83 C7 40 ADD EDI, B1H ;edi=24992 (61A0H) 0408 B1 40 MOV CL, 40H 040A F3 A5 REP MOVSD 040C 83 C6 40 ADD ESI, 83H ;esi=25312 (62E0H) 040F 83 C7 40 ADD EDI, B1H ;edi=25312 (62E0H) 0412 B1 40 MOV CL, 40H 0414 F3 A5 REP MOVSD 0416 83 C6 40 ADD ESI, 83H ;esi=25632 (6420H) 0419 83 C7 40 ADD EDI, B1H ;edi=25632 (6420H) 041C B1 40 MOV CL, 40H 041E F3 A5 REP MOVSD 0420 83 C6 40 ADD ESI, 83H ;esi=25952 (6560H) 0423 83 C7 40 ADD EDI, B1H ;edi=25952 (6560H) 0426 B1 40 MOV CL, 40H 0428 F3 A5 REP MOVSD 042A 83 C6 40 ADD ESI, 83H ;esi=26272 (66A0H) 042D 83 C7 40 ADD EDI, B1H ;edi=26272 (66A0H) 0430 B1 40 MOV CL, 40H 0432 F3 A5 REP MOVSD 0434 83 C6 40 ADD ESI, 83H ;esi=26592 (67E0H) 0437 83 C7 40 ADD EDI, B1H ;edi=26592 (67E0H) 043A B1 40 MOV CL, 40H 043C F3 A5 REP MOVSD 043E 83 C6 40 ADD ESI, 83H ;esi=26912 (6920H) 0441 83 C7 40 ADD EDI, B1H ;edi=26912 (6920H) 0444 B1 40 MOV CL, 40H 0446 F3 A5 REP MOVSD 0448 83 C6 40 ADD ESI, 83H ;esi=27232 (6A60H) 044B 83 C7 40 ADD EDI, B1H ;edi=27232 (6A60H) 044E B1 40 MOV CL, 40H 0450 F3 A5 REP MOVSD 0452 83 C6 40 ADD ESI, 83H ;esi=27552 (6BA0H) 0455 83 C7 40 ADD EDI, B1H ;edi=27552 (6BA0H) 0458 B1 40 MOV CL, 40H 045A F3 A5 REP MOVSD 045C 83 C6 40 ADD ESI, 83H ;esi=27872 (6CE0H) 045F 83 C7 40 ADD EDI, B1H ;edi=27872 (6CE0H) 0462 B1 40 MOV CL, 40H 0464 F3 A5 REP MOVSD 0466 83 C6 44 ADD ESI, 83H ;esi=28196 (6E24H) 0469 83 C7 44 ADD EDI, B1H ;edi=28196 (6E24H) 046C B1 3E MOV CL, 3EH 046E F3 A5 REP MOVSD 0470 83 C6 48 ADD ESI, 83H ;esi=28516 (6F64H) 0473 83 C7 48 ADD EDI, B1H ;edi=28516 (6F64H) 0476 B1 3E MOV CL, 3EH 0478 F3 A5 REP MOVSD 047A 83 C6 48 ADD ESI, 83H ;esi=28836 (70A4H) 047D 83 C7 48 ADD EDI, B1H ;edi=28836 (70A4H) 0480 B1 3E MOV CL, 3EH 0482 F3 A5 REP MOVSD 0484 83 C6 48 ADD ESI, 83H ;esi=29156 (71E4H) 0487 83 C7 48 ADD EDI, B1H ;edi=29156 (71E4H) 048A B1 3E MOV CL, 3EH 048C F3 A5 REP MOVSD 048E 83 C6 48 ADD ESI, 83H ;esi=29476 (7324H) 0491 83 C7 48 ADD EDI, B1H ;edi=29476 (7324H) 0494 B1 3E MOV CL, 3EH 0496 F3 A5 REP MOVSD 0498 83 C6 48 ADD ESI, 83H ;esi=29796 (7464H) 049B 83 C7 48 ADD EDI, B1H ;edi=29796 (7464H) 049E B1 3E MOV CL, 3EH 04A0 F3 A5 REP MOVSD 04A2 83 C6 48 ADD ESI, 83H ;esi=30116 (75A4H) 04A5 83 C7 48 ADD EDI, B1H ;edi=30116 (75A4H) 04A8 B1 3E MOV CL, 3EH 04AA F3 A5 REP MOVSD 04AC 83 C6 48 ADD ESI, 83H ;esi=30436 (76E4H) 04AF 83 C7 48 ADD EDI, B1H ;edi=30436 (76E4H) 04B2 B1 3E MOV CL, 3EH 04B4 F3 A5 REP MOVSD 04B6 83 C6 48 ADD ESI, 83H ;esi=30756 (7824H) 04B9 83 C7 48 ADD EDI, B1H ;edi=30756 (7824H) 04BC B1 3E MOV CL, 3EH 04BE F3 A5 REP MOVSD 04C0 83 C6 48 ADD ESI, 83H ;esi=31076 (7964H) 04C3 83 C7 48 ADD EDI, B1H ;edi=31076 (7964H) 04C6 B1 3E MOV CL, 3EH 04C8 F3 A5 REP MOVSD 04CA 83 C6 48 ADD ESI, 83H ;esi=31396 (7AA4H) 04CD 83 C7 48 ADD EDI, B1H ;edi=31396 (7AA4H) 04D0 B1 3E MOV CL, 3EH 04D2 F3 A5 REP MOVSD 04D4 83 C6 48 ADD ESI, 83H ;esi=31716 (7BE4H) 04D7 83 C7 48 ADD EDI, B1H ;edi=31716 (7BE4H) 04DA B1 3E MOV CL, 3EH 04DC F3 A5 REP MOVSD 04DE 83 C6 48 ADD ESI, 83H ;esi=32036 (7D24H) 04E1 83 C7 48 ADD EDI, B1H ;edi=32036 (7D24H) 04E4 B1 3E MOV CL, 3EH 04E6 F3 A5 REP MOVSD 04E8 83 C6 48 ADD ESI, 83H ;esi=32356 (7E64H) 04EB 83 C7 48 ADD EDI, B1H ;edi=32356 (7E64H) 04EE B1 3E MOV CL, 3EH 04F0 F3 A5 REP MOVSD 04F2 83 C6 48 ADD ESI, 83H ;esi=32676 (7FA4H) 04F5 83 C7 48 ADD EDI, B1H ;edi=32676 (7FA4H) 04F8 B1 3E MOV CL, 3EH 04FA F3 A5 REP MOVSD 04FC 83 C6 48 ADD ESI, 83H ;esi=32996 (80E4H) 04FF 83 C7 48 ADD EDI, B1H ;edi=32996 (80E4H) 0502 B1 3E MOV CL, 3EH 0504 F3 A5 REP MOVSD 0506 83 C6 48 ADD ESI, 83H ;esi=33316 (8224H) 0509 83 C7 48 ADD EDI, B1H ;edi=33316 (8224H) 050C B1 3E MOV CL, 3EH 050E F3 A5 REP MOVSD 0510 83 C6 48 ADD ESI, 83H ;esi=33636 (8364H) 0513 83 C7 48 ADD EDI, B1H ;edi=33636 (8364H) 0516 B1 3E MOV CL, 3EH 0518 F3 A5 REP MOVSD 051A 83 C6 48 ADD ESI, 83H ;esi=33956 (84A4H) 051D 83 C7 48 ADD EDI, B1H ;edi=33956 (84A4H) 0520 B1 3E MOV CL, 3EH 0522 F3 A5 REP MOVSD 0524 83 C6 48 ADD ESI, 83H ;esi=34276 (85E4H) 0527 83 C7 48 ADD EDI, B1H ;edi=34276 (85E4H) 052A B1 3E MOV CL, 3EH 052C F3 A5 REP MOVSD 052E 83 C6 48 ADD ESI, 83H ;esi=34596 (8724H) 0531 83 C7 48 ADD EDI, B1H ;edi=34596 (8724H) 0534 B1 3E MOV CL, 3EH 0536 F3 A5 REP MOVSD 0538 83 C6 48 ADD ESI, 83H ;esi=34916 (8864H) 053B 83 C7 48 ADD EDI, B1H ;edi=34916 (8864H) 053E B1 3E MOV CL, 3EH 0540 F3 A5 REP MOVSD 0542 83 C6 48 ADD ESI, 83H ;esi=35236 (89A4H) 0545 83 C7 48 ADD EDI, B1H ;edi=35236 (89A4H) 0548 B1 3E MOV CL, 3EH 054A F3 A5 REP MOVSD 054C 83 C6 48 ADD ESI, 83H ;esi=35556 (8AE4H) 054F 83 C7 48 ADD EDI, B1H ;edi=35556 (8AE4H) 0552 B1 3E MOV CL, 3EH 0554 F3 A5 REP MOVSD 0556 83 C6 48 ADD ESI, 83H ;esi=35876 (8C24H) 0559 83 C7 48 ADD EDI, B1H ;edi=35876 (8C24H) 055C B1 3E MOV CL, 3EH 055E F3 A5 REP MOVSD 0560 83 C6 48 ADD ESI, 83H ;esi=36196 (8D64H) 0563 83 C7 48 ADD EDI, B1H ;edi=36196 (8D64H) 0566 B1 3E MOV CL, 3EH 0568 F3 A5 REP MOVSD 056A 83 C6 48 ADD ESI, 83H ;esi=36516 (8EA4H) 056D 83 C7 48 ADD EDI, B1H ;edi=36516 (8EA4H) 0570 B1 3E MOV CL, 3EH 0572 F3 A5 REP MOVSD 0574 83 C6 48 ADD ESI, 83H ;esi=36836 (8FE4H) 0577 83 C7 48 ADD EDI, B1H ;edi=36836 (8FE4H) 057A B1 3E MOV CL, 3EH 057C F3 A5 REP MOVSD 057E 83 C6 48 ADD ESI, 83H ;esi=37156 (9124H) 0581 83 C7 48 ADD EDI, B1H ;edi=37156 (9124H) 0584 B1 3E MOV CL, 3EH 0586 F3 A5 REP MOVSD 0588 83 C6 48 ADD ESI, 83H ;esi=37476 (9264H) 058B 83 C7 48 ADD EDI, B1H ;edi=37476 (9264H) 058E B1 3E MOV CL, 3EH 0590 F3 A5 REP MOVSD 0592 83 C6 48 ADD ESI, 83H ;esi=37796 (93A4H) 0595 83 C7 48 ADD EDI, B1H ;edi=37796 (93A4H) 0598 B1 3E MOV CL, 3EH 059A F3 A5 REP MOVSD 059C 83 C6 48 ADD ESI, 83H ;esi=38116 (94E4H) 059F 83 C7 48 ADD EDI, B1H ;edi=38116 (94E4H) 05A2 B1 3E MOV CL, 3EH 05A4 F3 A5 REP MOVSD 05A6 83 C6 48 ADD ESI, 83H ;esi=38436 (9624H) 05A9 83 C7 48 ADD EDI, B1H ;edi=38436 (9624H) 05AC B1 3E MOV CL, 3EH 05AE F3 A5 REP MOVSD 05B0 83 C6 48 ADD ESI, 83H ;esi=38756 (9764H) 05B3 83 C7 48 ADD EDI, B1H ;edi=38756 (9764H) 05B6 B1 3E MOV CL, 3EH 05B8 F3 A5 REP MOVSD 05BA 83 C6 48 ADD ESI, 83H ;esi=39076 (98A4H) 05BD 83 C7 48 ADD EDI, B1H ;edi=39076 (98A4H) 05C0 B1 3E MOV CL, 3EH 05C2 F3 A5 REP MOVSD 05C4 83 C6 48 ADD ESI, 83H ;esi=39396 (99E4H) 05C7 83 C7 48 ADD EDI, B1H ;edi=39396 (99E4H) 05CA B1 3E MOV CL, 3EH 05CC F3 A5 REP MOVSD 05CE 83 C6 48 ADD ESI, 83H ;esi=39716 (9B24H) 05D1 83 C7 48 ADD EDI, B1H ;edi=39716 (9B24H) 05D4 B1 3E MOV CL, 3EH 05D6 F3 A5 REP MOVSD 05D8 83 C6 48 ADD ESI, 83H ;esi=40036 (9C64H) 05DB 83 C7 48 ADD EDI, B1H ;edi=40036 (9C64H) 05DE B1 3E MOV CL, 3EH 05E0 F3 A5 REP MOVSD 05E2 83 C6 48 ADD ESI, 83H ;esi=40356 (9DA4H) 05E5 83 C7 48 ADD EDI, B1H ;edi=40356 (9DA4H) 05E8 B1 3E MOV CL, 3EH 05EA F3 A5 REP MOVSD 05EC 83 C6 48 ADD ESI, 83H ;esi=40676 (9EE4H) 05EF 83 C7 48 ADD EDI, B1H ;edi=40676 (9EE4H) 05F2 B1 3E MOV CL, 3EH 05F4 F3 A5 REP MOVSD 05F6 83 C6 48 ADD ESI, 83H ;esi=40996 (A024H) 05F9 83 C7 48 ADD EDI, B1H ;edi=40996 (A024H) 05FC B1 3E MOV CL, 3EH 05FE F3 A5 REP MOVSD 0600 83 C6 48 ADD ESI, 83H ;esi=41316 (A164H) 0603 83 C7 48 ADD EDI, B1H ;edi=41316 (A164H) 0606 B1 3E MOV CL, 3EH 0608 F3 A5 REP MOVSD 060A 83 C6 48 ADD ESI, 83H ;esi=41636 (A2A4H) 060D 83 C7 48 ADD EDI, B1H ;edi=41636 (A2A4H) 0610 B1 3E MOV CL, 3EH 0612 F3 A5 REP MOVSD 0614 83 C6 48 ADD ESI, 83H ;esi=41956 (A3E4H) 0617 83 C7 48 ADD EDI, B1H ;edi=41956 (A3E4H) 061A B1 3E MOV CL, 3EH 061C F3 A5 REP MOVSD 061E 83 C6 48 ADD ESI, 83H ;esi=42276 (A524H) 0621 83 C7 48 ADD EDI, B1H ;edi=42276 (A524H) 0624 B1 3E MOV CL, 3EH 0626 F3 A5 REP MOVSD 0628 83 C6 48 ADD ESI, 83H ;esi=42596 (A664H) 062B 83 C7 48 ADD EDI, B1H ;edi=42596 (A664H) 062E B1 3E MOV CL, 3EH 0630 F3 A5 REP MOVSD 0632 83 C6 48 ADD ESI, 83H ;esi=42916 (A7A4H) 0635 83 C7 48 ADD EDI, B1H ;edi=42916 (A7A4H) 0638 B1 3E MOV CL, 3EH 063A F3 A5 REP MOVSD 063C 83 C6 48 ADD ESI, 83H ;esi=43236 (A8E4H) 063F 83 C7 48 ADD EDI, B1H ;edi=43236 (A8E4H) 0642 B1 3E MOV CL, 3EH 0644 F3 A5 REP MOVSD 0646 83 C6 48 ADD ESI, 83H ;esi=43556 (AA24H) 0649 83 C7 48 ADD EDI, B1H ;edi=43556 (AA24H) 064C B1 3E MOV CL, 3EH 064E F3 A5 REP MOVSD 0650 83 C6 48 ADD ESI, 83H ;esi=43876 (AB64H) 0653 83 C7 48 ADD EDI, B1H ;edi=43876 (AB64H) 0656 B1 3E MOV CL, 3EH 0658 F3 A5 REP MOVSD 065A 83 C6 48 ADD ESI, 83H ;esi=44196 (ACA4H) 065D 83 C7 48 ADD EDI, B1H ;edi=44196 (ACA4H) 0660 B1 3E MOV CL, 3EH 0662 F3 A5 REP MOVSD 0664 83 C6 48 ADD ESI, 83H ;esi=44516 (ADE4H) 0667 83 C7 48 ADD EDI, B1H ;edi=44516 (ADE4H) 066A B1 3E MOV CL, 3EH 066C F3 A5 REP MOVSD 066E 83 C6 48 ADD ESI, 83H ;esi=44836 (AF24H) 0671 83 C7 48 ADD EDI, B1H ;edi=44836 (AF24H) 0674 B1 3E MOV CL, 3EH 0676 F3 A5 REP MOVSD 0678 83 C6 48 ADD ESI, 83H ;esi=45156 (B064H) 067B 83 C7 48 ADD EDI, B1H ;edi=45156 (B064H) 067E B1 3E MOV CL, 3EH 0680 F3 A5 REP MOVSD 0682 83 C6 48 ADD ESI, 83H ;esi=45476 (B1A4H) 0685 83 C7 48 ADD EDI, B1H ;edi=45476 (B1A4H) 0688 B1 3E MOV CL, 3EH 068A F3 A5 REP MOVSD 068C 83 C6 48 ADD ESI, 83H ;esi=45796 (B2E4H) 068F 83 C7 48 ADD EDI, B1H ;edi=45796 (B2E4H) 0692 B1 3E MOV CL, 3EH 0694 F3 A5 REP MOVSD 0696 83 C6 48 ADD ESI, 83H ;esi=46116 (B424H) 0699 83 C7 48 ADD EDI, B1H ;edi=46116 (B424H) 069C B1 3E MOV CL, 3EH 069E F3 A5 REP MOVSD 06A0 83 C6 48 ADD ESI, 83H ;esi=46436 (B564H) 06A3 83 C7 48 ADD EDI, B1H ;edi=46436 (B564H) 06A6 B1 3E MOV CL, 3EH 06A8 F3 A5 REP MOVSD 06AA 83 C6 48 ADD ESI, 83H ;esi=46756 (B6A4H) 06AD 83 C7 48 ADD EDI, B1H ;edi=46756 (B6A4H) 06B0 B1 3E MOV CL, 3EH 06B2 F3 A5 REP MOVSD 06B4 83 C6 48 ADD ESI, 83H ;esi=47076 (B7E4H) 06B7 83 C7 48 ADD EDI, B1H ;edi=47076 (B7E4H) 06BA B1 3E MOV CL, 3EH 06BC F3 A5 REP MOVSD 06BE 83 C6 48 ADD ESI, 83H ;esi=47396 (B924H) 06C1 83 C7 48 ADD EDI, B1H ;edi=47396 (B924H) 06C4 B1 3E MOV CL, 3EH 06C6 F3 A5 REP MOVSD 06C8 83 C6 48 ADD ESI, 83H ;esi=47716 (BA64H) 06CB 83 C7 48 ADD EDI, B1H ;edi=47716 (BA64H) 06CE B1 3E MOV CL, 3EH 06D0 F3 A5 REP MOVSD 06D2 83 C6 48 ADD ESI, 83H ;esi=48036 (BBA4H) 06D5 83 C7 48 ADD EDI, B1H ;edi=48036 (BBA4H) 06D8 B1 19 MOV CL, 19H 06DA F3 A5 REP MOVSD 06DC 83 C6 30 ADD ESI, 83H ;esi=48184 (BC38H) 06DF 83 C7 30 ADD EDI, B1H ;edi=48184 (BC38H) 06E2 B1 19 MOV CL, 19H 06E4 F3 A5 REP MOVSD 06E6 83 C6 48 ADD ESI, 83H ;esi=48356 (BCE4H) 06E9 83 C7 48 ADD EDI, B1H ;edi=48356 (BCE4H) 06EC B1 19 MOV CL, 19H 06EE F3 A5 REP MOVSD 06F0 83 C6 34 ADD ESI, 83H ;esi=48508 (BD7CH) 06F3 83 C7 34 ADD EDI, B1H ;edi=48508 (BD7CH) 06F6 B1 18 MOV CL, 18H 06F8 F3 A5 REP MOVSD 06FA 83 C6 48 ADD ESI, 83H ;esi=48676 (BE24H) 06FD 83 C7 48 ADD EDI, B1H ;edi=48676 (BE24H) 0700 B1 18 MOV CL, 18H 0702 F3 A5 REP MOVSD 0704 83 C6 38 ADD ESI, 83H ;esi=48828 (BEBCH) 0707 83 C7 38 ADD EDI, B1H ;edi=48828 (BEBCH) 070A B1 18 MOV CL, 18H 070C F3 A5 REP MOVSD 070E 83 C6 44 ADD ESI, 83H ;esi=48992 (BF60H) 0711 83 C7 44 ADD EDI, B1H ;edi=48992 (BF60H) 0714 B1 19 MOV CL, 19H 0716 F3 A5 REP MOVSD 0718 83 C6 3C ADD ESI, 83H ;esi=49152 (C000H) 071B 83 C7 3C ADD EDI, B1H ;edi=49152 (C000H) 071E B1 18 MOV CL, 18H 0720 F3 A5 REP MOVSD 0722 83 C6 40 ADD ESI, 83H ;esi=49312 (C0A0H) 0725 83 C7 40 ADD EDI, B1H ;edi=49312 (C0A0H) 0728 B1 19 MOV CL, 19H 072A F3 A5 REP MOVSD 072C 83 C6 3C ADD ESI, 83H ;esi=49472 (C140H) 072F 83 C7 3C ADD EDI, B1H ;edi=49472 (C140H) 0732 B1 18 MOV CL, 18H 0734 F3 A5 REP MOVSD 0736 83 C6 40 ADD ESI, 83H ;esi=49632 (C1E0H) 0739 83 C7 40 ADD EDI, B1H ;edi=49632 (C1E0H) 073C B1 19 MOV CL, 19H 073E F3 A5 REP MOVSD 0740 83 C6 3C ADD ESI, 83H ;esi=49792 (C280H) 0743 83 C7 3C ADD EDI, B1H ;edi=49792 (C280H) 0746 B1 18 MOV CL, 18H 0748 F3 A5 REP MOVSD 074A 83 C6 40 ADD ESI, 83H ;esi=49952 (C320H) 074D 83 C7 40 ADD EDI, B1H ;edi=49952 (C320H) 0750 B1 19 MOV CL, 19H 0752 F3 A5 REP MOVSD 0754 83 C6 3C ADD ESI, 83H ;esi=50112 (C3C0H) 0757 83 C7 3C ADD EDI, B1H ;edi=50112 (C3C0H) 075A B1 18 MOV CL, 18H 075C F3 A5 REP MOVSD 075E 83 C6 40 ADD ESI, 83H ;esi=50272 (C460H) 0761 83 C7 40 ADD EDI, B1H ;edi=50272 (C460H) 0764 B1 19 MOV CL, 19H 0766 F3 A5 REP MOVSD 0768 83 C6 3C ADD ESI, 83H ;esi=50432 (C500H) 076B 83 C7 3C ADD EDI, B1H ;edi=50432 (C500H) 076E B1 18 MOV CL, 18H 0770 F3 A5 REP MOVSD 0772 83 C6 40 ADD ESI, 83H ;esi=50592 (C5A0H) 0775 83 C7 40 ADD EDI, B1H ;edi=50592 (C5A0H) 0778 B1 19 MOV CL, 19H 077A F3 A5 REP MOVSD 077C 83 C6 3C ADD ESI, 83H ;esi=50752 (C640H) 077F 83 C7 3C ADD EDI, B1H ;edi=50752 (C640H) 0782 B1 18 MOV CL, 18H 0784 F3 A5 REP MOVSD 0786 83 C6 40 ADD ESI, 83H ;esi=50912 (C6E0H) 0789 83 C7 40 ADD EDI, B1H ;edi=50912 (C6E0H) 078C B1 18 MOV CL, 18H 078E F3 A5 REP MOVSD 0790 83 C6 40 ADD ESI, 83H ;esi=51072 (C780H) 0793 83 C7 40 ADD EDI, B1H ;edi=51072 (C780H) 0796 B1 18 MOV CL, 18H 0798 F3 A5 REP MOVSD 079A 83 C6 40 ADD ESI, 83H ;esi=51232 (C820H) 079D 83 C7 40 ADD EDI, B1H ;edi=51232 (C820H) 07A0 B1 18 MOV CL, 18H 07A2 F3 A5 REP MOVSD 07A4 83 C6 40 ADD ESI, 83H ;esi=51392 (C8C0H) 07A7 83 C7 40 ADD EDI, B1H ;edi=51392 (C8C0H) 07AA B1 18 MOV CL, 18H 07AC F3 A5 REP MOVSD 07AE 83 C6 40 ADD ESI, 83H ;esi=51552 (C960H) 07B1 83 C7 40 ADD EDI, B1H ;edi=51552 (C960H) 07B4 B1 18 MOV CL, 18H 07B6 F3 A5 REP MOVSD 07B8 83 C6 40 ADD ESI, 83H ;esi=51712 (CA00H) 07BB 83 C7 40 ADD EDI, B1H ;edi=51712 (CA00H) 07BE B1 18 MOV CL, 18H 07C0 F3 A5 REP MOVSD 07C2 83 C6 40 ADD ESI, 83H ;esi=51872 (CAA0H) 07C5 83 C7 40 ADD EDI, B1H ;edi=51872 (CAA0H) 07C8 B1 18 MOV CL, 18H 07CA F3 A5 REP MOVSD 07CC 83 C6 44 ADD ESI, 83H ;esi=52036 (CB44H) 07CF 83 C7 44 ADD EDI, B1H ;edi=52036 (CB44H) 07D2 B1 17 MOV CL, 17H 07D4 F3 A5 REP MOVSD 07D6 83 C6 40 ADD ESI, 83H ;esi=52192 (CBE0H) 07D9 83 C7 40 ADD EDI, B1H ;edi=52192 (CBE0H) 07DC B1 18 MOV CL, 18H 07DE F3 A5 REP MOVSD 07E0 83 C6 44 ADD ESI, 83H ;esi=52356 (CC84H) 07E3 83 C7 44 ADD EDI, B1H ;edi=52356 (CC84H) 07E6 B1 17 MOV CL, 17H 07E8 F3 A5 REP MOVSD 07EA 83 C6 40 ADD ESI, 83H ;esi=52512 (CD20H) 07ED 83 C7 40 ADD EDI, B1H ;edi=52512 (CD20H) 07F0 B1 18 MOV CL, 18H 07F2 F3 A5 REP MOVSD 07F4 83 C6 44 ADD ESI, 83H ;esi=52676 (CDC4H) 07F7 83 C7 44 ADD EDI, B1H ;edi=52676 (CDC4H) 07FA B1 17 MOV CL, 17H 07FC F3 A5 REP MOVSD 07FE 83 C6 40 ADD ESI, 83H ;esi=52832 (CE60H) 0801 83 C7 40 ADD EDI, B1H ;edi=52832 (CE60H) 0804 B1 18 MOV CL, 18H 0806 F3 A5 REP MOVSD 0808 83 C6 44 ADD ESI, 83H ;esi=52996 (CF04H) 080B 83 C7 44 ADD EDI, B1H ;edi=52996 (CF04H) 080E B1 17 MOV CL, 17H 0810 F3 A5 REP MOVSD 0812 83 C6 40 ADD ESI, 83H ;esi=53152 (CFA0H) 0815 83 C7 40 ADD EDI, B1H ;edi=53152 (CFA0H) 0818 B1 18 MOV CL, 18H 081A F3 A5 REP MOVSD 081C 83 C6 44 ADD ESI, 83H ;esi=53316 (D044H) 081F 83 C7 44 ADD EDI, B1H ;edi=53316 (D044H) 0822 B1 17 MOV CL, 17H 0824 F3 A5 REP MOVSD 0826 83 C6 44 ADD ESI, 83H ;esi=53476 (D0E4H) 0829 83 C7 44 ADD EDI, B1H ;edi=53476 (D0E4H) 082C B1 17 MOV CL, 17H 082E F3 A5 REP MOVSD 0830 83 C6 44 ADD ESI, 83H ;esi=53636 (D184H) 0833 83 C7 44 ADD EDI, B1H ;edi=53636 (D184H) 0836 B1 16 MOV CL, 16H 0838 F3 A5 REP MOVSD 083A 83 C6 48 ADD ESI, 83H ;esi=53796 (D224H) 083D 83 C7 48 ADD EDI, B1H ;edi=53796 (D224H) 0840 B1 16 MOV CL, 16H 0842 F3 A5 REP MOVSD 0844 83 C6 48 ADD ESI, 83H ;esi=53956 (D2C4H) 0847 83 C7 48 ADD EDI, B1H ;edi=53956 (D2C4H) 084A B1 16 MOV CL, 16H 084C F3 A5 REP MOVSD 084E 83 C6 4C ADD ESI, 83H ;esi=54120 (D368H) 0851 83 C7 4C ADD EDI, B1H ;edi=54120 (D368H) 0854 B1 15 MOV CL, 15H 0856 F3 A5 REP MOVSD 0858 83 C6 4C ADD ESI, 83H ;esi=54280 (D408H) 085B 83 C7 4C ADD EDI, B1H ;edi=54280 (D408H) 085E B1 14 MOV CL, 14H 0860 F3 A5 REP MOVSD 0862 C3 RET It appears to be copying pixels, row by row, from a buffer to the screen, in the shape of the visor. At least, that's what I thought. I was wrong - this code is not the Wolfenstein-like self-modifying code, and it would actually perform extremely well on modern processors, as it contains no calls or jumps, only a single return at the end. However, today I did a little experiment. I wrote a little interpreter for the above code. I set up 2 picture buffers: The source is Doom's TITLEPIC (320x200), and the destination buffer is a blank 320x200 buffer. I assumed ESI and EDI start at 0x0, and I performed the above copies (REP MOVSD) from the source to the destination, and here's the resultant picture, scaled 2X: I guess the top half corresponds to the ADDs with 32-bit immediates, and the bottom half is the 8-bit immediates. Something very funky is going on here. That arc at the top seems to match the arc in the Alpha 0.2 visor, but the pixels I copied are too big. Could this be for a multi-page video mode with higher bit depth or higher resolution? And, WTF happened at the bottom? Well, for 20 minutes work, it's something. Maybe this code isn't even being used - I haven't verified that. It would be easy enough to insert a RET instruction (0xC3) at the top of HIGHBLIT, and, if the rendered output disappears, that would verify if the code was active. I could very well have a goofy bug causing bugs in the bottom half. Looks like some ninja Carmack shit. Honestly, I'm just happy to see the arc. Now, this was only the first half of the HIGHBLIT lump. I couldn't make heads or tails of the second half. It doesn't look like machine code - it kinda looks like a collection of variable sized data tables. There are repeating elements, but I couldn't figure out the pattern. I suppose I could disassemble Doom.exe v0.2 (which would be fun and interesting), but I've already spent far too much time on this for now. If you think about it, a modder could have designed any visor shape, and a tool could have generated the code. I mean, of course you could always cheat with an overlay with a transparent region, but this is slow, and way less elegant. The visor idea actually did survive somewhat, in the form of variable screen size. Carmack clearly wanted to provide the fastest engine, even if it meant reducing screen size to get sufficient fps. I love a good mystery, and here are 2: Why does the bottom half of the picture screw up? What is contained in the second half of the HIGHBLIT lump? Here are the results of my analysis of the second half (to make sense of it, open up the lump in a hex editor, starting at byte 0x0863. Honestly, I don't remember what I was doing, exactly. It had something to do with repeating patterns. I remember feeling that the meaning of the data was just beyond my grasp. Looking at it now, the 6x numbers look like horizontal offsets, and the Fx numbers might be sentinels with a negative component?? Frustrating!) Spoiler * Offset 0863H: Header 60 6A 6D 6C 67 61 * Offset 0869H: Data FE5FEE60 *3 = 64 00 6E FE00 *6 = 6F 6A 00 00 6D 68 FD65 *1 = 5E EC00 *17 = 63 00 4F 6D 6C 6E 00 00 6F 67 69 4F 00 6F 4D 6A 67 EC00 *1 = 5E FD65 *2 = 6D 6E FE00FD00 *1 = 6D FD6A *2 = 64 5F EC00 *1 = 69 F264 *1 = 65 EC00 *2 = 5F 65 FE6A *2 = 65 6E FE00 *3 = 2F 30 00 FB6F *2 = 64 5F EB00 *5 = 6E 6D 00 00 6F F700 *1 = 6F EC00 *2 = 5F 65 FE6F *2 = 6A 6F FE00F900 *3 = 69 64 60 EB00 *16 = 69 5C 00 5E 50 5B 68 00 6F 6A 6F 5B 65 00 00 6F EC00 *3 = 5F 65 6E FA00FD00 *1 = 6C FE00 *3 = 69 64 60 EB00 *11 = 69 68 00 5F 6A 5E 4C 6F 6F 00 6A FD00 *1 = 6F EC00 *3 = 5F 65 6A FA00424F4459 *1 = 00 2F6C *1 = 00 C26F *14 = 29 67 63 5C 65 67 68 69 6A 6C 6E 6F 6E 6D F46CFF6A *4 = 69 68 65 64 FD63FF64 *4 = 65 69 6A 6E FE00 *3 = 6E 68 67 EF65 *3 = 67 68 6A FB00 *2 = 69 67 DD64 *2 = 67 69 FB00 *3 = 6A 68 67 EF65 *3 = 67 68 6E FE00 *4 = 6E 6A 69 65 FE64FE63 *6 = 64 65 68 69 6A 6A F46C *14 = 6D 6E 6F 6E 6C 6A 69 68 67 65 5C 63 67 29 C100C16F *15 = 29 67 63 5C 64 65 67 68 69 6A 6C 6E 6F 6E 6D F46CFF6A *4 = 69 68 65 64 FD63FF64 *3 = 65 69 6D FD00 *4 = 6C 68 67 65 F164 *3 = 65 68 6C FB00 *2 = 68 65 DD63 *2 = 65 68 FB00 *3 = 6C 68 65 F164 *4 = 65 67 68 6C FD00 *3 = 6D 69 65 FE64FE63 *6 = 64 65 68 69 6A 6A F46C *15 = 6D 6E 6F 6E 6C 6A 69 68 67 65 64 5C 63 67 29 C100C16F *16 = 29 67 63 5C 64 64 65 67 68 69 6A 6C 6E 6F 6E 6D F46C *6 = 6A 69 68 67 65 64 FD63FF64 *3 = 68 6D 6F FE00 *6 = 6E 6C 68 67 65 64 F463 *4 = 64 67 69 6D FB00 *3 = 6A 65 63 DF61 *3 = 63 65 6A FB00 *4 = 6D 69 67 64 F463 *6 = 64 65 67 68 6C 6E FE00 *3 = 6F 6D 68 FE64FE63 *6 = 64 65 67 68 69 6A F46C *16 = 6D 6E 6F 6E 6C 6A 69 68 67 65 64 64 5C 63 67 29 C100C16F *17 = 29 67 63 5C 67 64 64 65 67 68 69 6A 6C 6E 6F 6E 6D F46C *5 = 6A 69 68 65 64 FD63 *5 = 64 65 69 6D 6F FD00 *7 = 6D 6C 68 67 65 64 63 F861 *6 = 63 65 67 69 6C 6E FB00 *4 = 6D 6A 64 63 E160 *4 = 63 64 6A 6D FB00 *6 = 6E 6C 69 67 65 63 F861 *7 = 63 64 65 67 68 6C 6D FD00 *6 = 6F 6D 69 65 64 64 FE63 *5 = 64 65 68 69 6A F46C *17 = 6D 6E 6F 6E 6C 6A 69 68 67 65 64 64 67 5C 63 67 29 C100C16F *18 = 29 67 63 5C 68 65 64 64 65 67 68 69 6A 6C 6E 6F 6E 6D F56CFF6A *12 = 68 67 65 64 63 63 64 65 67 6A 6E 6F FD00 *7 = 6E 6D 6C 6A 67 65 64 FB63 *8 = 64 65 67 68 69 6A 6D 6E CB00 *8 = 6E 6D 6A 69 68 67 65 64 FB63 *7 = 64 65 67 6A 6C 6D 6E FD00 *14 = 6F 6E 6A 67 65 64 63 63 64 65 67 68 6A 6A F56C *18 = 6D 6E 6F 6E 6C 6A 69 68 67 65 64 64 65 68 5C 63 67 29 C100C16F *19 = 29 67 63 5C 69 67 65 63 64 65 67 68 69 6A 6C 6E 6F 6E 6D F56C *13 = 6A 69 68 65 64 63 64 65 67 69 6C 6E 6F FB00 *5 = 6E 6D 6C 6A 69 FE68 *5 = 69 6A 6A 6C 6C F500 *5 = 6E 6D 6D 6C 6C FC6AE46CFF6D *1 = 6E F500FF6CFF6A *1 = 69 FE68 *5 = 69 6A 6C 6D 6E FB00 *13 = 6F 6E 6C 69 67 65 64 63 64 65 68 69 6A F56C *19 = 6D 6E 6F 6E 6C 6A 69 68 67 65 64 63 65 67 69 5C 63 67 29 C100C16F *20 = 29 67 63 5C 6A 68 67 64 63 64 65 67 68 69 6A 6D 6E 6F 6E 6D F66C *12 = 6A 69 68 65 64 65 65 68 69 6C 6E 6F ED00FF6FFF6EFB6DFF6C *4 = 6A 69 68 68 DF67FF68 *4 = 69 6A 6C 6C FB6DFF6EFF6FED00 *12 = 6F 6E 6C 69 68 65 65 64 65 68 69 6A F66C *20 = 6D 6E 6F 6E 6D 6A 69 68 67 65 64 63 64 67 68 6A 5C 63 67 29 C100C16F *21 = 29 67 63 5C 6A 69 68 65 63 63 64 65 67 68 69 6C 6E 6F 6F 6E 6D F86CFF6A *10 = 69 68 65 67 68 69 6A 6C 6E 6F F500 *2 = 6E 6D FE6CFE6DFF6E *1 = 6D FE6CFC6A *4 = 69 68 68 67 DB65 *4 = 67 68 68 69 FC6AFE6C *3 = 6D 6E 6E FE6DFE6C *2 = 6D 6E F500 *12 = 6F 6E 6C 6A 69 68 67 65 68 69 6A 6A F86C *21 = 6D 6E 6F 6F 6E 6C 69 68 67 65 64 63 63 65 68 69 6A 5C 63 67 29 C100C16F *21 = 29 67 63 5C 6C 6A 69 67 65 63 61 64 65 67 69 6C 6E 6F 00 6F 6E FE6DFE6CFD6AFE69 *5 = 6A 6C 6C 6D 6E F900 *8 = 6E 6D 6C 6C 6D 6D 6E 6F FD6EFC6DFF6CFE6AFE69FF68 *3 = 67 65 65 DB64FF65 *3 = 67 68 68 FE69FE6AFF6CFC6DFD6E *8 = 6F 6E 6D 6D 6C 6C 6D 6E F900 *5 = 6E 6D 6C 6C 6A FE69FD6AFE6CFE6D *21 = 6E 6F 00 6F 6E 6C 69 67 65 64 61 63 65 67 69 6A 6C 5C 63 67 29 C100C16F *21 = 29 67 63 5C 6C 6A 69 68 67 65 63 61 64 65 6A 6D 6E 6F 00 00 6F FE6EFC6DFE6EFE6FFD00 *3 = 6F 6E 6D FE6C *3 = 6D 6E 6E F86FFF6EFD6DFF6CFF6AFE69FF68FF67FF65FF64DC63 *7 = 64 65 65 67 67 68 68 FE69FF6AFF6CFD6DFF6EF86FFF6E *1 = 6D FE6C *3 = 6D 6E 6F FD00FE6FFE6EFC6DFE6E *21 = 6F 00 00 6F 6E 6D 6A 65 64 61 63 65 67 68 69 6A 6C 5C 63 67 29 C100C16F *17 = 29 67 63 5C 6D 6C 6A 69 68 67 65 64 65 69 6C 6E 6F FC00F96FFE00 *8 = 6F 6E 6D 6C 6C 6D 6E 6E F16FFE6EFE6D *5 = 6C 6A 6A 69 69 FE68FF67FF65FD64DE63FE64 *1 = 65 FE67FE68FF69FF6A *1 = 6C FE6DFE6EF16FFF6E *6 = 6D 6C 6C 6D 6E 6F FE00F96FFC00 *17 = 6F 6E 6C 69 65 64 65 67 68 69 6A 6C 6D 5C 63 67 29 C100C16F *16 = 29 67 63 5C 6D 6C 6A 69 68 67 67 65 69 6C 6E 6F F500FF6E *6 = 6D 6C 6C 6D 6E 6E F26FF66EFF6DFE6AFE69FE68FE67D9FFFE67FE68FE69FE6AFF6DF66EF26FFF6E *6 = 6D 6C 6C 6D 6E 6E F500 *16 = 6F 6E 6C 69 65 67 67 68 69 6A 6C 6D 5C 63 67 29 C100C16F *15 = 29 67 63 5C 6D 6C 6A 69 68 67 67 69 6C 6E 6F FA00 *8 = 6F 6E 6D 6C 6C 6D 6E 6E F26FFA6EF76D *2 = 6C 6A C1FF *2 = 6A 6C F76DFA6EF26FFF6E *6 = 6D 6C 6C 6D 6E 6F FA00 *15 = 6F 6E 6C 69 67 67 68 69 6A 6C 6D 5C 63 67 29 C100C16F *13 = 29 67 63 5C 6D 6C 6A 69 69 6A 6C 6E 6F FD00 *2 = 6F 6E FD6DFF6EF46FF96EFD6DFE6C *1 = 6A ADFF *1 = 6A FE6CFD6DF96EF46FFF6EFD6D *2 = 6E 6F FD00 *13 = 6F 6E 6C 6A 69 69 6A 6C 6D 5C 63 67 29 C100C16F *9 = 29 67 63 5C 6C 6D 6E 6E 6F FD00FF6FFB6EF56FFB6EFB6DFE6CA1FFFE6CFB6DFB6EF56FFB6EFF6FFD00 *9 = 6F 6E 6E 6D 6C 5C 63 67 29 C100C16F *6 = 29 67 63 5C 6F 6F FE00EF6FFA6EFC6D *2 = 6C 6A 93FF *2 = 6A 6C FC6DFA6EEF6FFE00FF6F *4 = 5C 63 67 29 C100C16F *5 = 29 67 63 5C 00 F06FFB6EFB6D *2 = 6C 6A 89FF *2 = 6A 6C FB6DFB6EF06F *5 = 00 5C 63 67 29 C100C16F *4 = 29 67 63 5C FD00F86FFB6EFC6D *2 = 6C 6A 81FFFDFF *2 = 6A 6C FC6DFB6EF86FFD00 *4 = 5C 63 67 29 C100C16F *5 = 29 67 63 5C 00 F96FFB6EFD6D *2 = 6C 6A 81FFF3FF *2 = 6A 6C FD6DFB6EF96F *5 = 00 5C 63 67 29 C100C16F *4 = 29 67 63 5C FC6FFC6EFC6D *2 = 6C 6A 81FFEBFF *2 = 6A 6C FC6DFC6EFC6F *4 = 5C 63 67 29 C100C16F *5 = 29 67 63 5C 6F FC6EFD6D *2 = 6C 6A 81FFE1FF *2 = 6A 6C FD6DFC6E *5 = 6F 5C 63 67 29 C100C16F *6 = 29 67 63 5C 6E 6E FD6D *2 = 6C 6A 81FFD9FF *2 = 6A 6C FD6DFF6E *4 = 5C 63 67 29 C100C16F *8 = 29 67 63 5C 6D 6D 6C 6A 81FFD1FF *8 = 6A 6C 6D 6D 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5C 81FFC9FF *4 = 5C 63 67 29 C100C16F *4 = 29 67 63 5E 81FFC9FF *4 = 5E 63 67 29 C100C16F *4 = 29 67 63 5E 81FFC9FF *4 = 5E 63 67 29 C100C16F *4 = 29 67 63 5E 81FFC9FF *4 = 5E 63 67 29 C100C16F *5 = 69 60 57 59 61 81FFCBFF *5 = 61 5A 59 60 69 C100C16F *5 = 6A 61 59 5A 61 81FFCBFF *5 = 61 5A 57 61 6A C100C16F *5 = 6A 64 5E 5C 64 81FFCBFF *5 = 64 5C 5E 64 6A C100C429 *8 = 6E 5E 63 67 67 61 60 65 81FFCBFF *8 = 65 60 61 67 67 63 5E 6E C429CE5F *1 = 5E FD5C *6 = 5E 5F 60 61 64 6E FD69 *3 = 65 64 67 81FFCBFF *3 = 67 64 65 FD69 *4 = 6E 64 61 60 C75FFD67FE65FF64D263 *13 = 64 65 67 68 69 6E 6C 6C 6A 68 67 67 68 81FFCBFF *13 = 68 67 67 68 6A 6C 6C 6E 69 68 67 65 64 D263FF64FE65FD67 *3 = 65 64 64 FA63D561 *14 = 63 64 65 67 68 69 6A 6E 6D 6D 6C 6A 69 69 81FFC9FFFF69 *12 = 6A 6C 6D 6D 6E 6A 69 68 67 65 64 63 D561FA63FF64 *1 = 65 014F6FFE *1 = FF 6F0B *1 = 5E 6100 *1 = 6F 6A68 *1 = 6F 6568FB00FF6FF900E7FF *6 = 6E 6A 6C 6C 6A 6A 81FFC7FFFF6AFF6C *2 = 6A 6E E7FFFF6FFC00 *14 = 6E 64 67 46 4C 4C 60 64 6C 6A 6A 6F 00 00 F86FFD00 *1 = 6F 016F6DFE *1 = FF 6F02 *1 = 60 60FE *1 = 01 6F67ED0081FF87FFFA6F *3 = 60 63 5B FE60FF45 *8 = 6A 68 5E 6A 00 5B 00 4F FB6F *6 = 00 5E 61 00 00 6F 0C6F6A00 *1 = 5F 6D6E *1 = 6F 6E006867F86A *5 = 6C 6A 6A 67 6C F90081FF87FF *2 = 6F 6D FD6F *18 = 00 59 6D 60 65 4C 6F 5C 35 00 60 6A 67 00 63 00 6F 6D FC6F *3 = 00 60 60 FE00 *12 = 6F 4C 00 00 6D 67 6E 00 60 5B 00 56 F400 *3 = 6A 60 00 FE6FFD0081FF87FFFF6FFF00FF6F *8 = 00 6C 64 64 4C 4C 65 63 FE4CFF6E *1 = 00 FE6F *12 = 6A 6C 4C 6F 6D 6E 00 6F 6E 00 68 67 006FFE00 *11 = 6E 6D 6C 00 69 65 00 5B 6A 63 00 FE6F *2 = 00 6F FE00 *6 = 68 64 6D 5A 6F 00 FE6FFE0081FF87FF *3 = 6F 00 00 FE6FFE00 *4 = 6F 6D 6A 6A FE00 *1 = 6F FE00 *15 = 5B 00 6F 4C 4C 4F 6D 67 6E 00 60 5B 00 56 00 006FFE00 *25 = 4D 6C 6C 00 6A 67 00 60 60 50 6A 00 60 5B 6E 00 6C 68 6F 30 50 00 5B 00 00 FD6FFF0081FF87FF *2 = 6F 00 FD6F *26 = 00 6D 6F 00 6A 5B 60 6F 67 5B 63 6F 6E 00 6C 00 6F 6C 6C 6E 6E 6D 6C 00 69 65 FE00 *1 = 6F FE00 *28 = 4F 68 6C 00 63 5B 00 5E 68 67 6F 6F 5A 56 68 6F 6F 00 00 68 6A 00 5A 00 00 69 6A 6C FE6D81FF87FF *32 = 6F 6D 6D 6C 6C 6D 00 5E 4D 6F 63 53 68 63 57 57 6F 5B 00 6F 68 00 6F 6C 68 6F 4D 6C 6C 00 6A 67 FE00FE00FF6F *24 = 6A 6C 00 6F 6C 4C 5C 60 5B 68 4D 5A 5B 35 6E 68 68 6F 5B 56 68 5A 6A 00 FB6A81FF87FF *1 = 6F FC6A *26 = 00 4D 00 4D 64 63 6A 60 65 65 68 5B 00 00 60 00 6F 6C 69 6F 4F 68 6C 00 63 5B FE00FE00 *28 = 6F 6E 6A 69 00 64 57 6F 65 5C 60 4D 6F 5B 65 68 6F 6A 6D 00 57 5B 6F 60 6C 00 6A 6A FD6C81FF87FF *1 = 6F FC6C *29 = 00 63 00 4C 45 4C 69 5B 68 6D 6A 5B 00 6F 00 00 6F 6C 6C 6F 6F 6A 6C 00 6F 6C 00 00 60 FF00 *29 = 6A 6F 6E 67 6E 00 65 60 00 60 4D 6A 6F 00 5B 5E 68 6F 4F 4C 4F 4D 4C 6F 5A 6A 00 6C 6C FD6D81FF87FF *1 = 6F FC6D *25 = 00 63 00 4C 40 4D 6F 57 67 6F 6A 5E 00 00 5B 00 6F 4F 6F 6F 6E 6A 69 00 64 FE00 *1 = 5C FF00 *28 = 68 6C 6F 68 6C 00 6E 4C 00 5C 5E 56 4C 6F 60 6A 65 4D 4F 00 00 57 56 6F 64 50 00 6D FC6E81FF87FF *1 = 6F FC6E *25 = 00 6F 6F 4D 57 67 6D 5B 60 6C 63 5E 00 00 67 00 4C 69 6A 6F 6E 67 6E 00 65 FE00 *1 = 4D 1C006C686F6F4C69 *1 = 64 57005F466300 *1 = 5C 4C6F *1 = 00 4D6F6057 *1 = 63 6F00FB6F81FF87FFFB6F *29 = 00 5C 6F 4F 63 56 4F 64 65 5E 00 5B 00 6F 6F 00 6D 68 68 6C 6F 68 6C 00 6E 00 00 5C 5E 0000FC6F *23 = 4F 00 4C 69 00 5B 68 64 4F 00 57 5A 6F 00 69 35 5A 4A 5E 4D 40 5A 00 FB6F81FF87FFFB6F *23 = 00 4C 6F 4D 6F 5E 68 4C 69 5A 64 68 00 6F 5E 00 6F 6C 68 6F 6F 4C 69 FD00 *2 = 5F 46 0563676F686C6DFE6712636F685A566A6F67634C *1 = 63 565C6A50676A63FA *1 = 81 FF87FF006FFB *1 = 0F 654D4F6D5A634D6950646C006F6D *1 = 4F FC6F *1 = 4F FD00 *2 = 5B 68 1067686F6C6D6E6A6F65570068676900 *1 = 6F FE00 *8 = 6F 60 65 00 4C 6F 5C 6A FA0081FF87FF *1 = 6F FB00 *28 = 57 4F 67 5B 60 4D 63 67 50 6C 61 6E 6F 6C 6D 63 67 6F 68 6C 6D 67 67 00 00 6F 68 5A E468 *2 = 6D 6F FD0081FF87FF *1 = 6F FE00 *2 = 6F 6D E468E96C *11 = 6A 69 68 67 65 65 68 6D 6F 00 00 81FF87FF *12 = 6F 00 6F 6D 68 65 65 67 68 68 69 6A EA6CE600 *8 = 6F 6E 6A 64 61 68 6D 00 81FF87FF *8 = 6F 6D 68 61 64 6A 6E 6F E600E400 *6 = 6F 69 64 61 65 6A 81FF87FF *6 = 6A 65 61 64 69 6F E400 *1 = 2D ED2FFC2DFD00 *5 = 6E 69 63 61 67 81FF87FF *5 = 67 61 63 69 6E FD00E72DE800 *10 = 2F 2D 2F 00 00 6F 6A 64 5F 64 81FF87FF *10 = 64 5F 64 6A 6F 00 00 2F 2D 2F E800E600 *9 = 2D 00 00 6F 6C 67 5F 61 64 81FF89FF *9 = 64 61 5F 67 6C 6F 00 00 2D E600E600FF2F *7 = 00 6F 6C 67 5F 61 63 81FF89FF *9 = 63 61 5F 67 6C 6F 00 2F 2F E600E500 *9 = 2D 00 6F 6C 67 5F 60 61 64 81FF8BFF *9 = 64 61 60 5F 67 6C 6F 00 2D E500E500 *9 = 2D 00 6F 6C 67 5F 60 61 63 81FF8BFF *11 = 63 61 60 5F 67 6C 6F 00 2D 00 00 FE29 *6 = 00 29 00 29 00 29 FE00FE29 *6 = 00 29 00 29 00 29 FC00F000FA29FD00 *10 = 29 00 6F 6C 67 5F 60 61 61 64 81FF8DFF *21 = 64 61 61 60 5F 67 6C 6F 00 29 00 00 29 00 29 00 29 00 29 00 29 FE00 *9 = 29 00 29 00 29 00 29 00 29 FC00F000FA29FD00 *10 = 29 00 6F 6C 67 5E 5F 60 61 63 81FF8DFF *21 = 63 61 60 5F 5E 67 6C 6F 00 29 00 00 23 29 29 00 29 00 29 00 29 FE00 *9 = 23 29 29 00 29 00 29 00 29 FC00F000FA29FD00 *10 = 29 00 6F 6C 67 5C 5F 60 60 61 81FF8DFF *21 = 61 60 60 5F 5C 67 6C 6F 00 29 00 00 29 00 29 00 29 00 29 00 29 FE00 *9 = 29 00 29 00 29 00 29 00 29 FC00F000FA29FD00 *11 = 29 00 6F 6C 67 5B 5F 5F 60 61 65 81FF8FFF *13 = 65 61 60 5F 5F 5B 67 6C 6F 00 29 00 00 FE29 *1 = 00 FE29 *1 = 00 FE29 *1 = 00 FE29 *1 = 00 FE29 *1 = 00 FE29FE00F000FA29FD00 *11 = 29 00 6F 4A 67 5B 5F 5F 60 61 63 81FF8FFF *11 = 63 61 60 5F 5F 5B 67 4A 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 4A 67 5A 5F 5F 60 60 63 81FF8FFF *11 = 63 60 60 5F 5F 5A 67 4A 6F 00 29 E500F000FA29FD00 *6 = 29 00 6F 4A 67 5A FE5F *2 = 60 61 81FF8FFF *2 = 61 60 FE5F *6 = 5A 67 4A 6F 00 29 E500F000FA29FD00 *6 = 29 00 6F 4A 67 5A FE5F *2 = 60 61 81FF8FFF *2 = 61 60 FE5F *6 = 5A 67 4A 6F 00 29 E500F000FA29FD00 *6 = 29 00 6F 4A 67 5A FD5F *1 = 61 81FF8FFF *1 = 61 FD5F *6 = 5A 67 4A 6F 00 29 E500F000FA29FD00 *6 = 29 00 6F 49 67 5A FD5F *1 = 61 81FF8FFF *1 = 61 FD5F *6 = 5A 67 49 6F 00 29 E500F000FA29FD00 *6 = 29 00 6F 49 67 59 FD5F *1 = 61 81FF8FFF *1 = 61 FD5F *6 = 59 67 49 6F 00 29 E500F000FA29FD00 *6 = 29 00 6F 49 67 59 FD5F *1 = 61 81FF8FFF *1 = 61 FD5F *6 = 59 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 59 5F 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5F 59 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5F 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5F 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5F 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5F 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5F 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5F 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5E 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5E 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5C 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5C 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5C 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5C 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5C 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5C 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5B 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5B 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5C 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5C 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5C 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5C 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5E 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5E 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5E 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5E 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5F 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5C 5F 5F 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5F 5F 5C 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5F 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 5F 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 5F 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 57 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 57 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 59 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 59 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 5A 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 5A 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 5A 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 5A 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 6F 49 67 5B 60 5F 5E 5F 61 81FF8FFF *11 = 61 5F 5E 5F 60 5B 67 49 6F 00 29 E500F000FA29FD00 *11 = 29 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? If I remember correctly, I identified repeating patterns that almost have to be describing some type of rendering/compression algorithm. Oh, and, finally, there's another mystery: the VIEWINFO lump. I didn't spend any time on it, but I think it is related. Can these be solved without disassembling the .exe? Give it a try! The data is obviously not random. What could it mean? Edited April 17, 2019 by kb1 : added some text for clarity 4 Share this post Link to post
VGA Posted April 17, 2019 You could have done a google search lmao https://tcrf.net/Proto:Doom_(PC,_1993)/Doom_0.2 Quote A lump called HIGHBLIT, containing mostly x86 code, is used to render the scene through the inline of the HUD. In other words, the HUD is not an overlay; the scene is drawn on top of it, obviously with an objective of eliminating overdraw. This lump does not exist in the final game. 0 Share this post Link to post
kb1 Posted April 17, 2019 (edited) 2 hours ago, VGA said: You could have done a google search lmao https://tcrf.net/Proto:Doom_(PC,_1993)/Doom_0.2 I'll see your lmao, and raise you a "rotflmmfao at you" See highlight below (12 years - OMG time flies). Actual creation date is probably quite a bit older - I used to use a code beautifier that worked great...until it hit a line-continuation character, which in turn had the nice effect of garbling my source a bit...fun times. So I couldn't use it on some files, but for the files without line-continuations, the modified dates get bumped each time it is used. I actually lost the source to the code beautifier, which sucks, because it actually did a nice job, and that was an easy bug to fix. :) Edited April 17, 2019 by kb1 1 Share this post Link to post