VOGONS


Reply 20 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie

For 8088/8086, the timing of MUL increases by 1 cycle for each bit set in the accumulator. There are some other rules as well, which I haven't quite figured out yet (and signed multiplications are more complicated). The timing of DIV probably increases by a cycle for each bit set in the quotient (I haven't done the analysis for that yet). If you're interested in taking on the task, it would be very useful if you could figure it out and document it. There are fairly obvious algorithms for implementing MUL/DIV in terms of addition, subtraction and shifting in such a way that they can easily be implemented in hardware - once you've written down these then it's just a question of figuring out the timing of each step of these algorithms. If you don't have a real 8088/8086 machine to play with, you can use the XT Server to run experiments.

Reply 21 of 40, by Scali

User metadata
Rank l33t
Rank
l33t
superfury wrote:

MUL 8-bit reg: 70-77 cycles.

So that is a 7-cycle delta... 1 cycle per bit, apparently, and first bit doesn't count.

superfury wrote:

MUL 16-bit reg: 118-133 cycles.

Here a 15-cycle delta, again 1 cycle per bit, first bit doesn't count.

superfury wrote:

IDIV 16-bit mem: 171-190 + EA

A 19-cycle delta. So that is at least 15 bits, perhaps some extra cycles for handling sign.

Let's look at IMUL as well:
IMUL 8-bit reg: 80-98: 18-cycle delta
IMUL 16-bit reg: 128-154: 26-cycle delta

So, that is a lot more than just 1 cycle per bit.

And DIV:
DIV 8-bit reg: 80-90: 10-cycle delta
DIV 16-bit reg: 144-162: 18-cycle delta

So this is actually closer to 1-cycle per bit than IDIV.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 22 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

Just was reading some of reenigne's articles/blog, found that I made a mistake in implementing DMA0/PIT1 channels. I currently redirect the PIT1 to virtual ground(ignoring the signal instead). This actually needs to be taken as input to the DREQ of DMA0 instead. This is currently set up to trigger constantly(every DMA cycle), thus resulting in 4 CPU cycles taken every DMA tick, instead of (re)triggering every PIT1 timeout). So that's 4.77MHz ticks every second, delaying the CPU by 100% usage of the bus.

I always found it strange for there to be a DRAM Refresh channel on both the PIT and DMA, but I assumed one of the two was unused due to moving from the DMA to the PIT for DRAM Refresh or the reverse. Thus I was wrong. Could this be the source of the strange timings? Look at emu/core/emucore.c for the current version with that error.
https://bitbucket.org/superfury/x86emu/src/ec … ore.c?at=master

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 23 of 40, by Scali

User metadata
Rank l33t
Rank
l33t
superfury wrote:

I always found it strange for there to be a DRAM Refresh channel on both the PIT and DMA

The two work together.
Counter 1 of the PIT triggers DMA channel 0 periodically to read one byte. This causes that memory to refresh.
By reprogramming the rate of counter 1 on the PIT, you can alter the rate of memory refresh. 8088 MPH makes use of that to sychronize the memory refreshes with the scanlines. This is required for an effect such as the Kefrens bars. You want the refreshes to occur at the same place on every scanline, because otherwise it will not be possible to create cycle-accurate code that retriggers the CRTC every scanline.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 24 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Just was reading some of reenigne's articles/blog, found that I made a mistake in implementing DMA0/PIT1 channels. I currently redirect the PIT1 to virtual ground(ignoring the signal instead). This actually needs to be taken as input to the DREQ of DMA0 instead. This is currently set up to trigger constantly(every DMA cycle), thus resulting in 4 CPU cycles taken every DMA tick, instead of (re)triggering every PIT1 timeout). So that's 4.77MHz ticks every second, delaying the CPU by 100% usage of the bus.

A DMA access isn't always exactly 4 cycles of delay. Depending on what other accesses are going happening and the relative timing of them with respect to the DMA access, it could be anywhere from 0 to 6 cycles for a single byte transfer (and the DMAC can make longer transfers with different programming).

superfury wrote:

I always found it strange for there to be a DRAM Refresh channel on both the PIT and DMA, but I assumed one of the two was unused due to moving from the DMA to the PIT for DRAM Refresh or the reverse. Thus I was wrong.

Indeed you were. Both parts are necessary - the PIT decides when the refresh happens and the DMAC decides what (i.e. read or write), where (i.e. what address) and masters the bus.

superfury wrote:

Could this be the source of the strange timings?

I'm sure it's one of many... As I'm sure I've mentioned on at least one of your other threads, unless you've worked out the schedule for when each instruction takes each of its bytes from the prefetch queue, you've still got a way to go.

Reply 25 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

Well, what it's currently doing is prefetching when needed(Using 4 memory cycles for every one of the bytes read from memory, which gets redirected to the cycles_Prefetch variable instead of cycles_MMUR), starts the instruction handler, which can read ModR/M and parameters through the same cycles_Prefetch, then executes by reading from memory(which adds 4/8 cycles to cycles_MMUR for every byte/word read on the 8088) when needed(Memory source), performing the operation, writing back the result to memory(to cycles_MMUW) and finally calculates cycles(from the tables in the documentation) and adds EA cycles when used, saving it in cycles_OP. This assumes the timing in the documentation excludes memory/io cycles.
Finally, during cycle calculation after the execution returns, the CPU core calculates the cycles spent using the earlier formula given, saving it in the cycles variable, which is converted to realtime nanoseconds by the emulator core.
This value, after substracting cycles_MMUR, cycles_Prefetch and cycles_MMUW gives the amount of cycles spent on execution only. Those cycles are divided by four to obtain the time possibly spent on prefetching(assuming the prefetch queue has free space). This is then used to prefetch that many bytes of instruction data from memory.

The DMA and other hardware simply apply the increase in realtime to their own realtime ns counters and update their timing by spending their time on their cycles at it's own speed(e.g. 1.19MHz PIT ticks, 4.77MHz/4 DMA ticks, 14MHz pixel clocks, 49kHz adlib audio etc.). Though DMA will have to be moved after the PIT updating now to perform that timing correctly though with the new information in mind.

Btw do I actually need to modify the entire CPU execution to perform seperate cycles and states(T1, T2 etc.) seperately instead of functionally(fetch instruction prefixes and instruction opcode, (opcode function jumptable: )fetch modrm, fetch parameters, execute instruction(including reads/writes), return, (returned to the CPU jumptable caller: ) calculate cycles by saved cycles seperately(cycles_OP etc.), execute prefetch for rest cycles after substraction.

That is currently executed for every instruction to execute, in that order, using a general core, (fetch, decode&execute(one step in the opcode jumptable function), update prefetch queue way.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 26 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Btw do I actually need to modify the entire CPU execution to perform seperate cycles and states(T1, T2 etc.) seperately instead of functionally

I think so. That's the obvious way to do it, since that's how the hardware works. If you can prove that your implementation has the same timings, then clearly that's fine. However, it sounds like that would make it much more complicated for an unknown performance benefit (and unless you're profiled it and determined that optimization would help, it's a premature optimization).

Reply 27 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

I guess I'll fix my PIT1 vs DMA0 emulation now and then start converting the CPU to perform one cycle at a time (at a rate of 4.77MHz, so ~4.77M ticks each second, at exactly 4x the speed of the PIT(very heavy on the host CPU due to the ~4.77M lookup table entries looked up the current way)).

Edit: Just fixed and seperated DRAM refresh from the emulator core. Since the adding of 4 cycles each DRAM refresh is now disabled, the count of 8088 MPH drops to 2082 (deviating 24%). Now implementing the MUL instructions, as they're known...

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 28 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

very heavy on the host CPU due to the ~4.77M lookup table entries looked up the current way

Have you profiled it to determine if that's actually a bottleneck? Table lookups can be extremely fast (especially if the table is in L1 cache). Always measure - performance can be quite counter-intuitive!

Reply 29 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

I'll have to convert the CPU to execute instructions that way first. Plus the bus will need better emulation than it currently does(none atm, just CPU cycles adding exection time to the emulated hardware). Just modified the (I)MUL&DIV to their minimum values, disabled the DMA0 cycle calculation(since the bus and CPU cycles will need to be implemented first before emulating that and the CPU fully). The MULB and MULW instructions now behave according to Scali's 7 and 15-cycle deltas(adding 1 cycle to 70 etc. for every bit set in AL(reg8) or AX(reg16)).

8088 MPH now reports a metric cycle count of 2074, deviating 24%.

I'll also need to split the prefetching to use the new bus cycles instead of CPU/MMUR cycles.

So the CPU states effectively need to be:
1. Read every opcode one at a time and increase time/cycles spent this timepoint(2 cycles each byte. Then abort to prevent execution/ModR/M/Parameters.).
2. Read ModR/M parameters one at a time and increase time/cycles spent this timepoint(4 cycles each byte(depending on Prefetch buffer). Then abort to prevent execution.).
3. Read Parameters one at a time and increase time/cycles spent this timepoint(4 cycles each byte, depending on Prefetch buffer). Then abort to prevent execution.).
4. Execute the reads from memory one byte/word at a time, aborting to prevent execution.
5. Execute the core of the instruction, if there is one(non-MOV instructions). Essentially the Execution phase of the Execution unit. Essentially execute and wait some cycles to simulate the execution time needed(cycle delay).
6. Execute the writes to memory one byte/word at a time, aborting to prevent too much execution once again.

Since I'll need to rewrite the CPU anyway to support all this, I might as well make a big lookup table which describes if the CPU needs a ModR/M and it's type (the modrm_readparams parameters), parameter information, data input information and data output information, since most executions essentially work the same. Then the CPU can just read the lookup table for the information for steps 0-4, execute the handler when step 4 finishes, finally to execute step 6, cleanup and process the next instruction by repeating the loop?

This is what I've gotten for the current information table on all opcodes:

typedef struct
{
byte has_modrm; //Do we have ModR/M parameters?
byte modrm_readparams_0; //First parameter of ModR/M setting
byte modrm_readparams_1; //Second parameter of ModR/M setting
byte modrm_src0; //ModR/M first parameter!
byte modrm_src1; //ModR/M second parameter!
byte parameters; //The type of parameters to follow the ModR/M! 0=No parameters, 1=imm8, 2=imm16, 3=imm32
byte readwritebackinformation; //The type of writing back/reading data to memory if needed! Bits 0-1: 0=None, 1=Read, Write back operation, 2=Write operation only, Bit 4: Operates on AL/AX/EAX when set. Bit 5: Push operation. Bit 6: Pop operation.
} CPU_Timings; //The CPU timing information!

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 30 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

Just changed the entire core to fetch according to the structure above, but there seems to go something wrong with execution (had to fully fix the debug ROM execution part to find out that it's actually going wrong here).

The program being run:

jump1.asm.txt

The log of the program running in x86EMU, with the current rewritten core(crashes because of jumping out of executable range(My emulator stops trying to execute the ROM when it detects it's not inside the BIOS ROM anymore, to prevent anything in normal memory from being damaged by the readback checking process)):

debugger.log

8086 core:
https://bitbucket.org/superfury/x86emu/src/34 … 086.c?at=master

New CPU core handling the ModR/M and parameters now too(soon to be replaced with a cycle accurate version once this is working):
https://bitbucket.org/superfury/x86emu/src/34 … cpu.c?at=master

Anyone can see what's going wrong here? Jepael, Reenigne? Have I made an error in my new lookup tables (see the bottom of the opcodes_8086.c)?

Edit: Fixed that one: the final MOV of the application was being decoded wrong (just taking the parameters, ignoring the ModR/M and related data. An error in the lookup table I created, which is now fixed. Now the first (jump1.asm) works, the second (jump2.asm) fails.

Btw I'm running the testsuite used before to get much of my instructions right (from fake86's topics) when fixing the instruction set back with MS-DOS 3.30. http://forum.osdev.org/viewtopic.php?f=13&t=23739&start=18 . It's the first post linked.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 31 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

It seems to have improved somewhat while I was improving the emulation:

Metric cycle count of 1604 deviates 4% from what we were expecting.
4.77MHz 8088: FALSE

As of build 2160606_1559.

Edit: ... And it simply hangs (not the entire emulator, just the software running in it) after displaying the first frame of the credits (with text on it).

Edit: Just tried running the entire 80186 testsuite used with fake86 again. It almost fully checks out(setting the CPU extension to NEC V30), except for the flags returned with the (I)MUL instructions, which are undefined (Except Sign&Overflow flags(being set/cleared depending on the top half being a sign extension of the low 8/16 bits) and Zero flag being cleared on the 8086 when the result isn't zero). Anyone can see what's going wrong?

The data in the corresponding result file also has Parity and Zero flags set in some results. This doesn't match up with my emulation. Anyone knows what these should return, if it isn't in any way infringing copyright to implement this? Already tried applying general Parity(parity lookup table) and Zero(result being zero), but this doesn't seem to be the case?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 32 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

Comparing the code executing during the hanging beep to http://www.reenigne.org/blog/8088-pc-speaker- … r-how-its-done/ I notice it's the PC Speaker MOD player it's executing at that moment. The Interrupt Flag is disabled, is this correct? I notice that the NOPs are in place, so maybe it's missing the code that's supposed to be inserted at that point? Maybe an error in repeating instructions(MOVS/STOS instructions not executing correctly when needed) used to insert the special code instead of the NOPs? Reenigne?
I notice that the instruction it keeps 'repatching' is MOV BL,00 at address 230E:0286.

debugger_8088MPHcredits.zip

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 33 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie

I haven't looked at the log, but I'm almost certain that the problem is that your CPU is executing the "mov cl,99" instruction as it is in RAM (i.e. post-modification) rather than as it is in the prefetch queue (pre-modification). The instruction that does the modifying (pop word [cs:bx]) is directly before the modified instruction, so the modified instruction should be in the queue by that point. DOSBox (and any other emulator that doesn't emulate the 8088's prefetch queue properly) has the same problem.

Reply 34 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

The instruction following it doesn't seem to be the cause. It keeps popping value 00B3 into the NOP range (MOV BL,00). Since this is executed after the JMP following the POP shortly after, this shouldn't be the cause. Maybe the stack is invalid (it only seems to contain 00B3 values(and the address of that value, which is constant, interleaved, which is POPped in BX), looking at a log of the POP instruction).

Edit: Just confirmed:
The log entry "00023352=00B3"(memory address=value popped using opcode 8F) keeps repeating during the hanging tone(the sound playback loop) when looking at the log of a few seconds. This executes about every 1/100th second (~0.01 second interval, so at about 100Hz).

Last edited by superfury on 2016-06-09, 09:44. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 35 of 40, by Scali

User metadata
Rank l33t
Rank
l33t

For clarification, the routine there works as follows for each iteration:
1) Instructions are read into prefetch-buffer
2) Instructions that have now been read into prefetch-buffer, are patched in-memory
3) The still-unpatched instructions in the prefetch-buffer are executed.

So although it looks like the code modifies itself for the current iteration, the unmodified code gets run, and the modified code is run in the next iteration.
This breaks down on any emulators or clones where the prefetch-buffer does not behave the same as on a real IBM PC with 8088 CPU.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 36 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++
Scali wrote:
For clarification, the routine there works as follows for each iteration: 1) Instructions are read into prefetch-buffer 2) Instr […]
Show full quote

For clarification, the routine there works as follows for each iteration:
1) Instructions are read into prefetch-buffer
2) Instructions that have now been read into prefetch-buffer, are patched in-memory
3) The still-unpatched instructions in the prefetch-buffer are executed.

So although it looks like the code modifies itself for the current iteration, the unmodified code gets run, and the modified code is run in the next iteration.
This breaks down on any emulators or clones where the prefetch-buffer does not behave the same as on a real IBM PC with 8088 CPU.

Like I said: that isn't the problem. It's actually patching data that can't be in the prefetch buffer: the data POPped to CS:BX is an instruction in the range of those 15 NOPs. Since after this CL is set and then a JMP to those NOPs is executed, the prefetch buffer is flushed for the new instruction in the NOP range(The first NOP looking at the debugger. stepping through the code using the emulator's debugger). Eventually, it executes the POPped value (which is the instruction MOV BL,00) and restarts the loop. It seems like the entire stack contains the same value(The MOV BL,00 instruction and the BX address, which translates combined with CS to memory address 00023352). I could check if the stack is locked in a infinite loop(because it keeps POPping the same value, maybe SP gets reset, causing this problem(Thinking back at the logs made yesterday, I think I remember there being a MOV SP,... somewhere in there:S That would cause an infinite repitition of the data POPed in a part of the stack each POP).

Edit: Yes, I was right! At address 230E:025D there's a MOV SP,02DB, resetting the stack.

The POP BX gives 0272. Finally it overwrites CS:BX(230E:0272) with the value POPped(The MOV BL,00). It's executing at 230E:0299(The location of the POP [CS:BX] instruction). Then there's a MOV CL,ED. Then a JMP to address 026C. At 230E:026C there's the instructions executed:

ADDW BP,0000
MOVW BX,BP
MOVB BL,00
MOVB AL,[DS:BX]
ADDW SI,0000
MOV BX,SI
MOVB BL,00
ADDB AL,[DX:BX]
ADDW DI,0000
MOVW BX,DI
MOVB BL,00
ADDB AL,[DS:BX]
ADDW DX,0000
MOV BX,DX
MOVB BL,00
ADDB AL,[DS:BX]
OUT 42,AL
LOOP 025D(Jumps back to address 025D)
MOV SP,02DB
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
ADDW BP,0000(back to the first line of this code dump)

Anyone? Reenigne? Scali? Can you see what's going wrong?

debugger_8088MPHcredits_20160609_1213.zip

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 37 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

The instruction following it doesn't seem to be the cause. It keeps popping value 00B3 into the NOP range (MOV BL,00). Since this is executed after the JMP following the POP shortly after, this shouldn't be the cause. Maybe the stack is invalid (it only seems to contain 00B3 values(and the address of that value, which is constant, interleaved, which is POPped in BX), looking at a log of the POP instruction).

Edit: Just confirmed:
The log entry "00023352=00B3"(memory address=value popped using opcode 8F) keeps repeating during the hanging tone(the sound playback loop) when looking at the log of a few seconds. This executes about every 1/100th second (~0.01 second interval, so at about 100Hz).

I looked at the log, and I don't think it shows the problem - I think the problem has already occurred by this point (at an earlier POP - the last one that set the value at 230E:029D, the instruction after the POP). I still think the problem is the one that I explained in my previous reply.

Reply 38 of 40, by superfury

User metadata
Rank l33t++
Rank
l33t++

These are the POP instruction issues started at the point the Final image with your heads on it until the point the music hangs:

00:08:19:21.02960: 8F: 00032FD8=22FE
00:08:19:22.05344: 8F: 000016DE=8575
00:08:19:22.05472: 8F: 000016DE=85E8
00:08:19:22.05952: 8F: 000016DE=8575
00:08:19:22.06048: 8F: 000016DE=85E8
00:08:19:22.06496: 8F: 000016DE=8575
00:08:19:22.06592: 8F: 000016DE=85E8
00:08:19:22.07040: 8F: 000016DE=8575
00:08:19:22.07136: 8F: 000016DE=85E8
00:08:19:23.02576: 8F: 000016DE=8575
00:08:19:23.02640: 8F: 000016DE=85E8
00:08:19:23.03088: 8F: 000016DE=8575
00:08:19:23.03184: 8F: 000016DE=85E8
00:08:19:23.08368: 8F: 00001420=1414
00:08:19:23.08624: 8F: 00001670=0116
00:08:19:23.08624: 8F: 00001672=1F0E
00:08:19:23.08688: 8F: 000016DE=94A8
00:08:19:23.09776: 8F: 00021EA8=9257
00:08:19:23.09808: 8F: 00021EAA=0014
00:08:19:24.00576: 8F: 00021EAC=F85F
00:08:19:24.00608: 8F: 00021EAE=F000
00:08:19:24.01344: 8F: 00021EB0=06EE
00:08:19:24.01344: 8F: 00021EB2=0070
00:08:19:24.02112: 8F: 00021EB4=40F8
00:08:19:24.02144: 8F: 00021EB6=0014
00:08:19:24.02880: 8F: 00021EB8=014A
00:08:19:24.02912: 8F: 00021EBA=12CE
00:08:19:24.03648: 8F: 00021EBC=0155
00:08:19:24.03680: 8F: 00021EBE=12CE
00:08:19:24.04448: 8F: 00021EC0=40D2
00:08:19:24.04480: 8F: 00021EC2=0014
00:08:19:24.05216: 8F: 00021EC4=40D2
00:08:19:24.05248: 8F: 00021EC6=0014
00:08:19:24.05952: 8F: 00021EC8=40D2
00:08:19:24.05984: 8F: 00021ECA=0014
00:08:19:24.06528: 8F: 00021ECC=40D2
00:08:19:24.06528: 8F: 00021ECE=0014
00:08:19:24.07168: 8F: 00021ED0=40D2
00:08:19:24.07200: 8F: 00021ED2=0014
00:08:19:24.07872: 8F: 00021ED4=40D2
00:08:19:24.07904: 8F: 00021ED6=0014
00:08:19:24.08800: 8F: 00021ED8=40D2
00:08:19:24.08832: 8F: 00021EDA=0014
00:08:19:24.09568: 8F: 00021EDC=40D2
00:08:19:24.09600: 8F: 00021EDE=0014
00:08:19:25.00400: 8F: 00021EE0=40D2
00:08:19:25.00432: 8F: 00021EE2=0014
00:08:19:25.01136: 8F: 00021EE4=40D2
00:08:19:25.01168: 8F: 00021EE6=0014
00:08:19:25.01968: 8F: 00021EE8=40D2
00:08:19:25.02000: 8F: 00021EEA=0014
00:08:19:25.02736: 8F: 00021EEC=40D2
00:08:19:25.02736: 8F: 00021EEE=0014
00:08:19:25.03504: 8F: 00021EF0=0000
00:08:19:25.03504: 8F: 00021EF2=0000
00:08:19:25.04656: 8F: 00021EA8=0143
00:08:19:25.04688: 8F: 00021EAA=1F2E
00:08:19:25.05456: 8F: 00021EAC=F85F
00:08:19:25.05488: 8F: 00021EAE=F000
00:08:19:25.06224: 8F: 00021EB0=06EE
Show last 734 lines
00:08:19:25.06256: 8F: 00021EB2=0070
00:08:19:25.06960: 8F: 00021EB4=40F8
00:08:19:25.06992: 8F: 00021EB6=0014
00:08:19:25.07600: 8F: 00021EB8=014A
00:08:19:25.07600: 8F: 00021EBA=1F2E
00:08:19:25.08304: 8F: 00021EBC=0112
00:08:19:25.08336: 8F: 00021EBE=1F2E
00:08:19:25.09072: 8F: 00021EC0=40D2
00:08:19:25.09104: 8F: 00021EC2=0014
00:08:19:26.00000: 8F: 00021EC4=40D2
00:08:19:26.00032: 8F: 00021EC6=0014
00:08:19:26.00832: 8F: 00021EC8=40D2
00:08:19:26.00864: 8F: 00021ECA=0014
00:08:19:26.01600: 8F: 00021ECC=40D2
00:08:19:26.01632: 8F: 00021ECE=0014
00:08:19:26.02432: 8F: 00021ED0=40D2
00:08:19:26.02464: 8F: 00021ED2=0014
00:08:19:26.03232: 8F: 00021ED4=40D2
00:08:19:26.03232: 8F: 00021ED6=0014
00:08:19:26.04064: 8F: 00021ED8=40D2
00:08:19:26.04096: 8F: 00021EDA=0014
00:08:19:26.04864: 8F: 00021EDC=40D2
00:08:19:26.04928: 8F: 00021EDE=0014
00:08:19:26.05696: 8F: 00021EE0=40D2
00:08:19:26.05728: 8F: 00021EE2=0014
00:08:19:26.06528: 8F: 00021EE4=40D2
00:08:19:26.06560: 8F: 00021EE6=0014
00:08:19:26.07328: 8F: 00021EE8=40D2
00:08:19:26.07360: 8F: 00021EEA=0014
00:08:19:26.08128: 8F: 00021EEC=013B
00:08:19:26.08160: 8F: 00021EEE=1F2E
00:08:19:26.09984: 8F: 00021EF0=0000
00:08:19:27.00016: 8F: 00021EF2=0000
00:08:19:27.00624: 8F: 00022AE0=0BF1
00:08:19:27.01200: 8F: 00022AE0=0BF1
00:08:19:27.04880: 8F: 0000163B=3038
00:08:19:27.08304: 8F: 000014B8=385C
00:08:19:27.09776: 8F: 0000163B=3038
00:08:19:28.02752: 8F: 000016DE=856D
00:08:19:28.02880: 8F: 000016DE=85E8
00:08:19:28.06464: 8F: 000016F7=0000
00:08:19:29.01264: 8F: 0000141E=22FE
00:08:19:29.01296: 8F: 0000141C=0080
00:08:19:40.07424: 8F: 000016FC=0180
00:08:19:40.07904: 8F: 000016F7=0000
00:08:19:41.02832: 8F: 0000141E=22FE
00:08:19:41.02864: 8F: 0000141C=0080
00:08:19:41.04592: 8F: 000016F7=0000
00:08:19:42.00800: 8F: 0000141E=22FE
00:08:19:42.00832: 8F: 0000141C=0080
00:08:19:42.01952: 8F: 000016DE=8575
00:08:19:42.02080: 8F: 000016DE=85E8
00:08:19:42.04032: 8F: 000016DE=856D
00:08:19:42.04128: 8F: 000016DE=85E8
00:08:19:42.04384: 8F: 000016DE=856D
00:08:19:42.04480: 8F: 000016DE=85E8
00:08:19:42.04768: 8F: 000016DE=856D
00:08:19:42.04896: 8F: 000016DE=85E8
00:08:19:42.05152: 8F: 000016DE=856D
00:08:19:42.05248: 8F: 000016DE=85E8
00:08:19:42.05504: 8F: 000016DE=856D
00:08:19:42.05600: 8F: 000016DE=85E8
00:08:19:42.05824: 8F: 000016DE=856D
00:08:19:42.05920: 8F: 000016DE=85E8
00:08:19:42.07008: 8F: 0002300C=22F6
00:08:19:42.07040: 8F: 00023020=1606
00:08:19:42.08128: 8F: 00022FEA=0116
00:08:19:42.08160: 8F: 00022FEC=1F0E
00:08:19:42.08192: 8F: 00000088=0116
00:08:19:42.08224: 8F: 0000008A=1F0E
00:08:21:88.00544: 8F: 00023352=00B3
00:08:21:88.00640: 8F: 0002334E=0000
00:08:21:88.00704: 8F: 0002335C=00B3
00:08:21:88.00768: 8F: 00023358=0000
00:08:21:88.00832: 8F: 00023366=00B3
00:08:21:88.00896: 8F: 00023362=0000
00:08:21:88.00960: 8F: 00023370=00B3
00:08:21:88.01024: 8F: 0002336C=0000
00:08:21:88.01088: 8F: 00023376=CCE2
00:08:21:88.01152: 8F: 00023344=FF2E
00:08:21:88.01216: 8F: 00023346=D906
00:08:21:88.01280: 8F: 00023348=9002
00:08:21:88.01344: 8F: 0002337C=02B1
00:08:21:88.01440: 8F: 0002337C=01B1
00:08:21:88.01504: 8F: 00023376=C9E2
00:08:21:88.01568: 8F: 00023341=8E2E
00:08:21:88.01632: 8F: 00023343=D906
00:08:21:88.01696: 8F: 00023345=9002
00:08:21:88.01728: 8F: 00023347=9090
00:08:21:88.01792: 8F: 0002337C=02B1
00:08:21:88.01920: 8F: 0002337C=01B1
00:08:21:88.01984: 8F: 00023341=A026
00:08:21:88.02048: 8F: 00023343=0000
00:08:21:88.02112: 8F: 00023345=A236
00:08:21:88.02176: 8F: 00023347=02DE
00:08:21:88.02240: 8F: 0002337C=02B1
00:08:21:88.02336: 8F: 0002337C=01B1
00:08:21:88.02400: 8F: 00023343=0003
00:08:21:88.02464: 8F: 00023347=02E6
00:08:21:88.02560: 8F: 0002337C=02B1
00:08:21:88.02656: 8F: 0002337C=01B1
00:08:21:88.02720: 8F: 00023343=0006
00:08:21:88.02784: 8F: 00023347=02EE
00:08:21:88.02816: 8F: 0002337C=02B1
00:08:21:88.02944: 8F: 0002337C=01B1
00:08:21:88.02976: 8F: 00023343=0009
00:08:21:88.03040: 8F: 00023347=02F6
00:08:21:88.03104: 8F: 0002337C=02B1
00:08:21:88.03200: 8F: 0002337C=01B1
00:08:21:88.03264: 8F: 00023376=CBE2
00:08:21:88.03360: 8F: 00023343=A126
00:08:21:88.03424: 8F: 00023345=0001
00:08:21:88.03488: 8F: 00023347=A336
00:08:21:88.03552: 8F: 00023349=02E1
00:08:21:88.03616: 8F: 0002337C=02B1
00:08:21:88.03712: 8F: 0002337C=01B1
00:08:21:88.03776: 8F: 00023345=0004
00:08:21:88.03840: 8F: 00023349=02E9
00:08:21:88.03904: 8F: 0002337C=02B1
00:08:21:88.04000: 8F: 0002337C=01B1
00:08:21:88.04064: 8F: 00023345=0007
00:08:21:88.04128: 8F: 00023349=02F1
00:08:21:88.04192: 8F: 0002337C=02B1
00:08:21:88.04288: 8F: 0002337C=01B1
00:08:21:88.04352: 8F: 00023345=000A
00:08:21:88.04416: 8F: 00023349=02F9
00:08:21:88.04512: 8F: 0002337C=02B1
00:08:21:88.04608: 8F: 0002337C=01B1
00:08:21:88.04672: 8F: 00023376=C9E2
00:08:21:88.04768: 8F: 00023342=268B
00:08:21:88.04800: 8F: 00023344=000C
00:08:21:88.04864: 8F: 00023346=9090
00:08:21:88.04928: 8F: 00023348=9090
00:08:21:88.04992: 8F: 0002334A=9090
00:08:21:88.05056: 8F: 0002337C=02B1
00:08:21:88.05152: 8F: 00023376=CBE2
00:08:21:88.05248: 8F: 00023344=0EA1
00:08:21:88.05344: 8F: 00023346=3600
00:08:21:88.05472: 8F: 00023348=B5A3
00:08:21:88.05600: 8F: 0002334A=9004
00:08:21:88.05696: 8F: 0002337C=02B1
00:08:21:88.05792: 8F: 0002337C=01B1
00:08:21:88.05856: 8F: 00023376=C5E2
00:08:21:88.05920: 8F: 0002333D=DBBC
00:08:21:88.05984: 8F: 0002333F=9002
00:08:21:88.06016: 8F: 00023341=9090
00:08:21:88.06112: 8F: 00023343=9090
00:08:21:88.06176: 8F: 00023345=9090
00:08:21:88.06240: 8F: 00023347=9090
00:08:21:88.06304: 8F: 00023349=9090
00:08:21:88.06368: 8F: 0002337C=EDB1
00:08:21:89.07792: 8F: 00023352=00B3
00:08:21:91.00080: 8F: 00023352=00B3
00:08:21:92.02144: 8F: 00023352=00B3
00:08:21:93.03536: 8F: 00023352=00B3
00:08:21:94.07008: 8F: 00023352=00B3
00:08:21:95.08848: 8F: 00023352=00B3
00:08:21:97.02448: 8F: 00023352=00B3
00:08:21:98.03424: 8F: 00023352=00B3
00:08:21:99.04880: 8F: 00023352=00B3
00:08:22:00.07840: 8F: 00023352=00B3
00:08:22:01.09328: 8F: 00023352=00B3
00:08:22:03.01840: 8F: 00023352=00B3
00:08:22:04.04256: 8F: 00023352=00B3
00:08:22:05.05904: 8F: 00023352=00B3
00:08:22:07.01168: 8F: 00023352=00B3
00:08:22:08.02752: 8F: 00023352=00B3
00:08:22:09.04368: 8F: 00023352=00B3
00:08:22:10.08416: 8F: 00023352=00B3
00:08:22:12.01152: 8F: 00023352=00B3
00:08:22:13.02832: 8F: 00023352=00B3
00:08:22:14.04960: 8F: 00023352=00B3
00:08:22:15.07952: 8F: 00023352=00B3
00:08:22:16.08960: 8F: 00023352=00B3
00:08:22:18.02144: 8F: 00023352=00B3
00:08:22:19.03664: 8F: 00023352=00B3
00:08:22:20.06688: 8F: 00023352=00B3
00:08:22:21.08144: 8F: 00023352=00B3
00:08:22:22.09120: 8F: 00023352=00B3
00:08:22:24.02656: 8F: 00023352=00B3
00:08:22:25.04176: 8F: 00023352=00B3
00:08:22:26.05792: 8F: 00023352=00B3
00:08:22:27.09008: 8F: 00023352=00B3
00:08:22:29.00432: 8F: 00023352=00B3
00:08:22:30.04128: 8F: 00023352=00B3
00:08:22:31.05680: 8F: 00023352=00B3
00:08:22:32.06944: 8F: 00023352=00B3
00:08:22:34.00096: 8F: 00023352=00B3
00:08:22:35.01456: 8F: 00023352=00B3
00:08:22:36.03968: 8F: 00023352=00B3
00:08:22:37.06448: 8F: 00023352=00B3
00:08:22:38.07904: 8F: 00023352=00B3
00:08:22:40.00192: 8F: 00023352=00B3
00:08:22:41.02800: 8F: 00023352=00B3
00:08:22:42.04832: 8F: 00023352=00B3
00:08:22:43.06128: 8F: 00023352=00B3
00:08:22:44.08928: 8F: 00023352=00B3
00:08:22:46.01152: 8F: 00023352=00B3
00:08:22:47.03760: 8F: 00023352=00B3
00:08:22:48.05984: 8F: 00023352=00B3
00:08:22:49.07856: 8F: 00023352=00B3
00:08:22:51.00272: 8F: 00023352=00B3
00:08:22:52.01952: 8F: 00023352=00B3
00:08:22:53.03056: 8F: 00023352=00B3
00:08:22:54.06240: 8F: 00023352=00B3
00:08:22:55.07600: 8F: 00023352=00B3
00:08:22:57.00688: 8F: 00023352=00B3
00:08:22:58.02816: 8F: 00023352=00B3
00:08:22:59.03824: 8F: 00023352=00B3
00:08:22:60.07648: 8F: 00023352=00B3
00:08:22:61.08592: 8F: 00023352=00B3
00:08:22:62.09504: 8F: 00023352=00B3
00:08:22:64.02752: 8F: 00023352=00B3
00:08:22:65.04176: 8F: 00023352=00B3
00:08:22:66.06688: 8F: 00023352=00B3
00:08:22:67.09040: 8F: 00023352=00B3
00:08:22:69.00624: 8F: 00023352=00B3
00:08:22:70.01952: 8F: 00023352=00B3
00:08:22:71.03920: 8F: 00023352=00B3
00:08:22:72.05248: 8F: 00023352=00B3
00:08:22:73.07984: 8F: 00023352=00B3
00:08:22:74.09440: 8F: 00023352=00B3
00:08:22:76.02496: 8F: 00023352=00B3
00:08:22:77.04944: 8F: 00023352=00B3
00:08:22:78.06272: 8F: 00023352=00B3
00:08:22:79.08464: 8F: 00023352=00B3
00:08:22:81.01424: 8F: 00023352=00B3
00:08:22:82.05248: 8F: 00023352=00B3
00:08:22:83.07952: 8F: 00023352=00B3
00:08:22:85.00432: 8F: 00023352=00B3
00:08:22:86.02592: 8F: 00023352=00B3
00:08:22:87.05392: 8F: 00023352=00B3
00:08:22:88.07264: 8F: 00023352=00B3
00:08:22:89.08304: 8F: 00023352=00B3
00:08:22:91.01264: 8F: 00023352=00B3
00:08:22:92.01984: 8F: 00023352=00B3
00:08:22:93.03504: 8F: 00023352=00B3
00:08:22:94.07232: 8F: 00023352=00B3
00:08:22:95.09424: 8F: 00023352=00B3
00:08:22:97.02544: 8F: 00023352=00B3
00:08:22:98.03744: 8F: 00023352=00B3
00:08:22:99.06288: 8F: 00023352=00B3
00:08:23:00.09120: 8F: 00023352=00B3
00:08:23:02.00128: 8F: 00023352=00B3
00:08:23:03.02288: 8F: 00023352=00B3
00:08:23:04.04896: 8F: 00023352=00B3
00:08:23:05.06960: 8F: 00023352=00B3
00:08:23:06.09184: 8F: 00023352=00B3
00:08:23:08.01184: 8F: 00023352=00B3
00:08:23:09.03056: 8F: 00023352=00B3
00:08:23:10.05376: 8F: 00023352=00B3
00:08:23:11.06800: 8F: 00023352=00B3
00:08:23:12.08928: 8F: 00023352=00B3
00:08:23:14.01536: 8F: 00023352=00B3
00:08:23:15.03856: 8F: 00023352=00B3
00:08:23:16.05376: 8F: 00023352=00B3
00:08:23:17.08336: 8F: 00023352=00B3
00:08:23:19.00016: 8F: 00023352=00B3
00:08:23:20.01408: 8F: 00023352=00B3
00:08:23:21.04464: 8F: 00023352=00B3
00:08:23:22.05856: 8F: 00023352=00B3
00:08:23:24.00896: 8F: 00023352=00B3
00:08:23:25.02192: 8F: 00023352=00B3
00:08:23:26.03872: 8F: 00023352=00B3
00:08:23:27.07408: 8F: 00023352=00B3
00:08:23:28.08448: 8F: 00023352=00B3
00:08:23:30.00352: 8F: 00023352=00B3
00:08:23:31.02960: 8F: 00023352=00B3
00:08:23:32.04608: 8F: 00023352=00B3
00:08:23:33.07472: 8F: 00023352=00B3
00:08:23:34.08800: 8F: 00023352=00B3
00:08:23:36.00608: 8F: 00023352=00B3
00:08:23:37.03408: 8F: 00023352=00B3
00:08:23:38.04448: 8F: 00023352=00B3
00:08:23:39.06512: 8F: 00023352=00B3
00:08:23:40.09152: 8F: 00023352=00B3
00:08:23:42.00960: 8F: 00023352=00B3
00:08:23:43.02544: 8F: 00023352=00B3
00:08:23:44.04672: 8F: 00023352=00B3
00:08:23:45.06896: 8F: 00023352=00B3
00:08:23:46.08096: 8F: 00023352=00B3
00:08:23:48.00800: 8F: 00023352=00B3
00:08:23:49.03248: 8F: 00023352=00B3
00:08:23:50.05696: 8F: 00023352=00B3
00:08:23:51.08016: 8F: 00023352=00B3
00:08:23:52.09344: 8F: 00023352=00B3
00:08:23:54.03040: 8F: 00023352=00B3
00:08:23:55.05040: 8F: 00023352=00B3
00:08:23:56.06496: 8F: 00023352=00B3
00:08:23:58.00864: 8F: 00023352=00B3
00:08:23:59.02256: 8F: 00023352=00B3
00:08:23:60.05536: 8F: 00023352=00B3
00:08:23:61.06608: 8F: 00023352=00B3
00:08:23:62.07360: 8F: 00023352=00B3
00:08:23:64.00512: 8F: 00023352=00B3
00:08:23:65.01552: 8F: 00023352=00B3
00:08:23:66.03040: 8F: 00023352=00B3
00:08:23:67.06128: 8F: 00023352=00B3
00:08:23:68.07360: 8F: 00023352=00B3
00:08:23:69.09168: 8F: 00023352=00B3
00:08:23:71.01616: 8F: 00023352=00B3
00:08:23:72.02912: 8F: 00023352=00B3
00:08:23:73.04688: 8F: 00023352=00B3
00:08:23:74.07808: 8F: 00023352=00B3
00:08:23:76.00896: 8F: 00023352=00B3
00:08:23:77.03440: 8F: 00023352=00B3
00:08:23:78.05184: 8F: 00023352=00B3
00:08:23:79.07696: 8F: 00023352=00B3
00:08:23:80.09856: 8F: 00023352=00B3
00:08:23:82.02336: 8F: 00023352=00B3
00:08:23:83.03856: 8F: 00023352=00B3
00:08:23:84.07648: 8F: 00023352=00B3
00:08:23:85.09264: 8F: 00023352=00B3
00:08:23:87.02224: 8F: 00023352=00B3
00:08:23:88.04512: 8F: 00023352=00B3
00:08:23:89.06000: 8F: 00023352=00B3
00:08:23:90.08896: 8F: 00023352=00B3
00:08:23:92.00288: 8F: 00023352=00B3
00:08:23:93.02416: 8F: 00023352=00B3
00:08:23:94.06208: 8F: 00023352=00B3
00:08:23:95.08400: 8F: 00023352=00B3
00:08:23:97.02224: 8F: 00023352=00B3
00:08:23:98.03168: 8F: 00023352=00B3
00:08:23:99.04816: 8F: 00023352=00B3
00:08:24:00.07744: 8F: 00023352=00B3
00:08:24:01.08720: 8F: 00023352=00B3
00:08:24:02.09760: 8F: 00023352=00B3
00:08:24:04.03424: 8F: 00023352=00B3
00:08:24:05.05296: 8F: 00023352=00B3
00:08:24:06.07968: 8F: 00023352=00B3
00:08:24:08.00256: 8F: 00023352=00B3
00:08:24:09.01904: 8F: 00023352=00B3
00:08:24:10.02816: 8F: 00023352=00B3
00:08:24:11.05264: 8F: 00023352=00B3
00:08:24:12.08256: 8F: 00023352=00B3
00:08:24:14.00896: 8F: 00023352=00B3
00:08:24:15.03376: 8F: 00023352=00B3
00:08:24:16.05024: 8F: 00023352=00B3
00:08:24:17.07632: 8F: 00023352=00B3
00:08:24:18.09440: 8F: 00023352=00B3
00:08:24:20.00576: 8F: 00023352=00B3
00:08:24:21.04240: 8F: 00023352=00B3
00:08:24:22.05088: 8F: 00023352=00B3
00:08:24:23.07600: 8F: 00023352=00B3
00:08:24:24.09824: 8F: 00023352=00B3
00:08:24:26.01344: 8F: 00023352=00B3
00:08:24:27.05104: 8F: 00023352=00B3
00:08:24:28.06400: 8F: 00023352=00B3
00:08:24:29.07856: 8F: 00023352=00B3
00:08:24:31.00592: 8F: 00023352=00B3
00:08:24:32.02624: 8F: 00023352=00B3
00:08:24:33.04464: 8F: 00023352=00B3
00:08:24:34.08704: 8F: 00023352=00B3
00:08:24:36.00672: 8F: 00023352=00B3
00:08:24:37.04560: 8F: 00023352=00B3
00:08:24:38.05696: 8F: 00023352=00B3
00:08:24:39.07504: 8F: 00023352=00B3
00:08:24:40.09632: 8F: 00023352=00B3
00:08:24:42.01024: 8F: 00023352=00B3
00:08:24:43.03184: 8F: 00023352=00B3
00:08:24:44.05664: 8F: 00023352=00B3
00:08:24:45.08144: 8F: 00023352=00B3
00:08:24:46.09152: 8F: 00023352=00B3
00:08:24:48.01536: 8F: 00023352=00B3
00:08:24:49.03888: 8F: 00023352=00B3
00:08:24:50.05792: 8F: 00023352=00B3
00:08:24:51.09008: 8F: 00023352=00B3
00:08:24:53.00528: 8F: 00023352=00B3
00:08:24:54.04640: 8F: 00023352=00B3
00:08:24:55.06608: 8F: 00023352=00B3
00:08:24:56.07840: 8F: 00023352=00B3
00:08:24:58.01952: 8F: 00023352=00B3
00:08:24:59.02896: 8F: 00023352=00B3
00:08:24:60.05664: 8F: 00023352=00B3
00:08:24:61.07312: 8F: 00023352=00B3
00:08:24:62.08608: 8F: 00023352=00B3
00:08:24:64.02592: 8F: 00023352=00B3
00:08:24:65.04240: 8F: 00023352=00B3
00:08:24:66.06688: 8F: 00023352=00B3
00:08:24:67.09648: 8F: 00023352=00B3
00:08:24:69.01616: 8F: 00023352=00B3
00:08:24:70.04768: 8F: 00023352=00B3
00:08:24:71.06512: 8F: 00023352=00B3
00:08:24:72.09184: 8F: 00023352=00B3
00:08:24:74.01312: 8F: 00023352=00B3
00:08:24:75.02320: 8F: 00023352=00B3
00:08:24:76.04672: 8F: 00023352=00B3
00:08:24:77.06672: 8F: 00023352=00B3
00:08:24:78.08544: 8F: 00023352=00B3
00:08:24:79.09904: 8F: 00023352=00B3
00:08:24:81.02640: 8F: 00023352=00B3
00:08:24:82.04768: 8F: 00023352=00B3
00:08:24:83.06192: 8F: 00023352=00B3
00:08:24:85.00272: 8F: 00023352=00B3
00:08:24:86.01536: 8F: 00023352=00B3
00:08:24:87.03728: 8F: 00023352=00B3
00:08:24:88.05664: 8F: 00023352=00B3
00:08:24:89.07184: 8F: 00023352=00B3
00:08:24:91.01072: 8F: 00023352=00B3
00:08:24:92.01952: 8F: 00023352=00B3
00:08:24:93.03952: 8F: 00023352=00B3
00:08:24:94.08064: 8F: 00023352=00B3
00:08:24:95.09904: 8F: 00023352=00B3
00:08:24:97.03952: 8F: 00023352=00B3
00:08:24:98.05728: 8F: 00023352=00B3
00:08:24:99.07664: 8F: 00023352=00B3
00:08:25:00.09920: 8F: 00023352=00B3
00:08:25:02.01344: 8F: 00023352=00B3
00:08:25:03.03632: 8F: 00023352=00B3
00:08:25:04.05696: 8F: 00023352=00B3
00:08:25:05.07312: 8F: 00023352=00B3
00:08:25:07.01136: 8F: 00023352=00B3
00:08:25:08.02560: 8F: 00023352=00B3
00:08:25:09.05008: 8F: 00023352=00B3
00:08:25:10.07072: 8F: 00023352=00B3
00:08:25:11.08112: 8F: 00023352=00B3
00:08:25:13.00464: 8F: 00023352=00B3
00:08:25:14.02880: 8F: 00023352=00B3
00:08:25:15.05264: 8F: 00023352=00B3
00:08:25:16.07072: 8F: 00023352=00B3
00:08:25:18.00224: 8F: 00023352=00B3
00:08:25:19.01648: 8F: 00023352=00B3
00:08:25:20.02624: 8F: 00023352=00B3
00:08:25:21.05552: 8F: 00023352=00B3
00:08:25:22.06624: 8F: 00023352=00B3
00:08:25:23.09072: 8F: 00023352=00B3
00:08:25:25.01520: 8F: 00023352=00B3
00:08:25:26.03168: 8F: 00023352=00B3
00:08:25:27.07024: 8F: 00023352=00B3
00:08:25:28.08288: 8F: 00023352=00B3
00:08:25:30.00128: 8F: 00023352=00B3
00:08:25:31.02256: 8F: 00023352=00B3
00:08:25:32.03360: 8F: 00023352=00B3
00:08:25:33.06032: 8F: 00023352=00B3
00:08:25:34.09440: 8F: 00023352=00B3
00:08:25:36.02048: 8F: 00023352=00B3
00:08:25:37.05168: 8F: 00023352=00B3
00:08:25:38.06592: 8F: 00023352=00B3
00:08:25:39.08400: 8F: 00023352=00B3
00:08:25:41.01328: 8F: 00023352=00B3
00:08:25:42.04064: 8F: 00023352=00B3
00:08:25:43.05680: 8F: 00023352=00B3
00:08:25:44.08416: 8F: 00023352=00B3
00:08:25:46.01344: 8F: 00023352=00B3
00:08:25:47.04048: 8F: 00023352=00B3
00:08:25:48.06176: 8F: 00023352=00B3
00:08:25:49.07152: 8F: 00023352=00B3
00:08:25:50.09664: 8F: 00023352=00B3
00:08:25:52.01824: 8F: 00023352=00B3
00:08:25:53.03312: 8F: 00023352=00B3
00:08:25:54.06720: 8F: 00023352=00B3
00:08:25:55.08464: 8F: 00023352=00B3
00:08:25:57.00848: 8F: 00023352=00B3
00:08:25:58.02688: 8F: 00023352=00B3
00:08:25:59.03536: 8F: 00023352=00B3
00:08:25:60.07072: 8F: 00023352=00B3
00:08:25:61.08656: 8F: 00023352=00B3
00:08:25:63.01040: 8F: 00023352=00B3
00:08:25:64.04192: 8F: 00023352=00B3
00:08:25:65.05648: 8F: 00023352=00B3
00:08:25:66.08192: 8F: 00023352=00B3
00:08:25:68.00288: 8F: 00023352=00B3
00:08:25:69.02192: 8F: 00023352=00B3
00:08:25:70.04256: 8F: 00023352=00B3
00:08:25:71.04976: 8F: 00023352=00B3
00:08:25:72.07776: 8F: 00023352=00B3
00:08:25:74.00160: 8F: 00023352=00B3
00:08:25:75.01520: 8F: 00023352=00B3
00:08:25:76.04224: 8F: 00023352=00B3
00:08:25:77.06608: 8F: 00023352=00B3
00:08:25:78.08960: 8F: 00023352=00B3
00:08:25:80.00512: 8F: 00023352=00B3
00:08:25:81.04112: 8F: 00023352=00B3
00:08:25:82.06720: 8F: 00023352=00B3
00:08:25:83.09456: 8F: 00023352=00B3
00:08:25:85.02160: 8F: 00023352=00B3
00:08:25:86.03648: 8F: 00023352=00B3
00:08:25:87.06224: 8F: 00023352=00B3
00:08:25:88.07712: 8F: 00023352=00B3
00:08:25:89.08912: 8F: 00023352=00B3
00:08:25:91.02416: 8F: 00023352=00B3
00:08:25:92.03616: 8F: 00023352=00B3
00:08:25:93.05680: 8F: 00023352=00B3
00:08:25:94.08192: 8F: 00023352=00B3
00:08:25:96.00032: 8F: 00023352=00B3
00:08:25:97.03504: 8F: 00023352=00B3
00:08:25:98.05216: 8F: 00023352=00B3
00:08:25:99.08112: 8F: 00023352=00B3
00:08:26:01.00688: 8F: 00023352=00B3
00:08:26:02.02112: 8F: 00023352=00B3
00:08:26:03.03824: 8F: 00023352=00B3
00:08:26:04.06880: 8F: 00023352=00B3
00:08:26:05.09360: 8F: 00023352=00B3
00:08:26:07.02384: 8F: 00023352=00B3
00:08:26:08.04544: 8F: 00023352=00B3
00:08:26:09.06096: 8F: 00023352=00B3
00:08:26:10.08896: 8F: 00023352=00B3
00:08:26:12.01312: 8F: 00023352=00B3
00:08:26:13.02704: 8F: 00023352=00B3
00:08:26:14.05216: 8F: 00023352=00B3
00:08:26:15.08336: 8F: 00023352=00B3
00:08:26:17.01456: 8F: 00023352=00B3
00:08:26:18.03968: 8F: 00023352=00B3
00:08:26:19.05712: 8F: 00023352=00B3
00:08:26:20.08352: 8F: 00023352=00B3
00:08:26:22.00096: 8F: 00023352=00B3
00:08:26:23.01072: 8F: 00023352=00B3
00:08:26:24.04736: 8F: 00023352=00B3
00:08:26:25.05968: 8F: 00023352=00B3
00:08:26:26.07136: 8F: 00023352=00B3
00:08:26:28.01216: 8F: 00023352=00B3
00:08:26:29.02544: 8F: 00023352=00B3
00:08:26:30.06496: 8F: 00023352=00B3
00:08:26:31.07280: 8F: 00023352=00B3
00:08:26:32.09120: 8F: 00023352=00B3
00:08:26:34.01568: 8F: 00023352=00B3
00:08:26:35.03344: 8F: 00023352=00B3
00:08:26:36.05952: 8F: 00023352=00B3
00:08:26:37.08720: 8F: 00023352=00B3
00:08:26:39.00624: 8F: 00023352=00B3
00:08:26:40.02048: 8F: 00023352=00B3
00:08:26:41.04240: 8F: 00023352=00B3
00:08:26:42.05920: 8F: 00023352=00B3
00:08:26:43.08016: 8F: 00023352=00B3
00:08:26:44.08992: 8F: 00023352=00B3
00:08:26:46.01536: 8F: 00023352=00B3
00:08:26:47.04240: 8F: 00023352=00B3
00:08:26:48.06624: 8F: 00023352=00B3
00:08:26:49.07696: 8F: 00023352=00B3
00:08:26:51.01200: 8F: 00023352=00B3
00:08:26:52.02912: 8F: 00023352=00B3
00:08:26:53.04304: 8F: 00023352=00B3
00:08:26:54.07424: 8F: 00023352=00B3
00:08:26:55.09296: 8F: 00023352=00B3
00:08:26:57.02448: 8F: 00023352=00B3
00:08:26:58.04000: 8F: 00023352=00B3
00:08:26:59.05072: 8F: 00023352=00B3
00:08:26:60.08384: 8F: 00023352=00B3
00:08:26:61.09360: 8F: 00023352=00B3
00:08:26:63.00368: 8F: 00023352=00B3
00:08:26:64.03840: 8F: 00023352=00B3
00:08:26:65.05584: 8F: 00023352=00B3
00:08:26:66.08544: 8F: 00023352=00B3
00:08:26:68.00768: 8F: 00023352=00B3
00:08:26:69.02288: 8F: 00023352=00B3
00:08:26:70.04608: 8F: 00023352=00B3
00:08:26:71.05424: 8F: 00023352=00B3
00:08:26:72.07296: 8F: 00023352=00B3
00:08:26:73.09456: 8F: 00023352=00B3
00:08:26:75.00816: 8F: 00023352=00B3
00:08:26:76.03168: 8F: 00023352=00B3
00:08:26:77.05488: 8F: 00023352=00B3
00:08:26:78.07616: 8F: 00023352=00B3
00:08:26:79.08848: 8F: 00023352=00B3
00:08:26:81.00944: 8F: 00023352=00B3
00:08:26:82.02976: 8F: 00023352=00B3
00:08:26:83.04848: 8F: 00023352=00B3
00:08:26:84.09120: 8F: 00023352=00B3
00:08:26:86.01408: 8F: 00023352=00B3
00:08:26:87.04176: 8F: 00023352=00B3
00:08:26:88.06464: 8F: 00023352=00B3
00:08:26:89.07920: 8F: 00023352=00B3
00:08:26:91.01872: 8F: 00023352=00B3
00:08:26:92.03808: 8F: 00023352=00B3
00:08:26:93.07920: 8F: 00023352=00B3
00:08:26:95.00176: 8F: 00023352=00B3
00:08:26:96.02336: 8F: 00023352=00B3
00:08:26:97.05712: 8F: 00023352=00B3
00:08:26:98.06880: 8F: 00023352=00B3
00:08:26:99.09072: 8F: 00023352=00B3
00:08:27:01.01200: 8F: 00023352=00B3
00:08:27:02.02080: 8F: 00023352=00B3
00:08:27:03.04528: 8F: 00023352=00B3
00:08:27:04.06848: 8F: 00023352=00B3
00:08:27:05.09040: 8F: 00023352=00B3
00:08:27:07.01616: 8F: 00023352=00B3
00:08:27:08.02688: 8F: 00023352=00B3
00:08:27:09.04528: 8F: 00023352=00B3
00:08:27:10.06400: 8F: 00023352=00B3
00:08:27:11.07856: 8F: 00023352=00B3
00:08:27:13.00816: 8F: 00023352=00B3
00:08:27:14.03360: 8F: 00023352=00B3
00:08:27:15.06384: 8F: 00023352=00B3
00:08:27:16.07744: 8F: 00023352=00B3
00:08:27:18.00512: 8F: 00023352=00B3
00:08:27:19.02096: 8F: 00023352=00B3
00:08:27:20.04480: 8F: 00023352=00B3
00:08:27:21.07248: 8F: 00023352=00B3
00:08:27:22.08416: 8F: 00023352=00B3
00:08:27:24.01312: 8F: 00023352=00B3
00:08:27:25.03184: 8F: 00023352=00B3
00:08:27:26.04640: 8F: 00023352=00B3
00:08:27:27.09008: 8F: 00023352=00B3
00:08:27:29.00272: 8F: 00023352=00B3
00:08:27:30.04128: 8F: 00023352=00B3
00:08:27:31.05584: 8F: 00023352=00B3
00:08:27:32.06720: 8F: 00023352=00B3
00:08:27:33.09936: 8F: 00023352=00B3
00:08:27:35.00816: 8F: 00023352=00B3
00:08:27:36.02944: 8F: 00023352=00B3
00:08:27:37.05904: 8F: 00023352=00B3
00:08:27:38.07040: 8F: 00023352=00B3
00:08:27:39.09136: 8F: 00023352=00B3
00:08:27:41.01776: 8F: 00023352=00B3
00:08:27:42.03488: 8F: 00023352=00B3
00:08:27:43.05104: 8F: 00023352=00B3
00:08:27:44.07872: 8F: 00023352=00B3
00:08:27:46.00448: 8F: 00023352=00B3
00:08:27:47.03184: 8F: 00023352=00B3
00:08:27:48.05984: 8F: 00023352=00B3
00:08:27:49.07376: 8F: 00023352=00B3
00:08:27:51.00016: 8F: 00023352=00B3
00:08:27:52.02528: 8F: 00023352=00B3
00:08:27:53.03696: 8F: 00023352=00B3
00:08:27:54.06432: 8F: 00023352=00B3
00:08:27:55.07920: 8F: 00023352=00B3
00:08:27:56.09216: 8F: 00023352=00B3
00:08:27:58.02784: 8F: 00023352=00B3
00:08:27:59.04176: 8F: 00023352=00B3
00:08:27:60.07904: 8F: 00023352=00B3
00:08:27:61.09008: 8F: 00023352=00B3
00:08:27:63.00208: 8F: 00023352=00B3
00:08:27:64.04032: 8F: 00023352=00B3
00:08:27:65.05744: 8F: 00023352=00B3
00:08:27:66.08736: 8F: 00023352=00B3
00:08:27:68.01728: 8F: 00023352=00B3
00:08:27:69.05392: 8F: 00023352=00B3
00:08:27:70.07488: 8F: 00023352=00B3
00:08:27:71.08304: 8F: 00023352=00B3
00:08:27:72.09792: 8F: 00023352=00B3
00:08:27:74.02176: 8F: 00023352=00B3
00:08:27:75.03696: 8F: 00023352=00B3
00:08:27:76.06016: 8F: 00023352=00B3
00:08:27:77.08752: 8F: 00023352=00B3
00:08:27:79.01008: 8F: 00023352=00B3
00:08:27:80.02368: 8F: 00023352=00B3
00:08:27:81.04464: 8F: 00023352=00B3
00:08:27:82.06912: 8F: 00023352=00B3
00:08:27:83.09424: 8F: 00023352=00B3
00:08:27:85.01392: 8F: 00023352=00B3
00:08:27:86.03328: 8F: 00023352=00B3
00:08:27:87.06032: 8F: 00023352=00B3
00:08:27:88.07744: 8F: 00023352=00B3
00:08:27:89.08944: 8F: 00023352=00B3
00:08:27:91.02512: 8F: 00023352=00B3
00:08:27:92.03296: 8F: 00023352=00B3
00:08:27:93.05040: 8F: 00023352=00B3
00:08:27:95.04272: 8F: 00023352=00B3
00:08:27:96.06048: 8F: 00023352=00B3
00:08:27:97.09328: 8F: 00023352=00B3
00:08:27:99.00688: 8F: 00023352=00B3
00:08:28:00.03968: 8F: 00023352=00B3
00:08:28:01.05232: 8F: 00023352=00B3
00:08:28:02.06624: 8F: 00023352=00B3
00:08:28:03.09552: 8F: 00023352=00B3
00:08:28:05.01392: 8F: 00023352=00B3
00:08:28:06.04480: 8F: 00023352=00B3
00:08:28:07.06512: 8F: 00023352=00B3
00:08:28:08.09120: 8F: 00023352=00B3
00:08:28:10.00192: 8F: 00023352=00B3
00:08:28:11.02416: 8F: 00023352=00B3
00:08:28:12.04416: 8F: 00023352=00B3
00:08:28:13.05776: 8F: 00023352=00B3
00:08:28:14.09472: 8F: 00023352=00B3
00:08:28:16.02208: 8F: 00023352=00B3
00:08:28:17.04304: 8F: 00023352=00B3
00:08:28:18.06464: 8F: 00023352=00B3
00:08:28:19.07248: 8F: 00023352=00B3
00:08:28:20.09376: 8F: 00023352=00B3
00:08:28:22.01088: 8F: 00023352=00B3
00:08:28:23.02640: 8F: 00023352=00B3
00:08:28:24.09440: 8F: 00023352=00B3
00:08:28:26.00928: 8F: 00023352=00B3
00:08:28:27.04560: 8F: 00023352=00B3
00:08:28:28.05504: 8F: 00023352=00B3
00:08:28:29.06480: 8F: 00023352=00B3
00:08:28:30.09376: 8F: 00023352=00B3
00:08:28:32.00224: 8F: 00023352=00B3
00:08:28:33.01552: 8F: 00023352=00B3
00:08:28:34.04896: 8F: 00023352=00B3
00:08:28:35.06576: 8F: 00023352=00B3
00:08:28:36.09280: 8F: 00023352=00B3
00:08:28:38.01952: 8F: 00023352=00B3
00:08:28:39.04720: 8F: 00023352=00B3
00:08:28:40.07296: 8F: 00023352=00B3
00:08:28:41.08816: 8F: 00023352=00B3
00:08:28:43.01776: 8F: 00023352=00B3
00:08:28:44.04096: 8F: 00023352=00B3
00:08:28:45.06352: 8F: 00023352=00B3
00:08:28:46.07968: 8F: 00023352=00B3
00:08:28:48.00224: 8F: 00023352=00B3
00:08:28:49.02736: 8F: 00023352=00B3
00:08:28:50.05472: 8F: 00023352=00B3
00:08:28:51.08592: 8F: 00023352=00B3
00:08:28:52.09856: 8F: 00023352=00B3
00:08:28:54.02240: 8F: 00023352=00B3
00:08:28:55.04496: 8F: 00023352=00B3
00:08:28:56.06112: 8F: 00023352=00B3
00:08:28:57.09616: 8F: 00023352=00B3
00:08:28:59.00944: 8F: 00023352=00B3
00:08:28:60.02208: 8F: 00023352=00B3
00:08:28:61.05392: 8F: 00023352=00B3
00:08:28:62.06976: 8F: 00023352=00B3
00:08:28:63.09904: 8F: 00023352=00B3
00:08:28:65.01136: 8F: 00023352=00B3
00:08:28:66.02688: 8F: 00023352=00B3
00:08:28:67.05648: 8F: 00023352=00B3
00:08:28:68.06752: 8F: 00023352=00B3
00:08:28:69.09328: 8F: 00023352=00B3
00:08:28:71.01552: 8F: 00023352=00B3
00:08:28:72.02784: 8F: 00023352=00B3
00:08:28:73.04944: 8F: 00023352=00B3
00:08:28:74.07904: 8F: 00023352=00B3
00:08:28:76.00416: 8F: 00023352=00B3
00:08:28:77.03248: 8F: 00023352=00B3
00:08:28:78.04864: 8F: 00023352=00B3
00:08:28:79.07632: 8F: 00023352=00B3
00:08:28:80.09824: 8F: 00023352=00B3
00:08:28:82.01632: 8F: 00023352=00B3
00:08:28:83.02512: 8F: 00023352=00B3
00:08:28:84.05024: 8F: 00023352=00B3
00:08:28:85.07024: 8F: 00023352=00B3
00:08:28:86.07968: 8F: 00023352=00B3
00:08:28:88.01248: 8F: 00023352=00B3
00:08:28:89.02992: 8F: 00023352=00B3
00:08:28:90.05568: 8F: 00023352=00B3
00:08:28:91.07248: 8F: 00023352=00B3
00:08:28:92.08224: 8F: 00023352=00B3
00:08:28:94.01920: 8F: 00023352=00B3
00:08:28:95.03248: 8F: 00023352=00B3
00:08:28:96.04896: 8F: 00023352=00B3
00:08:28:97.08432: 8F: 00023352=00B3
00:08:28:98.09696: 8F: 00023352=00B3
00:08:29:00.01536: 8F: 00023352=00B3

I think the credits start at 00:08:21:88.00544, seeing as it has a jump of a few seconds.

Looking at the dump, there's an EDB1 instruction read there. That's MOV CL,EDh. After that there's the value 00B3 read. Maybe that has something to do with the thing going wrong?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 39 of 40, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Looking at the dump, there's an EDB1 instruction read there. That's MOV CL,EDh. After that there's the value 00B3 read. Maybe that has something to do with the thing going wrong?

Yes. Do the more verbose dump around this point:

00:08:21:88.06368: 8F: 0002337C=EDB1

and I think you'll see the prefetch queue problem I mentioned.