- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
05345 | Core | Major | Always | Oct 30, 2013, 20:45 | Sep 26, 2015, 19:38 |
Tester | Tafoid | View Status | Public | Platform | MESS (Official Binary) |
Assigned To | Resolution | Fixed | OS | Windows Vista/7/8 (64-bit) | |
Status [?] | Resolved | Driver | |||
Version | 0.150 | Fixed in Version | 0.166 | Build | Normal |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 05345: a2600 [dodgeem, haunted]: Assorted issues related to 6502 CPU | ||||
Description |
Suspected to timing issues of the core, the following happens: Dodge Em (dodgeem) - Audio is incorrect. Wrong types of sound play at wrong times. Haunted House (haunted) - Graphics are offset - impossible to play correctly. Eye should start on the right side. |
||||
Steps To Reproduce | |||||
Additional Information |
All issued traced to either initial change of the new 6502 core or the IRQ fixes shortly after (r18875, r18880) |
||||
Github Commit | |||||
Flags | |||||
Regression Version | 0.147u3 | ||||
Affected Sets / Systems | a2600 [dodgeem, haunted] | ||||
Attached Files
|
HH-FIXED.zip (3,481 bytes) Sep 16, 2015, 13:40 Uploaded by trebor Hacked version which corrects the instruction at $F44F, and it runs as expected in MESS. | ||||
Relationships
There are no relationship linked to this issue. |
Notes
6
No.10071
wilbert Developer
Dec 15, 2013, 19:34
|
Reimplemented FE mapper in revision 26624, fixes decathln. |
---|---|
No.10085
wilbert Developer
Dec 20, 2013, 18:15
|
For dodgeem the instructions executed is exactly the same between the old and new cpu core. So I am guessing the incorrect sound there is caused by ghost reads of writes. |
No.12032
trebor Tester
Sep 16, 2015, 13:37
|
Regarding Haunted House...Courtesy of Mike Saarna: ""Reading a write-only register on most 2600s returns the last value on the bus, and the last value on the bus is the last byte in the opcode. The HH programmer made a typo. At $F44F the game is sutracting using the value in $0f, instead of subtracting using the literal value $0f. Since the last byte of the opcode is $0f, most 2600s will pull this value and wind up working as intended. But on 1 out of 100 2600s, the "last value on the bus" result doesn't happen. Same is true for emulators that don't similarly handle reads from write-only registers. I've attached a hacked version of the HH bin which corrects the instruction at $F44F, and it runs as expected in MESS. The 7800 has the same bus effects in places too, BTW." |
No.12033
trebor Tester
Sep 16, 2015, 13:43
|
Sorry old habit, MESS=MAME :) |
No.12034
trebor Tester
Sep 17, 2015, 01:21
|
Regarding Dodge 'Em...Again, courtesy of Mike Saarna: "Dodge Em has a similar program error... actually 2 of them. One at $F149, and another at $FBAC. The latter one is responsible for messing up the sound." |
No.12048
Tafoid Administrator
Sep 26, 2015, 19:38
|
https://github.com/mamedev/mame/commit/80b274e7ed97be04821cb6658a154ea11203b8ff a2600: new 6502 PC=cur inst, old 6502 PC=prev inst (MT 5345) [Mike Saarna, Trebor, R. Belmont] |