While I was debugging the problem with AWE32 chorus that you reported with System Shock, I had some problems to make it run.
I got a copy of the cd version from internet.
Depending on the drivers that i load ( config.sys, autoexec.bat ), the emulator crashes at game startup due to a "fatal()" call coming from here.
System is MS-DOS 6.22 under Pentium 166 MMX and loading XMS and EMS:
codegen_x86.c (also present in codegen_x86_64.c )
Log:static void add_to_block_list(codeblock_t *block)
[...]
if (block->next)
{
if (!block->next->pc)
fatal("block->next->pc=0 %p %p %x %x\n", (void *)block->next, (void *)codeblock, block_current, block_pos);
}
I have the dumps but even zipped with 7zip still sizes 900KB.block->next->pc=0 07E94538 07020000 1b84 328
PIC1 : MASK A8 PEND 00 INS 00 VECTOR 08
PIC2 : MASK 1D PEND 00 INS 00 VECTOR 70
Dumping rram.dmp
Dumping rram4.dmp
Dumping done
EAX=000000FF EBX=0000001F ECX=00000001 EDX=0000008A
EDI=0064222C ESI=FFFCCA3B EBP=00642258 ESP=0064229C
PC=000C CS=0180 DS=0188 ES=0188 SS=0188 FLAGS=0297
0180:000C 0000:0000
138621661 ins
In protected mode
CS : base=000000 limit=FFFFFFFF access=9B limit_low=00000000 limit_high=FFFFFFFF
DS : base=000000 limit=FFFFFFFF access=93 limit_low=00000000 limit_high=FFFFFFFF
ES : base=000000 limit=FFFFFFFF access=93 limit_low=00000000 limit_high=FFFFFFFF
FS : base=FFFFFFFF limit=0000FFFF access=00 limit_low=00000000 limit_high=0000FFFF
GS : base=005990 limit=0000FFFF access=93 limit_low=00000000 limit_high=0000FFFF
SS : base=000000 limit=FFFFFFFF access=93 limit_low=00000000 limit_high=FFFFFFFF
GDT : base=410010 limit=3FFF
LDT : base=410010 limit=3FFF
IDT : base=005A50 limit=07FF
TR : base=006704 limit=0067
386 in 32-bit mode stack in 32-bit mode
CR0=80000011 CR2=8004FFFF CR3=00008000 CR4=00000000
Entries in readlookup : 0 writelookup : 0
Entries in readlookup : 234 writelookup : 11
ST(0)=0.000000 ST(1)=0.000000 ST(2)=0.000000 ST(3)=0.000000
ST(4)=0.000000 ST(5)=-0.000000 ST(6)=0.000000 ST(7)=1.#INF00
Status = 0000 Control = 037F Tag = FFFF
I was able to make it run when loading the cd drivers from FDOS. Loading another set of cd drivers didn't work.
With a Winchip 166 without recompile, the same thing happens, except there is no fatal(). With FDOS drivers, the game loads, and without them it halts on a black screen. (the emulator windows keep responsive).
I don't know if this is a problem with PCem, or a problem with the game, but still, it was strange.