Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01475 Crash/Freeze Critical (emulator) Always Mar 10, 2008, 18:44 Mar 14, 2008, 05:20
Tester Duke View Status Public Platform Other
Assigned To Resolution Fixed OS Linux
Status [?] Resolved Driver
Version 0.123u4 Fixed in Version 0.123u6 Build Debug
Fixed in Git Commit Github Pull Request #
Summary 01475: [debug] Screenless systems are broken because of a vblank callback
Description All screenless systems are currently broken. They die with the following assert:

src/emu/video.c:1121: video_screen_register_vbl_cb: Assertion `screen != ((void *)0)' failed.

The problem is in the function input_port_post_init() in src/emu/inptport.c:

void input_port_post_init(running_machine *machine)
{
/* set up callback for updating the ports */
video_screen_register_vbl_cb(machine, NULL, on_vblank);
}

This code sets up a vblank callback regardless if there are screens or not. If there are no screens, the code fails with the above assert.
Steps To Reproduce Run any driver with a screenless system.
Additional Information
Github Commit
Flags Debug build specific
Regression Version 0.123u4
Affected Sets / Systems
Attached Files
 
Relationships
has duplicate 01537Resolved  mpu4utst, mpu4tst2, mpu4met0, connect4: Hang with endless loop 
child of 01463Resolved  connect4, mpu4met0, mpu4tst2, mpu4utst, bctvidbs: [debug] Assertion 
Notes
2
User avatar
No.00087
Tafoid
Administrator
Mar 10, 2008, 21:10
This appears a repeat of reported 01463. Linked as a child problem.
User avatar
No.00128
aaron
Developer
Mar 13, 2008, 23:28
The code referenced above no longer exists. I'm hesitant to state for sure that the bug is fixed, however. It should be retested in 0.123u5.