diff options
Diffstat (limited to 'src/mess/includes/gb.h')
-rw-r--r-- | src/mess/includes/gb.h | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/src/mess/includes/gb.h b/src/mess/includes/gb.h deleted file mode 100644 index 714daafa832..00000000000 --- a/src/mess/includes/gb.h +++ /dev/null @@ -1,171 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Wilbert Pol -/***************************************************************************** - * - * includes/gb.h - * - ****************************************************************************/ - -#ifndef GB_H_ -#define GB_H_ - -#include "audio/gb.h" -#include "cpu/lr35902/lr35902.h" -#include "bus/gameboy/gb_slot.h" -#include "machine/ram.h" -#include "video/gb_lcd.h" - -/* Interrupts */ -#define VBL_INT 0 /* V-Blank */ -#define LCD_INT 1 /* LCD Status */ -#define TIM_INT 2 /* Timer */ -#define SIO_INT 3 /* Serial I/O */ -#define EXT_INT 4 /* Joypad */ - -#ifdef TIMER -#undef TIMER -#endif - -/* Cartridge types */ -#define CART_RAM 0x01 /* Cartridge has RAM */ -#define BATTERY 0x02 /* Cartridge has a battery to save RAM */ -#define TIMER 0x04 /* Cartridge has a real-time-clock (MBC3 only) */ -#define RUMBLE 0x08 /* Cartridge has a rumble motor (MBC5 only) */ -#define SRAM 0x10 /* Cartridge has SRAM */ -#define UNKNOWN 0x80 /* Cartridge is of an unknown type */ - -#define DMG_FRAMES_PER_SECOND 59.732155 -#define SGB_FRAMES_PER_SECOND 61.17 - - -#define MAX_ROMBANK 512 -#define MAX_RAMBANK 256 - - - -class gb_state : public driver_device -{ -public: - gb_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_cartslot(*this, "gbslot"), - m_maincpu(*this, "maincpu"), - m_custom(*this, "custom"), - m_region_maincpu(*this, "maincpu"), - m_rambank(*this, "cgb_ram"), - m_inputs(*this, "INPUTS"), - m_bios_hack(*this, "SKIP_CHECK"), - m_ram(*this, RAM_TAG), - m_lcd(*this, "lcd") { } - - //gb_state driver_data; - UINT8 m_gb_io[0x10]; - - /* Timer related */ - UINT16 m_divcount; - UINT8 m_shift; - UINT16 m_shift_cycles; - UINT8 m_triggering_irq; - UINT8 m_reloading; - - /* Serial I/O related */ - UINT32 m_sio_count; /* Serial I/O counter */ - emu_timer *m_gb_serial_timer; - - /* SGB variables */ - INT8 m_sgb_packets; - UINT8 m_sgb_bitcount; - UINT8 m_sgb_bytecount; - UINT8 m_sgb_start; - UINT8 m_sgb_rest; - UINT8 m_sgb_controller_no; - UINT8 m_sgb_controller_mode; - UINT8 m_sgb_data[0x100]; - - /* CGB variables */ - UINT8 *m_gbc_rammap[8]; /* (CGB) Addresses of internal RAM banks */ - UINT8 m_gbc_rambank; /* (CGB) Current CGB RAM bank */ - - int m_bios_disable; - - DECLARE_WRITE8_MEMBER(gb_io_w); - DECLARE_WRITE8_MEMBER(gb_io2_w); - DECLARE_WRITE8_MEMBER(sgb_io_w); - DECLARE_READ8_MEMBER(gb_ie_r); - DECLARE_WRITE8_MEMBER(gb_ie_w); - DECLARE_READ8_MEMBER(gb_io_r); - DECLARE_WRITE8_MEMBER(gbc_io2_w); - DECLARE_READ8_MEMBER(gbc_io2_r); - DECLARE_PALETTE_INIT(gb); - DECLARE_MACHINE_START(sgb); - DECLARE_MACHINE_RESET(sgb); - DECLARE_PALETTE_INIT(sgb); - DECLARE_PALETTE_INIT(gbp); - DECLARE_MACHINE_START(gbc); - DECLARE_MACHINE_RESET(gbc); - DECLARE_PALETTE_INIT(gbc); - TIMER_CALLBACK_MEMBER(gb_serial_timer_proc); - DECLARE_WRITE8_MEMBER(gb_timer_callback); - - DECLARE_READ8_MEMBER(gb_cart_r); - DECLARE_READ8_MEMBER(gbc_cart_r); - DECLARE_WRITE8_MEMBER(gb_bank_w); - DECLARE_READ8_MEMBER(gb_ram_r); - DECLARE_WRITE8_MEMBER(gb_ram_w); - DECLARE_READ8_MEMBER(gb_echo_r); - DECLARE_WRITE8_MEMBER(gb_echo_w); - optional_device<gb_cart_slot_device> m_cartslot; - -protected: - required_device<lr35902_cpu_device> m_maincpu; - required_device<gameboy_sound_device> m_custom; - required_memory_region m_region_maincpu; - optional_memory_bank m_rambank; // cgb - required_ioport m_inputs; - required_ioport m_bios_hack; - optional_device<ram_device> m_ram; - required_device<gb_lcd_device> m_lcd; - - void gb_timer_increment(); - void gb_timer_check_irq(); - void gb_init(); - void gb_init_regs(); - void gb_video_reset(int mode); - void gb_video_start(int mode); - - void save_gb_base(); - void save_gbc_only(); - void save_sgb_only(); - - virtual void machine_start(); - virtual void machine_reset(); -}; - - -class megaduck_state : public gb_state -{ -public: - megaduck_state(const machine_config &mconfig, device_type type, const char *tag) - : gb_state(mconfig, type, tag) - , m_cartslot(*this, "duckslot") - { } - - DECLARE_READ8_MEMBER(megaduck_video_r); - DECLARE_WRITE8_MEMBER(megaduck_video_w); - DECLARE_WRITE8_MEMBER(megaduck_sound_w1); - DECLARE_READ8_MEMBER(megaduck_sound_r1); - DECLARE_WRITE8_MEMBER(megaduck_sound_w2); - DECLARE_READ8_MEMBER(megaduck_sound_r2); - DECLARE_MACHINE_START(megaduck); - DECLARE_MACHINE_RESET(megaduck); - DECLARE_PALETTE_INIT(megaduck); - - DECLARE_READ8_MEMBER(cart_r); - DECLARE_WRITE8_MEMBER(bank1_w); - DECLARE_WRITE8_MEMBER(bank2_w); - optional_device<megaduck_cart_slot_device> m_cartslot; -}; - - - -#endif /* GB_H_ */ |