mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
Commented out code for hooking up the fb
This commit is contained in:
parent
ebf5205538
commit
21dae3682c
@ -81,11 +81,8 @@ class vboy_state : public driver_device
|
||||
public:
|
||||
vboy_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_l_frame_0(*this,"l_frame_0"),
|
||||
m_l_frame_1(*this,"l_frame_1"),
|
||||
m_r_frame_0(*this,"r_frame_0"),
|
||||
m_r_frame_1(*this,"r_frame_1") { }
|
||||
m_maincpu(*this, "maincpu")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
@ -103,12 +100,20 @@ public:
|
||||
DECLARE_READ16_MEMBER(vboy_font3_r);
|
||||
DECLARE_WRITE16_MEMBER(vboy_bgmap_w);
|
||||
DECLARE_READ16_MEMBER(vboy_bgmap_r);
|
||||
DECLARE_READ8_MEMBER(vboy_lfb0_r);
|
||||
DECLARE_READ8_MEMBER(vboy_lfb1_r);
|
||||
DECLARE_READ8_MEMBER(vboy_rfb0_r);
|
||||
DECLARE_READ8_MEMBER(vboy_rfb1_r);
|
||||
DECLARE_WRITE8_MEMBER(vboy_lfb0_w);
|
||||
DECLARE_WRITE8_MEMBER(vboy_lfb1_w);
|
||||
DECLARE_WRITE8_MEMBER(vboy_rfb0_w);
|
||||
DECLARE_WRITE8_MEMBER(vboy_rfb1_w);
|
||||
UINT16 *m_font;
|
||||
UINT16 *m_bgmap;
|
||||
required_shared_ptr<UINT32> m_l_frame_0;
|
||||
required_shared_ptr<UINT32> m_l_frame_1;
|
||||
required_shared_ptr<UINT32> m_r_frame_0;
|
||||
required_shared_ptr<UINT32> m_r_frame_1;
|
||||
UINT8 *m_l_frame_0;
|
||||
UINT8 *m_l_frame_1;
|
||||
UINT8 *m_r_frame_0;
|
||||
UINT8 *m_r_frame_1;
|
||||
UINT16 *m_world;
|
||||
UINT16 *m_columntab1;
|
||||
UINT16 *m_columntab2;
|
||||
@ -123,7 +128,6 @@ public:
|
||||
UINT8 m_drawfb;
|
||||
UINT8 m_row_num;
|
||||
attotime m_input_latch_time;
|
||||
|
||||
void m_timer_tick(UINT8 setting);
|
||||
void m_scanline_tick(int scanline, UINT8 screen_type);
|
||||
void m_set_irq(UINT16 irq_vector);
|
||||
@ -152,6 +156,12 @@ static VIDEO_START( vboy )
|
||||
state->m_bg_map = auto_alloc_array_clear(machine, int, 0x1000*0x1000);
|
||||
state->m_ovr_map = auto_alloc_array_clear(machine, int, 8*8);
|
||||
|
||||
// Allocate memory for framebuffers
|
||||
state->m_l_frame_0 = auto_alloc_array_clear(machine, UINT8, 0x6000);
|
||||
state->m_l_frame_1 = auto_alloc_array_clear(machine, UINT8, 0x6000);
|
||||
state->m_r_frame_0 = auto_alloc_array_clear(machine, UINT8, 0x6000);
|
||||
state->m_r_frame_1 = auto_alloc_array_clear(machine, UINT8, 0x6000);
|
||||
|
||||
state->m_font = auto_alloc_array_clear(machine, UINT16, 2048 * 8);
|
||||
state->m_bgmap = auto_alloc_array(machine, UINT16, 0x20000 >> 1);
|
||||
state->m_objects = state->m_bgmap + (0x1e000 >> 1);
|
||||
@ -484,6 +494,27 @@ static SCREEN_UPDATE_IND16( vboy_left )
|
||||
for(int i=31; i>=0; i--)
|
||||
if (state->display_world(i, bitmap, false, cur_spt)) break;
|
||||
|
||||
if(0)
|
||||
{
|
||||
int x,y;
|
||||
|
||||
for(y=0;y<224;y++)
|
||||
{
|
||||
for(x=0;x<384;x++)
|
||||
{
|
||||
UINT8 pen;
|
||||
UINT8 pix;
|
||||
int yi;
|
||||
|
||||
pen = state->m_l_frame_1[(x*0x40)+(y >> 2)];
|
||||
yi = ((y & 0x3)*2);
|
||||
pix = (pen >> yi) & 3;
|
||||
|
||||
bitmap.pix16(y, x) = screen.machine().pens[pix & 3];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -798,8 +829,6 @@ WRITE16_MEMBER( vboy_state::vip_w )
|
||||
logerror("Error writing INTPND\n");
|
||||
break;
|
||||
case 0x02: //INTENB
|
||||
if(data & 0x2000)
|
||||
printf("SBHIT active\n");
|
||||
m_vip_regs.INTENB = data;
|
||||
m_set_irq(0);
|
||||
//printf("%04x ENB\n",data);
|
||||
@ -1002,15 +1031,25 @@ READ16_MEMBER( vboy_state::vboy_bgmap_r )
|
||||
return m_bgmap[offset];
|
||||
}
|
||||
|
||||
READ8_MEMBER( vboy_state::vboy_lfb0_r ) { return m_l_frame_0[offset]; }
|
||||
READ8_MEMBER( vboy_state::vboy_lfb1_r ) { return m_l_frame_1[offset]; }
|
||||
READ8_MEMBER( vboy_state::vboy_rfb0_r ) { return m_r_frame_0[offset]; }
|
||||
READ8_MEMBER( vboy_state::vboy_rfb1_r ) { return m_r_frame_1[offset]; }
|
||||
WRITE8_MEMBER( vboy_state::vboy_lfb0_w ) { m_l_frame_0[offset] = data; }
|
||||
WRITE8_MEMBER( vboy_state::vboy_lfb1_w ) { m_l_frame_1[offset] = data; }
|
||||
WRITE8_MEMBER( vboy_state::vboy_rfb0_w ) { m_r_frame_0[offset] = data; }
|
||||
WRITE8_MEMBER( vboy_state::vboy_rfb1_w ) { m_r_frame_1[offset] = data; }
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( vboy_mem, AS_PROGRAM, 32, vboy_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x07ffffff)
|
||||
AM_RANGE( 0x00000000, 0x00005fff ) AM_RAM AM_SHARE("l_frame_0") // L frame buffer 0
|
||||
AM_RANGE( 0x00000000, 0x00005fff ) AM_READWRITE8(vboy_lfb0_r,vboy_lfb0_w,0xffffffff) // L frame buffer 0
|
||||
AM_RANGE( 0x00006000, 0x00007fff ) AM_READWRITE16(vboy_font0_r, vboy_font0_w, 0xffffffff) // Font 0-511
|
||||
AM_RANGE( 0x00008000, 0x0000dfff ) AM_RAM AM_SHARE("l_frame_1") // L frame buffer 1
|
||||
AM_RANGE( 0x00008000, 0x0000dfff ) AM_READWRITE8(vboy_lfb1_r,vboy_lfb1_w,0xffffffff) // L frame buffer 1
|
||||
AM_RANGE( 0x0000e000, 0x0000ffff ) AM_READWRITE16(vboy_font1_r, vboy_font1_w, 0xffffffff) // Font 512-1023
|
||||
AM_RANGE( 0x00010000, 0x00015fff ) AM_RAM AM_SHARE("r_frame_0") // R frame buffer 0
|
||||
AM_RANGE( 0x00010000, 0x00015fff ) AM_READWRITE8(vboy_rfb0_r,vboy_rfb0_w,0xffffffff) // R frame buffer 0
|
||||
AM_RANGE( 0x00016000, 0x00017fff ) AM_READWRITE16(vboy_font2_r, vboy_font2_w, 0xffffffff) // Font 1024-1535
|
||||
AM_RANGE( 0x00018000, 0x0001dfff ) AM_RAM AM_SHARE("r_frame_1") // R frame buffer 1
|
||||
AM_RANGE( 0x00018000, 0x0001dfff ) AM_READWRITE8(vboy_rfb1_r,vboy_rfb1_w,0xffffffff) // R frame buffer 1
|
||||
AM_RANGE( 0x0001e000, 0x0001ffff ) AM_READWRITE16(vboy_font3_r, vboy_font3_w, 0xffffffff) // Font 1536-2047
|
||||
|
||||
AM_RANGE( 0x00020000, 0x0003ffff ) AM_READWRITE16(vboy_bgmap_r,vboy_bgmap_w, 0xffffffff) // VIPC memory
|
||||
@ -1201,9 +1240,9 @@ void vboy_state::m_scanline_tick(int scanline, UINT8 screen_type)
|
||||
m_set_irq(0x0004); // RFBEND
|
||||
}
|
||||
|
||||
if(scanline == 248)
|
||||
if(m_row_num == ((m_vip_regs.XPCTRL & 0x1f00) >> 8))
|
||||
{
|
||||
//m_set_irq(0x2000); // SBHIT
|
||||
m_set_irq(0x2000); // SBHIT
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user