bfm_adr2 moved some logic around (nw)

This commit is contained in:
Miodrag Milanovic 2013-07-25 10:04:38 +00:00
parent eaa4b601be
commit af868c882d
4 changed files with 37 additions and 53 deletions

View File

@ -198,7 +198,6 @@ public:
#define VFD_DATA 0x40 #define VFD_DATA 0x40
#define MASTER_CLOCK (XTAL_4MHz) #define MASTER_CLOCK (XTAL_4MHz)
#define ADDER_CLOCK (XTAL_8MHz)
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -1130,23 +1129,9 @@ static MACHINE_CONFIG_DERIVED( scorpion1_adder2, scorpion1 )
MCFG_CPU_PROGRAM_MAP(sc1_adder2) // setup read and write memorymap MCFG_CPU_PROGRAM_MAP(sc1_adder2) // setup read and write memorymap
MCFG_DEFAULT_LAYOUT(layout_sc1_vid) MCFG_DEFAULT_LAYOUT(layout_sc1_vid)
MCFG_SCREEN_ADD("adder", RASTER)
MCFG_SCREEN_REFRESH_RATE(50) //MCFG_BFM_ADDER2_ADD("adder2")
MCFG_SCREEN_SIZE( 400, 300) MCFG_FRAGMENT_ADD(adder2)
MCFG_SCREEN_VISIBLE_AREA( 0, 400-1, 0, 300-1)
MCFG_SCREEN_UPDATE_STATIC(adder2)
MCFG_VIDEO_START( adder2)
MCFG_VIDEO_RESET( adder2)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT(adder2)
MCFG_GFXDECODE(adder2)
MCFG_CPU_ADD("adder2", M6809, ADDER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz
MCFG_CPU_PROGRAM_MAP(adder2_memmap) // setup adder2 board memorymap
MCFG_CPU_VBLANK_INT("adder",adder2_vbl) // board has a VBL IRQ
MACHINE_CONFIG_END MACHINE_CONFIG_END
///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////

View File

@ -2164,22 +2164,8 @@ static MACHINE_CONFIG_START( scorpion2_vid, bfm_sc2_state )
MCFG_NVRAM_ADD_CUSTOM_DRIVER("e2ram", bfm_sc2_state, e2ram_init) MCFG_NVRAM_ADD_CUSTOM_DRIVER("e2ram", bfm_sc2_state, e2ram_init)
MCFG_DEFAULT_LAYOUT(layout_sc2_vid) MCFG_DEFAULT_LAYOUT(layout_sc2_vid)
MCFG_SCREEN_ADD("adder", RASTER) //MCFG_BFM_ADDER2_ADD("adder2")
MCFG_SCREEN_SIZE( 400, 280) MCFG_FRAGMENT_ADD(adder2)
MCFG_SCREEN_VISIBLE_AREA( 0, 400-1, 0, 280-1)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_VIDEO_START( adder2)
MCFG_SCREEN_UPDATE_STATIC(adder2)
MCFG_VIDEO_RESET( adder2)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT(adder2)
MCFG_GFXDECODE(adder2)
MCFG_CPU_ADD("adder2", M6809, MASTER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz
MCFG_CPU_PROGRAM_MAP(adder2_memmap) // setup adder2 board memorymap
MCFG_CPU_VBLANK_INT("adder", adder2_vbl) // board has a VBL IRQ
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK) MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)

View File

@ -96,6 +96,8 @@ E000-FFFF | R | D D D D D D D D | 8K ROM
#include "video/bfm_adr2.h" #include "video/bfm_adr2.h"
#include "rendlay.h" #include "rendlay.h"
#include "tilelgcy.h" #include "tilelgcy.h"
#include "drivlgcy.h"
#include "scrlegcy.h"
#ifdef MAME_DEBUG #ifdef MAME_DEBUG
#define VERBOSE 1 #define VERBOSE 1
@ -110,6 +112,9 @@ E000-FFFF | R | D D D D D D D D | 8K ROM
#define SL_DISPLAY 0x02 // displayed Adder screen, 1=screen1 0=screen0 #define SL_DISPLAY 0x02 // displayed Adder screen, 1=screen1 0=screen0
#define SL_ACCESS 0x01 // accessable Adder screen, 1=screen1 0=screen0 #define SL_ACCESS 0x01 // accessable Adder screen, 1=screen1 0=screen0
#define ADDER_CLOCK (XTAL_8MHz)
static int adder2_screen_page_reg; // access/display select static int adder2_screen_page_reg; // access/display select
static int adder2_c101; static int adder2_c101;
static int adder2_rx; static int adder2_rx;
@ -176,7 +181,7 @@ static TILE_GET_INFO( get_tile1_info )
// video initialisation /////////////////////////////////////////////////// // video initialisation ///////////////////////////////////////////////////
VIDEO_RESET( adder2 ) static VIDEO_RESET( adder2 )
{ {
adder2_screen_page_reg = 0; adder2_screen_page_reg = 0;
adder2_c101 = 0; adder2_c101 = 0;
@ -195,7 +200,7 @@ VIDEO_RESET( adder2 )
} }
} }
VIDEO_START( adder2 ) static VIDEO_START( adder2 )
{ {
machine.save().save_item(NAME(adder2_screen_page_reg)); machine.save().save_item(NAME(adder2_screen_page_reg));
machine.save().save_item(NAME(adder2_c101)); machine.save().save_item(NAME(adder2_c101));
@ -215,7 +220,7 @@ VIDEO_START( adder2 )
} }
// video update /////////////////////////////////////////////////////////// // video update ///////////////////////////////////////////////////////////
SCREEN_UPDATE_IND16( adder2 ) static SCREEN_UPDATE_IND16( adder2 )
{ {
const rectangle visible1(0, 400-1, 0, 280-1); //minx,maxx, miny,maxy const rectangle visible1(0, 400-1, 0, 280-1); //minx,maxx, miny,maxy
@ -227,7 +232,7 @@ SCREEN_UPDATE_IND16( adder2 )
// adder2 palette initialisation ////////////////////////////////////////// // adder2 palette initialisation //////////////////////////////////////////
PALETTE_INIT( adder2 ) static PALETTE_INIT( adder2 )
{ {
palette_set_color(machine, 0,MAKE_RGB(0x00,0x00,0x00)); palette_set_color(machine, 0,MAKE_RGB(0x00,0x00,0x00));
palette_set_color(machine, 1,MAKE_RGB(0x00,0x00,0xFF)); palette_set_color(machine, 1,MAKE_RGB(0x00,0x00,0xFF));
@ -249,7 +254,7 @@ PALETTE_INIT( adder2 )
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
INTERRUPT_GEN( adder2_vbl ) static INTERRUPT_GEN( adder2_vbl )
{ {
if ( adder2_c101 & 0x01 ) if ( adder2_c101 & 0x01 )
{ {
@ -486,7 +491,7 @@ void adder2_decode_char_roms(running_machine &machine)
// adder2 board memorymap ///////////////////////////////////////////////// // adder2 board memorymap /////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
ADDRESS_MAP_START( adder2_memmap, AS_PROGRAM, 8, driver_device ) static ADDRESS_MAP_START( adder2_memmap, AS_PROGRAM, 8, driver_device )
AM_RANGE(0x0000, 0x0000) AM_WRITE_LEGACY(adder2_screen_page_w) // screen access/display select AM_RANGE(0x0000, 0x0000) AM_WRITE_LEGACY(adder2_screen_page_w) // screen access/display select
AM_RANGE(0x0000, 0x7FFF) AM_ROMBANK("bank2") // 8k paged ROM (4 pages) AM_RANGE(0x0000, 0x7FFF) AM_ROMBANK("bank2") // 8k paged ROM (4 pages)
@ -523,8 +528,27 @@ static const gfx_layout charlayout =
// characters are grouped by 64 (512 pixels) // characters are grouped by 64 (512 pixels)
// there are max 128 of these groups // there are max 128 of these groups
GFXDECODE_START( adder2 ) static GFXDECODE_START( adder2 )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
GFXDECODE_END GFXDECODE_END
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
MACHINE_CONFIG_FRAGMENT( adder2 )
MCFG_SCREEN_ADD("adder", RASTER)
MCFG_SCREEN_SIZE( 400, 280)
MCFG_SCREEN_VISIBLE_AREA( 0, 400-1, 0, 280-1)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_VIDEO_START( adder2)
MCFG_SCREEN_UPDATE_STATIC(adder2)
MCFG_VIDEO_RESET( adder2)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT(adder2)
MCFG_GFXDECODE(adder2)
MCFG_CPU_ADD("adder2", M6809, ADDER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz
MCFG_CPU_PROGRAM_MAP(adder2_memmap) // setup adder2 board memorymap
MCFG_CPU_VBLANK_INT("adder", adder2_vbl) // board has a VBL IRQ
MACHINE_CONFIG_END

View File

@ -5,17 +5,6 @@ int adder2_receive(void);
void adder2_send(int data); void adder2_send(int data);
int adder2_status(void); int adder2_status(void);
GFXDECODE_EXTERN( adder2 );
void adder2_decode_char_roms(running_machine &machine); void adder2_decode_char_roms(running_machine &machine);
MACHINE_CONFIG_EXTERN(adder2);
MACHINE_RESET( adder2 );
INTERRUPT_GEN( adder2_vbl );
ADDRESS_MAP_EXTERN( adder2_memmap, 8 );
VIDEO_START( adder2 );
VIDEO_RESET( adder2 );
SCREEN_UPDATE_IND16( adder2 );
PALETTE_INIT( adder2 );
#endif #endif