(MESS) tdv2324: Floppy modernization. (nw)

This commit is contained in:
Curt Coder 2012-12-18 15:36:41 +00:00
parent 394ee300e4
commit 6c2f23ebd0
2 changed files with 42 additions and 61 deletions

View File

@ -129,7 +129,7 @@ WRITE8_MEMBER( tdv2324_state::tdv2324_main_io_e2 )
static ADDRESS_MAP_START( tdv2324_mem, AS_PROGRAM, 8, tdv2324_state )
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_ROM AM_REGION(P8085AH_0_TAG, 0)
/* when copying code to 4000 area it runs right off the end of rom;
* I'm not sure if its supposed to mirror or read as open bus */
* I'm not sure if its supposed to mirror or read as open bus */
// AM_RANGE(0x4000, 0x5fff) AM_RAM // 0x4000 has the boot code copied to it, 5fff and down are the stack
// AM_RANGE(0x6000, 0x6fff) AM_RAM // used by the relocated boot code; shared?
AM_RANGE(0x0800, 0xffff) AM_RAM
@ -247,10 +247,10 @@ UINT32 tdv2324_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
static I8085_CONFIG( i8085_intf )
{
DEVCB_NULL, /* STATUS changed callback */
DEVCB_NULL, /* INTE changed callback */
DEVCB_NULL, /* SID changed callback (I8085A only) */
DEVCB_NULL /* SOD changed callback (I8085A only) */
DEVCB_NULL, /* STATUS changed callback */
DEVCB_NULL, /* INTE changed callback */
DEVCB_NULL, /* SID changed callback (I8085A only) */
DEVCB_NULL /* SOD changed callback (I8085A only) */
};
@ -260,10 +260,10 @@ static I8085_CONFIG( i8085_intf )
static I8085_CONFIG( i8085_sub_intf )
{
DEVCB_NULL, /* STATUS changed callback */
DEVCB_NULL, /* INTE changed callback */
DEVCB_NULL, /* SID changed callback (I8085A only) */
DEVCB_NULL /* SOD changed callback (I8085A only) */
DEVCB_NULL, /* STATUS changed callback */
DEVCB_NULL, /* INTE changed callback */
DEVCB_NULL, /* SID changed callback (I8085A only) */
DEVCB_NULL /* SOD changed callback (I8085A only) */
};
@ -353,32 +353,6 @@ static Z80DART_INTERFACE( sio_intf )
};
//-------------------------------------------------
// wd17xx_interface fdc_intf
//-------------------------------------------------
static const floppy_interface tdv2324_floppy_interface =
{
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
FLOPPY_STANDARD_8_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
"floppy_8",
NULL
};
static const wd17xx_interface fdc_intf =
{
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
{ FLOPPY_0, NULL, NULL, NULL }
};
//-------------------------------------------------
// tms9927_interface vtac_intf
//-------------------------------------------------
@ -391,6 +365,15 @@ static const tms9927_interface vtac_intf =
};
//-------------------------------------------------
// SLOT_INTERFACE( tdv2324_floppies )
//-------------------------------------------------
static SLOT_INTERFACE_START( tdv2324_floppies )
SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
SLOT_INTERFACE_END
//**************************************************************************
// MACHINE CONFIGURATION
@ -432,8 +415,9 @@ static MACHINE_CONFIG_START( tdv2324, tdv2324_state )
MCFG_PIT8253_ADD(P8253_5_0_TAG, pit0_intf)
MCFG_PIT8253_ADD(P8253_5_1_TAG, pit1_intf)
MCFG_Z80SIO2_ADD(MK3887N4_TAG, 8000000/2, sio_intf)
MCFG_FD1797_ADD(FD1797PL02_TAG, fdc_intf)
MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, tdv2324_floppy_interface)
MCFG_FD1797x_ADD(FD1797PL02_TAG, 8000000/4)
MCFG_FLOPPY_DRIVE_ADD(FD1797PL02_TAG":0", tdv2324_floppies, "8dsdd", NULL, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1797PL02_TAG":1", tdv2324_floppies, "8dsdd", NULL, floppy_image_device::default_floppy_formats)
// internal ram
MCFG_RAM_ADD(RAM_TAG)
@ -490,4 +474,4 @@ ROM_END
//**************************************************************************
// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
COMP( 1983, tdv2324, 0, 0, tdv2324, tdv2324, driver_device, 0, "Tandberg", "TDV 2324", GAME_NOT_WORKING|GAME_NO_SOUND)
COMP( 1983, tdv2324, 0, 0, tdv2324, tdv2324, driver_device, 0, "Tandberg", "TDV 2324", GAME_NOT_WORKING|GAME_NO_SOUND)

View File

@ -7,13 +7,11 @@
#include "emu.h"
#include "cpu/i8085/i8085.h"
#include "cpu/m6800/m6800.h"
#include "formats/basicdsk.h"
#include "imagedev/flopdrv.h"
#include "imagedev/harddriv.h"
#include "machine/pit8253.h"
#include "machine/pic8259.h"
#include "machine/ram.h"
#include "machine/wd17xx.h"
#include "machine/wd_fdc.h"
#include "machine/z80dart.h"
#include "video/tms9927.h"
@ -23,20 +21,20 @@
// MACROS / CONSTANTS
//**************************************************************************
#define P8085AH_0_TAG "17f"
#define P8259A_TAG "17d"
#define P8253_5_0_TAG "17c"
#define P8253_5_1_TAG "18c"
#define ER3400_TAG "12a"
#define P8085AH_0_TAG "17f"
#define P8259A_TAG "17d"
#define P8253_5_0_TAG "17c"
#define P8253_5_1_TAG "18c"
#define ER3400_TAG "12a"
#define P8085AH_1_TAG "6c"
#define TMS9937NL_TAG "7e"
#define MK3887N4_TAG "15d"
#define P8085AH_1_TAG "6c"
#define TMS9937NL_TAG "7e"
#define MK3887N4_TAG "15d"
#define MC68B02P_TAG "12b"
#define FD1797PL02_TAG "fd1797"
#define MC68B02P_TAG "12b"
#define FD1797PL02_TAG "fd1797"
#define SCREEN_TAG "screen"
#define SCREEN_TAG "screen"
@ -49,14 +47,14 @@ class tdv2324_state : public driver_device
public:
tdv2324_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, P8085AH_0_TAG),
m_subcpu(*this, P8085AH_1_TAG),
m_fdccpu(*this, MC68B02P_TAG),
m_sio(*this, MK3887N4_TAG),
m_pic(*this, P8259A_TAG),
m_pit0(*this, P8253_5_0_TAG),
m_pit1(*this, P8253_5_1_TAG),
m_video_ram(*this, "video_ram")
m_maincpu(*this, P8085AH_0_TAG),
m_subcpu(*this, P8085AH_1_TAG),
m_fdccpu(*this, MC68B02P_TAG),
m_sio(*this, MK3887N4_TAG),
m_pic(*this, P8259A_TAG),
m_pit0(*this, P8253_5_0_TAG),
m_pit1(*this, P8253_5_1_TAG),
m_video_ram(*this, "video_ram")
{ }
required_device<cpu_device> m_maincpu;
@ -79,7 +77,6 @@ public:
// video state
required_shared_ptr<UINT8> m_video_ram;
UINT32 screen_update_tdv2324(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
};