mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
bfm_adr2 moved some logic around (nw)
This commit is contained in:
parent
eaa4b601be
commit
af868c882d
@ -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
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user