src/mess/machine/sms.c
| r8721 | r8722 | |
| 9 | 9 | #define VERBOSE 0 |
| 10 | 10 | #define LOG(x) do { if (VERBOSE) logerror x; } while (0) |
| 11 | 11 | |
| 12 | | #define CF_CODEMASTERS_MAPPER 0x01 |
| 13 | | #define CF_KOREAN_MAPPER 0x02 |
| 12 | #define CF_CODEMASTERS_MAPPER 0x01 |
| 13 | #define CF_KOREAN_MAPPER 0x02 |
| 14 | 14 | #define CF_KOREAN_ZEMINA_MAPPER 0x04 |
| 15 | | #define CF_93C46_EEPROM 0x08 |
| 16 | | #define CF_ONCART_RAM 0x10 |
| 17 | | #define CF_GG_SMS_MODE 0x20 |
| 15 | #define CF_93C46_EEPROM 0x08 |
| 16 | #define CF_ONCART_RAM 0x10 |
| 17 | #define CF_GG_SMS_MODE 0x20 |
| 18 | 18 | |
| 19 | 19 | #define MAX_CARTRIDGES 16 |
| 20 | 20 | |
| r8721 | r8722 | |
| 792 | 792 | memory_set_bankptr(space->machine, "bank4", sms_state.banking_cart[4]); |
| 793 | 793 | break; |
| 794 | 794 | } |
| 795 | | LOG(("Zemina 2 mapper write: offset %x data %x.\n", offset, page)); |
| 795 | LOG(("Zemina mapper write: offset %x data %x.\n", offset, page)); |
| 796 | 796 | } |
| 797 | 797 | } |
| 798 | 798 | |
| r8721 | r8722 | |
| 904 | 904 | sms_state.banking_cart[5] = sms_state.cartridge[sms_state.current_cartridge].ROM + page * 0x4000; |
| 905 | 905 | memory_set_bankptr(space->machine, "bank5", sms_state.banking_cart[5]); |
| 906 | 906 | memory_set_bankptr(space->machine, "bank6", sms_state.banking_cart[5] + 0x2000); |
| 907 | | LOG(("rom 2 paged in %x codemasters.\n", page)); |
| 907 | LOG(("rom 2 paged in %x (Codemasters mapper).\n", page)); |
| 908 | 908 | } |
| 909 | 909 | else if (sms_state.cartridge[sms_state.current_cartridge].features & CF_ONCART_RAM) |
| 910 | 910 | { |
| r8721 | r8722 | |
| 1424 | 1424 | memory_nop_write(program, 0xa000, 0xa000, 0, 0); |
| 1425 | 1425 | } |
| 1426 | 1426 | |
| 1427 | | printf("%x\n", sms_state.cartridge[index].features); |
| 1427 | LOG(("Cart Features: %x\n", sms_state.cartridge[index].features)); |
| 1428 | 1428 | |
| 1429 | 1429 | /* Load battery backed RAM, if available */ |
| 1430 | 1430 | image.battery_load(sms_state.cartridge[index].cartSRAM, sizeof(UINT8) * NVRAM_SIZE, 0x00); |