Previous 15994 Revisions Next

r778 Wednesday 1st August, 2007 at 18:18:01 UTC by Wilbert Pol
[SMS] Fixed Korean mapper support. (bug #1323/1324/1325)
[src/mess/machine]sms.c

src/mess/machine/sms.c
r777r778
492492   if ( sms_cartridge[sms_current_cartridge].features & CF_CODEMASTERS_MAPPER ) {
493493      sms_cartridge[sms_current_cartridge].cartRAM[sms_cartridge[sms_current_cartridge].ram_page * 0x2000 + offset] = data;
494494   }
495   if ( sms_cartridge[sms_current_cartridge].features & CF_KOREAN_MAPPER && offset == 0 ) { /* Dodgeball King mapper */
496      UINT8   rom_page_count = sms_cartridge[sms_current_cartridge].size / 0x4000;
497      int      page = (rom_page_count > 0) ? data % rom_page_count : 0;
498      if ( ! sms_cartridge[sms_current_cartridge].ROM )
499         return;
500      sms_banking_cart[4] = sms_cartridge[sms_current_cartridge].ROM + page * 0x4000;
501      memory_set_bankptr( 4, sms_banking_cart[4] );
502      memory_set_bankptr( 5, sms_banking_cart[4] + 0x2000 );
503#ifdef LOG_PAGING
504      logerror("rom 2 paged in %x dodgeball king.\n", page);
505#endif
506   }
495507}
496508
497509WRITE8_HANDLER(sms_cartram_w) {
r777r778
516528#ifdef LOG_PAGING
517529         logerror("rom 2 paged in %x codemasters.\n", page);
518530#endif
519      } else if ( sms_cartridge[sms_current_cartridge].features & CF_KOREAN_MAPPER && offset == 0x2000 ) { /* Dodgeball King mapper */
520         UINT8   rom_page_count = sms_cartridge[sms_current_cartridge].size / 0x4000;
521         page = (rom_page_count > 0) ? data % rom_page_count : 0;
522         if ( ! sms_cartridge[sms_current_cartridge].ROM )
523            return;
524         sms_banking_cart[4] = sms_cartridge[sms_current_cartridge].ROM + page * 0x4000;
525         memory_set_bankptr( 4, sms_banking_cart[4] );
526         memory_set_bankptr( 5, sms_banking_cart[4] + 0x2000 );
527#ifdef LOG_PAGING
528         logerror("rom 2 paged in %x dodgeball king.\n", page);
529#endif
530531      } else if ( sms_cartridge[sms_current_cartridge].features & CF_ONCART_RAM ) {
531532         sms_cartridge[sms_current_cartridge].cartRAM[offset & ( sms_cartridge[sms_current_cartridge].ram_size - 1 ) ] = data;
532533      } else {

Previous 15994 Revisions Next


© 1998-2018 The MESS Team