mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
(mess) compis: doesn't appear to use text mode (nw)
i86: doh! (nw)
This commit is contained in:
parent
eccbdf381f
commit
c709407db8
@ -538,7 +538,7 @@ inline void i8086_common_cpu_device::ExpandFlags(UINT16 f)
|
|||||||
inline void i8086_common_cpu_device::i_insb()
|
inline void i8086_common_cpu_device::i_insb()
|
||||||
{
|
{
|
||||||
UINT32 ea = calc_addr(ES, m_regs.w[DI], 1, I8086_WRITE);
|
UINT32 ea = calc_addr(ES, m_regs.w[DI], 1, I8086_WRITE);
|
||||||
write_word(ea, read_port_byte(m_regs.w[DX]));
|
write_byte(ea, read_port_byte(m_regs.w[DX]));
|
||||||
m_regs.w[DI] += -2 * m_DF + 1;
|
m_regs.w[DI] += -2 * m_DF + 1;
|
||||||
CLK(IN_IMM8);
|
CLK(IN_IMM8);
|
||||||
}
|
}
|
||||||
|
@ -102,57 +102,10 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
|
|||||||
bitmap.pix32(y, x + i) = palette[BIT((gfx >> i), 0)];
|
bitmap.pix32(y, x + i) = palette[BIT((gfx >> i), 0)];
|
||||||
}
|
}
|
||||||
|
|
||||||
static UPD7220_DRAW_TEXT_LINE( hgdc_display_text )
|
|
||||||
{
|
|
||||||
compis_state *state = device->machine().driver_data<compis_state>();
|
|
||||||
const rgb_t *palette = palette_entry_list_raw(bitmap.palette());
|
|
||||||
int x;
|
|
||||||
int xi,yi;
|
|
||||||
int tile;
|
|
||||||
int attr;
|
|
||||||
UINT8 tile_data;
|
|
||||||
UINT8 pen;
|
|
||||||
UINT8 *m_p_chargen = state->memregion("maincpu")->base()+0xca70; //bios0
|
|
||||||
if (m_p_chargen[0x214] != 0x08) m_p_chargen+= 0x10; //bios1
|
|
||||||
|
|
||||||
for( x = 0; x < pitch; x++ )
|
|
||||||
{
|
|
||||||
tile = state->m_video_ram[(addr+x) & 0x1ffff];
|
|
||||||
attr = state->m_video_ram[(addr+x+1) & 0x1ffff];
|
|
||||||
|
|
||||||
for( yi = 0; yi < lr; yi++)
|
|
||||||
{
|
|
||||||
tile_data = (m_p_chargen[tile*8+yi]);
|
|
||||||
|
|
||||||
if(attr & 2)
|
|
||||||
tile_data^=0xff;
|
|
||||||
|
|
||||||
for( xi = 0; xi < 8; xi++)
|
|
||||||
{
|
|
||||||
int res_x,res_y;
|
|
||||||
|
|
||||||
res_x = x * 8 + xi;
|
|
||||||
res_y = y * lr + yi;
|
|
||||||
|
|
||||||
if(!device->machine().primary_screen->visible_area().contains(res_x, res_y))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(yi >= 8)
|
|
||||||
pen = 0;
|
|
||||||
else
|
|
||||||
pen = ((tile_data >> xi) & 1) ? 1 : 0;
|
|
||||||
|
|
||||||
if(pen)
|
|
||||||
bitmap.pix32(res_y, res_x) = palette[pen];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static UPD7220_INTERFACE( hgdc_intf )
|
static UPD7220_INTERFACE( hgdc_intf )
|
||||||
{
|
{
|
||||||
hgdc_display_pixels,
|
hgdc_display_pixels,
|
||||||
hgdc_display_text,
|
NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
@ -170,7 +123,7 @@ static ADDRESS_MAP_START( compis_mem , AS_PROGRAM, 16, compis_state )
|
|||||||
AM_RANGE( 0x50000, 0x5ffff) AM_RAM
|
AM_RANGE( 0x50000, 0x5ffff) AM_RAM
|
||||||
AM_RANGE( 0x60000, 0x6ffff) AM_RAM
|
AM_RANGE( 0x60000, 0x6ffff) AM_RAM
|
||||||
AM_RANGE( 0x70000, 0x7ffff) AM_RAM
|
AM_RANGE( 0x70000, 0x7ffff) AM_RAM
|
||||||
AM_RANGE( 0xe8000, 0xeffff) AM_ROM AM_REGION("maincpu",0) AM_WRITE8(vram_w, 0xffff)
|
AM_RANGE( 0xe8000, 0xeffff) AM_ROM AM_REGION("maincpu",0)
|
||||||
AM_RANGE( 0xf0000, 0xfffff) AM_ROM AM_REGION("maincpu",0) AM_WRITE8(vram_w, 0xffff)
|
AM_RANGE( 0xf0000, 0xfffff) AM_ROM AM_REGION("maincpu",0) AM_WRITE8(vram_w, 0xffff)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user