summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/x1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/x1.cpp')
-rw-r--r--src/mame/drivers/x1.cpp128
1 files changed, 64 insertions, 64 deletions
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index 67aabf6425d..741895f5a5b 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -225,14 +225,14 @@
VIDEO_START_MEMBER(x1_state,x1)
{
- m_avram = make_unique_clear<UINT8[]>(0x800);
- m_tvram = make_unique_clear<UINT8[]>(0x800);
- m_kvram = make_unique_clear<UINT8[]>(0x800);
- m_gfx_bitmap_ram = make_unique_clear<UINT8[]>(0xc000*2);
- m_pal_4096 = make_unique_clear<UINT8[]>(0x1000*3);
+ m_avram = make_unique_clear<uint8_t[]>(0x800);
+ m_tvram = make_unique_clear<uint8_t[]>(0x800);
+ m_kvram = make_unique_clear<uint8_t[]>(0x800);
+ m_gfx_bitmap_ram = make_unique_clear<uint8_t[]>(0xc000*2);
+ m_pal_4096 = make_unique_clear<uint8_t[]>(0x1000*3);
}
-void x1_state::x1_draw_pixel(bitmap_rgb32 &bitmap,int y,int x,UINT16 pen,UINT8 width,UINT8 height)
+void x1_state::x1_draw_pixel(bitmap_rgb32 &bitmap,int y,int x,uint16_t pen,uint8_t width,uint8_t height)
{
if(!machine().first_screen()->visible_area().contains(x, y))
return;
@@ -277,12 +277,12 @@ void x1_state::x1_draw_pixel(bitmap_rgb32 &bitmap,int y,int x,UINT16 pen,UINT8 w
/* adjust tile index when we are under double height condition */
-UINT8 x1_state::check_prev_height(int x,int y,int x_size)
+uint8_t x1_state::check_prev_height(int x,int y,int x_size)
{
- UINT8 prev_tile = m_tvram[(x+((y-1)*x_size)+mc6845_start_addr) & 0x7ff];
- UINT8 cur_tile = m_tvram[(x+(y*x_size)+mc6845_start_addr) & 0x7ff];
- UINT8 prev_attr = m_avram[(x+((y-1)*x_size)+mc6845_start_addr) & 0x7ff];
- UINT8 cur_attr = m_avram[(x+(y*x_size)+mc6845_start_addr) & 0x7ff];
+ uint8_t prev_tile = m_tvram[(x+((y-1)*x_size)+mc6845_start_addr) & 0x7ff];
+ uint8_t cur_tile = m_tvram[(x+(y*x_size)+mc6845_start_addr) & 0x7ff];
+ uint8_t prev_attr = m_avram[(x+((y-1)*x_size)+mc6845_start_addr) & 0x7ff];
+ uint8_t cur_attr = m_avram[(x+(y*x_size)+mc6845_start_addr) & 0x7ff];
if(prev_tile == cur_tile && prev_attr == cur_attr)
return 8;
@@ -291,9 +291,9 @@ UINT8 x1_state::check_prev_height(int x,int y,int x_size)
}
/* Exoa II - Warroid: if double height isn't enabled on the first tile of the line then double height is disabled on everything else. */
-UINT8 x1_state::check_line_valid_height(int y,int x_size,int height)
+uint8_t x1_state::check_line_valid_height(int y,int x_size,int height)
{
- UINT8 line_attr = m_avram[(0+(y*x_size)+mc6845_start_addr) & 0x7ff];
+ uint8_t line_attr = m_avram[(0+(y*x_size)+mc6845_start_addr) & 0x7ff];
if((line_attr & 0x40) == 0)
return 0;
@@ -320,8 +320,8 @@ void x1_state::draw_fgtilemap(bitmap_rgb32 &bitmap,const rectangle &cliprect)
*/
int y,x,res_x,res_y;
- UINT32 tile_offset;
- UINT8 x_size,y_size;
+ uint32_t tile_offset;
+ uint8_t x_size,y_size;
x_size = mc6845_h_display;
y_size = mc6845_v_display;
@@ -341,7 +341,7 @@ void x1_state::draw_fgtilemap(bitmap_rgb32 &bitmap,const rectangle &cliprect)
int width = BIT(m_avram[((x+y*x_size)+mc6845_start_addr) & 0x7ff], 7);
int height = BIT(m_avram[((x+y*x_size)+mc6845_start_addr) & 0x7ff], 6);
int pcg_bank = BIT(m_avram[((x+y*x_size)+mc6845_start_addr) & 0x7ff], 5);
- UINT8 *gfx_data = pcg_bank ? m_pcg_ram.get() : m_cg_rom; //machine.root_device().memregion(pcg_bank ? "pcg" : "cgrom")->base();
+ uint8_t *gfx_data = pcg_bank ? m_pcg_ram.get() : m_cg_rom; //machine.root_device().memregion(pcg_bank ? "pcg" : "cgrom")->base();
int knj_enable = 0;
int knj_side = 0;
int knj_bank = 0;
@@ -494,7 +494,7 @@ void x1_state::draw_gfxbitmap(bitmap_rgb32 &bitmap,const rectangle &cliprect, in
int xi,yi,x,y;
int pen_r,pen_g,pen_b,color;
int pri_mask_val;
- UINT8 x_size,y_size;
+ uint8_t x_size,y_size;
int gfx_offset;
x_size = mc6845_h_display;
@@ -540,7 +540,7 @@ void x1_state::draw_gfxbitmap(bitmap_rgb32 &bitmap,const rectangle &cliprect, in
}
}
-UINT32 x1_state::screen_update_x1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+uint32_t x1_state::screen_update_x1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bitmap.fill(rgb_t(0xff,0x00,0x00,0x00), cliprect);
@@ -565,13 +565,13 @@ UINT32 x1_state::screen_update_x1(screen_device &screen, bitmap_rgb32 &bitmap, c
*************************************/
-UINT16 x1_state::check_keyboard_press()
+uint16_t x1_state::check_keyboard_press()
{
static const char *const portnames[3] = { "key1","key2","key3" };
int i,port_i,scancode;
- UINT8 keymod = ioport("key_modifiers")->read() & 0x1f;
- UINT32 pad = ioport("tenkey")->read();
- UINT32 f_key = ioport("f_keys")->read();
+ uint8_t keymod = ioport("key_modifiers")->read() & 0x1f;
+ uint32_t pad = ioport("tenkey")->read();
+ uint32_t f_key = ioport("f_keys")->read();
scancode = 0;
for(port_i=0;port_i<3;port_i++)
@@ -629,9 +629,9 @@ UINT16 x1_state::check_keyboard_press()
return 0;
}
-UINT8 x1_state::check_keyboard_shift()
+uint8_t x1_state::check_keyboard_shift()
{
- UINT8 val = 0xe0;
+ uint8_t val = 0xe0;
/*
all of those are active low
x--- ---- TEN: Numpad, Function key, special input key
@@ -655,7 +655,7 @@ UINT8 x1_state::check_keyboard_shift()
return val;
}
-UINT8 x1_state::get_game_key(UINT8 port)
+uint8_t x1_state::get_game_key(uint8_t port)
{
// key status returned by sub CPU function 0xE3.
// in order from bit 7 to 0:
@@ -663,11 +663,11 @@ UINT8 x1_state::get_game_key(UINT8 port)
// port 1: numpad 7,4,1,8,2,9,6,3
// port 2: ESC,1,[-],[+],[*],TAB,SPC,RET ([] = numpad)
// bits are active high
- UINT8 ret = 0;
+ uint8_t ret = 0;
if (port == 0)
{
- UINT32 key3 = ioport("key3")->read();
+ uint32_t key3 = ioport("key3")->read();
if(key3 & 0x00020000) ret |= 0x80; // Q
if(key3 & 0x00800000) ret |= 0x40; // W
if(key3 & 0x00000020) ret |= 0x20; // E
@@ -680,7 +680,7 @@ UINT8 x1_state::get_game_key(UINT8 port)
else
if (port == 1)
{
- UINT32 pad = ioport("tenkey")->read();
+ uint32_t pad = ioport("tenkey")->read();
if(pad & 0x00000080) ret |= 0x80; // Tenkey 7
if(pad & 0x00000010) ret |= 0x40; // Tenkey 4
if(pad & 0x00000002) ret |= 0x20; // Tenkey 1
@@ -693,9 +693,9 @@ UINT8 x1_state::get_game_key(UINT8 port)
else
if (port == 2)
{
- UINT32 key1 = ioport("key1")->read();
- UINT32 key2 = ioport("key2")->read();
- UINT32 pad = ioport("tenkey")->read();
+ uint32_t key1 = ioport("key1")->read();
+ uint32_t key2 = ioport("key2")->read();
+ uint32_t pad = ioport("tenkey")->read();
if(key1 & 0x08000000) ret |= 0x80; // ESC
if(key2 & 0x00020000) ret |= 0x40; // 1
if(pad & 0x00000400) ret |= 0x20; // Tenkey -
@@ -711,7 +711,7 @@ UINT8 x1_state::get_game_key(UINT8 port)
READ8_MEMBER( x1_state::x1_sub_io_r )
{
- UINT8 ret,bus_res;
+ uint8_t ret,bus_res;
/* Looks like that the HW retains the latest data putted on the bus here, behaviour confirmed by Rally-X */
if(m_sub_obf)
@@ -745,7 +745,7 @@ READ8_MEMBER( x1_state::x1_sub_io_r )
return ret;
}
-void x1_state::cmt_command( UINT8 cmd )
+void x1_state::cmt_command( uint8_t cmd )
{
// CMT deck control command (E9 xx)
// E9 00 - Eject
@@ -993,7 +993,7 @@ WRITE8_MEMBER( x1_state::x1_rom_bank_1_w )
READ8_MEMBER( x1_state::x1_fdc_r )
{
- //UINT8 ret = 0;
+ //uint8_t ret = 0;
switch(offset+0xff8)
{
@@ -1095,7 +1095,7 @@ WRITE_LINE_MEMBER(x1_state::hdl_w)
*
*************************************/
-UINT16 x1_state::check_pcg_addr()
+uint16_t x1_state::check_pcg_addr()
{
if(m_avram[0x7ff] & 0x20) return 0x7ff;
if(m_avram[0x3ff] & 0x20) return 0x3ff;
@@ -1105,7 +1105,7 @@ UINT16 x1_state::check_pcg_addr()
return 0x3ff;
}
-UINT16 x1_state::check_chr_addr()
+uint16_t x1_state::check_chr_addr()
{
if(!(m_avram[0x7ff] & 0x20)) return 0x7ff;
if(!(m_avram[0x3ff] & 0x20)) return 0x3ff;
@@ -1115,11 +1115,11 @@ UINT16 x1_state::check_chr_addr()
return 0x3ff;
}
-UINT16 x1_state::get_pcg_addr( UINT16 width, UINT8 y_char_size )
+uint16_t x1_state::get_pcg_addr( uint16_t width, uint8_t y_char_size )
{
int hbeam = machine().first_screen()->hpos() >> 3;
int vbeam = machine().first_screen()->vpos() / y_char_size;
- UINT16 pcg_offset = ((hbeam + vbeam*width) + (((m_crtc_vreg[0x0c]<<8) & 0x3f00) | (m_crtc_vreg[0x0d] & 0xff))) & 0x7ff;
+ uint16_t pcg_offset = ((hbeam + vbeam*width) + (((m_crtc_vreg[0x0c]<<8) & 0x3f00) | (m_crtc_vreg[0x0d] & 0xff))) & 0x7ff;
//printf("%08x %d %d %d %d\n",(hbeam+vbeam*width),hbeam,vbeam,machine.first_screen()->vpos() & 7,width);
@@ -1130,8 +1130,8 @@ READ8_MEMBER( x1_state::x1_pcg_r )
{
int addr;
int pcg_offset;
- UINT8 res;
- UINT8 *gfx_data;
+ uint8_t res;
+ uint8_t *gfx_data;
addr = (offset & 0x300) >> 8;
@@ -1147,7 +1147,7 @@ READ8_MEMBER( x1_state::x1_pcg_r )
}
else
{
- UINT8 y_char_size;
+ uint8_t y_char_size;
/* addr == 0 reads from the ANK rom */
gfx_data = addr == 0 ? m_cg_rom : m_pcg_ram.get();
@@ -1188,7 +1188,7 @@ WRITE8_MEMBER( x1_state::x1_pcg_w )
}
else // Compatible Mode
{
- UINT8 y_char_size;
+ uint8_t y_char_size;
/* TODO: Brain Breaker doesn't work with this arrangement in high resolution mode, check out why */
y_char_size = (m_crtc_vreg[9]+1) > 8 ? (m_crtc_vreg[9]+1)-8 : m_crtc_vreg[9]+1;
@@ -1215,7 +1215,7 @@ WRITE8_MEMBER( x1_state::x1_pcg_w )
/* for bitmap mode */
void x1_state::set_current_palette()
{
- UINT8 addr,r,g,b;
+ uint8_t addr,r,g,b;
for(addr=0;addr<8;addr++)
{
@@ -1233,8 +1233,8 @@ void x1_state::set_current_palette()
WRITE8_MEMBER( x1_state::x1turboz_4096_palette_w )
{
- UINT32 pal_entry;
- UINT8 r,g,b;
+ uint32_t pal_entry;
+ uint8_t r,g,b;
pal_entry = ((offset & 0xff) << 4) | ((data & 0xf0) >> 4);
@@ -1293,7 +1293,7 @@ WRITE8_MEMBER( x1_state::x1_pal_b_w )
WRITE8_MEMBER( x1_state::x1_ex_gfxram_w )
{
- UINT8 ex_mask;
+ uint8_t ex_mask;
if ( offset <= 0x3fff) { ex_mask = 7; }
else if(offset >= 0x4000 && offset <= 0x7fff) { ex_mask = 6; }
@@ -1431,7 +1431,7 @@ WRITE8_MEMBER( x1_state::x1turbo_gfxpal_w )
* FIXME: bit-wise this doesn't make any sense, I guess that it uses the lv 2 kanji roms
* Test cases for this port so far are Hyper Olympics '84 disk version and Might & Magic.
*/
-UINT16 x1_state::jis_convert(int kanji_addr)
+uint16_t x1_state::jis_convert(int kanji_addr)
{
if(kanji_addr >= 0x0e00 && kanji_addr <= 0x0e9f) { kanji_addr -= 0x0e00; kanji_addr &= 0x0ff; return ((0x0e0) + (kanji_addr >> 3)) << 4; } // numbers
if(kanji_addr >= 0x0f00 && kanji_addr <= 0x109f) { kanji_addr -= 0x0f00; kanji_addr &= 0x1ff; return ((0x4c0) + (kanji_addr >> 3)) << 4; } // lower case chars
@@ -1448,7 +1448,7 @@ UINT16 x1_state::jis_convert(int kanji_addr)
READ8_MEMBER( x1_state::x1_kanji_r )
{
- UINT8 res;
+ uint8_t res;
res = m_kanji_rom[jis_convert(m_kanji_addr & 0xfff0)+(offset*0x10)+(m_kanji_addr & 0xf)];
@@ -1490,7 +1490,7 @@ WRITE8_MEMBER( x1_state::x1_kanji_w )
READ8_MEMBER( x1_state::x1_emm_r )
{
- UINT8 res;
+ uint8_t res;
if(offset & ~3)
{
@@ -1543,7 +1543,7 @@ READ8_MEMBER( x1_state::x1turbo_bank_r )
WRITE8_MEMBER( x1_state::x1turbo_bank_w )
{
- //UINT8 *RAM = memregion("x1_cpu")->base();
+ //uint8_t *RAM = memregion("x1_cpu")->base();
/*
--x- ---- BML5: latch bit (doesn't have any real function)
---x ---- BMCS: select bank RAM, active low
@@ -1809,7 +1809,7 @@ READ8_MEMBER( x1_state::x1_portb_r )
---- --x- "cmt read"
---- ---x "cmt test" (active low) <- actually this is "Sub CPU detected BREAK"
*/
- UINT8 res = 0;
+ uint8_t res = 0;
int vblank_line = m_crtc_vreg[6] * (m_crtc_vreg[9]+1);
int vsync_line = m_crtc_vreg[7] * (m_crtc_vreg[9]+1);
m_vdisp = (machine().first_screen()->vpos() < vblank_line) ? 0x80 : 0x00;
@@ -2280,11 +2280,11 @@ IRQ_CALLBACK_MEMBER(x1_state::x1_irq_callback)
TIMER_DEVICE_CALLBACK_MEMBER(x1_state::x1_keyboard_callback)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
- UINT32 key1 = ioport("key1")->read();
- UINT32 key2 = ioport("key2")->read();
- UINT32 key3 = ioport("key3")->read();
- UINT32 key4 = ioport("tenkey")->read();
- UINT32 f_key = ioport("f_keys")->read();
+ uint32_t key1 = ioport("key1")->read();
+ uint32_t key2 = ioport("key2")->read();
+ uint32_t key3 = ioport("key3")->read();
+ uint32_t key4 = ioport("tenkey")->read();
+ uint32_t f_key = ioport("f_keys")->read();
if(m_key_irq_vector)
{
@@ -2309,7 +2309,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(x1_state::x1_keyboard_callback)
TIMER_CALLBACK_MEMBER(x1_state::x1_rtc_increment)
{
- static const UINT8 dpm[12] = { 0x31, 0x28, 0x31, 0x30, 0x31, 0x30, 0x31, 0x31, 0x30, 0x31, 0x30, 0x31 };
+ static const uint8_t dpm[12] = { 0x31, 0x28, 0x31, 0x30, 0x31, 0x30, 0x31, 0x31, 0x30, 0x31, 0x30, 0x31 };
m_rtc.sec++;
@@ -2336,7 +2336,7 @@ TIMER_CALLBACK_MEMBER(x1_state::x1_rtc_increment)
MACHINE_RESET_MEMBER(x1_state,x1)
{
- //UINT8 *ROM = memregion("x1_cpu")->base();
+ //uint8_t *ROM = memregion("x1_cpu")->base();
int i;
memset(m_gfx_bitmap_ram.get(),0x00,0xc000*2);
@@ -2417,9 +2417,9 @@ MACHINE_START_MEMBER(x1_state,x1)
}
m_ipl_rom = memregion("ipl")->base();
- m_work_ram = make_unique_clear<UINT8[]>(0x10000*0x10);
- m_emm_ram = make_unique_clear<UINT8[]>(0x1000000);
- m_pcg_ram = make_unique_clear<UINT8[]>(0x1800);
+ m_work_ram = make_unique_clear<uint8_t[]>(0x10000*0x10);
+ m_emm_ram = make_unique_clear<uint8_t[]>(0x1000000);
+ m_pcg_ram = make_unique_clear<uint8_t[]>(0x1800);
m_cg_rom = memregion("cgrom")->base();
m_kanji_rom = memregion("kanji")->base();
@@ -2630,9 +2630,9 @@ ROM_END
/* Convert the ROM interleaving into something usable by the write handlers */
DRIVER_INIT_MEMBER(x1_state,x1_kanji)
{
- UINT32 i,j,k,l;
- UINT8 *kanji = memregion("kanji")->base();
- UINT8 *raw_kanji = memregion("raw_kanji")->base();
+ uint32_t i,j,k,l;
+ uint8_t *kanji = memregion("kanji")->base();
+ uint8_t *raw_kanji = memregion("raw_kanji")->base();
k = 0;
for(l=0;l<2;l++)