diff options
Diffstat (limited to 'src/mess/includes/zx.h')
-rw-r--r-- | src/mess/includes/zx.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/mess/includes/zx.h b/src/mess/includes/zx.h new file mode 100644 index 00000000000..5bb2f87dc53 --- /dev/null +++ b/src/mess/includes/zx.h @@ -0,0 +1,75 @@ +/***************************************************************************** + * + * includes/zx.h + * + ****************************************************************************/ + +#ifndef ZX_H_ +#define ZX_H_ + +#include "emu.h" +#include "cpu/z80/z80.h" +#include "sound/speaker.h" +#include "sound/wave.h" +#include "imagedev/cassette.h" +#include "formats/zx81_p.h" +#include "machine/ram.h" + + +class zx_state : public driver_device +{ +public: + zx_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) { } + + UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + bitmap_ind16 m_bitmap; + + DECLARE_READ8_MEMBER(zx_ram_r); + DECLARE_READ8_MEMBER(zx80_io_r); + DECLARE_READ8_MEMBER(zx81_io_r); + DECLARE_READ8_MEMBER(pc8300_io_r); + DECLARE_READ8_MEMBER(pow3000_io_r); + DECLARE_WRITE8_MEMBER(zx80_io_w); + DECLARE_WRITE8_MEMBER(zx81_io_w); + emu_timer *m_ula_nmi; + int m_ula_irq_active; + int m_ula_frame_vsync; + int m_ula_scanline_count; + UINT8 m_tape_bit; + UINT8 m_speaker_state; + int m_old_x; + int m_old_y; + UINT8 m_old_c; + UINT8 m_charline[32]; + UINT8 m_charline_ptr; + int m_offs1; + void zx_ula_bkgnd(UINT8 color); + DECLARE_WRITE8_MEMBER(zx_ram_w); + DECLARE_DIRECT_UPDATE_MEMBER(zx_setdirect); + DECLARE_DIRECT_UPDATE_MEMBER(pc8300_setdirect); + DECLARE_DIRECT_UPDATE_MEMBER(pow3000_setdirect); + DECLARE_DRIVER_INIT(zx); +}; + + +/*----------- defined in machine/zx.c -----------*/ + +MACHINE_RESET( zx80 ); +MACHINE_RESET( pow3000 ); +MACHINE_RESET( pc8300 ); + +/*----------- defined in video/zx.c -----------*/ + +VIDEO_START( zx ); +SCREEN_VBLANK( zx ); + +void zx_ula_bkgnd(running_machine &machine, int color); +void zx_ula_r(running_machine &machine, int offs, const char *region, const UINT8 param); + +//extern int ula_nmi_active; +//extern int ula_scancode_count; + + +#endif /* ZX_H_ */ |