Viewing Issue Advanced Details Jump to Notes ] ct486.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05567 Crash/Freeze Critical (emulator) Always May 3, 2014, 02:22 May 4, 2014, 01:15
Tester maclover490 View Status Public Platform MESS (Official Binary)
Assigned To mahlemiut Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved   Driver ct486.cpp
Version 0.153 Fixed in Version 0.154 Build 64-bit
Summary MESS-specific 05567: ct486: Starting XFree86 with the "svga_dm" graphics card crashes MESS
Description When I start XFree86 3.1.1 (Slackware 2.2) using the "svga_dm" (Diamond SpeedStar Pro SE) graphics card in isa1, some corrupted graphics are displayed then MESS crashes with the following stack crawl:

Exception at EIP=0000000000F139A3 (cirrus_vga_device::mem_w(address_space&, unsigned int, unsigned char, unsigned char)+0x0043): ACCESS VIOLATION
While attempting to write memory at 00000000118D5340
RAX=00000000116D0040 RBX=0000000000000000 RCX=0000000003987610 RDX=000000000C5D8AD0
RSI=000000000C896770 RDI=00000000FFFFFFFF RBP=00000000002274F0 RSP=00000000002274F0
 R8=0000000000205300 R9=00000000000000FF R10=000000000C89679C R11=00000000000000FF
R12=00000000000024C0 R13=00000000FFFFFFFF R14=000000000C5D8AD0 R15=F21F494C589C0000
Stack crawl:
  00000000002274F0: 0000000000F139A3 (cirrus_vga_device::mem_w(address_space&, unsigned int, unsigned char, unsigned char)+0x0043)
  0000000000227560: 00000000015BE456 (handler_entry_write::write_stub_32(address_space&, unsigned int, unsigned int, unsigned int)+0x0136)
  00000000002275A0: 0000000001EA1745 (address_space_specific<unsigned int, (endianness_t)0, true>::write_dword(unsigned int, unsigned int)+0x00a5)
  0000000000227600: 0000000001B15F3C (i386_device::WRITE32(unsigned int, unsigned int)+0x003c)
  0000000000227650: 0000000000ECCB86 (i386_device::i386_mov_rm32_r32()+0x0066)
  00000000002277E0: 0000000000F02F6C (i386_device::execute_run()+0x020c)
  00000000002278A0: 00000000015E46A0 (device_scheduler::timeslice()+0x0550)
  0000000000227A80: 00000000015F64ED (running_machine::run(bool)+0x02ed)
  000000000022F340: 000000000154862C (mame_execute(emu_options&, osd_interface&)+0x05ac)
  000000000022F870: 000000000168FCBA (cli_frontend::execute(int, char**)+0x107a)
  000000000022FE00: 0000000000B05BA8 (utf8_main(int, char**)+0x0448)
  000000000022FE60: 00000000018D5A3C (wmain+0x007c)
  000000000022FF20: 00000000004013F0 (__tmainCRTStartup+0x0270)
  000000000022FF50: 00000000004014F8 (mainCRTStartup+0x0018)
  000000000022FF80: 00000000772B651D (BaseThreadInitThunk+0x000d)
  000000000022FFD0: 00000000773EBA01 (RtlUserThreadStart+0x0021)
Steps To Reproduce - Run MESS using the "svga_dm" card in isa1
- Install Slackware 2.2 on either ct486 or at486
- use xf86config to create a configuration file for X11 (The SpeedStar Pro SE is number 33 in the graphics card list)
- start X11 with "startx"
Additional Information The command line I used:
mess64 -w ct486 -hard HDImg\PC_AT_Slackware22.chd -board3:ide:ide:1 cdrom -ramsize 8M -isa1 svga_dm
Regression Version
Affected Sets / Systems ct486
Attached Files
png file icon 0013.png (3,038 bytes)  May 3, 2014, 02:22 by maclover490
The corrupted graphics displayed right before MESS crashes

-  Notes
User avatar
May 3, 2014, 10:13
Have committed a fix for this (r30205), seems to fix any crashing for me, at least. Please check on your own setup, if you are able to.

You don't say what X11 server you specified, but the recommended XF86_SVGA still doesn't display correctly, it likely uses some of the unimplemented CLGD-5430 features. The standard 16 colour VGA X server should work though.
User avatar
May 4, 2014, 00:54
It looks like svga_dm doesn't implement any of the CLGD-5430 specific features yet other than the pci id and VGA.
User avatar
May 4, 2014, 01:15
I did use XF86_SVGA and it no longer crashes with SVN.