Previous 199869 Revisions Next

r32843 Monday 20th October, 2014 at 19:12:04 UTC by Wilbert Pol
msx.c: Removed nms8270 prototype; it seems to be a hacked up romset. There is no confirmation that it even exists. (nw)
[hash]megadriv.xml vsmile_cart.xml
[src/emu/video]upd7220.c upd7220.h
[src/mess]mess.lst
[src/mess/drivers]compis.c msx.c
[src/mess/includes]compis.h
[src/mess/video]x68k.c
[src/osd/windows]winos.c

trunk/hash/megadriv.xml
r241354r241355
1733817338
1733917339   <software name="madden98">
1734017340      <description>Madden NFL 98 (USA)</description>
17341      <year>1997</year>
17342      <publisher>Electronic Arts</publisher>
17343      <part name="cart" interface="megadriv_cart">
17344         <feature name="slot" value="rom_sram"/>
17345         <dataarea name="rom" width="16" endianness="big" size="2097152">
17346            <rom name="madden nfl 98 (usa).bin" size="2097152" crc="e051ea62" sha1="761e0903798a8d0ad9e7ab72e6d2762fc9d366d2" offset="0x000000"/>
17347         </dataarea>
17348         <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. -->
17349         </dataarea>
17350      </part>
17351   </software>
17352 
17341      <year>1997</year>
17342      <publisher>Electronic Arts</publisher>
17343      <part name="cart" interface="megadriv_cart">
17344         <dataarea name="rom" width="16" endianness="big" size="2097152">
17345            <rom name="madden nfl 98 (usa).bin" size="2097152" crc="e051ea62" sha1="761e0903798a8d0ad9e7ab72e6d2762fc9d366d2" offset="0x000000"/>
17346         </dataarea>
17347      </part>
17348   </software>
17349
1735317350   <software name="madoumon">
1735417351      <description>Madou Monogatari I (Jpn)</description>
1735517352      <year>1996</year>
r241354r241355
1966319660
1966419661   <software name="nhl98">
1966519662      <description>NHL 98 (USA)</description>
19666      <year>1997</year>
19667      <publisher>Electronic Arts</publisher>
19668      <part name="cart" interface="megadriv_cart">
19669         <feature name="slot" value="rom_sram"/>
19670         <dataarea name="rom" width="16" endianness="big" size="2097152">
19671            <rom name="nhl 98 (usa).bin" size="2097152" crc="7b64cd98" sha1="6771e9b660bde010cf28656cafb70f69249a3591" offset="0x000000"/>
19672         </dataarea>
19673         <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. -->
19674         </dataarea>
19675      </part>
19676   </software>
19677 
19663      <year>1997</year>
19664      <publisher>Electronic Arts</publisher>
19665      <part name="cart" interface="megadriv_cart">
19666         <dataarea name="rom" width="16" endianness="big" size="2097152">
19667            <rom name="nhl 98 (usa).bin" size="2097152" crc="7b64cd98" sha1="6771e9b660bde010cf28656cafb70f69249a3591" offset="0x000000"/>
19668         </dataarea>
19669      </part>
19670   </software>
19671
1967819672   <software name="nhlasp03" cloneof="nhlas">
1967919673      <description>NHL All-Star Hockey '95 (Prototype, 19941201-B)</description>
1968019674      <year>1994</year>
r241354r241355
3069830692
3069930693   <software name="nhlpa2k3" cloneof="nhl98">
3070030694      <description>NHLPA 2003 (Rus)</description>
30701      <year>199?</year>
30702      <publisher>&lt;unknown&gt;</publisher>
30703      <part name="cart" interface="megadriv_cart">
30704         <feature name="slot" value="rom_sram"/>
30705         <dataarea name="rom" width="16" endianness="big" size="2097152">
30706            <rom name="nhlpa 2003 (unl).bin" size="2097152" crc="4591571b" sha1="4e6dd50d0f671b89c4ce3f7d1a63ecb68208dc8e" offset="0x000000"/>
30707         </dataarea>
30708         <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. -->
30709         </dataarea>
30710      </part>
30711   </software>
30712 
30695      <year>199?</year>
30696      <publisher>&lt;unknown&gt;</publisher>
30697      <part name="cart" interface="megadriv_cart">
30698         <dataarea name="rom" width="16" endianness="big" size="2097152">
30699            <rom name="nhlpa 2003 (unl).bin" size="2097152" crc="4591571b" sha1="4e6dd50d0f671b89c4ce3f7d1a63ecb68208dc8e" offset="0x000000"/>
30700         </dataarea>
30701      </part>
30702   </software>
30703
3071330704   <software name="pcarib" cloneof="unchartd">
3071430705      <description>Pirates of the Caribbean (Rus)</description>
3071530706      <year>199?</year>
trunk/hash/vsmile_cart.xml
r241354r241355
1111
1212
1313V.Reader:                     80-28****
14V.Smile Motion:               80-08****  (Smartridges are orange)
15V.Smile Smartbook Software:   80-089***  (Smartridges are red)
16V.Smile:                      80-092***  (Smartridges are purple, some are gray because of plastic defects)
17
18Addons (w/ yellow Smartridges)
19V.Smile Smart Keyboard    80-091440
20V.Smile PC Pal            80-03600
21V.Smile Art Studio        80-67000
22V.Smile Jamming Gym Class 80-91320
23
24- Not compatible with V.Smile games, left as documentation
14V.Smile Motion:               80-08****
15V.Smile Smartbook Software:   80-089***
16V.Smile:                      80-092***
2517V.Flash (V.Smile Pro):        80-093***
2618
2719
r241354r241355
938580-084604(GER)  | Cinderella - Lernen im Märchenland
948680-084624(GER)  | Findet Nemo - Nemos Unterwasserabenteuer
9587
96
978880-089000(US)   | Spider-Man &amp; Friends Where is Hulk?
988980-089020(US)   | Toy Story 2
9980-089040(US)   | Dora's Fix It Adventure
10080-089060(US)   | Scooby-Doo! - A Night of Fright is no Delight
9080-089040(US)   | Dora the Explorer
10191
1029280-090000(US)   | Up
1039380-090000(GER)  | Oben
r241354r241355
11510580-092004(GER)  | Abenteuer im ABC Park
11610680-092020(US)   | The Adventures of Little Red Riding Hood
11710780-092024(GER)  | Entdecke die Welt von Rotkäppchen
11880-092060(US)   | Winnie The Pooh: The Honey Hunt
10880-092060(US)   | Winnie The Pooh: Honey Hunt
11910980-092064(GER)  | Winnie Puuh - Die Honigjagd
12011080-092080(US)   | Mickey Mouse - Mickey's Magical Adventures
12111180-092087(SPA)  | Mickey - La Aventura Magica de Mickey
12211280-092084(GER)  | Micky - Mickys magisches Abenteuer
12311380-092100(US)   | The Lion King: Simba's Big Adventure
12411480-092104(GER)  | Der König der Löwen - Simbas großes Abenteuer
12580-092120(US)   | The Little Mermaid - Ariel's Majestic Journey
11580-092120(US)   | The Little Mermaid
12611680-092124(GER)  | Arielle die Meerjungfrau - Arielles aufregendes Abenteuer
12711780-092127(SPA)  | La Sirenita - El Vieje Fantástico de Ariel
12811880-092140(US)   | Spider-Man & Friends - Secret Missions
r241354r241355
13912980-092264(GER)  | Elmo's großes Abenteuer
14013080-092265(FRA)  | Le Monde d'ELMO - Les Grandes Decouvertes D'Elmo
14113180-092280(US)   | Dora The Explorer
14280-092300(US)   | Bob the Builder: Bob's Busy Day
13280-092300(US)   | Bob the Builder: Bob's busy day
14313380-092304(GER)  | Bob der Baumeister - Achtung Baustelle
14413480-092320(US)   | The Wiggles - It's Wiggle Time!
14513580-092340(US)   | Thomas The Tank: Engines Working Together
14680-092340-101(US)   | Thomas The Tank: Engines Working Together (ALT)
14713680-092360(US)   | Zayzoo My Alien Classmate
14880-092360-101(US)   | Zayzoo - An Earth Adventure
14980-092380(US)   | Barney - The Land of Make Believe
15013780-092384(GER)  | Barney - Erlebnis-Reise
15113880-092400(US)   | Blue's Clues Collection Day
15213980-092420(US)   | Finding Nemo
r241354r241355
15614380-092480(US)   | Batman: Gotham City Rescue
15714480-092500(US)   | Whiz Kid Wheels
15814580-092520(US)   | Spider-Man & Friends Doc Ock's Challenge
15980-092540(US)   | Noddy - Detective for a Day
14680-092540(US)   | Noddy
16014780-092544(GER)  | Noddy
16114880-092564(GER)  | 101 Dalmatiner
16280-092580(US)   | Backyardigans - Viking Voyage
16380-092600(US)   | Shrek - Dragon's Tale
14980-092580(US)   | Backyardigans
15080-092600(US)   | Shrek 2
16415180-092620(US)   | Lil' Bratz - Friends, Fashion and Fun
16580-092640(US)   | Superman - The Greatest Hero
15280-092640(US)   | Superman
16615380-092660(US)   | Cars: Rev It Up In Radiator Springs
16715480-092662(NL)   | Cars - Spektakel in Radiator Springs
16880-092666(SPA)  | Cars: Acelera El Motor En Radiador Springs
16915580-092664(GER)  | Cars
17015680-092820(US)   | Soccer
17115780-092824(GER)  | Fußball Schule
r241354r241355
17516180-092882(NL)   | Ratatouille
17616280-092884(GER)  | Ratatouille - Remys neue Rezepte
17716380-092885(FRA)  | Ratatouille - Les nouvelles recettes de Rémy
17880-092900(US)   | Go Diego Go - Save the Animal Familes!
16480-092900(US)   | Go Diego Go
17916580-092920(US)   | Cranium - Partyland Park
18080-092960(US)   | Kung Fu Panda - Path of the Panda
16680-092960(US)   | Kung Fu Panda
18116780-092980(US)   | Little Einsteins
182168
18316980-093000(US)   | The Crystal Ball Adventure
trunk/src/emu/video/upd7220.c
r241354r241355
3333    - honor visible area
3434    - wide mode (32-bit access)
3535    - light pen
36    - dad and mask are the same, in figd dad is shifted every step and when msb or lsb are 1 ead is advanced in x dir
3736
3837*/
3938
r241354r241355
121120#define UPD7220_SR_HBLANK_ACTIVE        0x40
122121#define UPD7220_SR_LIGHT_PEN_DETECT     0x80
123122
123#define UPD7220_MODE_S                  0x01
124124#define UPD7220_MODE_REFRESH_RAM        0x04
125#define UPD7220_MODE_I                  0x08
125126#define UPD7220_MODE_DRAW_ON_RETRACE    0x10
126127#define UPD7220_MODE_DISPLAY_MASK       0x22
127128#define UPD7220_MODE_DISPLAY_MIXED      0x00
128129#define UPD7220_MODE_DISPLAY_GRAPHICS   0x02
129130#define UPD7220_MODE_DISPLAY_CHARACTER  0x20
130131#define UPD7220_MODE_DISPLAY_INVALID    0x22
131#define UPD7220_MODE_INTERLACE_MASK     0x09
132#define UPD7220_MODE_INTERLACE_NONE     0x00
133#define UPD7220_MODE_INTERLACE_INVALID  0x01
134#define UPD7220_MODE_INTERLACE_REPEAT   0x08
135#define UPD7220_MODE_INTERLACE_ON       0x09
136132
137
138133static const int x_dir[8] = { 0, 1, 1, 1, 0,-1,-1,-1};
139134static const int y_dir[8] = { 1, 1, 0,-1,-1,-1, 0, 1};
140135
r241354r241355
371366
372367inline void upd7220_device::recompute_parameters()
373368{
374   int horiz_mult;
375369   /* TODO: assume that the pitch also controls number of horizontal pixels in a single cell */
376   // horiz_mult = 4 if both mixed and interlace?
377   if(((m_mode & UPD7220_MODE_DISPLAY_MASK) == UPD7220_MODE_DISPLAY_MIXED) ||
378            ((m_mode & UPD7220_MODE_INTERLACE_MASK) == UPD7220_MODE_INTERLACE_ON))
379      horiz_mult = 8;
380   else
381      horiz_mult = 16;
382
383   int horiz_pix_total = (m_hs + m_hbp + m_hfp + m_aw) * horiz_mult;
370   int horiz_mult = ((m_pitch == 40) ? 16 : 8);
371   int horiz_pix_total = (m_hs + m_hbp + m_aw + m_hfp) * horiz_mult;
384372   int vert_pix_total = m_vs + m_vbp + m_al + m_vfp;
385373
386374   //printf("%d %d %d %d\n",m_hs,m_hbp,m_aw,m_hfp);
r241354r241355
389377   if (horiz_pix_total == 0 || vert_pix_total == 0) //bail out if screen params aren't valid
390378      return;
391379
392   attoseconds_t refresh = HZ_TO_ATTOSECONDS(clock() * 8) * horiz_pix_total * vert_pix_total;
380   attoseconds_t refresh = HZ_TO_ATTOSECONDS(clock() * horiz_mult) * horiz_pix_total * vert_pix_total;
393381
394382   rectangle visarea;
395383
r241354r241355
431419   m_figs.m_d1 = 0x0008;
432420   m_figs.m_d2 = 0x0000;
433421   m_figs.m_dm = 0x0000;
434   m_figs.m_gd = 0;
435422}
436423
437424
r241354r241355
492479
493480   result = 0;
494481
495   if(((m_mode & UPD7220_MODE_DISPLAY_MASK) == UPD7220_MODE_DISPLAY_GRAPHICS) || m_figs.m_gd)
496      result = BITSWAP8(m_pr[1],0,1,2,3,4,5,6,7) | (BITSWAP8(m_pr[2],0,1,2,3,4,5,6,7) << 8);
497   else
498      result = m_pr[1] | (m_pr[2] << 8);
499
500482   switch(type)
501483   {
502484      case 0:
485         result = (m_pr[1] & 0xff);
486         result |= (m_pr[2] << 8);
503487         result &= m_mask;
504488         break;
505489      case 2:
490         result = (m_pr[1] & 0xff);
506491         result &= (m_mask & 0xff);
507492         break;
508493      case 3:
509         result <<= 8;
494         result = (m_pr[1] << 8);
510495         result &= (m_mask & 0xff00);
511496         break;
512497   }
r241354r241355
775760
776761void upd7220_device::draw_pixel(int x, int y, int xi, UINT16 tile_data)
777762{
778   UINT32 addr = ((y * m_pitch * 2) + (x >> 3)) & 0x3ffff;
763   UINT32 addr = (y * m_pitch * 2 + (x >> 3)) & 0x3ffff;
779764   UINT8 data = readbyte(addr);
780765   UINT8 new_pixel = (xi & 8 ? tile_data >> 8 : tile_data & 0xff) & (0x80 >> (xi & 7));
781766   new_pixel = new_pixel ? (0xff & (0x80 >> (x & 7))) : 0;
r241354r241355
812797   UINT16 pattern = (m_ra[8]) | (m_ra[9]<<8);
813798   int line_step = 0;
814799
815   LOG(("uPD7220 line check: %d %d %02x %08x %d %d %d\n",x,y,m_figs.m_dir,m_ead,m_figs.m_d1,m_figs.m_dc,m_bitmap_mod));
800   LOG(("uPD7220 line check: %d %d %02x %08x %d %d\n",x,y,m_figs.m_dir,m_ead,m_figs.m_d1,m_figs.m_dc));
816801
817802   line_size = m_figs.m_dc;
818803
r241354r241355
830815   x += (line_step*line_x_step[m_figs.m_dir]);
831816   y += (line_step*line_y_step[m_figs.m_dir]);
832817
833   m_ead = (x >> 4) + (y * (m_pitch >> m_figs.m_gd));
818   m_ead = (x >> 4) + (y * m_pitch);
834819   m_dad = x & 0x0f;
835820}
836821
r241354r241355
895880         break;
896881   }
897882
898   m_ead = (x >> 4) + (y * (m_pitch >> m_figs.m_gd));
883   m_ead = (x >> 4) + (y * m_pitch);
899884   m_dad = x & 0x0f;
900885}
901886
r241354r241355
950935      y+=rect_y_dir[rect_dir];
951936   }
952937
953   m_ead = (x >> 4) + (y * (m_pitch >> m_figs.m_gd));
938   m_ead = (x >> 4) + (y * m_pitch);
954939   m_dad = x & 0x0f;
955940
956941}
r241354r241355
990975      }
991976   }
992977
993   m_ead = (x >> 4) + (y * (m_pitch >> m_figs.m_gd));
978   m_ead = (x >> 4) + (y * m_pitch);
994979   m_dad = (x & 0xf);
995980}
996981
r241354r241355
10521037{
10531038   UINT8 data;
10541039   int flag;
1055   UINT16 eff_pitch = m_pitch >> m_figs.m_gd;
10561040
10571041   dequeue(&data, &flag);
10581042
r241354r241355
12191203
12201204         m_ead = (upper_addr << 16) | (m_pr[2] << 8) | m_pr[1];
12211205
1222         LOG(("uPD7220 '%s' EAD: %06x\n", tag(), m_ead));
1206         //LOG(("uPD7220 '%s' EAD: %06x\n", tag(), m_ead));
12231207
12241208         if(m_param_ptr == 4)
12251209         {
12261210            m_dad = m_pr[3] >> 4;
1227            LOG(("uPD7220 '%s' DAD: %01x\n", tag(), m_dad));
1211            //LOG(("uPD7220 '%s' DAD: %01x\n", tag(), m_dad));
12281212         }
12291213      }
12301214      break;
r241354r241355
12621246
12631247      if (m_param_ptr == 3 || (m_param_ptr == 2 && m_cr & 0x10))
12641248      {
1265         LOG(("%02x = %02x %02x (%c) %06x %04x\n",m_cr,m_pr[2],m_pr[1],m_pr[1]?m_pr[1]:' ',m_ead,m_figs.m_dc));
1249         //printf("%02x = %02x %02x (%c) %04x\n",m_cr,m_pr[2],m_pr[1],m_pr[1],EAD);
12661250         fifo_set_direction(FIFO_WRITE);
12671251
12681252         write_vram((m_cr & 0x18) >> 3,m_cr & 3);
r241354r241355
12961280         m_figs.m_dc = (m_pr[2]) | (m_figs.m_dc & 0x3f00);
12971281
12981282      if (m_param_ptr == 4)
1299      {
13001283         m_figs.m_dc = (m_pr[2]) | ((m_pr[3] & 0x3f) << 8);
1301         m_figs.m_gd = (m_pr[3] & 0x40) && ((m_mode & UPD7220_MODE_DISPLAY_MASK) == UPD7220_MODE_DISPLAY_MIXED);
1302      }
13031284
13041285      if (m_param_ptr == 6)
13051286         m_figs.m_d = (m_pr[4]) | ((m_pr[5] & 0x3f) << 8);
r241354r241355
13171298
13181299   case COMMAND_FIGD: /* figure draw start */
13191300      if(m_figs.m_figure_type == 0)
1320         draw_pixel(((m_ead % eff_pitch) << 4) | (m_dad & 0xf),(m_ead / eff_pitch),m_dad,(m_ra[8]) | (m_ra[9]<<8));
1301         draw_pixel(((m_ead % m_pitch) << 4) | (m_dad & 0xf),(m_ead / m_pitch),m_dad,(m_ra[8]) | (m_ra[9]<<8));
13211302      else if(m_figs.m_figure_type == 1)
1322         draw_line(((m_ead % eff_pitch) << 4) | (m_dad & 0xf),(m_ead / eff_pitch));
1303         draw_line(((m_ead % m_pitch) << 4) | (m_dad & 0xf),(m_ead / m_pitch));
13231304      else if(m_figs.m_figure_type == 4)
1324         draw_arc(((m_ead % eff_pitch) << 4) | (m_dad & 0xf),(m_ead / eff_pitch));
1305         draw_arc(((m_ead % m_pitch) << 4) | (m_dad & 0xf),(m_ead / m_pitch));
13251306      else if(m_figs.m_figure_type == 8)
1326         draw_rectangle(((m_ead % eff_pitch) << 4) | (m_dad & 0xf),(m_ead / eff_pitch));
1307         draw_rectangle(((m_ead % m_pitch) << 4) | (m_dad & 0xf),(m_ead / m_pitch));
13271308      else
13281309         logerror("uPD7220 '%s' Unimplemented command FIGD %02x\n", tag(),m_figs.m_figure_type);
13291310
r241354r241355
13331314
13341315   case COMMAND_GCHRD: /* graphics character draw and area filling start */
13351316      if(m_figs.m_figure_type == 2)
1336         draw_char(((m_ead % eff_pitch) << 4) | (m_dad & 0xf),(m_ead / eff_pitch));
1317         draw_char(((m_ead % m_pitch) << 4) | (m_dad & 0xf),(m_ead / m_pitch));
13371318      else
13381319         logerror("uPD7220 '%s' Unimplemented command GCHRD %02x\n", tag(),m_figs.m_figure_type);
13391320
r241354r241355
15871568            addr = ((sad << 1) & 0x3ffff) + (y * m_pitch * 2);
15881569
15891570            if (!m_display_cb.isnull())
1590               draw_graphics_line(bitmap, addr, y + (bsy >> !im), wd);
1571               draw_graphics_line(bitmap, addr, y + bsy/((m_pitch == 40)+1), wd);
15911572         }
15921573      }
15931574      else
trunk/src/emu/video/upd7220.h
r241354r241355
209209      UINT8 m_dir;                // figs param 0: drawing direction
210210      UINT8 m_figure_type;        // figs param 1: figure type
211211      UINT16 m_dc;                // figs param 2:
212      UINT8  m_gd;                // mixed mode only
213212      UINT16 m_d;                 // figs param 3:
214213      UINT16 m_d1;                // figs param 4:
215214      UINT16 m_d2;                // figs param 5:
trunk/src/mess/drivers/compis.c
r241354r241355
100100      if (offset < 2)
101101         return m_crtc->read(space, offset & 0x01);
102102      else
103         // monochrome only, hblank? vblank?
104         if(offset == 2)
105         {
106            switch(m_unk_video)
107            {
108               case 0x04:
109                  m_unk_video = 0x44;
110                  break;
111               case 0x44:
112                  m_unk_video = 0x64;
113                  break;
114               default:
115                  m_unk_video = 0x04;
116                  break;
117            }
118            return m_unk_video;
119         }
120      else
121103         return 0;
122104   }
123105   else
r241354r241355
133115{
134116   if (ACCESSING_BITS_0_7)
135117   {
136      // 0x336 is likely the color plane register
137118      if (offset < 2) m_crtc->write(space, offset & 0x01, data);
138
139119   }
140120   else
141121   {
r241354r241355
241221}
242222
243223
224//-------------------------------------------------
225//  vram_r -
226//-------------------------------------------------
227
228READ8_MEMBER( compis_state::vram_r )
229{
230   return m_video_ram[offset];
231}
232
233
234//-------------------------------------------------
235//  vram_w -
236//-------------------------------------------------
237
238WRITE8_MEMBER( compis_state::vram_w )
239{
240   m_video_ram[offset] = data;
241}
242
243
244
244245//**************************************************************************
245246//  ADDRESS MAPS
246247//**************************************************************************
r241354r241355
252253static ADDRESS_MAP_START( compis_mem, AS_PROGRAM, 16, compis_state )
253254   ADDRESS_MAP_UNMAP_HIGH
254255   AM_RANGE(0x00000, 0x1ffff) AM_RAM
256   AM_RANGE(0x40000, 0x5ffff) AM_READWRITE8(vram_r, vram_w, 0xffff)
255257   AM_RANGE(0x60000, 0x63fff) AM_MIRROR(0x1c000) AM_DEVICE(I80130_TAG, i80130_device, rom_map)
256258   AM_RANGE(0xe0000, 0xeffff) AM_MIRROR(0x10000) AM_ROM AM_REGION(I80186_TAG, 0)
257259ADDRESS_MAP_END
r241354r241355
263265
264266static ADDRESS_MAP_START( compis2_mem, AS_PROGRAM, 16, compis_state )
265267   ADDRESS_MAP_UNMAP_HIGH
266   AM_RANGE(0x00000, 0xbffff) AM_RAM
268   AM_RANGE(0x00000, 0x3ffff) AM_RAM
269   AM_RANGE(0x40000, 0x5ffff) AM_READWRITE8(vram_r, vram_w, 0xffff)
270   AM_RANGE(0x60000, 0xbffff) AM_RAM
267271   AM_RANGE(0xe0000, 0xeffff) AM_MIRROR(0x10000) AM_ROM AM_REGION(I80186_TAG, 0)
268272ADDRESS_MAP_END
269273
r241354r241355
313317//-------------------------------------------------
314318
315319static ADDRESS_MAP_START( upd7220_map, AS_0, 8, compis_state )
316   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
317   AM_RANGE(0x00000, 0x7fff) AM_RAM AM_SHARE("video_ram")
320   ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
321   AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
318322ADDRESS_MAP_END
319323
320324
r241354r241355
451455
452456UPD7220_DISPLAY_PIXELS_MEMBER( compis_state::hgdc_display_pixels )
453457{
454   UINT8 i,gfx = m_video_ram[(address & 0x7fff)];
458   UINT8 i,gfx = m_video_ram[address];
455459   const pen_t *pen = m_palette->pens();
456460
457461   for(i=0; i<8; i++)
458      bitmap.pix32(y, x + i) = pen[BIT(gfx, 7 - i)];
462      bitmap.pix32(y, x + i) = pen[BIT(gfx, i)];
459463}
460464
461465
trunk/src/mess/drivers/msx.c
r241354r241355
6363** - perfect1: Firmware broken
6464** - mpc2500f: Fix keyboard layout?
6565** - nms8260: HDD not emulated
66** - nms8270: MSX-Audio not emulated
6766** - mpc27: Light pen not emulated
6867** - phc77: firmware not emulated
6968** - phc77: printer not emulated
r241354r241355
216215Philips NMS-8255 - MSX2 - nms8255
217216Philips NMS-8255F - MSX2 - nms8255f
218217Philips NMS-8260 - MSX2 - nms8260
219Philips NMS-8270 - MSX2 - nms8270
218Philips NMS-8270 - MSX2 - nms8270 - not confirmed to exist yet
220219Philips NMS-8280 - MSX2 - nms8280
221220Philips NMS-8280F - MSX2 - nms8280f
222221Philips NMS-8280G - MSX2 - nms8280g
r241354r241355
57415740   MCFG_FRAGMENT_ADD( msx2_cartlist )
57425741MACHINE_CONFIG_END
57435742
5744/* MSX2 - Philips NMS-8270 */
5743/* MSX2 - Philips NMS-8270 - Not confirmed to exist yet */
57455744
5746ROM_START (nms8270)
5747   ROM_REGION (0x18000, "maincpu", 0)
5748   ROM_LOAD ("nms8270bios.rom",   0x0000, 0x8000, CRC(6cdaf3a5) SHA1(6103b39f1e38d1aa2d84b1c3219c44f1abb5436e))
5749   ROM_LOAD ("nms8270ext.rom",    0x8000, 0x4000, CRC(66237ecf) SHA1(5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02))
5750   ROM_LOAD ("nms8270disk.rom",   0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
5751   ROM_LOAD ("nms8270audio.rom", 0x10000, 0x8000, CRC(d8a17006) SHA1(f081a884505af9a1080b2b57e86b6da93b784301))
5752ROM_END
5753
5754static MACHINE_CONFIG_DERIVED( nms8270, msx2_pal )
5755   // YM2149 (in S-3527 MSX Engine)
5756   // FDC: wd2793, 1 3.5" DSDD drives
5757   // 2 Cartridge slots
5758   // S-3527 MSX Engine
5759   // MSX-Audio builtin
5760
5761   MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
5762   MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
5763   MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
5764   MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
5765   MCFG_MSX_LAYOUT_ROM("msxaudio", 3, 1, 1, 2, "maincpu", 0x10000)
5766   MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000)   /* 128KB Mapper RAM */
5767   MCFG_MSX_RAMIO_SET_BITS(0xf8)
5768   MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
5769
5770   MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
5771   MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
5772   MCFG_FRAGMENT_ADD( msx2_floplist )
5773
5774   MCFG_FRAGMENT_ADD( msx2_cartlist )
5775MACHINE_CONFIG_END
5776
57775745/* MSX2 - Philips NMS-8280 - 2 possible sets (/00 /16) */
57785746
57795747ROM_START (nms8280)
r241354r241355
83588326COMP(1986, nms8255,    0,        0, nms8255,    msx2,     driver_device, 0, "Philips", "NMS-8255 (MSX2)", 0)
83598327COMP(1986, nms8255f,   nms8255,  0, nms8255f,   msx2,     driver_device, 0, "Philips", "NMS-8255F (MSX2)", 0) // French keyboard
83608328COMP(1986, nms8260,    0,        0, nms8260,    msx2,     driver_device, 0, "Philips", "NMS-8260 (Prototype) (MSX2)", GAME_NOT_WORKING)
8361COMP(198?, nms8270,    0,        0, nms8270,    msx2,     driver_device, 0, "Philips", "NMS-8270 (Prototype) (MSX2)", GAME_NOT_WORKING)
83628329COMP(1986, nms8280,    0,        0, nms8280,    msx2,     driver_device, 0, "Philips", "NMS-8280 (MSX2)", 0)
83638330COMP(1986, nms8280f,   nms8280,  0, nms8280f,   msx2,     driver_device, 0, "Philips", "NMS-8280F (MSX2)", 0) // French keyboard
83648331COMP(1986, nms8280g,   nms8280,  0, nms8280g,   msx2,     driver_device, 0, "Philips", "NMS-8280G (MSX2)", 0)
trunk/src/mess/includes/compis.h
r241354r241355
103103   DECLARE_WRITE16_MEMBER( isbx1_cs_w );
104104   DECLARE_READ16_MEMBER( isbx1_dack_r );
105105   DECLARE_WRITE16_MEMBER( isbx1_dack_w );
106   DECLARE_READ8_MEMBER( vram_r );
107   DECLARE_WRITE8_MEMBER( vram_w );
106108
107109   DECLARE_READ8_MEMBER( compis_irq_callback );
108110
r241354r241355
123125   DECLARE_WRITE_LINE_MEMBER(write_centronics_select);
124126
125127   int m_tmr0;
126   int m_unk_video;
127128
128129   UPD7220_DISPLAY_PIXELS_MEMBER( hgdc_display_pixels );
129130};
trunk/src/mess/mess.lst
r241354r241355
15061506nms8255   // 1986 MSX2
15071507nms8255f
15081508nms8260
1509nms8270
15101509nms8280   // 1986 MSX2
15111510nms8280f
15121511nms8280g   // 1986 MSX2
trunk/src/mess/video/x68k.c
r241354r241355
890890void x68k_state::x68k_draw_gfx(bitmap_rgb32 &bitmap,rectangle cliprect)
891891{
892892   int priority, scanline, pixel;
893   bool gfxblend=false;
893   bool gfxblend;
894894   //rectangle rect;
895895   //int xscr,yscr;
896896   //int gpage;
trunk/src/osd/windows/winos.c
r241354r241355
66
77#define WIN32_LEAN_AND_MEAN
88#include <windows.h>
9#include <stdlib.h>
109
1110// MAME headers
1211#include "osdcore.h"


Previous 199869 Revisions Next


© 1997-2024 The MAME Team