summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2020-10-05 21:49:54 +0200
committer GitHub <noreply@github.com>2020-10-05 21:49:54 +0200
commit9ac23897b93842e78fd98fb2137c10aa918e4eee (patch)
tree00e0047d6f9b903e0d17a8f8f965f5a966a92e98
parent0c9fc40601633794507f0b180992ca5dcad9667f (diff)
ms32.cpp: extend ROZ notes (nw)
-rw-r--r--src/mame/video/ms32.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/mame/video/ms32.cpp b/src/mame/video/ms32.cpp
index 5336bb60258..a8f16d19a07 100644
--- a/src/mame/video/ms32.cpp
+++ b/src/mame/video/ms32.cpp
@@ -243,12 +243,25 @@ void ms32_state::draw_sprites(bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_pri, con
void ms32_state::draw_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect,int priority)
{
- /* TODO: registers 0x40/4 / 0x44/4 and 0x50/4 / 0x54/4 are used, meaning unknown */
-
+ // TODO: registers 0x40 / 0x44 and 0x50 / 0x54 are used, unknown meaning
+ // Given how this works out it is most likely that 0x*0 controls X axis while 0x*4 Y,
+ // nothing is known to diverge between settings so far (i.e. bbbxing sets 0xffff to 0x4* and 0x0000 to 0x5*).
+ // 0x4* 0x5* ROZ should wrap?
+ // bbbxing: 0xffff 0x0000 0 (match presentation)
+ // gratia: 0x0000 0x0000 1 (sky in stage 2)
+ // p47aces: 0xffff 0x0651 0 (title screen)
+ // desertwr: 0xffff 0x0651 1 (any stage)
+ // f1superb: 0xffff 0x0000 ?
+ // suchie2: 0x0000 0x0000 0?
+ // bnstars: 0x0000 0x0000 ?
+ // hayaosi3: 0x0000 0x0000 ?
+ // Maybe wrapping is done by limit boundaries rather than individual bits, so that bbbxing and p47aces abuses of this behaviour?
+ // Are we missing a ROZ plane size as well?
+
if (m_roz_ctrl[0x5c/4] & 1) /* "super" mode */
{
rectangle my_clip;
- int y,maxy;
+ int y, maxy;
my_clip.min_x = cliprect.min_x;
my_clip.max_x = cliprect.max_x;