summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/gp32.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/includes/gp32.h')
-rw-r--r--src/mess/includes/gp32.h250
1 files changed, 0 insertions, 250 deletions
diff --git a/src/mess/includes/gp32.h b/src/mess/includes/gp32.h
deleted file mode 100644
index a3754f5b9aa..00000000000
--- a/src/mess/includes/gp32.h
+++ /dev/null
@@ -1,250 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Tim Schuerewegen
-#ifndef _GP32_H_
-#define _GP32_H_
-
-#include "machine/smartmed.h"
-#include "sound/dac.h"
-#include "machine/nvram.h"
-
-
-#define INT_ADC 31
-#define INT_RTC 30
-#define INT_UTXD1 29
-#define INT_UTXD0 28
-#define INT_IIC 27
-#define INT_USBH 26
-#define INT_USBD 25
-#define INT_URXD1 24
-#define INT_URXD0 23
-#define INT_SPI 22
-#define INT_MMC 21
-#define INT_DMA3 20
-#define INT_DMA2 19
-#define INT_DMA1 18
-#define INT_DMA0 17
-#define INT_RESERVED 16
-#define INT_UERR 15
-#define INT_TIMER4 14
-#define INT_TIMER3 13
-#define INT_TIMER2 12
-#define INT_TIMER1 11
-#define INT_TIMER0 10
-#define INT_WDT 9
-#define INT_TICK 8
-#define INT_EINT7 7
-#define INT_EINT6 6
-#define INT_EINT5 5
-#define INT_EINT4 4
-#define INT_EINT3 3
-#define INT_EINT2 2
-#define INT_EINT1 1
-#define INT_EINT0 0
-
-struct s3c240x_lcd_t
-{
- UINT32 vramaddr_cur;
- UINT32 vramaddr_max;
- UINT32 offsize;
- UINT32 pagewidth_cur;
- UINT32 pagewidth_max;
- UINT32 bppmode;
- UINT32 bswp, hwswp;
- UINT32 hozval, lineval;
- int vpos, hpos;
-};
-
-struct smc_t
-{
- int add_latch;
- int chip;
- int cmd_latch;
- int do_read;
- int do_write;
- int read;
- int wp;
- int busy;
- UINT8 datarx;
- UINT8 datatx;
-};
-
-struct i2s_t
-{
- int l3d;
- int l3m;
- int l3c;
-};
-
-struct s3c240x_iic_t
-{
- UINT8 data[4];
- int data_index;
- UINT16 address;
-};
-
-struct s3c240x_iis_t
-{
- UINT16 fifo[16/2];
- int fifo_index;
-};
-
-
-class gp32_state : public driver_device
-{
-public:
- gp32_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_s3c240x_ram(*this, "s3c240x_ram"),
- m_maincpu(*this, "maincpu"),
- m_smartmedia(*this, "smartmedia"),
- m_dac1(*this, "dac1"),
- m_dac2(*this, "dac2"),
- m_nvram(*this, "nvram"),
- m_io_in0(*this, "IN0"),
- m_io_in1(*this, "IN1"),
- m_palette(*this, "palette") { }
-
- virtual void video_start();
-
- required_shared_ptr<UINT32> m_s3c240x_ram;
- UINT8 *m_eeprom_data;
- UINT32 m_s3c240x_lcd_regs[0x400/4];
- emu_timer *m_s3c240x_lcd_timer;
- s3c240x_lcd_t m_s3c240x_lcd;
- UINT32 m_s3c240x_lcd_palette[0x400/4];
- UINT32 m_s3c240x_clkpow_regs[0x18/4];
- UINT32 m_s3c240x_irq_regs[0x18/4];
- emu_timer *m_s3c240x_pwm_timer[5];
- UINT32 m_s3c240x_pwm_regs[0x44/4];
- emu_timer *m_s3c240x_dma_timer[4];
- UINT32 m_s3c240x_dma_regs[0x7c/4];
- smc_t m_smc;
- i2s_t m_i2s;
- UINT32 m_s3c240x_gpio[0x60/4];
- UINT32 m_s3c240x_memcon_regs[0x34/4];
- UINT32 m_s3c240x_usb_host_regs[0x5C/4];
- UINT32 m_s3c240x_uart_0_regs[0x2C/4];
- UINT32 m_s3c240x_uart_1_regs[0x2C/4];
- UINT32 m_s3c240x_usb_device_regs[0xBC/4];
- UINT32 m_s3c240x_watchdog_regs[0x0C/4];
- s3c240x_iic_t m_s3c240x_iic;
- emu_timer *m_s3c240x_iic_timer;
- UINT32 m_s3c240x_iic_regs[0x10/4];
- s3c240x_iis_t m_s3c240x_iis;
- emu_timer *m_s3c240x_iis_timer;
- UINT32 m_s3c240x_iis_regs[0x14/4];
- UINT32 m_s3c240x_rtc_regs[0x4C/4];
- UINT32 m_s3c240x_adc_regs[0x08/4];
- UINT32 m_s3c240x_spi_regs[0x18/4];
- UINT32 m_s3c240x_mmc_regs[0x40/4];
- bitmap_rgb32 m_bitmap;
- DECLARE_READ32_MEMBER(s3c240x_lcd_r);
- DECLARE_WRITE32_MEMBER(s3c240x_lcd_w);
- DECLARE_READ32_MEMBER(s3c240x_lcd_palette_r);
- DECLARE_WRITE32_MEMBER(s3c240x_lcd_palette_w);
- DECLARE_READ32_MEMBER(s3c240x_clkpow_r);
- DECLARE_WRITE32_MEMBER(s3c240x_clkpow_w);
- DECLARE_READ32_MEMBER(s3c240x_irq_r);
- DECLARE_WRITE32_MEMBER(s3c240x_irq_w);
- DECLARE_READ32_MEMBER(s3c240x_pwm_r);
- DECLARE_WRITE32_MEMBER(s3c240x_pwm_w);
- DECLARE_READ32_MEMBER(s3c240x_dma_r);
- DECLARE_WRITE32_MEMBER(s3c240x_dma_w);
- DECLARE_READ32_MEMBER(s3c240x_gpio_r);
- DECLARE_WRITE32_MEMBER(s3c240x_gpio_w);
- DECLARE_READ32_MEMBER(s3c240x_memcon_r);
- DECLARE_WRITE32_MEMBER(s3c240x_memcon_w);
- DECLARE_READ32_MEMBER(s3c240x_usb_host_r);
- DECLARE_WRITE32_MEMBER(s3c240x_usb_host_w);
- DECLARE_READ32_MEMBER(s3c240x_uart_0_r);
- DECLARE_WRITE32_MEMBER(s3c240x_uart_0_w);
- DECLARE_READ32_MEMBER(s3c240x_uart_1_r);
- DECLARE_WRITE32_MEMBER(s3c240x_uart_1_w);
- DECLARE_READ32_MEMBER(s3c240x_usb_device_r);
- DECLARE_WRITE32_MEMBER(s3c240x_usb_device_w);
- DECLARE_READ32_MEMBER(s3c240x_watchdog_r);
- DECLARE_WRITE32_MEMBER(s3c240x_watchdog_w);
- DECLARE_READ32_MEMBER(s3c240x_iic_r);
- DECLARE_WRITE32_MEMBER(s3c240x_iic_w);
- DECLARE_READ32_MEMBER(s3c240x_iis_r);
- DECLARE_WRITE32_MEMBER(s3c240x_iis_w);
- DECLARE_READ32_MEMBER(s3c240x_rtc_r);
- DECLARE_WRITE32_MEMBER(s3c240x_rtc_w);
- DECLARE_READ32_MEMBER(s3c240x_adc_r);
- DECLARE_WRITE32_MEMBER(s3c240x_adc_w);
- DECLARE_READ32_MEMBER(s3c240x_spi_r);
- DECLARE_WRITE32_MEMBER(s3c240x_spi_w);
- DECLARE_READ32_MEMBER(s3c240x_mmc_r);
- DECLARE_WRITE32_MEMBER(s3c240x_mmc_w);
- virtual void machine_start();
- virtual void machine_reset();
- UINT32 screen_update_gp32(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- TIMER_CALLBACK_MEMBER(s3c240x_lcd_timer_exp);
- TIMER_CALLBACK_MEMBER(s3c240x_pwm_timer_exp);
- TIMER_CALLBACK_MEMBER(s3c240x_dma_timer_exp);
- TIMER_CALLBACK_MEMBER(s3c240x_iic_timer_exp);
- TIMER_CALLBACK_MEMBER(s3c240x_iis_timer_exp);
-protected:
- required_device<cpu_device> m_maincpu;
- required_device<smartmedia_image_device> m_smartmedia;
- required_device<dac_device> m_dac1;
- required_device<dac_device> m_dac2;
- required_device<nvram_device> m_nvram;
- required_ioport m_io_in0;
- required_ioport m_io_in1;
- required_device<palette_device> m_palette;
-
- UINT32 s3c240x_get_fclk(int reg);
- UINT32 s3c240x_get_hclk(int reg);
- UINT32 s3c240x_get_pclk(int reg);
- void s3c240x_lcd_dma_reload();
- void s3c240x_lcd_dma_init();
- void s3c240x_lcd_configure();
- void s3c240x_lcd_start();
- void s3c240x_lcd_stop();
- void s3c240x_lcd_recalc();
- void s3c240x_check_pending_irq();
- void s3c240x_request_irq(UINT32 int_type);
- void s3c240x_dma_reload(int dma);
- void s3c240x_dma_trigger(int dma);
- void s3c240x_dma_request_iis();
- void s3c240x_dma_request_pwm();
- void s3c240x_dma_start(int dma);
- void s3c240x_dma_stop(int dma);
- void s3c240x_dma_recalc(int dma);
- void s3c240x_pwm_start(int timer);
- void s3c240x_pwm_stop(int timer);
- void s3c240x_pwm_recalc(int timer);
- void s3c240x_iis_start();
- void s3c240x_iis_stop();
- void s3c240x_iis_recalc();
- void smc_reset();
- void smc_init();
- UINT8 smc_read();
- void smc_write(UINT8 data);
- void smc_update();
- void i2s_reset();
- void i2s_init();
- void i2s_write(int line, int data);
- UINT8 eeprom_read(UINT16 address);
- void eeprom_write(UINT16 address, UINT8 data);
- void iic_start();
- void iic_stop();
- void iic_resume();
- void s3c240x_machine_start();
- void s3c240x_machine_reset();
- inline rgb_t s3c240x_get_color_5551( UINT16 data);
- UINT32 s3c240x_lcd_dma_read( );
- void s3c240x_lcd_render_01( );
- void s3c240x_lcd_render_02( );
- void s3c240x_lcd_render_04( );
- void s3c240x_lcd_render_08( );
- void s3c240x_lcd_render_16( );
- UINT8 i2cmem_read_byte( int last);
- void i2cmem_write_byte( UINT8 data);
- void i2cmem_start( );
- void i2cmem_stop( );
-};
-
-
-#endif