- --
Viewing Issue Advanced Details
[ Jump to Notes ]
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
01968 | Cheat System | Critical (emulator) | Always | Jul 3, 2008, 18:02 | Jul 4, 2008, 16:58 |
Tester | Tafoid | View Status | Public | Platform | MAME (Self-compiled) |
Assigned To | Resolution | Fixed | OS | Windows 2000 | |
Status [?] | Resolved | Driver | |||
Version | 0.125u9 | Fixed in Version | 0.126 | Build | Athlon |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 01968: -CHEAT trigger causes MAME crash when starting or exiting with some sets. | ||||
Description |
Use of -CHEAT with any set causes a fatal exception when exiting MAME.----------------------------------------------------- |
||||
Steps To Reproduce | |||||
Additional Information |
Examples: MAME pacman -cheat MAME mappy -cheat MAME mk -cheat MAME dino -cheat |
||||
Github Commit | |||||
Flags | |||||
Regression Version | 0.125u9 | ||||
Affected Sets / Systems | |||||
Attached Files
|
cheat123.zip (1,360,891 bytes) Jul 4, 2008, 00:00 | ||||
Relationships
Notes
9
No.01468
couriersud Developer
Jul 3, 2008, 18:31
|
Does not reproduce on linux 64bit. What is your cheat_file setting? Please attach mame.ini? Can someone provide a backtrace from windows? |
---|---|
No.01469
Tafoid Administrator
Jul 3, 2008, 18:57
|
Latest official cheat.dat from Pugsy's (0.123) Dated February 5th. I have only 2 items defined in my MAME.INI: <UNADORNED0> I'm taking the time (about 45 minutes) to build a symbols build and I'll report what I get. |
No.01470
robiza Developer
Jul 3, 2008, 19:24
|
confirmed |
No.01471
Tafoid Administrator
Jul 3, 2008, 19:45
edited on: Jul 3, 2008, 19:49 |
It's odd, it's crashing before the game start with a fresh symbols build, 32-bit baseline:F:\MAMESRC>gdb mamesymbols.exe Again, this only happens with -cheat toggled AND having a CHEAT.DAT in folder - as it's not reading in the .DAT file correctly. EDIT: Modifying the summery to reflect that it can crash entering or exiting |
No.01473
couriersud Developer
Jul 3, 2008, 23:59
|
Tafoid, could you please attach the cheat.dat which is causing the issue? It will help tracking down the issue. I am not able to reproduce this on linux64 and it looks like it is crashing on your cheat.dat. Thanks! |
No.01474
Tafoid Administrator
Jul 4, 2008, 00:01
edited on: Jul 4, 2008, 01:17 |
Same one as available on cheat.retrogames.com - but here it is. EDIT: It also crashed out as soon as I selected a new random game from the UI. |
No.01477
Haze Senior Tester
Jul 4, 2008, 10:19
|
yeah.. the bug is probably when it's loading.. hence the -------------------- crashes etc. on some sets. quite often on non-debug builds you'll find buggy drivers crashing on exit rather than crashing where the actual bug is.. IMO cheat loading is broken. |
No.01479
ShimaPong Tester
Jul 4, 2008, 15:36
edited on: Jul 4, 2008, 15:39 |
OK, I confirmed and found the reason. Open cheat.c and go to line 9599. static void load_cheat_code_standard(running_machine *machine, char *file_name) { char buf[256]; mame_file *the_file; cheat_format_strings *buffer = format_strings; /* open the database */ if(open_cheat_database(&the_file, file_name, DATABASE_LOAD) == 0) return; found_database = 1; /* get a line from database */ while(mame_fgets(buf, 2048, the_file)) <- line 9599 {And change "2048" to "255" <Before> while(mame_fgets(buf, 2048, the_file)) <After> while(mame_fgets(buf, 255, the_file))Sorry, it's complete my mistake because load_cheat_code_new() and load_cheat_code_old() has been already fixed with this value but not fixed against load_cheat_code_standard(). I have sent diff with small change to dev (I have replaced this value with a macro in submit version) BTW, I doubt the code which causes the crash. :2020bb:62000000:000000:00000000:00000000:Select Cartridge/NeoGeo Type:Enable it DURING the neogeo bios booting sequence. If you miss the boot sequence reset and THEN enable it. The Home (NEOGEO) setting may open up other aspects of the game or it may even make the game unplayable."Enable it...game unplayable." is set in the comment field. I think that this field will be designed to display "SIMPLE and 1-LINE" comment. But this code has "LONG and MULTI-LINE" comment. I don't know why it has been set to comment "FIELD" because I'm not a original code creator/poster. Anyway in this case, it's better to use (extend) comment "LINE" code instead of "FIELD". Sample with new format and see screenshot :2020bb::F100000000::000000::00000000::00000000:------ Cartridge/NeoGeo Type ----- :2020bb::F100010000::000000::00000000::00000000:Enable it DURING the neogeo bios booting sequence. :2020bb::F100010000::000000::00000000::00000000:If you miss the boot sequence reset and THEN enable it, :2020bb::F100010000::000000::00000000::00000000:the Home (NEOGEO) setting may open up other aspects :2020bb::F100010000::000000::00000000::00000000:of the game or it may even make the game unplayable. ;2020bb::F100010000::000000::00000000::00000000:---------------------------------- :2020bb::F300000000::000000::00000000::00000000:Select Cartridge/NeoGeo TypeMulti-line comment codes are packed into "Read Me" line in code selection menu and displayed in new window when you select. |
No.01484
robiza Developer
Jul 4, 2008, 16:58
|
fixed by ShimaPong |