1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-12-21 02:52:02 +00:00
Ryujinx/Ryujinx.HLE/HOS/Services/Nv/NvDrvServices/NvHostChannel/ChannelInitialization.cs
gdkchan 40b21cc3c4
Separate GPU engines (part 2/2) (#2440)
* 3D engine now uses DeviceState too, plus new state modification tracking

* Remove old methods code

* Remove GpuState and friends

* Optimize DeviceState, force inline some functions

* This change was not supposed to go in

* Proper channel initialization

* Optimize state read/write methods even more

* Fix debug build

* Do not dirty state if the write is redundant

* The YControl register should dirty either the viewport or front face state too, to update the host origin

* Avoid redundant vertex buffer updates

* Move state and get rid of the Ryujinx.Graphics.Gpu.State namespace

* Comments and nits

* Fix rebase

* PR feedback

* Move changed = false to improve codegen

* PR feedback

* Carry RyuJIT a bit more
2021-07-11 17:20:40 -03:00

1361 lines
No EOL
75 KiB
C#

using Ryujinx.Graphics.Gpu;
namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvHostChannel
{
static class ChannelInitialization
{
public static void InitializeState(GpuChannel channel)
{
channel.Write(ClassId.Threed, 0x800, 0x0);
channel.Write(ClassId.Threed, 0x840, 0x0);
channel.Write(ClassId.Threed, 0x880, 0x0);
channel.Write(ClassId.Threed, 0x8C0, 0x0);
channel.Write(ClassId.Threed, 0x900, 0x0);
channel.Write(ClassId.Threed, 0x940, 0x0);
channel.Write(ClassId.Threed, 0x980, 0x0);
channel.Write(ClassId.Threed, 0x9C0, 0x0);
channel.Write(ClassId.Threed, 0x804, 0x0);
channel.Write(ClassId.Threed, 0x844, 0x0);
channel.Write(ClassId.Threed, 0x884, 0x0);
channel.Write(ClassId.Threed, 0x8C4, 0x0);
channel.Write(ClassId.Threed, 0x904, 0x0);
channel.Write(ClassId.Threed, 0x944, 0x0);
channel.Write(ClassId.Threed, 0x984, 0x0);
channel.Write(ClassId.Threed, 0x9C4, 0x0);
channel.Write(ClassId.Threed, 0x808, 0x400);
channel.Write(ClassId.Threed, 0x848, 0x400);
channel.Write(ClassId.Threed, 0x888, 0x400);
channel.Write(ClassId.Threed, 0x8C8, 0x400);
channel.Write(ClassId.Threed, 0x908, 0x400);
channel.Write(ClassId.Threed, 0x948, 0x400);
channel.Write(ClassId.Threed, 0x988, 0x400);
channel.Write(ClassId.Threed, 0x9C8, 0x400);
channel.Write(ClassId.Threed, 0x80C, 0x300);
channel.Write(ClassId.Threed, 0x84C, 0x300);
channel.Write(ClassId.Threed, 0x88C, 0x300);
channel.Write(ClassId.Threed, 0x8CC, 0x300);
channel.Write(ClassId.Threed, 0x90C, 0x300);
channel.Write(ClassId.Threed, 0x94C, 0x300);
channel.Write(ClassId.Threed, 0x98C, 0x300);
channel.Write(ClassId.Threed, 0x9CC, 0x300);
channel.Write(ClassId.Threed, 0x810, 0xCF);
channel.Write(ClassId.Threed, 0x850, 0x0);
channel.Write(ClassId.Threed, 0x890, 0x0);
channel.Write(ClassId.Threed, 0x8D0, 0x0);
channel.Write(ClassId.Threed, 0x910, 0x0);
channel.Write(ClassId.Threed, 0x950, 0x0);
channel.Write(ClassId.Threed, 0x990, 0x0);
channel.Write(ClassId.Threed, 0x9D0, 0x0);
channel.Write(ClassId.Threed, 0x814, 0x40);
channel.Write(ClassId.Threed, 0x854, 0x40);
channel.Write(ClassId.Threed, 0x894, 0x40);
channel.Write(ClassId.Threed, 0x8D4, 0x40);
channel.Write(ClassId.Threed, 0x914, 0x40);
channel.Write(ClassId.Threed, 0x954, 0x40);
channel.Write(ClassId.Threed, 0x994, 0x40);
channel.Write(ClassId.Threed, 0x9D4, 0x40);
channel.Write(ClassId.Threed, 0x818, 0x1);
channel.Write(ClassId.Threed, 0x858, 0x1);
channel.Write(ClassId.Threed, 0x898, 0x1);
channel.Write(ClassId.Threed, 0x8D8, 0x1);
channel.Write(ClassId.Threed, 0x918, 0x1);
channel.Write(ClassId.Threed, 0x958, 0x1);
channel.Write(ClassId.Threed, 0x998, 0x1);
channel.Write(ClassId.Threed, 0x9D8, 0x1);
channel.Write(ClassId.Threed, 0x81C, 0x0);
channel.Write(ClassId.Threed, 0x85C, 0x0);
channel.Write(ClassId.Threed, 0x89C, 0x0);
channel.Write(ClassId.Threed, 0x8DC, 0x0);
channel.Write(ClassId.Threed, 0x91C, 0x0);
channel.Write(ClassId.Threed, 0x95C, 0x0);
channel.Write(ClassId.Threed, 0x99C, 0x0);
channel.Write(ClassId.Threed, 0x9DC, 0x0);
channel.Write(ClassId.Threed, 0x820, 0x0);
channel.Write(ClassId.Threed, 0x860, 0x0);
channel.Write(ClassId.Threed, 0x8A0, 0x0);
channel.Write(ClassId.Threed, 0x8E0, 0x0);
channel.Write(ClassId.Threed, 0x920, 0x0);
channel.Write(ClassId.Threed, 0x960, 0x0);
channel.Write(ClassId.Threed, 0x9A0, 0x0);
channel.Write(ClassId.Threed, 0x9E0, 0x0);
channel.Write(ClassId.Threed, 0x1C00, 0x0);
channel.Write(ClassId.Threed, 0x1C10, 0x0);
channel.Write(ClassId.Threed, 0x1C20, 0x0);
channel.Write(ClassId.Threed, 0x1C30, 0x0);
channel.Write(ClassId.Threed, 0x1C40, 0x0);
channel.Write(ClassId.Threed, 0x1C50, 0x0);
channel.Write(ClassId.Threed, 0x1C60, 0x0);
channel.Write(ClassId.Threed, 0x1C70, 0x0);
channel.Write(ClassId.Threed, 0x1C80, 0x0);
channel.Write(ClassId.Threed, 0x1C90, 0x0);
channel.Write(ClassId.Threed, 0x1CA0, 0x0);
channel.Write(ClassId.Threed, 0x1CB0, 0x0);
channel.Write(ClassId.Threed, 0x1CC0, 0x0);
channel.Write(ClassId.Threed, 0x1CD0, 0x0);
channel.Write(ClassId.Threed, 0x1CE0, 0x0);
channel.Write(ClassId.Threed, 0x1CF0, 0x0);
channel.Write(ClassId.Threed, 0x1C04, 0x0);
channel.Write(ClassId.Threed, 0x1C14, 0x0);
channel.Write(ClassId.Threed, 0x1C24, 0x0);
channel.Write(ClassId.Threed, 0x1C34, 0x0);
channel.Write(ClassId.Threed, 0x1C44, 0x0);
channel.Write(ClassId.Threed, 0x1C54, 0x0);
channel.Write(ClassId.Threed, 0x1C64, 0x0);
channel.Write(ClassId.Threed, 0x1C74, 0x0);
channel.Write(ClassId.Threed, 0x1C84, 0x0);
channel.Write(ClassId.Threed, 0x1C94, 0x0);
channel.Write(ClassId.Threed, 0x1CA4, 0x0);
channel.Write(ClassId.Threed, 0x1CB4, 0x0);
channel.Write(ClassId.Threed, 0x1CC4, 0x0);
channel.Write(ClassId.Threed, 0x1CD4, 0x0);
channel.Write(ClassId.Threed, 0x1CE4, 0x0);
channel.Write(ClassId.Threed, 0x1CF4, 0x0);
channel.Write(ClassId.Threed, 0x1C08, 0x0);
channel.Write(ClassId.Threed, 0x1C18, 0x0);
channel.Write(ClassId.Threed, 0x1C28, 0x0);
channel.Write(ClassId.Threed, 0x1C38, 0x0);
channel.Write(ClassId.Threed, 0x1C48, 0x0);
channel.Write(ClassId.Threed, 0x1C58, 0x0);
channel.Write(ClassId.Threed, 0x1C68, 0x0);
channel.Write(ClassId.Threed, 0x1C78, 0x0);
channel.Write(ClassId.Threed, 0x1C88, 0x0);
channel.Write(ClassId.Threed, 0x1C98, 0x0);
channel.Write(ClassId.Threed, 0x1CA8, 0x0);
channel.Write(ClassId.Threed, 0x1CB8, 0x0);
channel.Write(ClassId.Threed, 0x1CC8, 0x0);
channel.Write(ClassId.Threed, 0x1CD8, 0x0);
channel.Write(ClassId.Threed, 0x1CE8, 0x0);
channel.Write(ClassId.Threed, 0x1CF8, 0x0);
channel.Write(ClassId.Threed, 0x1C0C, 0x0);
channel.Write(ClassId.Threed, 0x1C1C, 0x0);
channel.Write(ClassId.Threed, 0x1C2C, 0x0);
channel.Write(ClassId.Threed, 0x1C3C, 0x0);
channel.Write(ClassId.Threed, 0x1C4C, 0x0);
channel.Write(ClassId.Threed, 0x1C5C, 0x0);
channel.Write(ClassId.Threed, 0x1C6C, 0x0);
channel.Write(ClassId.Threed, 0x1C7C, 0x0);
channel.Write(ClassId.Threed, 0x1C8C, 0x0);
channel.Write(ClassId.Threed, 0x1C9C, 0x0);
channel.Write(ClassId.Threed, 0x1CAC, 0x0);
channel.Write(ClassId.Threed, 0x1CBC, 0x0);
channel.Write(ClassId.Threed, 0x1CCC, 0x0);
channel.Write(ClassId.Threed, 0x1CDC, 0x0);
channel.Write(ClassId.Threed, 0x1CEC, 0x0);
channel.Write(ClassId.Threed, 0x1CFC, 0x0);
channel.Write(ClassId.Threed, 0x1D00, 0x0);
channel.Write(ClassId.Threed, 0x1D10, 0x0);
channel.Write(ClassId.Threed, 0x1D20, 0x0);
channel.Write(ClassId.Threed, 0x1D30, 0x0);
channel.Write(ClassId.Threed, 0x1D40, 0x0);
channel.Write(ClassId.Threed, 0x1D50, 0x0);
channel.Write(ClassId.Threed, 0x1D60, 0x0);
channel.Write(ClassId.Threed, 0x1D70, 0x0);
channel.Write(ClassId.Threed, 0x1D80, 0x0);
channel.Write(ClassId.Threed, 0x1D90, 0x0);
channel.Write(ClassId.Threed, 0x1DA0, 0x0);
channel.Write(ClassId.Threed, 0x1DB0, 0x0);
channel.Write(ClassId.Threed, 0x1DC0, 0x0);
channel.Write(ClassId.Threed, 0x1DD0, 0x0);
channel.Write(ClassId.Threed, 0x1DE0, 0x0);
channel.Write(ClassId.Threed, 0x1DF0, 0x0);
channel.Write(ClassId.Threed, 0x1D04, 0x0);
channel.Write(ClassId.Threed, 0x1D14, 0x0);
channel.Write(ClassId.Threed, 0x1D24, 0x0);
channel.Write(ClassId.Threed, 0x1D34, 0x0);
channel.Write(ClassId.Threed, 0x1D44, 0x0);
channel.Write(ClassId.Threed, 0x1D54, 0x0);
channel.Write(ClassId.Threed, 0x1D64, 0x0);
channel.Write(ClassId.Threed, 0x1D74, 0x0);
channel.Write(ClassId.Threed, 0x1D84, 0x0);
channel.Write(ClassId.Threed, 0x1D94, 0x0);
channel.Write(ClassId.Threed, 0x1DA4, 0x0);
channel.Write(ClassId.Threed, 0x1DB4, 0x0);
channel.Write(ClassId.Threed, 0x1DC4, 0x0);
channel.Write(ClassId.Threed, 0x1DD4, 0x0);
channel.Write(ClassId.Threed, 0x1DE4, 0x0);
channel.Write(ClassId.Threed, 0x1DF4, 0x0);
channel.Write(ClassId.Threed, 0x1D08, 0x0);
channel.Write(ClassId.Threed, 0x1D18, 0x0);
channel.Write(ClassId.Threed, 0x1D28, 0x0);
channel.Write(ClassId.Threed, 0x1D38, 0x0);
channel.Write(ClassId.Threed, 0x1D48, 0x0);
channel.Write(ClassId.Threed, 0x1D58, 0x0);
channel.Write(ClassId.Threed, 0x1D68, 0x0);
channel.Write(ClassId.Threed, 0x1D78, 0x0);
channel.Write(ClassId.Threed, 0x1D88, 0x0);
channel.Write(ClassId.Threed, 0x1D98, 0x0);
channel.Write(ClassId.Threed, 0x1DA8, 0x0);
channel.Write(ClassId.Threed, 0x1DB8, 0x0);
channel.Write(ClassId.Threed, 0x1DC8, 0x0);
channel.Write(ClassId.Threed, 0x1DD8, 0x0);
channel.Write(ClassId.Threed, 0x1DE8, 0x0);
channel.Write(ClassId.Threed, 0x1DF8, 0x0);
channel.Write(ClassId.Threed, 0x1D0C, 0x0);
channel.Write(ClassId.Threed, 0x1D1C, 0x0);
channel.Write(ClassId.Threed, 0x1D2C, 0x0);
channel.Write(ClassId.Threed, 0x1D3C, 0x0);
channel.Write(ClassId.Threed, 0x1D4C, 0x0);
channel.Write(ClassId.Threed, 0x1D5C, 0x0);
channel.Write(ClassId.Threed, 0x1D6C, 0x0);
channel.Write(ClassId.Threed, 0x1D7C, 0x0);
channel.Write(ClassId.Threed, 0x1D8C, 0x0);
channel.Write(ClassId.Threed, 0x1D9C, 0x0);
channel.Write(ClassId.Threed, 0x1DAC, 0x0);
channel.Write(ClassId.Threed, 0x1DBC, 0x0);
channel.Write(ClassId.Threed, 0x1DCC, 0x0);
channel.Write(ClassId.Threed, 0x1DDC, 0x0);
channel.Write(ClassId.Threed, 0x1DEC, 0x0);
channel.Write(ClassId.Threed, 0x1DFC, 0x0);
channel.Write(ClassId.Threed, 0x1F00, 0x0);
channel.Write(ClassId.Threed, 0x1F08, 0x0);
channel.Write(ClassId.Threed, 0x1F10, 0x0);
channel.Write(ClassId.Threed, 0x1F18, 0x0);
channel.Write(ClassId.Threed, 0x1F20, 0x0);
channel.Write(ClassId.Threed, 0x1F28, 0x0);
channel.Write(ClassId.Threed, 0x1F30, 0x0);
channel.Write(ClassId.Threed, 0x1F38, 0x0);
channel.Write(ClassId.Threed, 0x1F40, 0x0);
channel.Write(ClassId.Threed, 0x1F48, 0x0);
channel.Write(ClassId.Threed, 0x1F50, 0x0);
channel.Write(ClassId.Threed, 0x1F58, 0x0);
channel.Write(ClassId.Threed, 0x1F60, 0x0);
channel.Write(ClassId.Threed, 0x1F68, 0x0);
channel.Write(ClassId.Threed, 0x1F70, 0x0);
channel.Write(ClassId.Threed, 0x1F78, 0x0);
channel.Write(ClassId.Threed, 0x1F04, 0x0);
channel.Write(ClassId.Threed, 0x1F0C, 0x0);
channel.Write(ClassId.Threed, 0x1F14, 0x0);
channel.Write(ClassId.Threed, 0x1F1C, 0x0);
channel.Write(ClassId.Threed, 0x1F24, 0x0);
channel.Write(ClassId.Threed, 0x1F2C, 0x0);
channel.Write(ClassId.Threed, 0x1F34, 0x0);
channel.Write(ClassId.Threed, 0x1F3C, 0x0);
channel.Write(ClassId.Threed, 0x1F44, 0x0);
channel.Write(ClassId.Threed, 0x1F4C, 0x0);
channel.Write(ClassId.Threed, 0x1F54, 0x0);
channel.Write(ClassId.Threed, 0x1F5C, 0x0);
channel.Write(ClassId.Threed, 0x1F64, 0x0);
channel.Write(ClassId.Threed, 0x1F6C, 0x0);
channel.Write(ClassId.Threed, 0x1F74, 0x0);
channel.Write(ClassId.Threed, 0x1F7C, 0x0);
channel.Write(ClassId.Threed, 0x1F80, 0x0);
channel.Write(ClassId.Threed, 0x1F88, 0x0);
channel.Write(ClassId.Threed, 0x1F90, 0x0);
channel.Write(ClassId.Threed, 0x1F98, 0x0);
channel.Write(ClassId.Threed, 0x1FA0, 0x0);
channel.Write(ClassId.Threed, 0x1FA8, 0x0);
channel.Write(ClassId.Threed, 0x1FB0, 0x0);
channel.Write(ClassId.Threed, 0x1FB8, 0x0);
channel.Write(ClassId.Threed, 0x1FC0, 0x0);
channel.Write(ClassId.Threed, 0x1FC8, 0x0);
channel.Write(ClassId.Threed, 0x1FD0, 0x0);
channel.Write(ClassId.Threed, 0x1FD8, 0x0);
channel.Write(ClassId.Threed, 0x1FE0, 0x0);
channel.Write(ClassId.Threed, 0x1FE8, 0x0);
channel.Write(ClassId.Threed, 0x1FF0, 0x0);
channel.Write(ClassId.Threed, 0x1FF8, 0x0);
channel.Write(ClassId.Threed, 0x1F84, 0x0);
channel.Write(ClassId.Threed, 0x1F8C, 0x0);
channel.Write(ClassId.Threed, 0x1F94, 0x0);
channel.Write(ClassId.Threed, 0x1F9C, 0x0);
channel.Write(ClassId.Threed, 0x1FA4, 0x0);
channel.Write(ClassId.Threed, 0x1FAC, 0x0);
channel.Write(ClassId.Threed, 0x1FB4, 0x0);
channel.Write(ClassId.Threed, 0x1FBC, 0x0);
channel.Write(ClassId.Threed, 0x1FC4, 0x0);
channel.Write(ClassId.Threed, 0x1FCC, 0x0);
channel.Write(ClassId.Threed, 0x1FD4, 0x0);
channel.Write(ClassId.Threed, 0x1FDC, 0x0);
channel.Write(ClassId.Threed, 0x1FE4, 0x0);
channel.Write(ClassId.Threed, 0x1FEC, 0x0);
channel.Write(ClassId.Threed, 0x1FF4, 0x0);
channel.Write(ClassId.Threed, 0x1FFC, 0x0);
channel.Write(ClassId.Threed, 0x2000, 0x0);
channel.Write(ClassId.Threed, 0x2040, 0x11);
channel.Write(ClassId.Threed, 0x2080, 0x20);
channel.Write(ClassId.Threed, 0x20C0, 0x30);
channel.Write(ClassId.Threed, 0x2100, 0x40);
channel.Write(ClassId.Threed, 0x2140, 0x51);
channel.Write(ClassId.Threed, 0x200C, 0x1);
channel.Write(ClassId.Threed, 0x204C, 0x1);
channel.Write(ClassId.Threed, 0x208C, 0x1);
channel.Write(ClassId.Threed, 0x20CC, 0x1);
channel.Write(ClassId.Threed, 0x210C, 0x1);
channel.Write(ClassId.Threed, 0x214C, 0x1);
channel.Write(ClassId.Threed, 0x2010, 0x0);
channel.Write(ClassId.Threed, 0x2050, 0x0);
channel.Write(ClassId.Threed, 0x2090, 0x1);
channel.Write(ClassId.Threed, 0x20D0, 0x2);
channel.Write(ClassId.Threed, 0x2110, 0x3);
channel.Write(ClassId.Threed, 0x2150, 0x4);
channel.Write(ClassId.Threed, 0x380, 0x0);
channel.Write(ClassId.Threed, 0x3A0, 0x0);
channel.Write(ClassId.Threed, 0x3C0, 0x0);
channel.Write(ClassId.Threed, 0x3E0, 0x0);
channel.Write(ClassId.Threed, 0x384, 0x0);
channel.Write(ClassId.Threed, 0x3A4, 0x0);
channel.Write(ClassId.Threed, 0x3C4, 0x0);
channel.Write(ClassId.Threed, 0x3E4, 0x0);
channel.Write(ClassId.Threed, 0x388, 0x0);
channel.Write(ClassId.Threed, 0x3A8, 0x0);
channel.Write(ClassId.Threed, 0x3C8, 0x0);
channel.Write(ClassId.Threed, 0x3E8, 0x0);
channel.Write(ClassId.Threed, 0x38C, 0x0);
channel.Write(ClassId.Threed, 0x3AC, 0x0);
channel.Write(ClassId.Threed, 0x3CC, 0x0);
channel.Write(ClassId.Threed, 0x3EC, 0x0);
channel.Write(ClassId.Threed, 0x700, 0x0);
channel.Write(ClassId.Threed, 0x710, 0x0);
channel.Write(ClassId.Threed, 0x720, 0x0);
channel.Write(ClassId.Threed, 0x730, 0x0);
channel.Write(ClassId.Threed, 0x704, 0x0);
channel.Write(ClassId.Threed, 0x714, 0x0);
channel.Write(ClassId.Threed, 0x724, 0x0);
channel.Write(ClassId.Threed, 0x734, 0x0);
channel.Write(ClassId.Threed, 0x708, 0x0);
channel.Write(ClassId.Threed, 0x718, 0x0);
channel.Write(ClassId.Threed, 0x728, 0x0);
channel.Write(ClassId.Threed, 0x738, 0x0);
channel.Write(ClassId.Threed, 0x2800, 0x0);
channel.Write(ClassId.Threed, 0x2804, 0x0);
channel.Write(ClassId.Threed, 0x2808, 0x0);
channel.Write(ClassId.Threed, 0x280C, 0x0);
channel.Write(ClassId.Threed, 0x2810, 0x0);
channel.Write(ClassId.Threed, 0x2814, 0x0);
channel.Write(ClassId.Threed, 0x2818, 0x0);
channel.Write(ClassId.Threed, 0x281C, 0x0);
channel.Write(ClassId.Threed, 0x2820, 0x0);
channel.Write(ClassId.Threed, 0x2824, 0x0);
channel.Write(ClassId.Threed, 0x2828, 0x0);
channel.Write(ClassId.Threed, 0x282C, 0x0);
channel.Write(ClassId.Threed, 0x2830, 0x0);
channel.Write(ClassId.Threed, 0x2834, 0x0);
channel.Write(ClassId.Threed, 0x2838, 0x0);
channel.Write(ClassId.Threed, 0x283C, 0x0);
channel.Write(ClassId.Threed, 0x2840, 0x0);
channel.Write(ClassId.Threed, 0x2844, 0x0);
channel.Write(ClassId.Threed, 0x2848, 0x0);
channel.Write(ClassId.Threed, 0x284C, 0x0);
channel.Write(ClassId.Threed, 0x2850, 0x0);
channel.Write(ClassId.Threed, 0x2854, 0x0);
channel.Write(ClassId.Threed, 0x2858, 0x0);
channel.Write(ClassId.Threed, 0x285C, 0x0);
channel.Write(ClassId.Threed, 0x2860, 0x0);
channel.Write(ClassId.Threed, 0x2864, 0x0);
channel.Write(ClassId.Threed, 0x2868, 0x0);
channel.Write(ClassId.Threed, 0x286C, 0x0);
channel.Write(ClassId.Threed, 0x2870, 0x0);
channel.Write(ClassId.Threed, 0x2874, 0x0);
channel.Write(ClassId.Threed, 0x2878, 0x0);
channel.Write(ClassId.Threed, 0x287C, 0x0);
channel.Write(ClassId.Threed, 0x2880, 0x0);
channel.Write(ClassId.Threed, 0x2884, 0x0);
channel.Write(ClassId.Threed, 0x2888, 0x0);
channel.Write(ClassId.Threed, 0x288C, 0x0);
channel.Write(ClassId.Threed, 0x2890, 0x0);
channel.Write(ClassId.Threed, 0x2894, 0x0);
channel.Write(ClassId.Threed, 0x2898, 0x0);
channel.Write(ClassId.Threed, 0x289C, 0x0);
channel.Write(ClassId.Threed, 0x28A0, 0x0);
channel.Write(ClassId.Threed, 0x28A4, 0x0);
channel.Write(ClassId.Threed, 0x28A8, 0x0);
channel.Write(ClassId.Threed, 0x28AC, 0x0);
channel.Write(ClassId.Threed, 0x28B0, 0x0);
channel.Write(ClassId.Threed, 0x28B4, 0x0);
channel.Write(ClassId.Threed, 0x28B8, 0x0);
channel.Write(ClassId.Threed, 0x28BC, 0x0);
channel.Write(ClassId.Threed, 0x28C0, 0x0);
channel.Write(ClassId.Threed, 0x28C4, 0x0);
channel.Write(ClassId.Threed, 0x28C8, 0x0);
channel.Write(ClassId.Threed, 0x28CC, 0x0);
channel.Write(ClassId.Threed, 0x28D0, 0x0);
channel.Write(ClassId.Threed, 0x28D4, 0x0);
channel.Write(ClassId.Threed, 0x28D8, 0x0);
channel.Write(ClassId.Threed, 0x28DC, 0x0);
channel.Write(ClassId.Threed, 0x28E0, 0x0);
channel.Write(ClassId.Threed, 0x28E4, 0x0);
channel.Write(ClassId.Threed, 0x28E8, 0x0);
channel.Write(ClassId.Threed, 0x28EC, 0x0);
channel.Write(ClassId.Threed, 0x28F0, 0x0);
channel.Write(ClassId.Threed, 0x28F4, 0x0);
channel.Write(ClassId.Threed, 0x28F8, 0x0);
channel.Write(ClassId.Threed, 0x28FC, 0x0);
channel.Write(ClassId.Threed, 0x2900, 0x0);
channel.Write(ClassId.Threed, 0x2904, 0x0);
channel.Write(ClassId.Threed, 0x2908, 0x0);
channel.Write(ClassId.Threed, 0x290C, 0x0);
channel.Write(ClassId.Threed, 0x2910, 0x0);
channel.Write(ClassId.Threed, 0x2914, 0x0);
channel.Write(ClassId.Threed, 0x2918, 0x0);
channel.Write(ClassId.Threed, 0x291C, 0x0);
channel.Write(ClassId.Threed, 0x2920, 0x0);
channel.Write(ClassId.Threed, 0x2924, 0x0);
channel.Write(ClassId.Threed, 0x2928, 0x0);
channel.Write(ClassId.Threed, 0x292C, 0x0);
channel.Write(ClassId.Threed, 0x2930, 0x0);
channel.Write(ClassId.Threed, 0x2934, 0x0);
channel.Write(ClassId.Threed, 0x2938, 0x0);
channel.Write(ClassId.Threed, 0x293C, 0x0);
channel.Write(ClassId.Threed, 0x2940, 0x0);
channel.Write(ClassId.Threed, 0x2944, 0x0);
channel.Write(ClassId.Threed, 0x2948, 0x0);
channel.Write(ClassId.Threed, 0x294C, 0x0);
channel.Write(ClassId.Threed, 0x2950, 0x0);
channel.Write(ClassId.Threed, 0x2954, 0x0);
channel.Write(ClassId.Threed, 0x2958, 0x0);
channel.Write(ClassId.Threed, 0x295C, 0x0);
channel.Write(ClassId.Threed, 0x2960, 0x0);
channel.Write(ClassId.Threed, 0x2964, 0x0);
channel.Write(ClassId.Threed, 0x2968, 0x0);
channel.Write(ClassId.Threed, 0x296C, 0x0);
channel.Write(ClassId.Threed, 0x2970, 0x0);
channel.Write(ClassId.Threed, 0x2974, 0x0);
channel.Write(ClassId.Threed, 0x2978, 0x0);
channel.Write(ClassId.Threed, 0x297C, 0x0);
channel.Write(ClassId.Threed, 0x2980, 0x0);
channel.Write(ClassId.Threed, 0x2984, 0x0);
channel.Write(ClassId.Threed, 0x2988, 0x0);
channel.Write(ClassId.Threed, 0x298C, 0x0);
channel.Write(ClassId.Threed, 0x2990, 0x0);
channel.Write(ClassId.Threed, 0x2994, 0x0);
channel.Write(ClassId.Threed, 0x2998, 0x0);
channel.Write(ClassId.Threed, 0x299C, 0x0);
channel.Write(ClassId.Threed, 0x29A0, 0x0);
channel.Write(ClassId.Threed, 0x29A4, 0x0);
channel.Write(ClassId.Threed, 0x29A8, 0x0);
channel.Write(ClassId.Threed, 0x29AC, 0x0);
channel.Write(ClassId.Threed, 0x29B0, 0x0);
channel.Write(ClassId.Threed, 0x29B4, 0x0);
channel.Write(ClassId.Threed, 0x29B8, 0x0);
channel.Write(ClassId.Threed, 0x29BC, 0x0);
channel.Write(ClassId.Threed, 0x29C0, 0x0);
channel.Write(ClassId.Threed, 0x29C4, 0x0);
channel.Write(ClassId.Threed, 0x29C8, 0x0);
channel.Write(ClassId.Threed, 0x29CC, 0x0);
channel.Write(ClassId.Threed, 0x29D0, 0x0);
channel.Write(ClassId.Threed, 0x29D4, 0x0);
channel.Write(ClassId.Threed, 0x29D8, 0x0);
channel.Write(ClassId.Threed, 0x29DC, 0x0);
channel.Write(ClassId.Threed, 0x29E0, 0x0);
channel.Write(ClassId.Threed, 0x29E4, 0x0);
channel.Write(ClassId.Threed, 0x29E8, 0x0);
channel.Write(ClassId.Threed, 0x29EC, 0x0);
channel.Write(ClassId.Threed, 0x29F0, 0x0);
channel.Write(ClassId.Threed, 0x29F4, 0x0);
channel.Write(ClassId.Threed, 0x29F8, 0x0);
channel.Write(ClassId.Threed, 0x29FC, 0x0);
channel.Write(ClassId.Threed, 0xA00, 0x0);
channel.Write(ClassId.Threed, 0xA20, 0x0);
channel.Write(ClassId.Threed, 0xA40, 0x0);
channel.Write(ClassId.Threed, 0xA60, 0x0);
channel.Write(ClassId.Threed, 0xA80, 0x0);
channel.Write(ClassId.Threed, 0xAA0, 0x0);
channel.Write(ClassId.Threed, 0xAC0, 0x0);
channel.Write(ClassId.Threed, 0xAE0, 0x0);
channel.Write(ClassId.Threed, 0xB00, 0x0);
channel.Write(ClassId.Threed, 0xB20, 0x0);
channel.Write(ClassId.Threed, 0xB40, 0x0);
channel.Write(ClassId.Threed, 0xB60, 0x0);
channel.Write(ClassId.Threed, 0xB80, 0x0);
channel.Write(ClassId.Threed, 0xBA0, 0x0);
channel.Write(ClassId.Threed, 0xBC0, 0x0);
channel.Write(ClassId.Threed, 0xBE0, 0x0);
channel.Write(ClassId.Threed, 0xA04, 0x0);
channel.Write(ClassId.Threed, 0xA24, 0x0);
channel.Write(ClassId.Threed, 0xA44, 0x0);
channel.Write(ClassId.Threed, 0xA64, 0x0);
channel.Write(ClassId.Threed, 0xA84, 0x0);
channel.Write(ClassId.Threed, 0xAA4, 0x0);
channel.Write(ClassId.Threed, 0xAC4, 0x0);
channel.Write(ClassId.Threed, 0xAE4, 0x0);
channel.Write(ClassId.Threed, 0xB04, 0x0);
channel.Write(ClassId.Threed, 0xB24, 0x0);
channel.Write(ClassId.Threed, 0xB44, 0x0);
channel.Write(ClassId.Threed, 0xB64, 0x0);
channel.Write(ClassId.Threed, 0xB84, 0x0);
channel.Write(ClassId.Threed, 0xBA4, 0x0);
channel.Write(ClassId.Threed, 0xBC4, 0x0);
channel.Write(ClassId.Threed, 0xBE4, 0x0);
channel.Write(ClassId.Threed, 0xA08, 0x0);
channel.Write(ClassId.Threed, 0xA28, 0x0);
channel.Write(ClassId.Threed, 0xA48, 0x0);
channel.Write(ClassId.Threed, 0xA68, 0x0);
channel.Write(ClassId.Threed, 0xA88, 0x0);
channel.Write(ClassId.Threed, 0xAA8, 0x0);
channel.Write(ClassId.Threed, 0xAC8, 0x0);
channel.Write(ClassId.Threed, 0xAE8, 0x0);
channel.Write(ClassId.Threed, 0xB08, 0x0);
channel.Write(ClassId.Threed, 0xB28, 0x0);
channel.Write(ClassId.Threed, 0xB48, 0x0);
channel.Write(ClassId.Threed, 0xB68, 0x0);
channel.Write(ClassId.Threed, 0xB88, 0x0);
channel.Write(ClassId.Threed, 0xBA8, 0x0);
channel.Write(ClassId.Threed, 0xBC8, 0x0);
channel.Write(ClassId.Threed, 0xBE8, 0x0);
channel.Write(ClassId.Threed, 0xA0C, 0x0);
channel.Write(ClassId.Threed, 0xA2C, 0x0);
channel.Write(ClassId.Threed, 0xA4C, 0x0);
channel.Write(ClassId.Threed, 0xA6C, 0x0);
channel.Write(ClassId.Threed, 0xA8C, 0x0);
channel.Write(ClassId.Threed, 0xAAC, 0x0);
channel.Write(ClassId.Threed, 0xACC, 0x0);
channel.Write(ClassId.Threed, 0xAEC, 0x0);
channel.Write(ClassId.Threed, 0xB0C, 0x0);
channel.Write(ClassId.Threed, 0xB2C, 0x0);
channel.Write(ClassId.Threed, 0xB4C, 0x0);
channel.Write(ClassId.Threed, 0xB6C, 0x0);
channel.Write(ClassId.Threed, 0xB8C, 0x0);
channel.Write(ClassId.Threed, 0xBAC, 0x0);
channel.Write(ClassId.Threed, 0xBCC, 0x0);
channel.Write(ClassId.Threed, 0xBEC, 0x0);
channel.Write(ClassId.Threed, 0xA10, 0x0);
channel.Write(ClassId.Threed, 0xA30, 0x0);
channel.Write(ClassId.Threed, 0xA50, 0x0);
channel.Write(ClassId.Threed, 0xA70, 0x0);
channel.Write(ClassId.Threed, 0xA90, 0x0);
channel.Write(ClassId.Threed, 0xAB0, 0x0);
channel.Write(ClassId.Threed, 0xAD0, 0x0);
channel.Write(ClassId.Threed, 0xAF0, 0x0);
channel.Write(ClassId.Threed, 0xB10, 0x0);
channel.Write(ClassId.Threed, 0xB30, 0x0);
channel.Write(ClassId.Threed, 0xB50, 0x0);
channel.Write(ClassId.Threed, 0xB70, 0x0);
channel.Write(ClassId.Threed, 0xB90, 0x0);
channel.Write(ClassId.Threed, 0xBB0, 0x0);
channel.Write(ClassId.Threed, 0xBD0, 0x0);
channel.Write(ClassId.Threed, 0xBF0, 0x0);
channel.Write(ClassId.Threed, 0xA14, 0x0);
channel.Write(ClassId.Threed, 0xA34, 0x0);
channel.Write(ClassId.Threed, 0xA54, 0x0);
channel.Write(ClassId.Threed, 0xA74, 0x0);
channel.Write(ClassId.Threed, 0xA94, 0x0);
channel.Write(ClassId.Threed, 0xAB4, 0x0);
channel.Write(ClassId.Threed, 0xAD4, 0x0);
channel.Write(ClassId.Threed, 0xAF4, 0x0);
channel.Write(ClassId.Threed, 0xB14, 0x0);
channel.Write(ClassId.Threed, 0xB34, 0x0);
channel.Write(ClassId.Threed, 0xB54, 0x0);
channel.Write(ClassId.Threed, 0xB74, 0x0);
channel.Write(ClassId.Threed, 0xB94, 0x0);
channel.Write(ClassId.Threed, 0xBB4, 0x0);
channel.Write(ClassId.Threed, 0xBD4, 0x0);
channel.Write(ClassId.Threed, 0xBF4, 0x0);
channel.Write(ClassId.Threed, 0xA18, 0x6420);
channel.Write(ClassId.Threed, 0xA38, 0x6420);
channel.Write(ClassId.Threed, 0xA58, 0x6420);
channel.Write(ClassId.Threed, 0xA78, 0x6420);
channel.Write(ClassId.Threed, 0xA98, 0x6420);
channel.Write(ClassId.Threed, 0xAB8, 0x6420);
channel.Write(ClassId.Threed, 0xAD8, 0x6420);
channel.Write(ClassId.Threed, 0xAF8, 0x6420);
channel.Write(ClassId.Threed, 0xB18, 0x6420);
channel.Write(ClassId.Threed, 0xB38, 0x6420);
channel.Write(ClassId.Threed, 0xB58, 0x6420);
channel.Write(ClassId.Threed, 0xB78, 0x6420);
channel.Write(ClassId.Threed, 0xB98, 0x6420);
channel.Write(ClassId.Threed, 0xBB8, 0x6420);
channel.Write(ClassId.Threed, 0xBD8, 0x6420);
channel.Write(ClassId.Threed, 0xBF8, 0x6420);
channel.Write(ClassId.Threed, 0xA1C, 0x0);
channel.Write(ClassId.Threed, 0xA3C, 0x0);
channel.Write(ClassId.Threed, 0xA5C, 0x0);
channel.Write(ClassId.Threed, 0xA7C, 0x0);
channel.Write(ClassId.Threed, 0xA9C, 0x0);
channel.Write(ClassId.Threed, 0xABC, 0x0);
channel.Write(ClassId.Threed, 0xADC, 0x0);
channel.Write(ClassId.Threed, 0xAFC, 0x0);
channel.Write(ClassId.Threed, 0xB1C, 0x0);
channel.Write(ClassId.Threed, 0xB3C, 0x0);
channel.Write(ClassId.Threed, 0xB5C, 0x0);
channel.Write(ClassId.Threed, 0xB7C, 0x0);
channel.Write(ClassId.Threed, 0xB9C, 0x0);
channel.Write(ClassId.Threed, 0xBBC, 0x0);
channel.Write(ClassId.Threed, 0xBDC, 0x0);
channel.Write(ClassId.Threed, 0xBFC, 0x0);
channel.Write(ClassId.Threed, 0xC00, 0x0);
channel.Write(ClassId.Threed, 0xC10, 0x0);
channel.Write(ClassId.Threed, 0xC20, 0x0);
channel.Write(ClassId.Threed, 0xC30, 0x0);
channel.Write(ClassId.Threed, 0xC40, 0x0);
channel.Write(ClassId.Threed, 0xC50, 0x0);
channel.Write(ClassId.Threed, 0xC60, 0x0);
channel.Write(ClassId.Threed, 0xC70, 0x0);
channel.Write(ClassId.Threed, 0xC80, 0x0);
channel.Write(ClassId.Threed, 0xC90, 0x0);
channel.Write(ClassId.Threed, 0xCA0, 0x0);
channel.Write(ClassId.Threed, 0xCB0, 0x0);
channel.Write(ClassId.Threed, 0xCC0, 0x0);
channel.Write(ClassId.Threed, 0xCD0, 0x0);
channel.Write(ClassId.Threed, 0xCE0, 0x0);
channel.Write(ClassId.Threed, 0xCF0, 0x0);
channel.Write(ClassId.Threed, 0xC04, 0x0);
channel.Write(ClassId.Threed, 0xC14, 0x0);
channel.Write(ClassId.Threed, 0xC24, 0x0);
channel.Write(ClassId.Threed, 0xC34, 0x0);
channel.Write(ClassId.Threed, 0xC44, 0x0);
channel.Write(ClassId.Threed, 0xC54, 0x0);
channel.Write(ClassId.Threed, 0xC64, 0x0);
channel.Write(ClassId.Threed, 0xC74, 0x0);
channel.Write(ClassId.Threed, 0xC84, 0x0);
channel.Write(ClassId.Threed, 0xC94, 0x0);
channel.Write(ClassId.Threed, 0xCA4, 0x0);
channel.Write(ClassId.Threed, 0xCB4, 0x0);
channel.Write(ClassId.Threed, 0xCC4, 0x0);
channel.Write(ClassId.Threed, 0xCD4, 0x0);
channel.Write(ClassId.Threed, 0xCE4, 0x0);
channel.Write(ClassId.Threed, 0xCF4, 0x0);
channel.Write(ClassId.Threed, 0xC08, 0x0);
channel.Write(ClassId.Threed, 0xC18, 0x0);
channel.Write(ClassId.Threed, 0xC28, 0x0);
channel.Write(ClassId.Threed, 0xC38, 0x0);
channel.Write(ClassId.Threed, 0xC48, 0x0);
channel.Write(ClassId.Threed, 0xC58, 0x0);
channel.Write(ClassId.Threed, 0xC68, 0x0);
channel.Write(ClassId.Threed, 0xC78, 0x0);
channel.Write(ClassId.Threed, 0xC88, 0x0);
channel.Write(ClassId.Threed, 0xC98, 0x0);
channel.Write(ClassId.Threed, 0xCA8, 0x0);
channel.Write(ClassId.Threed, 0xCB8, 0x0);
channel.Write(ClassId.Threed, 0xCC8, 0x0);
channel.Write(ClassId.Threed, 0xCD8, 0x0);
channel.Write(ClassId.Threed, 0xCE8, 0x0);
channel.Write(ClassId.Threed, 0xCF8, 0x0);
channel.Write(ClassId.Threed, 0xC0C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC1C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC2C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC3C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC4C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC5C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC6C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC7C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC8C, 0x3F800000);
channel.Write(ClassId.Threed, 0xC9C, 0x3F800000);
channel.Write(ClassId.Threed, 0xCAC, 0x3F800000);
channel.Write(ClassId.Threed, 0xCBC, 0x3F800000);
channel.Write(ClassId.Threed, 0xCCC, 0x3F800000);
channel.Write(ClassId.Threed, 0xCDC, 0x3F800000);
channel.Write(ClassId.Threed, 0xCEC, 0x3F800000);
channel.Write(ClassId.Threed, 0xCFC, 0x3F800000);
channel.Write(ClassId.Threed, 0xD00, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD08, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD10, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD18, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD20, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD28, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD30, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD38, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD04, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD0C, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD14, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD1C, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD24, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD2C, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD34, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD3C, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE00, 0x0);
channel.Write(ClassId.Threed, 0xE10, 0x0);
channel.Write(ClassId.Threed, 0xE20, 0x0);
channel.Write(ClassId.Threed, 0xE30, 0x0);
channel.Write(ClassId.Threed, 0xE40, 0x0);
channel.Write(ClassId.Threed, 0xE50, 0x0);
channel.Write(ClassId.Threed, 0xE60, 0x0);
channel.Write(ClassId.Threed, 0xE70, 0x0);
channel.Write(ClassId.Threed, 0xE80, 0x0);
channel.Write(ClassId.Threed, 0xE90, 0x0);
channel.Write(ClassId.Threed, 0xEA0, 0x0);
channel.Write(ClassId.Threed, 0xEB0, 0x0);
channel.Write(ClassId.Threed, 0xEC0, 0x0);
channel.Write(ClassId.Threed, 0xED0, 0x0);
channel.Write(ClassId.Threed, 0xEE0, 0x0);
channel.Write(ClassId.Threed, 0xEF0, 0x0);
channel.Write(ClassId.Threed, 0xE04, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE14, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE24, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE34, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE44, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE54, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE64, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE74, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE84, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE94, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEA4, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEB4, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEC4, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xED4, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEE4, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEF4, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE08, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE18, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE28, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE38, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE48, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE58, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE68, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE78, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE88, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xE98, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEA8, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEB8, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEC8, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xED8, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEE8, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xEF8, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD40, 0x0);
channel.Write(ClassId.Threed, 0xD48, 0x0);
channel.Write(ClassId.Threed, 0xD50, 0x0);
channel.Write(ClassId.Threed, 0xD58, 0x0);
channel.Write(ClassId.Threed, 0xD44, 0x0);
channel.Write(ClassId.Threed, 0xD4C, 0x0);
channel.Write(ClassId.Threed, 0xD54, 0x0);
channel.Write(ClassId.Threed, 0xD5C, 0x0);
channel.Write(ClassId.Threed, 0x1E00, 0x1);
channel.Write(ClassId.Threed, 0x1E20, 0x1);
channel.Write(ClassId.Threed, 0x1E40, 0x1);
channel.Write(ClassId.Threed, 0x1E60, 0x1);
channel.Write(ClassId.Threed, 0x1E80, 0x1);
channel.Write(ClassId.Threed, 0x1EA0, 0x1);
channel.Write(ClassId.Threed, 0x1EC0, 0x1);
channel.Write(ClassId.Threed, 0x1EE0, 0x1);
channel.Write(ClassId.Threed, 0x1E04, 0x1);
channel.Write(ClassId.Threed, 0x1E24, 0x1);
channel.Write(ClassId.Threed, 0x1E44, 0x1);
channel.Write(ClassId.Threed, 0x1E64, 0x1);
channel.Write(ClassId.Threed, 0x1E84, 0x1);
channel.Write(ClassId.Threed, 0x1EA4, 0x1);
channel.Write(ClassId.Threed, 0x1EC4, 0x1);
channel.Write(ClassId.Threed, 0x1EE4, 0x1);
channel.Write(ClassId.Threed, 0x1E08, 0x2);
channel.Write(ClassId.Threed, 0x1E28, 0x2);
channel.Write(ClassId.Threed, 0x1E48, 0x2);
channel.Write(ClassId.Threed, 0x1E68, 0x2);
channel.Write(ClassId.Threed, 0x1E88, 0x2);
channel.Write(ClassId.Threed, 0x1EA8, 0x2);
channel.Write(ClassId.Threed, 0x1EC8, 0x2);
channel.Write(ClassId.Threed, 0x1EE8, 0x2);
channel.Write(ClassId.Threed, 0x1E0C, 0x1);
channel.Write(ClassId.Threed, 0x1E2C, 0x1);
channel.Write(ClassId.Threed, 0x1E4C, 0x1);
channel.Write(ClassId.Threed, 0x1E6C, 0x1);
channel.Write(ClassId.Threed, 0x1E8C, 0x1);
channel.Write(ClassId.Threed, 0x1EAC, 0x1);
channel.Write(ClassId.Threed, 0x1ECC, 0x1);
channel.Write(ClassId.Threed, 0x1EEC, 0x1);
channel.Write(ClassId.Threed, 0x1E10, 0x1);
channel.Write(ClassId.Threed, 0x1E30, 0x1);
channel.Write(ClassId.Threed, 0x1E50, 0x1);
channel.Write(ClassId.Threed, 0x1E70, 0x1);
channel.Write(ClassId.Threed, 0x1E90, 0x1);
channel.Write(ClassId.Threed, 0x1EB0, 0x1);
channel.Write(ClassId.Threed, 0x1ED0, 0x1);
channel.Write(ClassId.Threed, 0x1EF0, 0x1);
channel.Write(ClassId.Threed, 0x1E14, 0x2);
channel.Write(ClassId.Threed, 0x1E34, 0x2);
channel.Write(ClassId.Threed, 0x1E54, 0x2);
channel.Write(ClassId.Threed, 0x1E74, 0x2);
channel.Write(ClassId.Threed, 0x1E94, 0x2);
channel.Write(ClassId.Threed, 0x1EB4, 0x2);
channel.Write(ClassId.Threed, 0x1ED4, 0x2);
channel.Write(ClassId.Threed, 0x1EF4, 0x2);
channel.Write(ClassId.Threed, 0x1E18, 0x1);
channel.Write(ClassId.Threed, 0x1E38, 0x1);
channel.Write(ClassId.Threed, 0x1E58, 0x1);
channel.Write(ClassId.Threed, 0x1E78, 0x1);
channel.Write(ClassId.Threed, 0x1E98, 0x1);
channel.Write(ClassId.Threed, 0x1EB8, 0x1);
channel.Write(ClassId.Threed, 0x1ED8, 0x1);
channel.Write(ClassId.Threed, 0x1EF8, 0x1);
channel.Write(ClassId.Threed, 0x1480, 0x0);
channel.Write(ClassId.Threed, 0x1490, 0x0);
channel.Write(ClassId.Threed, 0x14A0, 0x0);
channel.Write(ClassId.Threed, 0x14B0, 0x0);
channel.Write(ClassId.Threed, 0x14C0, 0x0);
channel.Write(ClassId.Threed, 0x14D0, 0x0);
channel.Write(ClassId.Threed, 0x14E0, 0x0);
channel.Write(ClassId.Threed, 0x14F0, 0x0);
channel.Write(ClassId.Threed, 0x1484, 0x0);
channel.Write(ClassId.Threed, 0x1494, 0x0);
channel.Write(ClassId.Threed, 0x14A4, 0x0);
channel.Write(ClassId.Threed, 0x14B4, 0x0);
channel.Write(ClassId.Threed, 0x14C4, 0x0);
channel.Write(ClassId.Threed, 0x14D4, 0x0);
channel.Write(ClassId.Threed, 0x14E4, 0x0);
channel.Write(ClassId.Threed, 0x14F4, 0x0);
channel.Write(ClassId.Threed, 0x1488, 0x0);
channel.Write(ClassId.Threed, 0x1498, 0x0);
channel.Write(ClassId.Threed, 0x14A8, 0x0);
channel.Write(ClassId.Threed, 0x14B8, 0x0);
channel.Write(ClassId.Threed, 0x14C8, 0x0);
channel.Write(ClassId.Threed, 0x14D8, 0x0);
channel.Write(ClassId.Threed, 0x14E8, 0x0);
channel.Write(ClassId.Threed, 0x14F8, 0x0);
channel.Write(ClassId.Threed, 0x3400, 0x0);
channel.Write(ClassId.Threed, 0x3404, 0x0);
channel.Write(ClassId.Threed, 0x3408, 0x0);
channel.Write(ClassId.Threed, 0x340C, 0x0);
channel.Write(ClassId.Threed, 0x3410, 0x0);
channel.Write(ClassId.Threed, 0x3414, 0x0);
channel.Write(ClassId.Threed, 0x3418, 0x0);
channel.Write(ClassId.Threed, 0x341C, 0x0);
channel.Write(ClassId.Threed, 0x3420, 0x0);
channel.Write(ClassId.Threed, 0x3424, 0x0);
channel.Write(ClassId.Threed, 0x3428, 0x0);
channel.Write(ClassId.Threed, 0x342C, 0x0);
channel.Write(ClassId.Threed, 0x3430, 0x0);
channel.Write(ClassId.Threed, 0x3434, 0x0);
channel.Write(ClassId.Threed, 0x3438, 0x0);
channel.Write(ClassId.Threed, 0x343C, 0x0);
channel.Write(ClassId.Threed, 0x3440, 0x0);
channel.Write(ClassId.Threed, 0x3444, 0x0);
channel.Write(ClassId.Threed, 0x3448, 0x0);
channel.Write(ClassId.Threed, 0x344C, 0x0);
channel.Write(ClassId.Threed, 0x3450, 0x0);
channel.Write(ClassId.Threed, 0x3454, 0x0);
channel.Write(ClassId.Threed, 0x3458, 0x0);
channel.Write(ClassId.Threed, 0x345C, 0x0);
channel.Write(ClassId.Threed, 0x3460, 0x0);
channel.Write(ClassId.Threed, 0x3464, 0x0);
channel.Write(ClassId.Threed, 0x3468, 0x0);
channel.Write(ClassId.Threed, 0x346C, 0x0);
channel.Write(ClassId.Threed, 0x3470, 0x0);
channel.Write(ClassId.Threed, 0x3474, 0x0);
channel.Write(ClassId.Threed, 0x3478, 0x0);
channel.Write(ClassId.Threed, 0x347C, 0x0);
channel.Write(ClassId.Threed, 0x3480, 0x0);
channel.Write(ClassId.Threed, 0x3484, 0x0);
channel.Write(ClassId.Threed, 0x3488, 0x0);
channel.Write(ClassId.Threed, 0x348C, 0x0);
channel.Write(ClassId.Threed, 0x3490, 0x0);
channel.Write(ClassId.Threed, 0x3494, 0x0);
channel.Write(ClassId.Threed, 0x3498, 0x0);
channel.Write(ClassId.Threed, 0x349C, 0x0);
channel.Write(ClassId.Threed, 0x34A0, 0x0);
channel.Write(ClassId.Threed, 0x34A4, 0x0);
channel.Write(ClassId.Threed, 0x34A8, 0x0);
channel.Write(ClassId.Threed, 0x34AC, 0x0);
channel.Write(ClassId.Threed, 0x34B0, 0x0);
channel.Write(ClassId.Threed, 0x34B4, 0x0);
channel.Write(ClassId.Threed, 0x34B8, 0x0);
channel.Write(ClassId.Threed, 0x34BC, 0x0);
channel.Write(ClassId.Threed, 0x34C0, 0x0);
channel.Write(ClassId.Threed, 0x34C4, 0x0);
channel.Write(ClassId.Threed, 0x34C8, 0x0);
channel.Write(ClassId.Threed, 0x34CC, 0x0);
channel.Write(ClassId.Threed, 0x34D0, 0x0);
channel.Write(ClassId.Threed, 0x34D4, 0x0);
channel.Write(ClassId.Threed, 0x34D8, 0x0);
channel.Write(ClassId.Threed, 0x34DC, 0x0);
channel.Write(ClassId.Threed, 0x34E0, 0x0);
channel.Write(ClassId.Threed, 0x34E4, 0x0);
channel.Write(ClassId.Threed, 0x34E8, 0x0);
channel.Write(ClassId.Threed, 0x34EC, 0x0);
channel.Write(ClassId.Threed, 0x34F0, 0x0);
channel.Write(ClassId.Threed, 0x34F4, 0x0);
channel.Write(ClassId.Threed, 0x34F8, 0x0);
channel.Write(ClassId.Threed, 0x34FC, 0x0);
channel.Write(ClassId.Threed, 0x3500, 0x0);
channel.Write(ClassId.Threed, 0x3504, 0x0);
channel.Write(ClassId.Threed, 0x3508, 0x0);
channel.Write(ClassId.Threed, 0x350C, 0x0);
channel.Write(ClassId.Threed, 0x3510, 0x0);
channel.Write(ClassId.Threed, 0x3514, 0x0);
channel.Write(ClassId.Threed, 0x3518, 0x0);
channel.Write(ClassId.Threed, 0x351C, 0x0);
channel.Write(ClassId.Threed, 0x3520, 0x0);
channel.Write(ClassId.Threed, 0x3524, 0x0);
channel.Write(ClassId.Threed, 0x3528, 0x0);
channel.Write(ClassId.Threed, 0x352C, 0x0);
channel.Write(ClassId.Threed, 0x3530, 0x0);
channel.Write(ClassId.Threed, 0x3534, 0x0);
channel.Write(ClassId.Threed, 0x3538, 0x0);
channel.Write(ClassId.Threed, 0x353C, 0x0);
channel.Write(ClassId.Threed, 0x3540, 0x0);
channel.Write(ClassId.Threed, 0x3544, 0x0);
channel.Write(ClassId.Threed, 0x3548, 0x0);
channel.Write(ClassId.Threed, 0x354C, 0x0);
channel.Write(ClassId.Threed, 0x3550, 0x0);
channel.Write(ClassId.Threed, 0x3554, 0x0);
channel.Write(ClassId.Threed, 0x3558, 0x0);
channel.Write(ClassId.Threed, 0x355C, 0x0);
channel.Write(ClassId.Threed, 0x3560, 0x0);
channel.Write(ClassId.Threed, 0x3564, 0x0);
channel.Write(ClassId.Threed, 0x3568, 0x0);
channel.Write(ClassId.Threed, 0x356C, 0x0);
channel.Write(ClassId.Threed, 0x3570, 0x0);
channel.Write(ClassId.Threed, 0x3574, 0x0);
channel.Write(ClassId.Threed, 0x3578, 0x0);
channel.Write(ClassId.Threed, 0x357C, 0x0);
channel.Write(ClassId.Threed, 0x3580, 0x0);
channel.Write(ClassId.Threed, 0x3584, 0x0);
channel.Write(ClassId.Threed, 0x3588, 0x0);
channel.Write(ClassId.Threed, 0x358C, 0x0);
channel.Write(ClassId.Threed, 0x3590, 0x0);
channel.Write(ClassId.Threed, 0x3594, 0x0);
channel.Write(ClassId.Threed, 0x3598, 0x0);
channel.Write(ClassId.Threed, 0x359C, 0x0);
channel.Write(ClassId.Threed, 0x35A0, 0x0);
channel.Write(ClassId.Threed, 0x35A4, 0x0);
channel.Write(ClassId.Threed, 0x35A8, 0x0);
channel.Write(ClassId.Threed, 0x35AC, 0x0);
channel.Write(ClassId.Threed, 0x35B0, 0x0);
channel.Write(ClassId.Threed, 0x35B4, 0x0);
channel.Write(ClassId.Threed, 0x35B8, 0x0);
channel.Write(ClassId.Threed, 0x35BC, 0x0);
channel.Write(ClassId.Threed, 0x35C0, 0x0);
channel.Write(ClassId.Threed, 0x35C4, 0x0);
channel.Write(ClassId.Threed, 0x35C8, 0x0);
channel.Write(ClassId.Threed, 0x35CC, 0x0);
channel.Write(ClassId.Threed, 0x35D0, 0x0);
channel.Write(ClassId.Threed, 0x35D4, 0x0);
channel.Write(ClassId.Threed, 0x35D8, 0x0);
channel.Write(ClassId.Threed, 0x35DC, 0x0);
channel.Write(ClassId.Threed, 0x35E0, 0x0);
channel.Write(ClassId.Threed, 0x35E4, 0x0);
channel.Write(ClassId.Threed, 0x35E8, 0x0);
channel.Write(ClassId.Threed, 0x35EC, 0x0);
channel.Write(ClassId.Threed, 0x35F0, 0x0);
channel.Write(ClassId.Threed, 0x35F4, 0x0);
channel.Write(ClassId.Threed, 0x35F8, 0x0);
channel.Write(ClassId.Threed, 0x35FC, 0x0);
channel.Write(ClassId.Threed, 0x30C, 0x1);
channel.Write(ClassId.Threed, 0x1944, 0x0);
channel.Write(ClassId.Threed, 0x1514, 0x0);
channel.Write(ClassId.Threed, 0xD68, 0xFFFF);
channel.Write(ClassId.Threed, 0x121C, 0xFAC6881);
channel.Write(ClassId.Threed, 0xFAC, 0x1);
channel.Write(ClassId.Threed, 0x1538, 0x1);
channel.Write(ClassId.Threed, 0xFE0, 0x0);
channel.Write(ClassId.Threed, 0xFE4, 0x0);
channel.Write(ClassId.Threed, 0xFE8, 0x14);
channel.Write(ClassId.Threed, 0xFEC, 0x40);
channel.Write(ClassId.Threed, 0xFF0, 0x0);
channel.Write(ClassId.Threed, 0x179C, 0x0);
channel.Write(ClassId.Threed, 0x1228, 0x400);
channel.Write(ClassId.Threed, 0x122C, 0x300);
channel.Write(ClassId.Threed, 0x1230, 0x10001);
channel.Write(ClassId.Threed, 0x7F8, 0x0);
channel.Write(ClassId.Threed, 0x1208, 0x0);
channel.Write(ClassId.Threed, 0x15B4, 0x1);
channel.Write(ClassId.Threed, 0x15CC, 0x0);
channel.Write(ClassId.Threed, 0x1534, 0x0);
channel.Write(ClassId.Threed, 0x754, 0x1);
channel.Write(ClassId.Threed, 0xFB0, 0x0);
channel.Write(ClassId.Threed, 0x15D0, 0x0);
channel.Write(ClassId.Threed, 0x11E0, 0x88888888);
channel.Write(ClassId.Threed, 0x11E4, 0x88888888);
channel.Write(ClassId.Threed, 0x11E8, 0x88888888);
channel.Write(ClassId.Threed, 0x11EC, 0x88888888);
channel.Write(ClassId.Threed, 0x153C, 0x0);
channel.Write(ClassId.Threed, 0x16B4, 0x3);
channel.Write(ClassId.Threed, 0xFA4, 0x1);
channel.Write(ClassId.Threed, 0xFBC, 0xFFFF);
channel.Write(ClassId.Threed, 0xFC0, 0xFFFF);
channel.Write(ClassId.Threed, 0xFC4, 0xFFFF);
channel.Write(ClassId.Threed, 0xFC8, 0xFFFF);
channel.Write(ClassId.Threed, 0xFA8, 0xFFFF);
channel.Write(ClassId.Threed, 0xDF8, 0x0);
channel.Write(ClassId.Threed, 0xDFC, 0x0);
channel.Write(ClassId.Threed, 0x1948, 0x0);
channel.Write(ClassId.Threed, 0x1970, 0x1);
channel.Write(ClassId.Threed, 0x161C, 0x9F0);
channel.Write(ClassId.Threed, 0xDCC, 0x10);
channel.Write(ClassId.Threed, 0x15E4, 0x0);
channel.Write(ClassId.Threed, 0x1160, 0x25E00040);
channel.Write(ClassId.Threed, 0x1164, 0x25E00040);
channel.Write(ClassId.Threed, 0x1168, 0x25E00040);
channel.Write(ClassId.Threed, 0x116C, 0x25E00040);
channel.Write(ClassId.Threed, 0x1170, 0x25E00040);
channel.Write(ClassId.Threed, 0x1174, 0x25E00040);
channel.Write(ClassId.Threed, 0x1178, 0x25E00040);
channel.Write(ClassId.Threed, 0x117C, 0x25E00040);
channel.Write(ClassId.Threed, 0x1180, 0x25E00040);
channel.Write(ClassId.Threed, 0x1184, 0x25E00040);
channel.Write(ClassId.Threed, 0x1188, 0x25E00040);
channel.Write(ClassId.Threed, 0x118C, 0x25E00040);
channel.Write(ClassId.Threed, 0x1190, 0x25E00040);
channel.Write(ClassId.Threed, 0x1194, 0x25E00040);
channel.Write(ClassId.Threed, 0x1198, 0x25E00040);
channel.Write(ClassId.Threed, 0x119C, 0x25E00040);
channel.Write(ClassId.Threed, 0x11A0, 0x25E00040);
channel.Write(ClassId.Threed, 0x11A4, 0x25E00040);
channel.Write(ClassId.Threed, 0x11A8, 0x25E00040);
channel.Write(ClassId.Threed, 0x11AC, 0x25E00040);
channel.Write(ClassId.Threed, 0x11B0, 0x25E00040);
channel.Write(ClassId.Threed, 0x11B4, 0x25E00040);
channel.Write(ClassId.Threed, 0x11B8, 0x25E00040);
channel.Write(ClassId.Threed, 0x11BC, 0x25E00040);
channel.Write(ClassId.Threed, 0x11C0, 0x25E00040);
channel.Write(ClassId.Threed, 0x11C4, 0x25E00040);
channel.Write(ClassId.Threed, 0x11C8, 0x25E00040);
channel.Write(ClassId.Threed, 0x11CC, 0x25E00040);
channel.Write(ClassId.Threed, 0x11D0, 0x25E00040);
channel.Write(ClassId.Threed, 0x11D4, 0x25E00040);
channel.Write(ClassId.Threed, 0x11D8, 0x25E00040);
channel.Write(ClassId.Threed, 0x11DC, 0x25E00040);
channel.Write(ClassId.Threed, 0x1880, 0x0);
channel.Write(ClassId.Threed, 0x1884, 0x0);
channel.Write(ClassId.Threed, 0x1888, 0x0);
channel.Write(ClassId.Threed, 0x188C, 0x0);
channel.Write(ClassId.Threed, 0x1890, 0x0);
channel.Write(ClassId.Threed, 0x1894, 0x0);
channel.Write(ClassId.Threed, 0x1898, 0x0);
channel.Write(ClassId.Threed, 0x189C, 0x0);
channel.Write(ClassId.Threed, 0x18A0, 0x0);
channel.Write(ClassId.Threed, 0x18A4, 0x0);
channel.Write(ClassId.Threed, 0x18A8, 0x0);
channel.Write(ClassId.Threed, 0x18AC, 0x0);
channel.Write(ClassId.Threed, 0x18B0, 0x0);
channel.Write(ClassId.Threed, 0x18B4, 0x0);
channel.Write(ClassId.Threed, 0x18B8, 0x0);
channel.Write(ClassId.Threed, 0x18BC, 0x0);
channel.Write(ClassId.Threed, 0x18C0, 0x0);
channel.Write(ClassId.Threed, 0x18C4, 0x0);
channel.Write(ClassId.Threed, 0x18C8, 0x0);
channel.Write(ClassId.Threed, 0x18CC, 0x0);
channel.Write(ClassId.Threed, 0x18D0, 0x0);
channel.Write(ClassId.Threed, 0x18D4, 0x0);
channel.Write(ClassId.Threed, 0x18D8, 0x0);
channel.Write(ClassId.Threed, 0x18DC, 0x0);
channel.Write(ClassId.Threed, 0x18E0, 0x0);
channel.Write(ClassId.Threed, 0x18E4, 0x0);
channel.Write(ClassId.Threed, 0x18E8, 0x0);
channel.Write(ClassId.Threed, 0x18EC, 0x0);
channel.Write(ClassId.Threed, 0x18F0, 0x0);
channel.Write(ClassId.Threed, 0x18F4, 0x0);
channel.Write(ClassId.Threed, 0x18F8, 0x0);
channel.Write(ClassId.Threed, 0x18FC, 0x0);
channel.Write(ClassId.Threed, 0xF84, 0x0);
channel.Write(ClassId.Threed, 0xF88, 0x0);
channel.Write(ClassId.Threed, 0x17C8, 0x0);
channel.Write(ClassId.Threed, 0x17CC, 0x0);
channel.Write(ClassId.Threed, 0x17D0, 0xFF);
channel.Write(ClassId.Threed, 0x17D4, 0xFFFFFFFF);
channel.Write(ClassId.Threed, 0x17D8, 0x2);
channel.Write(ClassId.Threed, 0x17DC, 0x0);
channel.Write(ClassId.Threed, 0x15F4, 0x0);
channel.Write(ClassId.Threed, 0x15F8, 0x0);
channel.Write(ClassId.Threed, 0x1434, 0x0);
channel.Write(ClassId.Threed, 0x1438, 0x0);
channel.Write(ClassId.Threed, 0xD74, 0x0);
channel.Write(ClassId.Threed, 0x13A4, 0x0);
channel.Write(ClassId.Threed, 0x1318, 0x1);
channel.Write(ClassId.Threed, 0x1080, 0x0);
channel.Write(ClassId.Threed, 0x1084, 0x0);
channel.Write(ClassId.Threed, 0x1088, 0x1);
channel.Write(ClassId.Threed, 0x108C, 0x1);
channel.Write(ClassId.Threed, 0x1090, 0x0);
channel.Write(ClassId.Threed, 0x1094, 0x1);
channel.Write(ClassId.Threed, 0x1098, 0x0);
channel.Write(ClassId.Threed, 0x109C, 0x1);
channel.Write(ClassId.Threed, 0x10A0, 0x0);
channel.Write(ClassId.Threed, 0x10A4, 0x0);
channel.Write(ClassId.Threed, 0x1644, 0x0);
channel.Write(ClassId.Threed, 0x748, 0x0);
channel.Write(ClassId.Threed, 0xDE8, 0x0);
channel.Write(ClassId.Threed, 0x1648, 0x0);
channel.Write(ClassId.Threed, 0x12A4, 0x0);
channel.Write(ClassId.Threed, 0x1120, 0x0);
channel.Write(ClassId.Threed, 0x1124, 0x0);
channel.Write(ClassId.Threed, 0x1128, 0x0);
channel.Write(ClassId.Threed, 0x112C, 0x0);
channel.Write(ClassId.Threed, 0x1118, 0x0);
channel.Write(ClassId.Threed, 0x164C, 0x0);
channel.Write(ClassId.Threed, 0x1658, 0x0);
channel.Write(ClassId.Threed, 0x1910, 0x290);
channel.Write(ClassId.Threed, 0x1518, 0x0);
channel.Write(ClassId.Threed, 0x165C, 0x1);
channel.Write(ClassId.Threed, 0x1520, 0x0);
channel.Write(ClassId.Threed, 0x1604, 0x0);
channel.Write(ClassId.Threed, 0x1570, 0x0);
channel.Write(ClassId.Threed, 0x13B0, 0x3F800000);
channel.Write(ClassId.Threed, 0x13B4, 0x3F800000);
channel.Write(ClassId.Threed, 0x20C, 0x0);
channel.Write(ClassId.Threed, 0x1670, 0x30201000);
channel.Write(ClassId.Threed, 0x1674, 0x70605040);
channel.Write(ClassId.Threed, 0x1678, 0xB8A89888);
channel.Write(ClassId.Threed, 0x167C, 0xF8E8D8C8);
channel.Write(ClassId.Threed, 0x166C, 0x0);
channel.Write(ClassId.Threed, 0x1680, 0xFFFF00);
channel.Write(ClassId.Threed, 0x12D0, 0x3);
channel.Write(ClassId.Threed, 0x113C, 0x0);
channel.Write(ClassId.Threed, 0x12D4, 0x2);
channel.Write(ClassId.Threed, 0x1684, 0x0);
channel.Write(ClassId.Threed, 0x1688, 0x0);
channel.Write(ClassId.Threed, 0xDAC, 0x1B02);
channel.Write(ClassId.Threed, 0xDB0, 0x1B02);
channel.Write(ClassId.Threed, 0xDB4, 0x0);
channel.Write(ClassId.Threed, 0x168C, 0x0);
channel.Write(ClassId.Threed, 0x15BC, 0x0);
channel.Write(ClassId.Threed, 0x156C, 0x0);
channel.Write(ClassId.Threed, 0x187C, 0x0);
channel.Write(ClassId.Threed, 0x1110, 0x1);
channel.Write(ClassId.Threed, 0xDC0, 0x0);
channel.Write(ClassId.Threed, 0xDC4, 0x0);
channel.Write(ClassId.Threed, 0xDC8, 0x0);
channel.Write(ClassId.Threed, 0xF40, 0x0);
channel.Write(ClassId.Threed, 0xF44, 0x0);
channel.Write(ClassId.Threed, 0xF48, 0x0);
channel.Write(ClassId.Threed, 0xF4C, 0x0);
channel.Write(ClassId.Threed, 0xF50, 0x0);
channel.Write(ClassId.Threed, 0x1234, 0x0);
channel.Write(ClassId.Threed, 0x1690, 0x0);
channel.Write(ClassId.Threed, 0x790, 0x0);
channel.Write(ClassId.Threed, 0x794, 0x0);
channel.Write(ClassId.Threed, 0x798, 0x0);
channel.Write(ClassId.Threed, 0x79C, 0x0);
channel.Write(ClassId.Threed, 0x7A0, 0x0);
channel.Write(ClassId.Threed, 0x77C, 0x0);
channel.Write(ClassId.Threed, 0x1000, 0x10);
channel.Write(ClassId.Threed, 0x10FC, 0x0);
channel.Write(ClassId.Threed, 0x1290, 0x0);
channel.Write(ClassId.Threed, 0x218, 0x10);
channel.Write(ClassId.Threed, 0x12D8, 0x0);
channel.Write(ClassId.Threed, 0x12DC, 0x10);
channel.Write(ClassId.Threed, 0xD94, 0x1);
channel.Write(ClassId.Threed, 0x155C, 0x0);
channel.Write(ClassId.Threed, 0x1560, 0x0);
channel.Write(ClassId.Threed, 0x1564, 0xFFF);
channel.Write(ClassId.Threed, 0x1574, 0x0);
channel.Write(ClassId.Threed, 0x1578, 0x0);
channel.Write(ClassId.Threed, 0x157C, 0xFFFFF);
channel.Write(ClassId.Threed, 0x1354, 0x0);
channel.Write(ClassId.Threed, 0x1610, 0x12);
channel.Write(ClassId.Threed, 0x1608, 0x0);
channel.Write(ClassId.Threed, 0x160C, 0x0);
channel.Write(ClassId.Threed, 0x260C, 0x0);
channel.Write(ClassId.Threed, 0x7AC, 0x0);
channel.Write(ClassId.Threed, 0x162C, 0x3);
channel.Write(ClassId.Threed, 0x210, 0x0);
channel.Write(ClassId.Threed, 0x320, 0x0);
channel.Write(ClassId.Threed, 0x324, 0x3F800000);
channel.Write(ClassId.Threed, 0x328, 0x3F800000);
channel.Write(ClassId.Threed, 0x32C, 0x3F800000);
channel.Write(ClassId.Threed, 0x330, 0x3F800000);
channel.Write(ClassId.Threed, 0x334, 0x3F800000);
channel.Write(ClassId.Threed, 0x338, 0x3F800000);
channel.Write(ClassId.Threed, 0x750, 0x0);
channel.Write(ClassId.Threed, 0x760, 0x39291909);
channel.Write(ClassId.Threed, 0x764, 0x79695949);
channel.Write(ClassId.Threed, 0x768, 0xB9A99989);
channel.Write(ClassId.Threed, 0x76C, 0xF9E9D9C9);
channel.Write(ClassId.Threed, 0x770, 0x30201000);
channel.Write(ClassId.Threed, 0x774, 0x70605040);
channel.Write(ClassId.Threed, 0x778, 0x9080);
channel.Write(ClassId.Threed, 0x780, 0x39291909);
channel.Write(ClassId.Threed, 0x784, 0x79695949);
channel.Write(ClassId.Threed, 0x788, 0xB9A99989);
channel.Write(ClassId.Threed, 0x78C, 0xF9E9D9C9);
channel.Write(ClassId.Threed, 0x7D0, 0x30201000);
channel.Write(ClassId.Threed, 0x7D4, 0x70605040);
channel.Write(ClassId.Threed, 0x7D8, 0x9080);
channel.Write(ClassId.Threed, 0x1004, 0x0);
channel.Write(ClassId.Threed, 0x1240, 0x0);
channel.Write(ClassId.Threed, 0x1244, 0x0);
channel.Write(ClassId.Threed, 0x1248, 0x0);
channel.Write(ClassId.Threed, 0x124C, 0x0);
channel.Write(ClassId.Threed, 0x1250, 0x0);
channel.Write(ClassId.Threed, 0x1254, 0x0);
channel.Write(ClassId.Threed, 0x1258, 0x0);
channel.Write(ClassId.Threed, 0x125C, 0x0);
channel.Write(ClassId.Threed, 0x37C, 0x1);
channel.Write(ClassId.Threed, 0x740, 0x0);
channel.Write(ClassId.Threed, 0x1148, 0x0);
channel.Write(ClassId.Threed, 0xFB4, 0x0);
channel.Write(ClassId.Threed, 0xFB8, 0x2);
channel.Write(ClassId.Threed, 0x1130, 0x2);
channel.Write(ClassId.Threed, 0xFD4, 0x0);
channel.Write(ClassId.Threed, 0xFD8, 0x0);
channel.Write(ClassId.Threed, 0x1030, 0x20181008);
channel.Write(ClassId.Threed, 0x1034, 0x40383028);
channel.Write(ClassId.Threed, 0x1038, 0x60585048);
channel.Write(ClassId.Threed, 0x103C, 0x80787068);
channel.Write(ClassId.Threed, 0x744, 0x0);
channel.Write(ClassId.Threed, 0x2600, 0x0);
channel.Write(ClassId.Threed, 0x1918, 0x0);
channel.Write(ClassId.Threed, 0x191C, 0x900);
channel.Write(ClassId.Threed, 0x1920, 0x405);
channel.Write(ClassId.Threed, 0x1308, 0x1);
channel.Write(ClassId.Threed, 0x1924, 0x0);
channel.Write(ClassId.Threed, 0x13AC, 0x0);
channel.Write(ClassId.Threed, 0x192C, 0x1);
channel.Write(ClassId.Threed, 0x193C, 0x2C1C);
channel.Write(ClassId.Threed, 0xD7C, 0x0);
channel.Write(ClassId.Threed, 0xF8C, 0x0);
channel.Write(ClassId.Threed, 0x2C0, 0x1);
channel.Write(ClassId.Threed, 0x1510, 0x0);
channel.Write(ClassId.Threed, 0x1940, 0x0);
channel.Write(ClassId.Threed, 0xFF4, 0x0);
channel.Write(ClassId.Threed, 0xFF8, 0x0);
channel.Write(ClassId.Threed, 0x194C, 0x0);
channel.Write(ClassId.Threed, 0x1950, 0x0);
channel.Write(ClassId.Threed, 0x1968, 0x0);
channel.Write(ClassId.Threed, 0x1590, 0x3F);
channel.Write(ClassId.Threed, 0x7E8, 0x0);
channel.Write(ClassId.Threed, 0x7EC, 0x0);
channel.Write(ClassId.Threed, 0x7F0, 0x0);
channel.Write(ClassId.Threed, 0x7F4, 0x0);
channel.Write(ClassId.Threed, 0x196C, 0x11);
channel.Write(ClassId.Threed, 0x2E4, 0xB001);
channel.Write(ClassId.Threed, 0x36C, 0x0);
channel.Write(ClassId.Threed, 0x370, 0x0);
channel.Write(ClassId.Threed, 0x197C, 0x0);
channel.Write(ClassId.Threed, 0xFCC, 0x0);
channel.Write(ClassId.Threed, 0xFD0, 0x0);
channel.Write(ClassId.Threed, 0x2D8, 0x40);
channel.Write(ClassId.Threed, 0x1980, 0x80);
channel.Write(ClassId.Threed, 0x1504, 0x80);
channel.Write(ClassId.Threed, 0x1984, 0x0);
channel.Write(ClassId.Threed, 0xF60, 0x0);
channel.Write(ClassId.Threed, 0xF64, 0x400040);
channel.Write(ClassId.Threed, 0xF68, 0x2212);
channel.Write(ClassId.Threed, 0xF6C, 0x8080203);
channel.Write(ClassId.Threed, 0x1108, 0x8);
channel.Write(ClassId.Threed, 0xF70, 0x80001);
channel.Write(ClassId.Threed, 0xFFC, 0x0);
channel.Write(ClassId.Threed, 0x1134, 0x0);
channel.Write(ClassId.Threed, 0xF1C, 0x0);
channel.Write(ClassId.Threed, 0x11F8, 0x0);
channel.Write(ClassId.Threed, 0x1138, 0x1);
channel.Write(ClassId.Threed, 0x300, 0x1);
channel.Write(ClassId.Threed, 0x13A8, 0x0);
channel.Write(ClassId.Threed, 0x1224, 0x0);
channel.Write(ClassId.Threed, 0x12EC, 0x0);
channel.Write(ClassId.Threed, 0x1310, 0x0);
channel.Write(ClassId.Threed, 0x1314, 0x1);
channel.Write(ClassId.Threed, 0x1380, 0x0);
channel.Write(ClassId.Threed, 0x1384, 0x1);
channel.Write(ClassId.Threed, 0x1388, 0x1);
channel.Write(ClassId.Threed, 0x138C, 0x1);
channel.Write(ClassId.Threed, 0x1390, 0x1);
channel.Write(ClassId.Threed, 0x1394, 0x0);
channel.Write(ClassId.Threed, 0x139C, 0x0);
channel.Write(ClassId.Threed, 0x1398, 0x0);
channel.Write(ClassId.Threed, 0x1594, 0x0);
channel.Write(ClassId.Threed, 0x1598, 0x1);
channel.Write(ClassId.Threed, 0x159C, 0x1);
channel.Write(ClassId.Threed, 0x15A0, 0x1);
channel.Write(ClassId.Threed, 0x15A4, 0x1);
channel.Write(ClassId.Threed, 0xF54, 0x0);
channel.Write(ClassId.Threed, 0xF58, 0x0);
channel.Write(ClassId.Threed, 0xF5C, 0x0);
channel.Write(ClassId.Threed, 0x19BC, 0x0);
channel.Write(ClassId.Threed, 0xF9C, 0x0);
channel.Write(ClassId.Threed, 0xFA0, 0x0);
channel.Write(ClassId.Threed, 0x12CC, 0x0);
channel.Write(ClassId.Threed, 0x12E8, 0x0);
channel.Write(ClassId.Threed, 0x130C, 0x1);
channel.Write(ClassId.Threed, 0x1360, 0x0);
channel.Write(ClassId.Threed, 0x1364, 0x0);
channel.Write(ClassId.Threed, 0x1368, 0x0);
channel.Write(ClassId.Threed, 0x136C, 0x0);
channel.Write(ClassId.Threed, 0x1370, 0x0);
channel.Write(ClassId.Threed, 0x1374, 0x0);
channel.Write(ClassId.Threed, 0x1378, 0x0);
channel.Write(ClassId.Threed, 0x137C, 0x0);
channel.Write(ClassId.Threed, 0x133C, 0x1);
channel.Write(ClassId.Threed, 0x1340, 0x1);
channel.Write(ClassId.Threed, 0x1344, 0x2);
channel.Write(ClassId.Threed, 0x1348, 0x1);
channel.Write(ClassId.Threed, 0x134C, 0x1);
channel.Write(ClassId.Threed, 0x1350, 0x2);
channel.Write(ClassId.Threed, 0x1358, 0x1);
channel.Write(ClassId.Threed, 0x12E4, 0x0);
channel.Write(ClassId.Threed, 0x131C, 0x0);
channel.Write(ClassId.Threed, 0x1320, 0x0);
channel.Write(ClassId.Threed, 0x1324, 0x0);
channel.Write(ClassId.Threed, 0x1328, 0x0);
channel.Write(ClassId.Threed, 0x19C0, 0x0);
channel.Write(ClassId.Threed, 0x1140, 0x0);
channel.Write(ClassId.Threed, 0xDD0, 0x0);
channel.Write(ClassId.Threed, 0xDD4, 0x1);
channel.Write(ClassId.Threed, 0x2F4, 0x0);
channel.Write(ClassId.Threed, 0x19C4, 0x0);
channel.Write(ClassId.Threed, 0x19C8, 0x1500);
channel.Write(ClassId.Threed, 0x135C, 0x0);
channel.Write(ClassId.Threed, 0xF90, 0x0);
channel.Write(ClassId.Threed, 0x19E0, 0x1);
channel.Write(ClassId.Threed, 0x19E4, 0x1);
channel.Write(ClassId.Threed, 0x19E8, 0x1);
channel.Write(ClassId.Threed, 0x19EC, 0x1);
channel.Write(ClassId.Threed, 0x19F0, 0x1);
channel.Write(ClassId.Threed, 0x19F4, 0x1);
channel.Write(ClassId.Threed, 0x19F8, 0x1);
channel.Write(ClassId.Threed, 0x19FC, 0x1);
channel.Write(ClassId.Threed, 0x19CC, 0x1);
channel.Write(ClassId.Threed, 0x111C, 0x1);
channel.Write(ClassId.Threed, 0x15B8, 0x0);
channel.Write(ClassId.Threed, 0x1A00, 0x1111);
channel.Write(ClassId.Threed, 0x1A04, 0x0);
channel.Write(ClassId.Threed, 0x1A08, 0x0);
channel.Write(ClassId.Threed, 0x1A0C, 0x0);
channel.Write(ClassId.Threed, 0x1A10, 0x0);
channel.Write(ClassId.Threed, 0x1A14, 0x0);
channel.Write(ClassId.Threed, 0x1A18, 0x0);
channel.Write(ClassId.Threed, 0x1A1C, 0x0);
channel.Write(ClassId.Threed, 0xD6C, 0xFFFF0000);
channel.Write(ClassId.Threed, 0xD70, 0xFFFF0000);
channel.Write(ClassId.Threed, 0x10F8, 0x1010);
channel.Write(ClassId.Threed, 0xD80, 0x0);
channel.Write(ClassId.Threed, 0xD84, 0x0);
channel.Write(ClassId.Threed, 0xD88, 0x0);
channel.Write(ClassId.Threed, 0xD8C, 0x0);
channel.Write(ClassId.Threed, 0xD90, 0x0);
channel.Write(ClassId.Threed, 0xDA0, 0x0);
channel.Write(ClassId.Threed, 0x7A4, 0x0);
channel.Write(ClassId.Threed, 0x7A8, 0x0);
channel.Write(ClassId.Threed, 0x1508, 0x80000000);
channel.Write(ClassId.Threed, 0x150C, 0x40000000);
channel.Write(ClassId.Threed, 0x1668, 0x0);
channel.Write(ClassId.Threed, 0x318, 0x8);
channel.Write(ClassId.Threed, 0x31C, 0x8);
channel.Write(ClassId.Threed, 0xD9C, 0x1);
channel.Write(ClassId.Threed, 0xF14, 0x0);
channel.Write(ClassId.Threed, 0x374, 0x0);
channel.Write(ClassId.Threed, 0x378, 0xC);
channel.Write(ClassId.Threed, 0x7DC, 0x0);
channel.Write(ClassId.Threed, 0x74C, 0x55);
channel.Write(ClassId.Threed, 0x1420, 0x3);
channel.Write(ClassId.Threed, 0x1008, 0x8);
channel.Write(ClassId.Threed, 0x100C, 0x40);
channel.Write(ClassId.Threed, 0x1010, 0x12C);
channel.Write(ClassId.Threed, 0xD60, 0x40);
channel.Write(ClassId.Threed, 0x1018, 0x20);
channel.Write(ClassId.Threed, 0x101C, 0x1);
channel.Write(ClassId.Threed, 0x1020, 0x20);
channel.Write(ClassId.Threed, 0x1024, 0x1);
channel.Write(ClassId.Threed, 0x1444, 0x0);
channel.Write(ClassId.Threed, 0x1448, 0x0);
channel.Write(ClassId.Threed, 0x144C, 0x0);
channel.Write(ClassId.Threed, 0x360, 0x20164010);
channel.Write(ClassId.Threed, 0x364, 0x20);
channel.Write(ClassId.Threed, 0x368, 0x0);
channel.Write(ClassId.Threed, 0xDA8, 0x30);
channel.Write(ClassId.Threed, 0xDE4, 0x0);
channel.Write(ClassId.Threed, 0x204, 0x6);
channel.Write(ClassId.Threed, 0x2D0, 0x3FFFFF);
channel.Write(ClassId.Threed, 0x1220, 0x5);
channel.Write(ClassId.Threed, 0xFDC, 0x0);
channel.Write(ClassId.Threed, 0xF98, 0x400008);
channel.Write(ClassId.Threed, 0x1284, 0x8000080);
channel.Write(ClassId.Threed, 0x1450, 0x400008);
channel.Write(ClassId.Threed, 0x1454, 0x8000080);
channel.Write(ClassId.Threed, 0x214, 0x0);
channel.Write(ClassId.Twod, 0x200, 0xCF);
channel.Write(ClassId.Twod, 0x204, 0x1);
channel.Write(ClassId.Twod, 0x208, 0x20);
channel.Write(ClassId.Twod, 0x20C, 0x1);
channel.Write(ClassId.Twod, 0x210, 0x0);
channel.Write(ClassId.Twod, 0x214, 0x80);
channel.Write(ClassId.Twod, 0x218, 0x100);
channel.Write(ClassId.Twod, 0x21C, 0x100);
channel.Write(ClassId.Twod, 0x220, 0x0);
channel.Write(ClassId.Twod, 0x224, 0x0);
channel.Write(ClassId.Twod, 0x230, 0xCF);
channel.Write(ClassId.Twod, 0x234, 0x1);
channel.Write(ClassId.Twod, 0x238, 0x20);
channel.Write(ClassId.Twod, 0x23C, 0x1);
channel.Write(ClassId.Twod, 0x244, 0x80);
channel.Write(ClassId.Twod, 0x248, 0x100);
channel.Write(ClassId.Twod, 0x24C, 0x100);
}
}
}