diff --git a/src/mess/drivers/apricotf.c b/src/mess/drivers/apricotf.c index df67ba10e95..2aa58759f8c 100644 --- a/src/mess/drivers/apricotf.c +++ b/src/mess/drivers/apricotf.c @@ -24,10 +24,89 @@ */ -#include "includes/apricotf.h" +#include "emu.h" +#include "cpu/i86/i86.h" +#include "cpu/z80/z80daisy.h" +#include "imagedev/flopdrv.h" +#include "machine/apricotkb.h" +#include "machine/buffer.h" +#include "bus/centronics/ctronics.h" +#include "machine/wd_fdc.h" +#include "machine/z80ctc.h" +#include "machine/z80dart.h" #include "formats/apridisk.h" +//************************************************************************** +// MACROS / CONSTANTS +//************************************************************************** + +#define SCREEN_TAG "screen" +#define I8086_TAG "10d" +#define Z80CTC_TAG "13d" +#define Z80SIO2_TAG "15d" +#define WD2797_TAG "5f" +#define CENTRONICS_TAG "centronics" + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> f1_state + +class f1_state : public driver_device +{ +public: + f1_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, I8086_TAG), + m_ctc(*this, Z80CTC_TAG), + m_sio(*this, Z80SIO2_TAG), + m_fdc(*this, WD2797_TAG), + m_floppy0(*this, WD2797_TAG ":0"), + m_floppy1(*this, WD2797_TAG ":1"), + m_centronics(*this, CENTRONICS_TAG), + m_cent_data_out(*this, "cent_data_out"), + m_ctc_int(CLEAR_LINE), + m_sio_int(CLEAR_LINE), + m_p_scrollram(*this, "p_scrollram"), + m_p_paletteram(*this, "p_paletteram"), + m_palette(*this, "palette") + { } + + DECLARE_FLOPPY_FORMATS(floppy_formats); + + virtual void machine_start(); + + required_device m_maincpu; + required_device m_ctc; + required_device m_sio; + required_device m_fdc; + required_device m_floppy0; + required_device m_floppy1; + required_device m_centronics; + required_device m_cent_data_out; + int m_ctc_int; + int m_sio_int; + required_shared_ptr m_p_scrollram; + required_shared_ptr m_p_paletteram; + required_device m_palette; + + UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + DECLARE_READ16_MEMBER( palette_r ); + DECLARE_WRITE16_MEMBER( palette_w ); + DECLARE_WRITE8_MEMBER( system_w ); + DECLARE_WRITE_LINE_MEMBER( sio_int_w ); + DECLARE_WRITE_LINE_MEMBER( ctc_int_w ); + DECLARE_WRITE_LINE_MEMBER( ctc_z1_w ); + DECLARE_WRITE_LINE_MEMBER( ctc_z2_w ); + + int m_40_80; + int m_200_256; +}; + //************************************************************************** // VIDEO diff --git a/src/mess/drivers/apricotp.c b/src/mess/drivers/apricotp.c index 7ff45b011db..86073ccda98 100644 --- a/src/mess/drivers/apricotp.c +++ b/src/mess/drivers/apricotp.c @@ -24,15 +24,43 @@ */ -#include "includes/apricotp.h" +#include "emu.h" +#include "cpu/i86/i86.h" +#include "cpu/m6800/m6800.h" +#include "machine/am9517a.h" +#include "machine/apricotkb.h" +#include "bus/centronics/ctronics.h" +#include "machine/pic8259.h" +#include "machine/pit8253.h" +#include "machine/ram.h" +#include "machine/wd_fdc.h" +#include "machine/z80dart.h" +#include "sound/sn76496.h" +#include "video/mc6845.h" #include "formats/apridisk.h" #include "apricotp.lh" +//************************************************************************** +// MACROS / CONSTANTS +//************************************************************************** -//************************************************************************** -// MACROS/CONSTANTS -//************************************************************************** +#define I8086_TAG "ic7" +#define I8284_TAG "ic30" +#define I8237_TAG "ic17" +#define I8259A_TAG "ic51" +#define I8253A5_TAG "ic20" +#define TMS4500_TAG "ic42" +#define MC6845_TAG "ic69" +#define HD63B01V1_TAG "ic29" +#define AD7574_TAG "ic34" +#define AD1408_TAG "ic37" +#define Z80SIO0_TAG "ic6" +#define WD2797_TAG "ic5" +#define SN76489AN_TAG "ic13" +#define CENTRONICS_TAG "centronics" +#define SCREEN_LCD_TAG "screen0" +#define SCREEN_CRT_TAG "screen1" enum { @@ -46,6 +74,86 @@ enum }; +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> fp_state + +class fp_state : public driver_device +{ +public: + fp_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, I8086_TAG), + m_soundcpu(*this, HD63B01V1_TAG), + m_dmac(*this, I8237_TAG), + m_pic(*this, I8259A_TAG), + m_pit(*this, I8253A5_TAG), + m_sio(*this, Z80SIO0_TAG), + m_fdc(*this, WD2797_TAG), + m_crtc(*this, MC6845_TAG), + m_ram(*this, RAM_TAG), + m_floppy0(*this, WD2797_TAG":0"), + m_floppy1(*this, WD2797_TAG":1"), + m_floppy(NULL), + m_centronics(*this, CENTRONICS_TAG), + m_work_ram(*this, "work_ram"), + m_video_ram(*this, "video_ram") + { } + + DECLARE_FLOPPY_FORMATS(floppy_formats); + + required_device m_maincpu; + required_device m_soundcpu; + required_device m_dmac; + required_device m_pic; + required_device m_pit; + required_device m_sio; + required_device m_fdc; + required_device m_crtc; + required_device m_ram; + required_device m_floppy0; + required_device m_floppy1; + floppy_image_device *m_floppy; + required_device m_centronics; + + virtual void machine_start(); + virtual void machine_reset(); + + virtual void video_start(); + UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + MC6845_UPDATE_ROW(update_row); + DECLARE_READ16_MEMBER( mem_r ); + DECLARE_WRITE16_MEMBER( mem_w ); + DECLARE_READ8_MEMBER( prtr_snd_r ); + DECLARE_WRITE8_MEMBER( pint_clr_w ); + DECLARE_WRITE8_MEMBER( ls_w ); + DECLARE_WRITE8_MEMBER( contrast_w ); + DECLARE_WRITE8_MEMBER( palette_w ); + DECLARE_WRITE16_MEMBER( video_w ); + DECLARE_WRITE8_MEMBER( lat_w ); + + void lat_ls259_w(offs_t offset, int state); + + optional_shared_ptr m_work_ram; + + // video state + optional_shared_ptr m_video_ram; + UINT8 m_video; + + int m_centronics_busy; + int m_centronics_select; + int m_centronics_fault; + int m_centronics_perror; + + DECLARE_WRITE_LINE_MEMBER( write_centronics_busy ); + DECLARE_WRITE_LINE_MEMBER( write_centronics_select ); + DECLARE_WRITE_LINE_MEMBER( write_centronics_fault ); + DECLARE_WRITE_LINE_MEMBER( write_centronics_perror ); +}; + //************************************************************************** // VIDEO diff --git a/src/mess/includes/apricotf.h b/src/mess/includes/apricotf.h deleted file mode 100644 index bb2aa226757..00000000000 --- a/src/mess/includes/apricotf.h +++ /dev/null @@ -1,96 +0,0 @@ - // license:BSD-3-Clause -// copyright-holders:Angelo Salese, Robbbert -#pragma once - -#ifndef __APRICOTF__ -#define __APRICOTF__ - - -#include "emu.h" -#include "cpu/i86/i86.h" -#include "cpu/z80/z80daisy.h" -#include "imagedev/flopdrv.h" -#include "machine/apricotkb.h" -#include "machine/buffer.h" -#include "bus/centronics/ctronics.h" -#include "machine/wd_fdc.h" -#include "machine/z80ctc.h" -#include "machine/z80dart.h" -#include "rendlay.h" - - - -//************************************************************************** -// MACROS / CONSTANTS -//************************************************************************** - -#define SCREEN_TAG "screen" -#define I8086_TAG "10d" -#define Z80CTC_TAG "13d" -#define Z80SIO2_TAG "15d" -#define WD2797_TAG "5f" -#define CENTRONICS_TAG "centronics" - - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -// ======================> f1_state - -class f1_state : public driver_device -{ -public: - f1_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, I8086_TAG), - m_ctc(*this, Z80CTC_TAG), - m_sio(*this, Z80SIO2_TAG), - m_fdc(*this, WD2797_TAG), - m_floppy0(*this, WD2797_TAG ":0"), - m_floppy1(*this, WD2797_TAG ":1"), - m_centronics(*this, CENTRONICS_TAG), - m_cent_data_out(*this, "cent_data_out"), - m_ctc_int(CLEAR_LINE), - m_sio_int(CLEAR_LINE), - m_p_scrollram(*this, "p_scrollram"), - m_p_paletteram(*this, "p_paletteram"), - m_palette(*this, "palette") - { } - - DECLARE_FLOPPY_FORMATS(floppy_formats); - - virtual void machine_start(); - - required_device m_maincpu; - required_device m_ctc; - required_device m_sio; - required_device m_fdc; - required_device m_floppy0; - required_device m_floppy1; - required_device m_centronics; - required_device m_cent_data_out; - int m_ctc_int; - int m_sio_int; - required_shared_ptr m_p_scrollram; - required_shared_ptr m_p_paletteram; - required_device m_palette; - - UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - - DECLARE_READ16_MEMBER( palette_r ); - DECLARE_WRITE16_MEMBER( palette_w ); - DECLARE_WRITE8_MEMBER( system_w ); - DECLARE_WRITE_LINE_MEMBER( sio_int_w ); - DECLARE_WRITE_LINE_MEMBER( ctc_int_w ); - DECLARE_WRITE_LINE_MEMBER( ctc_z1_w ); - DECLARE_WRITE_LINE_MEMBER( ctc_z2_w ); - - int m_40_80; - int m_200_256; -}; - - - -#endif diff --git a/src/mess/includes/apricotp.h b/src/mess/includes/apricotp.h deleted file mode 100644 index f932245e4e2..00000000000 --- a/src/mess/includes/apricotp.h +++ /dev/null @@ -1,131 +0,0 @@ -// license:LGPL-2.1+ -// copyright-holders:Angelo Salese, Dirk Best -#pragma once - -#ifndef __APRICOTP__ -#define __APRICOTP__ - - -#include "emu.h" -#include "cpu/i86/i86.h" -#include "cpu/m6800/m6800.h" -#include "machine/am9517a.h" -#include "machine/apricotkb.h" -#include "bus/centronics/ctronics.h" -#include "machine/pic8259.h" -#include "machine/pit8253.h" -#include "machine/ram.h" -#include "machine/wd_fdc.h" -#include "machine/z80dart.h" -#include "sound/sn76496.h" -#include "video/mc6845.h" -#include "rendlay.h" - - - -//************************************************************************** -// MACROS / CONSTANTS -//************************************************************************** - -#define I8086_TAG "ic7" -#define I8284_TAG "ic30" -#define I8237_TAG "ic17" -#define I8259A_TAG "ic51" -#define I8253A5_TAG "ic20" -#define TMS4500_TAG "ic42" -#define MC6845_TAG "ic69" -#define HD63B01V1_TAG "ic29" -#define AD7574_TAG "ic34" -#define AD1408_TAG "ic37" -#define Z80SIO0_TAG "ic6" -#define WD2797_TAG "ic5" -#define SN76489AN_TAG "ic13" -#define CENTRONICS_TAG "centronics" -#define SCREEN_LCD_TAG "screen0" -#define SCREEN_CRT_TAG "screen1" - - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -// ======================> fp_state - -class fp_state : public driver_device -{ -public: - fp_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, I8086_TAG), - m_soundcpu(*this, HD63B01V1_TAG), - m_dmac(*this, I8237_TAG), - m_pic(*this, I8259A_TAG), - m_pit(*this, I8253A5_TAG), - m_sio(*this, Z80SIO0_TAG), - m_fdc(*this, WD2797_TAG), - m_crtc(*this, MC6845_TAG), - m_ram(*this, RAM_TAG), - m_floppy0(*this, WD2797_TAG":0"), - m_floppy1(*this, WD2797_TAG":1"), - m_floppy(NULL), - m_centronics(*this, CENTRONICS_TAG), - m_work_ram(*this, "work_ram"), - m_video_ram(*this, "video_ram") - { } - - DECLARE_FLOPPY_FORMATS(floppy_formats); - - required_device m_maincpu; - required_device m_soundcpu; - required_device m_dmac; - required_device m_pic; - required_device m_pit; - required_device m_sio; - required_device m_fdc; - required_device m_crtc; - required_device m_ram; - required_device m_floppy0; - required_device m_floppy1; - floppy_image_device *m_floppy; - required_device m_centronics; - - virtual void machine_start(); - virtual void machine_reset(); - - virtual void video_start(); - UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - - MC6845_UPDATE_ROW(update_row); - DECLARE_READ16_MEMBER( mem_r ); - DECLARE_WRITE16_MEMBER( mem_w ); - DECLARE_READ8_MEMBER( prtr_snd_r ); - DECLARE_WRITE8_MEMBER( pint_clr_w ); - DECLARE_WRITE8_MEMBER( ls_w ); - DECLARE_WRITE8_MEMBER( contrast_w ); - DECLARE_WRITE8_MEMBER( palette_w ); - DECLARE_WRITE16_MEMBER( video_w ); - DECLARE_WRITE8_MEMBER( lat_w ); - - void lat_ls259_w(offs_t offset, int state); - - optional_shared_ptr m_work_ram; - - // video state - optional_shared_ptr m_video_ram; - UINT8 m_video; - - int m_centronics_busy; - int m_centronics_select; - int m_centronics_fault; - int m_centronics_perror; - - DECLARE_WRITE_LINE_MEMBER( write_centronics_busy ); - DECLARE_WRITE_LINE_MEMBER( write_centronics_select ); - DECLARE_WRITE_LINE_MEMBER( write_centronics_fault ); - DECLARE_WRITE_LINE_MEMBER( write_centronics_perror ); -}; - - - -#endif