diff options
Diffstat (limited to 'src/mess/includes/nc.h')
-rw-r--r-- | src/mess/includes/nc.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/mess/includes/nc.h b/src/mess/includes/nc.h new file mode 100644 index 00000000000..d03a11cedcf --- /dev/null +++ b/src/mess/includes/nc.h @@ -0,0 +1,103 @@ +/***************************************************************************** + * + * includes/nc.h + * + ****************************************************************************/ + +#ifndef NC_H_ +#define NC_H_ + + +#define NC_NUM_COLOURS 4 + +#define NC_SCREEN_WIDTH 480 +#define NC_SCREEN_HEIGHT 64 + +#define NC200_SCREEN_WIDTH 480 +#define NC200_SCREEN_HEIGHT 128 + +#define NC200_NUM_COLOURS 4 + +enum +{ + NC_TYPE_1xx, /* nc100/nc150 */ + NC_TYPE_200 /* nc200 */ +}; + + +class nc_state : public driver_device +{ +public: + nc_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) { } + + emu_timer *m_serial_timer; + char m_memory_config[4]; + emu_timer *m_keyboard_timer; + int m_membank_rom_mask; + int m_membank_internal_ram_mask; + UINT8 m_poweroff_control; + int m_card_status; + unsigned char m_uart_control; + int m_irq_mask; + int m_irq_status; + int m_irq_latch; + int m_irq_latch_mask; + int m_sound_channel_periods[2]; + emu_file *m_file; + int m_previous_inputport_10_state; + int m_previous_alarm_state; + UINT8 m_nc200_uart_interrupt_irq; + unsigned char *m_card_ram; + int m_membank_card_ram_mask; + unsigned long m_display_memory_start; + UINT8 m_type; + int m_card_size; + int m_nc200_backlight; + DECLARE_READ8_MEMBER(nc_memory_management_r); + DECLARE_WRITE8_MEMBER(nc_memory_management_w); + DECLARE_WRITE8_MEMBER(nc_irq_mask_w); + DECLARE_WRITE8_MEMBER(nc_irq_status_w); + DECLARE_READ8_MEMBER(nc_irq_status_r); + DECLARE_READ8_MEMBER(nc_key_data_in_r); + DECLARE_WRITE8_MEMBER(nc_sound_w); + DECLARE_WRITE8_MEMBER(nc_uart_control_w); + DECLARE_WRITE8_MEMBER(nc100_display_memory_start_w); + DECLARE_WRITE8_MEMBER(nc100_uart_control_w); + DECLARE_WRITE8_MEMBER(nc100_poweroff_control_w); + DECLARE_READ8_MEMBER(nc100_card_battery_status_r); + DECLARE_WRITE8_MEMBER(nc100_memory_card_wait_state_w); + DECLARE_WRITE8_MEMBER(nc200_display_memory_start_w); + DECLARE_READ8_MEMBER(nc200_card_battery_status_r); + DECLARE_READ8_MEMBER(nc200_printer_status_r); + DECLARE_WRITE8_MEMBER(nc200_uart_control_w); + DECLARE_WRITE8_MEMBER(nc200_memory_card_wait_state_w); + DECLARE_WRITE8_MEMBER(nc200_poweroff_control_w); +}; + + +/*----------- defined in video/nc.c -----------*/ + +extern VIDEO_START( nc ); +extern SCREEN_UPDATE_IND16( nc ); +extern PALETTE_INIT( nc ); + +void nc200_video_set_backlight(running_machine &machine, int state); + + +/*----------- defined in drivers/nc.c -----------*/ + +/* pointer to loaded data */ +/* mask used to stop access over end of card ram area */ + + +void nc_set_card_present_state(running_machine &machine, int state); + + +/*----------- defined in machine/nc.c -----------*/ + +DEVICE_START( nc_pcmcia_card ); +DEVICE_IMAGE_LOAD( nc_pcmcia_card ); +DEVICE_IMAGE_UNLOAD( nc_pcmcia_card ); + +#endif /* NC_H_ */ |