summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/electron.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/includes/electron.h')
-rw-r--r--src/mess/includes/electron.h117
1 files changed, 0 insertions, 117 deletions
diff --git a/src/mess/includes/electron.h b/src/mess/includes/electron.h
deleted file mode 100644
index d9623923f17..00000000000
--- a/src/mess/includes/electron.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol
-/*****************************************************************************
- *
- * includes/electron.h
- *
- * Acorn Electron
- *
- * Driver by Wilbert Pol
- *
- ****************************************************************************/
-
-#ifndef ELECTRON_H_
-#define ELECTRON_H_
-
-#include "imagedev/cassette.h"
-#include "sound/beep.h"
-
-#include "bus/generic/slot.h"
-#include "bus/generic/carts.h"
-
-/* Interrupts */
-#define INT_HIGH_TONE 0x40
-#define INT_TRANSMIT_EMPTY 0x20
-#define INT_RECEIVE_FULL 0x10
-#define INT_RTC 0x08
-#define INT_DISPLAY_END 0x04
-#define INT_SET 0x100
-#define INT_CLEAR 0x200
-
-/* ULA context */
-
-struct ULA
-{
- UINT8 interrupt_status;
- UINT8 interrupt_control;
- UINT8 rompage;
- UINT16 screen_start;
- UINT16 screen_base;
- int screen_size;
- UINT16 screen_addr;
- UINT8 *vram;
- int current_pal[16];
- int communication_mode;
- int screen_mode;
- int cassette_motor_mode;
- int capslock_mode;
-// int scanline;
- /* tape reading related */
- UINT32 tape_value;
- int tape_steps;
- int bit_count;
- int high_tone_set;
- int start_bit;
- int stop_bit;
- int tape_running;
- UINT8 tape_byte;
-};
-
-
-class electron_state : public driver_device
-{
-public:
- enum
- {
- TIMER_TAPE_HANDLER,
- TIMER_SETUP_BEEP,
- TIMER_SCANLINE_INTERRUPT
- };
-
- electron_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_cassette(*this, "cassette"),
- m_beeper(*this, "beeper"),
- m_cart(*this, "cartslot"),
- m_keybd(*this, "LINE")
- { }
-
- ULA m_ula;
- emu_timer *m_tape_timer;
- int m_map4[256];
- int m_map16[256];
- emu_timer *m_scanline_timer;
- DECLARE_READ8_MEMBER(electron_read_keyboard);
- DECLARE_READ8_MEMBER(electron_jim_r);
- DECLARE_WRITE8_MEMBER(electron_jim_w);
- DECLARE_READ8_MEMBER(electron_1mhz_r);
- DECLARE_WRITE8_MEMBER(electron_1mhz_w);
- DECLARE_READ8_MEMBER(electron_ula_r);
- DECLARE_WRITE8_MEMBER(electron_ula_w);
- void electron_tape_start();
- void electron_tape_stop();
- virtual void machine_start();
- virtual void machine_reset();
- virtual void video_start();
- DECLARE_PALETTE_INIT(electron);
- UINT32 screen_update_electron(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_CALLBACK_MEMBER(electron_tape_timer_handler);
- TIMER_CALLBACK_MEMBER(setup_beep);
- TIMER_CALLBACK_MEMBER(electron_scanline_interrupt);
- required_device<cpu_device> m_maincpu;
- required_device<cassette_image_device> m_cassette;
- required_device<beep_device> m_beeper;
- required_device<generic_slot_device> m_cart;
- required_ioport_array<14> m_keybd;
- inline UINT8 read_vram( UINT16 addr );
- inline void electron_plot_pixel(bitmap_ind16 &bitmap, int x, int y, UINT32 color);
- void electron_interrupt_handler(int mode, int interrupt);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER( electron_cart );
-
-protected:
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
-};
-
-
-#endif /* ELECTRON_H_ */