src/emu/machine/s3c2400.h
| r9851 | r9852 | |
| 69 | 69 | write16_device_func data_w; |
| 70 | 70 | }; |
| 71 | 71 | |
| 72 | typedef struct _s3c2400_interface_lcd s3c2400_interface_lcd; |
| 73 | struct _s3c2400_interface_lcd |
| 74 | { |
| 75 | int flags; |
| 76 | }; |
| 77 | |
| 72 | 78 | typedef struct _s3c2400_interface s3c2400_interface; |
| 73 | 79 | struct _s3c2400_interface |
| 74 | 80 | { |
| r9851 | r9852 | |
| 76 | 82 | s3c2400_interface_i2c i2c; |
| 77 | 83 | s3c2400_interface_adc adc; |
| 78 | 84 | s3c2400_interface_i2s i2s; |
| 85 | s3c2400_interface_lcd lcd; |
| 79 | 86 | }; |
| 80 | 87 | |
| 81 | 88 | /******************************************************************************* |
| r9851 | r9852 | |
| 93 | 100 | MACROS & CONSTANTS |
| 94 | 101 | *******************************************************************************/ |
| 95 | 102 | |
| 103 | /* Interface */ |
| 104 | |
| 105 | #define S3C24XX_INTERFACE_LCD_REVERSE 1 |
| 106 | |
| 96 | 107 | /* Memory Controller */ |
| 97 | 108 | |
| 98 | 109 | #define S3C24XX_BASE_MEMCON 0x14000000 |
src/emu/machine/s3c2410.h
| r9851 | r9852 | |
| 81 | 81 | write8_device_func data_w; |
| 82 | 82 | }; |
| 83 | 83 | |
| 84 | typedef struct _s3c2410_interface_lcd s3c2410_interface_lcd; |
| 85 | struct _s3c2410_interface_lcd |
| 86 | { |
| 87 | int flags; |
| 88 | }; |
| 89 | |
| 84 | 90 | typedef struct _s3c2410_interface s3c2410_interface; |
| 85 | 91 | struct _s3c2410_interface |
| 86 | 92 | { |
| r9851 | r9852 | |
| 89 | 95 | s3c2410_interface_adc adc; |
| 90 | 96 | s3c2410_interface_i2s i2s; |
| 91 | 97 | s3c2410_interface_nand nand; |
| 98 | s3c2410_interface_lcd lcd; |
| 92 | 99 | }; |
| 93 | 100 | |
| 94 | 101 | /******************************************************************************* |
| r9851 | r9852 | |
| 112 | 119 | MACROS & CONSTANTS |
| 113 | 120 | *******************************************************************************/ |
| 114 | 121 | |
| 122 | /* Interface */ |
| 123 | |
| 124 | #define S3C24XX_INTERFACE_LCD_REVERSE 1 |
| 125 | |
| 115 | 126 | /* Memory Controller */ |
| 116 | 127 | |
| 117 | 128 | #define S3C24XX_BASE_MEMCON 0x48000000 |
src/emu/machine/s3c2440.h
| r9851 | r9852 | |
| 78 | 78 | write8_device_func data_w; |
| 79 | 79 | }; |
| 80 | 80 | |
| 81 | typedef struct _s3c2440_interface_lcd s3c2440_interface_lcd; |
| 82 | struct _s3c2440_interface_lcd |
| 83 | { |
| 84 | int flags; |
| 85 | }; |
| 86 | |
| 81 | 87 | typedef struct _s3c2440_interface s3c2440_interface; |
| 82 | 88 | struct _s3c2440_interface |
| 83 | 89 | { |
| r9851 | r9852 | |
| 86 | 92 | s3c2440_interface_adc adc; |
| 87 | 93 | s3c2440_interface_i2s i2s; |
| 88 | 94 | s3c2440_interface_nand nand; |
| 95 | s3c2440_interface_lcd lcd; |
| 89 | 96 | }; |
| 90 | 97 | |
| 91 | 98 | /******************************************************************************* |
| r9851 | r9852 | |
| 108 | 115 | MACROS & CONSTANTS |
| 109 | 116 | *******************************************************************************/ |
| 110 | 117 | |
| 118 | /* Interface */ |
| 119 | |
| 120 | #define S3C24XX_INTERFACE_LCD_REVERSE 1 |
| 121 | |
| 111 | 122 | /* Memory Controller */ |
| 112 | 123 | |
| 113 | 124 | #define S3C24XX_BASE_MEMCON 0x48000000 |
src/emu/machine/s3c24xx.c
| r9851 | r9852 | |
| 351 | 351 | vram += 2; |
| 352 | 352 | } |
| 353 | 353 | } |
| 354 | | return (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | (data[3] << 0); |
| 354 | if (s3c24xx->iface->lcd.flags & S3C24XX_INTERFACE_LCD_REVERSE) |
| 355 | { |
| 356 | return (data[3] << 24) | (data[2] << 16) | (data[1] << 8) | (data[0] << 0); |
| 357 | } |
| 358 | else |
| 359 | { |
| 360 | return (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | (data[3] << 0); |
| 361 | } |
| 355 | 362 | } |
| 356 | 363 | |
| 357 | 364 | static UINT32 s3c24xx_lcd_dma_read_bits( running_device *device, int count) |
| r9851 | r9852 | |
| 416 | 423 | UINT32 data = s3c24xx_lcd_dma_read( device); |
| 417 | 424 | for (int j = 0; j < 32; j++) |
| 418 | 425 | { |
| 419 | | *scanline++ = s3c24xx_get_color_stn_01( device, (data >> 31) & 0x01); |
| 420 | | data = data << 1; |
| 426 | if (s3c24xx->iface->lcd.flags & S3C24XX_INTERFACE_LCD_REVERSE) |
| 427 | { |
| 428 | *scanline++ = s3c24xx_get_color_stn_01( device, data & 0x01); |
| 429 | data = data >> 1; |
| 430 | } |
| 431 | else |
| 432 | { |
| 433 | *scanline++ = s3c24xx_get_color_stn_01( device, (data >> 31) & 0x01); |
| 434 | data = data << 1; |
| 435 | } |
| 421 | 436 | s3c24xx->lcd.hpos++; |
| 422 | 437 | if (s3c24xx->lcd.hpos >= s3c24xx->lcd.hpos_min + (s3c24xx->lcd.pagewidth_max << 4)) |
| 423 | 438 | { |
src/mess/drivers/hp49gp.c
| r9851 | r9852 | |
| 281 | 281 | // I2S (data write)
|
| 282 | 282 | { NULL },
|
| 283 | 283 | // NAND (command write, address write, data read, data write)
|
| 284 | | { NULL, NULL, NULL, NULL }
|
| 284 | { NULL, NULL, NULL, NULL },
|
| 285 | // LCD (flags)
|
| 286 | { S3C24XX_INTERFACE_LCD_REVERSE }
|
| 285 | 287 | };
|
| 286 | 288 | |
| 287 | 289 | static MACHINE_CONFIG_START( hp49gp, hp49gp_state )
|