mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
upd7220: Refactored to use bitmap_rgb32. (nw)
i8275: Refactored to use bitmap_rgb32. (nw)
This commit is contained in:
parent
3c45d84ca5
commit
f55ba0085a
@ -455,7 +455,7 @@ WRITE8_DEVICE_HANDLER( i8275_dack_w )
|
||||
}
|
||||
|
||||
/* Screen Update */
|
||||
void i8275_update(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
void i8275_update(device_t *device, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
i8275_t *i8275 = get_safe_token(device);
|
||||
i8275->ypos = 0;
|
||||
|
@ -69,7 +69,7 @@ DECLARE_READ8_DEVICE_HANDLER ( i8275_r );
|
||||
DECLARE_WRITE8_DEVICE_HANDLER ( i8275_w );
|
||||
|
||||
/* updates the screen */
|
||||
void i8275_update(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void i8275_update(device_t *device, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
DECLARE_WRITE8_DEVICE_HANDLER( i8275_dack_w );
|
||||
|
||||
|
@ -87,6 +87,7 @@ public:
|
||||
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
a5105_state *state = device->machine().driver_data<a5105_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
|
||||
int xi,gfx;
|
||||
UINT8 pen;
|
||||
@ -97,13 +98,14 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
pen = ((gfx >> xi) & 1) ? 7 : 0;
|
||||
|
||||
bitmap.pix16(y, x + xi) = pen;
|
||||
bitmap.pix32(y, x + xi) = palette[pen];
|
||||
}
|
||||
}
|
||||
|
||||
static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
{
|
||||
a5105_state *state = device->machine().driver_data<a5105_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int x;
|
||||
int xi,yi;
|
||||
int tile,color;
|
||||
@ -134,7 +136,7 @@ static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
if(res_x > screen_max_x || res_y > screen_max_y)
|
||||
continue;
|
||||
|
||||
bitmap.pix16(res_y, res_x) = pen;
|
||||
bitmap.pix32(res_y, res_x) = palette[pen];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ public:
|
||||
required_shared_ptr<UINT8> m_video_ram_2;
|
||||
|
||||
// screen updates
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
|
||||
DECLARE_READ8_MEMBER(apc_port_28_r);
|
||||
@ -168,7 +168,7 @@ void apc_state::video_start()
|
||||
m_aux_pcg = memregion("aux_pcg")->base();
|
||||
}
|
||||
|
||||
UINT32 apc_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
UINT32 apc_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
|
||||
{
|
||||
bitmap.fill(get_black_pen(machine()), cliprect);
|
||||
|
||||
@ -188,6 +188,7 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
{
|
||||
apc_state *state = device->machine().driver_data<apc_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int xi,yi,yi_trans;
|
||||
int x;
|
||||
UINT8 char_size;
|
||||
@ -278,7 +279,7 @@ static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
pen = (tile_data >> (xi) & 1) ? color : 0;
|
||||
|
||||
if(pen)
|
||||
bitmap.pix16(res_y, res_x) = pen;
|
||||
bitmap.pix32(res_y, res_x) = palette[pen];
|
||||
|
||||
// if(state->m_video_ff[WIDTH40_REG])
|
||||
// {
|
||||
|
@ -125,10 +125,11 @@ UINT32 compis_state::screen_update_compis2(screen_device &screen, bitmap_ind16 &
|
||||
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
compis_state *state = device->machine().driver_data<compis_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 i,gfx = state->m_video_ram[address & 0x1ffff];
|
||||
|
||||
for(i=0; i<8; i++)
|
||||
bitmap.pix16(y, x + i) = BIT((gfx >> i), 0);
|
||||
bitmap.pix32(y, x + i) = palette[BIT((gfx >> i), 0)];
|
||||
}
|
||||
|
||||
|
||||
|
@ -148,6 +148,7 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
{
|
||||
dmv_state *state = device->machine().driver_data<dmv_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 * chargen = state->memregion("maincpu")->base() + 0x1000;
|
||||
|
||||
for( int x = 0; x < pitch; x++ )
|
||||
@ -174,7 +175,7 @@ static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
if(res_x > screen_max_x || res_y > screen_max_y)
|
||||
continue;
|
||||
|
||||
bitmap.pix16(res_y, res_x) = pen;
|
||||
bitmap.pix32(res_y, res_x) = palette[pen];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ public:
|
||||
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
if800_state *state = device->machine().driver_data<if800_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
|
||||
int xi,gfx;
|
||||
UINT8 pen;
|
||||
@ -40,7 +41,7 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
pen = ((gfx >> xi) & 1) ? 1 : 0;
|
||||
|
||||
bitmap.pix16(y, x + xi) = pen;
|
||||
bitmap.pix32(y, x + xi) = palette[pen];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,10 +29,10 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(ipds_b1_w);
|
||||
DECLARE_WRITE8_MEMBER(kbd_put);
|
||||
UINT8 m_term_data;
|
||||
bitmap_ind16 m_bitmap;
|
||||
bitmap_rgb32 m_bitmap;
|
||||
virtual void video_start();
|
||||
virtual void machine_reset();
|
||||
UINT32 screen_update_ipds(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_ipds(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
READ8_MEMBER( ipds_state::ipds_b0_r )
|
||||
@ -88,7 +88,8 @@ static I8275_DISPLAY_PIXELS(ipds_display_pixels)
|
||||
{
|
||||
int i;
|
||||
ipds_state *state = device->machine().driver_data<ipds_state>();
|
||||
bitmap_ind16 &bitmap = state->m_bitmap;
|
||||
bitmap_rgb32 &bitmap = state->m_bitmap;
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 *charmap = state->memregion("chargen")->base();
|
||||
UINT8 pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
|
||||
@ -102,7 +103,7 @@ static I8275_DISPLAY_PIXELS(ipds_display_pixels)
|
||||
pixels ^= 0xff;
|
||||
|
||||
for(i=0;i<6;i++)
|
||||
bitmap.pix16(y, x + i) = (pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0;
|
||||
bitmap.pix32(y, x + i) = palette[(pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0];
|
||||
}
|
||||
|
||||
const i8275_interface ipds_i8275_interface =
|
||||
@ -115,7 +116,7 @@ const i8275_interface ipds_i8275_interface =
|
||||
ipds_display_pixels
|
||||
};
|
||||
|
||||
UINT32 ipds_state::screen_update_ipds(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 ipds_state::screen_update_ipds(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
device_t *devconf = machine().device("i8275");
|
||||
i8275_update( devconf, bitmap, cliprect);
|
||||
|
@ -36,6 +36,7 @@ public:
|
||||
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
mz6500_state *state = device->machine().driver_data<mz6500_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int gfx[3];
|
||||
UINT8 i,pen;
|
||||
|
||||
@ -47,7 +48,7 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
pen = (BIT(gfx[0], i)) | (BIT(gfx[1], i) << 1) | (BIT(gfx[2], i) << 2);
|
||||
|
||||
bitmap.pix16(y, x + i) = pen;
|
||||
bitmap.pix32(y, x + i) = palette[pen];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -303,7 +303,7 @@ public:
|
||||
required_device<upd7220_device> m_hgdc2;
|
||||
|
||||
virtual void video_start();
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
required_shared_ptr<UINT8> m_video_ram_1;
|
||||
required_shared_ptr<UINT8> m_video_ram_2;
|
||||
@ -575,7 +575,7 @@ void pc9801_state::video_start()
|
||||
state_save_register_global_pointer(machine(), m_pcg_ram, 0x200000);
|
||||
}
|
||||
|
||||
UINT32 pc9801_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 pc9801_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
bitmap.fill(get_black_pen(machine()), cliprect);
|
||||
|
||||
@ -588,6 +588,7 @@ UINT32 pc9801_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
pc9801_state *state = device->machine().driver_data<pc9801_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int xi;
|
||||
int res_x,res_y;
|
||||
UINT8 pen;
|
||||
@ -614,18 +615,19 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
if(interlace_on)
|
||||
{
|
||||
if(device->machine().primary_screen->visible_area().contains(res_x, res_y*2+0))
|
||||
bitmap.pix16(res_y*2+0, res_x) = pen + colors16_mode;
|
||||
bitmap.pix32(res_y*2+0, res_x) = palette[pen + colors16_mode];
|
||||
if(device->machine().primary_screen->visible_area().contains(res_x, res_y*2+1))
|
||||
bitmap.pix16(res_y*2+1, res_x) = pen + colors16_mode;
|
||||
bitmap.pix32(res_y*2+1, res_x) = palette[pen + colors16_mode];
|
||||
}
|
||||
else
|
||||
bitmap.pix16(res_y, res_x) = pen + colors16_mode;
|
||||
bitmap.pix32(res_y, res_x) = palette[pen + colors16_mode];
|
||||
}
|
||||
}
|
||||
|
||||
static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
{
|
||||
pc9801_state *state = device->machine().driver_data<pc9801_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int xi,yi;
|
||||
int x;
|
||||
UINT8 char_size;
|
||||
@ -728,14 +730,14 @@ static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
pen = (tile_data >> (7-xi) & 1) ? color : 0;
|
||||
|
||||
if(pen)
|
||||
bitmap.pix16(res_y, res_x) = pen;
|
||||
bitmap.pix32(res_y, res_x) = palette[pen];
|
||||
|
||||
if(state->m_video_ff[WIDTH40_REG])
|
||||
{
|
||||
if(!device->machine().primary_screen->visible_area().contains(res_x+1, res_y))
|
||||
continue;
|
||||
|
||||
bitmap.pix16(res_y, res_x+1) = pen;
|
||||
bitmap.pix32(res_y, res_x+1) = palette[pen];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ public:
|
||||
//required_shared_ptr<UINT8> m_video_ram;
|
||||
UINT8 *m_video_ram;
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -154,6 +154,7 @@ public:
|
||||
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
{
|
||||
qx10_state *state = device->machine().driver_data<qx10_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int xi,gfx[3];
|
||||
UINT8 pen;
|
||||
|
||||
@ -176,13 +177,14 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
pen|= ((gfx[1] >> (7-xi)) & 1) ? 2 : 0;
|
||||
pen|= ((gfx[2] >> (7-xi)) & 1) ? 4 : 0;
|
||||
|
||||
bitmap.pix16(y, x + xi) = pen;
|
||||
bitmap.pix32(y, x + xi) = palette[pen];
|
||||
}
|
||||
}
|
||||
|
||||
static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
{
|
||||
qx10_state *state = device->machine().driver_data<qx10_state>();
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
int x;
|
||||
int xi,yi;
|
||||
int tile;
|
||||
@ -227,13 +229,13 @@ static UPD7220_DRAW_TEXT_LINE( hgdc_draw_text )
|
||||
continue;
|
||||
|
||||
if(pen)
|
||||
bitmap.pix16(res_y, res_x) = pen;
|
||||
bitmap.pix32(res_y, res_x) = palette[pen];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UINT32 qx10_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
UINT32 qx10_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
|
||||
{
|
||||
bitmap.fill(get_black_pen(machine()), cliprect);
|
||||
|
||||
|
@ -39,12 +39,12 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(sm1800_8255_portc_w);
|
||||
DECLARE_READ8_MEMBER(sm1800_8255_porta_r);
|
||||
DECLARE_READ8_MEMBER(sm1800_8255_portc_r);
|
||||
bitmap_ind16 m_bitmap;
|
||||
bitmap_rgb32 m_bitmap;
|
||||
UINT8 m_irq_state;
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
virtual void palette_init();
|
||||
UINT32 screen_update_sm1800(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_sm1800(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(sm1800_vblank_interrupt);
|
||||
};
|
||||
|
||||
@ -85,7 +85,7 @@ void sm1800_state::video_start()
|
||||
|
||||
}
|
||||
|
||||
UINT32 sm1800_state::screen_update_sm1800(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 sm1800_state::screen_update_sm1800(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
device_t *devconf = machine().device("i8275");
|
||||
i8275_update( devconf, bitmap, cliprect);
|
||||
@ -103,7 +103,8 @@ static I8275_DISPLAY_PIXELS(sm1800_display_pixels)
|
||||
{
|
||||
int i;
|
||||
sm1800_state *state = device->machine().driver_data<sm1800_state>();
|
||||
bitmap_ind16 &bitmap = state->m_bitmap;
|
||||
bitmap_rgb32 &bitmap = state->m_bitmap;
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 *charmap = state->memregion("chargen")->base();
|
||||
UINT8 pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if (vsp)
|
||||
@ -116,7 +117,7 @@ static I8275_DISPLAY_PIXELS(sm1800_display_pixels)
|
||||
pixels ^= 0xff;
|
||||
|
||||
for(i=0;i<8;i++)
|
||||
bitmap.pix16(y, x + i) = (pixels >> (7-i)) & 1 ? (hlgt ? 2 : 1) : 0;
|
||||
bitmap.pix32(y, x + i) = palette[(pixels >> (7-i)) & 1 ? (hlgt ? 2 : 1) : 0];
|
||||
}
|
||||
|
||||
const i8275_interface sm1800_i8275_interface = {
|
||||
|
@ -19,9 +19,9 @@ public:
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
bitmap_ind16 m_bitmap;
|
||||
bitmap_rgb32 m_bitmap;
|
||||
|
||||
UINT8 m_tape_value;
|
||||
UINT8 m_mikrosha_font_page;
|
||||
@ -38,7 +38,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(radio86);
|
||||
DECLARE_MACHINE_RESET(radio86);
|
||||
DECLARE_PALETTE_INIT(radio86);
|
||||
UINT32 screen_update_radio86(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_radio86(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
TIMER_CALLBACK_MEMBER(radio86_reset);
|
||||
DECLARE_READ8_MEMBER(radio86_8255_portb_r2);
|
||||
DECLARE_READ8_MEMBER(radio86_8255_portc_r2);
|
||||
|
@ -2,18 +2,6 @@
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// PALETTE_INIT( mm1 )
|
||||
//-------------------------------------------------
|
||||
|
||||
PALETTE_INIT_MEMBER(mm1_state,mm1)
|
||||
{
|
||||
palette_set_color(machine(), 0, RGB_BLACK); /* black */
|
||||
palette_set_color_rgb(machine(), 1, 0x00, 0xc0, 0x00); /* green */
|
||||
palette_set_color_rgb(machine(), 2, 0x00, 0xff, 0x00); /* bright green */
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// i8275_interface crtc_intf
|
||||
//-------------------------------------------------
|
||||
@ -41,7 +29,7 @@ static I8275_DISPLAY_PIXELS( crtc_display_pixels )
|
||||
|
||||
int color = hlt_in ? 2 : (video_in ^ compl_in);
|
||||
|
||||
state->m_bitmap.pix16(y, x + i) = color;
|
||||
state->m_bitmap.pix32(y, x + i) = RGB_MONOCHROME_GREEN_HIGHLIGHT[color];
|
||||
}
|
||||
}
|
||||
|
||||
@ -77,7 +65,7 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
if (BIT(data, i)) bitmap.pix16(y, x + i) = 1;
|
||||
if (BIT(data, i)) bitmap.pix32(y, x + i) = RGB_MONOCHROME_GREEN_HIGHLIGHT[1];
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,7 +97,7 @@ void mm1_state::video_start()
|
||||
// SCREEN_UPDATE_IND16( mm1 )
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT32 mm1_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 mm1_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
/* text */
|
||||
i8275_update(m_crtc, bitmap, cliprect);
|
||||
@ -161,8 +149,6 @@ MACHINE_CONFIG_FRAGMENT( mm1m6_video )
|
||||
//MCFG_SCREEN_RAW_PARAMS(XTAL_18_720MHz, ...)
|
||||
|
||||
MCFG_GFXDECODE(mm1)
|
||||
MCFG_PALETTE_LENGTH(3)
|
||||
MCFG_PALETTE_INIT_OVERRIDE(mm1_state,mm1)
|
||||
|
||||
MCFG_I8275_ADD(I8275_TAG, crtc_intf)
|
||||
MCFG_UPD7220_ADD(UPD7220_TAG, XTAL_18_720MHz/8, hgdc_intf, mm1_upd7220_map)
|
||||
|
@ -16,7 +16,7 @@ void radio86_state::video_start()
|
||||
machine().primary_screen->register_screen_bitmap(m_bitmap);
|
||||
}
|
||||
|
||||
UINT32 radio86_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 radio86_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
copybitmap(bitmap, m_bitmap, 0, 0, 0, 0, cliprect);
|
||||
return 0;
|
||||
@ -26,7 +26,8 @@ I8275_DISPLAY_PIXELS(radio86_display_pixels)
|
||||
{
|
||||
radio86_state *state = device->machine().driver_data<radio86_state>();
|
||||
int i;
|
||||
bitmap_ind16 &bitmap = state->m_bitmap;
|
||||
bitmap_rgb32 &bitmap = state->m_bitmap;
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 *charmap = state->memregion("gfx1")->base();
|
||||
UINT8 pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if (vsp) {
|
||||
@ -39,7 +40,7 @@ I8275_DISPLAY_PIXELS(radio86_display_pixels)
|
||||
pixels ^= 0xff;
|
||||
}
|
||||
for(i=0;i<6;i++) {
|
||||
bitmap.pix16(y, x + i) = (pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0;
|
||||
bitmap.pix32(y, x + i) = palette[(pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0];
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,7 +49,8 @@ I8275_DISPLAY_PIXELS(mikrosha_display_pixels)
|
||||
{
|
||||
radio86_state *state = device->machine().driver_data<radio86_state>();
|
||||
int i;
|
||||
bitmap_ind16 &bitmap = state->m_bitmap;
|
||||
bitmap_rgb32 &bitmap = state->m_bitmap;
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 *charmap = state->memregion("gfx1")->base() + (state->m_mikrosha_font_page & 1) * 0x400;
|
||||
UINT8 pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if (vsp) {
|
||||
@ -61,7 +63,7 @@ I8275_DISPLAY_PIXELS(mikrosha_display_pixels)
|
||||
pixels ^= 0xff;
|
||||
}
|
||||
for(i=0;i<6;i++) {
|
||||
bitmap.pix16(y, x + i) = (pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0;
|
||||
bitmap.pix32(y, x + i) = palette[(pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0];
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,7 +71,8 @@ I8275_DISPLAY_PIXELS(apogee_display_pixels)
|
||||
{
|
||||
radio86_state *state = device->machine().driver_data<radio86_state>();
|
||||
int i;
|
||||
bitmap_ind16 &bitmap = state->m_bitmap;
|
||||
bitmap_rgb32 &bitmap = state->m_bitmap;
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 *charmap = state->memregion("gfx1")->base() + (gpa & 1) * 0x400;
|
||||
UINT8 pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if (vsp) {
|
||||
@ -82,7 +85,7 @@ I8275_DISPLAY_PIXELS(apogee_display_pixels)
|
||||
pixels ^= 0xff;
|
||||
}
|
||||
for(i=0;i<6;i++) {
|
||||
bitmap.pix16(y, x + i) = (pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0;
|
||||
bitmap.pix32(y, x + i) = palette[(pixels >> (5-i)) & 1 ? (hlgt ? 2 : 1) : 0];
|
||||
}
|
||||
}
|
||||
|
||||
@ -90,7 +93,8 @@ I8275_DISPLAY_PIXELS(partner_display_pixels)
|
||||
{
|
||||
radio86_state *state = device->machine().driver_data<radio86_state>();
|
||||
int i;
|
||||
bitmap_ind16 &bitmap = state->m_bitmap;
|
||||
bitmap_rgb32 &bitmap = state->m_bitmap;
|
||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
||||
UINT8 *charmap = state->memregion("gfx1")->base() + 0x400 * (gpa * 2 + hlgt);
|
||||
UINT8 pixels = charmap[(linecount & 7) + (charcode << 3)] ^ 0xff;
|
||||
if (vsp) {
|
||||
@ -103,11 +107,11 @@ I8275_DISPLAY_PIXELS(partner_display_pixels)
|
||||
pixels ^= 0xff;
|
||||
}
|
||||
for(i=0;i<6;i++) {
|
||||
bitmap.pix16(y, x + i) = (pixels >> (5-i)) & 1;
|
||||
bitmap.pix32(y, x + i) = palette[(pixels >> (5-i)) & 1];
|
||||
}
|
||||
}
|
||||
|
||||
UINT32 radio86_state::screen_update_radio86(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 radio86_state::screen_update_radio86(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
device_t *devconf = machine().device("i8275");
|
||||
i8275_update( devconf, bitmap, cliprect);
|
||||
|
@ -1554,7 +1554,7 @@ WRITE_LINE_MEMBER( upd7220_device::lpen_w )
|
||||
// update_text -
|
||||
//-------------------------------------------------
|
||||
|
||||
void upd7220_device::update_text(bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
void upd7220_device::update_text(bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
UINT32 addr, sad;
|
||||
UINT16 len;
|
||||
@ -1582,7 +1582,7 @@ void upd7220_device::update_text(bitmap_ind16 &bitmap, const rectangle &cliprect
|
||||
// draw_graphics_line -
|
||||
//-------------------------------------------------
|
||||
|
||||
void upd7220_device::draw_graphics_line(bitmap_ind16 &bitmap, UINT32 addr, int y, int wd)
|
||||
void upd7220_device::draw_graphics_line(bitmap_rgb32 &bitmap, UINT32 addr, int y, int wd)
|
||||
{
|
||||
int sx;
|
||||
|
||||
@ -1600,7 +1600,7 @@ void upd7220_device::draw_graphics_line(bitmap_ind16 &bitmap, UINT32 addr, int y
|
||||
// update_graphics -
|
||||
//-------------------------------------------------
|
||||
|
||||
void upd7220_device::update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect, int force_bitmap)
|
||||
void upd7220_device::update_graphics(bitmap_rgb32 &bitmap, const rectangle &cliprect, int force_bitmap)
|
||||
{
|
||||
UINT32 addr, sad;
|
||||
UINT16 len;
|
||||
@ -1653,7 +1653,7 @@ void upd7220_device::update_graphics(bitmap_ind16 &bitmap, const rectangle &clip
|
||||
// update_screen -
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT32 upd7220_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
UINT32 upd7220_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
if (m_de)
|
||||
{
|
||||
|
@ -64,11 +64,11 @@
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
typedef void (*upd7220_display_pixels_func)(device_t *device, bitmap_ind16 &bitmap, int y, int x, UINT32 address);
|
||||
#define UPD7220_DISPLAY_PIXELS(name) void name(device_t *device, bitmap_ind16 &bitmap, int y, int x, UINT32 address)
|
||||
typedef void (*upd7220_display_pixels_func)(device_t *device, bitmap_rgb32 &bitmap, int y, int x, UINT32 address);
|
||||
#define UPD7220_DISPLAY_PIXELS(name) void name(device_t *device, bitmap_rgb32 &bitmap, int y, int x, UINT32 address)
|
||||
|
||||
typedef void (*upd7220_draw_text_line)(device_t *device, bitmap_ind16 &bitmap, UINT32 addr, int y, int wd, int pitch,int screen_min_x,int screen_min_y,int screen_max_x, int screen_max_y,int lr, int cursor_on, int cursor_addr);
|
||||
#define UPD7220_DRAW_TEXT_LINE(name) void name(device_t *device, bitmap_ind16 &bitmap, UINT32 addr, int y, int wd, int pitch,int screen_min_x,int screen_min_y,int screen_max_x, int screen_max_y,int lr, int cursor_on, int cursor_addr)
|
||||
typedef void (*upd7220_draw_text_line)(device_t *device, bitmap_rgb32 &bitmap, UINT32 addr, int y, int wd, int pitch,int screen_min_x,int screen_min_y,int screen_max_x, int screen_max_y,int lr, int cursor_on, int cursor_addr);
|
||||
#define UPD7220_DRAW_TEXT_LINE(name) void name(device_t *device, bitmap_rgb32 &bitmap, UINT32 addr, int y, int wd, int pitch,int screen_min_x,int screen_min_y,int screen_max_x, int screen_max_y,int lr, int cursor_on, int cursor_addr)
|
||||
|
||||
|
||||
// ======================> upd7220_interface
|
||||
@ -109,7 +109,7 @@ public:
|
||||
DECLARE_READ8_MEMBER( vram_r );
|
||||
DECLARE_WRITE8_MEMBER( vram_w );
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
virtual const rom_entry *device_rom_region() const;
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
|
||||
|
||||
@ -150,9 +150,9 @@ private:
|
||||
void draw_char(int x, int y);
|
||||
int translate_command(UINT8 data);
|
||||
void process_fifo();
|
||||
void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_graphics_line(bitmap_ind16 &bitmap, UINT32 addr, int y, int wd);
|
||||
void update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect, int force_bitmap);
|
||||
void update_text(bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
void draw_graphics_line(bitmap_rgb32 &bitmap, UINT32 addr, int y, int wd);
|
||||
void update_graphics(bitmap_rgb32 &bitmap, const rectangle &cliprect, int force_bitmap);
|
||||
|
||||
devcb_resolved_write_line m_out_drq_func;
|
||||
devcb_resolved_write_line m_out_hsync_func;
|
||||
|
Loading…
Reference in New Issue
Block a user