Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
incel

Why do you think they abandoned the helm-view interface?

Recommended Posts

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

da3start.png

Share this post


Link to post
Posted (edited)

The fact that is was too intrusive probably led to its demise.

Share this post


Link to post

Yeah. Probably decided to prioritize letting you see that cool, new, realistic 3D world.

Share this post


Link to post

Considering the minimalist nature of the HUDs most people use now, I'm gonna have to agree with Seed here. Still kinda cool though.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

If anything it would've increased performance, since there was less space to draw the actual game geometry & stuff.

Share this post


Link to post
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.

 

 

Share this post


Link to post

Probably because over half the screen is blocked by pointless stuff.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post
Posted (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.

610356241_screenarea.gif.4e2c03f3efaea356520c10faa0d02865.gif

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post

It looked way too bulky with all that stuff on the sides.

Share this post


Link to post
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.

 

Share this post


Link to post
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.

Share this post


Link to post
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?

 

602600-doom-dos-screenshot-the-screen-me

Share this post


Link to post
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?

 

602600-doom-dos-screenshot-the-screen-me

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.

Share this post


Link to post
Posted (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:

 

huh.PNG.86f09b2d9fee341786c232bcacf482a4.PNG

 

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:

  1. Why does the bottom half of the picture screw up?
  2. 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 by kb1 : added some text for clarity

Share this post


Link to post

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.

 

Share this post


Link to post
Posted (edited)
2 hours ago, VGA said:

You could have done a google search lmao

 

https://tcrf.net/Proto:Doom_(PC,_1993)/Doom_0.2

 

 

 

Doom02a.PNG.db21621f321f2a5e99875ec6d91d24fd.PNG

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.

 

rotf.PNG.8d0199e8eead4ab56f7766fdc8a13477.PNG

 

:)

 

 

Edited by kb1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×