From cf0c775ed41b7ee256ef496588f5ee2871d63dac Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Tue, 10 Aug 2010 13:43:43 +0200 Subject: [PATCH] * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE. (grub_vga_gr_read): Likewise. (grub_vga_cr_write): Likewise. (grub_vga_cr_read): Likewise. (grub_vga_sr_write): Likewise. (grub_vga_sr_read): Likewise. (grub_vga_palette_read): Likewise. (grub_vga_palette_write): Likewise. * video/sm712.c (GRUB_SM712_REG_BASE): New definition. (grub_sm712_sr_read): New function. (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read. * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE. --- ChangeLog | 15 + include/grub/vga.h | 41 +- video/sm712.c | 35 +- video/sm712_init.c | 1068 ++++++++++++++++++++++---------------------- 4 files changed, 589 insertions(+), 570 deletions(-) diff --git a/ChangeLog b/ChangeLog index b0cbd54a0..0829eb83e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2010-08-10 Vladimir Serbinenko + + * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE. + (grub_vga_gr_read): Likewise. + (grub_vga_cr_write): Likewise. + (grub_vga_cr_read): Likewise. + (grub_vga_sr_write): Likewise. + (grub_vga_sr_read): Likewise. + (grub_vga_palette_read): Likewise. + (grub_vga_palette_write): Likewise. + * video/sm712.c (GRUB_SM712_REG_BASE): New definition. + (grub_sm712_sr_read): New function. + (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read. + * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE. + 2010-08-09 Robert Millan * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter diff --git a/include/grub/vga.h b/include/grub/vga.h index d4a1523a7..0ca56e37f 100644 --- a/include/grub/vga.h +++ b/include/grub/vga.h @@ -132,64 +132,63 @@ enum static inline void grub_vga_gr_write (grub_uint8_t val, grub_uint8_t addr) { - grub_outb (addr, GRUB_VGA_IO_GR_INDEX); - grub_outb (val, GRUB_VGA_IO_GR_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_GR_INDEX); + grub_outb (val, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_GR_DATA); } static inline grub_uint8_t grub_vga_gr_read (grub_uint8_t addr) { - grub_outb (addr, GRUB_VGA_IO_GR_INDEX); - return grub_inb (GRUB_VGA_IO_GR_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_GR_INDEX); + return grub_inb (GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_GR_DATA); } static inline void grub_vga_cr_write (grub_uint8_t val, grub_uint8_t addr) { - grub_outb (addr, GRUB_VGA_IO_CR_INDEX); - grub_outb (val, GRUB_VGA_IO_CR_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_CR_INDEX); + grub_outb (val, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_CR_DATA); } static inline grub_uint8_t grub_vga_cr_read (grub_uint8_t addr) { - grub_outb (addr, GRUB_VGA_IO_CR_INDEX); - return grub_inb (GRUB_VGA_IO_CR_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_CR_INDEX); + return grub_inb (GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_CR_DATA); } static inline void grub_vga_sr_write (grub_uint8_t val, grub_uint8_t addr) { - grub_outb (addr, GRUB_VGA_IO_SR_INDEX); - grub_outb (val, GRUB_VGA_IO_SR_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_INDEX); + grub_outb (val, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_DATA); } static inline grub_uint8_t grub_vga_sr_read (grub_uint8_t addr) { - grub_outb (addr, GRUB_VGA_IO_SR_INDEX); - return grub_inb (GRUB_VGA_IO_SR_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_INDEX); + return grub_inb (GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_DATA); } static inline void grub_vga_palette_read (grub_uint8_t addr, grub_uint8_t *r, grub_uint8_t *g, grub_uint8_t *b) { - grub_outb (addr, GRUB_VGA_IO_PALLETTE_READ_INDEX); - *r = grub_inb (GRUB_VGA_IO_PALLETTE_DATA); - *g = grub_inb (GRUB_VGA_IO_PALLETTE_DATA); - *b = grub_inb (GRUB_VGA_IO_PALLETTE_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_READ_INDEX); + *r = grub_inb (GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_DATA); + *g = grub_inb (GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_DATA); + *b = grub_inb (GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_DATA); } static inline void grub_vga_palette_write (grub_uint8_t addr, grub_uint8_t r, grub_uint8_t g, grub_uint8_t b) { - grub_outb (addr, GRUB_VGA_IO_PALLETTE_WRITE_INDEX); - grub_outb (r, GRUB_VGA_IO_PALLETTE_DATA); - grub_outb (g, GRUB_VGA_IO_PALLETTE_DATA); - grub_outb (b, GRUB_VGA_IO_PALLETTE_DATA); + grub_outb (addr, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_WRITE_INDEX); + grub_outb (r, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_DATA); + grub_outb (g, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_DATA); + grub_outb (b, GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_PALLETTE_DATA); } - #endif diff --git a/video/sm712.c b/video/sm712.c index a58032c42..db7494a62 100644 --- a/video/sm712.c +++ b/video/sm712.c @@ -26,10 +26,12 @@ #include #include #include +#include #include "sm712_init.c" #define GRUB_SM712_TOTAL_MEMORY_SPACE 0x700400 +#define GRUB_SM712_REG_BASE 0x700000 static struct { @@ -61,6 +63,15 @@ grub_video_sm712_video_fini (void) return grub_video_fb_fini (); } +static inline grub_uint8_t +grub_sm712_sr_read (grub_uint8_t addr) +{ + *(volatile grub_uint8_t *) (framebuffer.ptr + GRUB_SM712_REG_BASE + + GRUB_VGA_IO_SR_INDEX) = addr; + return *(volatile grub_uint8_t *) (framebuffer.ptr + GRUB_SM712_REG_BASE + + GRUB_VGA_IO_SR_DATA); +} + static grub_err_t grub_video_sm712_setup (unsigned int width, unsigned int height, unsigned int mode_type, unsigned int mode_mask __attribute__ ((unused))) @@ -148,8 +159,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height, framebuffer.mapped = 1; /* Initialise SM712. */ - grub_outb (0x18, GRUB_MACHINE_PCI_IO_BASE + 0x3c4); - grub_outb (0x11, GRUB_MACHINE_PCI_IO_BASE + 0x3c5); + grub_vga_sr_write (0x11, 0x18); /* Prevent garbage from appearing on the screen. */ grub_memset (framebuffer.ptr, 0, @@ -159,26 +169,27 @@ grub_video_sm712_setup (unsigned int width, unsigned int height, switch (sm712_init[i].directive) { case 1: - *(volatile grub_uint8_t *) ((char *) framebuffer.ptr + *(volatile grub_uint8_t *) ((char *) framebuffer.ptr + + GRUB_SM712_REG_BASE + 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); + ((char *) framebuffer.ptr + GRUB_SM712_REG_BASE + + 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; } + *(volatile grub_uint32_t *) ((char *) framebuffer.ptr + 0x40c00c) = 0; + *(volatile grub_uint32_t *) ((char *) framebuffer.ptr + 0x40c040) = 0; + *(volatile grub_uint32_t *) ((char *) framebuffer.ptr + 0x40c000) = 0x20000; + *(volatile grub_uint32_t *) ((char *) framebuffer.ptr + 0x40c010) = 0x1020100; + + (void) grub_sm712_sr_read (0x16); + err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target, &framebuffer.mode_info, framebuffer.ptr); if (err) diff --git a/video/sm712_init.c b/video/sm712_init.c index 02c64c453..58dbbbbf9 100644 --- a/video/sm712_init.c +++ b/video/sm712_init.c @@ -6,541 +6,535 @@ static struct 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} + {1, 0x3c4, 0x21}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x62}, + {1, 0x3c5, 0x7a}, + {1, 0x3c4, 0x6a}, + {1, 0x3c5, 0x16}, + {1, 0x3c4, 0x6b}, + {1, 0x3c5, 0x2}, + {1, 0x3c6, 0x0}, + {1, 0x3c4, 0x0}, + {1, 0x3c5, 0x1}, + {1, 0x3c2, 0xeb}, + {1, 0x3c4, 0x0}, + {1, 0x3c5, 0x3}, + {1, 0x3c4, 0x1}, + {1, 0x3c5, 0x1}, + {1, 0x3c4, 0x2}, + {1, 0x3c5, 0xf}, + {1, 0x3c4, 0x3}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x4}, + {1, 0x3c5, 0xe}, + {1, 0x3c4, 0x10}, + {1, 0x3c5, 0xc8}, + {1, 0x3c4, 0x11}, + {1, 0x3c5, 0x40}, + {1, 0x3c4, 0x12}, + {1, 0x3c5, 0x14}, + {1, 0x3c4, 0x13}, + {1, 0x3c5, 0x60}, + {1, 0x3c4, 0x14}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x15}, + {1, 0x3c5, 0xa}, + {1, 0x3c4, 0x16}, + {1, 0x3c5, 0x92}, + {1, 0x3c4, 0x17}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x18}, + {1, 0x3c5, 0x51}, + {1, 0x3c4, 0x19}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x1a}, + {1, 0x3c5, 0x1}, + {1, 0x3c4, 0x1b}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x1c}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x1d}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x1e}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x1f}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x20}, + {1, 0x3c5, 0xc4}, + {1, 0x3c4, 0x21}, + {1, 0x3c5, 0x30}, + {1, 0x3c4, 0x22}, + {1, 0x3c5, 0x2}, + {1, 0x3c4, 0x23}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x24}, + {1, 0x3c5, 0x1}, + {1, 0x3c4, 0x30}, + {1, 0x3c5, 0x28}, + {1, 0x3c4, 0x31}, + {1, 0x3c5, 0x3}, + {1, 0x3c4, 0x32}, + {1, 0x3c5, 0x24}, + {1, 0x3c4, 0x33}, + {1, 0x3c5, 0x9}, + {1, 0x3c4, 0x34}, + {1, 0x3c5, 0xc0}, + {1, 0x3c4, 0x35}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x36}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x37}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x38}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x39}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x3a}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x3b}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x3c}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x3d}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x3e}, + {1, 0x3c5, 0x3}, + {1, 0x3c4, 0x3f}, + {1, 0x3c5, 0xff}, + {1, 0x3c4, 0x40}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x41}, + {1, 0x3c5, 0xfc}, + {1, 0x3c4, 0x42}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x43}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x44}, + {1, 0x3c5, 0x20}, + {1, 0x3c4, 0x45}, + {1, 0x3c5, 0x18}, + {1, 0x3c4, 0x46}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x47}, + {1, 0x3c5, 0xfc}, + {1, 0x3c4, 0x48}, + {1, 0x3c5, 0x20}, + {1, 0x3c4, 0x49}, + {1, 0x3c5, 0xc}, + {1, 0x3c4, 0x4a}, + {1, 0x3c5, 0x44}, + {1, 0x3c4, 0x4b}, + {1, 0x3c5, 0x20}, + {1, 0x3c4, 0x4c}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x4d}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x4e}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x4f}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x50}, + {1, 0x3c5, 0x6}, + {1, 0x3c4, 0x51}, + {1, 0x3c5, 0x68}, + {1, 0x3c4, 0x52}, + {1, 0x3c5, 0xa7}, + {1, 0x3c4, 0x53}, + {1, 0x3c5, 0x7f}, + {1, 0x3c4, 0x54}, + {1, 0x3c5, 0x83}, + {1, 0x3c4, 0x55}, + {1, 0x3c5, 0x24}, + {1, 0x3c4, 0x56}, + {1, 0x3c5, 0xff}, + {1, 0x3c4, 0x57}, + {1, 0x3c5, 0x3}, + {1, 0x3c4, 0x58}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x59}, + {1, 0x3c5, 0x60}, + {1, 0x3c4, 0x5a}, + {1, 0x3c5, 0x59}, + {1, 0x3c4, 0x5b}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x5c}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x5d}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x5e}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x5f}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x60}, + {1, 0x3c5, 0x1}, + {1, 0x3c4, 0x61}, + {1, 0x3c5, 0x80}, + {1, 0x3c4, 0x63}, + {1, 0x3c5, 0x1a}, + {1, 0x3c4, 0x64}, + {1, 0x3c5, 0x1a}, + {1, 0x3c4, 0x65}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x66}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x67}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x68}, + {1, 0x3c5, 0x50}, + {1, 0x3c4, 0x69}, + {1, 0x3c5, 0x3}, + {1, 0x3c4, 0x6c}, + {1, 0x3c5, 0x52}, + {1, 0x3c4, 0x6d}, + {1, 0x3c5, 0x89}, + {1, 0x3c4, 0x6e}, + {1, 0x3c5, 0x9}, + {1, 0x3c4, 0x6f}, + {1, 0x3c5, 0x2}, + {1, 0x3c4, 0x70}, + {1, 0x3c5, 0x4}, + {1, 0x3c4, 0x71}, + {1, 0x3c5, 0x45}, + {1, 0x3c4, 0x72}, + {1, 0x3c5, 0x30}, + {1, 0x3c4, 0x73}, + {1, 0x3c5, 0x30}, + {1, 0x3c4, 0x74}, + {1, 0x3c5, 0x40}, + {1, 0x3c4, 0x75}, + {1, 0x3c5, 0x20}, + {1, 0x3c4, 0x80}, + {1, 0x3c5, 0xff}, + {1, 0x3c4, 0x81}, + {1, 0x3c5, 0x7}, + {1, 0x3c4, 0x82}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x83}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x84}, + {1, 0x3c5, 0x8}, + {1, 0x3c4, 0x85}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x86}, + {1, 0x3c5, 0x42}, + {1, 0x3c4, 0x87}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x88}, + {1, 0x3c5, 0x59}, + {1, 0x3c4, 0x89}, + {1, 0x3c5, 0x2}, + {1, 0x3c4, 0x8a}, + {1, 0x3c5, 0x44}, + {1, 0x3c4, 0x8b}, + {1, 0x3c5, 0x2}, + {1, 0x3c4, 0x8c}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x8d}, + {1, 0x3c5, 0xff}, + {1, 0x3c4, 0x8e}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x8f}, + {1, 0x3c5, 0x3a}, + {1, 0x3c4, 0x90}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x91}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x92}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0x93}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0xa0}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0xa1}, + {1, 0x3c5, 0x10}, + {1, 0x3c4, 0xa2}, + {1, 0x3c5, 0x8}, + {1, 0x3c4, 0xa3}, + {1, 0x3c5, 0x0}, + {1, 0x3c4, 0xa4}, + {1, 0x3c5, 0x2}, + {1, 0x3c4, 0xa5}, + {1, 0x3c5, 0xed}, + {1, 0x3c4, 0xa6}, + {1, 0x3c5, 0xed}, + {1, 0x3c4, 0xa7}, + {1, 0x3c5, 0xed}, + {1, 0x3c4, 0xa8}, + {1, 0x3c5, 0x7b}, + {1, 0x3c4, 0xa9}, + {1, 0x3c5, 0xfb}, + {1, 0x3c4, 0xaa}, + {1, 0x3c5, 0xff}, + {1, 0x3c4, 0xab}, + {1, 0x3c5, 0xff}, + {1, 0x3c4, 0xac}, + {1, 0x3c5, 0x97}, + {1, 0x3c4, 0xad}, + {1, 0x3c5, 0xef}, + {1, 0x3c4, 0xae}, + {1, 0x3c5, 0xbf}, + {1, 0x3c4, 0xaf}, + {1, 0x3c5, 0xdf}, + {1, 0x3ce, 0x0}, + {1, 0x3cf, 0x0}, + {1, 0x3ce, 0x1}, + {1, 0x3cf, 0x0}, + {1, 0x3ce, 0x2}, + {1, 0x3cf, 0x0}, + {1, 0x3ce, 0x3}, + {1, 0x3cf, 0x0}, + {1, 0x3ce, 0x4}, + {1, 0x3cf, 0x0}, + {1, 0x3ce, 0x5}, + {1, 0x3cf, 0x40}, + {1, 0x3ce, 0x6}, + {1, 0x3cf, 0x5}, + {1, 0x3ce, 0x7}, + {1, 0x3cf, 0xf}, + {1, 0x3ce, 0x8}, + {1, 0x3cf, 0xff}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x0}, + {-1, 0x3c1, 0x3e}, + {1, 0x3c0, 0x0}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x1}, + {-1, 0x3c1, 0x3b}, + {1, 0x3c0, 0x1}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x2}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0x2}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x3}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0x3}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x4}, + {-1, 0x3c1, 0x3b}, + {1, 0x3c0, 0x4}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x5}, + {-1, 0x3c1, 0x2f}, + {1, 0x3c0, 0x5}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x6}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0x6}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x7}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0x7}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x8}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0x8}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x9}, + {-1, 0x3c1, 0x3d}, + {1, 0x3c0, 0x9}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0xa}, + {-1, 0x3c1, 0x1f}, + {1, 0x3c0, 0xa}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0xb}, + {-1, 0x3c1, 0x1f}, + {1, 0x3c0, 0xb}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0xc}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0xc}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0xd}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0xd}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0xe}, + {-1, 0x3c1, 0x3f}, + {1, 0x3c0, 0xe}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0xf}, + {-1, 0x3c1, 0x2e}, + {1, 0x3c0, 0xf}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x10}, + {-1, 0x3c1, 0x0}, + {1, 0x3c0, 0x41}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x11}, + {-1, 0x3c1, 0x0}, + {1, 0x3c0, 0x0}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x12}, + {-1, 0x3c1, 0x0}, + {1, 0x3c0, 0xf}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x13}, + {-1, 0x3c1, 0x0}, + {1, 0x3c0, 0x0}, + {-1, 0x3da, 0x5}, + {1, 0x3c0, 0x14}, + {-1, 0x3c1, 0x0}, + {1, 0x3c0, 0x0}, + {1, 0x3d4, 0x0}, + {1, 0x3d5, 0xa3}, + {1, 0x3d4, 0x1}, + {1, 0x3d5, 0x7f}, + {1, 0x3d4, 0x2}, + {1, 0x3d5, 0x7f}, + {1, 0x3d4, 0x3}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x4}, + {1, 0x3d5, 0x85}, + {1, 0x3d4, 0x5}, + {1, 0x3d5, 0x16}, + {1, 0x3d4, 0x6}, + {1, 0x3d5, 0x24}, + {1, 0x3d4, 0x7}, + {1, 0x3d5, 0xf5}, + {1, 0x3d4, 0x8}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x9}, + {1, 0x3d5, 0x60}, + {1, 0x3d4, 0xa}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xb}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xc}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xd}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xe}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xf}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x10}, + {1, 0x3d5, 0x3}, + {1, 0x3d4, 0x11}, + {1, 0x3d5, 0x9}, + {1, 0x3d4, 0x12}, + {1, 0x3d5, 0xff}, + {1, 0x3d4, 0x13}, + {1, 0x3d5, 0x80}, + {1, 0x3d4, 0x14}, + {1, 0x3d5, 0x40}, + {1, 0x3d4, 0x15}, + {1, 0x3d5, 0xff}, + {1, 0x3d4, 0x16}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x17}, + {1, 0x3d5, 0xe3}, + {1, 0x3d4, 0x18}, + {1, 0x3d5, 0xff}, + {1, 0x3d4, 0x30}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x31}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x32}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x33}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x34}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x35}, + {1, 0x3d5, 0x80}, + {1, 0x3d4, 0x36}, + {1, 0x3d5, 0x2}, + {1, 0x3d4, 0x37}, + {1, 0x3d5, 0x20}, + {1, 0x3d4, 0x38}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x39}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x3a}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x3b}, + {1, 0x3d5, 0x40}, + {1, 0x3d4, 0x3c}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x3d}, + {1, 0x3d5, 0xff}, + {1, 0x3d4, 0x3e}, + {1, 0x3d5, 0x46}, + {1, 0x3d4, 0x3f}, + {1, 0x3d5, 0x91}, + {1, 0x3d4, 0x40}, + {1, 0x3d5, 0xa3}, + {1, 0x3d4, 0x41}, + {1, 0x3d5, 0x7f}, + {1, 0x3d4, 0x42}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x43}, + {1, 0x3d5, 0x86}, + {1, 0x3d4, 0x44}, + {1, 0x3d5, 0x15}, + {1, 0x3d4, 0x45}, + {1, 0x3d5, 0x24}, + {1, 0x3d4, 0x46}, + {1, 0x3d5, 0xff}, + {1, 0x3d4, 0x47}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x48}, + {1, 0x3d5, 0x1}, + {1, 0x3d4, 0x49}, + {1, 0x3d5, 0x7}, + {1, 0x3d4, 0x4a}, + {1, 0x3d5, 0xe5}, + {1, 0x3d4, 0x4b}, + {1, 0x3d5, 0x20}, + {1, 0x3d4, 0x4c}, + {1, 0x3d5, 0x7f}, + {1, 0x3d4, 0x4d}, + {1, 0x3d5, 0x57}, + {1, 0x3d4, 0x90}, + {1, 0x3d5, 0x55}, + {1, 0x3d4, 0x91}, + {1, 0x3d5, 0xd5}, + {1, 0x3d4, 0x92}, + {1, 0x3d5, 0x5d}, + {1, 0x3d4, 0x93}, + {1, 0x3d5, 0xdd}, + {1, 0x3d4, 0x94}, + {1, 0x3d5, 0x86}, + {1, 0x3d4, 0x95}, + {1, 0x3d5, 0x17}, + {1, 0x3d4, 0x96}, + {1, 0x3d5, 0x8e}, + {1, 0x3d4, 0x97}, + {1, 0x3d5, 0xaa}, + {1, 0x3d4, 0x98}, + {1, 0x3d5, 0x8a}, + {1, 0x3d4, 0x99}, + {1, 0x3d5, 0xa3}, + {1, 0x3d4, 0x9a}, + {1, 0x3d5, 0xde}, + {1, 0x3d4, 0x9b}, + {1, 0x3d5, 0xab}, + {1, 0x3d4, 0x9c}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x9d}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x9e}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0x9f}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xa0}, + {1, 0x3d5, 0x2}, + {1, 0x3d4, 0xa1}, + {1, 0x3d5, 0x2}, + {1, 0x3d4, 0xa2}, + {1, 0x3d5, 0x2}, + {1, 0x3d4, 0xa3}, + {1, 0x3d5, 0x15}, + {1, 0x3d4, 0xa4}, + {1, 0x3d5, 0x2}, + {1, 0x3d4, 0xa5}, + {1, 0x3d5, 0x6}, + {1, 0x3d4, 0xa6}, + {1, 0x3d5, 0x0}, + {1, 0x3d4, 0xa7}, + {1, 0x3d5, 0x0}, + {1, 0x3c2, 0x67}, };