diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-01-21 13:54:33 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-01-21 13:54:33 +0300 |
commit | 1be67b3d6f8b9e39848b13f373e627828d45ecf7 (patch) | |
tree | 8aef85fe6be0244788591c9dedc234bfe790e163 | |
parent | dd15a04544f311ca5debc7b5820eb7d2648274d6 (diff) |
Mappers #79 and #146
-rw-r--r-- | CoolGirl_config.vh | 2 | ||||
-rw-r--r-- | CoolGirl_mappers.vh | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/CoolGirl_config.vh b/CoolGirl_config.vh index 78fe1c5..73de52a 100644 --- a/CoolGirl_config.vh +++ b/CoolGirl_config.vh @@ -22,6 +22,7 @@ parameter ENABLE_MAPPER_071 = 1, // mapper #071 - Camerica: for Fire parameter ENABLE_MAPPER_073 = 0, // mapper #073 - VRC3 parameter ENABLE_MAPPER_075 = 0, // mapper #075 - VRC1 parameter ENABLE_MAPPER_078 = 1, // mapper #078 - Irem: Holy Diver and Uchuusen - Cosmo Carrier +parameter ENABLE_MAPPER_079_113_146 = 1, // mappers #079, #113, #146 - NINA-03/06 and Sachen 3015
parameter ENABLE_MAPPER_087 = 1, // mapper #087 - Jaleco parameter ENABLE_MAPPER_090 = 1, // mapper #090 - JY (partical support): Aladdin only parameter ENABLE_MAPPER_090_ACCURATE_IRQ = 0,// mapper #090 accurate IRQs: for Super Mario World @@ -29,7 +30,6 @@ parameter ENABLE_MAPPER_090_MULTIPLIER = 0, // mapper #090 multiplier: for Supe parameter ENABLE_MAPPER_093 = 1, // mapper #093 - Sunsoft-2: Shanghai, Fantasy Zone parameter ENABLE_MAPPER_097 = 0, // mapper #097 - Irem's TAM-S1: only Kaiketsu Yanchamaru parameter ENABLE_MAPPER_112 = 0, // mapper #112 - NTDEC -parameter ENABLE_MAPPER_113 = 0, // mapper #113 - NINA-03/06 parameter ENABLE_MAPPER_118 = 1, // mapper #118 - TxSROM parameter ENABLE_MAPPER_133 = 0, // mapper #133 - Sachen, 72-pin version only parameter ENABLE_MAPPER_152 = 1, // mapper #152 - Bandai diff --git a/CoolGirl_mappers.vh b/CoolGirl_mappers.vh index 463a06b..71b1785 100644 --- a/CoolGirl_mappers.vh +++ b/CoolGirl_mappers.vh @@ -485,15 +485,16 @@ begin end end - // Mapper #113 - NINA-03/06 - if (ENABLE_MAPPER_113 && (mapper == 6'b011011)) + // Mappers NINA-03/06 and Sachen 3015: #113 (flag0 = 0), #79 and #146 (flag0 = 1) + if (ENABLE_MAPPER_079_113_146 && (mapper == 6'b011011)) begin if ({cpu_addr_in[14:13], cpu_addr_in[8]} == 3'b101) begin // That is, $4100-$41FF, $4300-$43FF, $45xx, $47xx, ..., $5Dxx, and $5Fxx. chr_bank_a[5:3] <= cpu_data_in[2:0]; - prg_bank_a[4:2] <= cpu_data_in[5:3]; - mirroring <= {1'b0, ~cpu_data_in[7]}; + prg_bank_a[4:2] <= cpu_data_in[5:3];
+ if (!flags[0]) + mirroring <= {1'b0, ~cpu_data_in[7]}; end end @@ -908,7 +909,7 @@ begin end 3'b010: if (!ENABLE_MAPPER_206 | ~flags[2]) // disabled for mapper #206 mirroring <= {1'b0, cpu_data_in[0]}; // $A000-$BFFE, even (mirroring) - 3'b011: ; // RAM protect... no + 3'b011: ; // RAM protect... no 3'b100: mmc3_irq_latch <= cpu_data_in; // $C000-$DFFE, even (IRQ latch) 3'b101: mmc3_irq_reload <= 1; // $C001-$DFFF, odd 3'b110: mmc3_irq_enabled <= 0; // $E000-$FFFE, even @@ -1157,7 +1158,7 @@ begin map_rom_on_6000 <= 1; end - // Mapper #75 - VRC1 + // Mapper #75 - VRC1 if (ENABLE_MAPPER_075 && (mapper == 6'b100010)) begin case (cpu_addr_in[14:12]) |