Previous 199869 Revisions Next

r21090 Friday 15th February, 2013 at 15:43:23 UTC by Angelo Salese
Notes updating
[src/mame/drivers]saturn.c stv.c

trunk/src/mame/drivers/saturn.c
r21089r21090
2323- IC13 games on the dev bios doesn't even load the cartridge / crashes the emulation at start-up,
2424  rom rearrange needed?
2525- SCU DSP still has its fair share of issues, it also needs to be converted to CPU structure;
26- Add the RS232c interface (serial port), needed by fhboxers.
27- Video emulation bugs: check stvvdp2.c file.
26- Add the RS232c interface (serial port), needed by fhboxers (accesses some ports in the a-bus dummy range).
27- Video emulation is nowhere near perfection.
2828- Reimplement the idle skip if possible.
2929- Properly emulate the protection chips, used by several games (check stvprot.c for more info)
3030- Move SCU device into its respective file;
r21089r21090
3232
3333(per-game issues)
3434- stress: accesses the Sound Memory Expansion Area (0x05a80000-0x05afffff), unknown purpose;
35
3536- smleague / finlarch: it randomly hangs / crashes,it works if you use a ridiculous MCFG_INTERLEAVE number,might need strict
36  SH-2 synching.
37- groovef / myfairld: why do we get 2 credits on startup? Cause might be by a communication with the M68k
37  SH-2 synching or it's actually a m68k comms issue.
38
39- groovef: ugly back screen color, caused by incorrect usage of the Color Calculation function.
40
3841- myfairld: Apparently this game gives a black screen (either test mode and in-game mode),but let it wait for about
3942  10 seconds and the game will load everything. This is because of a hellishly slow m68k sub-routine located at 54c2.
4043  Likely to not be a bug but an in-game design issue.
41- danchih: hanafuda panel doesn't work.
42- findlove: controls doesn't work? Playing with the debugger at location $6063720 it makes it get furter,but controls
43  still doesn't work, missing irq?
44
45- danchih / danchiq: currently hangs randomly (regression).
46
4447- batmanfr: Missing sound,caused by an extra ADSP chip which is on the cart.The CPU is a
4548  ADSP-2181,and it's the same used by NBA Jam Extreme (ZN game).
49
4650- vfremix: when you play as Akira, there is a problem with third match: game doesn't upload all textures
4751  and tiles and doesn't enable display, although gameplay is normal - wait a while to get back
4852  to title screen after losing a match
4953
50===================================================================================================
54- vfremix: various problems with SCU DSP: Jeffry causes a black screen hang. Akira's kick sometimes
55  sends the opponent out of the ring from whatever position.
5156
52Hardware overview:
53------------------
54-two SH-2 CPUs,in a master/slave configuration.The master cpu is used to
55boot-up and to do the most of the work,the slave one does extra work that could be
56too much for a single cpu.They both shares all the existant devices;
57-a M68000 CPU,used to drive sound(the SCSP chip).The program is uploaded via the
58SH-2 cpus;
59-a SMPC (System Manager & Peripheral Control),used to drive all the
60devices on the board;
61-a SCU (System Control Unit),mainly used to do DMA operations and to drive interrupts,it
62also has a DSP;
63-an (optional for the ST-V) SH-1 CPU,used to be the CD driver;
64-An A-Bus,where the cart ROM area is located;
65-A B-Bus,where the Video Hardware & the SCU sections are located;
66-Two VDPs chips(named as 1 & 2),used for the video section:
67 -VDP1 is used to render sprites & polygons.
68 -VDP2 is for the tilemap system,there are:
69 4 effective normal layers;
70 2 roz layers;
71 1 back layer;
72 1 line layer;
73 The VDP2 is capable of the following things (in order):
74 -dynamic resolution (up to 704x512) & various interlacing modes;
75 -mosaic process;
76 -scrolling,scaling,horizontal & vertical cell scrolling & linescroll for the
77  normal planes, the roz ones can also rotate;
78 -versatile window system,used for various effects;
79 -alpha-blending,refered as Color Calculation in the docs;
80 -shadow effects;
81 -global rgb brightness control,separate for every plane;
8257
8358****************************************************************************************************/
8459
trunk/src/mame/drivers/stv.c
r21089r21090
632632   m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5);
633633}
634634
635/*
636060011AE: AND     #$0F,R0
637060011B0: MOV     #$5E,R1
638060011B2: ADD     R5,R1
639060011B4: MOV.B   R0,@R1
640060011B6: MOV     R5,R0
641060011B8: ADD     #$70,R0
642
643060011BA: MOV.B   @(R0,R4),R0 <- reads 0x02020000,cause of the crash
644060011BC: RTS
645060011BE: NOP
646060131AA: CMP/EQ  #$01,R0
647060131AC: BT      $0601321C
648060131AE: CMP/EQ  #$02,R0
649060131B0: BT      $0601324A
650
651TODO: understand where it gets 0x02020000,it must be 0x0000000
652
653bp 6001d5a
654bp 6001d22 (60ffef0)
655
656
657(?) wpset 60cf888,4,r
658
659*/
660
661635DRIVER_INIT_MEMBER(saturn_state,astrass)
662636{
663637   sh2drc_add_pcflush(machine().device("maincpu"), 0x60011ba);
r21089r21090
830804   DRIVER_INIT_CALL(stv);
831805
832806   /* tight sync to avoid dead locks */
833   m_minit_boost = m_sinit_boost = 0;
807   m_minit_boost = m_sinit_boost = 5000;
834808   m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
835809}
836810
r21089r21090
841815   DRIVER_INIT_CALL(stv);
842816
843817   /* tight sync to avoid dead locks */
844   m_minit_boost = m_sinit_boost = 0;
818   m_minit_boost = m_sinit_boost = 5000;
845819   m_minit_boost_timeslice = m_sinit_boost_timeslice = attotime::from_usec(5000);
846820}
847821
r21089r21090
857831
858832DRIVER_INIT_MEMBER(saturn_state,pblbeach)
859833{
860   //sh2drc_add_pcflush(machine().device("maincpu"), 0x605eb78);
834   sh2drc_add_pcflush(machine().device("maincpu"), 0x605eb78);
861835
862836   DRIVER_INIT_CALL(stv);
863
864//  m_instadma_hack = 1;
865
866837}
867838
868839DRIVER_INIT_MEMBER(saturn_state,shanhigw)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team