From d66d747d98aa7cdb2344fedd359cecb3ff1164c6 Mon Sep 17 00:00:00 2001 From: ekeeke31 Date: Sun, 15 Jan 2012 19:51:27 +0000 Subject: [PATCH] - annual code cleanup ;-) - added port $3E emulation (SMS, GG) - added SMS & GG BIOS support - added an option to run BIOS without cartridge - added separate ROM browsers for SG-1000, Master System, Game Gear & Mega Drive / Genesis - changed Cheat menu icon - moved ROM device selection (SD,USB,DVD) to menu options - moved savestate compression/decompression out of emulator core - removed useless background images & background color option - prevented deletion of cheat files when no valid codes are found left - added IOS patch on startup to fix Homebrew Channel network bug when option is used [GUI] - --- source/cart_hw/md_cart.c | 92 ++-- source/cart_hw/sms_cart.c | 770 +++++++++++++++++++++---------- source/cart_hw/sms_cart.h | 5 +- source/cart_hw/sram.c | 15 +- source/genesis.c | 77 ++-- source/genesis.h | 3 +- source/gx/config.c | 38 +- source/gx/config.h | 13 +- source/gx/fileio/file_load.c | 49 +- source/gx/fileio/file_load.h | 3 +- source/gx/fileio/history.c | 11 +- source/gx/fileio/history.h | 3 +- source/gx/gui/cheats.c | 27 +- source/gx/gui/filesel.c | 156 ++++--- source/gx/gui/filesel.h | 2 +- source/gx/gui/gui.c | 46 +- source/gx/gui/gui.h | 5 - source/gx/gui/legal.c | 15 +- source/gx/gui/menu.c | 331 ++++++------- source/gx/gui/menu.h | 4 +- source/gx/gx_input.c | 2 +- source/gx/images/Bg_intro_c5.png | Bin 18590 -> 0 bytes source/gx/images/Bg_main.png | Bin 30509 -> 0 bytes source/gx/images/Bg_main_2.png | Bin 73437 -> 0 bytes source/gx/images/Cart_gg.png | Bin 0 -> 31114 bytes source/gx/images/Cart_md.png | Bin 0 -> 23753 bytes source/gx/images/Cart_ms.png | Bin 0 -> 23290 bytes source/gx/images/Cart_sg.png | Bin 0 -> 34509 bytes source/gx/images/Load_dvd.png | Bin 11965 -> 0 bytes source/gx/images/Load_gg.png | Bin 0 -> 6452 bytes source/gx/images/Load_md.png | Bin 0 -> 6767 bytes source/gx/images/Load_ms.png | Bin 0 -> 6537 bytes source/gx/images/Load_recent.png | Bin 11805 -> 5676 bytes source/gx/images/Load_sd.png | Bin 12042 -> 0 bytes source/gx/images/Load_sg.png | Bin 0 -> 5378 bytes source/gx/images/Load_usb.png | Bin 12587 -> 0 bytes source/gx/images/Main_cheats.png | Bin 0 -> 2122 bytes source/gx/images/Main_ggenie.png | Bin 11165 -> 0 bytes source/gx/images/Snap_empty.png | Bin 45584 -> 27671 bytes source/gx/images/Snap_frame.png | Bin 22298 -> 0 bytes source/gx/main.c | 308 ++++++++----- source/gx/osd.h | 12 +- source/io_ctrl.c | 21 +- source/shared.h | 1 - source/state.c | 99 ++-- source/state.h | 6 +- source/system.c | 62 +-- source/system.h | 4 +- source/win/config.c | 3 +- source/win/config.h | 2 +- source/win/error.c | 19 +- source/win/error.h | 5 +- source/win/fileio.c | 7 +- source/win/fileio.h | 4 +- source/win/main.c | 87 ++-- source/win/main.h | 1 + source/win/osd.h | 4 +- 57 files changed, 1286 insertions(+), 1026 deletions(-) delete mode 100644 source/gx/images/Bg_intro_c5.png delete mode 100644 source/gx/images/Bg_main.png delete mode 100644 source/gx/images/Bg_main_2.png create mode 100644 source/gx/images/Cart_gg.png create mode 100644 source/gx/images/Cart_md.png create mode 100644 source/gx/images/Cart_ms.png create mode 100644 source/gx/images/Cart_sg.png delete mode 100644 source/gx/images/Load_dvd.png create mode 100644 source/gx/images/Load_gg.png create mode 100644 source/gx/images/Load_md.png create mode 100644 source/gx/images/Load_ms.png delete mode 100644 source/gx/images/Load_sd.png create mode 100644 source/gx/images/Load_sg.png delete mode 100644 source/gx/images/Load_usb.png create mode 100644 source/gx/images/Main_cheats.png delete mode 100644 source/gx/images/Main_ggenie.png delete mode 100644 source/gx/images/Snap_frame.png diff --git a/source/cart_hw/md_cart.c b/source/cart_hw/md_cart.c index 5321509..e7e2eba 100644 --- a/source/cart_hw/md_cart.c +++ b/source/cart_hw/md_cart.c @@ -199,44 +199,39 @@ void md_cart_init(void) CARTRIDGE ROM MIRRORING *************************************************************************************************************** - Cartridge area is mapped to $000000-$3fffff: + MD Cartridge area is mapped to $000000-$3fffff: - -> when accessing ROM, 68k address lines A1 to A21 are used by the internal cartridge hardware to decode the + -> when accessing ROM, 68k address lines A1 to A21 can be used by the internal cartridge hardware to decode full 4MB address range. - -> depending on the ROM total size, some address lines might be ignored, resulting in ROM mirroring. - + -> depending on ROM total size and additional decoding hardware, some address lines might be ignored, + resulting in ROM mirroring. Cartridges can use either 8-bits (x2) or 16-bits (x1, x2) Mask ROM chips, each chip size is a factor of 2 bytes: -> two 8-bits chips are equivalent to one 16-bits chip, no specific address decoding is required, needed address lines are simply connected to each chip, upper address lines are ignored and data lines are connected appropriately to each chip (D0-D7 to one chip, D8-D15 to the other one). - ROM is mirrored each N bytes where N=2^(k+1) is the total ROM size (ROM1+ROM2,ROM1+ROM2,...). + ROM is generally mirrored each N bytes where N=2^(k+1) is the total ROM size (ROM1+ROM2,ROM1+ROM2,...) -> one single 16-bits chip do not need specific address decoding, address lines are simply connected depending on the ROM size, upper address lines being ignored. - ROM is mirrored each N bytes where N=2^k is the size of the ROM chip (ROM1,ROM1,ROM1,...). + ROM is generally mirrored each N bytes where N=2^k is the size of the ROM chip (ROM1,ROM1,ROM1,...) -> two 16-bits chips of the same size are equivalent to one chip of double size, address decoding generally is the same except that specific hardware is used (one address line is generally used for chip selection, lower ones being used to address the chips and upper ones being ignored). - ROM is mirrored continuously each N bytes where N=2^(k+1) is the total ROM size (ROM1,ROM2,ROM1,ROM2,...). + ROM is generally mirrored each N bytes where N=2^(k+1) is the total ROM size (ROM1,ROM2,ROM1,ROM2,...) -> two 16-bits chips with different size are mapped differently. Address decoding is done the same way as above (one address line used for chip selection) but the ignored & required address lines differ from one chip to another, which makes ROM mirroring different. - ROM2 size is generally half of ROM1 size and ROM are mirrored like that : ROM1,ROM2,ROM2,ROM1,ROM2,ROM2,... + ROM2 size is generally half of ROM1 size and upper half ignored (ROM1,ROM2,XXXX,ROM1,ROM2,XXXX,...) - From the emulator point of view, we only need to distinguish 3 cases: + From the emulator point of view, we only need to distinguish 2 cases: 1/ total ROM size is a factor of 2: ROM is mirrored each 2^k bytes. - 2/ total ROM size is not a factor of 2 and cartridge uses one or two chips of the same size (Type A): - ROM is padded up to 2^k and mirrored each 2^k bytes. - - 3/ total ROM size is not a factor of 2 and cartridge uses two chips of different sizes (Type B): - ROM is not padded and the first 2^(k-1) bytes are mirrored each 2^k bytes while the next 2^(k-2) bytes are - mirrored in the last 2^(k-2) bytes. + 2/ total ROM size is not a factor of 2: ROM is padded up to 2^k then mirrored each 2^k bytes. ******************************************************************************************************************/ @@ -246,20 +241,11 @@ void md_cart_init(void) size <<= 1; /* total ROM size is not a factor of 2 */ - /* TODO: handle more possible ROM configurations (using cartridge database ???) */ + /* TODO: handle all possible ROM configurations using cartridge database */ if ((size < MAXROMSIZE) && (cart.romsize < size)) { - /* two chips with different size */ - if (config.romtype) - { - /* third ROM section is mirrored in the last section */ - memcpy(cart.rom + cart.romsize, cart.rom + 2*cart.romsize - size, size - cart.romsize); - } - else - { - /* ROM is padded up to 2^k bytes */ - memset(cart.rom + cart.romsize, 0xff, size - cart.romsize); - } + /* ROM is padded up to 2^k bytes */ + memset(cart.rom + cart.romsize, 0xff, size - cart.romsize); } /* special case: Sonic & Knuckles */ @@ -521,47 +507,43 @@ void md_cart_init(void) case TYPE_SK: { + FILE *f; + /* store S&K ROM above cartridge ROM + SRAM */ if (cart.romsize > 0x600000) break; /* load Sonic & Knuckles ROM (2 MBytes) */ - FILE *f = fopen(SK_ROM,"r+b"); + f = fopen(SK_ROM,"r+b"); if (!f) break; - int done = 0; - while (done < 0x200000) + for (i=0; i<0x200000; i+=0x1000) { - fread(cart.rom + 0x600000 + done, 2048, 1, f); - done += 2048; + fread(cart.rom + 0x600000 + i, 0x1000, 1, f); } fclose(f); /* load Sonic 2 UPMEM ROM (256 KBytes) */ f = fopen(SK_UPMEM,"r+b"); if (!f) break; - done = 0; - while (done < 0x40000) + for (i=0; i<0x40000; i+=0x1000) { - fread(cart.rom + 0x800000 + done, 2048, 1, f); - done += 2048; + fread(cart.rom + 0x800000 + i, 0x1000, 1, f); } fclose(f); #ifdef LSB_FIRST - /* Byteswap ROM */ - int i; - uint8 temp; - for(i = 0; i < 0x240000; i += 2) + for (i=0; i<0x240000; i+=2) { - temp = cart.rom[i + 0x600000]; + /* Byteswap ROM */ + uint8 temp = cart.rom[i + 0x600000]; cart.rom[i + 0x600000] = cart.rom[i + 0x600000 + 1]; cart.rom[i + 0x600000 + 1] = temp; } #endif - /*$000000-$1FFFFF is mapped to S&K ROM */ + /* $000000-$1FFFFF is mapped to S&K ROM */ for (i=0x00; i<0x20; i++) { - m68k_memory_map[i].base = (cart.rom + 0x600000) + (i<<16); + m68k_memory_map[i].base = cart.rom + 0x600000 + (i << 16); } cart.special |= HW_LOCK_ON; @@ -586,11 +568,12 @@ void md_cart_init(void) if ((rominfo.checksum == rom_database[i].chk_1) && (rominfo.realchecksum == rom_database[i].chk_2)) { + int j = rom_database[i].bank_start; + /* retrieve hardware information */ memcpy(&cart.hw, &(rom_database[i].cart_hw), sizeof(T_CART_HW)); /* initialize memory handlers for $400000-$7FFFFF region */ - int j = rom_database[i].bank_start; while (j <= rom_database[i].bank_end) { if (cart.hw.regs_r) @@ -739,9 +722,6 @@ void md_cart_reset(int hard_reset) break; } } - - /* save default cartridge slot mapping */ - cart.base = m68k_memory_map[0].base; } int md_cart_context_save(uint8 *state) @@ -880,17 +860,17 @@ static void mapper_sega_w(uint32 data) static void mapper_ssf2_w(uint32 address, uint32 data) { /* 8 x 512k banks */ - uint32 dst = (address << 2) & 0x38; + address = (address << 2) & 0x38; /* bank 0 remains unchanged */ - if (dst) + if (address) { uint32 i; uint8 *src = cart.rom + (data << 19); for (i=0; i<8; i++) { - m68k_memory_map[dst++].base = src + (i<<16); + m68k_memory_map[address++].base = src + (i<<16); } } } @@ -946,16 +926,18 @@ static void mapper_realtec_w(uint32 address, uint32 data) /* 00000yy1 */ cart.hw.regs[1] = data & 6; - /* mapped start address is 00yy xxx0 0000 0000 0000 0000 */ - uint32 base = (cart.hw.regs[0] << 1) | (cart.hw.regs[1] << 3); - /* ensure mapped size is not null */ if (cart.hw.regs[2]) { + /* mapped start address is 00yy xxx0 0000 0000 0000 0000 */ + uint32 base = (cart.hw.regs[0] << 1) | (cart.hw.regs[1] << 3); + /* selected blocks are mirrored into the whole cartridge area */ int i; for (i=0x00; i<0x40; i++) + { m68k_memory_map[i].base = &cart.rom[(base + (i % cart.hw.regs[2])) << 16]; + } } return; } @@ -1144,6 +1126,8 @@ static void default_regs_w(uint32 address, uint32 data) /* custom register hardware (Top Fighter, Lion King III, Super Donkey Kong 99, Mulan, Pocket Monsters II, Pokemon Stadium) */ static void custom_regs_w(uint32 address, uint32 data) { + uint8 temp; + /* ROM bankswitch */ if ((address >> 16) > 0x6f) { @@ -1155,7 +1139,7 @@ static void custom_regs_w(uint32 address, uint32 data) default_regs_w(address, data); /* bitswapping */ - uint32 temp = cart.hw.regs[0]; + temp = cart.hw.regs[0]; switch (cart.hw.regs[1] & 3) { case 0: diff --git a/source/cart_hw/sms_cart.c b/source/cart_hw/sms_cart.c index 7b1cdd0..1bfae14 100644 --- a/source/cart_hw/sms_cart.c +++ b/source/cart_hw/sms_cart.c @@ -42,8 +42,8 @@ #include "cheats.h" #endif -#define MAPPER_TEREBI (0) -#define MAPPER_NONE (1) +#define MAPPER_NONE (0) +#define MAPPER_TEREBI (1) #define MAPPER_SEGA (2) #define MAPPER_SEGA_X (3) #define MAPPER_CODIES (4) @@ -64,11 +64,12 @@ typedef struct uint8 region; } rominfo_t; -static struct +typedef struct { uint8 fcr[4]; uint8 mapper; -} slot; + uint8 pages; +} romhw_t; static const rominfo_t game_list[GAME_DATABASE_CNT] = { @@ -82,19 +83,19 @@ static const rominfo_t game_list[GAME_DATABASE_CNT] = {0x23BAC434, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA_X, SYSTEM_GG, REGION_USA}, /* Shining Force Gaiden - Final Conflict (JP) [T-Eng] */ /* games using Korean mappers */ - {0x17AB6883, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_NONE, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* FA Tetris (KR) */ - {0x61E8806F, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_NONE, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Flash Point (KR) */ - {0x445525E2, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Penguin Adventure (KR) */ - {0x83F0EEDE, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Street Master (KR) */ - {0xA05258F5, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Won-Si-In (KR) */ - {0x06965ED9, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* F-1 Spirit - The way to Formula-1 (KR) */ - {0x77EFE84A, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Cyborg Z (KR) */ - {0xF89AF3CC, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Knightmare II - The Maze of Galious (KR) */ - {0x9195C34C, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Super Boy 3 (KR) */ - {0x89B79E77, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Dodgeball King (KR) */ - {0x18FB98A3, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Jang Pung 3 (KR) */ - {0x97D03541, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Sangokushi 3 (KR) */ - {0x67C2F0FF, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Super Boy 2 (KR) */ + {0x17AB6883, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_NONE, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* FA Tetris (KR) */ + {0x61E8806F, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_NONE, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Flash Point (KR) */ + {0x445525E2, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Penguin Adventure (KR) */ + {0x83F0EEDE, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Street Master (KR) */ + {0xA05258F5, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Won-Si-In (KR) */ + {0x06965ED9, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* F-1 Spirit - The way to Formula-1 (KR) */ + {0x77EFE84A, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Cyborg Z (KR) */ + {0xF89AF3CC, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Knightmare II - The Maze of Galious (KR) */ + {0x9195C34C, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_MSX, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Super Boy 3 (KR) */ + {0x89B79E77, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Dodgeball King (KR) */ + {0x18FB98A3, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Jang Pung 3 (KR) */ + {0x97D03541, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Sangokushi 3 (KR) */ + {0x67C2F0FF, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_KOREA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Super Boy 2 (KR) */ /* games using Codemaster mapper */ {0x29822980, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_CODIES, SYSTEM_SMS2, REGION_EUROPE}, /* Cosmic Spacehead */ @@ -124,10 +125,11 @@ static const rominfo_t game_list[GAME_DATABASE_CNT] = /* games requiring JAPANESE region setting */ {0x71DEBA5A, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GG, REGION_JAPAN_NTSC}, /* Pop Breaker */ - {0xC9DD4E5F, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Woody Pop (Super Arkanoid) */ + {0xC9DD4E5F, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Woody Pop (Super Arkanoid) */ /* games requiring Mark-III hardware (no Memory Control port) */ - {0xBD1CC7DF, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_MARKIII, REGION_USA}, /* Super Tetris (K) */ + {0xBD1CC7DF, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_MARKIII, REGION_JAPAN_NTSC}, /* Super Tetris (K) */ + {0x6D309AC5, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_MARKIII, REGION_JAPAN_NTSC}, /* Power Boggle Boggle (K) */ /* games requiring PAL timings */ {0x72420F38, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_EUROPE}, /* Addams Familly */ @@ -163,7 +165,6 @@ static const rominfo_t game_list[GAME_DATABASE_CNT] = {0x45F058D6, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_USA}, /* Prince of Persia [B][SMS-GG] */ {0x56201996, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_USA}, /* R.C. Grand Prix [SMS-GG] */ {0x10DBBEF4, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_USA}, /* Super Kick Off [SMS-GG] */ - {0xBD1CC7DF, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_JAPAN_NTSC}, /* Super Tetris (KR) [SMS-GG] */ {0x9942B69B, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_JAPAN_NTSC}, /* Castle of Illusion - Starring Mickey Mouse (J) [SMS-GG] */ {0x7BB81E3D, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_JAPAN_NTSC}, /* Taito Chase H.Q (J) [SMS-GG] */ {0x6F8E46CF, 0, 0, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_GGMS, REGION_JAPAN_NTSC}, /* Alex Kidd in Miracle World (TW) [SMS-GG] */ @@ -179,8 +180,8 @@ static const rominfo_t game_list[GAME_DATABASE_CNT] = {0xA3EF13CB, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Zaxxon 3-D */ {0xBBA74147, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Zaxxon 3-D [Proto] */ {0xD6F43DDA, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Out Run 3-D */ - {0x871562b0, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Maze Walker */ - {0x156948f9, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Space Harrier 3-D (J) */ + {0x871562b0, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Maze Walker */ + {0x156948f9, 1, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Space Harrier 3-D (J) */ /* games requiring 3-D Glasses & Sega Light Phaser */ {0xFBE5CFBB, 1, 0, SYSTEM_LIGHTPHASER, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Missile Defense 3D */ @@ -203,10 +204,10 @@ static const rominfo_t game_list[GAME_DATABASE_CNT] = {0x0CA95637, 0, 0, SYSTEM_LIGHTPHASER, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Laser Ghost */ /* games requiring Sega Paddle */ - {0xF9DBB533, 0, 1, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Alex Kidd BMX Trial */ - {0xA6FA42D0, 0, 1, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Galactic Protector */ - {0x29BC7FAD, 0, 1, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Megumi Rescue */ - {0x315917D4, 0, 0, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Woody Pop */ + {0xF9DBB533, 0, 1, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Alex Kidd BMX Trial */ + {0xA6FA42D0, 0, 1, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Galactic Protector */ + {0x29BC7FAD, 0, 1, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Megumi Rescue */ + {0x315917D4, 0, 0, SYSTEM_PADDLE, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Woody Pop */ /* games requiring Sega Sport Pad */ {0x0CB7E21F, 0, 0, SYSTEM_SPORTSPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Great Ice Hockey */ @@ -264,39 +265,50 @@ static const rominfo_t game_list[GAME_DATABASE_CNT] = {0x679E1676, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Wonder Boy III: The Dragon's Trap */ {0x8CBEF0C1, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Wonder Boy in Monster Land */ {0x2F2E3BC9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_USA}, /* Zillion II - The Tri Formation */ - {0x48D44A13, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_NONE, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Master System Bios (J) */ - {0xD8C4165B, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Aleste */ - {0x4CC11DF9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Alien Syndrome (J) */ - {0xE421E466, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Chouon Senshi Borgman */ - {0x2BCDB8FA, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Doki Doki Penguin Land - Uchuu-Daibouken */ - {0x56BD2455, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Doki Doki Penguin Land - Uchuu-Daibouken [Proto] */ - {0xC722FB42, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Fantasy Zone II (J) */ - {0x7ABC70E9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Family Games (Party Games) */ - {0x6586BD1F, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Masters Golf */ - {0x4847BC91, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Masters Golf [Proto] */ - {0xB9FDF6D9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Haja no Fuuin */ - {0x955A009E, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Hoshi wo Sagashite */ - {0x05EA5353, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Kenseiden (J) */ - {0xD11D32E4, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Kujakuou */ - {0xAA7D6F45, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Lord of Sword */ - {0xBF0411AD, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Maou Golvellius */ - {0x21A21352, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Maou Golvellius [Proto] */ - {0x5B5F9106, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Nekyuu Kousien */ - {0xBEA27D5C, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Opa Opa */ - {0x6605D36A, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Phantasy Star (J) */ - {0xE1FFF1BB, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Shinobi (J) */ - {0x11645549, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Solomon no Kagi - Oujo Rihita no Namida */ - {0x7E0EF8CB, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Super Racing */ - {0xB1DA6A30, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Super Wonder Boy Monster World */ - {0x8132AB2C, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Tensai Bakabon */ - {0xC0CE19B1, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS2, REGION_JAPAN_NTSC}, /* Thunder Blade (J) */ + {0x48D44A13, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_NONE, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* BIOS (J) */ + {0xD8C4165B, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Aleste */ + {0x4CC11DF9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Alien Syndrome (J) */ + {0xE421E466, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Chouon Senshi Borgman */ + {0x2BCDB8FA, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Doki Doki Penguin Land - Uchuu-Daibouken */ + {0x56BD2455, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Doki Doki Penguin Land - Uchuu-Daibouken [Proto] */ + {0xC722FB42, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Fantasy Zone II (J) */ + {0x7ABC70E9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Family Games (Party Games) */ + {0x6586BD1F, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Masters Golf */ + {0x4847BC91, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Masters Golf [Proto] */ + {0xB9FDF6D9, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Haja no Fuuin */ + {0x955A009E, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Hoshi wo Sagashite */ + {0x05EA5353, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Kenseiden (J) */ + {0xD11D32E4, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Kujakuou */ + {0xAA7D6F45, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Lord of Sword */ + {0xBF0411AD, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Maou Golvellius */ + {0x21A21352, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Maou Golvellius [Proto] */ + {0x5B5F9106, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Nekyuu Kousien */ + {0xBEA27D5C, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Opa Opa */ + {0x6605D36A, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Phantasy Star (J) */ + {0xE1FFF1BB, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Shinobi (J) */ + {0x11645549, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Solomon no Kagi - Oujo Rihita no Namida */ + {0x7E0EF8CB, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Super Racing */ + {0xB1DA6A30, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Super Wonder Boy Monster World */ + {0x8132AB2C, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Tensai Bakabon */ + {0xC0CE19B1, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_SMS, REGION_JAPAN_NTSC}, /* Thunder Blade (J) */ {0x07301F83, 0, 1, SYSTEM_MS_GAMEPAD, MAPPER_SEGA, SYSTEM_PBC, REGION_JAPAN_NTSC} /* Phantasy Star [Megadrive] (J) */ }; -/* 1K trash buffer */ -static uint8 dummy[0x400]; +/* Cartridge & BIOS ROM hardware */ +static romhw_t cart_rom; +static romhw_t bios_rom; + +/* Current slot */ +static struct +{ + uint8 *rom; + uint8 *fcr; + uint8 mapper; + uint8 pages; +} slot; /* Function prototypes */ +static void mapper_reset(void); static void mapper_8k_w(int offset, unsigned int data); static void mapper_16k_w(int offset, unsigned int data); static void write_mapper_none(unsigned int address, unsigned char data); @@ -312,32 +324,45 @@ static unsigned char read_mapper_default(unsigned int address); void sms_cart_init(void) { - /* default mapper */ - slot.mapper = (cart.romsize > 0xC000) ? MAPPER_SEGA : MAPPER_NONE; + int i; + + /* game CRC */ + uint32 crc = crc32(0, cart.rom, cart.romsize); /* use Master System controller by default */ uint8 device = SYSTEM_MS_GAMEPAD; + /* unmapped memory return $FF on read (mapped to unused cartridge areas $510000-$5103FF & $510400-$5107FF) */ + memset(cart.rom + 0x510000, 0xFF, 0x800); + + /* default cartridge ROM mapper */ + cart_rom.mapper = (cart.romsize > 0xC000) ? MAPPER_SEGA : MAPPER_NONE; + /* disable 3-D Glasses by default */ cart.special = 0; - /* disable YM2413 chip disabled by default in AUTO mode */ + /* YM2413 chip in AUTO mode */ if (config.ym2413 & 2) { - config.ym2413 = 2; + if ((system_hw & SYSTEM_SMS) && (region_code == REGION_JAPAN_NTSC)) + { + /* japanese Master System has built-in FM chip */ + config.ym2413 = 3; + } + else + { + /* by default, FM chip is disabled */ + config.ym2413 = 2; + } } - /* compute CRC */ - uint32 crc = crc32(0, cart.rom, cart.romsize); - /* auto-detect game settings */ - int i; for (i=0; i> 10; + } + else if (cart_rom.mapper == MAPPER_MSX) + { + /* 8k ROM banks */ + cart_rom.pages = cart.romsize >> 13; + } + else + { + /* 16k ROM banks */ + cart_rom.pages = cart.romsize >> 14; + } - case MAPPER_CODIES: - z80_readmem = read_mapper_default; - z80_writemem = write_mapper_codies; - break; - - case MAPPER_KOREA: - z80_readmem = read_mapper_default; - z80_writemem = write_mapper_korea; - break; - - case MAPPER_MSX: - z80_readmem = read_mapper_default; - z80_writemem = write_mapper_msx; - break; - - case MAPPER_93C46: - gg_eeprom_init(); - z80_readmem = read_mapper_93c46; - z80_writemem = write_mapper_93c46; - break; - - case MAPPER_TEREBI: - cart.special |= HW_TEREBI_OEKAKI; - z80_readmem = read_mapper_terebi; - z80_writemem = write_mapper_terebi; - break; - - default: - z80_readmem = read_mapper_default; - z80_writemem = write_mapper_sega; - break; + /* initialize extra hardware */ + if (cart_rom.mapper == MAPPER_93C46) + { + /* 93C46 eeprom */ + gg_eeprom_init(); + } + else if (cart_rom.mapper == MAPPER_TEREBI) + { + /* Terebi Oekaki tablet */ + cart.special |= HW_TEREBI_OEKAKI; } /* initialize SRAM */ @@ -439,141 +452,277 @@ void sms_cart_init(void) { input.x_offset = 16; } + + /* BIOS support */ + if (config.bios & 0x01) + { + /* verify that BIOS is not already loaded */ + if (!(config.bios & (system_hw & 0xF0))) + { + FILE *fp = NULL; + + /* reset BIOS size */ + int bios_size = 0; + + /* mark both BIOS as unloaded */ + config.bios &= ~(SYSTEM_SMS | SYSTEM_GG); + + /* open BIOS file */ + switch (system_hw) + { + case SYSTEM_GG: + case SYSTEM_GGMS: + fp = fopen(GG_BIOS, "rb"); + break; + + case SYSTEM_SMS: + case SYSTEM_SMS2: + fp = fopen(MS_BIOS, "rb"); + break; + + default: + break; + } + + /* try to load BIOS file */ + if (fp != NULL) + { + /* get file size */ + int size; + fseek(fp, 0, SEEK_END); + size = ftell(fp); + fseek(fp, 0, SEEK_SET); + + /* BIOS ROM is stored above cartridge ROM area, into $400000-$4FFFFF (max. 1MB) */ + if ((size <= 0x100000) && (cart.romsize <= 0x400000)) + { + /* BIOS ROM size */ + bios_size = size; + + /* read bytes chunks */ + while (size > 2048) + { + fread(cart.rom + 0x400000 + bios_size - size, 2048, 1, fp); + size -= 2048; + } + + /* read remaining bytes */ + fread(cart.rom + 0x400000 + bios_size - size, size, 1, fp); + + /* mark BIOS ROM as loaded */ + config.bios |= (system_hw & 0xF0); + } + + /* close file */ + fclose(fp); + } + + /* BIOS ROM mapper */ + if (bios_size > 0xC000) + { + /* assume SEGA mapper if BIOS ROM is larger than 48k */ + bios_rom.mapper = MAPPER_SEGA; + bios_rom.pages = bios_size >> 14; + } + else + { + bios_rom.mapper = MAPPER_NONE; + bios_rom.pages = bios_size >> 10; + } + } + + /* check if BIOS has been correctly loaded */ + if (bios_rom.pages) + { + /* unload cartridge if required */ + if (!(config.bios & 2)) + { + cart_rom.pages = 0; + } + } + } + else /* BIOS support disabled */ + { + /* unload BIOS */ + bios_rom.pages = 0; + + /* mark both BIOS as unloaded */ + config.bios &= ~(SYSTEM_SMS | SYSTEM_GG); + } } void sms_cart_reset(void) { - int i; + /* reset BIOS ROM paging (SEGA mapper by default) */ + bios_rom.fcr[0] = 0; + bios_rom.fcr[1] = 0; + bios_rom.fcr[2] = 1; + bios_rom.fcr[3] = 2; - /* Unmapped memory return $FF */ - memset(dummy, 0xFF, 0x400); - - /* $0000-$7FFF mapped to Cartridge ROM (32K) */ - for(i = 0x00; i < 0x20; i++) - { - z80_readmap[i] = &cart.rom[i << 10]; - z80_writemap[i] = dummy; - } - - /* $8000-$BFFF mapped to Cartridge ROM or RAM (16K) */ - if (cart.romsize > 0x8000) - { - for(i = 0x20; i < 0x30; i++) - { - z80_readmap[i] = &cart.rom[i << 10]; - z80_writemap[i] = dummy; - } - } - else - { - for(i = 0x20; i < 0x30; i++) - { - z80_readmap[i] = z80_writemap[i] = &sram.sram[(i & 0x0F) << 10]; - } - } - - if (system_hw == SYSTEM_SG) - { - /* $C000-$FFFF mapped to internal RAM (2K mirrored) */ - for(i = 0x30; i < 0x40; i++) - { - z80_readmap[i] = z80_writemap[i] = &work_ram[(i & 0x01) << 10]; - } - } - else - { - /* $C000-$FFFF mapped to internal RAM (8K mirrored) */ - for(i = 0x30; i < 0x40; i++) - { - z80_readmap[i] = z80_writemap[i] = &work_ram[(i & 0x07) << 10]; - } - } - - /* Reset cartridge paging registers */ - switch(slot.mapper) + /* reset cartridge ROM paging */ + switch (cart_rom.mapper) { case MAPPER_SEGA: case MAPPER_SEGA_X: - { - slot.fcr[0] = 0; - slot.fcr[1] = 0; - slot.fcr[2] = 1; - slot.fcr[3] = 2; + cart_rom.fcr[0] = 0; + cart_rom.fcr[1] = 0; + cart_rom.fcr[2] = 1; + cart_rom.fcr[3] = 2; + break; + + case MAPPER_MSX: + cart_rom.fcr[0] = 0; + cart_rom.fcr[1] = 0; + cart_rom.fcr[2] = 0; + cart_rom.fcr[3] = 0; break; - } default: - { - slot.fcr[0] = 0; - slot.fcr[1] = 0; - slot.fcr[2] = 1; - slot.fcr[3] = 0; + cart_rom.fcr[0] = 0; + cart_rom.fcr[1] = 0; + cart_rom.fcr[2] = 1; + cart_rom.fcr[3] = 0; break; + } + + /* check if BIOS is larger than 1k */ + if (bios_rom.pages > 1) + { + /* enable BIOS ROM */ + slot.rom = cart.rom + 0x400000; + slot.fcr = bios_rom.fcr; + slot.mapper = bios_rom.mapper; + slot.pages = bios_rom.pages; + } + else + { + /* enable cartridge ROM */ + slot.rom = cart.rom; + slot.fcr = cart_rom.fcr; + slot.mapper = cart_rom.mapper; + slot.pages = cart_rom.pages; + + /* force Memory Control register value in RAM (usually set by Master System BIOS) */ + if (system_hw & SYSTEM_SMS) + { + work_ram[0] = 0xA8; } } + /* reset Memory Control register (RAM & I/O are enabled, either BIOS or Cartridge ROM are enabled) */ + io_reg[0x0E] = bios_rom.pages ? 0xE0 : 0xA8; - /* Set default memory map */ - if (slot.mapper == MAPPER_MSX) + /* reset Z80 memory map */ + mapper_reset(); + + /* 1k BIOS special case (Majesco GG) */ + if (bios_rom.pages == 1) { - mapper_8k_w(0,slot.fcr[0]); - mapper_8k_w(1,slot.fcr[1]); - mapper_8k_w(2,slot.fcr[2]); - mapper_8k_w(3,slot.fcr[3]); - } - else if (slot.mapper > MAPPER_NONE) - { - mapper_16k_w(0,slot.fcr[0]); - mapper_16k_w(1,slot.fcr[1]); - mapper_16k_w(2,slot.fcr[2]); - mapper_16k_w(3,slot.fcr[3]); + /* BIOS ROM is mapped to $0000-$03FF */ + z80_readmap[0] = cart.rom + 0x400000; } } -void sms_cart_switch(int enabled) +void sms_cart_switch(uint8 mode) { - int i; + /* by default, disable cartridge & BIOS ROM */ + slot.pages = 0; - if (enabled) + /* cartridge ROM enabled ? */ + if (mode & 0x40) { - /* Enable cartridge ROM at $0000-$BFFF */ - for(i = 0x00; i < 0x30; i++) + /* check if cartridge is loaded */ + if (cart_rom.pages) { - z80_readmap[i] = &cart.rom[(i & 0x1F) << 10]; - z80_writemap[i] = dummy; + /* map cartridge ROM */ + slot.rom = cart.rom; + slot.fcr = cart_rom.fcr; + slot.mapper = cart_rom.mapper; + slot.pages = cart_rom.pages; } } else { - /* Disable cartridge ROM at $0000-$BFFF */ - for(i = 0x00; i < 0x30; i++) + /* BIOS ROM enabled ? */ + if (mode & 0x08) { - z80_readmap[i] = z80_writemap[i] = dummy; + /* check if BIOS ROM is larger than 1K */ + if (bios_rom.pages > 1) + { + /* map BIOS ROM */ + slot.rom = cart.rom + 0x400000; + slot.fcr = bios_rom.fcr; + slot.mapper = bios_rom.mapper; + slot.pages = bios_rom.pages; + } + else + { + /* by default, map cartridge ROM */ + slot.rom = cart.rom; + slot.fcr = cart_rom.fcr; + slot.mapper = cart_rom.mapper; + slot.pages = cart_rom.pages; + } } + + /* assume only BIOS would disable cartridge slot */ + if (!bios_rom.pages) + { + /* max. BIOS ROM size supported is 1MB */ + if (cart.romsize <= 0x100000) + { + /* copy to BIOS ROM */ + memcpy(cart.rom + 0x400000, cart.rom, cart.romsize); + memcpy(bios_rom.fcr, cart_rom.fcr, 4); + bios_rom.mapper = cart_rom.mapper; + bios_rom.pages = cart_rom.pages; + + /* unload cartridge */ + cart_rom.pages = 0; + } + } + } + + /* reset Z80 memory map */ + mapper_reset(); + + /* 1k BIOS special case (Majesco GG) */ + if ((bios_rom.pages == 1) && ((mode & 0x48) == 0x08)) + { + /* BIOS ROM is mapped to $0000-$03FF */ + z80_readmap[0] = cart.rom + 0x400000; } } int sms_cart_region_detect(void) { + int i; + /* compute CRC */ uint32 crc = crc32(0, cart.rom, cart.romsize); - /* detect game region */ - int i; + /* Turma da Mônica em: O Resgate & Wonder Boy III enable FM support on japanese hardware only */ + if (config.ym2413 && ((crc == 0x22CCA9BB) || (crc == 0x679E1676))) + { + return REGION_JAPAN_NTSC; + } + + /* game database */ for (i=0; i MAPPER_NONE) - { - mapper_16k_w(0,slot.fcr[0]); - mapper_16k_w(1,slot.fcr[1]); - mapper_16k_w(2,slot.fcr[2]); - mapper_16k_w(3,slot.fcr[3]); - } - + load_param(slot.fcr, 4); return bufferptr; } +static void mapper_reset(void) +{ + int i; -void mapper_8k_w(int offset, unsigned int data) + /* reset internal RAM mapping */ + if (system_hw == SYSTEM_SG) + { + /* $C000-$FFFF mapped to 2k mirrored RAM */ + for (i = 0x30; i < 0x40; i++) + { + z80_readmap[i] = z80_writemap[i] = &work_ram[(i & 0x01) << 10]; + } + } + else + { + /* $C000-$FFFF mapped to 8k mirrored RAM */ + for (i = 0x30; i < 0x40; i++) + { + z80_readmap[i] = z80_writemap[i] = &work_ram[(i & 0x07) << 10]; + } + } + + /* check if ROM is disabled */ + if (!slot.pages) + { + /* $0000-$BFFF mapped to unused cartridge areas */ + for(i = 0x00; i < 0x30; i++) + { + z80_writemap[i] = cart.rom + 0x510000; + z80_readmap[i] = cart.rom + 0x510400; + } + + /* set default Z80 memory handlers */ + z80_readmem = read_mapper_default; + z80_writemem = write_mapper_none; + return; + } + + /* $0000-$3FFF mapped to ROM (first 16k) by default */ + for (i = 0x00; i < 0x20; i++) + { + z80_readmap[i] = &slot.rom[i << 10]; + z80_writemap[i] = cart.rom + 0x510000; /* unused area */ + } + + /* reset default $4000-$BFFF mapping (32k) */ + if ((slot.mapper == MAPPER_NONE) || (slot.mapper == MAPPER_TEREBI)) + { + /* $4000-$7FFF mapped to ROM (16k) */ + for (i = 0x00; i < 0x20; i++) + { + z80_readmap[i] = &slot.rom[i << 10]; + z80_writemap[i] = cart.rom + 0x510000; /* unused area */ + } + + /* enable 16k external RAM by default with 32k ROM (The Castle) */ + if (slot.pages > 0x20) + { + /* $8000-$BFFF mapped to ROM (16k) */ + for (i = 0x20; i < 0x30; i++) + { + z80_readmap[i] = &slot.rom[i << 10]; + z80_writemap[i] = cart.rom + 0x510000; /* unused area */ + } + } + else + { + /* $8000-$BFFF mapped to external RAM (16k) */ + for (i = 0x20; i < 0x30; i++) + { + z80_readmap[i] = z80_writemap[i] = &sram.sram[(i & 0x0F) << 10]; + } + } + } + else + { + /* ROM paging */ + if (slot.mapper == MAPPER_MSX) + { + mapper_8k_w(0,slot.fcr[0]); + mapper_8k_w(1,slot.fcr[1]); + mapper_8k_w(2,slot.fcr[2]); + mapper_8k_w(3,slot.fcr[3]); + } + else + { + mapper_16k_w(0,slot.fcr[0]); + mapper_16k_w(1,slot.fcr[1]); + mapper_16k_w(2,slot.fcr[2]); + mapper_16k_w(3,slot.fcr[3]); + } + } + + /* reset Z80 memory handlers */ + switch (slot.mapper) + { + case MAPPER_NONE: + z80_readmem = read_mapper_default; + z80_writemem = write_mapper_none; + break; + + case MAPPER_CODIES: + z80_readmem = read_mapper_default; + z80_writemem = write_mapper_codies; + break; + + case MAPPER_KOREA: + z80_readmem = read_mapper_default; + z80_writemem = write_mapper_korea; + break; + + case MAPPER_MSX: + z80_readmem = read_mapper_default; + z80_writemem = write_mapper_msx; + break; + + case MAPPER_93C46: + z80_readmem = read_mapper_93c46; + z80_writemem = write_mapper_93c46; + break; + + case MAPPER_TEREBI: + z80_readmem = read_mapper_terebi; + z80_writemem = write_mapper_terebi; + break; + + default: + z80_readmem = read_mapper_default; + z80_writemem = write_mapper_sega; + break; + } +} + +static void mapper_8k_w(int offset, unsigned int data) { int i; /* cartridge ROM page (8k) */ - uint8 page = data % (cart.romsize >> 13); + uint8 page = data % slot.pages; /* Save frame control register data */ slot.fcr[offset] = data; @@ -625,36 +889,36 @@ void mapper_8k_w(int offset, unsigned int data) { case 0: /* cartridge ROM bank (8k) at $8000-$9FFF */ { - for(i = 0x20; i < 0x28; i++) + for (i = 0x20; i < 0x28; i++) { - z80_readmap[i] = &cart.rom[(page << 13) | ((i & 0x07) << 10)]; + z80_readmap[i] = &slot.rom[(page << 13) | ((i & 0x07) << 10)]; } break; } case 1: /* cartridge ROM bank (8k) at $A000-$BFFF */ { - for(i = 0x28; i < 0x30; i++) + for (i = 0x28; i < 0x30; i++) { - z80_readmap[i] = &cart.rom[(page << 13) | ((i & 0x07) << 10)]; + z80_readmap[i] = &slot.rom[(page << 13) | ((i & 0x07) << 10)]; } break; } case 2: /* cartridge ROM bank (8k) at $4000-$5FFF */ { - for(i = 0x10; i < 0x18; i++) + for (i = 0x10; i < 0x18; i++) { - z80_readmap[i] = &cart.rom[(page << 13) | ((i & 0x07) << 10)]; + z80_readmap[i] = &slot.rom[(page << 13) | ((i & 0x07) << 10)]; } break; } case 3: /* cartridge ROM bank (8k) at $6000-$7FFF */ { - for(i = 0x18; i < 0x20; i++) + for (i = 0x18; i < 0x20; i++) { - z80_readmap[i] = &cart.rom[(page << 13) | ((i & 0x07) << 10)]; + z80_readmap[i] = &slot.rom[(page << 13) | ((i & 0x07) << 10)]; } break; } @@ -666,17 +930,17 @@ void mapper_8k_w(int offset, unsigned int data) #endif } -void mapper_16k_w(int offset, unsigned int data) +static void mapper_16k_w(int offset, unsigned int data) { int i; /* cartridge ROM page (16k) */ - uint8 page = data % (cart.romsize >> 14); + uint8 page = data % slot.pages; - /* page index increment (SEGA mapper) */ + /* page index increment (SEGA mapper only) */ if ((slot.fcr[0] & 0x03) && (slot.mapper == MAPPER_SEGA)) { - page = (page + ((4 - (slot.fcr[0] & 0x03)) << 3)) % (cart.romsize >> 14); + page = (page + ((4 - (slot.fcr[0] & 0x03)) << 3)) % slot.pages; } /* save frame control register data */ @@ -684,12 +948,12 @@ void mapper_16k_w(int offset, unsigned int data) switch (offset) { - case 0: /* control register (SEGA mapper) */ + case 0: /* control register (SEGA mapper only) */ { - if(data & 0x08) + if (data & 0x08) { /* external RAM (upper or lower 16K) mapped at $8000-$BFFF */ - for(i = 0x20; i < 0x30; i++) + for (i = 0x20; i < 0x30; i++) { z80_readmap[i] = z80_writemap[i] = &sram.sram[((data & 0x04) << 12) + ((i & 0x0F) << 10)]; } @@ -697,26 +961,26 @@ void mapper_16k_w(int offset, unsigned int data) else { /* cartridge ROM page (16k) */ - page = slot.fcr[3] % (cart.romsize >> 14); + page = slot.fcr[3] % slot.pages; /* page index increment (SEGA mapper) */ if ((data & 0x03) && (slot.mapper == MAPPER_SEGA)) { - page = (page + ((4 - (data & 0x03)) << 3)) % (cart.romsize >> 14); + page = (page + ((4 - (data & 0x03)) << 3)) % slot.pages; } /* cartridge ROM mapped at $8000-$BFFF */ - for(i = 0x20; i < 0x30; i++) + for (i = 0x20; i < 0x30; i++) { - z80_readmap[i] = &cart.rom[(page << 14) | ((i & 0x0F) << 10)]; - z80_writemap[i] = dummy; + z80_readmap[i] = &slot.rom[(page << 14) | ((i & 0x0F) << 10)]; + z80_writemap[i] = cart.rom + 0x510000; /* unused area */ } } - if(data & 0x10) + if (data & 0x10) { /* external RAM (lower 16K) mapped at $C000-$FFFF */ - for(i = 0x30; i < 0x40; i++) + for (i = 0x30; i < 0x40; i++) { z80_readmap[i] = z80_writemap[i] = &sram.sram[(i & 0x0F) << 10]; } @@ -724,7 +988,7 @@ void mapper_16k_w(int offset, unsigned int data) else { /* internal RAM (8K mirrorred) mapped at $C000-$FFFF */ - for(i = 0x30; i < 0x40; i++) + for (i = 0x30; i < 0x40; i++) { z80_readmap[i] = z80_writemap[i] = &work_ram[(i & 0x07) << 10]; } @@ -734,33 +998,33 @@ void mapper_16k_w(int offset, unsigned int data) case 1: /* cartridge ROM bank (16k) at $0000-$3FFF */ { - /* first 1k is not fixed (CODEMASTER mapper) */ + /* first 1k is not fixed (CODEMASTER mapper only) */ if (slot.mapper == MAPPER_CODIES) { - z80_readmap[0] = &cart.rom[(page << 14)]; + z80_readmap[0] = &slot.rom[(page << 14)]; } - for(i = 0x01; i < 0x10; i++) + for (i = 0x01; i < 0x10; i++) { - z80_readmap[i] = &cart.rom[(page << 14) | ((i & 0x0F) << 10)]; + z80_readmap[i] = &slot.rom[(page << 14) | ((i & 0x0F) << 10)]; } break; } case 2: /* cartridge ROM bank (16k) at $4000-$7FFF */ { - for(i = 0x10; i < 0x20; i++) + for (i = 0x10; i < 0x20; i++) { - z80_readmap[i] = &cart.rom[(page << 14) | ((i & 0x0F) << 10)]; + z80_readmap[i] = &slot.rom[(page << 14) | ((i & 0x0F) << 10)]; } - /* Ernie Elf's Golf external RAM switch */ + /* cartridge RAM switch (CODEMASTER mapper only, see Ernie Elf's Golf) */ if (slot.mapper == MAPPER_CODIES) { if (data & 0x80) { /* external RAM (8k) mapped at $A000-$BFFF */ - for(i = 0x28; i < 0x30; i++) + for (i = 0x28; i < 0x30; i++) { z80_readmap[i] = z80_writemap[i] = &sram.sram[(i & 0x0F) << 10]; } @@ -768,13 +1032,13 @@ void mapper_16k_w(int offset, unsigned int data) else { /* cartridge ROM page (16k) */ - page = slot.fcr[3] % (cart.romsize >> 14); + page = slot.fcr[3] % slot.pages; /* cartridge ROM mapped at $A000-$BFFF */ - for(i = 0x28; i < 0x30; i++) + for (i = 0x28; i < 0x30; i++) { - z80_readmap[i] = &cart.rom[(page << 14) | ((i & 0x0F) << 10)]; - z80_writemap[i] = dummy; + z80_readmap[i] = &slot.rom[(page << 14) | ((i & 0x0F) << 10)]; + z80_writemap[i] = cart.rom + 0x510000; /* unused area */ } } } @@ -783,22 +1047,22 @@ void mapper_16k_w(int offset, unsigned int data) case 3: /* cartridge ROM bank (16k) at $8000-$BFFF */ { - /* check that external RAM (16k) is not mapped at $8000-$BFFF (SEGA mapper) */ + /* check that external RAM (16k) is not mapped at $8000-$BFFF (SEGA mapper only) */ if ((slot.fcr[0] & 0x08)) break; /* first 8k */ - for(i = 0x20; i < 0x28; i++) + for (i = 0x20; i < 0x28; i++) { - z80_readmap[i] = &cart.rom[(page << 14) | ((i & 0x0F) << 10)]; + z80_readmap[i] = &slot.rom[(page << 14) | ((i & 0x0F) << 10)]; } - /* check that external RAM (8k) is not mapped at $A000-$BFFF (CODEMASTER mapper) */ + /* check that cartridge RAM (8k) is not mapped at $A000-$BFFF (CODEMASTER mapper only) */ if ((slot.mapper == MAPPER_CODIES) && (slot.fcr[2] & 0x80)) break; /* last 8k */ - for(i = 0x28; i < 0x30; i++) + for (i = 0x28; i < 0x30; i++) { - z80_readmap[i] = &cart.rom[(page << 14) | ((i & 0x0F) << 10)]; + z80_readmap[i] = &slot.rom[(page << 14) | ((i & 0x0F) << 10)]; } break; } @@ -817,7 +1081,7 @@ static void write_mapper_none(unsigned int address, unsigned char data) static void write_mapper_sega(unsigned int address, unsigned char data) { - if(address >= 0xFFFC) + if (address >= 0xFFFC) { mapper_16k_w(address & 3, data); } @@ -883,7 +1147,7 @@ static void write_mapper_93c46(unsigned int address, unsigned char data) gg_eeprom_ctrl(data); } - if(address > 0xFFFC) + if (address > 0xFFFC) { mapper_16k_w(address & 3, data); } diff --git a/source/cart_hw/sms_cart.h b/source/cart_hw/sms_cart.h index 8bb30d4..29b09dc 100644 --- a/source/cart_hw/sms_cart.h +++ b/source/cart_hw/sms_cart.h @@ -39,13 +39,14 @@ #ifndef _SMS_CART_H_ #define _SMS_CART_H_ -/* Special hardware (0x01 reserved for Master System 3-D glasses) */ +/* Special hardware */ +#define HW_3D_GLASSES 0x01 #define HW_TEREBI_OEKAKI 0x02 /* Function prototypes */ extern void sms_cart_init(void); extern void sms_cart_reset(void); -extern void sms_cart_switch(int enabled); +extern void sms_cart_switch(uint8 mode); extern int sms_cart_region_detect(void); extern int sms_cart_context_save(uint8 *state); extern int sms_cart_context_load(uint8 *state); diff --git a/source/cart_hw/sram.c b/source/cart_hw/sram.c index 500c659..c7e3b12 100644 --- a/source/cart_hw/sram.c +++ b/source/cart_hw/sram.c @@ -59,7 +59,7 @@ void sram_init() { memset (&sram, 0, sizeof (T_SRAM)); - /* store SRAM into cartridge area */ + /* SRAM data is stored above cartridge ROM area, at $500000-$50FFFF (max. 64K) */ if (cart.romsize > 0x500000) return; sram.sram = cart.rom + 0x500000; @@ -87,13 +87,14 @@ void sram_init() } else { - /* default SRAM region */ - sram.start = 0x200000; - sram.end = 0x20ffff; - - /* enable SRAM only if ROM < 2MB */ - if (cart.romsize <= sram.start) + /* by default, enable SRAM only for ROM <= 2MB */ + if (cart.romsize <= 0x200000) + { + /* SRAM mapped to $200000-$20ffff */ + sram.start = 0x200000; + sram.end = 0x20ffff; sram.on = 1; + } } /* autodetect some games with bad header or specific configuration */ diff --git a/source/genesis.c b/source/genesis.c index 19e4adb..001dd79 100644 --- a/source/genesis.c +++ b/source/genesis.c @@ -41,16 +41,15 @@ #include "shared.h" -uint8 tmss[4]; /* TMSS security register */ -uint8 bios_rom[0x800]; /* OS ROM */ +uint8 boot_rom[0x800]; /* Genesis BOOT ROM */ uint8 work_ram[0x10000]; /* 68K RAM */ uint8 zram[0x2000]; /* Z80 RAM */ uint32 zbank; /* Z80 bank window address */ uint8 zstate; /* Z80 bus state (d0 = BUSACK, d1 = /RESET) */ +uint8 pico_current; /* PICO current page */ +uint8 pico_page[7]; /* PICO page registers */ -/* PICO data */ -uint8 pico_current; -uint8 pico_page[7]; +static uint8 tmss[4]; /* TMSS security register */ /*--------------------------------------------------------------------------*/ /* Init, reset, shutdown functions */ @@ -90,7 +89,7 @@ void gen_init(void) m68k_memory_map[i].read16 = NULL; m68k_memory_map[i].write8 = NULL; m68k_memory_map[i].write16 = NULL; - zbank_memory_map[i].read = NULL; + zbank_memory_map[i].read = zbank_unused_r; zbank_memory_map[i].write = NULL; } @@ -153,13 +152,13 @@ void gen_init(void) /* page registers */ pico_current = 0x00; - pico_page[0] = 0x00; - pico_page[1] = 0x01; - pico_page[2] = 0x03; - pico_page[3] = 0x07; - pico_page[4] = 0x0F; - pico_page[5] = 0x1F; - pico_page[6] = 0x3F; + pico_regs[0] = 0x00; + pico_regs[1] = 0x01; + pico_regs[2] = 0x03; + pico_regs[3] = 0x07; + pico_regs[4] = 0x0F; + pico_regs[5] = 0x1F; + pico_regs[6] = 0x3F; /* initialize cartridge hardware */ md_cart_init(); @@ -219,9 +218,9 @@ void gen_reset(int hard_reset) /* System Reset */ if (hard_reset) { - /* clear RAM */ - memset (work_ram, 0x00, sizeof (work_ram)); - memset (zram, 0x00, sizeof (zram)); + /* clear RAM (TODO: use random bit patterns as on real hardware) */ + memset(work_ram, 0x00, sizeof (work_ram)); + memset(zram, 0x00, sizeof (zram)); } else { @@ -232,9 +231,10 @@ void gen_reset(int hard_reset) /* 68k & Z80 could restart anywhere in VDP frame (Bonkers, Eternal Champions, X-Men 2) */ mcycles_68k = mcycles_z80 = (uint32)((MCYCLES_PER_LINE * lines_per_frame) * ((double)rand() / (double)RAND_MAX)); + /* Genesis / Master System modes */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { - /* reset cartridge hardware */ + /* reset cartridge hardware & mapping */ md_cart_reset(hard_reset); /* Z80 bus is released & Z80 is reseted */ @@ -247,17 +247,18 @@ void gen_reset(int hard_reset) /* assume default bank is $000000-$007FFF */ zbank = 0; - /* TMSS & OS ROM support */ - if (config.tmss & 1) + /* TMSS support */ + if ((config.bios & 1) && (system_hw != SYSTEM_PICO)) { /* on HW reset only */ if (hard_reset) { + int i; + /* clear TMSS register */ memset(tmss, 0x00, sizeof(tmss)); /* VDP access is locked by default */ - int i; for (i=0xc0; i<0xe0; i+=8) { m68k_memory_map[i].read8 = m68k_lockup_r_8; @@ -268,10 +269,14 @@ void gen_reset(int hard_reset) zbank_memory_map[i].write = zbank_lockup_w; } - /* OS ROM is mapped at $000000-$0007FF */ - if (config.tmss & 2) + /* check if BOOT ROM is loaded */ + if (config.bios & SYSTEM_MD) { - m68k_memory_map[0].base = bios_rom; + /* save default cartridge slot mapping */ + cart.base = m68k_memory_map[0].base; + + /* BOOT ROM is mapped at $000000-$0007FF */ + m68k_memory_map[0].base = boot_rom; } } } @@ -281,16 +286,13 @@ void gen_reset(int hard_reset) } else { - /* Z80 cycles should a multiple of 15 to avoid rounding errors */ + /* Z80 cycles should be a multiple of 15 to avoid rounding errors */ mcycles_z80 = (mcycles_z80 / 15) * 15; /* reset cartridge hardware */ sms_cart_reset(); - /* Z80 is running */ - zstate = 1; - - /* 68k is halted (/VRES is forced low) */ + /* halt 68k (/VRES is forced low) */ m68k_pulse_halt(); } @@ -310,11 +312,12 @@ void gen_shutdown(void) void gen_tmss_w(unsigned int offset, unsigned int data) { - /* write TMSS regisiter */ + int i; + + /* write TMSS register */ WRITE_WORD(tmss, offset, data); /* VDP requires "SEGA" value to be written in TMSS register */ - int i; if (strncmp((char *)tmss, "SEGA", 4) == 0) { for (i=0xc0; i<0xe0; i+=8) @@ -343,23 +346,15 @@ void gen_tmss_w(unsigned int offset, unsigned int data) void gen_bankswitch_w(unsigned int data) { - /* OS ROM has not been loaded yet */ - if (!(config.tmss & 2)) - { - config.tmss |= 2; - memcpy(bios_rom, cart.rom, 0x800); - memset(cart.rom, 0xff, cart.romsize); - } - if (data & 1) { - /* enable CART */ + /* enable cartridge ROM */ m68k_memory_map[0].base = cart.base; } else { - /* enable internal BIOS ROM */ - m68k_memory_map[0].base = bios_rom; + /* enable internal BOOT ROM */ + m68k_memory_map[0].base = boot_rom; } } diff --git a/source/genesis.h b/source/genesis.h index c099713..d5afa4c 100644 --- a/source/genesis.h +++ b/source/genesis.h @@ -43,8 +43,7 @@ #define _GENESIS_H_ /* Global variables */ -extern uint8 tmss[4]; -extern uint8 bios_rom[0x800]; +extern uint8 boot_rom[0x800]; extern uint8 work_ram[0x10000]; extern uint8 zram[0x2000]; extern uint32 zbank; diff --git a/source/gx/config.c b/source/gx/config.c index 705dedd..8fe6005 100644 --- a/source/gx/config.c +++ b/source/gx/config.c @@ -109,9 +109,8 @@ void config_default(void) config.region_detect = 0; /* AUTO */ config.force_dtack = 0; config.addr_error = 1; - config.tmss = 0; + config.bios = 0; config.lock_on = 0; - config.romtype = 0; config.hot_swap = 0; /* video options */ @@ -154,29 +153,44 @@ void config_default(void) #endif config.s_default = 1; config.s_device = 0; - config.bg_type = 0; - config.bg_overlay = 1; + config.l_device = 0; + config.bg_overlay = 0; config.screen_w = 658; config.bgm_volume = 100.0; config.sfx_volume = 100.0; /* default ROM directories */ #ifdef HW_RVL - sprintf (config.lastdir[TYPE_SD], "sd:%s/roms/", DEFAULT_PATH); - sprintf (config.lastdir[TYPE_USB], "usb:%s/roms/", DEFAULT_PATH); - sprintf (config.lastdir[TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[0][TYPE_SD], "sd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[1][TYPE_SD], "sd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[2][TYPE_SD], "sd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[3][TYPE_SD], "sd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[0][TYPE_USB], "usb:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[1][TYPE_USB], "usb:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[2][TYPE_USB], "usb:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[3][TYPE_USB], "usb:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[0][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[1][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[2][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[3][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); #else - sprintf (config.lastdir[TYPE_SD], "%s/roms/", DEFAULT_PATH); - sprintf (config.lastdir[TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[0][TYPE_SD], "%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[1][TYPE_SD], "%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[2][TYPE_SD], "%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[3][TYPE_SD], "%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[0][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[1][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[2][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); + sprintf (config.lastdir[3][TYPE_DVD], "dvd:%s/roms/", DEFAULT_PATH); #endif /* try to restore settings from config file */ if (!config_load()) GUI_WaitPrompt("Info","Default Settings restored"); + /* hot swap requires at least a first initialization */ + config.hot_swap &= 1; + /* restore inputs */ input_init(); - - /* restore menu settings */ - menu_configure(); } diff --git a/source/gx/config.h b/source/gx/config.h index e5abd85..6363bbf 100644 --- a/source/gx/config.h +++ b/source/gx/config.h @@ -40,7 +40,7 @@ #ifndef _CONFIG_H_ #define _CONFIG_H_ -#define CONFIG_VERSION "GENPLUS-GX 1.6.0" +#define CONFIG_VERSION "GENPLUS-GX 1.6.1" /**************************************************************************** * Config Option @@ -68,9 +68,9 @@ typedef struct uint8 force_dtack; uint8 addr_error; uint8 tmss; + uint8 bios; uint8 lock_on; uint8 hot_swap; - uint8 romtype; uint8 invert_mouse; uint8 gun_cursor[2]; uint8 overscan; @@ -97,16 +97,15 @@ typedef struct uint8 s_auto; uint8 s_default; uint8 s_device; - uint8 autocheats; - int8 bg_type; - int8 bg_overlay; + uint8 l_device; + uint8 bg_overlay; int16 screen_w; float bgm_volume; float sfx_volume; #ifdef HW_RVL - char lastdir[3][MAXPATHLEN]; + char lastdir[4][3][MAXPATHLEN]; #else - char lastdir[2][MAXPATHLEN]; + char lastdir[4][2][MAXPATHLEN]; #endif } t_config; diff --git a/source/gx/fileio/file_load.c b/source/gx/fileio/file_load.c index 8894482..653dbff 100644 --- a/source/gx/fileio/file_load.c +++ b/source/gx/fileio/file_load.c @@ -71,6 +71,9 @@ static char *fileDir; /* current device */ static int deviceType = -1; +/* current file type */ +static int fileType = -1; + /* DVD status flag */ static u8 dvd_mounted = 0; @@ -139,16 +142,6 @@ static int FileSortCallback(const void *f1, const void *f2) return stricmp(((FILEENTRIES *)f1)->filename, ((FILEENTRIES *)f2)->filename); } -/*************************************************************************** - * GetCurrentDirectory - * - * Return current browser directory - ***************************************************************************/ -char *GetCurrentDirectory(int selection) -{ - return (deviceType == TYPE_RECENT) ? history.entries[selection].filepath : fileDir; -} - /*************************************************************************** * UpdateDirectory * @@ -248,10 +241,11 @@ int ParseDirectory(void) ****************************************************************************/ int LoadFile(int selection) { + int filetype; char filename[MAXPATHLEN]; /* file path */ - char *filepath = GetCurrentDirectory(selection); + char *filepath = (deviceType == TYPE_RECENT) ? history.entries[selection].filepath : fileDir; /* full filename */ sprintf(filename, "%s%s", filepath, filelist[selection].filename); @@ -273,37 +267,35 @@ int LoadFile(int selection) if (size > 0) { - /* add/move the file to the top of the history. */ - history_add_file(filepath, filelist[selection].filename); - - /* recent file list has changed */ - if (deviceType == TYPE_RECENT) deviceType = -1; - /* auto-save previous game state */ if (config.s_auto & 2) { slot_autosave(config.s_default,config.s_device); } - /* ROM pathname for screenshot, save & cheat files */ + /* update ROM pathname for screenshot, save & cheat files */ if (!strnicmp(".sms", &filename[strlen(filename) - 4], 4)) { /* Master System ROM file */ + filetype = 1; sprintf(rom_filename,"ms/%s",filelist[selection].filename); } else if (!strnicmp(".gg", &filename[strlen(filename) - 3], 3)) { /* Game Gear ROM file */ + filetype = 2; sprintf(rom_filename,"gg/%s",filelist[selection].filename); } else if (!strnicmp(".sg", &filename[strlen(filename) - 3], 3)) { - /* SG-1000 ROM file */ + /* SG-1000 ROM file */ + filetype = 3; sprintf(rom_filename,"sg/%s",filelist[selection].filename); } else { - /* otherwise, it's Genesis ROM file */ + /* by default, Genesis ROM file */ + filetype = 0; sprintf(rom_filename,"md/%s",filelist[selection].filename); } @@ -312,6 +304,12 @@ int LoadFile(int selection) while ((i > 0) && (rom_filename[i] != '.')) i--; if (i > 0) rom_filename[i] = 0; + /* add/move the file to the top of the history. */ + history_add_file(filepath, filelist[selection].filename, filetype); + + /* recent file list may have changed */ + if (deviceType == TYPE_RECENT) deviceType = -1; + /* valid ROM has been loaded */ return 1; } @@ -324,7 +322,7 @@ int LoadFile(int selection) * * Function to open a directory and load ROM file list. ****************************************************************************/ -int OpenDirectory(int device) +int OpenDirectory(int device, int type) { int max = 0; @@ -368,7 +366,7 @@ int OpenDirectory(int device) } /* parse last directory */ - fileDir = config.lastdir[device]; + fileDir = config.lastdir[type][device]; max = ParseDirectory(); if (max <= 0) { @@ -390,11 +388,12 @@ int OpenDirectory(int device) return 0; } - /* check if device type has changed */ - if (device != deviceType) + /* check if device or file type has changed */ + if ((device != deviceType) || (type != fileType)) { - /* reset current device type */ + /* reset current types */ deviceType = device; + fileType = type; /* reset File selector */ ClearSelector(max); diff --git a/source/gx/fileio/file_load.h b/source/gx/fileio/file_load.h index bb2cc59..1ee3ecf 100644 --- a/source/gx/fileio/file_load.h +++ b/source/gx/fileio/file_load.h @@ -52,8 +52,7 @@ #define CHUNKSIZE (2048) -extern int OpenDirectory(int device); -extern char *GetCurrentDirectory(int selection); +extern int OpenDirectory(int device, int type); extern int UpdateDirectory(bool go_up, char *filename); extern int ParseDirectory(void); extern int LoadFile(int selection); diff --git a/source/gx/fileio/history.c b/source/gx/fileio/history.c index 869f9ff..95577cb 100644 --- a/source/gx/fileio/history.c +++ b/source/gx/fileio/history.c @@ -51,7 +51,7 @@ t_history history; * already in the list then the existing entry is (in effect) moved to the * top instead. ****************************************************************************/ -void history_add_file(char *filepath, char *filename) +void history_add_file(char *filepath, char *filename, u8 filetype) { /* Create the new entry for this path. */ t_history_entry newentry; @@ -59,6 +59,7 @@ void history_add_file(char *filepath, char *filename) strncpy(newentry.filename, filename, MAXJOLIET - 1); newentry.filepath[MAXJOLIET - 1] = '\0'; newentry.filename[MAXJOLIET - 1] = '\0'; + newentry.filetype = filetype; t_history_entry oldentry; /* Old entry is the one being shuffled down a spot. */ t_history_entry currentry; /* Curr entry is the one that just replaced old path. */ @@ -112,7 +113,13 @@ void history_load(void) if (fp) { /* read file */ - fread(&history, sizeof(history), 1, fp); + if (fread(&history, sizeof(history), 1, fp) != 1) + { + /* an error ocurred, better clear hoistory */ + memset(&history, 0, sizeof(history)); + } + + /* close file */ fclose(fp); } } diff --git a/source/gx/fileio/history.h b/source/gx/fileio/history.h index d8db744..f1f67d1 100644 --- a/source/gx/fileio/history.h +++ b/source/gx/fileio/history.h @@ -52,6 +52,7 @@ typedef struct { char filepath[MAXJOLIET]; char filename[MAXJOLIET]; + u8 filetype; } t_history_entry; typedef struct @@ -60,7 +61,7 @@ typedef struct } t_history; extern t_history history; -extern void history_add_file(char *filepath, char *filename); +extern void history_add_file(char *filepath, char *filename, u8 filetype); extern void history_save(void); extern void history_load(void); extern void history_default(void); diff --git a/source/gx/gui/cheats.c b/source/gx/gui/cheats.c index 3f50f94..9f06065 100644 --- a/source/gx/gui/cheats.c +++ b/source/gx/gui/cheats.c @@ -131,7 +131,7 @@ static gui_item action_select = /*****************************************************************************/ static gui_image bg_cheats[7] = { - {NULL,Bg_main_png,IMAGE_VISIBLE,374,140,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_top_png,IMAGE_VISIBLE|IMAGE_SLIDE_TOP,0,0,640,108,255}, {NULL,Banner_bottom_png,IMAGE_VISIBLE|IMAGE_SLIDE_BOTTOM,0,380,640,100,255}, @@ -830,26 +830,6 @@ void CheatMenu(void) /* reset scrolling */ string_offset = 0; - /* background type */ - if (config.bg_type > 0) - { - bg_cheats[0].state &= ~IMAGE_REPEAT; - bg_cheats[0].data = (config.bg_type > 1) ? Bg_main_png : Bg_main_2_png; - bg_cheats[0].x = 374; - bg_cheats[0].y = 140; - bg_cheats[0].w = 284; - bg_cheats[0].h = 288; - } - else - { - bg_cheats[0].state |= IMAGE_REPEAT; - bg_cheats[0].data = Bg_layer_png; - bg_cheats[0].x = 0; - bg_cheats[0].y = 0; - bg_cheats[0].w = 640; - bg_cheats[0].h = 480; - } - /* background overlay */ if (config.bg_overlay) { @@ -1327,11 +1307,6 @@ void CheatMenu(void) fclose(f); } } - else - { - /* delete cheat file */ - remove(temp); - } /* unlock background elements */ m->bg_images[2].state |= IMAGE_SLIDE_TOP; diff --git a/source/gx/gui/filesel.c b/source/gx/gui/filesel.c index a01a1a6..2eecf14 100644 --- a/source/gx/gui/filesel.c +++ b/source/gx/gui/filesel.c @@ -42,6 +42,7 @@ #include "font.h" #include "gui.h" #include "file_load.h" +#include "history.h" #ifdef HW_RVL #include @@ -54,7 +55,10 @@ extern const u8 Browser_dir_png[]; extern const u8 Snap_empty_png[]; -extern const u8 Snap_frame_png[]; +extern const u8 Cart_md_png[]; +extern const u8 Cart_ms_png[]; +extern const u8 Cart_gg_png[]; +extern const u8 Cart_sg_png[]; FILEENTRIES filelist[MAXFILES]; @@ -103,18 +107,37 @@ static gui_item action_select = /*****************************************************************************/ /* GUI Background images */ /*****************************************************************************/ -static gui_image bg_filesel[10] = +static gui_image bg_filesel[13] = { - {NULL,Bg_main_png,IMAGE_VISIBLE,374,140,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_top_png,IMAGE_VISIBLE,0,0,640,108,255}, {NULL,Banner_bottom_png,IMAGE_VISIBLE,0,380,640,100,255}, {NULL,Main_logo_png,IMAGE_VISIBLE,466,40,152,44,255}, {NULL,Frame_s1_png,IMAGE_VISIBLE,8,70,372,336,152}, {NULL,Frame_s2_png,0,384,264,248,140,152}, - {NULL,Snap_empty_png,IMAGE_VISIBLE,422,114,164,116,255}, - {NULL,NULL,0,424,116,160,112,255}, - {NULL,Snap_frame_png,IMAGE_VISIBLE,388,112,236,148,255} + {NULL,Snap_empty_png,IMAGE_VISIBLE,424,148,160,112,255}, + {NULL,NULL,0,424,148,160,112,255}, + {NULL,NULL,0,388,147,240,152,255}, + {NULL,NULL,0,392,118,232,148,255}, + {NULL,NULL,0,414,116,184,188,255}, + {NULL,NULL,0,416,144,180,228,255} +}; + +static const u8 *Cart_png[4] = +{ + Cart_md_png, + Cart_ms_png, + Cart_gg_png, + Cart_sg_png +}; + +static const char *Cart_dir[4] = +{ + "md", + "ms", + "gg", + "sg" }; /*****************************************************************************/ @@ -124,7 +147,7 @@ static gui_menu menu_selector = { "Game Selection", -1,-1, - 0,0,10,0, + 0,0,13,0, NULL, NULL, bg_filesel, @@ -241,7 +264,7 @@ static void selector_cb(void) * return ROM size * ****************************************************************************/ -int FileSelector(void) +int FileSelector(int type) { short p; int i; @@ -255,27 +278,7 @@ int FileSelector(void) gui_butn *button; #endif - /* background type */ - if (config.bg_type > 0) - { - bg_filesel[0].state &= ~IMAGE_REPEAT; - bg_filesel[0].data = (config.bg_type > 1) ? Bg_main_png : Bg_main_2_png; - bg_filesel[0].x = 374; - bg_filesel[0].y = 140; - bg_filesel[0].w = 284; - bg_filesel[0].h = 288; - } - else - { - bg_filesel[0].state |= IMAGE_REPEAT; - bg_filesel[0].data = Bg_layer_png; - bg_filesel[0].x = 0; - bg_filesel[0].y = 0; - bg_filesel[0].w = 640; - bg_filesel[0].h = 480; - } - - /* background overlay */ + /* Background overlay */ if (config.bg_overlay) { bg_filesel[1].state |= IMAGE_VISIBLE; @@ -285,6 +288,34 @@ int FileSelector(void) bg_filesel[1].state &= ~IMAGE_VISIBLE; } + /* Hide all cartridge labels */ + bg_filesel[9].state &= ~IMAGE_VISIBLE; + bg_filesel[10].state &= ~IMAGE_VISIBLE; + bg_filesel[11].state &= ~IMAGE_VISIBLE; + bg_filesel[12].state &= ~IMAGE_VISIBLE; + + /* Cartridge type */ + if (type < 0) + { + /* Recent game list -> select all cartridge type */ + bg_filesel[9].data = Cart_png[0]; + bg_filesel[10].data = Cart_png[1]; + bg_filesel[11].data = Cart_png[2]; + bg_filesel[12].data = Cart_png[3]; + } + else + { + /* Clear all cartridges type */ + bg_filesel[9].data = NULL; + bg_filesel[10].data = NULL; + bg_filesel[11].data = NULL; + bg_filesel[12].data = NULL; + + /* Select cartridge type */ + bg_filesel[9 + type].data = Cart_png[type]; + bg_filesel[9 + type].state |= IMAGE_VISIBLE; + } + /* Initialize Menu */ GUI_InitMenu(m); string_offset = 0; @@ -303,48 +334,33 @@ int FileSelector(void) if (!filelist[selection].flags) { - /* get compressed file name */ - sprintf(fname, "%s/%s", GetCurrentDirectory(selection), filelist[selection].filename); - get_zipfilename(fname); + /* recent game list -> variable game types */ + if (type < 0) + { + /* hide all cartridge labels */ + bg_filesel[9].state &= ~IMAGE_VISIBLE; + bg_filesel[10].state &= ~IMAGE_VISIBLE; + bg_filesel[11].state &= ~IMAGE_VISIBLE; + bg_filesel[12].state &= ~IMAGE_VISIBLE; - /* auto-detect file type */ - if (!strnicmp(".sms", &fname[strlen(fname) - 4], 4)) - { - /* Master System ROM file */ - sprintf(fname, "%s/snaps/ms/%s", DEFAULT_PATH, filelist[selection].filename); - } - else if (!strnicmp(".gg", &fname[strlen(fname) - 3], 3)) - { - /* Game Gear ROM file */ - sprintf(fname, "%s/snaps/gg/%s", DEFAULT_PATH, filelist[selection].filename); - } - else if (!strnicmp(".sg", &fname[strlen(fname) - 3], 3)) - { - /* SG-1000 ROM file */ - sprintf(fname, "%s/snaps/sg/%s", DEFAULT_PATH, filelist[selection].filename); - } - else if ((!strnicmp(".md", &fname[strlen(fname) - 3], 3)) || - (!strnicmp(".gen", &fname[strlen(fname) - 4], 4)) || - (!strnicmp(".bin", &fname[strlen(fname) - 4], 4)) || - (!strnicmp(".mdx", &fname[strlen(fname) - 4], 4)) || - (!strnicmp(".smd", &fname[strlen(fname) - 4], 4))) - { - /* Genesis ROM file */ - sprintf(fname, "%s/snaps/md/%s", DEFAULT_PATH, filelist[selection].filename); + /* detect cartridge type (0-3) */ + type = history.entries[selection].filetype; + + /* show selected cartridge label */ + bg_filesel[9 + type].state |= IMAGE_VISIBLE; + + /* default screenshot file path */ + sprintf(fname,"%s/snaps/%s/%s", DEFAULT_PATH, Cart_dir[type], filelist[selection].filename); + + /* restore recent type flag */ + type = -1; } else { - fname[0] = 0; + /* default screenshot file path */ + sprintf(fname,"%s/snaps/%s/%s", DEFAULT_PATH, Cart_dir[type], filelist[selection].filename); } - } - else - { - fname[0] = 0; - } - /* Supported ROM file found ? */ - if (fname[0]) - { /* remove original file extension */ i = strlen(fname) - 1; while ((i > 0) && (fname[i] != '.')) i--; @@ -353,7 +369,7 @@ int FileSelector(void) /* add PNG file extension */ strcat(fname, ".png"); - /* try to load screenshot */ + /* try to load screenshot file */ snap = fopen(fname, "rb"); if (snap) { @@ -563,7 +579,7 @@ int FileSelector(void) selection = offset = 0; old = -1; } - else if (fname[0]) + else { /* load ROM file from device */ int ret = LoadFile(selection); @@ -574,11 +590,6 @@ int FileSelector(void) /* return ROM size (or zero if an error occured) */ return ret; } - else - { - /* Unsupported ROM file */ - GUI_WaitPrompt("Error","Unsupported ROM type !"); - } } #ifdef HW_RVL @@ -605,7 +616,6 @@ int FileSelector(void) offset += 10; } #endif - } } } diff --git a/source/gx/gui/filesel.h b/source/gx/gui/filesel.h index a2b65f7..c36c33f 100644 --- a/source/gx/gui/filesel.h +++ b/source/gx/gui/filesel.h @@ -51,7 +51,7 @@ typedef struct }FILEENTRIES; /* Globals */ -extern int FileSelector(void); +extern int FileSelector(int type); extern void ClearSelector(u32 max); extern FILEENTRIES filelist[MAXFILES]; diff --git a/source/gx/gui/gui.c b/source/gx/gui/gui.c index e5a2b2e..21fc490 100644 --- a/source/gx/gui/gui.c +++ b/source/gx/gui/gui.c @@ -51,31 +51,10 @@ u8 SILENT = 0; static gui_message message_box; static lwp_t msgboxthread; -/* background color */ -static GXColor bg_color; +/* background color (black) */ +static const GXColor bg_color = {0x00,0x00,0x00,0xff}; -/* various background colors */ -static GXColor bg_colors[BG_COLOR_MAX]= -{ - {0x00,0x00,0x00,0xff}, /* black */ - {0xd4,0xd0,0xc8,0xff}, /* cream */ - {0xbb,0xb0,0x99,0xff}, /* gold */ - {0xd6,0xcb,0xba,0xff}, /* light gold */ - {0xcc,0xcc,0xcc,0xff}, /* light grey */ - {0x66,0x66,0x66,0xff}, /* faded grey */ - {0x50,0x51,0x5b,0xff}, /* grey blue */ - {0xb8,0xc7,0xda,0xff}, /* light blue */ - {0xc0,0xcf,0xe7,0xff}, /* sky blue */ - {0x98,0xb1,0xd8,0xff}, /* sea blue */ - {0x7b,0x8c,0xa6,0xff}, /* violet */ - {0xa9,0xc7,0xc6,0xff}, /* green blue */ - {0x7d,0xa4,0x9f,0xff}, /* darker green blue */ - {0x22,0x52,0x74,0xff}, /* dark blue */ - {0x33,0x33,0x33,0xff} /* dark grey */ -}; - - -/*****************************************************************************/ +/****************************************************************************/ /* Generic GUI routines */ /*****************************************************************************/ @@ -1987,22 +1966,3 @@ void GUI_FadeOut() alpha +=3; } } - -/* Return background color */ -GXColor *GUI_GetBgColor(void) -{ - return &bg_color; -} - -/* Select background color */ -void GUI_SetBgColor(u8 color) -{ - if (color < BG_COLOR_MAX) - { - bg_color.r = bg_colors[color].r; - bg_color.g = bg_colors[color].g; - bg_color.b = bg_colors[color].b; - bg_color.a = bg_colors[color].a; - } -} - diff --git a/source/gx/gui/gui.h b/source/gx/gui/gui.h index c3110f6..96f0764 100644 --- a/source/gx/gui/gui.h +++ b/source/gx/gui/gui.h @@ -170,15 +170,10 @@ extern gx_texture *w_pointer; /* Generic backgrounds */ extern const u8 Bg_layer_png[]; -extern const u8 Bg_main_png[]; -extern const u8 Bg_main_2_png[]; extern const u8 Bg_overlay_png[]; extern const u8 Banner_main_png[]; extern const u8 Banner_bottom_png[]; extern const u8 Banner_top_png[]; -extern const u8 Banner_main_2_png[]; -extern const u8 Banner_bottom_2_png[]; -extern const u8 Banner_top_2_png[]; extern const u8 Main_logo_png[]; /* Generic frames */ diff --git a/source/gx/gui/legal.c b/source/gx/gui/legal.c index d710a01..e6c5d97 100644 --- a/source/gx/gui/legal.c +++ b/source/gx/gui/legal.c @@ -45,7 +45,6 @@ extern const u8 Bg_intro_c1_png[]; extern const u8 Bg_intro_c2_png[]; extern const u8 Bg_intro_c3_png[]; extern const u8 Bg_intro_c4_png[]; -extern const u8 Bg_intro_c5_png[]; /* * This is the legal stuff - which must be shown at program startup @@ -95,16 +94,12 @@ void legal () #else gx_texture *button = gxTextureOpenPNG(Key_A_gcn_png,0); #endif - - gx_texture *logo_left= gxTextureOpenPNG(Bg_intro_c5_png,0); - gx_texture *logo_right = gxTextureOpenPNG(Bg_intro_c4_png,0); + gx_texture *logo = gxTextureOpenPNG(Bg_intro_c4_png,0); gxClearScreen((GXColor)BLACK); show_disclaimer(56); - gxDrawTexture(logo_left, (640-logo_left->width-logo_right->width -32)/2, 480-logo_left->height-24, logo_left->width, logo_left->height,255); - gxDrawTexture(logo_right, (640-logo_left->width-logo_right->width -32)/2+logo_left->width+32, 480-logo_right->height-24, logo_right->width, logo_right->height,255); + gxDrawTexture(logo, (640-logo->width)/2, 480-24-logo->height, logo->width, logo->height,255); gxSetScreen(); - sleep(1); while (!(m_input.keys & PAD_BUTTON_A) && (count > 0)) @@ -117,15 +112,13 @@ void legal () FONT_writeCenter("Press button to continue.",24,0,640,366,(GXColor)SKY_BLUE); gxDrawTexture(button, 220, 366-24+(24-button->height)/2, button->width, button->height,255); } - gxDrawTexture(logo_left, (640-logo_left->width-logo_right->width -32)/2, 480-logo_left->height-24, logo_left->width, logo_left->height,255); - gxDrawTexture(logo_right, (640-logo_left->width-logo_right->width -32)/2+logo_left->width+32, 480-logo_right->height-24, logo_right->width, logo_right->height,255); + gxDrawTexture(logo, (640-logo->width)/2, 480-24-logo->height, logo->width, logo->height,255); gxSetScreen(); count--; } gxTextureClose(&button); - gxTextureClose(&logo_left); - gxTextureClose(&logo_right); + gxTextureClose(&logo); if (count > 0) { diff --git a/source/gx/gui/menu.c b/source/gx/gui/menu.c index 081086f..f2bb259 100644 --- a/source/gx/gui/menu.c +++ b/source/gx/gui/menu.c @@ -62,7 +62,7 @@ extern const u8 Main_options_png[]; extern const u8 Main_quit_png[]; extern const u8 Main_file_png[]; extern const u8 Main_reset_png[]; -extern const u8 Main_ggenie_png[]; +extern const u8 Main_cheats_png[]; extern const u8 Main_showinfo_png[]; extern const u8 Main_takeshot_png[]; #ifdef HW_RVL @@ -80,11 +80,10 @@ extern const u8 Option_system_png[]; /* Load ROM menu */ extern const u8 Load_recent_png[]; -extern const u8 Load_sd_png[]; -extern const u8 Load_dvd_png[]; -#ifdef HW_RVL -extern const u8 Load_usb_png[]; -#endif +extern const u8 Load_md_png[]; +extern const u8 Load_ms_png[]; +extern const u8 Load_gg_png[]; +extern const u8 Load_sg_png[]; /* Save Manager menu */ extern const u8 Button_load_png[]; @@ -216,13 +215,12 @@ static gui_item action_select = NULL,Key_A_png,"","",602,422,28,28 }; - /*****************************************************************************/ /* GUI backgrounds images */ /*****************************************************************************/ static gui_image bg_main[4] = { - {NULL,Bg_main_png,IMAGE_VISIBLE,178,74,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_main_png,IMAGE_VISIBLE|IMAGE_SLIDE_BOTTOM,0,340,640,140,255}, {NULL,Main_logo_png,IMAGE_VISIBLE|IMAGE_SLIDE_BOTTOM,202,362,232,56,255} @@ -230,7 +228,7 @@ static gui_image bg_main[4] = static gui_image bg_misc[5] = { - {NULL,Bg_main_png,IMAGE_VISIBLE,178,96,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_top_png,IMAGE_VISIBLE|IMAGE_SLIDE_TOP,0,0,640,108,255}, {NULL,Banner_bottom_png,IMAGE_VISIBLE|IMAGE_SLIDE_BOTTOM,0,380,640,100,255}, @@ -239,7 +237,7 @@ static gui_image bg_misc[5] = static gui_image bg_ctrls[8] = { - {NULL,Bg_main_png,IMAGE_VISIBLE,374,140,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_top_png,IMAGE_VISIBLE,0,0,640,108,255}, {NULL,Banner_bottom_png,IMAGE_VISIBLE,0,380,640,100,255}, @@ -251,7 +249,7 @@ static gui_image bg_ctrls[8] = static gui_image bg_list[6] = { - {NULL,Bg_main_png,IMAGE_VISIBLE,374,140,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_top_png,IMAGE_VISIBLE,0,0,640,108,255}, {NULL,Banner_bottom_png,IMAGE_VISIBLE,0,380,640,100,255}, @@ -262,7 +260,7 @@ static gui_image bg_list[6] = static gui_image bg_saves[8] = { {NULL,NULL,0,0,0,0,0,255}, - {NULL,Bg_main_png,IMAGE_VISIBLE,374,140,284,288,255}, + {NULL,Bg_layer_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Bg_overlay_png,IMAGE_VISIBLE|IMAGE_REPEAT,0,0,640,480,255}, {NULL,Banner_top_png,IMAGE_VISIBLE|IMAGE_SLIDE_TOP,0,0,640,108,255}, {NULL,Banner_bottom_png,IMAGE_VISIBLE|IMAGE_SLIDE_BOTTOM,0,380,640,100,255}, @@ -283,7 +281,7 @@ static gui_item items_main[10] = {NULL,Main_quit_png ,"","",460,170,52,84}, {NULL,Main_file_png ,"","",114,216,80,92}, {NULL,Main_reset_png ,"","",282,224,76,84}, - {NULL,Main_ggenie_png ,"","",450,224,72,84}, + {NULL,Main_cheats_png ,"","",454,218,64,92}, {NULL,NULL ,"","", 10,334,84,32}, #ifdef HW_RVL {NULL,Main_play_wii_png,"","", 10,372,84,32}, @@ -313,28 +311,23 @@ static gui_item items_ctrls[13] = }; /* Load menu */ -static gui_item items_load[4] = +static gui_item items_load[5] = { -#ifdef HW_RVL - {NULL,Load_recent_png,"","Load recent ROM files" ,276,120,88,96}, - {NULL,Load_sd_png ,"","Load ROM files from SD card" ,110,266,88,96}, - {NULL,Load_usb_png ,"","Load ROM files from USB drive" ,276,266,88,96}, - {NULL,Load_dvd_png ,"","Load ROM files from DVD" ,442,266,88,96} -#else - {NULL,Load_recent_png,"","Load recent ROM files (USB/SD)" ,110,192,88,96}, - {NULL,Load_sd_png ,"","Load ROM files from SD card" ,276,192,88,96}, - {NULL,Load_dvd_png ,"","Load ROM files from DVD" ,442,192,88,96} -#endif + {NULL,Load_recent_png,"","Load recently played games", 200,144,72, 92}, + {NULL,Load_md_png, "","Load Mega Drive/Genesis games", 362,141,84, 92}, + {NULL,Load_ms_png, "","Load Master System games", 114,284,84, 96}, + {NULL,Load_gg_png, "","Load Game Gear games", 278,283,84,100}, + {NULL,Load_sg_png, "","Load SG-1000 games", 455,281,64, 96} }; /* Option menu */ static gui_item items_options[5] = { {NULL,Option_system_png,"","System settings", 114,142,80,92}, - {NULL,Option_video_png ,"","Video settings", 288,150,64,84}, - {NULL,Option_sound_png ,"","Audio settings", 464,154,44,80}, - {NULL,Option_ctrl_png ,"","Controllers settings", 192,286,88,92}, - {NULL,Option_menu_png ,"","Menu settings", 370,286,60,92} + {NULL,Option_video_png, "","Video settings", 288,150,64,84}, + {NULL,Option_sound_png, "","Audio settings", 464,154,44,80}, + {NULL,Option_ctrl_png, "","Controllers settings", 192,286,88,92}, + {NULL,Option_menu_png, "","Menu settings", 370,286,60,92} }; /* Audio options */ @@ -358,14 +351,14 @@ static gui_item items_audio[13] = /* System options */ static gui_item items_system[8] = { - {NULL,NULL,"Console Hardware: AUTO", "Select system hardware model", 56,132,276,48}, - {NULL,NULL,"Console Region: AUTO", "Select system region", 56,132,276,48}, - {NULL,NULL,"System Lockups: OFF", "Enable/disable original system lock-ups", 56,132,276,48}, - {NULL,NULL,"68k Address Error: ON", "Enable/disable 68k Address Error", 56,132,276,48}, - {NULL,NULL,"System BIOS: OFF", "Enable/disable TMSS BIOS support", 56,132,276,48}, - {NULL,NULL,"Lock-on: OFF", "Select Lock-On cartridge type", 56,132,276,48}, - {NULL,NULL,"Cartridge Swap: OFF", "Enable/disable cartridge hot swap", 56,132,276,48}, - {NULL,NULL,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 56,132,276,48} + {NULL,NULL,"Console Hardware: AUTO", "Select system hardware model", 56,132,276,48}, + {NULL,NULL,"Console Region: AUTO", "Select system region", 56,132,276,48}, + {NULL,NULL,"System Boot: BIOS&CART", "Select system booting method", 56,132,276,48}, + {NULL,NULL,"System Lockups: ON", "Enable/disable original system lock-ups", 56,132,276,48}, + {NULL,NULL,"68k Address Error: ON", "Enable/disable 68k address error exceptions", 56,132,276,48}, + {NULL,NULL,"Lock-on: OFF", "Select Lock-On cartridge type", 56,132,276,48}, + {NULL,NULL,"Cartridge Swap: OFF", "Enable/disable cartridge hot swap", 56,132,276,48}, + {NULL,NULL,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 56,132,276,48} }; /* Video options */ @@ -392,13 +385,13 @@ static gui_item items_video[8] = /* Menu options */ static gui_item items_prefs[9] = { - {NULL,NULL,"Auto ROM Load: OFF","Enable/Disable automatic ROM loading on startup", 56,132,276,48}, - {NULL,NULL,"Auto Cheats: OFF", "Enable/Disable automatic cheats activation", 56,132,276,48}, + {NULL,NULL,"Auto ROM Load: OFF","Enable/Disable automatic ROM loading on startup", 56,132,276,48}, + {NULL,NULL,"Auto Cheats: OFF", "Enable/Disable automatic cheats activation", 56,132,276,48}, {NULL,NULL,"Auto Saves: OFF", "Enable/Disable automatic saves", 56,132,276,48}, - {NULL,NULL,"Saves Device: FAT", "Configure default device for saves", 56,132,276,48}, + {NULL,NULL,"ROM Device: SD", "Configure default device for ROM files", 56,132,276,48}, + {NULL,NULL,"Saves Device: FAT", "Configure default device for Save files", 56,132,276,48}, {NULL,NULL,"SFX Volume: 100", "Adjust sound effects volume", 56,132,276,48}, {NULL,NULL,"BGM Volume: 100", "Adjust background music volume", 56,132,276,48}, - {NULL,NULL,"BG Color: DEFAULT", "Select background color", 56,132,276,48}, {NULL,NULL,"BG Overlay: ON", "Enable/disable background overlay", 56,132,276,48}, {NULL,NULL,"Screen Width: 658", "Adjust menu screen width in pixels", 56,132,276,48}, }; @@ -468,18 +461,13 @@ static gui_butn buttons_ctrls[13] = }; /* Load Game menu */ -static gui_butn buttons_load[4] = +static gui_butn buttons_load[5] = { -#ifdef HW_RVL - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{0,2,0,1},246,102,148,132}, - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{1,0,1,1}, 80,248,148,132}, - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{2,0,1,1},246,248,148,132}, - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{3,0,1,0},412,248,148,132} -#else - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{0,2,0,1}, 80,174,148,132}, - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{1,0,1,1},246,174,148,132}, - {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{3,0,1,0},412,174,148,132} -#endif + {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{0,2,0,1},162,120,148,132}, + {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{0,2,1,0},330,120,148,132}, + {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{2,0,0,1}, 80,264,148,132}, + {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{2,0,1,1},246,264,148,132}, + {&button_icon_data,BUTTON_VISIBLE|BUTTON_ACTIVE|BUTTON_OVER_SFX|BUTTON_SELECT_SFX,{3,0,1,0},412,264,148,132} }; /* Options menu */ @@ -543,11 +531,7 @@ static gui_menu menu_load = { "Load Game", 0,0, -#ifdef HW_RVL - 4,4,5,0, -#else - 3,3,5,0, -#endif + 5,5,5,0, items_load, buttons_load, bg_misc, @@ -575,7 +559,7 @@ static gui_menu menu_system = { "System Settings", 0,0, - 7,4,7,0, + 8,4,6,0, items_system, buttons_list, bg_list, @@ -670,13 +654,18 @@ static void prefmenu () else if (config.s_auto == 2) sprintf (items[2].text, "Auto Saves: STATE ONLY"); else if (config.s_auto == 1) sprintf (items[2].text, "Auto Saves: SRAM ONLY"); else sprintf (items[2].text, "Auto Saves: NONE"); - if (config.s_device == 1) sprintf (items[3].text, "Saves Device: MCARD A"); - else if (config.s_device == 2) sprintf (items[3].text, "Saves Device: MCARD B"); - else sprintf (items[3].text, "Saves Device: FAT"); - sprintf (items[4].text, "SFX Volume: %1.1f", config.sfx_volume); - sprintf (items[5].text, "BGM Volume: %1.1f", config.bgm_volume); - if (config.bg_type) sprintf (items[6].text, "BG Type: COLOR %d", config.bg_type - 1); - else sprintf (items[6].text, "BG Type: DEFAULT"); +#ifdef HW_RVL + if (config.l_device == 1) sprintf (items[3].text, "Default ROM Device: USB"); + else if (config.l_device == 2) sprintf (items[3].text, "Default ROM Device: DVD"); +#else + if (config.l_device == 1) sprintf (items[3].text, "Default ROM Device: DVD"); +#endif + else sprintf (items[3].text, "Default ROM Device: SD"); + if (config.s_device == 1) sprintf (items[4].text, "Saves Device: MCARD A"); + else if (config.s_device == 2) sprintf (items[4].text, "Saves Device: MCARD B"); + else sprintf (items[4].text, "Saves Device: FAT"); + sprintf (items[5].text, "SFX Volume: %1.1f", config.sfx_volume); + sprintf (items[6].text, "BGM Volume: %1.1f", config.bgm_volume); sprintf (items[7].text, "BG Overlay: %s", config.bg_overlay ? "ON":"OFF"); sprintf (items[8].text, "Screen Width: %d", config.screen_w); @@ -707,39 +696,55 @@ static void prefmenu () else sprintf (items[2].text, "Auto Saves: NONE"); break; - case 3: /*** Default saves device ***/ + case 3: /*** Default ROM device ***/ +#ifdef HW_RVL + config.l_device = (config.l_device + 1) % 3; + if (config.l_device == 1) sprintf (items[3].text, "Default ROM Device: USB"); + else if (config.l_device == 2) sprintf (items[3].text, "Default ROM Device: DVD"); +#else + config.l_device ^= 1; + if (config.l_device == 1) sprintf (items[3].text, "Default ROM Device: DVD"); +#endif + else sprintf (items[3].text, "Default ROM Device: SD"); + break; + + case 4: /*** Default saves device ***/ config.s_device = (config.s_device + 1) % 3; - if (config.s_device == 1) sprintf (items[3].text, "Saves Device: MCARD A"); - else if (config.s_device == 2) sprintf (items[3].text, "Saves Device: MCARD B"); - else sprintf (items[3].text, "Saves Device: FAT"); + if (config.s_device == 1) sprintf (items[4].text, "Saves Device: MCARD A"); + else if (config.s_device == 2) sprintf (items[4].text, "Saves Device: MCARD B"); + else sprintf (items[4].text, "Saves Device: FAT"); break; - case 4: /*** Sound effects volume ***/ + case 5: /*** Sound effects volume ***/ GUI_OptionBox(m,0,"SFX Volume",(void *)&config.sfx_volume,10.0,0.0,100.0,0); - sprintf (items[4].text, "SFX Volume: %1.1f", config.sfx_volume); + sprintf (items[5].text, "SFX Volume: %1.1f", config.sfx_volume); break; - case 5: /*** Background music volume ***/ + case 6: /*** Background music volume ***/ GUI_OptionBox(m,update_bgm,"BGM Volume",(void *)&config.bgm_volume,10.0,0.0,100.0,0); - sprintf (items[5].text, "BGM Volume: %1.1f", config.bgm_volume); - break; - - case 6: /*** Background type ***/ - if (ret < 0) config.bg_type --; - else config.bg_type++; - if (config.bg_type < 0) config.bg_type = BG_COLOR_MAX; - else if (config.bg_type > BG_COLOR_MAX) config.bg_type = 0; - if (config.bg_type) sprintf (items[6].text, "BG Type: COLOR %d", config.bg_type - 1); - else sprintf (items[6].text, "BG Type: DEFAULT"); - GUI_DeleteMenu(m); - menu_configure(); - GUI_InitMenu(m); + sprintf (items[6].text, "BGM Volume: %1.1f", config.bgm_volume); break; case 7: /*** Background overlay ***/ config.bg_overlay ^= 1; - sprintf (items[7].text, "BG Overlay: %s", config.bg_overlay ? "ON":"OFF"); - menu_configure(); + if (config.bg_overlay) + { + bg_main[1].state |= IMAGE_VISIBLE; + bg_misc[1].state |= IMAGE_VISIBLE; + bg_ctrls[1].state |= IMAGE_VISIBLE; + bg_list[1].state |= IMAGE_VISIBLE; + bg_saves[2].state |= IMAGE_VISIBLE; + sprintf (items[7].text, "BG Overlay: ON"); + } + else + { + bg_main[1].state &= ~IMAGE_VISIBLE; + bg_misc[1].state &= ~IMAGE_VISIBLE; + bg_ctrls[1].state &= ~IMAGE_VISIBLE; + bg_list[1].state &= ~IMAGE_VISIBLE; + bg_saves[2].state &= ~IMAGE_VISIBLE; + sprintf (items[7].text, "BG Overlay: OFF"); + } break; case 8: /*** Screen Width ***/ @@ -1085,9 +1090,9 @@ static void systemmenu () else if (config.region_detect == 3) sprintf (items[1].text, "Console Region: JAPAN"); - sprintf (items[2].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); - sprintf (items[3].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF"); - sprintf (items[4].text, "System TMSS: %s", (config.tmss & 1) ? "ON":"OFF"); + sprintf (items[2].text, "System Boot: %s", (config.bios & 1) ? ((config.bios & 2) ? "BIOS&CART" : "BIOS ONLY") : "CART"); + sprintf (items[3].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); + sprintf (items[4].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF"); if (config.lock_on == TYPE_GG) sprintf (items[5].text, "Lock-On: GAME GENIE"); @@ -1225,7 +1230,7 @@ static void systemmenu () region_autodetect(); if (system_hw == SYSTEM_MD) { - io_reg[0x00] = 0x20 | region_code | (config.tmss & 1); + io_reg[0x00] = 0x20 | region_code | (config.bios & 1); } else { @@ -1271,14 +1276,36 @@ static void systemmenu () break; } - case 2: /*** force DTACK ***/ + case 2: /*** BIOS support ***/ { - config.force_dtack ^= 1; - sprintf (items[2].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); + uint8 temp = config.bios & 3; + config.bios &= ~3; + if (temp == 0) config.bios |= 3; + else if (temp == 3) config.bios |= 1; + sprintf (items[2].text, "System Boot: %s", (config.bios & 1) ? ((config.bios & 2) ? "BIOS&CART " : "BIOS ONLY") : "CART"); + if (cart.romsize && ((system_hw == SYSTEM_MD) || (system_hw & SYSTEM_GG) || (system_hw & SYSTEM_SMS))) + { + /* reset emulation */ + system_init(); + system_reset(); + + /* restore SRAM */ + if (config.s_auto & 1) + { + slot_autoload(0,config.s_device); + } + } break; } - case 3: /*** 68k Address Error ***/ + case 3: /*** force DTACK ***/ + { + config.force_dtack ^= 1; + sprintf (items[3].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); + break; + } + + case 4: /*** 68k Address Error ***/ { config.addr_error ^= 1; if (cart.romsize && ((system_hw & SYSTEM_PBC) == SYSTEM_MD)) @@ -1291,26 +1318,7 @@ static void systemmenu () slot_autoload(0,config.s_device); } } - sprintf (items[3].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF"); - break; - } - - case 4: /*** BIOS support ***/ - { - config.tmss ^= 1; - sprintf (items[4].text, "System TMSS: %s", (config.tmss & 1) ? "ON":"OFF"); - if (cart.romsize && ((system_hw & SYSTEM_PBC) == SYSTEM_MD)) - { - /* restart emulation */ - system_init(); - system_reset(); - - /* restore SRAM */ - if (config.s_auto & 1) - { - slot_autoload(0,config.s_device); - } - } + sprintf (items[4].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF"); break; } @@ -3012,7 +3020,7 @@ static int savemenu(void) ****************************************************************************/ static int loadgamemenu () { - int ret; + int ret, filetype; gui_menu *m = &menu_load; GUI_InitMenu(m); GUI_DrawMenuFX(m,30,0); @@ -3032,19 +3040,23 @@ static int loadgamemenu () /*** Load from selected device */ default: { + /* ROM File type */ + filetype = ret - 1; + + /* Try to open current directory */ if (ret > 0) { - ret = OpenDirectory(ret - 1); + ret = OpenDirectory(config.l_device, filetype); } else { - ret = OpenDirectory(TYPE_RECENT); + ret = OpenDirectory(TYPE_RECENT, filetype); } if (ret) { GUI_DeleteMenu(m); - if (FileSelector()) + if (FileSelector(filetype)) { /* directly jump to game */ return 1; @@ -3320,7 +3332,7 @@ static void mainmenu_cb(void) } } -int menu_execute(void) +void mainmenu(void) { char filename[MAXPATHLEN]; int status, quit = 0; @@ -3349,6 +3361,22 @@ int menu_execute(void) /* Update main menu */ if (!m->screenshot && cart.romsize) { + if (config.bg_overlay) + { + bg_main[1].state |= IMAGE_VISIBLE; + bg_misc[1].state |= IMAGE_VISIBLE; + bg_ctrls[1].state |= IMAGE_VISIBLE; + bg_list[1].state |= IMAGE_VISIBLE; + bg_saves[2].state |= IMAGE_VISIBLE; + } + else + { + bg_main[1].state &= ~IMAGE_VISIBLE; + bg_misc[1].state &= ~IMAGE_VISIBLE; + bg_ctrls[1].state &= ~IMAGE_VISIBLE; + bg_list[1].state &= ~IMAGE_VISIBLE; + bg_saves[2].state &= ~IMAGE_VISIBLE; + } m->screenshot = 128; m->bg_images[0].state &= ~IMAGE_VISIBLE; m->items[0].y -= 90; @@ -3392,6 +3420,9 @@ int menu_execute(void) if (loadgamemenu()) { + /* restart emulation */ + reloadrom(); + /* check current controller configuration */ if (!gx_input_FindDevices()) { @@ -3404,7 +3435,7 @@ int menu_execute(void) /* exit to game and reinitialize emulation */ gxClearScreen((GXColor)BLACK); gxSetScreen(); - quit = 2; + quit = 1; break; } @@ -3569,64 +3600,4 @@ int menu_execute(void) MOUSE_Deinit(); } #endif - - return (quit >> 1); -} - -void menu_configure(void) -{ - /* background type */ - if (config.bg_type > 0) - { - GUI_SetBgColor((u8)(config.bg_type - 1)); - bg_main[0].state &= ~IMAGE_REPEAT; - bg_misc[0].state &= ~IMAGE_REPEAT; - bg_ctrls[0].state &= ~IMAGE_REPEAT; - bg_list[0].state &= ~IMAGE_REPEAT; - bg_saves[1].state &= ~IMAGE_REPEAT; - if (config.bg_type > 1) - { - bg_main[0].data = bg_misc[0].data = bg_ctrls[0].data = bg_list[0].data = bg_saves[1].data = Bg_main_png; - } - else - { - bg_main[0].data = bg_misc[0].data = bg_ctrls[0].data = bg_list[0].data = bg_saves[1].data = Bg_main_2_png; - } - bg_main[0].x = bg_misc[0].x = bg_ctrls[0].x = bg_list[0].x = bg_saves[1].x = 374; - bg_main[0].y = bg_misc[0].y = bg_ctrls[0].y = bg_list[0].y = bg_saves[1].y = 140; - bg_main[0].w = bg_misc[0].w = bg_ctrls[0].w = bg_list[0].w = bg_saves[1].w = 284; - bg_main[0].h = bg_misc[0].h = bg_ctrls[0].h = bg_list[0].h = bg_saves[1].h = 288; - } - else - { - GUI_SetBgColor(0); - bg_main[0].state |= IMAGE_REPEAT; - bg_misc[0].state |= IMAGE_REPEAT; - bg_ctrls[0].state |= IMAGE_REPEAT; - bg_list[0].state |= IMAGE_REPEAT; - bg_saves[1].state |= IMAGE_REPEAT; - bg_main[0].data = bg_misc[0].data = bg_ctrls[0].data = bg_list[0].data = bg_saves[1].data = Bg_layer_png; - bg_main[0].x = bg_misc[0].x = bg_ctrls[0].x = bg_list[0].x = bg_saves[1].x = 0; - bg_main[0].y = bg_misc[0].y = bg_ctrls[0].y = bg_list[0].y = bg_saves[1].y = 0; - bg_main[0].w = bg_misc[0].w = bg_ctrls[0].w = bg_list[0].w = bg_saves[1].w = 640; - bg_main[0].h = bg_misc[0].h = bg_ctrls[0].h = bg_list[0].h = bg_saves[1].h = 480; - } - - /* background overlay */ - if (config.bg_overlay) - { - bg_main[1].state |= IMAGE_VISIBLE; - bg_misc[1].state |= IMAGE_VISIBLE; - bg_ctrls[1].state |= IMAGE_VISIBLE; - bg_list[1].state |= IMAGE_VISIBLE; - bg_saves[2].state |= IMAGE_VISIBLE; - } - else - { - bg_main[1].state &= ~IMAGE_VISIBLE; - bg_misc[1].state &= ~IMAGE_VISIBLE; - bg_ctrls[1].state &= ~IMAGE_VISIBLE; - bg_list[1].state &= ~IMAGE_VISIBLE; - bg_saves[2].state &= ~IMAGE_VISIBLE; - } } diff --git a/source/gx/gui/menu.h b/source/gx/gui/menu.h index 9efbb4a..ef90897 100644 --- a/source/gx/gui/menu.h +++ b/source/gx/gui/menu.h @@ -40,9 +40,7 @@ #ifndef _MENU_H #define _MENU_H -extern int menu_execute(void); -extern void menu_configure(void); - +extern void mainmenu(void); #endif diff --git a/source/gx/gx_input.c b/source/gx/gx_input.c index ab9350f..eb0bae6 100644 --- a/source/gx/gx_input.c +++ b/source/gx/gx_input.c @@ -1400,7 +1400,7 @@ void gx_input_UpdateEmu(void) RAMCheatUpdate(); } -/* Menu inputs update function (done by Video Interrupt callback) */ +/* Menu inputs update function */ void gx_input_UpdateMenu(void) { /* Check if inputs update are disabled */ diff --git a/source/gx/images/Bg_intro_c5.png b/source/gx/images/Bg_intro_c5.png deleted file mode 100644 index c0cb7dd5dfc7475de09f48a6378301c3ef3709b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18590 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ê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 Az{{bx|I!Gu&1Q|z(BOs!I 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 CJutM3Q?;QQWw5csKo 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�^6o*PRF9eWrCK0_KK(5E-AeymL8)4 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 Ef_F4S?EnA( literal 0 HcmV?d00001 diff --git a/source/gx/images/Cart_ms.png b/source/gx/images/Cart_ms.png new file mode 100644 index 0000000000000000000000000000000000000000..4de57a935c5e44fea860faff80253b66157d3171 GIT binary patch literal 23290 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 JPDHLkV1g)}w-^8b literal 0 HcmV?d00001 diff --git a/source/gx/images/Cart_sg.png b/source/gx/images/Cart_sg.png new file mode 100644 index 0000000000000000000000000000000000000000..d52bc23007a203de861e35940a004426ff801c16 GIT binary patch literal 34509 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 diff --git a/source/gx/images/Load_gg.png b/source/gx/images/Load_gg.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d9a1750f9440dd548b3bbfe962594c3f634334 GIT binary patch literal 6452 zcmb7pXHXN)^LGLP0#Xu0dJSE^ND)GZ2vIsJNDEy$q4z355rT9SC5((v z24?~Tc`2*E023$}Y=b4t$=%hAy#N4;!~b=l@)wDZghfv8$41_IZg$>&R-U#1Z7XX} zHy2wQM=Q=Jj-IxDZk}i_PHm%>#QQu1S^EFUs(9L3c{{qfa=vhMu?2{Uiik^#h=~z% zWEB$>W7Uz5UifG3X9c;lO@;I++4~)+7>?~m#yA@@YQp38C45C^L1YxklM=kz0xFLE z;p*w{yF|4ohYNpb^c-gk1;o0QmYmLvkxbK=a0J&KxCHZu!!g)387c0xk zf(~%mH%D@+E$u1cE@r)46K;0)2MY=do!RjSDDZ+QBfx>njq-sDt zgk`x3FzJX3;v{6 ztR?j_20iR^ukt*em=`kI!U+6wuaR=4n7KwDs7SOdh$OooeyOn$3jTwE=2{L?b6e7D z{Yn;Wh{@qZDD*u0LOch#ZXhv=$85qZ-+~#=?lM7XR^){i1CYs)5X^Th!3fH6jC0t&{35K^E+uea2e)tzM$;tr? z)cVCrq(K1;A|V0dLjC$f|KOL&xj6O&e)T{Uvpe zJU|~|P(w!$Vs|bEP_Tgqz>dkoe}4u0Gh~FY<(s5(T1Kdmg(IgG5uI*gcqY*?CzYP| z0%bns*9=P*hF#t?%`1baSdrM1Naq%6-0im&J<-OFG*kP0+BXxG93 zTKY~sKd$;SmqZ^eSd~A4ni{H8uFA9ZnmADKkgF%w5!qNUJueiG{gW%W3t^%W3RFOF zURR0UrrC91`eXOlCWSCce8Mn2alLhnuWKM8|>4<@1iT?0W1I+ z;_OLOYVCA@*J7OsW5go}$Q+iq^;ouQD)TRd+QJ@ZSZ%e{MD$sk#1s4eDXsA{w2LaV z>M1OC9IWPpyl`Xc5}u}ggMp^(hj@ipHayP#)*`4ikX?FMZIgIQ5cHGorF06+w1M)7BsJ}pv$+Bx@s%9< zJZl3nd~Sk{ot`6>?+&Zb9ehpCu$Ct6@xZfoS_cAR8vDD~nTMb&p99H9d*fQSg8}=J zADWmaQd3N(IhW^->c0b+Bdiv;+5yA@u;%QQTuR#-ve)YpAGu1RePlk#`tDJRkAbb% z%RRiH-A0k0$^(A<1IUIUoxg72c~)Qj1n_o;B%yX+SGVe+&=%-&jQ6m=5oA!NoHer% zo63=~J>bA(QDi&e|iYA3o|gT|-=btRC}C493p+gm>Bd`a5gK z5?ze(;D<7dj5<0?d0tG)H!_T zRC;XE#;UZ5FG`|rS_8dbs4FOvr4w{|dK&2O-zRH(hRW zEfTzPr@5meRNhyquhBXsiZvggeTQ~F4KM#A7@+XZ=m~>>KoKpbEcrfjb-H@8J@I~w z^&?2(-Kg-p5i2(LKWI45H+uX^5jJU^o15DyF6OIjZ#P%EI_$oCdA7fcYVurvJYx|W zGVQ@i%_dt|*>;9HsQ>M1@~@MahV>zvuoOLB&_39dMUU~x3qzK}j?A`DIqs2Em6k-S zbx0Lb@SZ@C25R?nO=CN&RzqoNsqgk=k$$RqpyS68J2W+`wCL$-v`7lBdACB}q~5ty zUn5bAkNh>Jv{bOpX5js2(+7qNv$IVyAoj7&9|#$8+l?(FO^a&Y*ir>9T1UM?Ky;7?DV3(z?@H~=`a zbk?Nf2pbx3IGpsYa@fv}lP_+50JqSxeQ>Z@oZ*VPnD-jfz8Bq_8Pd)at3A`Vm!vlS z2eu(okwcTqi`-kXzF|n#&4ZS_lu5M{Pb-r1!)d{#r0l=`a@I$qg@VrZj#QsK;ls7z z7t@{LyFNZX&-L_F6mv?No71Pt3`^w4tb>CyIl=vQHI$T;2_tr;m6auRbyJm}Ki{{h z`K48D#FM3?N3a%+UL&~a;_J`@O>@5mAEC3oUtaQwYUcneMn1C{;q<^cz$rzKsH7JV zIMsQ}MXwYK*prRB%SfhV&7AAIH#^~tU+|Oi&o1$7VjZw~-`p%)@3w^FO&W;!AY^!a z^>?hsb6rC`jnaxyTvnDDx749zsHd0Y>f)kJh}ejTh^_s7TW9B(Z{HqOH1FJRvmK%r z$r#})E-rR(bhNs?xvs6R|LVFR>$CGyQ1Sd5jX~Sl9C~|nREI?)Ci(yyr%~= zH8thD*qWwWie!xV<0)evays=5hr?wfVPVth5fP+(e0=>j;wL93%K_$2Yu{sq9<-mY zeio%vFVg*DRQ=jpR{Q>kmj{b&%@q|o3&DR!wDtA%4PMqpaT(F@Mp5ReCio*g6*0pM z<6_8AJJD(_^!f)~lA;%@SqH)P);>Oxgv@DgzA34`9!?tt;(wY=>9;>O<+t1!#7l!;O%fvez%RajnsAkUM) zMF|T88Ae47JiH-G&(?Po8+Jc7KAt8;gV)K)NjmUEfS8#0tRW@e}#6F}oTo#)zUwj#vJB-^e&vS=iYt_&v8udb58NJS&4vD7mE{ zNO)pF8Jhj$E|lD7k0AbtDz_!YipEun+Y}SmBXj>1l7*$E%4A(FEiLH`DYuHY^%N6E zHnyUoqPMm~DHF4^{SyVMNAmIezZ(qSS{c;^;c=@9`1z#&=%Zue;%GrYL-PRM*x1r&h|8@#^cux`v93Xpm>hFj<1e z@DLt&2}STjLVuF679}ewDk^&4UgI}q<>U;_Uj187bB1ebYTgm)xDr=TP%!oAy?61; zKBuUzPQUHuVwaMddUAXmA)CdQs8;1P_4zO_lAU>A-7`uK*T^j=DcM_X-B)ZLuzoLO zZ??Lc0AL?3E-#NlLgzg)$30j>jtd!g2=H>;taI5WhCUD|`ft-|gGrzil>0_)YnKhH zJOj`u&0mwg4}Sf5V`F1Si?4u>pWg?T_{_}AELnrME%=}3>7=FzNxb5P!_r(GI<>;0 zLs1eAkJt?G&sK$inj0Es)cKP1;}yvj1$zX&pITaiw%RXoLJR(DvA+nQO3k6T$FB5B-a>%x`_nAhb$SYtC7*?=va&Lc zZrdm%(I{o@@VzEk?qPJ;bS27 zJRea<{6lQ={WK~KYz&;p(;Q=n(O8F{!W2y3F!GUvYm~m%)$sB5=3x)`lbHKVfYRIB z`_szGiY0;ajsBw_rV|0gt%ak|Lm{G+l zt?!hjt91CTG$zZcC%m74@Sdc@$CiJcEkAH%XcmsW)qE;cmVEp{H*Zav7xv#VvNUm1 z>jRMlqER9Y<8-&P7JB*8_@Czj-tI!g{Kh$M4E40=#W#;k^%)<2Em#^n2x8$)DW?#)iy9N(lpO?#F4Mv5VU8O+*u1m#rWVR(FD9Zu+#1nr3o`ZG^%H~5nwr&w=e%U#(xJ&MKgeprBQu}r`1`;pvr%Gp`J2_O%ETA>^gKByg#3}#9j6lE4(HO$h!R&7 zT+f(LH~ndMEHc#OmcG~eVNF`EdUq|FZSQ)&>L;^#S)ctNnLwo~aDeYukIZPe0rR*u zIMw`}(U9W=oHP6p#6~)#T`=To%-;Oilv9M)`oI!TE zGcew(;d)_Mrh=|iBDVmGb(Xv>xz?WX=?h+Rb2pQ+Cu+G*|EnREg0)YOaY2ghl%Img zgj$Ohm@M8=@^U?T!-y^acZkkd{JTxfUSK_*CV{7MYJ>evCa*s8xM0uZEvr4sZarYp z0RnQ=nv2#Ql+xo%5n7|_O|B`Ec5ZH{>w>Q_fe>=;pWrie);?8HR_n$=a0?FD2g}IZ zHtc0B`D{=<;J==(%2a6RPwIu$Fw^yB9Np?JRL`-vJu#81DM!pX@;@ZiL#x4Sb2QU+$;P|b!Gr2G& zg!Cth?Oe8g7T9Nu>d0vZW$uAEXAz|Cgy{X8k#ggH+N_sSwEL!>+S%a4{uxi*&b|b< zA0brgcXj(&m~X!)lP4U^xTq>N!9l@UTir%3ogtn3HNa;2bGj}oU!TY2O@f_fY8#Q- zugqRD-#LsduKqXMbQ`m9>4)h{V87Kb)C1g%VuC~t?|}{<{8(l~E|I4p#h<}h+!qn% z`Lb5oc)CMF(%CSA6@cKo#{TZMd*^VLRk&S}bT^nN~sv_P+M+K$8X+n|qU> z-}iUx(z!v9(c0+8KhzW_e{^m_pbY`LXS|n@VM}l-mUuHml3;G%ga7iSf+#=cJn1R1 zj0<5@=aj=>Zdmhwn8U{uBD|3thh{uVpBE)|!hw6gizocj?Opk3`zk+POF=qYpo9lH zO9WYHr#sgScYK8r{r+hA8ti8eIh}~I0cKZMO%pXk16pu%k&|k)Mn7bjo&yW~`YNvyo}BDN+O%Q;s%dxtg=Rxe%(=NsHeF;C+X|^#=;dy6i zmrlfU9h^I^UGjL*eBZ@re*_!2WDL9o&(~_C>?)s0yFK8#_^C4|v8A_h8#E%5Vf6bo zWBqY>saSYYdn99nH8wktxsmkfzsY`G)>yzbjOdtDuOwt6m>UL7!Xi&$^Nm#JBeM^G zLlYNc-IrU2eJms}!9DV8$v_w4uM*e0;D+CLaXcrRz0#M{@Nb(z*ai<~okvkcH4(Ng{|6b4{fB40dvT*L9cpWTs#V| zNlm{9J1@`S{`!@;)8eC7hP}hG9#-jUd$yVi8@3SZy;_4cvOZ(Oa@;%xZ!HnsFcE5g z`4Kn?pWB#!O4=Ie5kfuvh8}w9+T#)b=J;{=T{(zCgNQFq4}88*Jb!ms2My7r$QQpz z9G%6u2QaLbyrK<=dZ*2OAcmVzXEnoj1=Sn2Q literal 0 HcmV?d00001 diff --git a/source/gx/images/Load_md.png b/source/gx/images/Load_md.png new file mode 100644 index 0000000000000000000000000000000000000000..86dcf89113ae2c76d14dc65188b2fe35afa70b4e GIT binary patch literal 6767 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 LPqkXbD)RpTZ%F|& literal 0 HcmV?d00001 diff --git a/source/gx/images/Load_ms.png b/source/gx/images/Load_ms.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf17d0cc2806747d79c8f116d664187ae27de99 GIT binary patch literal 6537 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 al8cy?0L6+mDg%FofV9>1kkzWTvHt_N7i;$b literal 0 HcmV?d00001 diff --git a/source/gx/images/Load_recent.png b/source/gx/images/Load_recent.png index da552dfc37d974d455057d8d3e05077591615079..f97e5775b015d42378902aaa9d6f8cb3a337feb8 100644 GIT binary patch literal 5676 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 diff --git a/source/gx/images/Load_sg.png b/source/gx/images/Load_sg.png new file mode 100644 index 0000000000000000000000000000000000000000..52ad1672f32dae3645ec50e34b8c2546bf663f3c GIT binary patch literal 5378 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 by!C_qzQV}z{hOpeNWf6n1X_RBA^QISl8{so literal 0 HcmV?d00001 diff --git a/source/gx/images/Load_usb.png b/source/gx/images/Load_usb.png deleted file mode 100644 index bcb13e550c4d0e295a3b6febedbe92acd069c803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12587 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 literal 0 HcmV?d00001 diff --git a/source/gx/images/Main_ggenie.png b/source/gx/images/Main_ggenie.png deleted file mode 100644 index 40f0833799416c1ceaf1f69c958cd5c952845ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11165 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 LH5A^}6 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

    &p}DmESI>nB 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 A<^TWy literal 45584 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 #ifdef HW_RVL -#include #include #endif @@ -66,6 +65,46 @@ u32 ConfigRequested = 1; u32 frameticker; #ifdef HW_RVL + +/**************************************************************************** + * Force AHBPROT flags when IOS is reloaded + * Credits to DaveBaol for the original patch + ***************************************************************************/ +int Patch_IOS(void) +{ + /* full hardware access is initially required */ + if (read32(0xd800064) == 0xffffffff) + { + /* disable MEM2 protection */ + write16(0xd8b420a, 0); + + /* IOS area (top of MEM2, above IOS Heap area) */ + u8 *ptr_start = (u8*)*((u32*)0x80003134); + u8 *ptr_end = (u8*)0x94000000; + + /* Make sure start pointer is valid */ + if (((u32)ptr_start < 0x90000000) || (ptr_start >= ptr_end)) + { + /* use libogc default value (longer but safer) */ + ptr_start = (u8*) SYS_GetArena2Hi(); + } + + /* Search specific code pattern */ + const u8 es_set_ahbprot_pattern[] = { 0x68, 0x5B, 0x22, 0xEC, 0x00, 0x52, 0x18, 0x9B, 0x68, 0x1B, 0x46, 0x98, 0x07, 0xDB }; + while (ptr_start < (ptr_end - sizeof(es_set_ahbprot_pattern))) + { + if (!memcmp(ptr_start, es_set_ahbprot_pattern, sizeof(es_set_ahbprot_pattern))) + { + /* patch IOS (force AHBPROT bit to be set when launching titles) */ + ptr_start[25] = 0x01; + DCFlushRange(ptr_start + 25, 1); + } + ptr_start++; /* could be optimized ? not sure if pattern coincides with instruction start */ + } + } + return 0; +} + /**************************************************************************** * Power Button callback ***************************************************************************/ @@ -83,12 +122,12 @@ static void Reset_cb(void) { if (system_hw & SYSTEM_MD) { - /* SOFT-RESET */ + /* Soft Reset */ gen_reset(0); } else if (system_hw == SYSTEM_SMS) { - /* assert RESET input */ + /* assert RESET input (Master System model 1 only) */ io_reg[0x0D] &= ~IO_RESET_HI; } } @@ -97,34 +136,30 @@ static void Reset_cb(void) * Genesis Plus Virtual Machine * ***************************************************************************/ -static void load_bios(void) -{ - /* clear BIOS detection flag */ - config.tmss &= ~2; - - /* open BIOS file */ - FILE *fp = fopen(OS_ROM, "rb"); - if (fp == NULL) return; - - /* read file */ - fread(bios_rom, 1, 0x800, fp); - fclose(fp); - - /* check ROM file */ - if (!strncmp((char *)(bios_rom + 0x120),"GENESIS OS", 10)) - { - /* valid BIOS detected */ - config.tmss |= 2; - } -} - static void init_machine(void) { - /* allocate cart.rom here (10 MBytes) */ + /* allocate cartridge ROM here (10 MB) */ cart.rom = memalign(32, MAXROMSIZE); - /* BIOS support */ - load_bios(); + /* mark all BIOS as unloaded */ + config.bios &= 0x03; + + /* Genesis BOOT ROM support (2KB max) */ + memset(boot_rom, 0xFF, 0x800); + FILE *fp = fopen(MD_BIOS, "rb"); + if (fp != NULL) + { + /* read BOOT ROM */ + fread(boot_rom, 1, 0x800, fp); + fclose(fp); + + /* check BOOT ROM */ + if (!strncmp((char *)(boot_rom + 0x120),"GENESIS OS", 10)) + { + /* mark Genesis BIOS as loaded */ + config.bios |= SYSTEM_MD; + } + } /* allocate global work bitmap */ memset(&bitmap, 0, sizeof (bitmap)); @@ -138,14 +173,133 @@ static void init_machine(void) bitmap.data = texturemem; } +static void run_emulation(void) +{ + /* main emulation loop */ + while (1) + { + /* emulated system */ + if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) + { + /* Mega Drive type hardware */ + while (!ConfigRequested) + { + /* automatic frame skipping (only needed when running Virtua Racing on Gamecube) */ + if (frameticker > 1) + { + /* skip frame */ + system_frame_gen(1); + frameticker = 1; + } + else + { + /* render frame */ + frameticker = 0; + system_frame_gen(0); + + /* update video */ + gx_video_Update(); + } + + /* update audio */ + gx_audio_Update(); + + /* check interlaced mode change */ + if (bitmap.viewport.changed & 4) + { + /* VSYNC "original" mode */ + if (!config.render && (gc_pal == vdp_pal)) + { + /* framerate has changed, reinitialize audio timings */ + if (vdp_pal) + { + audio_init(SAMPLERATE_48KHZ, interlaced ? 50.00 : (1000000.0/19968.0)); + } + else + { + audio_init(SAMPLERATE_48KHZ, interlaced ? 59.94 : (1000000.0/16715.0)); + } + + /* reinitialize sound chips */ + sound_restore(); + } + + /* clear flag */ + bitmap.viewport.changed &= ~4; + } + + /* wait for next frame */ + while (frameticker < 1) usleep(1); + } + } + else + { + /* Master System type hardware */ + while (!ConfigRequested) + { + /* render frame (no frameskipping needed) */ + frameticker = 0; + system_frame_sms(0); + + /* update video */ + gx_video_Update(); + + /* update audio */ + gx_audio_Update(); + + /* check interlaced mode change */ + if (bitmap.viewport.changed & 4) + { + /* VSYNC "original" mode */ + if (!config.render && (gc_pal == vdp_pal)) + { + /* framerate has changed, reinitialize audio timings */ + if (vdp_pal) + { + audio_init(SAMPLERATE_48KHZ, interlaced ? 50.00 : (1000000.0/19968.0)); + } + else + { + audio_init(SAMPLERATE_48KHZ, interlaced ? 59.94 : (1000000.0/16715.0)); + } + + /* reinitialize sound chips */ + sound_restore(); + } + + /* clear flag */ + bitmap.viewport.changed &= ~4; + } + + /* wait for next frame */ + while (frameticker < 1) usleep(1); + } + } + + /* stop video & audio */ + gx_audio_Stop(); + gx_video_Stop(); + + /* show menu */ + ConfigRequested = 0; + mainmenu(); + + /* restart video & audio */ + gx_video_Start(); + gx_audio_Start(); + frameticker = 1; + } +} + /******************************************* Restart emulation when loading a new game ********************************************/ -static void reload(void) +void reloadrom(void) { /* Cartridge Hot Swap (make sure system has already been inited once) */ - if (config.hot_swap && snd.enabled) + if (config.hot_swap == 3) { + /* Initialize cartridge hardware only */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { md_cart_init(); @@ -177,6 +331,9 @@ static void reload(void) /* Switch virtual system on */ system_init(); system_reset(); + + /* Allow hot swap */ + config.hot_swap |= 2; } /* Auto-Load SRAM file */ @@ -195,81 +352,6 @@ static void reload(void) CheatLoad(); } -static void run_emulation(void) -{ - /* main emulation loop */ - while (1) - { - /* Main Menu request */ - if (ConfigRequested) - { - /* stop video & audio */ - gx_audio_Stop(); - gx_video_Stop(); - - /* show menu */ - ConfigRequested = 0; - if (menu_execute()) - { - /* new ROM has been loaded */ - reload(); - } - - /* start video & audio */ - gx_video_Start(); - gx_audio_Start(); - frameticker = 1; - } - - /* automatic frame skipping (only necessary for Virtua Racing in Gamecube mode) */ - if (frameticker > 1) - { - /* skip frame */ - system_frame(1); - frameticker = 1; - } - else - { - /* render frame */ - frameticker = 0; - system_frame(0); - - /* update video */ - gx_video_Update(); - } - - /* update audio */ - gx_audio_Update(); - - /* check interlaced mode change */ - if (bitmap.viewport.changed & 4) - { - /* VSYNC "original" mode */ - if (!config.render && (gc_pal == vdp_pal)) - { - /* framerate has changed, reinitialize audio timings */ - if (vdp_pal) - { - audio_init(SAMPLERATE_48KHZ, interlaced ? 50.00 : (1000000.0/19968.0)); - } - else - { - audio_init(SAMPLERATE_48KHZ, interlaced ? 59.94 : (1000000.0/16715.0)); - } - - /* reinitialize sound chips */ - sound_restore(); - } - - /* clear flag */ - bitmap.viewport.changed &= ~4; - } - - /* wait for next frame */ - while (frameticker < 1) usleep(1); - } -} - /************************************************** Shutdown everything properly ***************************************************/ @@ -301,7 +383,19 @@ void shutdown(void) ***************************************************************************/ int main (int argc, char *argv[]) { -#ifdef HW_RVL + #ifdef HW_RVL + /* Temporary fix for HBC bug when using no_ios_reload with no connected network */ + /* Try to patch current IOS to force AHBPROT flags being set on reload */ + if (Patch_IOS()) + { + /* reload IOS (full hardware access should now be preserved after reload) */ + IOS_ReloadIOS(IOS_GetVersion()); + + /* enable DVD video commands */ + write32(0xd800180, read32(0xd800180) & ~0x00200000); + usleep(200000); + } + /* enable 64-byte fetch mode for L2 cache */ L2Enhance(); @@ -422,11 +516,11 @@ int main (int argc, char *argv[]) if (config.autoload) { SILENT = 1; - if (OpenDirectory(TYPE_RECENT)) + if (OpenDirectory(TYPE_RECENT, -1)) { if (LoadFile(0)) { - reload(); + reloadrom(); gx_video_Start(); gx_audio_Start(); frameticker = 1; diff --git a/source/gx/osd.h b/source/gx/osd.h index cd549ba..54806c1 100644 --- a/source/gx/osd.h +++ b/source/gx/osd.h @@ -12,6 +12,7 @@ #include #include #include +#include #ifdef HW_RVL #include @@ -27,22 +28,23 @@ #define DEFAULT_PATH "/genplus" #define GG_ROM "/genplus/ggenie.bin" #define AR_ROM "/genplus/areplay.bin" -#define OS_ROM "/genplus/bios.bin" #define SK_ROM "/genplus/sk.bin" #define SK_UPMEM "/genplus/sk2chip.bin" +#define MD_BIOS "/genplus/bios.bin" +#define MS_BIOS "/genplus/bios.sms" +#define GG_BIOS "/genplus/bios.gg" #ifdef HW_RVL -#define VERSION "Genesis Plus GX 1.6.0 (WII)" +#define VERSION "Genesis Plus GX 1.6.1 (WII)" #else -#define VERSION "Genesis Plus GX 1.6.0 (GCN)" +#define VERSION "Genesis Plus GX 1.6.1 (GCN)" #endif #define osd_input_Update() gx_input_UpdateEmu() /* globals */ -extern void error(char *format, ...); extern void legal(void); -extern void reloadrom (char *name); +extern void reloadrom(void); extern void shutdown(void); extern u32 frameticker; extern u32 Shutdown; diff --git a/source/io_ctrl.c b/source/io_ctrl.c index f046024..ec41ecc 100644 --- a/source/io_ctrl.c +++ b/source/io_ctrl.c @@ -256,7 +256,7 @@ void io_reset(void) /* Reset I/O registers */ if (system_hw == SYSTEM_MD) { - io_reg[0x00] = 0x20 | region_code | (config.tmss & 1); + io_reg[0x00] = region_code | 0x20 | (config.bios & 1); io_reg[0x01] = 0x00; io_reg[0x02] = 0x00; io_reg[0x03] = 0x00; @@ -429,24 +429,11 @@ void io_z80_write(unsigned int offset, unsigned int data, unsigned int cycles) } else { - /* Memory Control register */ - if (data & 0x40) - { - /* Assume only BIOS would disable Cartridge ROM */ - if (data & 0x08) - { - /* BIOS ROM disabled */ - sms_cart_switch(0); - } - else - { - /* BIOS ROM enabled */ - sms_cart_switch(1); - } - } - /* Update Memory Control register */ io_reg[0x0E] = data; + + /* Switch cartridge & BIOS ROM */ + sms_cart_switch(~data); } } diff --git a/source/shared.h b/source/shared.h index 5171f58..f215db1 100644 --- a/source/shared.h +++ b/source/shared.h @@ -3,7 +3,6 @@ #include #include -#include #include "types.h" #include "macros.h" diff --git a/source/state.c b/source/state.c index 1c935ea..fad6945 100644 --- a/source/state.c +++ b/source/state.c @@ -38,20 +38,9 @@ #include "shared.h" -int state_load(unsigned char *buffer) +int state_load(unsigned char *state) { - /* buffer size */ - int bufferptr = 0; - - /* first allocate state buffer */ - unsigned char *state = (unsigned char *)malloc(STATE_SIZE); - if (!state) return 0; - - /* uncompress savestate */ - unsigned long inbytes, outbytes; - memcpy(&inbytes, buffer, 4); - outbytes = STATE_SIZE; - uncompress ((Bytef *)state, &outbytes, (Bytef *)(buffer + 4), inbytes); + int i, bufferptr = 0; /* signature check (GENPLUS-GX x.x.x) */ char version[17]; @@ -59,21 +48,30 @@ int state_load(unsigned char *buffer) version[16] = 0; if (strncmp(version,STATE_VERSION,11)) { - free(state); return -1; } - /* version check (1.5.0 and above) */ - if ((version[11] < 0x31) || ((version[11] == 0x31) && (version[13] < 0x35))) + /* version check (1.6.0 and above) */ + if ((version[11] < 0x31) || ((version[11] == 0x31) && (version[13] < 0x36))) { - free(state); return -1; } /* reset system */ system_reset(); - // GENESIS + /* enable VDP access for TMSS systems */ + for (i=0xc0; i<0xe0; i+=8) + { + m68k_memory_map[i].read8 = vdp_read_byte; + m68k_memory_map[i].read16 = vdp_read_word; + m68k_memory_map[i].write8 = vdp_write_byte; + m68k_memory_map[i].write16 = vdp_write_word; + zbank_memory_map[i].read = zbank_read_vdp; + zbank_memory_map[i].write = zbank_write_vdp; + } + + /* GENESIS */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { load_param(work_ram, sizeof(work_ram)); @@ -100,28 +98,34 @@ int state_load(unsigned char *buffer) load_param(work_ram, 0x2000); } - /* extended state */ + /* CPU cycles */ load_param(&mcycles_68k, sizeof(mcycles_68k)); load_param(&mcycles_z80, sizeof(mcycles_z80)); - // IO + /* IO */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { load_param(io_reg, sizeof(io_reg)); - io_reg[0] = region_code | 0x20 | (config.tmss & 1); + io_reg[0] = region_code | 0x20 | (config.bios & 1); } else { + /* 1.6.1 specific (keep support for previous state format) */ + if ((version[11] == 0x31) && (version[13] == 0x36) && (version[15] == 0x31)) + { + load_param(&io_reg[0x0E], 1); + } + load_param(&io_reg[0x0F], 1); } - // VDP - bufferptr += vdp_context_load(&state[bufferptr], version); + /* VDP */ + bufferptr += vdp_context_load(&state[bufferptr]); - // SOUND - bufferptr += sound_context_load(&state[bufferptr], version); + /* SOUND */ + bufferptr += sound_context_load(&state[bufferptr]); - // 68000 + /* 68000 */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { uint16 tmp16; @@ -147,11 +151,11 @@ int state_load(unsigned char *buffer) load_param(&tmp32, 4); m68k_set_reg(M68K_REG_USP,tmp32); } - // Z80 + /* Z80 */ load_param(&Z80, sizeof(Z80_Regs)); Z80.irq_callback = z80_irq_callback; - // Cartridge HW + /* Cartridge HW */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { bufferptr += md_cart_context_load(&state[bufferptr]); @@ -159,27 +163,28 @@ int state_load(unsigned char *buffer) else { bufferptr += sms_cart_context_load(&state[bufferptr]); + + /* 1.6.1 specific (keep support for previous state format) */ + if ((version[11] == 0x31) && (version[13] == 0x36) && (version[15] == 0x31)) + { + sms_cart_switch(~io_reg[0x0E]); + } } - free(state); return 1; } -int state_save(unsigned char *buffer) +int state_save(unsigned char *state) { /* buffer size */ int bufferptr = 0; - /* first allocate state buffer */ - unsigned char *state = (unsigned char *)malloc(STATE_SIZE); - if (!state) return 0; - /* version string */ char version[16]; strncpy(version,STATE_VERSION,16); save_param(version, 16); - // GENESIS + /* GENESIS */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { save_param(work_ram, sizeof(work_ram)); @@ -191,26 +196,29 @@ int state_save(unsigned char *buffer) { save_param(work_ram, 0x2000); } + + /* CPU cycles */ save_param(&mcycles_68k, sizeof(mcycles_68k)); save_param(&mcycles_z80, sizeof(mcycles_z80)); - // IO + /* IO */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { save_param(io_reg, sizeof(io_reg)); } else { + save_param(&io_reg[0x0E], 1); save_param(&io_reg[0x0F], 1); } - // VDP + /* VDP */ bufferptr += vdp_context_save(&state[bufferptr]); - // SOUND + /* SOUND */ bufferptr += sound_context_save(&state[bufferptr]); - // 68000 + /* 68000 */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { uint16 tmp16; @@ -236,10 +244,10 @@ int state_save(unsigned char *buffer) tmp32 = m68k_get_reg(M68K_REG_USP); save_param(&tmp32, 4); } - // Z80 + /* Z80 */ save_param(&Z80, sizeof(Z80_Regs)); - // Cartridge HW + /* Cartridge HW */ if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { bufferptr += md_cart_context_save(&state[bufferptr]); @@ -249,13 +257,6 @@ int state_save(unsigned char *buffer) bufferptr += sms_cart_context_save(&state[bufferptr]); } - /* compress state file */ - unsigned long inbytes = bufferptr; - unsigned long outbytes = STATE_SIZE; - compress2 ((Bytef *)(buffer + 4), &outbytes, (Bytef *)state, inbytes, 9); - memcpy(buffer, &outbytes, 4); - free(state); - /* return total size */ - return (outbytes + 4); + return bufferptr; } diff --git a/source/state.h b/source/state.h index f21497f..d15b0ea 100644 --- a/source/state.h +++ b/source/state.h @@ -40,7 +40,7 @@ #define _STATE_H_ #define STATE_SIZE 0x48100 -#define STATE_VERSION "GENPLUS-GX 1.6.0" +#define STATE_VERSION "GENPLUS-GX 1.6.1" #define load_param(param, size) \ memcpy(param, &state[bufferptr], size); \ @@ -51,7 +51,7 @@ bufferptr+= size; /* Function prototypes */ -extern int state_load(unsigned char *buffer); -extern int state_save(unsigned char *buffer); +extern int state_load(unsigned char *state); +extern int state_save(unsigned char *state); #endif diff --git a/source/system.c b/source/system.c index a8e107e..19b8c87 100644 --- a/source/system.c +++ b/source/system.c @@ -49,11 +49,9 @@ t_snd snd; uint32 mcycles_vdp; uint32 mcycles_z80; uint32 mcycles_68k; +int16 SVP_cycles = 800; uint8 system_hw; -void (*system_frame)(int do_skip); -static void system_frame_gen(int do_skip); -static void system_frame_sms(int do_skip); static uint8 pause_b; static EQSTATE eq; static int32 llp,rrp; @@ -62,7 +60,7 @@ static int32 llp,rrp; * Audio subsystem ****************************************************************/ -int audio_init (int samplerate, float framerate) +int audio_init(int samplerate, float framerate) { /* Shutdown first */ audio_shutdown(); @@ -77,11 +75,11 @@ int audio_init (int samplerate, float framerate) /* Calculate the sound buffer size (for one frame) */ snd.buffer_size = (int)(samplerate / framerate) + 32; - /* SN76489 stream buffers */ + /* SN76489 stream buffer */ snd.psg.buffer = (int16 *) malloc(snd.buffer_size * sizeof(int16)); if (!snd.psg.buffer) return (-1); - /* YM2612 stream buffers */ + /* YM2612 stream buffer */ snd.fm.buffer = (int32 *) malloc(snd.buffer_size * sizeof(int32) * 2); if (!snd.fm.buffer) return (-1); @@ -149,7 +147,7 @@ void audio_shutdown(void) Fir_Resampler_shutdown(); } -int audio_update (void) +int audio_update(void) { int32 i, l, r; int32 ll = llp; @@ -234,8 +232,8 @@ int audio_update (void) /* update sound buffer */ #ifndef NGC - snd.buffer[0][i] = r; - snd.buffer[1][i] = l; + snd.buffer[0][i] = l; + snd.buffer[1][i] = r; #else *sb++ = r; *sb++ = l; @@ -267,22 +265,6 @@ void system_init(void) vdp_init(); render_init(); sound_init(); - - switch (system_hw) - { - case SYSTEM_MD: - case SYSTEM_PICO: - { - system_frame = system_frame_gen; - break; - } - - default: - { - system_frame = system_frame_sms; - break; - } - } } /**************************************************************** @@ -304,10 +286,10 @@ void system_shutdown (void) SN76489_Shutdown(); } -static void system_frame_gen(int do_skip) +void system_frame_gen(int do_skip) { - /* line counter */ - int line = 0; + /* line counters */ + int start, end, line = 0; /* Z80 interrupt flag */ int zirq = 1; @@ -331,11 +313,10 @@ static void system_frame_gen(int do_skip) /* display changed during VBLANK */ if (bitmap.viewport.changed & 2) { - bitmap.viewport.changed &= ~2; - /* interlaced modes */ - int old_interlaced = interlaced; + int old_interlaced = interlaced; interlaced = (reg[12] & 0x02) >> 1; + if (old_interlaced != interlaced) { /* double resolution mode */ @@ -362,6 +343,11 @@ static void system_frame_gen(int do_skip) } } } + else + { + /* clear flag */ + bitmap.viewport.changed &= ~2; + } /* active screen height */ if (reg[1] & 0x04) @@ -494,8 +480,8 @@ static void system_frame_gen(int do_skip) status |= 0x08; /* overscan area */ - int start = lines_per_frame - bitmap.viewport.y; - int end = bitmap.viewport.h + bitmap.viewport.y; + start = lines_per_frame - bitmap.viewport.y; + end = bitmap.viewport.h + bitmap.viewport.y; /* check viewport changes */ if ((bitmap.viewport.w != bitmap.viewport.ow) || (bitmap.viewport.h != bitmap.viewport.oh)) @@ -646,10 +632,10 @@ static void system_frame_gen(int do_skip) } -static void system_frame_sms(int do_skip) +void system_frame_sms(int do_skip) { /* line counter */ - int line = 0; + int start, end, line = 0; /* reload H Counter */ int h_counter = reg[10]; @@ -774,7 +760,7 @@ static void system_frame_sms(int do_skip) } /* 3-D glasses faking: skip rendering of left lens frame */ - do_skip |= (work_ram[0x1ffb] & cart.special); + do_skip |= (work_ram[0x1ffb] & cart.special & HW_3D_GLASSES); /* Mega Drive VDP specific */ if (system_hw & SYSTEM_MD) @@ -894,8 +880,8 @@ static void system_frame_sms(int do_skip) } /* overscan area */ - int start = lines_per_frame - bitmap.viewport.y; - int end = bitmap.viewport.h + bitmap.viewport.y; + start = lines_per_frame - bitmap.viewport.y; + end = bitmap.viewport.h + bitmap.viewport.y; /* check viewport changes */ if ((bitmap.viewport.w != bitmap.viewport.ow) || (bitmap.viewport.h != bitmap.viewport.oh)) diff --git a/source/system.h b/source/system.h index 10a469f..6e153c4 100644 --- a/source/system.h +++ b/source/system.h @@ -104,6 +104,7 @@ extern t_snd snd; extern uint32 mcycles_z80; extern uint32 mcycles_68k; extern uint32 mcycles_vdp; +extern int16 SVP_cycles; extern uint8 system_hw; /* Function prototypes */ @@ -115,7 +116,8 @@ extern void audio_set_equalizer(void); extern void system_init(void); extern void system_reset(void); extern void system_shutdown(void); -extern void (*system_frame)(int do_skip); +extern void system_frame_gen(int do_skip); +extern void system_frame_sms(int do_skip); #endif /* _SYSTEM_H_ */ diff --git a/source/win/config.c b/source/win/config.c index 23fcfc9..2884655 100644 --- a/source/win/config.c +++ b/source/win/config.c @@ -29,9 +29,8 @@ void set_config_defaults(void) config.region_detect = 0; /* = AUTO (1 = USA, 2 = EUROPE, 3 = JAPAN/NTSC, 4 = JAPAN/PAL) */ config.force_dtack = 0; config.addr_error = 1; - config.tmss = 0; + config.bios = 0; config.lock_on = 0; /* = OFF (can be TYPE_SK, TYPE_GG & TYPE_AR) */ - config.romtype = 0; /* ROM mirroring type (see md_cart_hw.c) */ /* display options */ config.overscan = 3; /* = both ON (0 = no borders , 1 = vertical borders only, 2 = horizontal borders only) */ diff --git a/source/win/config.h b/source/win/config.h index fb2a61a..9125eca 100644 --- a/source/win/config.h +++ b/source/win/config.h @@ -32,9 +32,9 @@ typedef struct uint8 force_dtack; uint8 addr_error; uint8 tmss; + uint8 bios; uint8 lock_on; uint8 hot_swap; - uint8 romtype; uint8 invert_mouse; uint8 gun_cursor[2]; uint8 overscan; diff --git a/source/win/error.c b/source/win/error.c index f914457..c731b30 100644 --- a/source/win/error.c +++ b/source/win/error.c @@ -5,7 +5,7 @@ #include "osd.h" -FILE *error_log; +static FILE *error_log; void error_init(void) { @@ -16,15 +16,20 @@ void error_init(void) void error_shutdown(void) { +#ifdef LOGERROR if(error_log) fclose(error_log); +#endif } void error(char *format, ...) { - if (!log_error) return; - va_list ap; - va_start(ap, format); - if(error_log) vfprintf(error_log, format, ap); - va_end(ap); +#ifdef LOGERROR + if (log_error) + { + va_list ap; + va_start(ap, format); + if(error_log) vfprintf(error_log, format, ap); + va_end(ap); + } +#endif } - diff --git a/source/win/error.h b/source/win/error.h index 1d5b270..b38883d 100644 --- a/source/win/error.h +++ b/source/win/error.h @@ -1,13 +1,10 @@ - #ifndef _ERROR_H_ #define _ERROR_H_ -/* Global variables */ -FILE *error_log; - /* Function prototypes */ void error_init(void); void error_shutdown(void); void error(char *format, ...); #endif /* _ERROR_H_ */ + diff --git a/source/win/fileio.c b/source/win/fileio.c index e1a9f13..737dcd6 100644 --- a/source/win/fileio.c +++ b/source/win/fileio.c @@ -44,6 +44,9 @@ #include #include +static int check_zip(char *filename); +static int gzsize(gzFile *gd); + int load_archive(char *filename) { int size = 0; @@ -147,7 +150,7 @@ int load_archive(char *filename) Verifies if a file is a ZIP archive or not. Returns: 1= ZIP archive, 0= not a ZIP archive */ -int check_zip(char *filename) +static int check_zip(char *filename) { uint8 buf[2]; FILE *fd = fopen(filename, "rb"); @@ -162,7 +165,7 @@ int check_zip(char *filename) /* Returns the size of a GZ compressed file. */ -int gzsize(gzFile *gd) +static int gzsize(gzFile *gd) { #define CHUNKSIZE (0x10000) int size = 0, length = 0; diff --git a/source/win/fileio.h b/source/win/fileio.h index ef7d7c3..16bf9a7 100644 --- a/source/win/fileio.h +++ b/source/win/fileio.h @@ -43,8 +43,6 @@ #define _FILEIO_H_ /* Function prototypes */ -int load_archive(char *filename); -int check_zip(char *filename); -int gzsize(gzFile *gd); +extern int load_archive(char *filename); #endif /* _FILEIO_H_ */ diff --git a/source/win/main.c b/source/win/main.c index 9329068..03a021f 100644 --- a/source/win/main.c +++ b/source/win/main.c @@ -144,7 +144,14 @@ static int sdl_video_init() static void sdl_video_update() { - system_frame(0); + if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) + { + system_frame_gen(0); + } + else + { + system_frame_sms(0); + } /* viewport size changed */ if(bitmap.viewport.changed & 1) @@ -240,8 +247,8 @@ struct { static Uint32 sdl_sync_timer_callback(Uint32 interval) { - SDL_SemPost(sdl_sync.sem_sync); char caption[100]; + SDL_SemPost(sdl_sync.sem_sync); sdl_sync.ticks++; if (sdl_sync.ticks == (vdp_pal ? 50 : 20)) { @@ -302,7 +309,10 @@ static int sdl_control_update(SDLKey keystate) case SDLK_F3: { - config.render ^=1; + int temp = config.bios & 3; + config.bios &= ~3; + if (temp == 0) config.bios |= 3; + else if (temp == 3) config.bios |= 1; break; } @@ -352,14 +362,11 @@ static int sdl_control_update(SDLKey keystate) case SDLK_F9: { - vdp_pal ^= 1; - - /* reset region code */ - region_code &= ~0x40; - region_code |= (vdp_pal << 6); + config.region_detect = (config.region_detect + 1) % 5; + region_autodetect(); if (system_hw == SYSTEM_MD) { - io_reg[0x00] = 0x20 | region_code | (config.tmss & 1); + io_reg[0x00] = 0x20 | region_code | (config.bios & 1); } else { @@ -369,9 +376,6 @@ static int sdl_control_update(SDLKey keystate) /* reinitialize audio timings */ audio_init(snd.sample_rate, snd.frame_rate); - /* reinitialize sound emulation */ - sound_restore(); - /* reintialize VDP */ vdp_init(); @@ -380,7 +384,7 @@ static int sdl_control_update(SDLKey keystate) { status = (status & ~1) | vdp_pal; } - + /* reinitialize VC max value */ switch (bitmap.viewport.h) { @@ -395,8 +399,8 @@ static int sdl_control_update(SDLKey keystate) break; } - /* reinitialize display area */ - bitmap.viewport.changed = 3; + /* reinitialize sound emulation */ + sound_restore(); break; } @@ -636,6 +640,7 @@ int sdl_input_update(void) int main (int argc, char **argv) { + FILE *fp; int running = 1; /* Print help if no game specified */ @@ -662,23 +667,37 @@ int main (int argc, char **argv) exit(1); } - /* load BIOS */ - memset(bios_rom, 0, sizeof(bios_rom)); - FILE *f = fopen(OS_ROM, "rb"); - if (f!=NULL) + /* mark all BIOS as unloaded */ + config.bios &= 0x01; + + /* Genesis BOOT ROM support (2KB max) */ + memset(boot_rom, 0xFF, 0x800); + fp = fopen(MD_BIOS, "rb"); + if (fp != NULL) { - fread(&bios_rom, 0x800,1,f); - fclose(f); int i; - for(i = 0; i < 0x800; i += 2) + + /* read BOOT ROM */ + fread(boot_rom, 1, 0x800, fp); + fclose(fp); + + /* check BOOT ROM */ + if (!strncmp((char *)(boot_rom + 0x120),"GENESIS OS", 10)) { - uint8 temp = bios_rom[i]; - bios_rom[i] = bios_rom[i+1]; - bios_rom[i+1] = temp; + /* mark Genesis BIOS as loaded */ + config.bios |= SYSTEM_MD; + } + + /* Byteswap ROM */ + for (i=0; i<0x800; i+=2) + { + uint8 temp = boot_rom[i]; + boot_rom[i] = boot_rom[i+1]; + boot_rom[i+1] = temp; } - config.tmss |= 2; } + /* initialize SDL */ if(SDL_Init(0) < 0) { @@ -714,11 +733,11 @@ int main (int argc, char **argv) system_init(); /* load SRAM */ - f = fopen("./game.srm", "rb"); - if (f!=NULL) + fp = fopen("./game.srm", "rb"); + if (fp!=NULL) { - fread(sram.sram,0x10000,1, f); - fclose(f); + fread(sram.sram,0x10000,1, fp); + fclose(fp); } /* reset emulation */ @@ -759,11 +778,11 @@ int main (int argc, char **argv) } /* save SRAM */ - f = fopen("./game.srm", "wb"); - if (f!=NULL) + fp = fopen("./game.srm", "wb"); + if (fp!=NULL) { - fwrite(sram.sram,0x10000,1, f); - fclose(f); + fwrite(sram.sram,0x10000,1, fp); + fclose(fp); } system_shutdown(); diff --git a/source/win/main.h b/source/win/main.h index e2e531f..dfa5d8d 100644 --- a/source/win/main.h +++ b/source/win/main.h @@ -6,5 +6,6 @@ extern int debug_on; extern int log_error; +extern int sdl_input_update(void); #endif /* _MAIN_H_ */ diff --git a/source/win/osd.h b/source/win/osd.h index 2ec2e2d..2e94114 100644 --- a/source/win/osd.h +++ b/source/win/osd.h @@ -22,8 +22,10 @@ #define GG_ROM "./ggenie.bin" #define AR_ROM "./areplay.bin" -#define OS_ROM "./bios.bin" #define SK_ROM "./sk.bin" #define SK_UPMEM "./sk2chip.bin" +#define MD_BIOS "./bios.bin" +#define MS_BIOS "./bios.sms" +#define GG_BIOS "./bios.gg" #endif /* _OSD_H_ */