(MESS) pc9801: make 9801ux boot (nw)

i386: fix smsw undocumented behavior (nw)
This commit is contained in:
cracyc 2013-08-02 20:40:49 +00:00
parent 64a8c596b9
commit cb0fd51fad
2 changed files with 4 additions and 1 deletions

View File

@ -3111,7 +3111,8 @@ static void I386OP(group0F01_32)(i386_state *cpustate) // Opcode 0x0f 01
case 4: /* SMSW */
{
if( modrm >= 0xc0 ) {
STORE_RM32(modrm, cpustate->cr[0] & 0xffff);
// smsw stores all of cr0 into register
STORE_RM32(modrm, cpustate->cr[0]);
CYCLES(cpustate,CYCLES_SMSW_REG);
} else {
/* always 16-bit memory operand */

View File

@ -3838,6 +3838,8 @@ ROM_START( pc9801ux )
ROM_LOAD( "bios_ux.rom", 0x28000, 0x18000, BAD_DUMP CRC(97375ca2) SHA1(bfe458f671d90692104d0640730972ca8dc0a100) )
// floppy recalibration happens too fast so skip this test
ROM_FILL(0x3f60a, 1, 0xff)
// correct checksum
ROM_FILL(0x3fffe, 1, 0x9a)
ROM_REGION( 0x10000, "sound_bios", 0 )
ROM_LOAD( "sound_ux.rom", 0x0000, 0x4000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) )