Patch:Screen

From KeenWiki
(Redirected from Patch:Camera)
Jump to: navigation, search

This page covers patches that affect how the screen moves or appears in Keen games. The screen is also sometimes known as the 'camera' and its setup is a fundamental to how the game is played. Patches here involve both how the camera follows the player as well as any patches that alter scrolling in levels.

Patches that relate to the colors of things onscreen (And their changing, fading in or out, lights off or on, etc) are found on the palette patches page. The command prompt-like screen that can be made to appear during gameplay is known as the 'Boss cheat' and has its own page.


Fix choppy scrolling

On certain EGA cards Keen Galaxy games (But not Dreams or related games like BioMenace) experience choppy scrolling. These patches correct this by using an alternate coding for VW_SetScreen taken from the Keen 4 Demo that appears to work better.

These patches should only be used when trying to run (mods of) Keen 4-6 on actual hardware instead of using an emulator like DOSBox, and only if the scrolling is extremely choppy without these patches. The scrolling might actually get more choppy when using these patches in DOSBox or on a system that does not have the choppy scrolling issue to begin with.

Patch: Fix choppy scrolling -Keen 4
#Fix choppy scrolling -Keen 4
%patch $1E87A $E9 $FF7CW %patch $1E7F9 $55 $8B $EC $BA $DA $03 $FA $EC $A8 $01 $74 $FB $EC $A8 $01 $75 $FB $8B $4E $06 $BA $D4 $03 $B0 $0C $EE $42 $8A $C5 $EE $4A $B0 $0D $EE $8A $C1 $42 $EE $C7 $06 $E6F4W $0000W $8B $16 $E6F4W $83 $FA $09 $73 $19 $FB $90 $90 $90 $90 $90 $90 $90 $90 $90 $FA $90 $90 $90 $90 $90 $90 $BA $DA $03 $EC $A8 $08 $74 $DE $BA $C0 $03 $B0 $33 $EE $EB $00 $8A $46 $08 $EE $FB $5D $CB

Patch: Fix choppy scrolling -Keen 5
#Fix choppy scrolling -Keen 5
%patch $1F816 $E9 $FF7CW %patch $1F795 $55 $8B $EC $BA $DA $03 $FA $EC $A8 $01 $74 $FB $EC $A8 $01 $75 $FB $8B $4E $06 $BA $D4 $03 $B0 $0C $EE $42 $8A $C5 $EE $4A $B0 $0D $EE $8A $C1 $42 $EE $C7 $06 $DE5EW $0000W $8B $16 $DE5EW $83 $FA $09 $73 $19 $FB $90 $90 $90 $90 $90 $90 $90 $90 $90 $FA $90 $90 $90 $90 $90 $90 $BA $DA $03 $EC $A8 $08 $74 $DE $BA $C0 $03 $B0 $33 $EE $EB $00 $8A $46 $08 $EE $FB $5D $CB

Patch: Fix choppy scrolling -Keen 6
#Fix choppy scrolling -Keen 6
%patch $1E3EC $E9 $FF7CW %patch $1E36B $55 $8B $EC $BA $DA $03 $FA $EC $A8 $01 $74 $FB $EC $A8 $01 $75 $FB $8B $4E $06 $BA $D4 $03 $B0 $0C $EE $42 $8A $C5 $EE $4A $B0 $0D $EE $8A $C1 $42 $EE $C7 $06 $E6BAW $0000W $8B $16 $E6BAW $83 $FA $09 $73 $19 $FB $90 $90 $90 $90 $90 $90 $90 $90 $90 $FA $90 $90 $90 $90 $90 $90 $BA $DA $03 $EC $A8 $08 $74 $DE $BA $C0 $03 $B0 $33 $EE $EB $00 $8A $46 $08 $EE $FB $5D $CB


Screen fade-in and fade-out

These patches relate to the screen fading out to black and fading back in. These screen transitions are used to 'punctuate' gameplay and provide a natural transition between gameplay modes. For patches involving what color palettes are used at each step of the fade see Patch:Palette.


Fade speed

These patches control how fast palettes switch. When the screen is changing, all action freezes, this is obvious if the change speed is made long enough. While Keen Vorticons has different values for each fade step, Keen Galaxy (and Dreams) games are more compact, having a single value that controls all steps of a fade-in or fade-out. (They also have no less than four fades.)

Patch: Keen 1
#How fast palettes change:
%patch $6C91 $0001W
#Pause BEFORE palettes change 1
%patch $6C4D $0001W
#Black screen between light->dark and dark->light
%patch $6C77 $0008W
#Speed palettes change 1
%patch $6CA6 $0008W
#Speed palettes change 2
%patch $6C62 $0008W
#Speed palettes change 3
%patch $6CBB $0008W
#Speed palettes change 4
%patch $6CD0 $0008W
#Speed palettes change 5

Patch: Keen 2
#How fast palettes change:
%patch $63DE $0001W
#Lights off
%patch $63FE $0001W
#Lights on
%patch $2E70 $0008W
#Fade IN 1
%patch $2E85 $0008W
#Fade IN 2
%patch $2E9F $0001W
#Fade OUT 0 (This is "extra" used during "flashes")
%patch $2EB4 $0008W
#Fade OUT 1
%patch $2EC9 $0008W
#Fade OUT 2
%patch $2EDE $0008W
#Fade OUT 3
%patch $2E5B $0001W
#Fade OUT 4

Patch: Keen 3
#How fast palettes change:
%patch $2E1D $0008W
#Fade *in* dark
%patch $2E4A $0008W
#'Normal'
%patch $2E5E $0008W
#Light fade
%patch $2E72 $0008W
#Dark fade
%patch $2E09 $0008W
#Black

Patch: Keen Dreams
#Fade speeds
%patch $CB86 $0006W
#To black
%patch $CBD3 $0006W
#From black
%patch $CC22 $0006W
#To white
%patch $CC71 $0006W
#From white

Patch: Keen 4
#Fade speeds
%patch $1D209 $0006W
#To black
%patch $1D25B $0006W
#From black
%patch $1D2AF $0006W
#To white
%patch $1D303 $0006W
#From white

Patch: Keen 5
#Fade speeds
%patch $1E1A5 $0006W
#To black
%patch $1E1F7 $0006W
#From black
%patch $1E24B $0006W
#To white
%patch $1E29F $0006W
#From white

Patch: Keen 6
#Fade speeds
%patch $1D123 $0006W
#To black
%patch $1D175 $0006W
#From black
%patch $1D1C9 $0006W
#To white
%patch $1D21D $0006W
#From white


Prevent fade-in\fade-out

These patches stop the game fading in or out. Note that disabling a screen fade-in may cause the screen to go black. Disabling also reduces the transition time since the fades are responsible for the small pause between gameplay modes.

Patch: Keen 1
#Stop screen fading in when...
%patch $4CA1 $90 $90 $90
#Entering a level
%patch $7EA2 $90 $90 $90
#Entering the map
%patch $8052 $90 $90 $90
#?
%patch $822B $90 $90 $90
#Before flight-to-Earth sequence
%patch $8285 $90 $90 $90
#flight-to-Earth sequence
%patch $855B $90 $90 $90
#At start of house sequence
%patch $8815 $90 $90 $90
#At start of endtext
%patch $89C4 $90 $90 $90
#At start of Game Over screen
%patch $8EB7 $90 $90 $90
#After entering highscore
%patch $90BF $90 $90 $90
#?
%patch $90FA $90 $90 $90
#?
%patch $922C $90 $90 $90
#?
%patch $92A9 $90 $90 $90
#?
%patch $96EE $90 $90 $90
#Before showing a preview image 1
%patch $9706 $90 $90 $90
#Before showing a preview image 2
%patch $9759 $90 $90 $90
#When starting About Id
%patch $9A62 $90 $90 $90
#When starting high Scores
%patch $9D97 $90 $90 $90
#When showing story
%patch $A384 $90 $90 $90
#When showing Ordering Info
#Stop screen fading out when...
%patch $4C8F $90 $90 $90
#Entering a level
%patch $4F40 $90 $90 $90
#Exiting a level
%patch $7AAB $90 $90 $90
#After ONE MOMENT
%patch $8264 $90 $90 $90
#Flight-to-Earth sequence
%patch $851F $90 $90 $90
#At end of flight-to-Earth sequence
%patch $87D0 $90 $90 $90
#At end of house sequence
%patch $8EA5 $90 $90 $90
#Before entering highscore
%patch $8F1D $90 $90 $90
#After entering highscore
%patch $90CB $90 $90 $90
#?
%patch $9161 $90 $90 $90
#?
%patch $91F8 $90 $90 $90
#?
%patch $9267 $90 $90 $90
#?
%patch $927D $90 $90 $90
#?
%patch $958E $90 $90 $90
#Before About Id
%patch $959B $90 $90 $90
#Before highscores
%patch $95A8 $90 $90 $90
#Before Ordering Info
%patch $95BA $90 $90 $90
#Before Previws
%patch $95C7 $90 $90 $90
#When restarting demo
%patch $96FA $90 $90 $90
#After preview image 1
%patch $9D76 $90 $90 $90
#Before showing story screen
%patch $9DAF $90 $90 $90
#After showing story


Keen Dreams Screen Clear

In Keen Dreams the screen can be cleared rather than faded in or out. When this happens the entire screen is filled with one color (Dark blue by default) Other things can then be drawn over this. (For instance it provides the background to the Main Menu.) Changing this can thus be tricky.

Patch: Keen Dreams
#Screen clear color
%patch $5E6D $0001W


How closely the screen follows Keen

The screen follows the player by moving when the player (Or more specifically the top leftmost pixel of their sprite) is a certain distance from the screen boundary. That is, these patches control how close to the edge of the screen the player can get when not at a level edge. For Keen Vorticons the values are in 256ths of a pixel, which is astonishingly precise. (It is best to round values to the nearest pixels, though all default values are rounded to the nearest tile.) Thus the player must be $3000 or $30 pixels (48 pixels, = 3 tiles) from the top of the screen before the screen moves up.

In Keen Galaxy things are more complex. This is because the player can manipulate the screen by looking up or down, among other things. There is a similar scrolling to Keen Vorticons, used in the map level (And in Keen 4 in the Well of Wishes level.) The 'simple' scrolling involves four sets of two values (That must match to avoid choppy scrolling.) almost identical to those in Keen Vorticons.

However there is also an in-level scrolling. While its horizontal scrolling is identical to the map, its vertical is not. The 'scroll up\down' limits are only two tiles from the screen top\bottom, this defines the 'strong' boundary that the game will generally not exceed.

There is also a 'level bottom death boundary'. When the camera is at the level bottom and Keen's head falls below this he will die. By default it is set to two tiles above the screen bottom so that when Keen's feet hit the bottom of the screen he dies and the player can see it. (If this value is made larger Keen will simply fall out of the level without dying.)

After this are several 'weak' boundaries. The most important is the screen position when Keen is standing on solid ground. This value is in pixels from the top of Keen's head and essentially controls the screen's vertical position for a lot of the game.

After that there are some soft boundaries for how far Keen can look up or down; by default these are within the hard limits, but they can be altered to be even more restrictive. Notice that for looking down one of the values is the reverse of the other. The game also has a special check for Keen's looking actions as only these can trigger a screen move.

Finally the game checks Keen's ledge gripping actions; this holds the camera still when Keen pulls himself up,so that the game doesn't look odd as this happens.

Patch: Keen 1
#How closely the screen follows Keen
%patch $3472 $B000W
#Scroll Right lag
%patch $34C0 $9000W
#Scroll Left lag
%patch $350C $7000W
#Scroll Down lag
%patch $355A $3000W
#Scroll Up lag

Patch: Keen 2
#How closely the screen follows Keen
%patch $62B4 $B000W
#Scroll Right lag
%patch $6302 $9000W
#Scroll Left lag
%patch $634E $7000W
#Scroll Down lag
%patch $639C $3000W
#Scroll Up lag

Patch: Keen 3
#How closely the screen follows Keen
%patch $6B17 $B000W
#Scroll Right lag
%patch $6B65 $9000W
#Scroll Left lag
%patch $6BB1 $7000W
#Scroll Down lag
%patch $6BFF $3000W
#Scroll Up lag

Patch: Keen Dreams
#How closely the screen follows Keen
%patch $4D60 $0B00W
#Scroll Right lag 1
%patch $4D70 $0B00W
#Scroll Right lag 2
%patch $4D40 $0900W
#Scroll Left lag 1
%patch $4D50 $0900W
#Scroll Left lag 2
%patch $4D9A $7000W
#Scroll Down lag 1
%patch $4DAA $7000W
#Scroll Down lag 2
%patch $4D82 $0400W
#Scroll Up lag 1
%patch $4D92 $0400W
#Scroll Up lag 2</patch.
<patch title="Keen 4">
#How closely the screen follows Keen -Map\WoW
%patch $8588 $0C00W
#Scroll Right lag 1
%patch $859B $0C00W
#Scroll Right lag 2
%patch $856C $0900W
#Scroll Left lag 1
%patch $857C $0900W
#Scroll Left lag 2
%patch $85C6 $7000W
#Scroll Down lag 1
%patch $85D6 $7000W
#Scroll Down lag 2
%patch $85A9 $0500W
#Scroll Up lag 1
%patch $85B9 $0500W
#Scroll Up lag 2
#How closely the screen follows Keen -Regular levels
%patch $8732 $0C00W
#Scroll Right lag 1
%patch $8742 $0C00W
#Scroll Right lag 2
%patch $8715 $0900W
#Scroll Left lag 1
%patch $8725 $0900W
#Scroll Left lag 2
%patch $8881 $0200W
#Scroll Down lag
%patch $889B $0200W
#Scroll Up lag
#Level bottom death boundary
%patch $86D6 $0D00W %patch $86E6 $0D00W
#Ground level screen height
%patch $887B $008CW
#Looking actions
%patch $874C $0C20W
#Up
%patch $8782 $0C7AW
#Down
#How far up Keen can look
%patch $8758 $00A7W %patch $875D $00A7W
#How far down Keen can look
%patch $878E $0021W %patch $8796 $FFDFW
#Gripping ledge checks
%patch $87BF $12ECW %patch $87C9 $1328W %patch $87D3 $1346W %patch $87DD $1364W %patch $87E7 $1382W

Patch: Keen 5
#How closely the screen follows Keen -Map
%patch $8504 $0C00W
#Scroll Right lag 1
%patch $8517 $0C00W
#Scroll Right lag 2
%patch $84E8 $0900W
#Scroll Left lag 1
%patch $84F8 $0900W
#Scroll Left lag 2
%patch $8542 $7000W
#Scroll Down lag 1
%patch $8552 $7000W
#Scroll Down lag 2
%patch $8525 $0500W
#Scroll Up lag 1
%patch $8535 $0500W
#Scroll Up lag 2
#How closely the screen follows Keen -Regular levels
%patch $86AE $0C00W
#Scroll Right lag 1
%patch $86BE $0C00W
#Scroll Right lag 2
%patch $8691 $0900W
#Scroll Left lag 1
%patch $86A1 $0900W
#Scroll Left lag 2
%patch $87FD $0200W
#Scroll Down lag
%patch $8817 $0200W
#Scroll Up lag
#Level bottom death boundary
%patch $8652 $0D00W %patch $8662 $0D00W
#Ground level screen height
%patch $87F7 $008CW
#Looking actions
%patch $86C8 $0AE0W
#Up
%patch $86FE $0B3AW
#Down
#How far up Keen can look
%patch $86D4 $00A7W %patch $86D9 $00A7W
#How far down Keen can look
%patch $870A $0021W %patch $8712 $FFDFW
#Gripping ledge checks
%patch $873B $11CAW %patch $8745 $1206W %patch $874F $1224W %patch $8759 $1242W %patch $8763 $1260W

Patch: Keen 6
#How closely the screen follows Keen -Map
%patch $832F $0C00W
#Scroll Right lag 1
%patch $8342 $0C00W
#Scroll Right lag 2
%patch $8313 $0900W
#Scroll Left lag 1
%patch $8323 $0900W
#Scroll Left lag 2
%patch $836D $7000W
#Scroll Down lag 1
%patch $837D $7000W
#Scroll Down lag 2
%patch $8350 $0500W
#Scroll Up lag 1
%patch $8360 $0500W
#Scroll Up lag 2
#How closely the screen follows Keen -Regular levels
%patch $84D9 $0C00W
#Scroll Right lag 1
%patch $84E9 $0C00W
#Scroll Right lag 2
%patch $84BC $0900W
#Scroll Left lag 1
%patch $84CC $0900W
#Scroll Left lag 2
%patch $8628 $0200W
#Scroll Down lag
%patch $8642 $0200W
#Scroll Up lag
#Level bottom death boundary
%patch $847D $0D00W %patch $848D $0D00W
#Ground level screen height
%patch $8653 $008CW
#Looking actions
%patch $84F4 $0AD4W
#Up
%patch $852B $0B2EW
#Down
#How far up Keen can look
%patch $8500 $00A7W %patch $8505 $00A7W
#How far down Keen can look
%patch $8537 $0021W %patch $853F $FFDFW
#Gripping ledge checks
%patch $858D $1164W %patch $8597 $11A0W %patch $85A1 $11BEW %patch $85AB $11DCW %patch $85B5 $11FAW


Disable vertical scrolling

This patch disables the vertical scrolling in levels. This makes the gameplay somewhat like Super Mario Bros., allowing the player to move left and right but move off the screen vertically.

Patch: Keen 1
#Disable vertical scrolling only
%patch $34F2 $5F $5E $8B $E5 $5D $C3


Scroll left only

This patch makes it so levels only scroll left, this is even more like old games. Keen can still move offscreen however.

Patch: Keen 1
#Only scroll left
%patch $34A4 $90 $90 $5F $5E $8B $E5 $5D $C3


When screen doesn't follow Keen

By default the screen does not follow Keen when he has died; instead the level restarts when he moves offscreen. It is possible to make the screen follow Keen even when he is dead and\or not when he is doing other things. See also Patch:Jump conditions.

Patch: Screen doesn't follow dead Keen
#Camera don't follow player if using this behavior: Keen 1
%patch $342F $41F8W $75
#Camera don't follow player if using this behavior: Keen 2
%patch $6271 $703AW $75
#Camera don't follow player if using this behavior: Keen 3
%patch $6AD4 $789EW $75


Screen follows dead Keen

This patch makes the screen always follow Keen, dead or not. When dead Keen will head to the top of the level by default, only exiting to the map when he reaches the level top.

Patch: Screen follows dead Keen
#Screen follows dead Keen: Keen 1
%patch $342B $EB $09
#Screen follows dead Keen: Keen 2
%patch $626D $EB $09
#Screen follows dead Keen: Keen 3
%patch $6AD0 $EB $09


Screen never follows Keen

This patch makes it so that only one screen appears in-level. (But not the map.) Keen can move offscreen but the screen itself will not move. Certain actions however will 'reset' the screen, such as using an in-level teleporter.

Patch: Screen never follows Keen
#Screen doesn't follow Keen in-level -Keen 1
%patch $3418 $C3


Screen can move past level edges (Looping levels)

This patch allows Keen to move off of the right side of the level. When this happens he will loop back to the left side of the level, one tile higher. This turns the level into a giant 'loop' that Keen can walk across indefinitely. There are several limitations. Firstly all sprites are left behind on the first pass of the level, they do not appear when the level loops. Secondly one row is removed from the level's boundary each loop so unless there is a way for Keen to move up and down the entire level he will gradually be forced lower and lower in the level. Thirdly Keen can move right as many loops as he wants and move back a loop but cannot loop left of his starting loop. This limits the function of the patch somewhat. It will also not affect the map level.

Patch: Levels loop left-right
#Levels loop left-right -Keen 1
%patch $345A $90 $90 %patch $34A8 $90 $90 %patch $3379 $EB %patch $33A5 $EB
#Levels loop left-right -Keen 2
%patch $629C $90 $90 %patch $62EA $90 $90 %patch $61BB $EB %patch $61E7 $EB
#Levels loop left-right -Keen 3
%patch $6AFF $90 $90 %patch $6B4D $90 $90 %patch $6A19 $EB %patch $6A4C $EB


Well of Wishes\Map type scrolling

This patch allows the modder to change what levels behave as WoW\Map-type levels. By default both the map (level 0) and level 17 are WoW-type levels in Keen 4, while Keen 5 and 6 have only the map level set up this way. Map-type levels scroll differently and cannot be 'won' by moving off the left or right sides of the level. They also don't directly kill Keen when he leaves the top or the bottom. (Keen will still die by default; another piece of code does this.)

The patch below has three parts, first what is checked for in brown, the current level); second the value in blue ($00\$11 = 0\17, so level 0\17); and thirdly the jump, again in brown. ($74, only jump if...) The net result is that if the current level is 17 or 0, the 'normal level' code is skipped.

Patch: Which levels are WoW levels
#Which levels are WoW levels -Keen 4
%patch $9051 $A7EDW $00 $74 %patch $9058 $A7EDW $11 $74
#Which levels are WoW levels -Keen 5
%patch $8FC3 $9E55W $00 $74
#Which levels are WoW levels -Keen 6
%patch $8E2B $A97BW $00 $74


Remove W.O.W\Map scrolling, can exit off level sides

These patches change the Map (And Well of Wishes) scrolling so that it behaves like other levels in Keen 4; this has the side effect of allowing Keen to exit the level by walking off the level edges (just like normal levels.)

Patch: Keen 4
#Map exits and scrolls normally
%patch $904F $EB $05
#WoW exits and scrolls normally
%patch $905B $90 $90

Patch: Keen 5
#Map exits and scrolls normally
%patch $8FC1 $EB $05

Patch: Keen 6
#Map exits and scrolls normally
%patch $8E29 $EB $05


Split screen

This patch puts Keen into split screen mode, dividing the screen vertically into two. Sadly both views are the same so this patch currently has little utility outside of curiosity.

Patch: Primitive splitscreen patch
#Keen 1 spitscreen
%patch $6E47 $0E
#Keen 2 spitscreen
%patch $3046 $0E
#Keen 3 spitscreen
%patch $2FE1 $0E


Screen automatically scrolls from left to right

This patch makes the screen scroll left or right, killing Keen when he touches the left edge. The speed of the scrolling can be changed. As a side effect levels 'loop'; there is not left or right level edge, instead going off the right level 'edge' will make Keen appear on the left 'edge' of the level. (However the player will not notice the transition, it is seamless.) The camera will also not follow the player.

Keen can also not pass the right edge of the screen, though he may fall or climb as much as he wants. The right edge is the first blue value in the patch below. (It is set here to the visible edge of the screen, but this is not necessary.)

The remaining blue variables control other aspects oft he game. The right side pushback is how much the right side of the screen pushes Keen back when he tries to leave the right side of the screen. This should be at least $10 more than the scrolling speed. The left side push forward is similar, but should be no more than given here ($40) and should be made smaller if it starts pushing Keen through solid tiles.

The scrolling speed controls how fast and in what direction the screen scrolls. (It is advised you stick with a right scrolling screen.) Finally the two breeze strengths move all objects in the level in a certain direction at a certain, fixed speed. The first breeze is positive (right) and the second negative and equal (and left.) In this patch they are set to be equal to the scroll speed, but you can also make them zero.

Patch: Keen 1
#Right screen boundary (22 tiles)
%patch $800 $B8 $0016W
#add boundary checking to pogo ground
%patch $40E7 $E8 $7B $F2
#update keen movement boundaries
%patch $3368 $66 $A1 $2C $82 $66 $3B $06 $4A $56 $7F $21 $C7 $06 $3C $82 $0210W $C7 $06 $40 $82 $30 $00 $E8
#Right side pushback
$15 $F9 $A9 $04 $00 $74 $0D $33 $C0 $A3 $40 $82 $A3 $42 $82 $E8 $1A $0F $EB $31 $66 $A1 $34 $82 $66 $3B $06 $AC $5D $7C $26 $C7 $06 $3C $82 $A0 $FF $66 $A1 $AC $5D $66 $A3 $34 $82 $EB $16
#Auto screen scroll
%patch $3458 $66 $A1 $D0 $6E $66 $0040W $00
#Left push forward
$00 $7D $15 $66 $B8 $0200W $00 $00 $66 $01 $06 $D0 $6E $66 $01
#Scroll speed
$06 $4A $56 $66 $01 $06 $AC $5D $1E $68 $20 $82 $1E $68 $DA $6E $B9 $36 $00 $E8 $15 $AE $C7 $06 $3C $82 $0200W $E8 $08 $F8 $A9
#Right breeze strength
$04 $00 $74 $06 $C7 $06 $3C $82 $FE00W $A1 $3C $82 $66 $98 $66
#Left breeze strength
$01 $06 $24 $82 $E8 $94 $F5 $66 $A1 $2C $82 $66 $05 $80 $00 $00 $00 $66 $3B $06 $D0 $6E $7D $0B $33 $C0 $A3 $40 $82 $A3 $42 $82 $E8 $E9 $0D $1E $68 $DA $6E $1E $68 $20 $82 $B9 $36 $00 $E8 $CA $AD $EB $1F