mirror of
https://github.com/holub/mame
synced 2025-05-30 17:41:47 +03:00
Notes updating
This commit is contained in:
parent
d75cff8859
commit
4b03ea2441
@ -23,8 +23,8 @@ TODO:
|
|||||||
- IC13 games on the dev bios doesn't even load the cartridge / crashes the emulation at start-up,
|
- IC13 games on the dev bios doesn't even load the cartridge / crashes the emulation at start-up,
|
||||||
rom rearrange needed?
|
rom rearrange needed?
|
||||||
- SCU DSP still has its fair share of issues, it also needs to be converted to CPU structure;
|
- SCU DSP still has its fair share of issues, it also needs to be converted to CPU structure;
|
||||||
- Add the RS232c interface (serial port), needed by fhboxers.
|
- Add the RS232c interface (serial port), needed by fhboxers (accesses some ports in the a-bus dummy range).
|
||||||
- Video emulation bugs: check stvvdp2.c file.
|
- Video emulation is nowhere near perfection.
|
||||||
- Reimplement the idle skip if possible.
|
- Reimplement the idle skip if possible.
|
||||||
- Properly emulate the protection chips, used by several games (check stvprot.c for more info)
|
- Properly emulate the protection chips, used by several games (check stvprot.c for more info)
|
||||||
- Move SCU device into its respective file;
|
- Move SCU device into its respective file;
|
||||||
@ -32,53 +32,28 @@ TODO:
|
|||||||
|
|
||||||
(per-game issues)
|
(per-game issues)
|
||||||
- stress: accesses the Sound Memory Expansion Area (0x05a80000-0x05afffff), unknown purpose;
|
- stress: accesses the Sound Memory Expansion Area (0x05a80000-0x05afffff), unknown purpose;
|
||||||
|
|
||||||
- smleague / finlarch: it randomly hangs / crashes,it works if you use a ridiculous MCFG_INTERLEAVE number,might need strict
|
- smleague / finlarch: it randomly hangs / crashes,it works if you use a ridiculous MCFG_INTERLEAVE number,might need strict
|
||||||
SH-2 synching.
|
SH-2 synching or it's actually a m68k comms issue.
|
||||||
- groovef / myfairld: why do we get 2 credits on startup? Cause might be by a communication with the M68k
|
|
||||||
|
- groovef: ugly back screen color, caused by incorrect usage of the Color Calculation function.
|
||||||
|
|
||||||
- myfairld: Apparently this game gives a black screen (either test mode and in-game mode),but let it wait for about
|
- myfairld: Apparently this game gives a black screen (either test mode and in-game mode),but let it wait for about
|
||||||
10 seconds and the game will load everything. This is because of a hellishly slow m68k sub-routine located at 54c2.
|
10 seconds and the game will load everything. This is because of a hellishly slow m68k sub-routine located at 54c2.
|
||||||
Likely to not be a bug but an in-game design issue.
|
Likely to not be a bug but an in-game design issue.
|
||||||
- danchih: hanafuda panel doesn't work.
|
|
||||||
- findlove: controls doesn't work? Playing with the debugger at location $6063720 it makes it get furter,but controls
|
- danchih / danchiq: currently hangs randomly (regression).
|
||||||
still doesn't work, missing irq?
|
|
||||||
- batmanfr: Missing sound,caused by an extra ADSP chip which is on the cart.The CPU is a
|
- batmanfr: Missing sound,caused by an extra ADSP chip which is on the cart.The CPU is a
|
||||||
ADSP-2181,and it's the same used by NBA Jam Extreme (ZN game).
|
ADSP-2181,and it's the same used by NBA Jam Extreme (ZN game).
|
||||||
|
|
||||||
- vfremix: when you play as Akira, there is a problem with third match: game doesn't upload all textures
|
- vfremix: when you play as Akira, there is a problem with third match: game doesn't upload all textures
|
||||||
and tiles and doesn't enable display, although gameplay is normal - wait a while to get back
|
and tiles and doesn't enable display, although gameplay is normal - wait a while to get back
|
||||||
to title screen after losing a match
|
to title screen after losing a match
|
||||||
|
|
||||||
===================================================================================================
|
- vfremix: various problems with SCU DSP: Jeffry causes a black screen hang. Akira's kick sometimes
|
||||||
|
sends the opponent out of the ring from whatever position.
|
||||||
|
|
||||||
Hardware overview:
|
|
||||||
------------------
|
|
||||||
-two SH-2 CPUs,in a master/slave configuration.The master cpu is used to
|
|
||||||
boot-up and to do the most of the work,the slave one does extra work that could be
|
|
||||||
too much for a single cpu.They both shares all the existant devices;
|
|
||||||
-a M68000 CPU,used to drive sound(the SCSP chip).The program is uploaded via the
|
|
||||||
SH-2 cpus;
|
|
||||||
-a SMPC (System Manager & Peripheral Control),used to drive all the
|
|
||||||
devices on the board;
|
|
||||||
-a SCU (System Control Unit),mainly used to do DMA operations and to drive interrupts,it
|
|
||||||
also has a DSP;
|
|
||||||
-an (optional for the ST-V) SH-1 CPU,used to be the CD driver;
|
|
||||||
-An A-Bus,where the cart ROM area is located;
|
|
||||||
-A B-Bus,where the Video Hardware & the SCU sections are located;
|
|
||||||
-Two VDPs chips(named as 1 & 2),used for the video section:
|
|
||||||
-VDP1 is used to render sprites & polygons.
|
|
||||||
-VDP2 is for the tilemap system,there are:
|
|
||||||
4 effective normal layers;
|
|
||||||
2 roz layers;
|
|
||||||
1 back layer;
|
|
||||||
1 line layer;
|
|
||||||
The VDP2 is capable of the following things (in order):
|
|
||||||
-dynamic resolution (up to 704x512) & various interlacing modes;
|
|
||||||
-mosaic process;
|
|
||||||
-scrolling,scaling,horizontal & vertical cell scrolling & linescroll for the
|
|
||||||
normal planes, the roz ones can also rotate;
|
|
||||||
-versatile window system,used for various effects;
|
|
||||||
-alpha-blending,refered as Color Calculation in the docs;
|
|
||||||
-shadow effects;
|
|
||||||
-global rgb brightness control,separate for every plane;
|
|
||||||
|
|
||||||
****************************************************************************************************/
|
****************************************************************************************************/
|
||||||
|
|
||||||
|
@ -632,32 +632,6 @@ DRIVER_INIT_MEMBER(saturn_state,danchiq)
|
|||||||
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
|
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
060011AE: AND #$0F,R0
|
|
||||||
060011B0: MOV #$5E,R1
|
|
||||||
060011B2: ADD R5,R1
|
|
||||||
060011B4: MOV.B R0,@R1
|
|
||||||
060011B6: MOV R5,R0
|
|
||||||
060011B8: ADD #$70,R0
|
|
||||||
|
|
||||||
060011BA: MOV.B @(R0,R4),R0 <- reads 0x02020000,cause of the crash
|
|
||||||
060011BC: RTS
|
|
||||||
060011BE: NOP
|
|
||||||
060131AA: CMP/EQ #$01,R0
|
|
||||||
060131AC: BT $0601321C
|
|
||||||
060131AE: CMP/EQ #$02,R0
|
|
||||||
060131B0: BT $0601324A
|
|
||||||
|
|
||||||
TODO: understand where it gets 0x02020000,it must be 0x0000000
|
|
||||||
|
|
||||||
bp 6001d5a
|
|
||||||
bp 6001d22 (60ffef0)
|
|
||||||
|
|
||||||
|
|
||||||
(?) wpset 60cf888,4,r
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(saturn_state,astrass)
|
DRIVER_INIT_MEMBER(saturn_state,astrass)
|
||||||
{
|
{
|
||||||
sh2drc_add_pcflush(machine().device("maincpu"), 0x60011ba);
|
sh2drc_add_pcflush(machine().device("maincpu"), 0x60011ba);
|
||||||
@ -830,7 +804,7 @@ DRIVER_INIT_MEMBER(saturn_state,smleague)
|
|||||||
DRIVER_INIT_CALL(stv);
|
DRIVER_INIT_CALL(stv);
|
||||||
|
|
||||||
/* tight sync to avoid dead locks */
|
/* tight sync to avoid dead locks */
|
||||||
m_minit_boost = m_sinit_boost = 0;
|
m_minit_boost = m_sinit_boost = 5000;
|
||||||
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
|
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -841,7 +815,7 @@ DRIVER_INIT_MEMBER(saturn_state,finlarch)
|
|||||||
DRIVER_INIT_CALL(stv);
|
DRIVER_INIT_CALL(stv);
|
||||||
|
|
||||||
/* tight sync to avoid dead locks */
|
/* tight sync to avoid dead locks */
|
||||||
m_minit_boost = m_sinit_boost = 0;
|
m_minit_boost = m_sinit_boost = 5000;
|
||||||
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
|
m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -857,12 +831,9 @@ DRIVER_INIT_MEMBER(saturn_state,maruchan)
|
|||||||
|
|
||||||
DRIVER_INIT_MEMBER(saturn_state,pblbeach)
|
DRIVER_INIT_MEMBER(saturn_state,pblbeach)
|
||||||
{
|
{
|
||||||
//sh2drc_add_pcflush(machine().device("maincpu"), 0x605eb78);
|
sh2drc_add_pcflush(machine().device("maincpu"), 0x605eb78);
|
||||||
|
|
||||||
DRIVER_INIT_CALL(stv);
|
DRIVER_INIT_CALL(stv);
|
||||||
|
|
||||||
// m_instadma_hack = 1;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(saturn_state,shanhigw)
|
DRIVER_INIT_MEMBER(saturn_state,shanhigw)
|
||||||
|
Loading…
Reference in New Issue
Block a user