Previous 15994 Revisions Next

r10550 Tuesday 22nd February, 2011 at 18:06:09 UTC by Fabio Priuli
[GBA] Added some notes about test cases for future IRQ work (chosen scanline 224 to fire IRQ, because of Mario & Luigi Superstar Saga, until further progresses are done)
[src/mess/drivers]gba.c

src/mess/drivers/gba.c
r10549r10550
20832083   }
20842084
20852085   // exiting VBL, handle interrupts and DMA triggers
2086   if (scanline == 227)
2086   if (scanline == 224)
20872087   {
2088      // FIXME: some games are very picky with this trigger!
2089      // * Mario & Luigi SuperStar Saga loses pieces of gfx for 225-227.
2090      // * Driver 2 does not work with values > 217.
2091      // * Prince of Persia Sands of Time, Rayman Hoodlum's Revenge, Rayman 3 breaks for large
2092      //   values (say > 200, but exact threshold varies).
2093      // * Scooby-Doo Unmasked and Mystery Mayhem have problems with large values (missing dialogue
2094      //   text).
2095      // * Nicktoons Racign does not start with 227; and it resets before going to the race with
2096      //   values > 206.
2097      // * Phil of Future does not start for values > 221.
2098      // * Sabrina Teenage Witch does not even reach the Ubi Soft logo if we use the VBL exit value
2099      //   227; it does not display title screen graphics when using 225-226; the intro is broken
2100      //   with anything between 207-224.
2101      // * Anstoss Action has broken field graphics for values > 223.
2102      // However, taking smaller values breaks raster effects in a LOT of games (e.g. Castlevania
2103      // series, Final Fantasy series, Tales of Phantasia, Banjo Pilot, NES 'collections' by Hudson,
2104      // Jaleco and Technos, plus tons of racing games, which show garbage in the lower half of the
2105      // screen with smaller values).
2106      // Already choosing 224 instead of 227 makes some glitches to appear in the bottom scanlines.
2107      // Other test cases are EA Sport games (like FIFA or Madden) which have various degrees of
2108      // glitchness depending on the value used here.
2109      // More work on IRQs is definitely necessary!
20882110      int ch, ctrl;
20892111
20902112      if (state->DISPSTAT & DISPSTAT_VBL_IRQ_EN)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team