Previous 199869 Revisions Next

r19068 Tuesday 20th November, 2012 at 13:48:49 UTC by Angelo Salese
Fixed a bunch of graphic regressions in QX-10
[src/mess/drivers]apc.c qx10.c

trunk/src/mess/drivers/qx10.c
r19067r19068
6767   m_fdc(*this, "upd765"),
6868   m_hgdc(*this, "upd7220"),
6969   m_rtc(*this, "rtc"),
70   m_vram_bank(0),
71   m_video_ram(*this, "video_ram"){ }
70   m_vram_bank(0)
71   { }
7272
7373   required_device<device_t> m_pit_1;
7474   required_device<device_t> m_pit_2;
r19067r19068
8282   required_device<upd7220_device> m_hgdc;
8383   required_device<mc146818_device> m_rtc;
8484   UINT8 m_vram_bank;
85   required_shared_ptr<UINT8> m_video_ram;
85   //required_shared_ptr<UINT8> m_video_ram;
86   UINT8 *m_video_ram;
8687
88   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
89
8790   virtual void machine_start();
8891   virtual void machine_reset();
8992
r19067r19068
156159
157160   if(state->m_color_mode)
158161   {
159      gfx[0] = state->m_video_ram[(address * 2) + 0x00000];
160      gfx[1] = state->m_video_ram[(address * 2) + 0x20000];
161      gfx[2] = state->m_video_ram[(address * 2) + 0x40000];
162      gfx[0] = state->m_video_ram[(address) + 0x00000];
163      gfx[1] = state->m_video_ram[(address) + 0x20000];
164      gfx[2] = state->m_video_ram[(address) + 0x40000];
162165   }
163166   else
164167   {
r19067r19068
230233   }
231234}
232235
236UINT32 qx10_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
237{
238   bitmap.fill(get_black_pen(machine()), cliprect);
239
240   m_hgdc->screen_update(screen, bitmap, cliprect);
241
242   return 0;
243}
244
233245/*
234246    Memory
235247*/
r19067r19068
963975void qx10_state::video_start()
964976{
965977   // allocate memory
966   //m_video_ram = auto_alloc_array_clear(machine(), UINT8, 0x60000);
978   m_video_ram = auto_alloc_array_clear(machine(), UINT8, 0x60000);
967979
968980   // find memory regions
969981   m_char_rom = memregion("chargen")->base();
r19067r19068
10071019}
10081020
10091021static ADDRESS_MAP_START( upd7220_map, AS_0, 8, qx10_state )
1010   ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
1011   AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
1022   AM_RANGE(0x00000, 0x5ffff) AM_READWRITE(vram_r,vram_w)
10121023ADDRESS_MAP_END
10131024
10141025
r19067r19068
10221033   MCFG_SCREEN_ADD("screen", RASTER)
10231034   MCFG_SCREEN_REFRESH_RATE(50)
10241035   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
1025   MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update)
1036   MCFG_SCREEN_UPDATE_DRIVER(qx10_state, screen_update)
10261037   MCFG_SCREEN_SIZE(640, 480)
10271038   MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
10281039   MCFG_GFXDECODE(qx10)
trunk/src/mess/drivers/apc.c
r19067r19068
167167
168168UINT32 apc_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
169169{
170   bitmap.fill(0, cliprect);
170   bitmap.fill(get_black_pen(machine()), cliprect);
171171
172172   /* graphics */
173173   m_hgdc2->screen_update(screen, bitmap, cliprect);
r19067r19068
248248            else
249249               pen = (tile_data >> (xi) & 1) ? color : 0;
250250
251            //if(pen)
251            if(pen)
252252               bitmap.pix16(res_y, res_x) = pen;
253253
254254//              if(state->m_video_ff[WIDTH40_REG])

Previous 199869 Revisions Next


© 1997-2024 The MAME Team