From 357643070a3b61828870d1482846017516895df1 Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Fri, 30 Mar 2018 12:18:42 +0100 Subject: electron: Use MCFG_SCREEN_RAW_PARAMS (nw) --- src/mame/drivers/electron.cpp | 6 ++---- src/mame/video/electron.cpp | 22 ++++++++++------------ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/mame/drivers/electron.cpp b/src/mame/drivers/electron.cpp index ac8bcca8c5f..09d7ec744d6 100644 --- a/src/mame/drivers/electron.cpp +++ b/src/mame/drivers/electron.cpp @@ -217,9 +217,7 @@ MACHINE_CONFIG_START(electron_state::electron) MCFG_CPU_PROGRAM_MAP( electron_mem ) MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE( 50.08 ) - MCFG_SCREEN_SIZE( 640, 312 ) - MCFG_SCREEN_VISIBLE_AREA( 0, 640-1, 0, 256-1 ) + MCFG_SCREEN_RAW_PARAMS(16_MHz_XTAL, 1024, 0, 640, 312, 0, 256) MCFG_SCREEN_UPDATE_DRIVER(electron_state, screen_update_electron) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE) MCFG_SCREEN_PALETTE("palette") @@ -236,7 +234,7 @@ MACHINE_CONFIG_START(electron_state::electron) MCFG_CASSETTE_ADD( "cassette" ) MCFG_CASSETTE_FORMATS(bbc_cassette_formats) - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY) + MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED) MCFG_CASSETTE_INTERFACE("electron_cass") /* expansion port */ diff --git a/src/mame/video/electron.cpp b/src/mame/video/electron.cpp index 63ef204b119..9734ded6ced 100644 --- a/src/mame/video/electron.cpp +++ b/src/mame/video/electron.cpp @@ -64,8 +64,7 @@ take effect immediately. VSYNC is not signalled in any way. void electron_state::video_start() { - int i; - for( i = 0; i < 256; i++ ) { + for( int i = 0; i < 256; i++ ) { m_map4[i] = ( ( i & 0x10 ) >> 3 ) | ( i & 0x01 ); m_map16[i] = ( ( i & 0x40 ) >> 3 ) | ( ( i & 0x10 ) >> 2 ) | ( ( i & 0x04 ) >> 1 ) | ( i & 0x01 ); } @@ -85,7 +84,6 @@ inline void electron_state::electron_plot_pixel(bitmap_ind16 &bitmap, int x, int uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - int i; int x = 0; int pal[16]; int scanline = screen.vpos(); @@ -106,7 +104,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in pal[3] = m_ula.current_pal[10]; break; case 2: /* 16 colour mode */ - for( i = 0; i < 16; i++ ) + for( int i = 0; i < 16; i++ ) pal[i] = m_ula.current_pal[i]; } @@ -114,7 +112,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in switch( m_ula.screen_mode ) { case 0: - for( i = 0; i < 80; i++ ) + for( int i = 0; i < 80; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + (i << 3) ); electron_plot_pixel( bitmap, x++, scanline, pal[(pattern>>7)& 1] ); @@ -132,7 +130,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in break; case 1: - for( i = 0; i < 80; i++ ) + for( int i = 0; i < 80; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + i * 8 ); electron_plot_pixel( bitmap, x++, scanline, pal[m_map4[pattern>>3]] ); @@ -150,7 +148,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in break; case 2: - for( i = 0; i < 80; i++ ) + for( int i = 0; i < 80; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + i * 8 ); electron_plot_pixel( bitmap, x++, scanline, pal[m_map16[pattern>>1]] ); @@ -172,7 +170,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in bitmap.fill(7, r ); else { - for( i = 0; i < 80; i++ ) + for( int i = 0; i < 80; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + i * 8 ); electron_plot_pixel( bitmap, x++, scanline, pal[(pattern>>7)&1] ); @@ -192,7 +190,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in case 4: case 7: - for( i = 0; i < 40; i++ ) + for( int i = 0; i < 40; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + i * 8 ); electron_plot_pixel( bitmap, x++, scanline, pal[(pattern>>7)&1] ); @@ -218,7 +216,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in break; case 5: - for( i = 0; i < 40; i++ ) + for( int i = 0; i < 40; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + i * 8 ); electron_plot_pixel( bitmap, x++, scanline, pal[m_map4[pattern>>3]] ); @@ -248,7 +246,7 @@ uint32_t electron_state::screen_update_electron(screen_device &screen, bitmap_in bitmap.fill(7, r ); else { - for( i = 0; i < 40; i++ ) + for( int i = 0; i < 40; i++ ) { uint8_t pattern = read_vram( m_ula.screen_addr + i * 8 ); electron_plot_pixel( bitmap, x++, scanline, pal[(pattern>>7)&1] ); @@ -288,7 +286,7 @@ TIMER_CALLBACK_MEMBER(electron_state::electron_scanline_interrupt) case 199: electron_interrupt_handler( INT_SET, INT_DISPLAY_END ); break; - case 0: + case 256: m_ula.screen_addr = m_ula.screen_start - m_ula.screen_base; break; } -- cgit v1.2.3