Previous 15994 Revisions Next

r9822 Sunday 26th December, 2010 at 14:53:47 UTC by Tim Schuerewegen
Synced the S3C24xx device with MAME and updated it to the latest version
[src/emu/machine]s3c2400.c s3c2400.h s3c2410.c s3c2410.h s3c2440.c s3c2440.h s3c24xx.c
[src/mame/drivers]ghosteo.c

src/mame/drivers/ghosteo.c
r9821r9822
395395
396396static READ32_HANDLER( bballoon_speedup_r )
397397{
398   UINT32 ret = s3c24xx_lcd_r(s3c2410, offset+0x10/4, mem_mask);
398   UINT32 ret = s3c2410_lcd_r(s3c2410, offset+0x10/4, mem_mask);
399399
400400
401401   int pc = cpu_get_pc(space->cpu);
src/emu/machine/s3c2400.c
r9821r9822
99#include "emu.h"
1010#include "cpu/arm7/arm7.h"
1111#include "cpu/arm7/arm7core.h"
12#include "s3c2400.h"
12#include "machine/s3c2400.h"
1313#include "sound/dac.h"
1414
1515#define VERBOSE_LEVEL ( 0 )
r9821r9822
2727   }
2828}
2929
30#include "machine/s3c2400.h"
31
3230#define DEVICE_S3C2400
3331#include "machine/s3c24xx.c"
3432#undef DEVICE_S3C2400
r9821r9822
5755   memory_install_readwrite32_device_handler( space, device, 0x14600040, 0x1460005b, 0, 0, s3c24xx_dma_2_r, s3c24xx_dma_2_w);
5856   memory_install_readwrite32_device_handler( space, device, 0x14600060, 0x1460007b, 0, 0, s3c24xx_dma_3_r, s3c24xx_dma_3_w);
5957   memory_install_readwrite32_device_handler( space, device, 0x14800000, 0x14800017, 0, 0, s3c24xx_clkpow_r, s3c24xx_clkpow_w);
60   memory_install_readwrite32_device_handler( space, device, 0x14a00000, 0x14a003ff, 0, 0, s3c24xx_lcd_r, s3c24xx_lcd_w);
58   memory_install_readwrite32_device_handler( space, device, 0x14a00000, 0x14a003ff, 0, 0, s3c2400_lcd_r, s3c24xx_lcd_w);
6159   memory_install_readwrite32_device_handler( space, device, 0x14a00400, 0x14a007ff, 0, 0, s3c24xx_lcd_palette_r, s3c24xx_lcd_palette_w);
6260   memory_install_readwrite32_device_handler( space, device, 0x15000000, 0x1500002b, 0, 0, s3c24xx_uart_0_r, s3c24xx_uart_0_w);
6361   memory_install_readwrite32_device_handler( space, device, 0x15004000, 0x1500402b, 0, 0, s3c24xx_uart_1_r, s3c24xx_uart_1_w);
r9821r9822
9088{
9189   s3c24xx_uart_fifo_w( device, uart, data);
9290}
91
92DEFINE_LEGACY_DEVICE(S3C2400, s3c2400);
src/emu/machine/s3c2400.h
r9821r9822
11/*******************************************************************************
22
3    Samsung S3C2400 private data
3    Samsung S3C2400
44
55*******************************************************************************/
66
77#ifndef __S3C2400_H__
88#define __S3C2400_H__
99
10#include "devlegcy.h"
11
1012/*******************************************************************************
1113    MACROS / CONSTANTS
1214*******************************************************************************/
1315
1416#define S3C2400_TAG "s3c2400"
1517
16#define S3C2400 DEVICE_GET_INFO_NAME( s3c2400 )
17
1818#define MDRV_S3C2400_ADD(_tag, _clock, _config) \
1919    MDRV_DEVICE_ADD(_tag, S3C2400, _clock) \
2020    MDRV_DEVICE_CONFIG(_config)
r9821r9822
3333   S3C2400_GPIO_PORT_G
3434};
3535
36DECLARE_LEGACY_DEVICE(S3C2400, s3c2400);
37
3638/*******************************************************************************
3739    TYPE DEFINITIONS
3840*******************************************************************************/
r9821r9822
583585typedef struct
584586{
585587   s3c24xx_irq_regs_t regs;
588   int line_irq, line_fiq;
586589} s3c24xx_irq_t;
587590
588591typedef struct
src/emu/machine/s3c2410.c
r9821r9822
99#include "emu.h"
1010#include "cpu/arm7/arm7.h"
1111#include "cpu/arm7/arm7core.h"
12#include "s3c2410.h"
12#include "machine/s3c2410.h"
1313#include "sound/dac.h"
1414
1515#define VERBOSE_LEVEL ( 0 )
r9821r9822
2727   }
2828}
2929
30#include "machine/s3c2410.h"
31
3230#define DEVICE_S3C2410
3331#include "machine/s3c24xx.c"
3432#undef DEVICE_S3C2410
r9821r9822
5755   memory_install_readwrite32_device_handler( space, device, 0x4b000080, 0x4b0000a3, 0, 0, s3c24xx_dma_2_r, s3c24xx_dma_2_w);
5856   memory_install_readwrite32_device_handler( space, device, 0x4b0000c0, 0x4b0000e3, 0, 0, s3c24xx_dma_3_r, s3c24xx_dma_3_w);
5957   memory_install_readwrite32_device_handler( space, device, 0x4c000000, 0x4c000017, 0, 0, s3c24xx_clkpow_r, s3c24xx_clkpow_w);
60   memory_install_readwrite32_device_handler( space, device, 0x4d000000, 0x4d000063, 0, 0, s3c24xx_lcd_r, s3c24xx_lcd_w);
58   memory_install_readwrite32_device_handler( space, device, 0x4d000000, 0x4d000063, 0, 0, s3c2410_lcd_r, s3c24xx_lcd_w);
6159   memory_install_readwrite32_device_handler( space, device, 0x4d000400, 0x4d0007ff, 0, 0, s3c24xx_lcd_palette_r, s3c24xx_lcd_palette_w);
6260   memory_install_readwrite32_device_handler( space, device, 0x4e000000, 0x4e000017, 0, 0, s3c24xx_nand_r, s3c24xx_nand_w);
6361   memory_install_readwrite32_device_handler( space, device, 0x50000000, 0x5000002b, 0, 0, s3c24xx_uart_0_r, s3c24xx_uart_0_w);
r9821r9822
110108   for (int i = 0; i < size; i++) nand_update_mecc( mecc, i, data[i]);
111109}
112110
111void s3c2410_request_eint( running_device *device, UINT32 number)
112{
113   s3c24xx_request_eint( device, number);
114}
115
113116DEFINE_LEGACY_DEVICE(S3C2410, s3c2410);
src/emu/machine/s3c2410.h
r9821r9822
11/*******************************************************************************
22
3    Samsung S3C2410 private data
3    Samsung S3C2410
44
55*******************************************************************************/
66
r9821r9822
3636
3737DECLARE_LEGACY_DEVICE(S3C2410, s3c2410);
3838
39READ32_DEVICE_HANDLER( s3c24xx_lcd_r );
39READ32_DEVICE_HANDLER( s3c2410_lcd_r );
4040
4141/*******************************************************************************
4242    TYPE DEFINITIONS
r9821r9822
102102
103103void s3c2410_uart_fifo_w( running_device *device, int uart, UINT8 data);
104104void s3c2410_touch_screen( running_device *device, int state);
105void s3c2410_request_eint( running_device *device, UINT32 number);
105106
106107WRITE_LINE_DEVICE_HANDLER( s3c2410_pin_frnb_w );
107108
r9821r9822
711712typedef struct
712713{
713714   s3c24xx_irq_regs_t regs;
715   int line_irq, line_fiq;
714716} s3c24xx_irq_t;
715717
716718typedef struct
r9821r9822
778780{
779781   s3c24xx_wdt_regs_t regs;
780782   emu_timer *timer;
783   UINT32 freq, cnt;
781784} s3c24xx_wdt_t;
782785
783786typedef struct
src/emu/machine/s3c2440.c
r9821r9822
99#include "emu.h"
1010#include "cpu/arm7/arm7.h"
1111#include "cpu/arm7/arm7core.h"
12#include "s3c2440.h"
12#include "machine/s3c2440.h"
1313#include "sound/dac.h"
1414
1515#define VERBOSE_LEVEL ( 0 )
r9821r9822
2727   }
2828}
2929
30#include "machine/s3c2440.h"
31
3230#define DEVICE_S3C2440
3331#include "machine/s3c24xx.c"
3432#undef DEVICE_S3C2440
r9821r9822
5654   memory_install_readwrite32_device_handler( space, device, 0x4b000080, 0x4b0000a3, 0, 0, s3c24xx_dma_2_r, s3c24xx_dma_2_w);
5755   memory_install_readwrite32_device_handler( space, device, 0x4b0000c0, 0x4b0000e3, 0, 0, s3c24xx_dma_3_r, s3c24xx_dma_3_w);
5856   memory_install_readwrite32_device_handler( space, device, 0x4c000000, 0x4c00001b, 0, 0, s3c24xx_clkpow_r, s3c24xx_clkpow_w);
59   memory_install_readwrite32_device_handler( space, device, 0x4d000000, 0x4d000063, 0, 0, s3c24xx_lcd_r, s3c24xx_lcd_w);
57   memory_install_readwrite32_device_handler( space, device, 0x4d000000, 0x4d000063, 0, 0, s3c2440_lcd_r, s3c24xx_lcd_w);
6058   memory_install_readwrite32_device_handler( space, device, 0x4d000400, 0x4d0007ff, 0, 0, s3c24xx_lcd_palette_r, s3c24xx_lcd_palette_w);
6159   memory_install_readwrite32_device_handler( space, device, 0x4e000000, 0x4e00003f, 0, 0, s3c24xx_nand_r, s3c24xx_nand_w);
6260   memory_install_readwrite32_device_handler( space, device, 0x4f000000, 0x4f0000a3, 0, 0, s3c24xx_cam_r, s3c24xx_cam_w);
r9821r9822
115113{
116114   s3c24xx_pin_frnb_w( device, state);
117115}
116
117DEFINE_LEGACY_DEVICE(S3C2440, s3c2440);
src/emu/machine/s3c2440.h
r9821r9822
11/*******************************************************************************
22
3    Samsung S3C2440 private data
3    Samsung S3C2440
44
55*******************************************************************************/
66
r9821r9822
1313
1414#define S3C2440_TAG "s3c2440"
1515
16#define S3C2440 DEVICE_GET_INFO_NAME( s3c2440 )
17
1816#define MDRV_S3C2440_ADD(_tag, _clock, _config) \
1917    MDRV_DEVICE_ADD(_tag, S3C2440, _clock) \
2018    MDRV_DEVICE_CONFIG(_config)
r9821r9822
3533   S3C2440_GPIO_PORT_J
3634};
3735
36DECLARE_LEGACY_DEVICE(S3C2440, s3c2440);
37
3838/*******************************************************************************
3939    TYPE DEFINITIONS
4040*******************************************************************************/
r9821r9822
770770typedef struct
771771{
772772   s3c24xx_irq_regs_t regs;
773   int line_irq, line_fiq;
773774} s3c24xx_irq_t;
774775
775776typedef struct
src/emu/machine/s3c24xx.c
r9821r9822
243243   s3c24xx->lcd.dma_bits = 0;
244244}
245245
246/*
246#if 0
247247static UINT32 s3c24xx_lcd_dma_read( running_device *device)
248248{
249    s3c24xx_t *s3c24xx = get_token( device);
250    address_space* space = cputag_get_address_space( device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
251    UINT8 *vram, data[4];
252    vram = (UINT8 *)space->get_read_ptr( s3c24xx->lcd.vramaddr_cur);
253    for (int i = 0; i < 2; i++)
254    {
255        data[i*2+0] = *vram++;
256        data[i*2+1] = *vram++;
257        s3c24xx->lcd.vramaddr_cur += 2;
258        s3c24xx->lcd.pagewidth_cur++;
259        if (s3c24xx->lcd.pagewidth_cur >= s3c24xx->lcd.pagewidth_max)
260        {
261            s3c24xx->lcd.vramaddr_cur += s3c24xx->lcd.offsize << 1;
262            s3c24xx->lcd.pagewidth_cur = 0;
263            vram = (UINT8 *)space->get_read_ptr( s3c24xx->lcd.vramaddr_cur);
264        }
265    }
266    if (s3c24xx->lcd.hwswp == 0)
267    {
268        if (s3c24xx->lcd.bswp == 0)
269        {
270            return (data[3] << 24) | (data[2] << 16) | (data[1] << 8) | (data[0] << 0);
271        }
272        else
273        {
274            return (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | (data[3] << 0);
275        }
276    }
277    else
278    {
279        if (s3c24xx->lcd.bswp == 0)
280        {
281            return (data[1] << 24) | (data[0] << 16) | (data[3] << 8) | (data[2] << 0);
282        }
283        else
284        {
285            return (data[2] << 24) | (data[3] << 16) | (data[0] << 8) | (data[1] << 0);
286        }
287    }
249   s3c24xx_t *s3c24xx = get_token( device);
250   address_space* space = cputag_get_address_space( device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
251   UINT8 *vram, data[4];
252   vram = (UINT8 *)space->get_read_ptr( s3c24xx->lcd.vramaddr_cur);
253   for (int i = 0; i < 2; i++)
254   {
255      data[i*2+0] = *vram++;
256      data[i*2+1] = *vram++;
257      s3c24xx->lcd.vramaddr_cur += 2;
258      s3c24xx->lcd.pagewidth_cur++;
259      if (s3c24xx->lcd.pagewidth_cur >= s3c24xx->lcd.pagewidth_max)
260      {
261         s3c24xx->lcd.vramaddr_cur += s3c24xx->lcd.offsize << 1;
262         s3c24xx->lcd.pagewidth_cur = 0;
263         vram = (UINT8 *)space->get_read_ptr( s3c24xx->lcd.vramaddr_cur);
264      }
265   }
266   if (s3c24xx->lcd.hwswp == 0)
267   {
268      if (s3c24xx->lcd.bswp == 0)
269      {
270         return (data[3] << 24) | (data[2] << 16) | (data[1] << 8) | (data[0] << 0);
271      }
272      else
273      {
274         return (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | (data[3] << 0);
275      }
276   }
277   else
278   {
279      if (s3c24xx->lcd.bswp == 0)
280      {
281         return (data[1] << 24) | (data[0] << 16) | (data[3] << 8) | (data[2] << 0);
282      }
283      else
284      {
285         return (data[2] << 24) | (data[3] << 16) | (data[0] << 8) | (data[1] << 0);
286      }
287   }
288288}
289*/
289#endif
290290
291291static UINT32 s3c24xx_lcd_dma_read( running_device *device)
292292{
r9821r9822
521521   }
522522}
523523
524static void s3c24xx_lcd_render_stn_12_u( running_device *device) // not tested
525{
526   s3c24xx_t *s3c24xx = get_token( device);
527   bitmap_t *bitmap = s3c24xx->lcd.bitmap[0];
528   UINT32 *scanline = BITMAP_ADDR32( bitmap, s3c24xx->lcd.vpos, s3c24xx->lcd.hpos);
529   for (int i = 0; i < 4; i++)
530   {
531      UINT32 data = s3c24xx_lcd_dma_read( device);
532      for (int j = 0; j < 2; j++)
533      {
534         *scanline++ = s3c24xx_get_color_stn_12( device, (data >> 16) & 0x0FFF);
535         data = data << 16;
536         s3c24xx->lcd.hpos++;
537         if (s3c24xx->lcd.hpos >= s3c24xx->lcd.hpos_min + (s3c24xx->lcd.pagewidth_max << 0))
538         {
539            s3c24xx->lcd.vpos++;
540            if (s3c24xx->lcd.vpos > s3c24xx->lcd.vpos_max) s3c24xx->lcd.vpos = s3c24xx->lcd.vpos_min;
541            s3c24xx->lcd.hpos = s3c24xx->lcd.hpos_min;
542            scanline = BITMAP_ADDR32( bitmap, s3c24xx->lcd.vpos, s3c24xx->lcd.hpos);
543         }
544      }
545   }
546}
547
524548static void s3c24xx_lcd_render_tft_01( running_device *device)
525549{
526550   s3c24xx_t *s3c24xx = get_token( device);
r9821r9822
668692            case S3C24XX_BPPMODE_STN_04   : s3c24xx_lcd_render_stn_04( device); break;
669693            case S3C24XX_BPPMODE_STN_08   : s3c24xx_lcd_render_stn_08( device); break;
670694            case S3C24XX_BPPMODE_STN_12_P : s3c24xx_lcd_render_stn_12_p( device); break;
695            case S3C24XX_BPPMODE_STN_12_U : s3c24xx_lcd_render_stn_12_u( device); break;
671696            case S3C24XX_BPPMODE_TFT_01   : s3c24xx_lcd_render_tft_01( device); break;
672697            case S3C24XX_BPPMODE_TFT_02   : s3c24xx_lcd_render_tft_02( device); break;
673698            case S3C24XX_BPPMODE_TFT_04   : s3c24xx_lcd_render_tft_04( device); break;
r9821r9822
734759   return 0;
735760}
736761
737READ32_DEVICE_HANDLER( s3c24xx_lcd_r )
762#if defined(DEVICE_S3C2400)
763READ32_DEVICE_HANDLER( s3c2400_lcd_r )
764#elif defined(DEVICE_S3C2410)
765READ32_DEVICE_HANDLER( s3c2410_lcd_r )
766#elif defined(DEVICE_S3C2440)
767READ32_DEVICE_HANDLER( s3c2440_lcd_r )
768#endif
738769{
739770   s3c24xx_t *s3c24xx = get_token( device);
740771   UINT32 data = ((UINT32*)&s3c24xx->lcd.regs)[offset];
r9821r9822
759790      }
760791      break;
761792   }
762if (offset != S3C24XX_LCDCON5)
763793   verboselog( device->machine, 9, "(LCD) %08X -> %08X\n", S3C24XX_BASE_LCD + (offset << 2), data);
764794   return data;
765795}
r9821r9822
10051035static void s3c24xx_check_pending_irq( running_device *device)
10061036{
10071037   s3c24xx_t *s3c24xx = get_token( device);
1008   UINT32 temp = s3c24xx->irq.regs.srcpnd & ~s3c24xx->irq.regs.intmsk;
1038   UINT32 temp;
1039   // normal irq
1040   temp = (s3c24xx->irq.regs.srcpnd & ~s3c24xx->irq.regs.intmsk) & ~s3c24xx->irq.regs.intmod;
10091041   if (temp != 0)
10101042   {
10111043      UINT32 int_type = 0;
r9821r9822
10161048      }
10171049      s3c24xx->irq.regs.intpnd |= (1 << int_type);
10181050      s3c24xx->irq.regs.intoffset = int_type;
1019      cputag_set_input_line( device->machine, "maincpu", ARM7_IRQ_LINE, ASSERT_LINE);
1051      if (s3c24xx->irq.line_irq != ASSERT_LINE)
1052      {
1053         cputag_set_input_line( device->machine, "maincpu", ARM7_IRQ_LINE, ASSERT_LINE);
1054         s3c24xx->irq.line_irq = ASSERT_LINE;
1055      }
10201056   }
10211057   else
10221058   {
1023      cputag_set_input_line( device->machine, "maincpu", ARM7_IRQ_LINE, CLEAR_LINE);
1059      if (s3c24xx->irq.line_irq != CLEAR_LINE)
1060      {
1061         cputag_set_input_line( device->machine, "maincpu", ARM7_IRQ_LINE, CLEAR_LINE);
1062         s3c24xx->irq.line_irq = CLEAR_LINE;
1063      }
10241064   }
1065   // fast irq
1066   temp = (s3c24xx->irq.regs.srcpnd & ~s3c24xx->irq.regs.intmsk) & s3c24xx->irq.regs.intmod;
1067   if (temp != 0)
1068   {
1069      UINT32 int_type = 0;
1070      while ((temp & 1) == 0)
1071      {
1072         int_type++;
1073         temp = temp >> 1;
1074      }
1075      if (s3c24xx->irq.line_fiq != ASSERT_LINE)
1076      {
1077         cputag_set_input_line( device->machine, "maincpu", ARM7_FIRQ_LINE, ASSERT_LINE);
1078         s3c24xx->irq.line_fiq = ASSERT_LINE;
1079      }
1080   }
1081   else
1082   {
1083      if (s3c24xx->irq.line_fiq != CLEAR_LINE)
1084      {
1085         cputag_set_input_line( device->machine, "maincpu", ARM7_FIRQ_LINE, CLEAR_LINE);
1086         s3c24xx->irq.line_fiq = CLEAR_LINE;
1087      }
1088   }
10251089}
10261090
10271091static void s3c24xx_request_irq( running_device *device, UINT32 int_type)
r9821r9822
15241588   {
15251589      case S3C24XX_DCON :
15261590      {
1527         /* --- is this code necessary ???
1528            if ((data & (1 << 22)) != 0) // reload
1529            {
1530                s3c24xx_dma_regs_t *regs = &s3c24xx->dma[ch].regs;
1531                regs->dmasktrig &= ~(1 << 1); // clear on/off
1532            }
1533            */
1591         #if 0 // is this code necessary ???
1592         if ((data & (1 << 22)) != 0) // reload
1593         {
1594            s3c24xx_dma_regs_t *regs = &s3c24xx->dma[ch].regs;
1595            regs->dmasktrig &= ~(1 << 1); // clear on/off
1596         }
1597         #endif
15341598      }
15351599      break;
15361600      case S3C24XX_DMASKTRIG :
r9821r9822
19181982
19191983/* Watchdog Timer */
19201984
1985#if defined(DEVICE_S3C2410)
1986
1987static UINT16 s3c24xx_wdt_calc_current_count( running_device *device)
1988{
1989   s3c24xx_t *s3c24xx = get_token( device);
1990   double timeleft, x1, x2;
1991   UINT32 cnt;
1992   timeleft = attotime_to_double( timer_timeleft( s3c24xx->wdt.timer));
1993//   printf( "timeleft %f freq %d cnt %d\n", timeleft, s3c24xx->wdt.freq, s3c24xx->wdt.cnt);
1994   x1 = 1 / ((double)s3c24xx->wdt.freq / s3c24xx->wdt.cnt);
1995   x2 = x1 / timeleft;
1996//   printf( "x1 %f\n", x1);
1997   cnt = s3c24xx->wdt.cnt / x2;
1998//   printf( "cnt %d\n", cnt);
1999   return cnt;
2000}
2001
2002#else
2003
2004static UINT16 s3c24xx_wdt_calc_current_count( running_device *device)
2005{
2006   return 0;
2007}
2008
2009#endif
2010
19212011static READ32_DEVICE_HANDLER( s3c24xx_wdt_r )
19222012{
19232013   s3c24xx_t *s3c24xx = get_token( device);
r9821r9822
19262016   {
19272017      case S3C24XX_WTCNT :
19282018      {
1929         data = 0;
2019         // is wdt active?
2020         if ((s3c24xx->wdt.regs.wtcon & (1 << 5)) != 0)
2021         {
2022            data = s3c24xx_wdt_calc_current_count( device);
2023         }
19302024      }
19312025      break;
19322026   }
r9821r9822
19472041   hz = freq / s3c24xx->wdt.regs.wtcnt;
19482042   verboselog( device->machine, 5, "WDT pclk %d prescaler %d clock %d freq %f hz %f\n", pclk, prescaler, clock, freq, hz);
19492043   timer_adjust_periodic( s3c24xx->wdt.timer, ATTOTIME_IN_HZ( hz), 0, ATTOTIME_IN_HZ( hz));
2044#if defined(DEVICE_S3C2410)
2045   s3c24xx->wdt.freq = freq;
2046   s3c24xx->wdt.cnt = s3c24xx->wdt.regs.wtcnt;
2047#endif
19502048}
19512049
19522050static void s3c24xx_wdt_stop( running_device *device)
19532051{
19542052   s3c24xx_t *s3c24xx = get_token( device);
19552053   verboselog( device->machine, 1, "WDT stop\n");
2054   s3c24xx->wdt.regs.wtcnt = s3c24xx_wdt_calc_current_count( device);
19562055   timer_adjust_oneshot( s3c24xx->wdt.timer, attotime_never, 0);
19572056}
19582057
r9821r9822
30443143   s3c24xx_t *s3c24xx = get_token( device);
30453144   s3c24xx->iis.fifo_index = 0;
30463145//  s3c24xx->iic.data_index = 0;
3146#if defined(DEVICE_S3C2410) || defined(DEVICE_S3C2440)
3147   s3c24xx->gpio.regs.gstatus2 = 0x00000001; // Boot is caused by power on reset
3148#endif
3149   s3c24xx->irq.line_irq = s3c24xx->irq.line_fiq = CLEAR_LINE;
30473150}
30483151
30493152static DEVICE_START( s3c24xx )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team