I decided to figure out how to change the PoP1 for DOS chomper delay.
I used SDLPoP, David's disassembly and an x86 opcode and instruction reference.
Here's how to change the chomper delay in PoP1 1.0:
At offset 0xA26D, change 0x0F.
For example to 0x06, to make the chompers faster.
(You can also use the next 0x00 byte, to make chompers slower.)
Here's roughly how I know.
I started with SDLPoP's:
Code: Select all
[...]
frame = (curr_modifier & 0x7F) + 1;
if (frame > 15) {
frame = 1;
}
[...]
Code: Select all
[...]
and ax, 7Fh
inc ax
mov [bp+frame], ax
cmp ax, 15
jle loc_89C6
mov [bp+frame], 1
[...]
Code: Select all
[...]
[25] AND (logical AND)
[7F 00] 7Fh
[40] INC (increment by one)
[89] MOV
[46 FC] bp+frame
[3D] CMP
[0F 00] 15
[7E] JLE (jump if less or equal, not greater)
[05] to (*)
[C7] MOV
[46 FC] bp+frame
[01 00] 01
(*)
[...]
25 80 00 89 46 FE 8B C6 25 7F 00 40 89 46 FC 3D [0F 00] 7E 05 C7 46 FC 01 00 8A 46 FE 0A