Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
03786 Graphics Minor Always Mar 18, 2010, 22:09 Aug 1, 2015, 02:11
Tester M.A.S.H. View Status Public Platform MAME (Self-compiled)
Assigned To Kale Resolution Fixed OS
Status [?] Resolved Driver
Version 0.137 Fixed in Version 0.140u3 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 03786: pastelg: Screen not cleared
Description Pastel Gal cleared the screen not since MAME 0.104u7 (see snapshot).
Delete the NVRAM file pastelg.nv first before you check this.
I found the problem in the Z80 core. The function TIME_LOOP_HACKS was set to 0.
If TIME_LOOP_HACKS is defined (#define TIME_LOOP_HACKS 1) in cpu\z80\z80.c, three
extra checks will be defined (CHECK_BC_LOOP, CHECK_DE_LOOP and CHECK_HL_LOOP).
Pastel Gal only need CHECK_HL_LOOP to clear the screen after the start.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version 0.104u7
Affected Sets / Systems pastelg
Attached Files
png file icon pastelg.png (9,813 bytes) Mar 18, 2010, 22:09
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.05886
Tafoid
Administrator
Mar 18, 2010, 22:52
edited on: Mar 18, 2010, 22:53
I can confirm the behavior and the regression version. As for your observations, I'll have to let actual Devs critique that.
User avatar
No.05887
Haze
Senior Tester
Mar 18, 2010, 23:03
edited on: Mar 18, 2010, 23:05
enabling hacks which affect timing is not a fix.. actually I wonder why the Z80 core even has such hacks as a #define .... speed hacks in a z80 core don't make sense, and turning them on is more likely to break hundreds of games ...
User avatar
No.05888
Mamesick
Senior Tester
Mar 19, 2010, 07:28
edited on: Mar 19, 2010, 07:49
Those hack #defines have been removed a while ago IIRC. So in any case they cannot be applied to current source. More likely the timings in NB1413M3.C have to be checked.

EDIT: after the creation of the .NV file, the bug is no more present. A sort of initialization bug?
User avatar
No.05892
Kale
Developer
Mar 19, 2010, 17:05
edited on: Mar 19, 2010, 17:05
Appears to be "random" actually, try to delete the nvram thru memory reset button (service 3) ... could be a timing bug caused by the
timer_set(machine, attotime_mul(ATTOTIME_IN_HZ(400000), nb1413m3_busyctr), NULL, 0, blitter_timer_callback); code that's inside video/pastelg.c , and that doesn't even work correctly for the other game in the driver (3ds), so I consider it as the first candidate for this quirk.
User avatar
No.11922
M.A.S.H.
Senior Tester
Aug 1, 2015, 02:11
Fixed in MAME 0.140u3
r10696: 12. Dezember 2010
Hand tuned Z80 clock divider in Pastel Gal driver, needed to correct galds sound sample pitch [Angelo Salese]