Skip to content

Conversation

cam900
Copy link
Contributor

@cam900 cam900 commented Oct 7, 2025

  • Fix sprite wraparound method
  • Add notes for sprite hardware
  • Use BIT macro for single bit values
  • Simplify gfx decode layout
  • Fix spacings
  • Fix namings

- Fix sprite wraparound method
- Add notes for sprite hardware
- Use BIT macro for single bit values
- Simplify gfx decode layout
- Fix spacings
- Fix namings
const u32 colour = (m_spriteram[offs + 0] & 0x003f0000) >> 16;
const u8 w = ((m_spriteram[offs + 0] & 0x07000000) >> 24) + 1;
const u8 h = ((m_spriteram[offs + 0] & 0x70000000) >> 28) + 1;
// TODO: flip sprite?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The unused bits could be anything in the Seibu portfolio, adding this note has no effective value.

Copy link
Contributor Author

@cam900 cam900 Oct 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That because original RISE11 (also used at rfjet and clones in seibu/seibuspi.cpp; including functionally compatible RISE10 and SEI252) has per-sprite flip X/Y bit in sprite RAM, but seems to not used in feversoc.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the note should be // TODO: merge implementation with Seibu SPI/Cats, and I don't think it's necessary because it's already repeated in header. Game probably also uses DMA start address etc. as per the norm since legionna.cpp anyway ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants