diff options
Diffstat (limited to 'src/mame/drivers/x1.cpp')
-rw-r--r-- | src/mame/drivers/x1.cpp | 128 |
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++) |