Video support in firmware
This commit is contained in:
parent
c28e2d120b
commit
32f86589a6
2 changed files with 607 additions and 9 deletions
|
@ -27,6 +27,10 @@
|
|||
#include <grub/video_fb.h>
|
||||
#include <grub/pci.h>
|
||||
|
||||
#include "sm712_init.c"
|
||||
|
||||
#define GRUB_SM712_TOTAL_MEMORY_SPACE 0x700400
|
||||
|
||||
static struct
|
||||
{
|
||||
struct grub_video_mode_info mode_info;
|
||||
|
@ -55,7 +59,7 @@ grub_video_sm712_video_fini (void)
|
|||
{
|
||||
if (framebuffer.mapped)
|
||||
grub_pci_device_unmap_range (framebuffer.dev, framebuffer.ptr,
|
||||
1024 * 600 * 2);
|
||||
GRUB_SM712_TOTAL_MEMORY_SPACE);
|
||||
|
||||
return grub_video_fb_fini ();
|
||||
}
|
||||
|
@ -67,6 +71,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
|||
int depth;
|
||||
grub_err_t err;
|
||||
int found = 0;
|
||||
unsigned i;
|
||||
|
||||
auto int NESTED_FUNC_ATTR find_card (grub_pci_device_t dev, grub_pci_id_t pciid __attribute__ ((unused)));
|
||||
int NESTED_FUNC_ATTR find_card (grub_pci_device_t dev, grub_pci_id_t pciid __attribute__ ((unused)))
|
||||
|
@ -102,11 +107,6 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
|||
if (!found)
|
||||
return grub_error (GRUB_ERR_IO, "Couldn't find graphics card");
|
||||
|
||||
if (found && framebuffer.base == 0)
|
||||
{
|
||||
/* FIXME: change framebuffer base */
|
||||
}
|
||||
|
||||
/* Fill mode info details. */
|
||||
framebuffer.mode_info.width = 1024;
|
||||
framebuffer.mode_info.height = 600;
|
||||
|
@ -124,12 +124,64 @@ grub_video_sm712_setup (unsigned int width, unsigned int height,
|
|||
framebuffer.mode_info.reserved_mask_size = 0;
|
||||
framebuffer.mode_info.reserved_field_pos = 0;
|
||||
framebuffer.mode_info.blit_format = grub_video_get_blit_format (&framebuffer.mode_info);
|
||||
|
||||
if (found && framebuffer.base == 0)
|
||||
{
|
||||
grub_pci_address_t addr;
|
||||
/* FIXME: choose address dynamically if needed. */
|
||||
framebuffer.base = 0x04000000;
|
||||
|
||||
addr = grub_pci_make_address (framebuffer.dev, GRUB_PCI_REG_ADDRESS_REG0);
|
||||
grub_pci_write (addr, framebuffer.base);
|
||||
|
||||
/* Set latency. */
|
||||
addr = grub_pci_make_address (framebuffer.dev, GRUB_PCI_REG_CACHELINE);
|
||||
grub_pci_write (addr, 0x8);
|
||||
|
||||
/* Enable address spaces. */
|
||||
addr = grub_pci_make_address (framebuffer.dev, GRUB_PCI_REG_COMMAND);
|
||||
grub_pci_write (addr, 0x7);
|
||||
}
|
||||
|
||||
/* We can safely discard volatile attribute. */
|
||||
framebuffer.ptr = (void *) grub_pci_device_map_range (framebuffer.dev,
|
||||
framebuffer.base,
|
||||
1024 * 600 * 2);
|
||||
framebuffer.ptr
|
||||
= (void *) grub_pci_device_map_range (framebuffer.dev,
|
||||
framebuffer.base,
|
||||
GRUB_SM712_TOTAL_MEMORY_SPACE);
|
||||
framebuffer.mapped = 1;
|
||||
|
||||
/* Initialise SM712. */
|
||||
grub_outb (0x18, GRUB_MACHINE_PCI_IO_BASE + 0x3c4);
|
||||
grub_outb (0x11, GRUB_MACHINE_PCI_IO_BASE + 0x3c5);
|
||||
|
||||
/* Prevent garbage from appearing on the screen. */
|
||||
grub_memset (framebuffer.ptr, 0,
|
||||
framebuffer.mode_info.height * framebuffer.mode_info.pitch);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (sm712_init); i++)
|
||||
switch (sm712_init[i].directive)
|
||||
{
|
||||
case 1:
|
||||
*(volatile grub_uint8_t *) ((char *) framebuffer.ptr
|
||||
+ sm712_init[i].addr) = sm712_init[i].val;
|
||||
break;
|
||||
case -1:
|
||||
{
|
||||
grub_uint8_t val = *(volatile grub_uint8_t *)
|
||||
((char *) framebuffer.ptr + sm712_init[i].addr);
|
||||
(void) val;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
*(volatile grub_uint16_t *) ((char *) framebuffer.ptr
|
||||
+ sm712_init[i].addr) = sm712_init[i].val;
|
||||
break;
|
||||
case 4:
|
||||
*(volatile grub_uint32_t *) ((char *) framebuffer.ptr
|
||||
+ sm712_init[i].addr) = sm712_init[i].val;
|
||||
break;
|
||||
}
|
||||
|
||||
err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target, &framebuffer.mode_info, framebuffer.ptr);
|
||||
|
||||
if (err)
|
||||
|
|
546
video/sm712_init.c
Normal file
546
video/sm712_init.c
Normal file
|
@ -0,0 +1,546 @@
|
|||
/* Following sequence is a capture of sm712 initialisation sequence. */
|
||||
static struct
|
||||
{
|
||||
int directive;
|
||||
grub_uint32_t addr;
|
||||
grub_uint32_t val;
|
||||
} sm712_init[] =
|
||||
{
|
||||
{1, 0x7003c4, 0x21},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x62},
|
||||
{1, 0x7003c5, 0x7a},
|
||||
{1, 0x7003c4, 0x6a},
|
||||
{1, 0x7003c5, 0x16},
|
||||
{1, 0x7003c4, 0x6b},
|
||||
{1, 0x7003c5, 0x2},
|
||||
{1, 0x7003c6, 0x0},
|
||||
{1, 0x7003c4, 0x0},
|
||||
{1, 0x7003c5, 0x1},
|
||||
{1, 0x7003c2, 0xeb},
|
||||
{1, 0x7003c4, 0x0},
|
||||
{1, 0x7003c5, 0x3},
|
||||
{1, 0x7003c4, 0x1},
|
||||
{1, 0x7003c5, 0x1},
|
||||
{1, 0x7003c4, 0x2},
|
||||
{1, 0x7003c5, 0xf},
|
||||
{1, 0x7003c4, 0x3},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x4},
|
||||
{1, 0x7003c5, 0xe},
|
||||
{1, 0x7003c4, 0x10},
|
||||
{1, 0x7003c5, 0xc8},
|
||||
{1, 0x7003c4, 0x11},
|
||||
{1, 0x7003c5, 0x40},
|
||||
{1, 0x7003c4, 0x12},
|
||||
{1, 0x7003c5, 0x14},
|
||||
{1, 0x7003c4, 0x13},
|
||||
{1, 0x7003c5, 0x60},
|
||||
{1, 0x7003c4, 0x14},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x15},
|
||||
{1, 0x7003c5, 0xa},
|
||||
{1, 0x7003c4, 0x16},
|
||||
{1, 0x7003c5, 0x92},
|
||||
{1, 0x7003c4, 0x17},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x18},
|
||||
{1, 0x7003c5, 0x51},
|
||||
{1, 0x7003c4, 0x19},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x1a},
|
||||
{1, 0x7003c5, 0x1},
|
||||
{1, 0x7003c4, 0x1b},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x1c},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x1d},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x1e},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x1f},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x20},
|
||||
{1, 0x7003c5, 0xc4},
|
||||
{1, 0x7003c4, 0x21},
|
||||
{1, 0x7003c5, 0x30},
|
||||
{1, 0x7003c4, 0x22},
|
||||
{1, 0x7003c5, 0x2},
|
||||
{1, 0x7003c4, 0x23},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x24},
|
||||
{1, 0x7003c5, 0x1},
|
||||
{1, 0x7003c4, 0x30},
|
||||
{1, 0x7003c5, 0x28},
|
||||
{1, 0x7003c4, 0x31},
|
||||
{1, 0x7003c5, 0x3},
|
||||
{1, 0x7003c4, 0x32},
|
||||
{1, 0x7003c5, 0x24},
|
||||
{1, 0x7003c4, 0x33},
|
||||
{1, 0x7003c5, 0x9},
|
||||
{1, 0x7003c4, 0x34},
|
||||
{1, 0x7003c5, 0xc0},
|
||||
{1, 0x7003c4, 0x35},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x36},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x37},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x38},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x39},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x3a},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x3b},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x3c},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x3d},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x3e},
|
||||
{1, 0x7003c5, 0x3},
|
||||
{1, 0x7003c4, 0x3f},
|
||||
{1, 0x7003c5, 0xff},
|
||||
{1, 0x7003c4, 0x40},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x41},
|
||||
{1, 0x7003c5, 0xfc},
|
||||
{1, 0x7003c4, 0x42},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x43},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x44},
|
||||
{1, 0x7003c5, 0x20},
|
||||
{1, 0x7003c4, 0x45},
|
||||
{1, 0x7003c5, 0x18},
|
||||
{1, 0x7003c4, 0x46},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x47},
|
||||
{1, 0x7003c5, 0xfc},
|
||||
{1, 0x7003c4, 0x48},
|
||||
{1, 0x7003c5, 0x20},
|
||||
{1, 0x7003c4, 0x49},
|
||||
{1, 0x7003c5, 0xc},
|
||||
{1, 0x7003c4, 0x4a},
|
||||
{1, 0x7003c5, 0x44},
|
||||
{1, 0x7003c4, 0x4b},
|
||||
{1, 0x7003c5, 0x20},
|
||||
{1, 0x7003c4, 0x4c},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x4d},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x4e},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x4f},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x50},
|
||||
{1, 0x7003c5, 0x6},
|
||||
{1, 0x7003c4, 0x51},
|
||||
{1, 0x7003c5, 0x68},
|
||||
{1, 0x7003c4, 0x52},
|
||||
{1, 0x7003c5, 0xa7},
|
||||
{1, 0x7003c4, 0x53},
|
||||
{1, 0x7003c5, 0x7f},
|
||||
{1, 0x7003c4, 0x54},
|
||||
{1, 0x7003c5, 0x83},
|
||||
{1, 0x7003c4, 0x55},
|
||||
{1, 0x7003c5, 0x24},
|
||||
{1, 0x7003c4, 0x56},
|
||||
{1, 0x7003c5, 0xff},
|
||||
{1, 0x7003c4, 0x57},
|
||||
{1, 0x7003c5, 0x3},
|
||||
{1, 0x7003c4, 0x58},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x59},
|
||||
{1, 0x7003c5, 0x60},
|
||||
{1, 0x7003c4, 0x5a},
|
||||
{1, 0x7003c5, 0x59},
|
||||
{1, 0x7003c4, 0x5b},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x5c},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x5d},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x5e},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x5f},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x60},
|
||||
{1, 0x7003c5, 0x1},
|
||||
{1, 0x7003c4, 0x61},
|
||||
{1, 0x7003c5, 0x80},
|
||||
{1, 0x7003c4, 0x63},
|
||||
{1, 0x7003c5, 0x1a},
|
||||
{1, 0x7003c4, 0x64},
|
||||
{1, 0x7003c5, 0x1a},
|
||||
{1, 0x7003c4, 0x65},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x66},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x67},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x68},
|
||||
{1, 0x7003c5, 0x50},
|
||||
{1, 0x7003c4, 0x69},
|
||||
{1, 0x7003c5, 0x3},
|
||||
{1, 0x7003c4, 0x6c},
|
||||
{1, 0x7003c5, 0x52},
|
||||
{1, 0x7003c4, 0x6d},
|
||||
{1, 0x7003c5, 0x89},
|
||||
{1, 0x7003c4, 0x6e},
|
||||
{1, 0x7003c5, 0x9},
|
||||
{1, 0x7003c4, 0x6f},
|
||||
{1, 0x7003c5, 0x2},
|
||||
{1, 0x7003c4, 0x70},
|
||||
{1, 0x7003c5, 0x4},
|
||||
{1, 0x7003c4, 0x71},
|
||||
{1, 0x7003c5, 0x45},
|
||||
{1, 0x7003c4, 0x72},
|
||||
{1, 0x7003c5, 0x30},
|
||||
{1, 0x7003c4, 0x73},
|
||||
{1, 0x7003c5, 0x30},
|
||||
{1, 0x7003c4, 0x74},
|
||||
{1, 0x7003c5, 0x40},
|
||||
{1, 0x7003c4, 0x75},
|
||||
{1, 0x7003c5, 0x20},
|
||||
{1, 0x7003c4, 0x80},
|
||||
{1, 0x7003c5, 0xff},
|
||||
{1, 0x7003c4, 0x81},
|
||||
{1, 0x7003c5, 0x7},
|
||||
{1, 0x7003c4, 0x82},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x83},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x84},
|
||||
{1, 0x7003c5, 0x8},
|
||||
{1, 0x7003c4, 0x85},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x86},
|
||||
{1, 0x7003c5, 0x42},
|
||||
{1, 0x7003c4, 0x87},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x88},
|
||||
{1, 0x7003c5, 0x59},
|
||||
{1, 0x7003c4, 0x89},
|
||||
{1, 0x7003c5, 0x2},
|
||||
{1, 0x7003c4, 0x8a},
|
||||
{1, 0x7003c5, 0x44},
|
||||
{1, 0x7003c4, 0x8b},
|
||||
{1, 0x7003c5, 0x2},
|
||||
{1, 0x7003c4, 0x8c},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x8d},
|
||||
{1, 0x7003c5, 0xff},
|
||||
{1, 0x7003c4, 0x8e},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x8f},
|
||||
{1, 0x7003c5, 0x3a},
|
||||
{1, 0x7003c4, 0x90},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x91},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x92},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0x93},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0xa0},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0xa1},
|
||||
{1, 0x7003c5, 0x10},
|
||||
{1, 0x7003c4, 0xa2},
|
||||
{1, 0x7003c5, 0x8},
|
||||
{1, 0x7003c4, 0xa3},
|
||||
{1, 0x7003c5, 0x0},
|
||||
{1, 0x7003c4, 0xa4},
|
||||
{1, 0x7003c5, 0x2},
|
||||
{1, 0x7003c4, 0xa5},
|
||||
{1, 0x7003c5, 0xed},
|
||||
{1, 0x7003c4, 0xa6},
|
||||
{1, 0x7003c5, 0xed},
|
||||
{1, 0x7003c4, 0xa7},
|
||||
{1, 0x7003c5, 0xed},
|
||||
{1, 0x7003c4, 0xa8},
|
||||
{1, 0x7003c5, 0x7b},
|
||||
{1, 0x7003c4, 0xa9},
|
||||
{1, 0x7003c5, 0xfb},
|
||||
{1, 0x7003c4, 0xaa},
|
||||
{1, 0x7003c5, 0xff},
|
||||
{1, 0x7003c4, 0xab},
|
||||
{1, 0x7003c5, 0xff},
|
||||
{1, 0x7003c4, 0xac},
|
||||
{1, 0x7003c5, 0x97},
|
||||
{1, 0x7003c4, 0xad},
|
||||
{1, 0x7003c5, 0xef},
|
||||
{1, 0x7003c4, 0xae},
|
||||
{1, 0x7003c5, 0xbf},
|
||||
{1, 0x7003c4, 0xaf},
|
||||
{1, 0x7003c5, 0xdf},
|
||||
{1, 0x7003ce, 0x0},
|
||||
{1, 0x7003cf, 0x0},
|
||||
{1, 0x7003ce, 0x1},
|
||||
{1, 0x7003cf, 0x0},
|
||||
{1, 0x7003ce, 0x2},
|
||||
{1, 0x7003cf, 0x0},
|
||||
{1, 0x7003ce, 0x3},
|
||||
{1, 0x7003cf, 0x0},
|
||||
{1, 0x7003ce, 0x4},
|
||||
{1, 0x7003cf, 0x0},
|
||||
{1, 0x7003ce, 0x5},
|
||||
{1, 0x7003cf, 0x40},
|
||||
{1, 0x7003ce, 0x6},
|
||||
{1, 0x7003cf, 0x5},
|
||||
{1, 0x7003ce, 0x7},
|
||||
{1, 0x7003cf, 0xf},
|
||||
{1, 0x7003ce, 0x8},
|
||||
{1, 0x7003cf, 0xff},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x0},
|
||||
{-1, 0x7003c1, 0x3e},
|
||||
{1, 0x7003c0, 0x0},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x1},
|
||||
{-1, 0x7003c1, 0x3b},
|
||||
{1, 0x7003c0, 0x1},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x2},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0x2},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x3},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0x3},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x4},
|
||||
{-1, 0x7003c1, 0x3b},
|
||||
{1, 0x7003c0, 0x4},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x5},
|
||||
{-1, 0x7003c1, 0x2f},
|
||||
{1, 0x7003c0, 0x5},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x6},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0x6},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x7},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0x7},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x8},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0x8},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x9},
|
||||
{-1, 0x7003c1, 0x3d},
|
||||
{1, 0x7003c0, 0x9},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0xa},
|
||||
{-1, 0x7003c1, 0x1f},
|
||||
{1, 0x7003c0, 0xa},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0xb},
|
||||
{-1, 0x7003c1, 0x1f},
|
||||
{1, 0x7003c0, 0xb},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0xc},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0xc},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0xd},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0xd},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0xe},
|
||||
{-1, 0x7003c1, 0x3f},
|
||||
{1, 0x7003c0, 0xe},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0xf},
|
||||
{-1, 0x7003c1, 0x2e},
|
||||
{1, 0x7003c0, 0xf},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x10},
|
||||
{-1, 0x7003c1, 0x0},
|
||||
{1, 0x7003c0, 0x41},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x11},
|
||||
{-1, 0x7003c1, 0x0},
|
||||
{1, 0x7003c0, 0x0},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x12},
|
||||
{-1, 0x7003c1, 0x0},
|
||||
{1, 0x7003c0, 0xf},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x13},
|
||||
{-1, 0x7003c1, 0x0},
|
||||
{1, 0x7003c0, 0x0},
|
||||
{-1, 0x7003da, 0x5},
|
||||
{1, 0x7003c0, 0x14},
|
||||
{-1, 0x7003c1, 0x0},
|
||||
{1, 0x7003c0, 0x0},
|
||||
{1, 0x7003d4, 0x0},
|
||||
{1, 0x7003d5, 0xa3},
|
||||
{1, 0x7003d4, 0x1},
|
||||
{1, 0x7003d5, 0x7f},
|
||||
{1, 0x7003d4, 0x2},
|
||||
{1, 0x7003d5, 0x7f},
|
||||
{1, 0x7003d4, 0x3},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x4},
|
||||
{1, 0x7003d5, 0x85},
|
||||
{1, 0x7003d4, 0x5},
|
||||
{1, 0x7003d5, 0x16},
|
||||
{1, 0x7003d4, 0x6},
|
||||
{1, 0x7003d5, 0x24},
|
||||
{1, 0x7003d4, 0x7},
|
||||
{1, 0x7003d5, 0xf5},
|
||||
{1, 0x7003d4, 0x8},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x9},
|
||||
{1, 0x7003d5, 0x60},
|
||||
{1, 0x7003d4, 0xa},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xb},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xc},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xd},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xe},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xf},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x10},
|
||||
{1, 0x7003d5, 0x3},
|
||||
{1, 0x7003d4, 0x11},
|
||||
{1, 0x7003d5, 0x9},
|
||||
{1, 0x7003d4, 0x12},
|
||||
{1, 0x7003d5, 0xff},
|
||||
{1, 0x7003d4, 0x13},
|
||||
{1, 0x7003d5, 0x80},
|
||||
{1, 0x7003d4, 0x14},
|
||||
{1, 0x7003d5, 0x40},
|
||||
{1, 0x7003d4, 0x15},
|
||||
{1, 0x7003d5, 0xff},
|
||||
{1, 0x7003d4, 0x16},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x17},
|
||||
{1, 0x7003d5, 0xe3},
|
||||
{1, 0x7003d4, 0x18},
|
||||
{1, 0x7003d5, 0xff},
|
||||
{1, 0x7003d4, 0x30},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x31},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x32},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x33},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x34},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x35},
|
||||
{1, 0x7003d5, 0x80},
|
||||
{1, 0x7003d4, 0x36},
|
||||
{1, 0x7003d5, 0x2},
|
||||
{1, 0x7003d4, 0x37},
|
||||
{1, 0x7003d5, 0x20},
|
||||
{1, 0x7003d4, 0x38},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x39},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x3a},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x3b},
|
||||
{1, 0x7003d5, 0x40},
|
||||
{1, 0x7003d4, 0x3c},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x3d},
|
||||
{1, 0x7003d5, 0xff},
|
||||
{1, 0x7003d4, 0x3e},
|
||||
{1, 0x7003d5, 0x46},
|
||||
{1, 0x7003d4, 0x3f},
|
||||
{1, 0x7003d5, 0x91},
|
||||
{1, 0x7003d4, 0x40},
|
||||
{1, 0x7003d5, 0xa3},
|
||||
{1, 0x7003d4, 0x41},
|
||||
{1, 0x7003d5, 0x7f},
|
||||
{1, 0x7003d4, 0x42},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x43},
|
||||
{1, 0x7003d5, 0x86},
|
||||
{1, 0x7003d4, 0x44},
|
||||
{1, 0x7003d5, 0x15},
|
||||
{1, 0x7003d4, 0x45},
|
||||
{1, 0x7003d5, 0x24},
|
||||
{1, 0x7003d4, 0x46},
|
||||
{1, 0x7003d5, 0xff},
|
||||
{1, 0x7003d4, 0x47},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x48},
|
||||
{1, 0x7003d5, 0x1},
|
||||
{1, 0x7003d4, 0x49},
|
||||
{1, 0x7003d5, 0x7},
|
||||
{1, 0x7003d4, 0x4a},
|
||||
{1, 0x7003d5, 0xe5},
|
||||
{1, 0x7003d4, 0x4b},
|
||||
{1, 0x7003d5, 0x20},
|
||||
{1, 0x7003d4, 0x4c},
|
||||
{1, 0x7003d5, 0x7f},
|
||||
{1, 0x7003d4, 0x4d},
|
||||
{1, 0x7003d5, 0x57},
|
||||
{1, 0x7003d4, 0x90},
|
||||
{1, 0x7003d5, 0x55},
|
||||
{1, 0x7003d4, 0x91},
|
||||
{1, 0x7003d5, 0xd5},
|
||||
{1, 0x7003d4, 0x92},
|
||||
{1, 0x7003d5, 0x5d},
|
||||
{1, 0x7003d4, 0x93},
|
||||
{1, 0x7003d5, 0xdd},
|
||||
{1, 0x7003d4, 0x94},
|
||||
{1, 0x7003d5, 0x86},
|
||||
{1, 0x7003d4, 0x95},
|
||||
{1, 0x7003d5, 0x17},
|
||||
{1, 0x7003d4, 0x96},
|
||||
{1, 0x7003d5, 0x8e},
|
||||
{1, 0x7003d4, 0x97},
|
||||
{1, 0x7003d5, 0xaa},
|
||||
{1, 0x7003d4, 0x98},
|
||||
{1, 0x7003d5, 0x8a},
|
||||
{1, 0x7003d4, 0x99},
|
||||
{1, 0x7003d5, 0xa3},
|
||||
{1, 0x7003d4, 0x9a},
|
||||
{1, 0x7003d5, 0xde},
|
||||
{1, 0x7003d4, 0x9b},
|
||||
{1, 0x7003d5, 0xab},
|
||||
{1, 0x7003d4, 0x9c},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x9d},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x9e},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0x9f},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xa0},
|
||||
{1, 0x7003d5, 0x2},
|
||||
{1, 0x7003d4, 0xa1},
|
||||
{1, 0x7003d5, 0x2},
|
||||
{1, 0x7003d4, 0xa2},
|
||||
{1, 0x7003d5, 0x2},
|
||||
{1, 0x7003d4, 0xa3},
|
||||
{1, 0x7003d5, 0x15},
|
||||
{1, 0x7003d4, 0xa4},
|
||||
{1, 0x7003d5, 0x2},
|
||||
{1, 0x7003d4, 0xa5},
|
||||
{1, 0x7003d5, 0x6},
|
||||
{1, 0x7003d4, 0xa6},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003d4, 0xa7},
|
||||
{1, 0x7003d5, 0x0},
|
||||
{1, 0x7003c2, 0x67},
|
||||
{4, 0x40c00c, 0x0},
|
||||
{4, 0x40c040, 0x0},
|
||||
{4, 0x40c000, 0x20000},
|
||||
{4, 0x40c010, 0x1020100},
|
||||
{1, 0x7003c4, 0x16},
|
||||
{-1, 0x7003c5, 0x17}
|
||||
};
|
Loading…
Reference in a new issue