trunk/hash/saturn.xml
| r21455 | r21456 | |
| 1164 | 1164 | Super Real Mahjong P.V P's Club (Japan) (Genteiban) [T-16503G] | ?? |
| 1165 | 1165 | Super Real Mahjong PVI (Japan) [T-16507G] | (srmp6) |
| 1166 | 1166 | Super Real Mahjong PVI P's Club (Japan) (Genteiban) [T-16508G] | (srmp6cg) |
| 1167 | | Super Real Mahjong P7 (Japan) [T-16509G] | (ssmp7) |
| 1167 | Super Real Mahjong P7 (Japan) [T-16509G] | (srmp7) |
| 1168 | 1168 | Super Real Mahjong P7 P's Club (Japan) (Genteiban) [T-16510G] | (srmp7cg) |
| 1169 | 1169 | Super Robot Taisen F (Japan) [T-20610G] | (srobotf) |
| 1170 | 1170 | Super Robot Taisen F Kanketsuhen (Japan) [T-20612G] | (srobotfk) |
trunk/src/emu/machine/saturn.c
| r21455 | r21456 | |
| 1 | /************************************************************************************** |
| 2 | |
| 3 | Sega Saturn (c) 1994 Sega |
| 4 | |
| 5 | List of things that needs to be implemented: |
| 6 | - There's definitely an ack mechanism in SCU irqs. This is almost surely done via |
| 7 | the ISM register (i.e. going 0->1 to the given bit acks it). |
| 8 | - There might be a delay to exactly when SCU irqs happens. This is due to the basic |
| 9 | fact that SCU runs at 14-ish MHz, so it needs some time before actually firing the |
| 10 | irq. |
| 11 | - Vblank-Out actually happens at the last screen line, not at 0. |
| 12 | - VDP2 V counter has a similar roll-back as MD correspondent register: |
| 13 | vpos line 0 == 0x1ff (Vblank-Out happens here) |
| 14 | vpos line 1 == 0 |
| 15 | ... |
| 16 | vpos line 241 == 0xf0 (Vblank-In happens here) |
| 17 | vpos line 246 == 0xf5 |
| 18 | vpos line 247 == 0x1ef (rolls back here) |
| 19 | vpos line 263 == 0x1ff again |
| 20 | - HBlank bit seems to follow a normal logic instead. |
| 21 | - Timer 0 doesn't work if the TENB bit isn't enabled (documentation is a bit fussy |
| 22 | over this). |
| 23 | - Timer 0 fires at the HBlank-In signal, not before. |
| 24 | - VDP2 H Counter actually counts x2 in non Hi-Res mode. |
| 25 | - Timer 1 is definitely annoying. Starts from H-Blank signal and starts counting from |
| 26 | that position. |
| 27 | H counter value 0x282 (642) -> timer 1 fires at setting 1 |
| 28 | H counter value 0x284 (644) -> 2 |
| 29 | H counter value 0x2a0 (672) -> 0x10 |
| 30 | H counter value 0x2c0 (704) -> 0x20 |
| 31 | H counter value 0x300 (768) -> 0x40 |
| 32 | H counter value 0x340 (832) -> 0x60 |
| 33 | H counter value 0x352 (850) -> 0x69 |
| 34 | H counter value 0x000 (0) -> 0x6a, V counter goes +1 here (max range?) |
| 35 | H counter value 0x02c (44) -> 0x80 |
| 36 | H counter value 0x0ec (236) -> 0xe0 |
| 37 | H counter value 0x12c (300) -> 0x100 |
| 38 | - Timer 1 seems to count backwards compared to Timer 0 from setting 0x6b onward. |
| 39 | |
| 40 | |
| 41 | **************************************************************************************/ |
| 42 | |
| 1 | 43 | #include "emu.h" |
| 2 | 44 | #include "includes/stv.h" |
| 3 | 45 | #include "machine/scudsp.h" |