@@ -210,6 +210,8 @@ static void UNROM512HSync(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void UNROM512_Init(CartInfo *info) {
|
void UNROM512_Init(CartInfo *info) {
|
||||||
|
int mirror;
|
||||||
|
|
||||||
memset(fceumm_flash_buf, 0x00, fceumm_flash_buf_size);
|
memset(fceumm_flash_buf, 0x00, fceumm_flash_buf_size);
|
||||||
flash_state = 0;
|
flash_state = 0;
|
||||||
flash_bank = 0;
|
flash_bank = 0;
|
||||||
@@ -222,7 +224,21 @@ void UNROM512_Init(CartInfo *info) {
|
|||||||
else
|
else
|
||||||
chrram_mask = 0x60;
|
chrram_mask = 0x60;
|
||||||
|
|
||||||
SetupCartMirroring(info->mirror, (info->mirror >= MI_0) ? 0 : 1, 0);
|
mirror = (head.ROM_type & 1) | ((head.ROM_type & 8) >> 2);
|
||||||
|
switch (mirror) {
|
||||||
|
case 0: // hard horizontal, internal
|
||||||
|
SetupCartMirroring(MI_H, 1, NULL);
|
||||||
|
break;
|
||||||
|
case 1: // hard vertical, internal
|
||||||
|
SetupCartMirroring(MI_V, 1, NULL);
|
||||||
|
break;
|
||||||
|
case 2: // switchable 1-screen, internal (flags: 4-screen + horizontal)
|
||||||
|
SetupCartMirroring(MI_0, 0, NULL);
|
||||||
|
break;
|
||||||
|
case 3: // hard four screen, last 8k of 32k RAM (flags: 4-screen + vertical)
|
||||||
|
SetupCartMirroring(4, 1, VROM + (info->vram_size - 8192));
|
||||||
|
break;
|
||||||
|
}
|
||||||
bus_conflict = !info->battery;
|
bus_conflict = !info->battery;
|
||||||
latcheinit = 0;
|
latcheinit = 0;
|
||||||
WLSync = UNROM512LSync;
|
WLSync = UNROM512LSync;
|
||||||
|
|||||||
@@ -22,9 +22,6 @@
|
|||||||
#ifndef _FCEU_INES_H
|
#ifndef _FCEU_INES_H
|
||||||
#define _FCEU_INES_H
|
#define _FCEU_INES_H
|
||||||
|
|
||||||
extern uint32 ROM_size;
|
|
||||||
extern uint32 VROM_size;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char ID[4]; /*NES^Z*/
|
char ID[4]; /*NES^Z*/
|
||||||
uint8 ROM_size;
|
uint8 ROM_size;
|
||||||
@@ -34,6 +31,12 @@ typedef struct {
|
|||||||
uint8 reserve[8];
|
uint8 reserve[8];
|
||||||
} iNES_HEADER;
|
} iNES_HEADER;
|
||||||
|
|
||||||
|
extern uint8 *ROM;
|
||||||
|
extern uint8 *VROM;
|
||||||
|
extern uint32 ROM_size;
|
||||||
|
extern uint32 VROM_size;
|
||||||
|
extern iNES_HEADER head;
|
||||||
|
|
||||||
void NSFVRC6_Init(void);
|
void NSFVRC6_Init(void);
|
||||||
void NSFMMC5_Init(void);
|
void NSFMMC5_Init(void);
|
||||||
void NSFAY_Init(void);
|
void NSFAY_Init(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user