Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

s18: bad graphics #686

Closed
5 tasks done
jotego opened this issue Jun 3, 2024 · 17 comments
Closed
5 tasks done

s18: bad graphics #686

jotego opened this issue Jun 3, 2024 · 17 comments
Assignees
Labels
core bug Something isn't working new game new game on existing core

Comments

@jotego
Copy link
Owner

jotego commented Jun 3, 2024

These games have bad GFX. The tile bank seems wrong (a8cad67).

  • hamaway
  • cltchitr
  • ddcrew
  • desertbr
  • lghost (?)
@jotego jotego added core bug Something isn't working new game new game on existing core labels Jun 3, 2024
@jotego
Copy link
Owner Author

jotego commented Jun 9, 2024

Enemies are not visible in ddcrew. It might be related to the tile map.

gyurco added a commit that referenced this issue Jun 10, 2024
Some VDP priority issues are still exists
@gyurco
Copy link
Collaborator

gyurco commented Jun 10, 2024

Here there are more inputs than sa, sb and fix from the tilemap chip:
image

Just for record, the logic:
https://wiki.pldarchive.co.uk/index.php?title=315-5373

@gyurco
Copy link
Collaborator

gyurco commented Jun 10, 2024

Do you have an idea what are the Tilemap0-4 lines on the tilemap chip?
Also objcol[1:0] is used here for vdp/s16 priority, but in s16 itself, obj_prio=obj_pxl[11:10], strange.

@jotego
Copy link
Owner Author

jotego commented Jun 12, 2024

I am not sure. The arcade GFX chipset seems to be a redesign of the System 16B chipset with slightly different IO. The original chipset seemed to identify which tilemap layer was active. The priority of that layer may have been available too. The file s16b/doc/s16b.txt has a good and short description of the layer priorities around line 1086.

Because S16B video comes already mixed, S18 cannot do much when merging the VDP video. Particularly, you cannot have sprites hide each other depending on the y position. That's why the sprites used on the VDP look flat in Alien Storm, so as to make this limitation less noticeable.

MAME identifies some scenes and priority values but they ignore the real connections on the board. I have been trying to make sense of the decoding signals in the PAL (315-5373) but I could only be sure of what I wrote in the colmix case statement.

@gyurco
Copy link
Collaborator

gyurco commented Jun 12, 2024

That probably need more time then, various priority values are used in every game (5 in D.D.Crew for example). Also 4 (Moonwalker) seems not perfect, as the to-be-rescued kids are look like ghosts sometimes.

@gyurco
Copy link
Collaborator

gyurco commented Jun 12, 2024

Shouldn't this VDP-S16 priority thing belong to a different issue?

@jotego
Copy link
Owner Author

jotego commented Jun 12, 2024

That's fine. Let's limit this one to fix the garbled graphics. Layer priority will be handled on a different one.

@gyurco
Copy link
Collaborator

gyurco commented Jun 12, 2024

I opened #701

gyurco added a commit that referenced this issue Jun 14, 2024
Some VDP priority issues are still exists
jotego pushed a commit that referenced this issue Jun 14, 2024
Some VDP priority issues are still exists
@jotego
Copy link
Owner Author

jotego commented Jun 14, 2024

Fixed

Clitch Hitter seems ready to go. Thank you.
hamaway and *desertbr have a layer priority problem (#701) but tile mapping seems fine.
For lghost I cannot pass the calibration screen so I do not know yet.

ddcrew

This is the image that should appear right after booting up ddcrew. The tilemap bank is pointing to a different place, producing a completely different scene.

0002

wwallyj

The tile bank is wrong in several scenes, including the title

0000

@gyurco
Copy link
Collaborator

gyurco commented Jun 14, 2024

ddcrew also a priority issue (the image you should see comes from the VDP). What's currently seen is the background with the policeman - it's good. Write 4,5: instead of just 4: for the case to the VDP priority mixing, you'll see.

wwally - probably wwally should be wwallyj in the TOML file. But even with this change, there are still issues probably due to unhandled VDP priority level. Also wally needs trackball control.

@terminator2k2
Copy link

@jotego i have a version of laser ghost which is modded and uses joystick controls and im sure it bypasses the calibration screen. I also have a wally modded rom which uses joystick controls aswell. Theres also Clockwork Aquario.

@jotego
Copy link
Owner Author

jotego commented Jul 4, 2024

@jotego i have a version of laser ghost which is modded and uses joystick controls and im sure it bypasses the calibration screen. I also have a wally modded rom which uses joystick controls aswell. Theres also Clockwork Aquario.

It looks like these ROM sets have not been documented. It would be good to report it to the MAME team so they set a name for the files and a CRC check sum for preservation.

@jotego
Copy link
Owner Author

jotego commented Jul 13, 2024

ddcrew seems fine in 8533440 after the priority edits done for mwalk.

@gyurco
Copy link
Collaborator

gyurco commented Jul 13, 2024

For me, it looks like desertbr also good. And wwally, too, but I have a problem adding trackball controls. The trackball input is using an upd4701. As there's jt4701, it seemed straightforward. Unfortunately dial_x and dial_y (which jt4701 accepts) don't correspond to mouse x and y, but only mouse x. Is it feasible to add the vertical mouse movement as dial_y emulation to jtframe_dial?

@gyurco
Copy link
Collaborator

gyurco commented Jul 13, 2024

Another issue that the game seems to need reversed dials, but

dial = [
    { machine="wwallyj", reverse=true },
]

doesn't do anything, MRA has still:

    <rom index="1">
        <part>00 6E</part>
    </rom>

@gyurco
Copy link
Collaborator

gyurco commented Jul 13, 2024

But the later one is not really important, it's easy to reverse the dial signals.
Here's a patch for the controls:
7e14dcf
Looks like there's still a minor problem with the layer priority, as the mouse cursor tends to disappear behind the scenes.

@jtmiki
Copy link
Collaborator

jtmiki commented Jul 24, 2024

It looks like this issue is completed and the rest of the gfx problems are priority-layer related, and addresses in #701. Closing this one.

@jtmiki jtmiki closed this as completed Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core bug Something isn't working new game new game on existing core
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants