mirror of
https://github.com/holub/mame
synced 2025-10-07 17:27:06 +03:00
Cleanups and version bump.
This commit is contained in:
parent
cf63e2baa8
commit
5123b07115
@ -8,10 +8,10 @@
|
|||||||
|
|
||||||
// NOTES For register setting:
|
// NOTES For register setting:
|
||||||
// FM.3-4 : When A2 or B2 is read, the register contents occupy the low-order portion
|
// FM.3-4 : When A2 or B2 is read, the register contents occupy the low-order portion
|
||||||
// (bits 7-0) of the word; the high-order portion (bits 16-8) is sign-extended. When A2 or B2
|
// (bits 7-0) of the word; the high-order portion (bits 16-8) is sign-extended. When A2 or B2
|
||||||
// is written, the register receives the low-order portion of the word; the high-order portion is not used
|
// is written, the register receives the low-order portion of the word; the high-order portion is not used
|
||||||
// : ...much more!
|
// : ...much more!
|
||||||
// : ...shifter/limiter/overflow notes too.
|
// : ...shifter/limiter/overflow notes too.
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ static void pcu_reset(void)
|
|||||||
IPR = 0x0000;
|
IPR = 0x0000;
|
||||||
|
|
||||||
// FM.5-4
|
// FM.5-4
|
||||||
// I_bits_set(0x03); This is what the manual says, but i'm dubious! Polygonet's HI interrupt wouldn't happen with the I bits set.
|
// I_bits_set(0x03); This is what the manual says, but i'm dubious! Polygonet's HI interrupt wouldn't happen with the I bits set.
|
||||||
I_bits_set(0x00);
|
I_bits_set(0x00);
|
||||||
S_bits_set(0);
|
S_bits_set(0);
|
||||||
L_bit_set(0);
|
L_bit_set(0);
|
||||||
|
@ -142,7 +142,7 @@ static WRITE8_HANDLER( unknown_port_w )
|
|||||||
{
|
{
|
||||||
// Writes to $00/$02/$00
|
// Writes to $00/$02/$00
|
||||||
// Values:
|
// Values:
|
||||||
// $04/$09/$0F
|
// $04/$09/$0F
|
||||||
// $04/$0E/$0F
|
// $04/$0E/$0F
|
||||||
// $04/ /$0F
|
// $04/ /$0F
|
||||||
}
|
}
|
||||||
|
@ -344,12 +344,12 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
|
||||||
The current Neo-Geo MVS system set (SFIX/SM1/000-LO) used is from a NEO-MVH MV1FS board.
|
The current Neo-Geo MVS system set (SFIX/SM1/000-LO) used is from a NEO-MVH MV1FS board.
|
||||||
Other boards (MV1xx / MV2x / MV4 /MV6) other system sets?
|
Other boards (MV1xx / MV2x / MV4 /MV6) other system sets?
|
||||||
|
|
||||||
Zoom ROM (LO) 128K TC531000CP 1x 128Kx8 Zoom look-up table ROM
|
Zoom ROM (LO) 128K TC531000CP 1x 128Kx8 Zoom look-up table ROM
|
||||||
Fix ROM (SFIX) 128K 27C1000 1x 128Kx8 Text layer graphics ROM
|
Fix ROM (SFIX) 128K 27C1000 1x 128Kx8 Text layer graphics ROM
|
||||||
Sound ROM (SM1) 128K 27C1000/23C1000 1x 128Kx8 Z80 program ROM
|
Sound ROM (SM1) 128K 27C1000/23C1000 1x 128Kx8 Z80 program ROM
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
@ -460,157 +460,157 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
||||||
Neo-Geo game pcb infos:
|
Neo-Geo game pcb infos:
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
The Neo-Geo games for AES (home) and MVS (arcade) systems are cartridge based.
|
The Neo-Geo games for AES (home) and MVS (arcade) systems are cartridge based.
|
||||||
|
|
||||||
Each cartridge consists of two pcb's: CHA and PROG.
|
Each cartridge consists of two pcb's: CHA and PROG.
|
||||||
|
|
||||||
CHA pcb contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom).
|
CHA pcb contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom).
|
||||||
PROG pcb contains sample data ('V' - rom) and program code ('P' - rom).
|
PROG pcb contains sample data ('V' - rom) and program code ('P' - rom).
|
||||||
|
|
||||||
On most pcb's various custom/protection chips can also be found:
|
On most pcb's various custom/protection chips can also be found:
|
||||||
|
|
||||||
CHA:
|
CHA:
|
||||||
. NEO-273
|
. NEO-273
|
||||||
. NEO-CMC
|
. NEO-CMC
|
||||||
. NEO-ZMC
|
. NEO-ZMC
|
||||||
. NEO-ZMC2
|
. NEO-ZMC2
|
||||||
. PRO-CT0
|
. PRO-CT0
|
||||||
. SNK-9201
|
. SNK-9201
|
||||||
|
|
||||||
PROG:
|
PROG:
|
||||||
. 0103 (QFP144)
|
. 0103 (QFP144)
|
||||||
. ALTERA (EPM7128SQC100-15)
|
. ALTERA (EPM7128SQC100-15)
|
||||||
. NEO-COMA
|
. NEO-COMA
|
||||||
. NEO-PCM2 (SNK 1999)
|
. NEO-PCM2 (SNK 1999)
|
||||||
. NEO-PCM2 (PLAYMORE 2002)
|
. NEO-PCM2 (PLAYMORE 2002)
|
||||||
. NEO-PVC
|
. NEO-PVC
|
||||||
. NEO-SMA
|
. NEO-SMA
|
||||||
. PCM
|
. PCM
|
||||||
. PRO-CT0
|
. PRO-CT0
|
||||||
. SNK-9201
|
. SNK-9201
|
||||||
|
|
||||||
|
|
||||||
Known pcb's:
|
Known pcb's:
|
||||||
============
|
============
|
||||||
|
|
||||||
MVS CHA:
|
MVS CHA:
|
||||||
-- SNK --
|
-- SNK --
|
||||||
. NEO-MVS CHA-32
|
. NEO-MVS CHA-32
|
||||||
. NEO-MVS CHA-8M
|
. NEO-MVS CHA-8M
|
||||||
. NEO-MVS CHA42G
|
. NEO-MVS CHA42G
|
||||||
. NEO-MVS CHA42G-1
|
. NEO-MVS CHA42G-1
|
||||||
. NEO-MVS CHA 42G-2
|
. NEO-MVS CHA 42G-2
|
||||||
. NEO-MVS CHA 42G-3
|
. NEO-MVS CHA 42G-3
|
||||||
. NEO-MVS CHA42G-3B
|
. NEO-MVS CHA42G-3B
|
||||||
. NEO-MVS CHA256
|
. NEO-MVS CHA256
|
||||||
. NEO-MVS CHA256B
|
. NEO-MVS CHA256B
|
||||||
. NEO-MVS PSTM CHA136
|
. NEO-MVS PSTM CHA136
|
||||||
. NEO-MVS CHA512Y
|
. NEO-MVS CHA512Y
|
||||||
. NEO-MVS CHAFIO (1999.6.14)
|
. NEO-MVS CHAFIO (1999.6.14)
|
||||||
. MVS CHAFIO REV1.0 (KOF-2001)
|
. MVS CHAFIO REV1.0 (KOF-2001)
|
||||||
. NEO-MVS CHAFIO (SNK 2002) - MADE IN KOREA
|
. NEO-MVS CHAFIO (SNK 2002) - MADE IN KOREA
|
||||||
-- SNKPLAYMORE --
|
-- SNKPLAYMORE --
|
||||||
. NEO-MVS CHAFIO (2003.7.24)
|
. NEO-MVS CHAFIO (2003.7.24)
|
||||||
|
|
||||||
MVS PROG:
|
MVS PROG:
|
||||||
-- SNK --
|
-- SNK --
|
||||||
. NEO-MVS PROG-HERO
|
. NEO-MVS PROG-HERO
|
||||||
. NEO-MVS PROG-EP
|
. NEO-MVS PROG-EP
|
||||||
. NEO-MVS PROG8M42
|
. NEO-MVS PROG8M42
|
||||||
. NEO-MVS PROG16
|
. NEO-MVS PROG16
|
||||||
. NEO-MVS PROG42G
|
. NEO-MVS PROG42G
|
||||||
. NEO-MVS PROG42G-1
|
. NEO-MVS PROG42G-1
|
||||||
. NEO-MVS PROG-G2
|
. NEO-MVS PROG-G2
|
||||||
. NEO-MVS PROG 4096
|
. NEO-MVS PROG 4096
|
||||||
. NEO-MVS PROG 4096 B
|
. NEO-MVS PROG 4096 B
|
||||||
. NEO-MVS PROGGSC
|
. NEO-MVS PROGGSC
|
||||||
. NEO-MVS PROGSM
|
. NEO-MVS PROGSM
|
||||||
. NEO-MVS PROGSS3
|
. NEO-MVS PROGSS3
|
||||||
. NEO-MVS PROGTOP
|
. NEO-MVS PROGTOP
|
||||||
. NEO-MVS PROGSF1 (1998.6.17)
|
. NEO-MVS PROGSF1 (1998.6.17)
|
||||||
. NEO-MVS PROGEOP (1999.2.2)
|
. NEO-MVS PROGEOP (1999.2.2)
|
||||||
. NEO-MVS PROGLBA (1999.4.12) - LBA-SUB (2000.2.24)
|
. NEO-MVS PROGLBA (1999.4.12) - LBA-SUB (2000.2.24)
|
||||||
. NEO-MVS PROGBK1
|
. NEO-MVS PROGBK1
|
||||||
. NEO-MVS PROGBK2 (2000.3.21)
|
. NEO-MVS PROGBK2 (2000.3.21)
|
||||||
. MVS PROGBK2 REV1.0 (KOF-2001)
|
. MVS PROGBK2 REV1.0 (KOF-2001)
|
||||||
. NEO-MVS PROGBK2 (SNK 2002) - MADE IN KOREA
|
. NEO-MVS PROGBK2 (SNK 2002) - MADE IN KOREA
|
||||||
-- SNKPLAYMORE --
|
-- SNKPLAYMORE --
|
||||||
. NEO-MVS PROGBK2R (2003.8.26) - NEO-HYCS (2003.9.29)
|
. NEO-MVS PROGBK2R (2003.8.26) - NEO-HYCS (2003.9.29)
|
||||||
. NEO-MVS PROGBK3R (2003.9.2) - NEO-HYCS (2003.9.29)
|
. NEO-MVS PROGBK3R (2003.9.2) - NEO-HYCS (2003.9.29)
|
||||||
. NEO-MVS PROGBK3S (2003.10.1)
|
. NEO-MVS PROGBK3S (2003.10.1)
|
||||||
. NEO-MVS PROGBK2S (2003.10.xx)
|
. NEO-MVS PROGBK2S (2003.10.xx)
|
||||||
|
|
||||||
|
|
||||||
AES CHA:
|
AES CHA:
|
||||||
-- SNK --
|
-- SNK --
|
||||||
. NEO-AEG CHA-32
|
. NEO-AEG CHA-32
|
||||||
. NEO-AEG CHA-8M
|
. NEO-AEG CHA-8M
|
||||||
. NEO-AEG CHA42G
|
. NEO-AEG CHA42G
|
||||||
. NEO-AEG CHA42G-1
|
. NEO-AEG CHA42G-1
|
||||||
. NEO-AEG CHA42G-2B
|
. NEO-AEG CHA42G-2B
|
||||||
. NEO-AEG CHA42G-3
|
. NEO-AEG CHA42G-3
|
||||||
. NEO-AEG CHA42G-4
|
. NEO-AEG CHA42G-4
|
||||||
. NEO-AEG CHA256
|
. NEO-AEG CHA256
|
||||||
. NEO-AEG CHA256[B]
|
. NEO-AEG CHA256[B]
|
||||||
. NEO-AEG CHA256RY
|
. NEO-AEG CHA256RY
|
||||||
. NEO-AEG CHA512Y
|
. NEO-AEG CHA512Y
|
||||||
. NEO-AEG CHAFIO (1999.8.10)
|
. NEO-AEG CHAFIO (1999.8.10)
|
||||||
-- SNKPLAYMORE --
|
-- SNKPLAYMORE --
|
||||||
. NEO-AEG CHAFIO (2003.7.24)
|
. NEO-AEG CHAFIO (2003.7.24)
|
||||||
|
|
||||||
AES PROG:
|
AES PROG:
|
||||||
-- SNK --
|
-- SNK --
|
||||||
. NEO-AEG PROG-NAM
|
. NEO-AEG PROG-NAM
|
||||||
. NEO-AEG PROG-HERO
|
. NEO-AEG PROG-HERO
|
||||||
. NEO-AEG PROG-4A
|
. NEO-AEG PROG-4A
|
||||||
. NEO-AEG PROG-4B
|
. NEO-AEG PROG-4B
|
||||||
. NEO-AEG PROG 8M42
|
. NEO-AEG PROG 8M42
|
||||||
. NEO-AEG PROG B
|
. NEO-AEG PROG B
|
||||||
. NEO-AEG PROG16
|
. NEO-AEG PROG16
|
||||||
. NEO-AEG PROG42G
|
. NEO-AEG PROG42G
|
||||||
. NEO-AEG PROG42G-COM
|
. NEO-AEG PROG42G-COM
|
||||||
. NEO-AEG PROG42G-1
|
. NEO-AEG PROG42G-1
|
||||||
. NEO-AEG PROG-G2
|
. NEO-AEG PROG-G2
|
||||||
. NEO-AEG PROG4096 B
|
. NEO-AEG PROG4096 B
|
||||||
. NEO-AEG PROGGS
|
. NEO-AEG PROGGS
|
||||||
. NEO-AEG PROGTOP2
|
. NEO-AEG PROGTOP2
|
||||||
. NEO-AEG PROGLBA (1999.7.6)
|
. NEO-AEG PROGLBA (1999.7.6)
|
||||||
. NEO-AEG PROGRK
|
. NEO-AEG PROGRK
|
||||||
. NEO-AEG PROGRKB
|
. NEO-AEG PROGRKB
|
||||||
. NEO-AEG PROGBK1Y
|
. NEO-AEG PROGBK1Y
|
||||||
. NEO-AEG PROGBK1F
|
. NEO-AEG PROGBK1F
|
||||||
-- PLAYMORE --
|
-- PLAYMORE --
|
||||||
. NEO-AEG PROGBK2 (2002.4.1)
|
. NEO-AEG PROGBK2 (2002.4.1)
|
||||||
-- SNKPLAYMORE --
|
-- SNKPLAYMORE --
|
||||||
. NEO-AEG PROGBK3R (2003.8.29) - NEO-HYCS (2003.9.29)
|
. NEO-AEG PROGBK3R (2003.8.29) - NEO-HYCS (2003.9.29)
|
||||||
. NEO-AEG PROGBK2S (2003.10.16)
|
. NEO-AEG PROGBK2S (2003.10.16)
|
||||||
|
|
||||||
|
|
||||||
Cartridge colours:
|
Cartridge colours:
|
||||||
==================
|
==================
|
||||||
|
|
||||||
MVS cartridges were produced in different colours.
|
MVS cartridges were produced in different colours.
|
||||||
|
|
||||||
Known cartridge colours:
|
Known cartridge colours:
|
||||||
. Black
|
. Black
|
||||||
. Blue
|
. Blue
|
||||||
. Green
|
. Green
|
||||||
. Grey
|
. Grey
|
||||||
. Red
|
. Red
|
||||||
. Transparent
|
. Transparent
|
||||||
. Transparent Blue
|
. Transparent Blue
|
||||||
. Transparent Green
|
. Transparent Green
|
||||||
. White
|
. White
|
||||||
. Yellow
|
. Yellow
|
||||||
|
|
||||||
The above listed only covers SNK / PLAYMORE / SNKPLAYMORE pcb's. There also exists a
|
The above listed only covers SNK / PLAYMORE / SNKPLAYMORE pcb's. There also exists a
|
||||||
wide range of 'bootleg' pcb's.
|
wide range of 'bootleg' pcb's.
|
||||||
|
|
||||||
|
|
||||||
Neo-Geo game pcb infos by Johnboy
|
Neo-Geo game pcb infos by Johnboy
|
||||||
|
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@ -6360,19 +6360,19 @@ ROM_END
|
|||||||
/* Jamma PCB sets */
|
/* Jamma PCB sets */
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
The following Jamma PCB boards are known:
|
The following Jamma PCB boards are known:
|
||||||
|
|
||||||
SNK vs. CAPCOM SVC CHAOS (svcpcb)
|
SNK vs. CAPCOM SVC CHAOS (svcpcb)
|
||||||
NEO-MVH MVO 2003.6.5
|
NEO-MVH MVO 2003.6.5
|
||||||
|
|
||||||
SNK vs. CAPCOM SVC CHAOS (svcpcba)
|
SNK vs. CAPCOM SVC CHAOS (svcpcba)
|
||||||
NEO-MVH MVOB 2003.7.9
|
NEO-MVH MVOB 2003.7.9
|
||||||
|
|
||||||
Metal Slug 5
|
Metal Slug 5
|
||||||
NEO-MVH MVOBR 2003.8.4
|
NEO-MVH MVOBR 2003.8.4
|
||||||
|
|
||||||
The King of Fighters 2003
|
The King of Fighters 2003
|
||||||
NEO-MVH MVOC 2003.11.3
|
NEO-MVH MVOC 2003.11.3
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ static struct
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
|
|
||||||
Timers
|
Timers
|
||||||
|
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ static TIMER_CALLBACK( snes_hblank_tick )
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
|
|
||||||
Input Handlers
|
Input Handlers
|
||||||
|
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -1090,7 +1090,7 @@ WRITE8_HANDLER( snes_w_io )
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
|
|
||||||
Memory Handlers
|
Memory Handlers
|
||||||
|
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -1105,15 +1105,15 @@ MODE_20
|
|||||||
address | | | | | | | |
|
address | | | | | | | |
|
||||||
0xffff ------------------------------------------------------------------------------|
|
0xffff ------------------------------------------------------------------------------|
|
||||||
ROM | ROM / | ROM | ROM | ROM / | | 0x00 | 0x40 |
|
ROM | ROM / | ROM | ROM | ROM / | | 0x00 | 0x40 |
|
||||||
| DSP | | | SRAM? | | to | to |
|
| DSP | | | SRAM? | | to | to |
|
||||||
0x8000 ----------------------------------------------------------| | 0x3f | 0x7f |
|
0x8000 ----------------------------------------------------------| | 0x3f | 0x7f |
|
||||||
Reserv | | | | W | | |
|
Reserv | | | | W | | |
|
||||||
| | | S | R | m | m |
|
| | | S | R | m | m |
|
||||||
0x6000 ----------------------------| | DSP / | R | A | i | i |
|
0x6000 ----------------------------| | DSP / | R | A | i | i |
|
||||||
I/O | Reserv | | A | M | r | r |
|
I/O | Reserv | | A | M | r | r |
|
||||||
0x2000 ----------------------------| | Reserv | M | | r | r |
|
0x2000 ----------------------------| | Reserv | M | | r | r |
|
||||||
Low RAM (from 0x7e) | | | | | o | o |
|
Low RAM (from 0x7e) | | | | | o | o |
|
||||||
| | | | | r | r |
|
| | | | | r | r |
|
||||||
0x0000 -------------------------------------------------------------------------------
|
0x0000 -------------------------------------------------------------------------------
|
||||||
|
|
||||||
MODE_22 is the same, but banks 0x40 to 0x7e at address 0x000 to 0x7fff contain ROM (of
|
MODE_22 is the same, but banks 0x40 to 0x7e at address 0x000 to 0x7fff contain ROM (of
|
||||||
@ -1128,16 +1128,16 @@ MODE_21
|
|||||||
address | | | | | | |
|
address | | | | | | |
|
||||||
0xffff --------------------------------------------------------------------|
|
0xffff --------------------------------------------------------------------|
|
||||||
mirror | 0xc0 | | mirror | |
|
mirror | 0xc0 | | mirror | |
|
||||||
upper half ROM | to | | up half | |
|
upper half ROM | to | | up half | |
|
||||||
from 0xc0 to 0xff | 0xff | | ROM | |
|
from 0xc0 to 0xff | 0xff | | ROM | |
|
||||||
0x8000 --------------------------------------| | |---------| |
|
0x8000 --------------------------------------| | |---------| |
|
||||||
DSP / | Reserv | SRAM | | W | | |
|
DSP / | Reserv | SRAM | | W | | |
|
||||||
Reserv | | | m | R | 0x00 | R |
|
Reserv | | | m | R | 0x00 | R |
|
||||||
0x6000 --------------------------------------| i | A | to | O |
|
0x6000 --------------------------------------| i | A | to | O |
|
||||||
I/O | r | M | 0x3f | M |
|
I/O | r | M | 0x3f | M |
|
||||||
0x2000 --------------------------------------| r | | mirror | |
|
0x2000 --------------------------------------| r | | mirror | |
|
||||||
Low RAM (from 0x7e) | o | | | |
|
Low RAM (from 0x7e) | o | | | |
|
||||||
| r | | | |
|
| r | | | |
|
||||||
0x0000 ---------------------------------------------------------------------
|
0x0000 ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -1147,17 +1147,17 @@ the available banks at 0xc0 to 0xff.
|
|||||||
banks 0x00 0x20 0x3e 0x40 0x7e 0x80 0xb0 0xc0 0xff
|
banks 0x00 0x20 0x3e 0x40 0x7e 0x80 0xb0 0xc0 0xff
|
||||||
address | | | | | | | |
|
address | | | | | | | |
|
||||||
0xffff ----------------------------------------------------------------------------|
|
0xffff ----------------------------------------------------------------------------|
|
||||||
mirror | Last | | | ROM | |
|
mirror | Last | | | ROM | |
|
||||||
upper half ROM | 0.5Mbits | | | mirror | |
|
upper half ROM | 0.5Mbits | | | mirror | |
|
||||||
from 0x40 to 0x7e | ROM | ROM | | up half | ROM |
|
from 0x40 to 0x7e | ROM | ROM | | up half | ROM |
|
||||||
0x8000 -----------------------------------| | |------------------| |
|
0x8000 -----------------------------------| | |------------------| |
|
||||||
DSP / | Reserv | next | W | Reserv | SRAM | first |
|
DSP / | Reserv | next | W | Reserv | SRAM | first |
|
||||||
Reserv | | | R | | | |
|
Reserv | | | R | | | |
|
||||||
0x6000 -----------------------------------| 31 | A |------------------| 32 |
|
0x6000 -----------------------------------| 31 | A |------------------| 32 |
|
||||||
I/O | Mbits | M | 0x00 | Mbits |
|
I/O | Mbits | M | 0x00 | Mbits |
|
||||||
0x2000 -----------------------------------| | | to | |
|
0x2000 -----------------------------------| | | to | |
|
||||||
Low RAM (from 0x7e) | | | 0x3f | |
|
Low RAM (from 0x7e) | | | 0x3f | |
|
||||||
| | | mirror | |
|
| | | mirror | |
|
||||||
0x0000 -----------------------------------------------------------------------------
|
0x0000 -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -1483,7 +1483,7 @@ WRITE8_HANDLER( snes_w_bank7 )
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
|
|
||||||
Driver Init
|
Driver Init
|
||||||
|
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -1644,20 +1644,20 @@ DRIVER_INIT( snes )
|
|||||||
read_blocks = 0;
|
read_blocks = 0;
|
||||||
|
|
||||||
/* Loading all the data blocks from cart, we only partially cover banks 0x00 to 0x7f. Therefore, we
|
/* Loading all the data blocks from cart, we only partially cover banks 0x00 to 0x7f. Therefore, we
|
||||||
* have to mirror the blocks until we reach the end. E.g. for a 11Mbits image (44 blocks), we proceed
|
* have to mirror the blocks until we reach the end. E.g. for a 11Mbits image (44 blocks), we proceed
|
||||||
* as follows:
|
* as follows:
|
||||||
* 11 Mbits = 8 Mbits (blocks 1->32) + 2 Mbits (blocks 33->40) + 1 Mbit (blocks 41->44).
|
* 11 Mbits = 8 Mbits (blocks 1->32) + 2 Mbits (blocks 33->40) + 1 Mbit (blocks 41->44).
|
||||||
* Hence, we fill memory up to 16 Mbits (banks 0x00 to 0x3f) mirroring the final part:
|
* Hence, we fill memory up to 16 Mbits (banks 0x00 to 0x3f) mirroring the final part:
|
||||||
* 8 Mbits (blocks 1->32) + 2 Mbits (blocks 33->40) + 1 Mbit (blocks 41->44) + 1 Mbit (blocks 41->44)
|
* 8 Mbits (blocks 1->32) + 2 Mbits (blocks 33->40) + 1 Mbit (blocks 41->44) + 1 Mbit (blocks 41->44)
|
||||||
* + 2 Mbits (blocks 33->40) + 1 Mbit (blocks 41->44) + 1 Mbit (blocks 41->44).
|
* + 2 Mbits (blocks 33->40) + 1 Mbit (blocks 41->44) + 1 Mbit (blocks 41->44).
|
||||||
* And we repeat the same blocks in the second half of the banks (banks 0x40 to 0x7f).
|
* And we repeat the same blocks in the second half of the banks (banks 0x40 to 0x7f).
|
||||||
* This is likely what happens in the real SNES as well, because the unit cannot be aware of the exact
|
* This is likely what happens in the real SNES as well, because the unit cannot be aware of the exact
|
||||||
* size of data in the cart (procedure confirmed by byuu)
|
* size of data in the cart (procedure confirmed by byuu)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* LoROM carts load data in banks 0x00 to 0x7f at address 0x8000 (actually up to 0x7d, because 0x7e and
|
/* LoROM carts load data in banks 0x00 to 0x7f at address 0x8000 (actually up to 0x7d, because 0x7e and
|
||||||
* 0x7f are overwritten by WRAM). Each block is also mirrored in banks 0x80 to 0xff (up to 0xff for real)
|
* 0x7f are overwritten by WRAM). Each block is also mirrored in banks 0x80 to 0xff (up to 0xff for real)
|
||||||
*/
|
*/
|
||||||
while (read_blocks < 128 && read_blocks < total_blocks)
|
while (read_blocks < 128 && read_blocks < total_blocks)
|
||||||
{
|
{
|
||||||
/* Loading data */
|
/* Loading data */
|
||||||
@ -1709,9 +1709,9 @@ DRIVER_INIT( snes_hirom )
|
|||||||
/* See above for details about the way we fill banks 0x00 to 0x7f */
|
/* See above for details about the way we fill banks 0x00 to 0x7f */
|
||||||
|
|
||||||
/* HiROM carts load data in banks 0xc0 to 0xff. Each bank is fully mirrored in banks 0x40 to 0x7f
|
/* HiROM carts load data in banks 0xc0 to 0xff. Each bank is fully mirrored in banks 0x40 to 0x7f
|
||||||
* (actually up to 0x7d, because 0x7e and 0x7f are overwritten by WRAM). The top half (address
|
* (actually up to 0x7d, because 0x7e and 0x7f are overwritten by WRAM). The top half (address
|
||||||
* range 0x8000 - 0xffff) of each bank is also mirrored in banks 0x00 to 0x3f and 0x80 to 0xbf.
|
* range 0x8000 - 0xffff) of each bank is also mirrored in banks 0x00 to 0x3f and 0x80 to 0xbf.
|
||||||
*/
|
*/
|
||||||
while (read_blocks < 64 && read_blocks < total_blocks)
|
while (read_blocks < 64 && read_blocks < total_blocks)
|
||||||
{
|
{
|
||||||
/* Loading data */
|
/* Loading data */
|
||||||
@ -1750,7 +1750,7 @@ DRIVER_INIT( snes_hirom )
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
|
|
||||||
HDMA
|
HDMA
|
||||||
|
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
|
@ -9,4 +9,4 @@
|
|||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
const char build_version[] = "0.127u5 ("__DATE__")";
|
const char build_version[] = "0.127u6 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user