name: 60 fps
description: The game at 60 frames a second and its normal speed: characters, vehicles, objects and the first-person arms are drawn between the game's 30 updates a second (particles and effects still move 30 times a second).
author: hakuX

# Halo's frame limiter (0xBB5D0) waits 60 / F vblanks a frame, F being the
# video settings' frame rate (word 0x1F8C98): 0 there, the retail value,
# means 30. With 60 a frame takes one vblank. The frame's time step is the
# vblanks it took / 60 and the game time (0xFA920) runs a tick per 1/30 s of
# it: the game keeps its speed, a tick every other frame.
# The frames between ticks draw what moves between the last two ticks, half
# a tick back. Objects: before each tick (0xFAB11) their positions and node
# matrices are copied; after the frame's ticks (0xBD8A1) each is set between
# its two ticks for the director, the camera and the render; after the frame
# (0xBD983) its values come back. First person: the render rebuilds the arms
# each frame from the tick's pose and the camera (0xD7CC0); the pose of the
# last tick blends into it there. The code is in the header page (over the
# logo bitmap, sizeof_headers raised to 0x1000), its buffers (536 KiB) from
# MmAllocateContiguousMemory. Generated by halo_60fps.py.
[default.xbe]
0x00010108: C8 0C 00 00 -> 00 10 00 00
0x00010A14: 07 33 AD 03 07 53 AD 03 A9 03 EA 00 03 73 A7 03 32 00 B3 FD 03 05 03 FD D3 43 F9 EA 00 03 E3 F9 -> 60 E8 EA 01 00 00 85 ED 75 26 68 40 48 08 00 FF 15 D4 66 1D 00 85 C0 75 03 40 EB 0D 89 C7 B9 10
0x00010A34: 33 47 33 22 00 FF 03 05 73 FD 73 73 A7 73 EA 00 73 F7 D3 73 E3 F7 43 0F 03 FF 03 05 FF 33 2E 00 -> 20 00 00 50 31 C0 F3 AB 58 A3 FA 0D 01 00 89 C5 83 FD 01 74 65 E8 C3 00 00 00 31 D2 66 C7 47 06
0x00010A54: 03 7A 00 03 52 00 F9 33 03 F9 03 0F 33 FF 03 03 43 FF 13 F9 13 05 03 93 A3 F7 73 07 73 A7 63 23 -> 00 00 66 8B 06 66 85 C0 74 47 66 89 47 04 8B 5E 08 89 1F 0F B7 83 A0 01 00 00 83 C0 0C 50 01 D0
0x00010A74: 53 A3 05 13 A3 D3 F7 73 03 07 13 73 E3 F7 E3 A3 13 09 03 A3 F7 E3 93 13 05 43 53 F9 53 73 F9 B3 -> 3D 00 C0 03 00 58 77 29 66 89 47 06 89 57 08 60 8D BC 15 40 80 00 00 8D 73 0C A5 A5 A5 0F BF B3
0x00010A94: 33 03 23 63 03 05 93 FF 43 03 E3 FF 33 F9 03 03 43 E3 FD B3 05 F9 D3 F5 D3 03 A3 FF E3 03 03 73 -> A2 01 00 00 01 DE 8D 48 F4 C1 E9 02 F3 A5 61 01 C2 83 C6 0C 83 C7 10 49 75 A2 61 E9 AC 8C 0F 00
0x00010AB4: 26 F0 13 05 23 E3 FF 63 03 36 F0 13 23 33 C3 63 05 D3 FF 45 FF A3 93 F7 E3 03 63 26 F0 43 03 FF -> FF 74 24 04 E8 63 9E 0E 00 60 E8 5E 00 00 00 61 C2 04 00 60 E8 37 01 00 00 61 E9 8D A5 0A 00 60
0x00010AD4: 73 D3 F9 B3 F9 73 13 F9 53 13 E3 F7 93 03 23 F9 E3 D3 F9 D3 36 F0 03 23 63 83 63 03 03 22 F0 43 -> E8 AE 01 00 00 61 FF 74 24 0C FF 74 24 0C FF 74 24 0C E8 15 2B 09 00 60 8B 2D FA 0D 01 00 83 FD
0x00010AF4: E3 FF 43 D3 F7 93 23 F9 A3 03 23 F7 B3 33 32 F0 13 03 53 F7 E3 43 F7 E3 05 A3 F7 A3 03 E3 F7 D3 -> 01 76 16 31 FF 87 7D 0C 85 FF 74 0D 8D B5 40 40 08 00 B9 00 02 00 00 F3 A5 61 C2 0C 00 A1 AC C6
0x00010B14: 05 D3 F7 C3 03 D3 F7 53 03 F9 13 07 13 33 03 03 13 F9 D3 F7 A3 F7 D3 F9 13 F9 43 D3 F9 03 03 03 -> 2F 00 0F B7 48 20 8B 70 34 8D 7D 40 C3 E8 DE 00 00 00 83 FD 01 0F 86 B8 00 00 00 A1 A0 8C 2F 00
0x00010B34: F9 93 F9 E3 23 23 F9 73 05 03 F9 63 F9 D3 43 13 03 07 73 F9 23 05 A3 F9 03 F9 23 03 F9 03 0F 53 -> D9 40 1C D8 48 18 D8 0D EE 0D 01 00 D9 45 08 D8 0D F2 0D 01 00 DB F1 DA C1 D9 55 08 DE E9 D9 E8
0x00010B54: F9 73 FD E3 B3 F9 13 F9 23 F9 73 0F D3 F7 E3 03 03 93 F9 03 05 33 F9 13 E3 FF D3 03 03 E3 F7 D3 -> DE C1 D9 55 00 D9 E8 DE D9 DF E0 9E 0F 86 81 00 00 00 E8 A6 FF FF FF E8 E9 00 00 00 75 6C 8D 84
0x00010B74: 07 A3 F9 13 F9 03 43 F7 D3 22 00 A3 F9 23 FD 43 E3 F7 D3 43 F9 43 F9 03 0D 03 F9 53 05 F9 E3 07 -> 15 40 80 00 00 D9 43 0C D8 20 DC C8 D9 43 10 D8 60 04 DC C8 DE C1 D9 43 14 D8 60 08 DC C8 DE C1
0x00010B94: 43 F9 03 03 B3 FF E3 03 F9 A3 07 D3 F9 53 F7 E3 03 93 F7 93 22 00 FB 03 FB E3 03 F9 73 A3 F7 D3 -> D8 1D F6 0D 01 00 DF E0 9E 77 3F 7A 3D C6 47 0C 01 C6 45 04 01 60 8D B4 15 40 80 00 00 8D BC 15
0x00010BB4: 43 F9 03 05 03 07 23 F9 03 05 F9 A3 07 D3 F3 93 23 09 03 33 D3 FB 23 F9 43 05 13 F9 73 B3 F7 93 -> 40 40 04 00 8D 53 0C 6A 03 59 E8 25 00 00 00 0F BF 93 A2 01 00 00 01 DA 0F B7 8B A0 01 00 00 C1
0x00010BD4: 03 E3 F7 33 0F 03 F9 D3 03 FB 43 23 F9 33 E3 F7 93 43 F9 05 13 F9 63 F9 07 F9 B3 05 43 22 F0 43 -> E9 02 74 05 E8 0B 00 00 00 61 83 C6 0C 83 C7 10 49 75 84 C3 8B 02 89 07 D9 02 D8 26 D8 4D 00 D8
0x00010BF4: 05 73 F9 23 F9 73 05 A3 F9 13 F9 43 03 F9 03 0F 33 F9 73 03 F9 E3 03 53 F9 13 F9 43 13 F9 73 43 -> 06 D9 1A 83 C6 04 83 C7 04 83 C2 04 49 75 E5 C3 8B 2D FA 0D 01 00 83 FD 01 76 49 80 7D 04 00 74
0x00010C14: E3 F7 73 B3 F7 B3 07 93 F9 63 23 E3 F7 D3 F9 A3 03 03 A3 F9 03 D3 F7 E3 23 73 F9 63 03 F9 03 13 -> 43 C6 45 04 00 E8 F3 FE FF FF 80 7F 0C 00 74 2B C6 47 0C 00 E8 2C 00 00 00 75 20 60 8D B4 15 40
0x00010C34: F9 B3 A3 0D 73 F9 23 03 F9 43 03 B3 F9 23 F9 03 03 D3 22 F0 B3 03 F9 73 07 13 26 F0 E3 03 D3 2A -> 40 04 00 8D 7B 0C A5 A5 A5 0F BF BB A2 01 00 00 01 DF 8D 48 F4 C1 E9 02 F3 A5 61 83 C6 0C 83 C7
0x00010C54: F0 73 03 23 26 F0 A3 03 43 F9 03 43 FB 93 0D D3 F9 03 03 F7 E3 05 F9 A3 53 F9 05 03 E3 FD B3 03 -> 10 49 75 C6 C3 0F B7 47 06 85 C0 74 24 66 8B 16 66 3B 57 04 75 1A 8B 5E 08 3B 1F 75 13 0F B7 93
0x00010C74: 03 F9 33 09 23 FF 73 03 03 03 E3 22 F0 63 07 63 FD E3 43 05 A3 F7 B3 05 D3 F9 33 0D 4B 05 47 13 -> A0 01 00 00 83 C2 0C 39 C2 75 05 8B 57 08 39 C0 C3 40 C3 8B 2D FA 0D 01 00 83 FD 01 0F 86 43 01
0x00010C94: 03 03 49 13 73 A7 93 07 03 43 A3 C3 A3 73 13 05 13 49 03 0B 03 53 D3 F3 E3 73 13 09 03 43 73 A3 -> 00 00 8B 74 24 2C 89 F0 2B 05 48 6B 27 00 2D 8C 00 00 00 31 D2 B9 A0 1E 00 00 F7 F1 83 F8 03 0F
0x00010CB4: D3 F3 E3 73 13 0B 03 23 53 47 03 07 49 13 07 49 03 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 87 20 01 00 00 93 89 DA C1 E2 0C 8D 94 15 40 00 08 00 A1 A0 8C 2F 00 8B 40 0C 3B 44 9D 10 74 43
0x00010CD4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 89 44 9D 10 8B 86 7C FF FF FF 87 44 9D 20 3B 44 9D 20 74 05 C6 44 1D 30 00 80 7C 1D 30 02 80 54
0x00010CF4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 1D 30 00 60 89 D7 8D B2 00 08 00 00 B9 00 02 00 00 F3 A5 61 60 8D BA 00 08 00 00 B9 00 02 00 00
0x00010D14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> F3 A5 61 80 7C 1D 30 02 0F 82 B7 00 00 00 D9 45 00 D9 E8 DE D9 DF E0 9E 0F 86 A7 00 00 00 60 8D
0x00010D34: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> BD 40 40 08 00 B9 00 02 00 00 F3 A5 61 89 75 0C B1 40 D9 02 D8 0E D9 42 04 D8 4E 04 DE C1 D9 42
0x00010D54: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 08 D8 4E 08 DE C1 D9 42 0C D8 4E 0C DE C1 D9 EE DF F1 DD D8 0F 97 C0 89 D7 E8 68 00 00 00 89 F7
0x00010D74: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> E8 61 00 00 00 D8 E1 D8 4D 00 DE C1 31 DB D9 04 9A 80 FB 04 73 06 84 C0 74 02 D9 E0 D9 04 9E D8
0x00010D94: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> E1 D8 4D 00 DE C1 D9 1C 9E 43 80 FB 08 72 DF 89 F7 E8 30 00 00 00 D9 E4 DF E0 9E 74 16 DE F9 31
0x00010DB4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> DB D9 04 9E D8 C9 D9 1C 9E 43 80 FB 04 72 F2 DD D8 EB 04 DD D8 DD D8 83 C6 20 83 C2 20 FE C9 0F
0x00010DD4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 85 6D FF FF FF C3 D9 EE 31 DB D9 04 9F DC C8 DE C1 43 80 FB 04 72 F3 D9 FA C3 00 00 F0 41 A4 70
0x00010DF4: 00 00 00 00 00 00 -> 7D 3F 00 00 80 41
0x000FAB11: E8 4A EC 00 00 -> E8 FE 5E F1 FF
0x000BD8A1: E8 7A D0 03 00 -> E8 0E 32 F5 FF
0x000BD983: E8 D8 D6 FF FF -> E8 3F 31 F5 FF
0x000D7CC0: E8 3B B9 FC FF -> E8 0E 8E F3 FF
0x000BB647: B9 1E 00 00 00 -> B9 3C 00 00 00
