summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2012-12-18 15:36:41 +0000
committer Curt Coder <curtcoder@mail.com>2012-12-18 15:36:41 +0000
commit6c2f23ebd0d9a7f3f0deed2fa36130e640edcc48 (patch)
tree52f29ce102a57190670b3fbf3caefc5b6796f59f
parent394ee300e4a9fb4c64ef28ec8e8b07cc2464ed72 (diff)
(MESS) tdv2324: Floppy modernization. (nw)
-rw-r--r--src/mess/drivers/tdv2324.c58
-rw-r--r--src/mess/includes/tdv2324.h43
2 files changed, 41 insertions, 60 deletions
diff --git a/src/mess/drivers/tdv2324.c b/src/mess/drivers/tdv2324.c
index dd4ff3d691a..1ae9b1f3d29 100644
--- a/src/mess/drivers/tdv2324.c
+++ b/src/mess/drivers/tdv2324.c
@@ -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) */
};
@@ -354,41 +354,24 @@ static Z80DART_INTERFACE( sio_intf )
//-------------------------------------------------
-// wd17xx_interface fdc_intf
+// tms9927_interface vtac_intf
//-------------------------------------------------
-static const floppy_interface tdv2324_floppy_interface =
+static const tms9927_interface vtac_intf =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- FLOPPY_STANDARD_8_DSDD,
- LEGACY_FLOPPY_OPTIONS_NAME(default),
- "floppy_8",
+ SCREEN_TAG,
+ 8,
NULL
};
-static const wd17xx_interface fdc_intf =
-{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- { FLOPPY_0, NULL, NULL, NULL }
-};
-
//-------------------------------------------------
-// tms9927_interface vtac_intf
+// SLOT_INTERFACE( tdv2324_floppies )
//-------------------------------------------------
-static const tms9927_interface vtac_intf =
-{
- SCREEN_TAG,
- 8,
- NULL
-};
+static SLOT_INTERFACE_START( tdv2324_floppies )
+ SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
+SLOT_INTERFACE_END
@@ -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)
diff --git a/src/mess/includes/tdv2324.h b/src/mess/includes/tdv2324.h
index a0f3bd88b27..dbc86e1ac17 100644
--- a/src/mess/includes/tdv2324.h
+++ b/src/mess/includes/tdv2324.h
@@ -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);
};