trunk/src/mess/drivers/tdv2324.c
| r19663 | r19664 | |
| 129 | 129 | static ADDRESS_MAP_START( tdv2324_mem, AS_PROGRAM, 8, tdv2324_state ) |
| 130 | 130 | AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_ROM AM_REGION(P8085AH_0_TAG, 0) |
| 131 | 131 | /* when copying code to 4000 area it runs right off the end of rom; |
| 132 | | * I'm not sure if its supposed to mirror or read as open bus */ |
| 132 | * I'm not sure if its supposed to mirror or read as open bus */ |
| 133 | 133 | // AM_RANGE(0x4000, 0x5fff) AM_RAM // 0x4000 has the boot code copied to it, 5fff and down are the stack |
| 134 | 134 | // AM_RANGE(0x6000, 0x6fff) AM_RAM // used by the relocated boot code; shared? |
| 135 | 135 | AM_RANGE(0x0800, 0xffff) AM_RAM |
| r19663 | r19664 | |
| 247 | 247 | |
| 248 | 248 | static I8085_CONFIG( i8085_intf ) |
| 249 | 249 | { |
| 250 | | DEVCB_NULL, /* STATUS changed callback */ |
| 251 | | DEVCB_NULL, /* INTE changed callback */ |
| 252 | | DEVCB_NULL, /* SID changed callback (I8085A only) */ |
| 253 | | DEVCB_NULL /* SOD changed callback (I8085A only) */ |
| 250 | DEVCB_NULL, /* STATUS changed callback */ |
| 251 | DEVCB_NULL, /* INTE changed callback */ |
| 252 | DEVCB_NULL, /* SID changed callback (I8085A only) */ |
| 253 | DEVCB_NULL /* SOD changed callback (I8085A only) */ |
| 254 | 254 | }; |
| 255 | 255 | |
| 256 | 256 | |
| r19663 | r19664 | |
| 260 | 260 | |
| 261 | 261 | static I8085_CONFIG( i8085_sub_intf ) |
| 262 | 262 | { |
| 263 | | DEVCB_NULL, /* STATUS changed callback */ |
| 264 | | DEVCB_NULL, /* INTE changed callback */ |
| 265 | | DEVCB_NULL, /* SID changed callback (I8085A only) */ |
| 266 | | DEVCB_NULL /* SOD changed callback (I8085A only) */ |
| 263 | DEVCB_NULL, /* STATUS changed callback */ |
| 264 | DEVCB_NULL, /* INTE changed callback */ |
| 265 | DEVCB_NULL, /* SID changed callback (I8085A only) */ |
| 266 | DEVCB_NULL /* SOD changed callback (I8085A only) */ |
| 267 | 267 | }; |
| 268 | 268 | |
| 269 | 269 | |
| r19663 | r19664 | |
| 354 | 354 | |
| 355 | 355 | |
| 356 | 356 | //------------------------------------------------- |
| 357 | | // wd17xx_interface fdc_intf |
| 357 | // tms9927_interface vtac_intf |
| 358 | 358 | //------------------------------------------------- |
| 359 | 359 | |
| 360 | | static const floppy_interface tdv2324_floppy_interface = |
| 360 | static const tms9927_interface vtac_intf = |
| 361 | 361 | { |
| 362 | | DEVCB_NULL, |
| 363 | | DEVCB_NULL, |
| 364 | | DEVCB_NULL, |
| 365 | | DEVCB_NULL, |
| 366 | | DEVCB_NULL, |
| 367 | | FLOPPY_STANDARD_8_DSDD, |
| 368 | | LEGACY_FLOPPY_OPTIONS_NAME(default), |
| 369 | | "floppy_8", |
| 362 | SCREEN_TAG, |
| 363 | 8, |
| 370 | 364 | NULL |
| 371 | 365 | }; |
| 372 | 366 | |
| 373 | | static const wd17xx_interface fdc_intf = |
| 374 | | { |
| 375 | | DEVCB_NULL, |
| 376 | | DEVCB_NULL, |
| 377 | | DEVCB_NULL, |
| 378 | | { FLOPPY_0, NULL, NULL, NULL } |
| 379 | | }; |
| 380 | 367 | |
| 381 | | |
| 382 | 368 | //------------------------------------------------- |
| 383 | | // tms9927_interface vtac_intf |
| 369 | // SLOT_INTERFACE( tdv2324_floppies ) |
| 384 | 370 | //------------------------------------------------- |
| 385 | 371 | |
| 386 | | static const tms9927_interface vtac_intf = |
| 387 | | { |
| 388 | | SCREEN_TAG, |
| 389 | | 8, |
| 390 | | NULL |
| 391 | | }; |
| 372 | static SLOT_INTERFACE_START( tdv2324_floppies ) |
| 373 | SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) |
| 374 | SLOT_INTERFACE_END |
| 392 | 375 | |
| 393 | 376 | |
| 394 | 377 | |
| r19663 | r19664 | |
| 432 | 415 | MCFG_PIT8253_ADD(P8253_5_0_TAG, pit0_intf) |
| 433 | 416 | MCFG_PIT8253_ADD(P8253_5_1_TAG, pit1_intf) |
| 434 | 417 | MCFG_Z80SIO2_ADD(MK3887N4_TAG, 8000000/2, sio_intf) |
| 435 | | MCFG_FD1797_ADD(FD1797PL02_TAG, fdc_intf) |
| 436 | | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, tdv2324_floppy_interface) |
| 418 | MCFG_FD1797x_ADD(FD1797PL02_TAG, 8000000/4) |
| 419 | MCFG_FLOPPY_DRIVE_ADD(FD1797PL02_TAG":0", tdv2324_floppies, "8dsdd", NULL, floppy_image_device::default_floppy_formats) |
| 420 | MCFG_FLOPPY_DRIVE_ADD(FD1797PL02_TAG":1", tdv2324_floppies, "8dsdd", NULL, floppy_image_device::default_floppy_formats) |
| 437 | 421 | |
| 438 | 422 | // internal ram |
| 439 | 423 | MCFG_RAM_ADD(RAM_TAG) |
| r19663 | r19664 | |
| 490 | 474 | //************************************************************************** |
| 491 | 475 | |
| 492 | 476 | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 493 | | COMP( 1983, tdv2324, 0, 0, tdv2324, tdv2324, driver_device, 0, "Tandberg", "TDV 2324", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 477 | COMP( 1983, tdv2324, 0, 0, tdv2324, tdv2324, driver_device, 0, "Tandberg", "TDV 2324", GAME_NOT_WORKING|GAME_NO_SOUND) |
trunk/src/mess/includes/tdv2324.h
| r19663 | r19664 | |
| 7 | 7 | #include "emu.h" |
| 8 | 8 | #include "cpu/i8085/i8085.h" |
| 9 | 9 | #include "cpu/m6800/m6800.h" |
| 10 | | #include "formats/basicdsk.h" |
| 11 | | #include "imagedev/flopdrv.h" |
| 12 | 10 | #include "imagedev/harddriv.h" |
| 13 | 11 | #include "machine/pit8253.h" |
| 14 | 12 | #include "machine/pic8259.h" |
| 15 | 13 | #include "machine/ram.h" |
| 16 | | #include "machine/wd17xx.h" |
| 14 | #include "machine/wd_fdc.h" |
| 17 | 15 | #include "machine/z80dart.h" |
| 18 | 16 | #include "video/tms9927.h" |
| 19 | 17 | |
| r19663 | r19664 | |
| 23 | 21 | // MACROS / CONSTANTS |
| 24 | 22 | //************************************************************************** |
| 25 | 23 | |
| 26 | | #define P8085AH_0_TAG "17f" |
| 27 | | #define P8259A_TAG "17d" |
| 28 | | #define P8253_5_0_TAG "17c" |
| 29 | | #define P8253_5_1_TAG "18c" |
| 30 | | #define ER3400_TAG "12a" |
| 24 | #define P8085AH_0_TAG "17f" |
| 25 | #define P8259A_TAG "17d" |
| 26 | #define P8253_5_0_TAG "17c" |
| 27 | #define P8253_5_1_TAG "18c" |
| 28 | #define ER3400_TAG "12a" |
| 31 | 29 | |
| 32 | | #define P8085AH_1_TAG "6c" |
| 33 | | #define TMS9937NL_TAG "7e" |
| 34 | | #define MK3887N4_TAG "15d" |
| 30 | #define P8085AH_1_TAG "6c" |
| 31 | #define TMS9937NL_TAG "7e" |
| 32 | #define MK3887N4_TAG "15d" |
| 35 | 33 | |
| 36 | | #define MC68B02P_TAG "12b" |
| 37 | | #define FD1797PL02_TAG "fd1797" |
| 34 | #define MC68B02P_TAG "12b" |
| 35 | #define FD1797PL02_TAG "fd1797" |
| 38 | 36 | |
| 39 | | #define SCREEN_TAG "screen" |
| 37 | #define SCREEN_TAG "screen" |
| 40 | 38 | |
| 41 | 39 | |
| 42 | 40 | |
| r19663 | r19664 | |
| 49 | 47 | public: |
| 50 | 48 | tdv2324_state(const machine_config &mconfig, device_type type, const char *tag) |
| 51 | 49 | : driver_device(mconfig, type, tag), |
| 52 | | m_maincpu(*this, P8085AH_0_TAG), |
| 53 | | m_subcpu(*this, P8085AH_1_TAG), |
| 54 | | m_fdccpu(*this, MC68B02P_TAG), |
| 55 | | m_sio(*this, MK3887N4_TAG), |
| 56 | | m_pic(*this, P8259A_TAG), |
| 57 | | m_pit0(*this, P8253_5_0_TAG), |
| 58 | | m_pit1(*this, P8253_5_1_TAG), |
| 59 | | m_video_ram(*this, "video_ram") |
| 50 | m_maincpu(*this, P8085AH_0_TAG), |
| 51 | m_subcpu(*this, P8085AH_1_TAG), |
| 52 | m_fdccpu(*this, MC68B02P_TAG), |
| 53 | m_sio(*this, MK3887N4_TAG), |
| 54 | m_pic(*this, P8259A_TAG), |
| 55 | m_pit0(*this, P8253_5_0_TAG), |
| 56 | m_pit1(*this, P8253_5_1_TAG), |
| 57 | m_video_ram(*this, "video_ram") |
| 60 | 58 | { } |
| 61 | 59 | |
| 62 | 60 | required_device<cpu_device> m_maincpu; |
| r19663 | r19664 | |
| 79 | 77 | |
| 80 | 78 | // video state |
| 81 | 79 | required_shared_ptr<UINT8> m_video_ram; |
| 82 | | UINT32 screen_update_tdv2324(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 83 | 80 | }; |
| 84 | 81 | |
| 85 | 82 | |