Previous 199869 Revisions Next

r31156 Tuesday 1st July, 2014 at 17:33:25 UTC by Tafoid
i86.c: 0x60 shadow omitted in previous patch. Needed for DOS 2.  [Bavarese]
[MESS] vtvideo.c): finally fix smooth scrolling (ED084 = 1). See DIAG DISK -> VIDEO TEST -> screen 3 (Rainbow driver - SKIP 0).  [Bavarese]

[MESS] atari400.c - Slightly revised Atari XL cartridge loading so that it doesn't crash when loading 8K carts. Confirmed to fix MT#05108.  [alegend45]

Description fix from MASH for chihiro.c.  (nw)
[src/emu/cpu/i86]i86.c
[src/mame/drivers]chihiro.c
[src/mess/drivers]atari400.c rainbow.c
[src/mess/video]vtvideo.c vtvideo.h

trunk/src/emu/cpu/i86/i86.c
r31155r31156
11431143//
11441144//       Instructions are used in the boot sector for some versions of
11451145//      MS-DOS  (e.g. the DEC Rainbow-100 version of DOS 2.x)
1146//      case 0x60:
1146      case 0x60:
11471147      case 0x70: // i_jo
11481148         JMP( OF);
11491149         break;
trunk/src/mess/drivers/atari400.c
r31155r31156
17451745            m_8000->set_base(m_region_lslot->base());
17461746            m_maincpu->space(AS_PROGRAM).unmap_write(0x8000, 0x9fff);
17471747
1748            memcpy(m_region_maincpu->base() + 0x10000, m_region_lslot->base() + 0x2000, 0x2000);
1748            memcpy(m_region_maincpu->base() + 0xa000, m_region_lslot->base() + 0x2000, 0x2000);
17491749         }
17501750         else if (m_a800_cart_type == A800_8K)
1751            memcpy(m_region_maincpu->base() + 0x10000, m_region_lslot->base(), 0x2000);
1751            memcpy(m_region_maincpu->base() + 0xa000, m_region_lslot->base(), 0x2000);
17521752         else
17531753            fatalerror("This type of cart is not supported yet in this driver. Please use a400 or a800.\n");
17541754      }
trunk/src/mess/drivers/rainbow.c
r31155r31156
88    ---------------------
99    Driver is based entirely on the DEC-100 'B' variant (DEC-190 and DEC-100 A models are treated as clones).
1010    While this is OK for the compatible -190, it doesn't do justice to ancient '100 A' hardware.
11RBCONVERT.ZIP has details on how model 'A' differs from version B.
1112
12    Currently, there are several issues here:
13Issues with this driver:
1314    (1) Keyboard emulation incomplete (inhibits the system from booting with ERROR 50).
14    (2) after fixing (1), IRQ logic for 100-B should be verified (text in RBCONVERT.ZIP has details concerning -A versus -B.
15
16(2) IRQ / DMA / arbitration logic should be verified
1517   DMA (needed for 'Extended communication option') or Z80-8088 arbitration is non-existent (E11/E13 dumps anyone?).
16   (3) Read errors when booting CP/M 2.x or DOS 2.x (secondary boot; read errors beyond T >= 2).
17   Seek (+ verify) and a number of signals (TRACK > 43 TG43, INDEX etc.) do not work (diag.disk aborts drive test).
1818
19(3) Read errors when booting CPM 2 / DOS 2.x / DOS 3 (secondary boot loader finds errors on tracks >= 2).
20Seek (+ verify) and a number of signals (TRACK > 43 TG43, INDEX etc.) appear to be incorrect (-> diag.disk aborts drive test).
21UCSD systems (fort_sys, pas_sys) and diag disks boot!
22
1923    - NOT WORKING: serial (ERROR 60).
2024    - NOT WORKING: printer interface (ERROR 40). Like error 60 not mission-critical.
2125
r31155r31156
378382FLOPPY_FORMATS_END
379383
380384static SLOT_INTERFACE_START( rainbow_floppies )
381   SLOT_INTERFACE( "525qd", FLOPPY_525_SSQD // "525ssdd"
385   SLOT_INTERFACE("525qd", FLOPPY_525_SSQD) 
382386SLOT_INTERFACE_END
383387
384388
r31155r31156
414418   rom[0xf4000 + 0x363b]= 0xeb;  // COND => JMPS
415419
416420    if (rom[0xf4174] == 0x75)
417    {   rom[0xf4174] = 0xeb; // jmps  RAINBOW100_LOGO__loc_33D
421   {
422      rom[0xf4174] = 0xeb; // jmps  RAINBOW100_LOGO__loc_33D
418423        rom[0xf4175] = 0x08;
419424    }
420425
r31155r31156
559564#endif
560565      PORT_START("MONITOR TYPE")
561566      PORT_DIPNAME( 0x03, 0x03, "MONOCHROME MONITOR")
562      PORT_DIPSETTING(    0x01, "PAPER WHITE" )
567PORT_DIPSETTING(0x01, "WHITE")
563568      PORT_DIPSETTING(    0x02, "GREEN" )
564569      PORT_DIPSETTING(    0x03, "AMBER" )
565570
r31155r31156
640645   /* configure RAM */
641646   address_space &program = m_maincpu->space(AS_PROGRAM);
642647    if (m_inp8->read() < END_OF_RAM)
643   {   program.unmap_readwrite(m_inp8->read(), END_OF_RAM);
648   {
649      program.unmap_readwrite(m_inp8->read(), END_OF_RAM);
644650   }
645651
646652   // BIOS can't handle soft resets (=> triggers ERROR 16).
r31155r31156
695701
696702UINT32 rainbow_state::screen_update_rainbow(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
697703{
698   if (MOTOR_DISABLE_counter)
699      return 0;
700
701704   m_crtc->palette_select( m_inp9->read() );
702705
703706   if ( m_SCREEN_BLANK )
r31155r31156
10461049
10471050   floppy_connector *con = machine().device<floppy_connector>(names[drive]);
10481051   if (con)
1049   {   m_floppy = con->get_device();
1052   {
1053      m_floppy = con->get_device();
10501054         if (m_floppy)
10511055         { 
10521056            selected_drive = drive;
r31155r31156
10731077            MOTOR_DISABLE_counter = 4800; // 2400 = 500 ms
10741078
10751079//         m_fdc->set_force_ready(force_ready);
1076   }    else
1080   }
1081   else
10771082   {
10781083//          m_fdc->set_force_ready(false);
10791084   }
r31155r31156
10901095      data = data & (255 -3); 
10911096      data = data | 8;  // MOTOR 0 OFF
10921097      data = data | 16; // MOTOR 1 OFF
1093   }else
1094   {   data = ( data & (255 -3) ) | m_unit;
1098   }
1099   else
1100   {
1101      data = (data & (255 - 3)) | m_unit;
10951102
10961103       if(m_unit < 2)
10971104         data = data & (255 - 8); // MOTOR 0 (for A or B)
r31155r31156
11101117INTERRUPT_GEN_MEMBER(rainbow_state::vblank_irq)
11111118{
11121119   raise_8088_irq(IRQ_8088_VBL);
1120   m_crtc->notify_vblank(true);
11131121}
11141122
11151123WRITE_LINE_MEMBER( rainbow_state::clear_video_interrupt )
11161124{
11171125   lower_8088_irq(IRQ_8088_VBL);
1126   m_crtc->notify_vblank(false);
11181127}
11191128
1120
1121
11221129READ8_MEMBER( rainbow_state::diagnostic_r ) // 8088 (port 0A READ). Fig.4-29 + table 4-15
11231130{
11241131//    printf("%02x DIP value ORed to diagnostic\n", ( m_inp1->read() | m_inp2->read() | m_inp3->read()   )  );
r31155r31156
13461353   ROM_LOAD( "chargen.bin", 0x0000, 0x1000, CRC(1685e452) SHA1(bc299ff1cb74afcededf1a7beb9001188fdcf02f))
13471354ROM_END
13481355
1349// ROM definition for 100-B (system module 70-1994-02, PSU H7842-D)
1356// ROM definition for 100-B (system module 70-19974-02, PSU H7842-D)
13501357// Built until ~ May 1986 (see MP-01491-00)
13511358// - 32 K ROM (version 5.03)
13521359// - 128 K base and 896 K max. mem.
trunk/src/mess/video/vtvideo.c
r31155r31156
1010    ----------------------------------
1111    - TESTS REQUIRED : do line and character attributes (plus combinations) match real hardware?
1212
13    - JUMPY SOFT SCROLL : Soft scroll *should* be synced with beam or DMA (line linking/unlinking is done during VBI, in less than 550ms).
14                          See 4.7.4 and up in VT manual.
13- SCROLLING REGIONS / SPLIT SCREEN SCROLLING UNTESTED (if you open > 1 file with the VAX editor EDT)
14  See VT100 Technical Manual: 4.7.4 Address Shuffling to 4.7.9 Split Screen Smooth Scrolling.
15  More on scrolling regions: Rainbow 100 B technical documentation (QV069-GZ) April 1985 page 22
1516
16    - UNDOCUMENTED FEATURES of DC011 / DC012 (CLUES WANTED)
17       A. (VT 100): DEC VT terminals are said to have a feature that doubles the number of lines
18                    (50 real lines or just interlaced mode with 500 instead of 250 scanlines?)
17- INTERLACED MODE UNEMULATED:
18  There is no RAM (on a Rainbow-100) to hold twice as many vertical lines, so the video chip
19  doubles existing ones.           Flickers on CRTs and is of dubious value on modern hosts.
1920
20       B. (DEC-100-B) fun PD program SQUEEZE.COM _compresses_ display to X/2 and Y/2
21          - so picture takes a quarter of the original screen. How does it accomplish this?
21- FUN WITH DC011 / DC012 REGISTERS (clues wanted):
22  Public domain program SQUEEZE.COM (for DEC-100-B) _compresses_ display to X/2 and Y/2
23  so picture takes a quarter of the original screen. How does it accomplish this?
2224
2325    - IMPROVEMENTS:
24        - exact colors for different VR201 monitors ('paper white', green and amber)
26  exact colors for different VR201 monitors ('paper white', green and amber)
2527
2628    Copyright MESS Team.
2729    Visit http://mamedev.org for licensing and usage restrictions.
r31155r31156
116118   m_lba7 = 0;
117119
118120   m_scroll_latch = 0;
119   m_scroll_latch_valid = 0;
121   m_scroll_latch_valid = false;
122   m_last_scroll = 0;
120123
121124   m_blink_flip_flop = 0;
122125   m_reverse_field = 0;
r31155r31156
144147   m_lba7 = 0;
145148
146149   m_scroll_latch = 0;
147   m_scroll_latch_valid = 0;
150   m_scroll_latch_valid = false;
151   m_last_scroll = 0;
148152
149153   m_blink_flip_flop = 0;
150154   m_reverse_field = 0;
r31155r31156
171175
172176   if (m_columns == 132) {
173177      horiz_pix_total = m_columns * 9; // display 1 less filler pixel in 132 char. mode (DEC-100)
174   } else {
178   }
179   else {
175180      horiz_pix_total = m_columns * 10; // normal 80 character mode.
176181   }
177182
r31155r31156
210215
211216   if (!(data & 0x08))
212217   {
213      // The scroll offset put in 'm_scroll_latch' is a decimal offset controlling 10 scan lines.
214      // The BIOS first writes the least significant bits, then the 2 most significant bits.
215
216      // If scrolling up (incrementing the scroll latch), the additional line is linked in at the bottom.
217      // When the scroll latch is incremented back to 0, the top line of the scrolling region must be unlinked.
218
219      // When scrolling down (decrementing the scroll latch), new lines must be linked in at the top of the scroll region
220      // and unlinked down at the bottom.
221
222      // Note that the scroll latch value will be used during the next frame rather than the current frame.
223      // All line linking/unlinking is done during the vertical blanking interval (< 550ms).
224
225      // More on scrolling regions: Rainbow 100 B technical documentation (QV069-GZ) April 1985 page 22
226      // Also see VT100 Technical Manual: 4.7.4 Address Shuffling to 4.7.9 Split Screen Smooth Scrolling.
227218      if (!(data & 0x04))
228219      {
229         m_scroll_latch_valid = 0; // LSB is written first.
230
220         m_scroll_latch_valid = false; // LSB is written first.
231221         // set lower part scroll
232222         m_scroll_latch = data & 0x03;
233223      }
r31155r31156
235225      {
236226         // set higher part scroll
237227         m_scroll_latch = (m_scroll_latch & 0x03) | ((data & 0x03) << 2);
238
239         m_scroll_latch_valid = 1; // MSB is written last.
228         m_scroll_latch_valid = true;
240229      }
241230   }
242231   else
r31155r31156
492481   UINT16 y_preset;
493482   UINT16 x_preset, d_x_preset;
494483   if (m_columns == 132)
495   {     x_preset   = x * 9;
484   {
485      x_preset = x * 9;
496486         d_x_preset = x * 18;
497   } else
487   }
488   else
498489   {
499490         x_preset   = x * 10;
500491         d_x_preset = x * 20;
r31155r31156
513504
514505   display_type = display_type & 3;
515506
516   static int old_scroll_region;
517
518507   // * SCREEN ATTRIBUTES (see VT-180 manual 6-30) *
519508   // 'reverse field' = reverse video over entire screen
520509
r31155r31156
546535   bool double_width  = (display_type != 3) ? true  : false; // all except normal: double width
547536   bool double_height = (display_type &  1) ? false : true;  // 0,2 = double height
548537
538   int smooth_offset = 0;
539   if (scroll_region != 0)
540      smooth_offset = m_last_scroll; // valid after VBI
541
542   int extra_scan_line = 0;
549543   for (int scan_line = 0; scan_line < 10; scan_line++)
550544   {
551545      y_preset = y * 10 + scan_line;
552546
553      // Offset to bitmap in char-rom (used later below)
554      int i = scan_line;
555
556      // Affects 'i'  / 'y_preset' / 'scan_line' (= LOOP VARIABLE)
557      if ( m_scroll_latch_valid == 1)
547      int i = scan_line + smooth_offset; // offset to bitmap in char-rom (+ scroll)
548      if (i > 9) // SMOOTH SCROLL - fill previous scan line:
558549      {
559         // **** START IF SCROLL REGION:
560         if ( (old_scroll_region == 0) && (scroll_region == 1) )
561         {
562         if (scan_line == 0)  // * EXECUTED ONCE *
563         {
564            scan_line = m_scroll_latch; // write less lines  ! SIDE EFFECT ON LOOP !
565            i = m_scroll_latch;         // set hard offset to char-rom
566         }
567         }
550         extra_scan_line += 1;
551         i = smooth_offset - extra_scan_line; // correct bitmap
568552
569         // **** MIDDLE OF REGION:
570         if ( (old_scroll_region == 1) && (scroll_region == 1) )
571         {
572         if (    ( y * 10 + scan_line - m_scroll_latch ) >=   0 )
573                  y_preset = y * 10 + scan_line - m_scroll_latch;
553         y_preset -= scan_line;
554         if (y > 0)
555            y_preset -= extra_scan_line;  // Y * 10  - extra_scan_line
574556         }
575557
576         // **** END OF SCROLL REGION:
577         if ( (old_scroll_region == 1) && (scroll_region == 0) )
578         {
579         if (i > (9 - m_scroll_latch) )
580         {   old_scroll_region = m_scroll_latch_valid; // keep track
581            return;                         // WHAT HAPPENS WITH THE REST OF THE LINE (BLANK ?)
582         }
583         }
584      } // (IF) scroll latch valid
585
586558      switch (display_type)
587559      {
588560         case 0 :  // bottom half of 'double height, double width' char.
r31155r31156
613585               if (invert == 0)
614586                  line = 0xff; // CASE 5 A)
615587               else
616               {    line = 0x00; // CASE 5 B)
588            {
589               line = 0x00; // CASE 5 B)
617590                  back_intensity = 0; // OVERRIDE: BLACK BACKGROUND
618591               }
619592         }
r31155r31156
622595      for (int b = 0; b < 8; b++) // 0..7
623596      {
624597         if (blank)
625         {       bit = m_reverse_field ^ m_basic_attribute;
598         {
599            bit = m_reverse_field ^ m_basic_attribute;
626600         }
627601         else
628602         {
r31155r31156
652626         }
653627      } // for (8 bit)
654628
655
656629      // char interleave (X) is filled with last bit
657630      if (double_width)
658631      {
r31155r31156
661634         bitmap.pix16(y_preset, d_x_preset + 17) = bit;
662635
663636         if (m_columns == 80)
664         {   bitmap.pix16(y_preset, d_x_preset + 18) = bit;
637         {
638            bitmap.pix16(y_preset, d_x_preset + 18) = bit;
665639            bitmap.pix16(y_preset, d_x_preset + 19) = bit;
666640         }
667641      }
r31155r31156
672646         if (m_columns == 80)
673647            bitmap.pix16(y_preset, x_preset + 9) = bit;
674648      }
675
676649   } // for (scan_line)
677650
678651}
r31155r31156
765738
766739}
767740
741void rainbow_video_device::notify_vblank(bool v)
742{
743   static bool v_last;
744   m_notify_vblank = v;
768745
746   if (m_scroll_latch_valid)
747   {
748      // Line linking / unlinking is done during VBI (see 4.7.4 and up in VT manual).
749      if ((v == false) && (v_last == true))
750         m_last_scroll = m_scroll_latch;
751   }
752
753   v_last = v;
754}
755
769756void rainbow_video_device::palette_select ( int choice )
770757{
771758   switch(choice)
r31155r31156
778765                  break;
779766
780767         case 0x02:
781                  m_palette->set_pen_color(1, 0 , 205 -50, 70 - 50);        // GREEN (dim)
782                  m_palette->set_pen_color(2, 0 , 205,     70     );        // GREEN (NORMAL)
783                  m_palette->set_pen_color(3, 0,  205 +50, 70 + 50);        // GREEN (brighter)
768      m_palette->set_pen_color(1, 35, 200 - 55, 75);        // GREEN (dim)
769      m_palette->set_pen_color(2, 35 + 55, 200, 75 + 55);        // GREEN (NORMAL)
770      m_palette->set_pen_color(3, 35 + 110, 200 + 55, 75 + 110);         // GREEN (brighter)
784771                  break;
785772
786773         case 0x03:
trunk/src/mess/video/vtvideo.h
r31155r31156
5757
5858   // dc012 attributes
5959   UINT8 m_scroll_latch;
60   UINT8 m_scroll_latch_valid;
60   bool m_scroll_latch_valid;
6161   UINT8 m_blink_flip_flop;
6262   UINT8 m_reverse_field;
6363   UINT8 m_basic_attribute;
r31155r31156
7171
7272   const char *m_char_rom_tag; /* character rom region */
7373   required_device<palette_device> m_palette;
74   
75   bool m_notify_vblank;
76   int m_last_scroll;
7477};
7578
7679
r31155r31156
8487
8588   int MHFU(int);
8689   void palette_select(int choice);
90   void notify_vblank(bool choice);
8791protected:
8892   virtual void display_char(bitmap_ind16 &bitmap, UINT8 code, int x, int y, UINT8 scroll_region, UINT8 display_type);
8993   virtual void device_reset();
trunk/src/mame/drivers/chihiro.c
r31155r31156
2727| | 2004 | Wangan Midnight Maximum Tune (Japan)               | Namco                    | GDROM  | GDX-0008   | 317-5101-JPN |
2828| | 2004 | Wangan Midnight Maximum Tune (Japan) (Rev A)       | Namco                    | GDROM  | GDX-0008A  | 317-5101-JPN |
2929|*| 2004 | Wangan Midnight Maximum Tune (Japan) (Rev B)       | Namco                    | GDROM  | GDX-0008B  | 317-5101-JPN |
30| | 2004 | Wangan Midnight Maximum Tune (export)              | Namco                    | GDROM  | GDX-0009   | 317-5101-COM |
31| | 2004 | Wangan Midnight Maximum Tune (export) (Rev A)      | Namco                    | GDROM  | GDX-0009A  | 317-5101-COM |
32|*| 2004 | Wangan Midnight Maximum Tune (export) (Rev B)      | Namco                    | GDROM  | GDX-0009B  | 317-5101-COM |
30| | 2004 | Wangan Midnight Maximum Tune (Export)              | Namco                    | GDROM  | GDX-0009   | 317-5101-COM |
31| | 2004 | Wangan Midnight Maximum Tune (Export) (Rev A)      | Namco                    | GDROM  | GDX-0009A  | 317-5101-COM |
32|*| 2004 | Wangan Midnight Maximum Tune (Export) (Rev B)      | Namco                    | GDROM  | GDX-0009B  | 317-5101-COM |
3333| | 2004 | Outrun 2 SP (Japan)                                | Sega                     | GDROM  | GDX-0011   |              |
3434| | 2004 | Ghost Squad                                        | Sega                     | GDROM  | GDX-0012   | 317-0398-COM |
3535|*| 2004 | Ghost Squad (Rev A)                                | Sega                     | GDROM  | GDX-0012A  | 317-0398-COM |
r31155r31156
3838|*| 2004 | Outrun 2 Special Tours (Rev A)                     | Sega                     | GDROM  | GDX-0014A  | 317-0xxx-COM |
3939|*| 2005 | Wangan Midnight Maximum Tune 2 (Japan)             | Namco                    | GDROM  | GDX-0015   | 317-5106-JPN |
4040|*| 2005 | Wangan Midnight Maximum Tune 2 (Japan) (Rev A)     | Namco                    | GDROM  | GDX-0015A  | 317-5106-JPN |
41|*| 2005 | Wangan Midnight Maximum Tune 2 (export)            | Namco                    | GDROM  | GDX-0016   | 317-5106-COM |
41|*| 2005 | Wangan Midnight Maximum Tune 2 (Export)            | Namco                    | GDROM  | GDX-0016   | 317-5106-COM |
4242| | 2005 | Sega Network Taisen Mahjong MJ 3                   | Sega                     | GDROM  | GDX-0017   | 317-0414-JPN |
4343| | 2005 | Sega Network Taisen Mahjong MJ 3 (Rev A)           | Sega                     | GDROM  | GDX-0017A  | 317-0414-JPN |
4444| | 2005 | Sega Network Taisen Mahjong MJ 3 (Rev B)           | Sega                     | GDROM  | GDX-0017B  | 317-0414-JPN |
r31155r31156
48834883// 0008     GAME( 2004, wangmdjo, wangmidj, chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Japan) (GDX-0008)", GAME_NO_SOUND|GAME_NOT_WORKING )
48844884// 0008A    GAME( 2004, wangmdja, wangmidj, chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Japan) (Rev A) (GDX-0008A)", GAME_NO_SOUND|GAME_NOT_WORKING )
48854885// 0008B    GAME( 2004, wangmidj, wangmidj, chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Japan) (Rev B) (GDX-0008B)", GAME_NO_SOUND|GAME_NOT_WORKING )
4886// 0009     GAME( 2004, wangmido, wangmid,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (export) (GDX-0009)", GAME_NO_SOUND|GAME_NOT_WORKING )
4887// 0009A    GAME( 2004, wangmida, wangmid,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (export) (Rev A) (GDX-0009A)", GAME_NO_SOUND|GAME_NOT_WORKING )
4888/* 0009B */ GAME( 2004, wangmid,  chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (export) (Rev B) (GDX-0009B)", GAME_NO_SOUND|GAME_NOT_WORKING )
4886// 0009     GAME( 2004, wangmido, wangmid,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Export) (GDX-0009)", GAME_NO_SOUND|GAME_NOT_WORKING )
4887// 0009A    GAME( 2004, wangmida, wangmid,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Export) (Rev A) (GDX-0009A)", GAME_NO_SOUND|GAME_NOT_WORKING )
4888/* 0009B */ GAME( 2004, wangmid,  chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Export) (Rev B) (GDX-0009B)", GAME_NO_SOUND|GAME_NOT_WORKING )
48894889// 0011     GAME( 2004, outr2sp,  chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Out Run 2 SP (Japan) (GDX-0011)", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
48904890// 0012     GAME( 2004, ghostsqo, ghostsqu, chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (GDX-0012)", GAME_NO_SOUND|GAME_NOT_WORKING )
48914891/* 0012A */ GAME( 2004, ghostsqu, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (Rev A) (GDX-0012A)", GAME_NO_SOUND|GAME_NOT_WORKING )
r31155r31156
48944894/* 0014A */ GAME( 2004, outr2st,  chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Out Run 2 Special Tours (Rev A) (GDX-0014A)", GAME_NO_SOUND|GAME_NOT_WORKING )
48954895// 0015     GAME( 2005, wanmd2bo, wangmd2b, chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune 2 (Japan) (GDX-0015)", GAME_NO_SOUND|GAME_NOT_WORKING )
48964896/* 0015A */ GAME( 2005, wangmd2b, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune 2 (Japan) (Rev A) (GDX-0015A)", GAME_NO_SOUND|GAME_NOT_WORKING )
4897/* 0016  */ GAME( 2005, wangmid2, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune 2 (export) (GDX-0016)", GAME_NO_SOUND|GAME_NOT_WORKING )
4897/* 0016  */ GAME( 2005, wangmid2, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune 2 (Export) (GDX-0016)", GAME_NO_SOUND|GAME_NOT_WORKING )
48984898// 0017     GAME( 2005, mj3o,     mj3,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 3 (GDX-0017)", GAME_NO_SOUND|GAME_NOT_WORKING )
48994899// 0017A    GAME( 2005, mj3a,     mj3,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 3 (Rev A) (GDX-0017A)", GAME_NO_SOUND|GAME_NOT_WORKING )
49004900// 0017B    GAME( 2005, mj3b,     mj3,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 3 (Rev B) (GDX-0017B)", GAME_NO_SOUND|GAME_NOT_WORKING )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team