diff --git a/Arcade_MiST/Atari-Hardware/Centipede/Snapshot/Centipede.rbf b/Arcade_MiST/Atari-Hardware/Centipede/Snapshot/Centipede.rbf deleted file mode 100644 index 647e4fea..00000000 Binary files a/Arcade_MiST/Atari-Hardware/Centipede/Snapshot/Centipede.rbf and /dev/null differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.qpf b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.qpf new file mode 100644 index 00000000..c25c3d2f --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.qpf @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 2017 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Intel Program License +# Subscription Agreement, the Intel Quartus Prime License Agreement, +# the Intel MegaCore Function License Agreement, or other +# applicable license agreement, including, without limitation, +# that your use is for the sole purpose of programming logic +# devices manufactured by Intel and sold by Intel or its +# authorized distributors. Please refer to the applicable +# agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus Prime +# Version 17.0.1 Build 598 06/07/2017 SJ Standard Edition +# Date created = 04:04:47 October 16, 2017 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "17.0" +DATE = "04:04:47 October 16, 2017" + +# Revisions + +PROJECT_REVISION = "Centipede" diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.qsf b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.qsf new file mode 100644 index 00000000..85e437f3 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.qsf @@ -0,0 +1,160 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Full Version +# Date created = 18:42:48 November 23, 2018 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# Centipede_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + + +# Project-Wide Assignments +# ======================== +set_global_assignment -name ORIGINAL_QUARTUS_VERSION 16.1.2 +set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1" +set_global_assignment -name PROJECT_CREATION_TIME_DATE "01:53:30 APRIL 20, 2017" +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" +set_global_assignment -name SYSTEMVERILOG_FILE rtl/cent_top_mist.sv +set_global_assignment -name VERILOG_FILE rtl/centipede.v +set_global_assignment -name VERILOG_FILE rtl/pokey_atosm.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/video_mixer.sv +set_global_assignment -name VERILOG_FILE rtl/scandoubler.v +set_global_assignment -name VERILOG_FILE rtl/pll.v +set_global_assignment -name VERILOG_FILE rtl/osd.v +set_global_assignment -name VERILOG_FILE rtl/keyboard.v +set_global_assignment -name VERILOG_FILE rtl/mist_io.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/hq2x.sv +set_global_assignment -name VERILOG_FILE rtl/sigma_delta_dac.v +set_global_assignment -name VHDL_FILE rtl/dpram.vhd +set_global_assignment -name VHDL_FILE rtl/sprom.vhd +set_global_assignment -name VHDL_FILE rtl/spram.vhd +set_global_assignment -name VERILOG_FILE rtl/addsub.v +set_global_assignment -name VERILOG_FILE rtl/p6502.v +set_global_assignment -name VERILOG_FILE rtl/bc6502.v +set_global_assignment -name VERILOG_FILE rtl/pf_ram.v + +# Pin & Location Assignments +# ========================== +set_location_assignment PIN_7 -to LED +set_location_assignment PIN_54 -to CLOCK_27 +set_location_assignment PIN_144 -to VGA_R[5] +set_location_assignment PIN_143 -to VGA_R[4] +set_location_assignment PIN_142 -to VGA_R[3] +set_location_assignment PIN_141 -to VGA_R[2] +set_location_assignment PIN_137 -to VGA_R[1] +set_location_assignment PIN_135 -to VGA_R[0] +set_location_assignment PIN_133 -to VGA_B[5] +set_location_assignment PIN_132 -to VGA_B[4] +set_location_assignment PIN_125 -to VGA_B[3] +set_location_assignment PIN_121 -to VGA_B[2] +set_location_assignment PIN_120 -to VGA_B[1] +set_location_assignment PIN_115 -to VGA_B[0] +set_location_assignment PIN_114 -to VGA_G[5] +set_location_assignment PIN_113 -to VGA_G[4] +set_location_assignment PIN_112 -to VGA_G[3] +set_location_assignment PIN_111 -to VGA_G[2] +set_location_assignment PIN_110 -to VGA_G[1] +set_location_assignment PIN_106 -to VGA_G[0] +set_location_assignment PIN_136 -to VGA_VS +set_location_assignment PIN_119 -to VGA_HS +set_location_assignment PIN_65 -to AUDIO_L +set_location_assignment PIN_80 -to AUDIO_R +set_location_assignment PIN_105 -to SPI_DO +set_location_assignment PIN_88 -to SPI_DI +set_location_assignment PIN_126 -to SPI_SCK +set_location_assignment PIN_127 -to SPI_SS2 +set_location_assignment PIN_91 -to SPI_SS3 +set_location_assignment PIN_13 -to CONF_DATA0 +set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component" + +# Classic Timing Assignments +# ========================== +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 + +# Analysis & Synthesis Assignments +# ================================ +set_global_assignment -name FAMILY "Cyclone III" +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name TOP_LEVEL_ENTITY cent_top_mist + +# Fitter Assignments +# ================== +set_global_assignment -name DEVICE EP3C25E144C8 +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF +set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON +set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO" + +# Assembler Assignments +# ===================== +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name USE_CONFIGURATION_DEVICE OFF + +# Power Estimation Assignments +# ============================ +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" + +# Advanced I/O Timing Assignments +# =============================== +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall + +# --------------------------- +# start ENTITY(cent_top_mist) + + # start DESIGN_PARTITION(Top) + # --------------------------- + + # Incremental Compilation Assignments + # =================================== +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top + + # end DESIGN_PARTITION(Top) + # ------------------------- + +# end ENTITY(cent_top_mist) +# ------------------------- +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.srf b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.srf new file mode 100644 index 00000000..eb410afd --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Centipede.srf @@ -0,0 +1,4 @@ +{ "" "" "" "Verilog HDL assignment warning at bc6502.v(600): truncated value with size 32 to match size of target (16)" { } { } 0 10230 "" 0 0 "Quartus II" 0 -1 0 ""} +{ "" "" "" "Verilog HDL or VHDL warning at bc6502.v(338): object \"styy\" assigned a value but never read" { } { } 0 10036 "" 0 0 "Quartus II" 0 -1 0 ""} +{ "" "" "" "Verilog HDL assignment warning at bc6502.v(678): truncated value with size 32 to match size of target (16)" { } { } 0 10230 "" 0 0 "Quartus II" 0 -1 0 ""} +{ "" "" "" "Verilog HDL Always Construct warning at bc6502.v(1113): inferring latch(es) for variable \"sc\", which holds its previous value in one or more paths through the always construct" { } { } 0 10240 "" 0 0 "Quartus II" 0 -1 0 ""} diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/README.txt b/Arcade_MiST/Atari-Hardware/Centipede_MiST/README.txt new file mode 100644 index 00000000..63d58714 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/README.txt @@ -0,0 +1,27 @@ +--------------------------------------------------------------------------------- +-- +-- Arcade: Centipede +-- Port to MiST by Gehstock +-- 23 November 2018 +-- +--------------------------------------------------------------------------------- +-- +-- Brad Parker 10/2015 +-- +--------------------------------------------------------------------------------- +-- +-- +-- Keyboard inputs : +-- +-- 1 : Start +-- SPACE : Fire +-- Arrow keys : Controls +-- ESC : Coin +-- +-- +-- +--------------------------------------------------------------------------------- + +ToDo: Fix OSD + Fix Joystick + Fix Sound \ No newline at end of file diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/Snapshot/Centipede.rbf b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Snapshot/Centipede.rbf new file mode 100644 index 00000000..14efc9b8 Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/Snapshot/Centipede.rbf differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/clean.bat b/Arcade_MiST/Atari-Hardware/Centipede_MiST/clean.bat new file mode 100644 index 00000000..b3b7c3b5 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/clean.bat @@ -0,0 +1,37 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +del /s *~ +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +rmdir /s /q hc_output +rmdir /s /q .qsys_edit +rmdir /s /q hps_isw_handoff +rmdir /s /q sys\.qsys_edit +rmdir /s /q sys\vip +cd sys +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +cd .. +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +del build_id.v +del c5_pin_model_dump.txt +del PLLJ_PLLSPE_INFO.txt +del /s *.qws +del /s *.ppf +del /s *.ddb +del /s *.csv +del /s *.cmp +del /s *.sip +del /s *.spd +del /s *.bsf +del /s *.f +del /s *.sopcinfo +del /s *.xml +del /s new_rtl_netlist +del /s old_rtl_netlist + +pause diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/addsub.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/addsub.v new file mode 100644 index 00000000..b6793262 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/addsub.v @@ -0,0 +1,55 @@ +/* =============================================================== + (C) 2002 Bird Computer + All rights reserved. + + addsub.v + Please read the Licensing Agreement (license.html file). + Use of this file is subject to the license agreement. + + You are free to use and modify this code for non-commercial + or evaluation purposes. + + If you do modify the code, please state the origin and + note that you have modified the code. + + + Adder / subtractor module with carry in, carry and overflow + outputs. Parameterized width with a default of 32 bits. + + Note: we use a trick in the adder to get carry generated + and an adder / subtractor packed into 1 LUT per bit. The + 'a' and 'b' inputs are specified with an extra unused bit + on the left (pass a zero for this bit). + Also note that the carry (borrow) input for a subtract has + to be inverted. IE. ci = 1 = no borrow in. + +=============================================================== */ +`timescale 1ns / 100ps + +module addsub(op, ci, a, b, o, co, v); + parameter DBW = 32; + input op; // 0 = add, 1 = sub + input ci; // carry in + input [DBW:0] a, b; // operands input + output [DBW-1:0] o; // result + output co; // carry out + output v; // overflow + + reg [DBW+1:0] sum; + + // Note XST does not like assignments to bit group on LHS + // for subtract + always @(op or ci or a or b) begin + case(op) + 1'd0: sum = {a,ci} + {b,1'b1}; + 1'd1: sum = {a,ci} - {b,1'b1}; + endcase + end + + assign o = sum[DBW:1]; + assign co = sum[DBW+1]; + // compute overflow + assign v = (op ^ o[DBW-1] ^ b[DBW-1]) & (~op ^ a[DBW-1] ^ b[DBW-1]); + +endmodule + diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/bc6502.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/bc6502.v new file mode 100644 index 00000000..fb34e9e7 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/bc6502.v @@ -0,0 +1,1500 @@ +/* =============================================================== + (C) 2002 Bird Computer + All rights reserved. + + bc6502.v + Version 1.0 + + You are free to use and modify this code for non-commercial + or evaluation purposes. + + If you do modify the code, please state the origin and + note that you have modified the code. + + Please read the license agreement (license.html) file. + + Generic original 6502 compatible core. + Undoc'd instructions are not supported. + +==============================================================-= */ + +`timescale 1ns / 100ps + +`define RESET_VEC 16'hFFFC +`define NMI_VEC 16'hFFFA +`define IRQ_VEC 16'hFFFE +`define BRK_VEC 16'hFFFE +`define SP_RESET 8'hFF // reset value of the stack pointer + +`define DECMD_SUPPORT 1 + +// Don't confuse these with the parameters! +`define DBW 8 +`define ABW 16 + +`define JSR 8'h20 +`define JMP 8'h4C +`define JMP_I 8'h6C +`define RTS 8'h60 +`define RTI 8'h40 + +`define PHP 8'h08 +`define PHA 8'h48 +`define PLP 8'h28 +`define PLA 8'h68 + +`define BRK 8'h00 +`define INX 8'hE8 +`define DEX 8'hCA +`define INY 8'hC8 +`define DEY 8'h88 + +`define TYA 8'h98 +`define TAY 8'ha8 +`define TXA 8'h8A +`define TAX 8'hAA +`define TXS 8'h9A +`define TSX 8'hBA + +`define ASL_A 8'h0A +`define ASL_Z 8'h06 +`define ASL_ZX 8'h16 +`define ASL_ABS 8'h0E +`define ASL_AX 8'h1E +`define ROL_A 8'h2A +`define ROL_Z 8'h26 +`define ROL_ZX 8'h36 +`define ROL_ABS 8'h2E +`define ROL_AX 8'h3e +`define LSR_A 8'h4A +`define LSR_Z 8'h46 +`define LSR_ZX 8'h56 +`define LSR_ABS 8'h4E +`define LSR_AX 8'h5E +`define ROR_A 8'h6A +`define ROR_Z 8'h66 +`define ROR_ZX 8'h76 +`define ROR_ABS 8'h6E +`define ROR_AX 8'h7E + +`define DEC_Z 8'hC6 +`define DEC_ZX 8'hD6 +`define DEC_A 8'hCE +`define DEC_AX 8'hDE +`define INC_Z 8'hE6 +`define INC_ZX 8'hF6 +`define INC_A 8'hEE +`define INC_AX 8'hFE + +`define CLD 8'hD8 +`define SED 8'hF8 +`define CLC 8'h18 +`define SEC 8'h38 +`define CLI 8'h58 +`define SEI 8'h78 +`define CLV 8'hB8 + +`define NOP 8'hEA + +// Group0 opcodes +`define GROUP0 2'b00 +`define BIT 3'b001 +`define STY 3'b100 +`define LDY 3'b101 +`define CPY 3'b110 +`define CPX 3'b111 + +// Group1 opcodes +`define GROUP1 2'b01 +`define ORA 3'b000 +`define AND 3'b001 +`define EOR 3'b010 +`define ADC 3'b011 +`define STA 3'b100 +`define LDA 3'b101 +`define CMP 3'b110 +`define SBC 3'b111 + +// Group2 opcodes +`define GROUP2 2'b10 +`define ASL 3'b000 +`define ROL 3'b001 +`define LSR 3'b010 +`define ROR 3'b011 +`define STX 3'b100 +`define LDX 3'b101 +`define DEC 3'b110 +`define INC 3'b111 + +`define BPL 3'b000 +`define BMI 3'b001 +`define BVC 3'b010 +`define BVS 3'b011 +`define BCC 3'b100 +`define BCS 3'b101 +`define BNE 3'b110 +`define BEQ 3'b111 + +`define LDA_I 8'hA9 +`define LDA_Z 8'hA5 +`define LDA_ZX 8'hB5 +`define LDA_IX 8'hA1 +`define LDA_IY 8'hB1 +`define LDA_A 8'hAD +`define LDA_AX 8'hBD +`define LDA_AY 8'hB9 + +`define LDY_I 8'hA0 +`define LDY_Z 8'hA4 +`define LDY_ZX 8'hB4 +`define LDY_A 8'hAC +`define LDY_AX 8'hBC + +`define CPY_I 8'hC0 + +`define LDX_I 8'hA2 +`define LDX_Z 8'hA6 +`define LDX_ZY 8'hB6 +`define LDX_A 8'hAE +`define LDX_AY 8'hBE + +`define CPX_I 8'hE0 + +`define STA_Z 8'h85 +`define STA_ZX 8'h95 +`define STA_IX 8'h81 +`define STA_IY 8'h91 +`define STA_A 8'h8D +`define STA_AX 8'h9D +`define STA_AY 8'h99 + +`define STY_Z 8'h84 +`define STY_ZX 8'h94 +`define STY_A 8'h8C + +`define STX_Z 8'h86 +`define STX_ZY 8'h96 +`define STX_A 8'h8E + + +module bc6502(reset, clk, nmi, irq, rdy, so, di, dout, rw, ma, + rw_nxt, ma_nxt, sync, state, flags); + parameter ABW = `ABW; + parameter DBW = `DBW; + + input reset; + input clk; + input nmi; // active high + input irq; // active high + input rdy; + input so; // set overflow + input [DBW-1:0] di; // data input bus + output [DBW-1:0] dout; // data output bus + reg [DBW-1:0] dout; + output rw; + reg rw; + output [ABW-1:0] ma; + reg [ABW-1:0] ma; + // The following two signals can be useful for interfacing + // to synchronous memory by providing values just before the + // clock edge rather than after. + output rw_nxt; + output [ABW-1:0] ma_nxt; +// tri [ABW-1:0] ma_nxt; + output sync; + // The following two signals are provided mainly for + // debugging. + output [31:0] state; // cpu state + output [4:0] flags; + + //----------------------------------- + reg [7:0] cres; // critical reset sequencer + wire creset = cres[7]; + reg [DBW-1:0] ir; + reg [DBW-1:0] dil; // data input latch + + // Processor Programming Model registers + reg [DBW-1:0] a_reg; // A accumulator + reg [DBW-1:0] x_reg; // X index register + reg [DBW-1:0] y_reg; // Y index register + reg [DBW-1:0] sp_reg; // SP stack pointer + reg [ABW-1:0] pc_reg; // PC program counter + reg nf,vf,bf,df,im,zf,cf; // SR status register +// wire [7:0] sr_reg = {nf,vf,1'b1,bf,df,im,zf,cf}; + wire [7:0] sr_reg = {nf,vf,1'b0,bf,df,im,zf,cf}; + +// tri [DBW-1:0] res; // internal result bus + wire [DBW-1:0] res; // internal result bus + reg [DBW-1:0] tmp; // temp reg needed for some operations + reg [ABW-1:0] pc_nxt; + reg [DBW-1:0] dout_nxt; + reg rw_nxt; + + reg prev_nmi; // track previous nmi state for edge detection + wire nmi_edge = nmi & ~prev_nmi; + wire any_int = nmi_edge | (irq & ~im); + + // cpu states + wire s_reset; + wire s_reset1; + wire s_reset2; + wire s_reset3; + wire s_nmi1, s_nmi2, s_nmi3, s_nmi4, s_nmi5; + wire s_ld_pch; + wire s_exec; + wire s_branch; + wire s_dataFetch; + wire s_update; + wire s_afterWrite; + wire s_ix1, s_ix2; + wire s_iy1, s_iy2; + wire s_abs1; + wire s_jmpi1; + wire s_jsr1, s_jsr2; + wire s_pul; + wire s_rts1, s_rts2, s_rts3; + wire s_rti1, s_rti2, s_rti3; + wire s_sync; + + assign state = { + s_reset, s_reset1, s_reset2, s_reset3, + s_nmi1, s_nmi2, s_nmi3, s_nmi4, s_nmi5, + s_ld_pch, + s_exec, + s_branch, + s_dataFetch, + s_update, + s_afterWrite, + s_ix1, s_ix2, + s_iy1, s_iy2, + s_abs1, + s_jmpi1, + s_jsr1, s_jsr2, + s_pul, + s_rts1, s_rts2, s_rts3, + s_rti1, s_rti2, s_rti3, + s_sync, 1'b0}; + + assign sync = s_sync; + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // Instruction Decoding Section + wire [2:0] cond = ir[7:5]; + wire branch = ir[4:0]==5'b10000; + reg taken; + assign flags = {nf,zf,cf,vf,taken}; + + wire jmp = (ir == `JMP); + wire jmpi = (ir == `JMP_I); + + wire php = ir==`PHP; + wire pha = ir==`PHA; + wire psh = php|pha; + wire plp = ir==`PLP; + wire pla = ir==`PLA; + wire pul = plp|pla; + + wire jsr = ir==`JSR; + wire rts = ir==`RTS; + wire rti = ir==`RTI; + wire brk = ir==`BRK; + + wire nop = ir==`NOP; + wire inx = ir==`INX; + wire iny = ir==`INY; + wire dex = ir==`DEX; + wire dey = ir==`DEY; + + wire clc = ir==`CLC; + wire cld = ir==`CLD; + wire clv = ir==`CLV; + wire cli = ir==`CLI; + wire sec = ir==`SEC; + wire sed = ir==`SED; + wire sei = ir==`SEI; + + wire tay = ir==`TAY; + wire tya = ir==`TYA; + wire tax = ir==`TAX; + wire txa = ir==`TXA; + wire tsx = ir==`TSX; + wire txs = ir==`TXS; + + wire ror_a = ir==`ROR_A; + wire lsr_a = ir==`LSR_A; + wire rol_a = ir==`ROL_A; + wire asl_a = ir==`ASL_A; + + wire ldx = ir[7:5]==`LDX; + wire stxx= ir[7:5]==`STX; + wire ror = ir[7:5]==`ROR; + wire rol = ir[7:5]==`ROL; + wire lsr = ir[7:5]==`LSR; + wire asl = ir[7:5]==`ASL; + wire inc = ir[7:5]==`INC; + wire dec = ir[7:5]==`DEC; + + wire ldy = ir[7:5]==`LDY; + wire styy = ir[7:5]==`STY; + wire cmp = ir[7:5]==`CMP; + + wire ldy_i = ir==`LDY_I; + wire cpy_i = ir==`CPY_I; + wire ldx_i = ir==`LDX_I; + wire cpx_i = ir==`CPX_I; + + // miscellaneous operations + wire mop = nop | inx | dex | iny | dey | + txa | tax | tya | tay | txs | tsx | + cld | sed | sei | cli | sec | clc | clv | + asl_a | lsr_a | ror_a | rol_a; + + // address modes zp:zp,x:zp,y:(zp,x):(zp),y:#:abs:abs,x:abs,y + wire ix = (ir[4:2]==3'b000&&ir[0]==1'b1); + wire zp = (ir[4:2]==3'b001); + wire imm = (ir[4:2]==3'b010&&ir[0]==1'b1) || (ir[7]==1'b1 && ir[4:0]==5'b00000) || ldx_i; + wire abs = (ir[4:2]==3'b011); + wire iy = (ir[4:2]==3'b100&&ir[0]==1'b1); + wire zpy = (ir==`STX_ZY || ir==`LDX_ZY); + wire zpx = (ir[4:2]==3'b101) && !zpy; + wire absy = (ir[4:2]==3'b110 && ir[0]==1'b1) || ir==`LDX_AY; + wire absx = (ir[4:2]==3'b111) && !absy; + wire zpxy = zp|zpx|zpy; + wire absxy = abs|absx|absy; + + // sta/stx/sty + wire sta = ir==`STA_Z||ir==`STA_ZX||ir==`STA_IX + ||ir==`STA_IY||ir==`STA_A||ir==`STA_AX + ||ir==`STA_AY; + wire sty = ir==`STY_Z||ir==`STY_ZX||ir==`STY_A; + wire stx = ir==`STX_Z||ir==`STX_ZY||ir==`STX_A; + wire staxy = sta | stx | sty; + + + wire grp0 = ir[1:0]==2'b00; + wire grp1 = ir[1:0]==2'b01; + wire grp2 = ir[1:0]==2'b10; + wire grp2m = (asl | rol | lsr | ror | dec | inc) & grp2; // memory ops + wire grp2x = (ldx | stxx) & grp2; // X reg. ops + // When to update the status flags + wire grp0_us = (ir[3:0]==4'h4 || ir[3:0]==4'hC || (ldy_i | cpy_i | cpx_i)); + wire grp1_us = grp1; + wire grp2_us = grp2 && ir[3:0]!=4'hA; + + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // Select between A, X, or Y registers + reg [7:0] axy_reg; + always @(a_reg or x_reg or y_reg or stx or sty or tya or txa or + inx or dex or iny or dey or txs) + begin + if (inx|dex|stx|txa|txs) + axy_reg = x_reg; + else if (iny|dey|sty|tya) + axy_reg = y_reg; + else + axy_reg = a_reg; + end + + // incrementers / decrementers + // Note: addsub needs inverted carry for subtract!!! + // A separate module is used here to allow the synthesizer + // to make better use of resources. + wire [7:0] axy_addo; + addsub #(8) axy_adder( + .op(dex | dey), + .ci(dex | dey), + .a({1'b0,axy_reg}), + .b(9'h1), + .o(axy_addo), + .co(), .v() + ); + + wire [7:0] sp_addo; + addsub #(8) spadder( + .op(s_nmi1 | s_nmi2 | + s_jsr1 | s_jsr2 | + (s_sync & any_int) | + (s_exec & (brk|psh))), + .ci(s_nmi1 | s_nmi2 | + s_jsr1 | s_jsr2 | + (s_sync & any_int) | + (s_exec & (brk|psh))), + .a({1'b0,sp_reg}), + .b(9'h1), + .o(sp_addo), + .co(), .v() + ); + + // these flags are used to merge states together + reg firq, fbrk; + + wire nfo0,cfo0,vfo0,zfo0; + wire nfo1,cfo1,vfo1,zfo1; + wire nfo2,cfo2,zfo2; + wire [DBW-1:0] grp0_o; + wire [DBW-1:0] grp1_o; + wire [DBW-1:0] grp2_o; + + // datapath processing + dp_group0 grp0_inst(.ir(ir), + .a_reg(a_reg), .x_reg(x_reg), .y_reg(y_reg), .d(dil), + .ni(nf), .vi(vf), .zi(zf), .ci(cf), + .n(nfo0), .v(vfo0), .z(zfo0), .c(cfo0) ); + + dp_group1 grp1_inst(.ir(ir), .dec(df), + .ni(nf), .vi(vf), .zi(zf), .ci(cf), + .a_reg(a_reg), .d(dil), .o(grp1_o), + .n(nfo1), .v(vfo1), .z(zfo1), .c(cfo1) ); + + dp_group2 grp2_inst(.ir(ir), .ldx(ldx), .stxx(stxx), .d(dil), + .ci(cf), .ni(nf), .zi(zf), + .c(cfo2), .n(nfo2), .z(zfo2), + .o(grp2_o) ); + + // inline datapath processing +// assign res = s_exec & (inx|iny)|(dex|dey) ? axy_addo : 8'bz; +// assign res = s_exec & (tay|tax|txa|tya|txs) ? axy_reg : 8'bz; +// assign res = s_exec & tsx ? sp_reg : 8'bz; +// assign res = s_exec & ror_a ? {cf,a_reg[DBW-1:1]} : 8'bz; +// assign res = s_exec & lsr_a ? {1'b0,a_reg[DBW-1:1]} : 8'bz; +// assign res = s_exec & rol_a ? {a_reg[DBW-2:0],cf} : 8'bz; +// assign res = s_exec & asl_a ? {a_reg[DBW-2:0],1'b0} : 8'bz; +// +// assign res = s_pul ? di : 8'bz; +// assign res = s_update & (grp0|grp2) ? dil : 8'bz; +// assign res = s_update & grp1 ? grp1_o : 8'bz; + + assign res = + s_exec & (inx|iny)|(dex|dey) ? axy_addo : + s_exec & (tay|tax|txa|tya|txs) ? axy_reg : + s_exec & tsx ? sp_reg : + s_exec & ror_a ? {cf,a_reg[DBW-1:1]} : + s_exec & lsr_a ? {1'b0,a_reg[DBW-1:1]} : + s_exec & rol_a ? {a_reg[DBW-2:0],cf} : + s_exec & asl_a ? {a_reg[DBW-2:0],1'b0} : + s_pul ? di : + s_rti1 ? di : + s_update & (grp0|grp2) ? dil : + s_update & grp1 ? grp1_o : + 8'bz; + + // control unit + sequencer seq0( + .reset(reset), .creset(creset), .clk(clk), .rdy(rdy), + .any_int(any_int), + .grp0(grp0), .grp1(grp1), .grp2x(grp2x), .grp2m(grp2m), + .brk(brk), + .mop(mop), + .rti(rti), .rts(rts), + .pul(pul), .psh(psh), + .jsr(jsr), + .jmp(jmp), .jmpi(jmpi), .branch(branch), .staxy(staxy), + .ix(ix), .iy(iy), .absxy(absxy), .imm(imm), .zpxy(zpxy), + .s_reset(s_reset), .s_reset1(s_reset1), .s_reset2(s_reset2), .s_reset3(s_reset3), + .s_nmi1(s_nmi1), .s_nmi2(s_nmi2), .s_nmi3(s_nmi3), .s_nmi4(s_nmi4), .s_nmi5(s_nmi5), + .s_ld_pch(s_ld_pch), .s_exec(s_exec), .s_branch(s_branch), .s_dataFetch(s_dataFetch), .s_update(s_update), + .s_afterWrite(s_afterWrite), + .s_ix1(s_ix1), .s_ix2(s_ix2), .s_iy1(s_iy1), .s_iy2(s_iy2), + .s_abs1(s_abs1), + .s_jmpi1(s_jmpi1), + .s_jsr1(s_jsr1), .s_jsr2(s_jsr2), + .s_pul(s_pul), + .s_rts1(s_rts1), .s_rts2(s_rts2), .s_rts3(s_rts3), + .s_rti1(s_rti1), .s_rti2(s_rti2), .s_rti3(s_rti3), + .s_sync(s_sync) ); + + + // Generate critical reset + always @(posedge clk) + if (reset) + cres <= 8'hFF; + else + cres <= {cres[6:0],1'b0}; + + //------------------------------------------------------------- + // Memory related hardware + //------------------------------------------------------------- + + // Determine exception vector address + reg [ABW-1:0] vec; + always @(s_nmi3 or firq or fbrk) begin + if (s_nmi3) begin + if (firq) + vec = `IRQ_VEC; + else if (fbrk) + vec = `BRK_VEC; + else + vec = `NMI_VEC; + end + else + vec = `RESET_VEC; + end + + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // Select between X, Y, Z registers for memory addressing. + reg [7:0] xyz_reg; + always @(x_reg or y_reg or absx or absy or zpx or zpy or + s_iy2 or ix or s_abs1 or s_exec) + begin + if ((s_abs1 & absx)|(s_exec & (zpx|ix))) + xyz_reg = x_reg; + else if ((s_abs1 &absy)|(s_exec & zpy)|s_iy2) + xyz_reg = y_reg; + else + xyz_reg = 8'h00; + end + + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // memory address multiplexing + // Because of the amount of multiplexing on the address bus + // a multiplexor is implemented with a tri-state bus. + // Otherwise a 16 bit 16 to 1 multiplexor would be required + // which uses a lot of resources. + +//--- +`ifdef old + // ma = vector + assign ma_nxt = (reset | s_reset | s_reset1 | s_nmi3) ? vec : 16'bz; + // ma = ma + 1 + assign ma_nxt = (s_reset2 | s_nmi4 | s_jmpi1 | s_ix1 | s_iy1) ? ma + 1 : 16'bz; + // ma = pc + 1 + assign ma_nxt = ((s_sync & ~any_int) | (s_exec & (absxy | jsr | branch)) | s_rts3) ? pc_reg + 1 : 16'bz; + // ma = tmp + // abs,y must take precedence over abs,x + assign ma_nxt = (s_reset3 | s_nmi5 | s_rti3 | s_rts2 | s_ld_pch | + s_iy2 | s_ix2 | s_abs1 ) ? {{di,tmp}+xyz_reg} : 16'bz; // abs : abs,x : abs,y : (zp),y + // zero page modes + assign ma_nxt = (s_exec & (zpxy | ix | iy)) ? {8'h00,di + xyz_reg} : 16'bz; // zp : zp,x : zp,y : (zp,x) : (zp),y // all zp modes + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // all stack modes + assign ma_nxt[ABW-1:8] = ((s_exec & (brk|psh|pul|rts|rti)) | + s_rts1 | + s_rti1 | s_rti2 | + s_nmi1 | s_nmi2 | + s_jsr1 | s_jsr2 | + (s_sync & any_int) + ) ? 8'h1 : 8'bz; + // ma = sp + assign ma_nxt[7:0] = ( + s_nmi1 | s_nmi2 | + s_jsr1 | s_jsr2 | + (s_sync & any_int) | + (s_exec & (brk|psh)) + ) ? sp_reg : 8'bz; + assign ma_nxt[7:0] = ((s_exec & (pul|rts|rti)) | s_rts1 | s_rti1 | s_rti2) ? sp_addo : 8'bz; + + // branch instr. + // ma = pc + (sign extend)disp + assign ma_nxt = (s_branch & taken) ? {pc_reg + {{8{tmp[DBW-1]}},tmp}} : 16'bz; + // ma = ma + assign ma_nxt = ((s_dataFetch|s_update) & grp2m) ? ma : 16'bz; + // ma = pc + assign ma_nxt = ((s_branch & ~taken) | s_pul | s_afterWrite | + (s_exec & (imm | mop)) | ((s_dataFetch|s_update) & (grp0 | grp1 | grp2x)) ) ? + pc_reg : 16'bz; +`else // !`ifdef old + assign ma_nxt = + // ma = vector + (reset | s_reset | s_reset1 | s_nmi3) ? vec : + // ma = ma + 1 + (s_reset2 | s_nmi4 | s_jmpi1 | s_ix1 | s_iy1) ? ma + 1 : + // ma = pc + 1 + ((s_sync & ~any_int) | (s_exec & (absxy | jsr | branch)) | s_rts3) ? pc_reg + 1 : + // ma = tmp + // abs,y must take precedence over abs,x + (s_reset3 | s_nmi5 | s_rti3 | s_rts2 | s_ld_pch | + s_iy2 | s_ix2 | s_abs1 ) ? {{di,tmp}+{8'b0,xyz_reg}} : // abs : abs,x : abs,y : (zp),y + // zero page modes + (s_exec & (zpxy | ix | iy)) ? {8'h00,di + xyz_reg} : // zp : zp,x : zp,y : (zp,x) : (zp),y // all zp modes + // branch instr. + // ma = pc + (sign extend)disp + (s_branch & taken) ? {pc_reg + {{8{tmp[DBW-1]}},tmp}} : + // ma = ma + ((s_dataFetch|s_update) & grp2m) ? ma : + // ma = pc + ((s_branch & ~taken) | s_pul | s_afterWrite | + (s_exec & (imm | mop)) | ((s_dataFetch|s_update) & (grp0 | grp1 | grp2x)) ) ? + pc_reg : + + // all stack modes + ((s_exec & (brk|psh)) | + s_nmi1 | s_nmi2 | + s_jsr1 | s_jsr2 | + (s_sync & any_int)) ? { 8'h1, sp_reg } : + + ((s_exec & (pul|rts|rti)) | + s_rts1 | s_rti1 | s_rti2) ? { 8'h1, sp_addo } : + + 16'b0; +`endif +//--- + + //------------------------------------------------------------- + //------------------------------------------------------------- + // latch incoming immediate data + always @(posedge clk) + if (reset) + dil <= 8'b0; + else begin + if (rdy) begin + if (s_exec & imm) + dil <= di; + else if (s_dataFetch) + dil <= di; + end + end + + + // - - - - - - - - - - - - - - - - - - - - + // pc / ma manipulation + always @(s_reset3 or s_rts2 or s_rts3 or s_rti3 or s_nmi5 or + s_exec or s_ld_pch or s_abs1 or + jmp or jsr or s_sync or any_int or + branch or s_branch or s_jsr1 or s_jsr2 or imm or zpxy or + ix or iy or absxy or jmpi or pc_reg or di or tmp or ir or + ma_nxt) + begin + if ( + s_rts2 | s_rts3 | + s_rti3 | s_nmi5 | + (s_reset3 | s_ld_pch | (s_abs1 & jmp)) | + (s_sync & ~any_int) | + s_branch | + (s_exec & branch) | + (s_exec & jsr) + ) + pc_nxt = ma_nxt; + else if (s_jsr1) + pc_nxt = {di,pc_reg[7:0]}; + else if (s_jsr2) + pc_nxt = {pc_reg[15:8],tmp}; + else if ( + (s_exec & (imm | zpxy | ix | iy | absxy)) | + (s_abs1 & ~(jmp | jmpi)) ) + pc_nxt = pc_reg + 1; + else + pc_nxt = pc_reg; + end + + always @(posedge clk) + if (reset) begin + pc_reg <= `RESET_VEC; + ma <= `RESET_VEC; + end + else if (rdy) begin + ma <= ma_nxt; + pc_reg <= pc_nxt; + end + + + // - - - - - - - - - - - - - - - - - - - - + // sp manipulation + // we also reset the other regs here + always @(posedge clk) + if (reset) + sp_reg <= `SP_RESET; + else if (rdy) begin + if ( + s_nmi1 | s_nmi2 | + s_jsr1 | s_jsr2 | + (s_sync & any_int) | + (s_exec & (brk|psh|pul|rts|rti)) | + s_rts1 | s_rti1 | s_rti2 + ) + sp_reg <= sp_addo; + else if (s_exec & txs) + sp_reg <= res; + end + + + // tmp manipulation + always @(posedge clk) + if (reset) + tmp <= 0; + else if (rdy) begin + if (s_reset2 | s_nmi4 | s_rts1 | s_rti2 | + s_jmpi1 | + s_ix1 | s_iy1 | (s_exec & absxy) | + (s_exec & (jsr | branch)) + ) + tmp <= di; + end + + + // rw manipulation - - - - - - - - - - - - - - - - - - - - - - + // Note: the cpu is always either reading or writing to memory, + // it doesn't have any idle cycles. This can be seen from the + // memory address multiplexer, which is always set to a valid + // value. + always @(s_sync or any_int or zpxy or psh or brk or ldx or + staxy or s_exec or ir or s_jsr1 or s_jsr2 or + s_ix2 or + s_iy2 or s_abs1 or + s_nmi1 or s_nmi2 or s_update or grp2m) + begin + if ( (s_sync & any_int) | + (s_exec & zpxy & staxy) | + (s_exec & (brk|psh)) | + s_jsr1 | s_jsr2 | + (staxy & (s_ix2 | s_iy2 | s_abs1)) | + s_nmi1 | s_nmi2 | + (s_update & grp2m) ) + rw_nxt = 0; + else + rw_nxt = 1; + end + + always @(posedge clk) + if (reset) + rw <= 1; + else if (rdy) + rw <= rw_nxt; + + + // dout manipulation - - - - - - - - - - - - - - - - - - - - - + always @(s_nmi1 or s_nmi2 or + s_jsr1 or s_jsr2 or pc_reg or sr_reg or + php or pha or staxy or axy_reg or + nf or vf or bf or df or zf or cf or im or brk or + s_exec or zpxy or s_ix2 or s_iy2 or grp2m or + s_abs1 or sta or stx or s_sync or any_int or + s_update or a_reg or x_reg or y_reg or dout or grp2_o) + begin + // Place pc on bus for interrupt, or subroutine call + if ((s_sync & any_int) | (s_exec & brk) | s_jsr1) + dout_nxt = pc_reg[ABW-1:8]; + else if (s_nmi1 | s_jsr2) + dout_nxt = pc_reg[7:0]; + else if ((staxy & ((s_exec & zpxy) | (s_ix2 | s_iy2 | s_abs1))) | + (s_exec & pha) ) + dout_nxt = axy_reg; + else if ((s_exec & php) | s_nmi2) + dout_nxt = sr_reg; + else if (s_update & grp2m) + dout_nxt = grp2_o; + else + dout_nxt = dout; + end + + always @(posedge clk) + if (reset) + dout <= 8'b0; + else if (rdy) + dout <= dout_nxt; + + + // A,X,Y Register loading - - - - - - - - - - - - - + always @(posedge clk) begin + if (reset) begin + a_reg <= 8'b0; + x_reg <= 8'b0; + y_reg <= 8'b0; + end + else begin + if (rdy) begin + if ( (s_exec & (tya | txa | ror_a | lsr_a | rol_a | asl_a)) | + (s_pul & pla) | + (s_update & grp1 & ~cmp) ) + a_reg <= res; + if ( (s_exec & (inx | dex | tax | tsx)) | + (s_update & grp2 & ldx) ) + x_reg <= res; + if ( (s_exec & (iny | dey | tay)) | + (s_update & grp0 & ldy) ) + y_reg <= res; + end + end + end + + + // Load instruction register - - - - - - - - - - - - - - - - - + // Also track the nmi state for nmi edge detection + always @(posedge clk) + if (reset) begin + ir <= `NOP; + prev_nmi <= 0; + end + else if (s_reset1) begin + ir <= `NOP; + prev_nmi <= 0; + end + else if (rdy & s_sync) begin + ir <= di; + prev_nmi <= nmi; + end + + + // Evaluate branch condition - - - - - - - - - - - - - - - - - + reg takb; + always @(cond or nf or vf or cf or zf) + begin + case (cond) + `BPL: takb = ~nf; + `BMI: takb = nf; + `BVC: takb = ~vf; + `BVS: takb = vf; + `BCC: takb = ~cf; + `BCS: takb = cf; + `BNE: takb = ~zf; + `BEQ: takb = zf; + endcase + end + + + // SR flags updating - - - - - - - - - - - - - - - - - - - - - + always @(posedge clk) begin + if (reset) begin + firq <= 0; + vf <= 0; + nf <= 0; + im <= 1; + zf <= 0; + cf <= 0; + df <= 0; + bf <= 0; + end + else if (rdy) begin + + if (so) + vf <= 1'b1; + + if (s_reset1) begin + firq <= 0; + fbrk <= 0; + cf <= 0; + df <= 0; + nf <= 0; + vf <= 0; + zf <= 0; + im <= 1; + bf <= 0; + end + // NMI / IRQ / BRK --------------------- + if (s_nmi2) begin + bf <= fbrk; + im <= 1; + end + if (s_nmi4) begin + fbrk <= 0; + firq <= 0; + end + // sync indicates the start of an instruction cycle + // when active. we can check for an nmi or irq first + // before proceding with the instruction. + if (s_sync) begin + // irq is level sensitive + if (any_int) begin + // nmi takes precedence + if (~nmi_edge) + firq <= 1; + end + end + + else if (s_exec) begin + + taken <= takb; + + case (ir) + `BRK: fbrk <= 1; + `INX,`DEX,`TAX,`TSX, + `INY,`DEY,`TAY, + `TYA,`TXA: + begin + zf <= res==0; + nf <= res[DBW-1]; + end + `CLD: df <= 0; + `SED: df <= 1; + `CLC: cf <= 0; + `SEC: cf <= 1; + `CLI: im <= 0; + `SEI: im <= 1; + `CLV: vf <= 0; + `ROR_A,`LSR_A: + begin + cf <= a_reg[0]; + zf <= res==0; + nf <= res[DBW-1]; + end + `ROL_A,`ASL_A: + begin + cf <= a_reg[DBW-1]; + zf <= res==0; + nf <= res[DBW-1]; + end + // eval branch cond. + default: ; + endcase + + + end + + //====================================== + // subsequent opcode states + //====================================== + + if ((s_pul & plp) | s_rti1) begin + nf <= res[7]; + vf <= res[6]; + bf <= res[4]; + df <= res[3]; + im <= res[2]; + zf <= res[1]; + cf <= res[0]; + end + + if (s_pul & pla) begin + zf <= res==0; + nf <= res[DBW-1]; + end + + // mega state1 + // at this point the fetched op should be incoming + // from d. + // store will already have been done, except for + // memory direct + if (s_update) begin + + if (grp0_us) begin + nf <= nfo0; + vf <= vfo0; + cf <= cfo0; + zf <= zfo0; + end + + if (grp1_us) begin + nf <= nfo1; + vf <= vfo1; + cf <= cfo1; + zf <= zfo1; + end + + if (grp2_us) begin + nf <= nfo2; + cf <= cfo2; + zf <= zfo2; + end + + end // `s_update + + end // if (rdy) + end + + // +// always @(posedge clk) +// begin +// if (s_sync) +// $display("cpu: sync pc %x", pc_reg); +// end + + +endmodule + + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Handle Group 0 opcodes - opcodes with the two lsb = 00 +// ------00 +// LDY, STY, CPY, CPX, and BIT +module dp_group0(ir,a_reg,x_reg,y_reg,d,ni,vi,zi,ci,n,v,z,c); + parameter DBW = 8; + input [DBW-1:0] ir; + input [DBW-1:0] a_reg; + input [DBW-1:0] x_reg; + input [DBW-1:0] y_reg; + input [DBW-1:0] d; + input ni, vi, zi, ci; + output n, v, z, c; + + wire [DBW-1:0] w_bit = a_reg & d; + wire [DBW:0] w_cpy = y_reg - d; + wire [DBW:0] w_cpx = x_reg - d; + + reg [DBW-1:0] res; + wire ldy = ir[7:5]==`LDY; + wire cpy = ir[7:5]==`CPY; + wire cpx = ir[7:5]==`CPX; + wire bitt = ir[7:5]==`BIT; + + always @(ir or w_cpx or w_cpy or w_bit or d) begin + case (ir[7:5]) + `CPX: res = w_cpx[DBW-1:0]; + `CPY: res = w_cpy[DBW-1:0]; + `BIT: res = w_bit; + default: res = d; + endcase + end + + assign n = cpy | cpx | ldy ? res[DBW-1] : bitt ? d[7] : ni; + assign z = cpy | cpx | bitt | ldy ? res==0 : zi; + assign v = bitt ? d[DBW-2] : vi; + assign c = cpy ? ~w_cpy[DBW] : cpx ? ~w_cpx[DBW] : ci; + +endmodule + + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Handle Group 1 opcodes - opcodes with the two lsb = 01 +// ------01 +// +module dp_group1(ir,dec,ni,vi,zi,ci,a_reg,d,o,n,v,z,c); + parameter DBW = 8; + input [7:0] ir; + input dec; + input ni, vi, zi, ci; + input [DBW-1:0] a_reg; + input [DBW-1:0] d; + output [DBW-1:0] o; + reg [DBW-1:0] o; + output n, v, z, c; + + wire [DBW-1:0] adc_o, sbc_o, cmp_o; + wire adc_c, sbc_c, cmp_c; + + wire adc = ir[7:5]==`ADC; + wire sbc = ir[7:5]==`SBC; + wire cmp = ir[7:5]==`CMP; + wire sta = ir[7:5]==`STA; + + + // alu ops + always @(ir or a_reg or d or adc_o or cmp_o or sbc_o) begin + case(ir[7:5]) + `ORA: o = a_reg | d; + `AND: o = a_reg & d; + `EOR: o = a_reg ^ d; + `ADC: o = adc_o; + `STA: o = a_reg; + `LDA: o = d; + `CMP: o = cmp_o; + `SBC: o = sbc_o; + endcase + end + + + add #(`DECMD_SUPPORT) add0 (.dec(dec), .ci(ci), .a(a_reg), .b(d), .o(adc_o), .c(adc_c) ); + // 6502 uses inverted carry on subtract + sub #(`DECMD_SUPPORT) sub0 (.dec(dec), .ci(~ci), .a(a_reg), .b(d), .o(sbc_o), .c(sbc_c) ); + + wire [DBW:0] cmp_tmp = a_reg - d; // compare + assign cmp_c = cmp_tmp[DBW]; + assign cmp_o = cmp_tmp[DBW-1:0]; + assign n = sta ? ni : o[DBW-1]; + assign z = sta ? zi : o==0; + assign c = adc ? adc_c : sbc ? ~sbc_c : cmp ? ~cmp_c : ci; + assign v = (adc | sbc) ? +// (sbc ^ o[DBW-1] ^ d[DBW-1]) & (~sbc ^ a_reg[DBW-1] ^ d[DBW-1]) : vi; + (o[DBW-1] ^ a_reg[DBW-1]) & (o[DBW-1] ^ d[DBW-1]) : vi; + +endmodule + + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Handle Group 2 opcodes - opcodes with the two lsb = 10 +// ------10 +// +module dp_group2(ir,ldx,stxx,d,ci,ni,zi,c,n,z,o); + parameter DBW = 8; + input [7:0] ir; + input ldx; + input stxx; + input [DBW-1:0] d; + input ci, ni, zi; + output c, n, z; + output [DBW-1:0] o; + reg [DBW-1:0] o; + + reg sc; // shift carry + wire d_shift = ~ir[7]; + + always @(ir or d or ci or sc or o) begin + case(ir[7:5]) + `ASL: begin + o = {d[DBW-2:0],1'b0}; + sc = d[DBW-1]; + end + `ROL: begin + o = {d[DBW-2:0],ci}; + sc = d[DBW-1]; + end + `LSR: begin + o = {1'b0,d[DBW-1:1]}; + sc = d[0]; + end + `ROR: begin + o = {ci,d[DBW-1:1]}; + sc = d[0]; + end + // A store does not affect the flags so the output can + // be set to anything. + `STX: o = d; + // Output needs to be set on a load so the flags can + // be set. + `LDX: o = d; + `DEC: o = d - 8'd1; + `INC: o = d + 8'd1; + default: begin sc = sc; o = o; end + endcase + end + + assign c = d_shift ? sc : ci; // cf set only for shifts + assign n = stxx ? ni : o[DBW-1]; + assign z = stxx ? zi : o==0; + +endmodule + + +// Yikes! +// If you understand this, you're doing well. It took me +// quite a bit of head scratching. I've basically broken the +// add down into two half adds and adjusted the carry and +// sum based on decimal mode, mimicing the 6502. +// hc2 will only be set in decimal mode if least significant +// nybble is 10 or greater. +module add(dec, ci, a, b, o, c); + parameter dec_support = 1; // indicates whether or not to support decimal mode + input dec; + input ci; + input [7:0] a; + input [7:0] b; + output [7:0] o; + output c; + + reg [7:0] o; + reg c; + + wire c4, c8; + wire [7:0] dec_sum; + reg [9:0] bin_sum; + + nyb_add na0(.dec(dec), .ci(ci), .a(a[3:0]), .b(b[3:0]), .o(dec_sum[3:0]), .c(c4) ); + nyb_add na1(.dec(dec), .ci(c4), .a(a[7:4]), .b(b[7:4]), .o(dec_sum[7:4]), .c(c8) ); + + always @(a or b or ci) + bin_sum = {a,ci} + {b,1'b1}; + + always @(bin_sum or dec_sum or c8) + if (dec_support) begin + o = dec_sum; + c = c8; + end + else begin + o = bin_sum[8:1]; + c = bin_sum[9]; + end + +endmodule + + +module nyb_add(dec, ci, a, b, o, c); + input dec; // decimal mode indicator + input ci; // carry in + input [3:0] a; + input [3:0] b; + output [3:0] o; + output c; + + // Note: XST does not like assigning to grouped bits on LHS + // which is why all the temps + reg [5:0] tmp1; + reg [4:0] tmp2; + wire hc1 = tmp1[5]; + wire hc2 = tmp2[4]; + assign c = hc1 | hc2; + wire [3:0] sum = tmp1[4:1]; + assign o = tmp2[3:0]; + + always @(dec or a or b or ci or sum or hc1) begin + tmp1 = {a,ci} + {b,1'b1}; + // +6 if in decimal mode and lo nybble > 10 + if (sum >= 4'd10) + tmp2 = sum + {1'b0,dec,dec,1'b0}; + else + tmp2 = { 1'b0, sum}; + end + +endmodule + + +// Subtract is similar to add. In decimal mode, if the subtract +// results in a negative number, then six has to be subtracted +// from the nybble. + +module sub(dec, ci, a, b, o, c); + parameter dec_support = 1; // indicates whether or not to support decimal mode + input dec; + input ci; + input [7:0] a; + input [7:0] b; + output [7:0] o; + output c; + + reg [7:0] o; + reg c; + + wire c4, c8; + wire [7:0] dec_dif; + reg [9:0] bin_dif; + + nyb_sub ns0(.dec(dec), .ci(ci), .a(a[3:0]), .b(b[3:0]), .o(dec_dif[3:0]), .c(c4) ); + nyb_sub ns1(.dec(dec), .ci(c4), .a(a[7:4]), .b(b[7:4]), .o(dec_dif[7:4]), .c(c8) ); + + always @(a or b or ci) + bin_dif = {a,~ci} - {b,1'b1}; + + always @(bin_dif or dec_dif or c8) + if (dec_support) begin + o = dec_dif; + c = c8; + end + else begin + o = bin_dif[8:1]; + c = bin_dif[9]; + end + +endmodule + + +module nyb_sub(dec, ci, a, b, o, c); + input dec; // decimal mode indicator + input ci; // carry in + input [3:0] a; + input [3:0] b; + output [3:0] o; + output c; + + // Note: XST does not like assigning to grouped bits on LHS + // which is why all the temps + reg [5:0] tmp1; + reg [4:0] tmp2; + wire hb1 = tmp1[5]; + wire hb2 = tmp2[4]; + assign c = hb1 | hb2; + wire [3:0] dif = tmp1[4:1]; + assign o = tmp2[3:0]; + + always @(dec or a or b or ci or dif or hb1) begin + tmp1 = {a,~ci} - {b,1'b1}; + // -6 if in decimal mode and lo nybble < 0 + tmp2 = dif - {1'b0, hb1 & dec, hb1 & dec, 1'b0}; + end + +endmodule + + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// This module sequences through the states based on previous +// states, the ir value, and some control signals. +// A one hot state machine is used because we have plenty +// of regs and it eases decoding. +module sequencer(reset, creset, clk, rdy, + any_int, grp0, grp1, grp2x, grp2m, + brk, + mop, + rti, rts, pul, psh, + jsr, + jmp, jmpi, branch, staxy, ix, iy, absxy, imm, zpxy, + s_reset, s_reset1, s_reset2, s_reset3, + s_nmi1, s_nmi2, s_nmi3, s_nmi4, s_nmi5, + s_ld_pch, s_exec, s_branch, s_dataFetch, s_update, s_afterWrite, + s_ix1, s_ix2, s_iy1, s_iy2, + s_abs1, + s_jmpi1, + s_jsr1, s_jsr2, + s_pul, + s_rts1, s_rts2, s_rts3, + s_rti1, s_rti2, s_rti3, + s_sync); + input reset; + input creset; + input clk; + input rdy; + input any_int; + input grp0, grp1, grp2x, grp2m; + input brk; + input mop; + input rti; + input rts; + input pul; + input psh; + input jsr; + input jmp; + input jmpi; + input branch; + input staxy; + input ix; + input iy; + input absxy; + input imm; + input zpxy; + output s_reset; + output s_reset1; + output s_reset2; + output s_reset3; + output s_nmi1, s_nmi2, s_nmi3, s_nmi4, s_nmi5; + output s_ld_pch; + output s_exec; + output s_branch; + output s_dataFetch; + output s_update; + output s_afterWrite; + output s_ix1, s_ix2; + output s_iy1, s_iy2; + output s_abs1; + output s_jmpi1; + output s_jsr1, s_jsr2; + output s_pul; + output s_rts1, s_rts2, s_rts3; + output s_rti1, s_rti2, s_rti3; + output s_sync; + + reg s_reset; + reg s_reset1; + reg s_reset2; + reg s_reset3; + reg s_nmi1, s_nmi2, s_nmi3, s_nmi4, s_nmi5; + reg s_ld_pch; + reg s_exec; + reg s_branch; + reg s_dataFetch; + reg s_update; + reg s_afterWrite; + reg s_ix1; + reg s_ix2; + reg s_iy1; + reg s_iy2; + reg s_abs1; + reg s_jmpi1; + reg s_jsr1, s_jsr2; + reg s_pul; + reg s_rts1, s_rts2, s_rts3; + reg s_rti1, s_rti2, s_rti3; + reg s_sync; + + always @(posedge clk) begin + // put our states in a known condition - none selected + if (reset) begin + s_reset <= 1; + s_reset1 <= 0; + s_reset2 <= 0; + s_reset3 <= 0; + s_nmi1 <= 0; + s_nmi2 <= 0; + s_nmi3 <= 0; + s_nmi4 <= 0; + s_nmi5 <= 0; + s_ld_pch <= 0; + s_exec <= 0; + s_branch <= 0; + s_dataFetch <= 0; // Latch in non-immediate data + s_update <= 0; // Update the machine state + s_afterWrite <= 0; // Switch the address bus back to pc after a write. + s_ix1 <= 0; + s_ix2 <= 0; + s_iy1 <= 0; + s_iy2 <= 0; + s_abs1 <= 0; + s_jmpi1 <= 0; + s_jsr1 <= 0; + s_jsr2 <= 0; + s_pul <= 0; + s_rts1 <= 0; + s_rts2 <= 0; + s_rts3 <= 0; + s_rti1 <= 0; + s_rti2 <= 0; + s_rti3 <= 0; + s_sync <= 0; + end + else if (creset) + s_reset <= 1; + else if (rdy) begin + // advance states + // Only a single state should be active at any one time + + // the reset state is actually evaluated here rather + // than at a higher level as it is convenient to do so + if (s_reset) + s_reset <= 0; + + s_reset1 <= s_reset; + s_reset2 <= s_reset1; + s_reset3 <= s_reset2; + s_nmi1 <= (s_sync & any_int) | (s_exec & brk); + s_exec <= s_sync & ~any_int; + s_nmi2 <= s_nmi1; + s_nmi3 <= s_nmi2; + s_nmi4 <= s_nmi3; + s_nmi5 <= s_nmi4; + s_sync <= s_reset3 | s_afterWrite | s_ld_pch | s_pul | s_rts3 | + s_rti3 | s_nmi5 | + (s_abs1 & jmp) | s_branch | + (s_update & (grp0 | grp1 | grp2x)) | + (s_exec & mop); + s_branch <= s_exec & branch; + s_rts1 <= s_exec & rts; + s_rts2 <= s_rts1; + s_rts3 <= s_rts2; + s_rti1 <= s_exec & rti; + s_rti2 <= s_rti1; + s_rti3 <= s_rti2; + s_pul <= (s_exec & pul); + s_jsr1 <= (s_exec & jsr); + s_jsr2 <= s_jsr1; + s_jmpi1 <= s_abs1 & jmpi; + s_ld_pch <= s_jmpi1; + s_dataFetch <= ~staxy & ( + (s_abs1 & ~(jmp | jmpi)) | + s_ix2 | s_iy2 | (s_exec & zpxy)); + s_update <= s_dataFetch | (s_exec & imm); + s_afterWrite <= s_jsr2 | + (s_update & grp2m) | + (s_abs1 & staxy) | + (s_ix2 & staxy) | + (s_iy2 & staxy) | + (s_exec & ((zpxy & staxy) | psh)); + s_ix1 <= s_exec & ix; + s_ix2 <= s_ix1; + s_iy1 <= s_exec & iy; + s_iy2 <= s_iy1; + s_abs1 <= s_exec & absxy; + + // if somehow got to an invalid state reset + // this is really a processor error or perhaps + // trying to execute an invalid opcode +/* + s_reset1 <= s_reset | ~( + s_reset1 | + s_reset2 | + s_reset3 | + s_nmi1 | + s_nmi2 | + s_nmi3 | + s_nmi4 | + s_ld_pch | + s_exec | + s_dataFetch | + s_update | + s_afterWrite | + s_ix1 | + s_ix2 | + s_iy1 | + s_iy2 | + s_abs1 | + s_jmpi1 | + s_jsr1 | + s_jsr2 | + s_pul | + s_rts3 | + s_rti1 | + s_rti2 | + s_sync); */ + // End of state advancement + end // if (rdy) + end + +endmodule + diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/build_id.tcl b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/build_id.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/build_id.v new file mode 100644 index 00000000..772cae85 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/build_id.v @@ -0,0 +1,2 @@ +`define BUILD_DATE "181123" +`define BUILD_TIME "201219" diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/cent_top_mist.sv b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/cent_top_mist.sv new file mode 100644 index 00000000..216f40ad --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/cent_top_mist.sv @@ -0,0 +1,164 @@ +module cent_top_mist( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27 + + ); + +`include "rtl\build_id.v" +localparam CONF_STR = { + "Centipede;;", +// "T1,Add Coin (ESC);", +// "T2,Player 1 Start (1);", +// "T3,Player 2 Start (2);", +// "O1,Test,off,on;", +// "O2,Cocktail,off,on;", +// "O3,Slam,off,on;", + "O45,Scandoubler Fx,None,HQ2x,CRT 25%,CRT 50%;", + "T6,Reset;", + "V,v1.00.",`BUILD_DATE +}; + + + + wire clk24, clk12, clk6; + + pll pll( + .inclk0(CLOCK_27), + .c0(clk24), + .c1(clk12), + .c2(clk6) + ); + + reg [3:0] reset_reg; + initial reset_reg = 4'b1111; + + always @ (posedge clk24) + reset_reg <= {reset_reg[2:0],1'b0}; + + assign LED = 1'b1; + wire [31:0] status; + wire [1:0] buttons; + wire [1:0] switches; + wire scandoubler_disable; + wire ypbpr; + wire ps2_kbd_clk, ps2_kbd_data; + wire [7:0] kb_joy, joystick_0, joystick_1; + +mist_io #( + .STRLEN(($size(CONF_STR)>>3))) +mist_io( + .clk_sys (clk24 ), + .conf_str (CONF_STR ), + .SPI_SCK (SPI_SCK ), + .CONF_DATA0 (CONF_DATA0 ), + .SPI_SS2 (SPI_SS2 ), + .SPI_DO (SPI_DO ), + .SPI_DI (SPI_DI ), + .buttons (buttons ), + .joystick_0 (joystick_0 ), + .joystick_1 (joystick_1 ), + .switches (switches ), + .scandoubler_disable (scandoubler_disable ), + .ypbpr (ypbpr ), + .ps2_kbd_clk (ps2_kbd_clk ), + .ps2_kbd_data (ps2_kbd_data ), + .status (status ) + ); + +keyboard keyboard( + .clk(clk24), + .reset(), + .ps2_kbd_clk(ps2_kbd_clk), + .ps2_kbd_data(ps2_kbd_data), + .joystick(kb_joy) + ); + + wire hs, vs; + wire hb, vb; + wire [2:0] r, g, b; + +video_mixer #( + .LINE_LENGTH(480), + .HALF_DEPTH(1))//to dark if 0 +video_mixer( + .clk_sys(clk24), + .ce_pix(clk6), + .ce_pix_out(), + .R({r,r}), + .G({g,g}), + .B({b,b}), + .HSync(hs), + .VSync(vs), + .HBlank(hb), + .VBlank(vb), + .VGA_R(VGA_R), + .VGA_G(VGA_G), + .VGA_B(VGA_B), + .VGA_HS(VGA_HS), + .VGA_VS(VGA_VS), + .scandoubler(~scandoubler_disable), + .scanlines(scandoubler_disable ? 2'b00 : {status[5:4] == 3, status[5:4] == 2}), + .hq2x(status[5:4]==1), + .mono(0) + ); + + wire [7:0] audio_o; + assign AUDIO_R = AUDIO_L; + +sigma_delta_dac #( + .MSBI(7)) +sigma_delta_dac( + .CLK(clk24), + .RESET(1'b0), + .DACin(audio_o), + .DACout(AUDIO_L) + ); + + wire coin_r, coin_c, coin_l, self_test, cocktail, slam, start1, start2, fire2, fire1; + wire [9:0] playerinput_i = { coin_r, coin_c, coin_l, self_test, cocktail, slam, start1, start2, fire2, fire1 }; +//ACTIVE LOW + assign coin_r = ~kb_joy[3]; + assign coin_c = 1; + assign coin_l = 1; + assign self_test = 1;//status[1]; + assign cocktail = 1;//status[2]; + assign slam = 1;//status[3]; + assign start1 = ~kb_joy[2];// + assign start2 = ~kb_joy[1];//this is ok + assign fire2 = ~kb_joy[0]; + assign fire1 = ~kb_joy[0]; + + //Note Cennected Joysticks breaks Controls +centipede centipede( + .clk_12mhz(clk12), + .reset(reset_reg[3] | status[0] | buttons[1] | status[6]), + .playerinput_i(playerinput_i), + .trakball_i(), +// .joystick_i({joystick_0[1],joystick_0[0],joystick_0[3],joystick_0[2], joystick_1[1],joystick_1[0],joystick_1[3],joystick_1[2]}), + .joystick_i({~kb_joy[7], ~kb_joy[6], ~kb_joy[5], ~kb_joy[4], ~kb_joy[7], ~kb_joy[6], ~kb_joy[5], ~kb_joy[4]}), + .sw1_i(8'h54),//"01010100"),//Credit Minimum, Difficulty, Bonus Life, Bonus Life, Lives, Lives, Language, Language; + .sw2_i(8'b0),//"11101010"),//Bonus Coins, Bonus Coins, Bonus Coins, Left Coin, Right Coin, Right Coin, Coinage, Coinage; + .led_o(), + .audio_o(audio_o), + .rgb_o({b,g,r}), + .sync_o(), + .hsync_o(hs), + .vsync_o(vs), + .hblank_o(hb), + .vblank_o(vb) + ); + +endmodule \ No newline at end of file diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/centipede.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/centipede.v new file mode 100644 index 00000000..1fdc330c --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/centipede.v @@ -0,0 +1,1074 @@ +// +// Atari Centipede, from the schematics +// +// Brad Parker 10/2015 +// +// The 6502 cpu used here is not completely cycle accurate in relation to the original "real" 6502. +// Specifically, the game makes heavy use of the knowledge about when i/o space read/writes will +// occur in relationship to the cpu clocks, specially phi2. The game hardware was set up to allow +// the cpu accces on the back side of the s_4h signal, which, based on phi0, phi2 and the mpuclk was +// when the original (i.e. real) 6502 would assert i/o signals. Rather than fight this battle I made +// the playfield a ram synchronous dual port memory, which was natural in a modern FPGA. This eliminated +// the contention and allowed me to remove the s_4h qualifiers from the address generation. +// +// The game code also relies on the pokey's random number generation working correctly and caused me to +// do some debugging of the pokey code I was using. +// + +//`define async_lr +//`define orig_phi0 + +module centipede( + input clk_12mhz, + input reset, + input [9:0] playerinput_i, + input [7:0] trakball_i, + input [7:0] joystick_i, + input [7:0] sw1_i, + input [7:0] sw2_i, + output [4:1] led_o, + output [8:0] rgb_o, + output sync_o, + output hsync_o, + output vsync_o, + output hblank_o, + output vblank_o, + output [7:0] audio_o + ); + + // + wire s_12mhz, s_12mhz_n; + wire s_6mhz, s_6mhz_n; + + wire phi0, phi2; + reg phi0a; + + // + wire rom_n; + wire ram0_n; + wire steerclr_n, watchdog_n, out0_n, irqres_n; + wire pokey_n, swrd_n, pf_n; + wire coloram_n, ea_read_n, ea_ctrl_n, ea_addr_n; + wire in0_n, in1_n; + + wire pframrd_n; + wire pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n; + wire pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n; + + wire [9:0] adecode; + wire pac_n; + + wire mpu_clk; + reg [7:0] mpu_reset_cntr; + reg mpu_reset; + wire mpu_reset_n; + reg irq; + wire rw_n; + + wire [15:0] ab; + + wire [7:0] db_in; + wire [7:0] db_out; + + wire [7:0] ram_out; + wire [7:0] rom_out; + + // + wire [7:0] vprom_addr; + wire [3:0] vprom_out; + reg [3:0] vprom_reg; + + wire vsync, vblank, hblank, vreset; + reg hsync; + wire vreset_n; + wire hsync_reset; + + wire s_1h, s_2h, s_4h, s_8h, s_16h, s_32h, s_64h, s_128h, s_256h; + wire s_1v, s_2v, s_4v, s_8v, s_16v, s_32v, s_64v, s_128v; + + wire s_4h_n, s_8h_n, s_256h_n; + wire s_256hd_n; + wire s_256h2d_n; + wire vblankd_n; + wire s_6_12; + + reg s_256h2d; + reg s_256hd; + reg vblankd; + + wire pload_n; + wire write_n; + wire brw_n; + + wire [15:0] pdf; + + // + wire [7:0] match_line; + wire [7:0] match_sum; + wire match_sum_top; + reg [5:0] match_sum_hold; + + wire [3:0] match_mux; + wire match_n; + wire match_true; + wire [3:0] mga; + + // + wire [7:0] pf; + wire [1:0] pf_sel; + wire [3:0] pfa7654, pfa3210; + wire [7:0] pfa; + wire [7:0] pf_out; + wire pf_addr_stamp; + + wire [31:0] pfd; + reg [29:16] pfd_hold; + reg [29:16] pfd_hold2; + + reg [1:0] gry; + wire [1:0] y; +`ifdef async_lr + wire [1:0] mr; +`else + reg [1:0] mr; +`endif + + wire [7:0] line_ram_addr; + reg [1:0] line_ram[0:255]; + reg [7:0] line_ram_ctr; + wire line_ram_ctr_load; + wire line_ram_ctr_clr; + + // + wire [7:0] pf_mux1, pf_mux0; + reg [7:0] pf_shift1, pf_shift0; + reg [1:0] area; + + wire [10:0] pf_rom1_addr, pf_rom0_addr; + wire [7:0] pf_rom1_out, pf_rom0_out; + wire [7:0] pf_rom1_out_rev, pf_rom0_out_rev; + + reg [7:0] pic; + + + // + wire ea_addr_clk, ea_ctrl_clk; + reg [5:0] hs_addr; + wire [7:0] hs_out; + reg [7:0] hs_data; + reg [3:0] hs_ctrl; + + reg hs; + wire hs_set; + + wire hs_addr_clk; + wire hs_ctrl_clk; + + // + wire comp_sync; + reg [3:0] rgbi; + wire [3:0] coloram_out; + wire [3:0] coloram_rgbi; + wire coloram_w_n; + reg coloren; + + wire [1:0] rama_sel; + wire [1:0] rama_hi; + wire [1:0] rama_lo; + wire [3:0] rama; + + wire [5:0] audio; + + // + wire mob_n; + wire blank_clk; + + // + wire [7:0] joystick_out; + wire [3:0] tra, trb; + wire dir1, dir2; + + wire [7:0] switch_out; + wire flip; + + wire coin_ctr_r_drive, coin_ctr_c_drive, coin_ctr_l_drive; + wire [7:0] playerin_out; + + wire [7:0] pokey_out; + reg [11:0] h_counter; + reg [7:0] v_counter; + wire v_counter_reset; + + initial h_counter = 0; + + always @(posedge s_12mhz or posedge reset) + if (reset) + h_counter <= 0; + else + if (h_counter == 12'hfff) + h_counter <= 12'b110100000000; + else + h_counter <= h_counter + 12'd1; + + assign s_6mhz = h_counter[0]; + assign s_1h = h_counter[1]; + assign s_2h = h_counter[2]; + assign s_4h = h_counter[3]; + assign s_8h = h_counter[4]; + assign s_16h = h_counter[5]; + assign s_32h = h_counter[6]; + assign s_64h = h_counter[7]; + assign s_128h = h_counter[8]; + assign s_256h = h_counter[9]; + + assign s_4h_n = ~s_4h; + assign s_8h_n = ~s_8h; + assign s_256h_n = ~s_256h; + + assign pload_n = ~(s_1h & s_2h & s_4h); + + assign s_12mhz = clk_12mhz; + assign s_12mhz_n = ~clk_12mhz; + assign s_6mhz_n = ~s_6mhz; + + assign v_counter_reset = reset | ~vreset == 0; + + always @(posedge s_256h_n or posedge reset) + if (reset) + v_counter <= 0; + else + /* ld# is on positive clock edge */ + if (vreset == 1) + v_counter <= 0; + else + v_counter <= v_counter + 8'd1; + + assign s_1v = v_counter[0]; + assign s_2v = v_counter[1]; + assign s_4v = v_counter[2]; + assign s_8v = v_counter[3]; + assign s_16v = v_counter[4]; + assign s_32v = v_counter[5]; + assign s_64v = v_counter[6]; + assign s_128v = v_counter[7]; + + assign vprom_addr = {vblank, s_128v, s_64v, s_32v, s_8v, s_4v, s_2v, s_1v}; + +sprom #( + .init_file("./roms/136001-213.p4.hex"), + .widthad_a(8), + .width_a(4)) +vprom( + .address(vprom_addr), + .clock(s_6mhz), + .q(vprom_out) + ); + + always @(posedge s_256h_n or posedge reset) + if (reset) + vprom_reg <= 0; + else + vprom_reg <= vprom_out; + + assign vsync = vprom_reg[0]; + assign vreset = vprom_reg[2]; + + + + assign hs_set = reset | ~s_256h_n; + + always @(posedge s_32h or posedge hs_set) + if (hs_set) + hs <= 1; + else + hs <= s_64h; + + assign hsync_reset = reset | hs; + + always @(posedge s_8h or posedge hsync_reset) + if (hsync_reset) + hsync <= 0; + else + hsync <= s_32h; + + // + always @(posedge s_6mhz) + if (reset) + coloren <= 0; + else + coloren <= s_256hd; + + assign s_6_12 = ~(s_6mhz & s_12mhz); + + reg xxx1; + + always @(posedge s_6_12) + if (reset) + xxx1 <= 0; + else + xxx1 <= coloren; + + assign vblank = vprom_reg[3]; + assign hblank = (~xxx1 & ~coloren); +sprom #( + .init_file("./roms/136001-prog.hex"), + .widthad_a(13), + .width_a(8)) +rom( + .address(ab[12:0]), + .clock(s_6mhz & ~rom_n), + .q(rom_out[7:0]) + ); + +spram #( + .addr_width_g(10), + .data_width_g(8)) +ram( + .address(ab[9:0]), + .clock(s_6mhz & ~ram0_n), + .wren(~write_n), + .data(db_out[7:0]), + .q(ram_out[7:0]) + ); + + wire irq_n; + + always @(posedge s_16v or negedge irqres_n) + if (~irqres_n) + irq <= 1'b1; + else +// irq <= s_32v; + irq <= ~s_32v; + +// assign irq_n = ~irq; + assign irq_n = irq; + + +`ifdef orig_phi0 + always @(posedge s_1h) + if (reset) + phi0a <= 1'b0; + else + case ({(pf_n | s_4h), s_2h}) + 2'b00: phi0a <= phi0a; + 2'b01: phi0a <= 1'b0; + 2'b10: phi0a <= 1'b1; + 2'b11: phi0a <= ~phi0a; + endcase + + assign phi0 = ~phi0a; + assign pac_n = ~phi0a; +`else + always @(posedge s_1h or posedge reset) + if (reset) + phi0a <= 1'b0; + else + phi0a <= ~phi0a; + + assign phi0 = ~phi0a; + assign pac_n = ~phi0a; +`endif + + // watchdog? + always @(posedge s_12mhz) + if (reset) + begin + mpu_reset <= 1; + mpu_reset_cntr <= 0; + end + else + begin + if (mpu_reset_cntr != 8'hff) +// if (mpu_reset_cntr != 8'h10) + mpu_reset_cntr <= mpu_reset_cntr + 8'd1; + else + mpu_reset <= 0; + end + + assign mpu_clk = s_6mhz; + assign mpu_reset_n = ~mpu_reset; + + p6502 p6502( + .clk(mpu_clk), + .reset_n(mpu_reset_n), + .nmi(1'b1), + .irq(irq_n), + .so(1'b0), + .rdy(1'b1), + .phi0(phi0), + .phi2(phi2), + .rw_n(rw_n), + .a(ab), + .din(db_in[7:0]), + .dout(db_out[7:0]) + ); + + // Address Decoder + assign write_n = ~(phi2 & ~rw_n); + + assign brw_n = ~rw_n; + + assign rom_n = brw_n | ~ab[13]; + + assign adecode = + (ab[13:10] == 4'b0000) ? 10'b1111111110 : + (ab[13:10] == 4'b0001) ? 10'b1111111101 : + (ab[13:10] == 4'b0010) ? 10'b1111111011 : + (ab[13:10] == 4'b0011) ? 10'b1111110111 : + (ab[13:10] == 4'b0100) ? 10'b1111101111 : + (ab[13:10] == 4'b0101) ? 10'b1111011111 : + (ab[13:10] == 4'b0110) ? 10'b1110111111 : + (ab[13:10] == 4'b0111) ? 10'b1101111111 : + (ab[13:10] == 4'b1000) ? 10'b1011111111 : + (ab[13:10] == 4'b1001) ? 10'b0111111111 : + 10'b1111111111; + +// assign write2_n = ~(s_6mhz & ~write_n); + reg write2_n; + always @(posedge s_6mhz) + if (reset) + write2_n <= 0; + else + write2_n <= write_n; + + assign steerclr_n = adecode[9] | write2_n; + assign watchdog_n = adecode[8] | write2_n; + assign out0_n = adecode[7] | write2_n; + assign irqres_n = (adecode[6] | write2_n) & mpu_reset_n; + + assign coloram_n = (adecode[5] | ab[9])/* | pac_n*/; + + assign pokey_n = adecode[4]; + + assign in0_n = adecode[3] | ab[1]; + assign in1_n = adecode[3] | ~ab[1]; + + assign swrd_n = adecode[2]; + assign pf_n = adecode[1]; + assign ram0_n = adecode[0]; + + assign {ea_read_n, ea_ctrl_n, ea_addr_n} = + ({~ab[9]|adecode[5], ab[8:7]} == 3'b000) ? 3'b110 : + ({~ab[9]|adecode[5], ab[8:7]} == 3'b001) ? 3'b101 : + ({~ab[9]|adecode[5], ab[8:7]} == 3'b010) ? 3'b011 : + 3'b111; + assign pframrd_n = pf_n | brw_n; + + assign {pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n} = + ({pf_n, write_n, ab[5:4]} == 4'b0000) ? 4'b1110 : + ({pf_n, write_n, ab[5:4]} == 4'b0001) ? 4'b1101 : + ({pf_n, write_n, ab[5:4]} == 4'b0010) ? 4'b1011 : + ({pf_n, write_n, ab[5:4]} == 4'b0011) ? 4'b0111 : + 4'b1111; + + assign {pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n} = + (ab[5:4] == 2'b00) ? 4'b1110 : + (ab[5:4] == 2'b01) ? 4'b1101 : + (ab[5:4] == 2'b10) ? 4'b1011 : + (ab[5:4] == 2'b11) ? 4'b0111 : + 4'b1111; + + // +// assign mob_n = ~(s_256h_n & s_256hd) & ~(s_256h2d_n & s_256hd); + assign mob_n = ~(s_256h_n | s_256h2d_n); + + assign blank_clk = ~s_12mhz & (h_counter[3:0] == 4'b1111); + + always @(posedge blank_clk or posedge reset) + if (reset) + begin + s_256h2d <= 1'b0; + s_256hd <= 1'b0; + vblankd <= 1'b0; + end + else + begin + s_256h2d <= s_256hd; + s_256hd <= s_256h; + vblankd <= vblank; + end + + assign s_256h2d_n = ~s_256h2d; + assign s_256hd_n = ~s_256hd; + assign vblankd_n = ~vblankd; + + // motion objects (vertical) + + // the motion object circuitry (vertical) receives pf data and vertical inputs from the + // sync generator circuitry to generate the vertical component of the motion object video. PFD8- + // 15 from the playfield memory and 1v-128v from the sync generator are compared at F6 and H6. + // The output is gated by A7 when a motion object is on one of the sixteen vertical lines and is + // latched by E6 and AND gate B7. A low on B7 pin 8 indicates the presence of a motion object on + // one of the vertical lines during non-active video time. The signal (MATCH) enables the multi- + // plexers in the picture data circuitry. + // + // when 256h goes high, 1v,2v,4v and pic0 are selected. When 256h goes low, + // the latched output of E6 is selected. The output if D7 is EXCLUSIVE OR gated at E7 and is + // sent to the picture data selector circuitry as motion graphics address (MGA0-MGA3). The other + // input to EXCLUSIVE OR gate E7 is PIC7 from the playfield code multiplexer circuitry. PIC7 + // when high causes the output of E7 to be complimented. For example, if MGA0..3 are low, + // pic7 causes MGA0..3 to go high. This causes the motion object video to be inverted top + // to bottom. + + // mga0..3 (motion graphics address) from the motion object circuitry, + // 256h and 256h_n from the sync generator + // pic0..5 represents the code for the object to be displayed + // mga0..3 set on of 8 different combinations of the 8-line by + // 8-bit blocks of picture video or the 16 line by 8 bit blocks of + // motion object video + // + // 256h when high selects the playfield picture color codes to be addressed. + // 256h when low selects the motion object color codes to be addressed + + assign match_line = { s_128v, s_64v, s_32v, s_16v, s_8v, s_4v, s_2v, s_1v }; + assign match_sum = match_line + pfd[15:8]; + assign match_sum_top = ~(match_sum[7] & match_sum[6] & match_sum[5] & match_sum[4]); + +// always @(posedge s_4h_n) +// if (reset) +// match_sum_hold <= 0; +// else +// match_sum_hold <= { match_sum_top, 1'b0, match_sum[3:0] }; + always @(posedge s_6mhz) + if (reset) + match_sum_hold <= 0; + else + if (s_4h) + match_sum_hold <= { match_sum_top, 1'b0, match_sum[3:0] }; + + assign match_mux = s_256h ? { pic[0], s_4v, s_2v, s_1v } : match_sum_hold[3:0]; + + assign match_n = match_sum_hold[5] & s_256h_n; + + // for debug only + assign match_true = (~match_n & s_256h_n) && pfd != 0; + + assign mga = { match_mux[3] ^ (pic[7] & s_256h_n), + match_mux[2] ^ pic[7], + match_mux[1] ^ pic[7], + match_mux[0] ^ pic[7] }; + +//--- + + // motion objects (horizontal) + + // the motion object circuitry (horizontal) receives playfield data and horizontal inputs from + // the sync generator circuitry. pfd16..23 from the pf memory determine the horizontal + // position of the motion object. pfd24..29 from the pf memory determine the indirect + // color of the motion object. pfd16:23 are latched and loaded into the horizontal position + // counter. + +//brad +// always @(posedge s_4h) +// if (reset) +// pfd_hold <= 0; +// else +// pfd_hold <= pfd[29:16]; + always @(posedge s_6mhz) + if (reset) + pfd_hold <= 0; + else + /* posedge s_4h */ + if (~s_4h) + pfd_hold <= pfd[29:16]; + +// always @(posedge s_4h_n) +// if (reset) +// pfd_hold2 <= 0; +// else +// pfd_hold2 <= pfd_hold; + always @(posedge s_6mhz) + if (reset) + pfd_hold2 <= 0; + else + /* posedge s_4h_n */ + if (s_1h & s_2h & s_4h) + pfd_hold2 <= pfd_hold; + + assign y[1] = + (area == 2'b00) ? (s_256hd ? 1'b0 : gry[1]) : + (area == 2'b01) ? (s_256hd ? 1'b0 : pfd_hold2[25]) : + (area == 2'b10) ? (s_256hd ? 1'b0 : pfd_hold2[27]) : + (area == 2'b11) ? (s_256hd ? 1'b0 : pfd_hold2[29]) : + 1'b0; + + assign y[0] = + (area == 2'b00) ? (s_256hd ? 1'b0 : gry[0]) : + (area == 2'b01) ? (s_256hd ? 1'b0 : pfd_hold2[24]) : + (area == 2'b10) ? (s_256hd ? 1'b0 : pfd_hold2[26]) : + (area == 2'b11) ? (s_256hd ? 1'b0 : pfd_hold2[28]) : + 1'b0; + + assign line_ram_ctr_load = ~(pload_n | s_256h); + assign line_ram_ctr_clr = ~(pload_n | ~(s_256h & s_256hd_n)); + + always @(posedge s_6mhz) + if (reset) + line_ram_ctr <= 0; + else + begin + if (line_ram_ctr_clr) + line_ram_ctr <= 0; + else + if (line_ram_ctr_load) + line_ram_ctr <= pfd_hold[23:16]; + else + line_ram_ctr <= line_ram_ctr + 8'b1; + end + + assign line_ram_addr = line_ram_ctr; + + always @(posedge s_6mhz) + line_ram[line_ram_addr] <= y; + +`ifdef async_lr + assign mr = line_ram[line_ram_addr]; +`else + always @(posedge s_12mhz) + if (reset) + mr <= 0; + else + mr <= line_ram[line_ram_addr]; +`endif + + always @(posedge s_6mhz_n) + if (reset) + gry <= 0; + else +// if (~mob_n) +// gry <= 2'b00; +// else + gry <= mr; + + + // playfield multiplexer + + // The playfield multiplexer receives playfield data from the pf memory + // (PFD0-PFD31) and the output (pf0..7) is a code that determines what is 1) dis- + // played on the monitor or 2) read or updated by the MPU. + // + // When 256H is low and 4H is high, AB4 and AB5 from the MPU address bus is the + // select output from P6. The output is applied to multiplexers k6, l6, m6 and n6 + // as select inputs. When the MPU is accessing the playfield code multiplexer, the + // playfield data is either being read or updated by the MPU. When 256H is high and 4H + // is low, the inputs frmo the sync generator (128H and 8V) are the selected outputs. + // These signals then select which bits of the data PFD0-PFD31 are send out via K6, L6 + // M6, and N6 for the playfield codes that eventually are displayed on the monitor. + +// always @(posedge s_4h) +// if (reset) +// pic <= 0; +// else +// pic <= pf[7:0]; + always @(posedge s_6mhz) + if (reset) + pic <= 0; + else + if (~s_4h) + pic <= pf[7:0]; + +sprom #( + .init_file("./roms/136001-212.hj7.hex"), + .widthad_a(10), + .width_a(8)) + pf_rom1( + .address(pf_rom1_addr), + .clock(s_6mhz_n), + .q(pf_rom1_out) + ); + +sprom #( + .init_file("./roms/136001-211.f7.hex"), + .widthad_a(10), + .width_a(8)) + pf_rom0( + .address(pf_rom0_addr), + .clock(s_6mhz_n), + .q(pf_rom0_out) + ); + + + // a guess, based on millipede schematics + wire pf_romx_haddr; + assign pf_romx_haddr = s_256h_n & pic[0]; + assign pf_rom1_addr = { pf_romx_haddr, s_256h, pic[5:1], mga }; + assign pf_rom0_addr = { pf_romx_haddr, s_256h, pic[5:1], mga }; + assign pf_rom0_out_rev = { pf_rom0_out[0], pf_rom0_out[1], pf_rom0_out[2], pf_rom0_out[3], + pf_rom0_out[4], pf_rom0_out[5], pf_rom0_out[6], pf_rom0_out[7] }; + + assign pf_rom1_out_rev = { pf_rom1_out[0], pf_rom1_out[1], pf_rom1_out[2], pf_rom1_out[3], + pf_rom1_out[4], pf_rom1_out[5], pf_rom1_out[6], pf_rom1_out[7] }; + + assign pf_mux0 = match_n ? 8'b0 : (pic[6] ? pf_rom0_out_rev : pf_rom0_out); + assign pf_mux1 = match_n ? 8'b0 : (pic[6] ? pf_rom1_out_rev : pf_rom1_out); + + always @(posedge s_6mhz) + if (reset) + pf_shift1 <= 0; + else + if (~pload_n) + pf_shift1 <= pf_mux1; + else + pf_shift1 <= { pf_shift1[6:0], 1'b0 }; + + always @(posedge s_6mhz) + if (reset) + pf_shift0 <= 0; + else + if (~pload_n) + pf_shift0 <= pf_mux0; + else + pf_shift0 <= { pf_shift0[6:0], 1'b0 }; + + always @(posedge s_6mhz_n) + if (reset) + area <= 0; + else + area <= { pf_shift1[7], pf_shift0[7] }; + + // + assign db_in = + ~rom_n ? rom_out : + ~ram0_n ? ram_out : + ~coloram_n ? { 4'b0, coloram_out } : + ~pframrd_n ? pf_out[7:0] : + ~ea_read_n ? hs_out : + ~in0_n ? playerin_out : + ~in1_n ? joystick_out : + ~swrd_n ? switch_out : + ~pokey_n ? pokey_out : + 8'b0; + + + // we ignore the cpu, as pf ram is now dp and cpu has it's own port +// assign pf_sel = mob_n ? { s_8v, s_128h } : 2'b00; + assign pf_sel = pf_addr_stamp ? 2'b00 : { s_8v, s_128h }; + + assign pf = + (pf_sel == 2'b00) ? pfd[7:0] : + (pf_sel == 2'b01) ? pfd[15:8] : + (pf_sel == 2'b10) ? pfd[23:16] : + (pf_sel == 2'b11) ? pfd[31:24] : + 8'b0; + + // playfield address selector + + // when s_4h_n is low the pf addr selector receives 8h, 16, 32h & 64h and + // 16v, 32v, 64v and 128v from the sync generator. these signals enable the sync + // generator circuits to access the playfield memory + // + // when s_4h_n goes high the game mpu addresses the pf memory + // during horizontal blanking pfa4..7 are held high enabling the motion object + // circuitry to access the playfield memory for the motion objects to be displayed + + assign pf_addr_stamp = hblank & ~s_256h; + + // force pf address to "stamp area" during hblank + assign pfa7654 = pf_addr_stamp ? 4'b1111 : { s_128v, s_64v, s_32v, s_16v }; + assign pfa3210 = { s_64h, s_32h, s_16h, s_8h }; + assign pfa = { pfa7654, pfa3210 }; + + wire pf_ce; + reg pf_ce_d; + wire [3:0] pf_ce4_n; + assign pf_ce = ~(s_1h & s_2h & s_4h & s_6mhz); + + always @(posedge s_12mhz) + if (reset) + pf_ce_d <= 0; + else + pf_ce_d <= pf_ce; + +// assign pf_ce4_n = { pf_ce_d, pf_ce_d, pf_ce_d, pf_ce_d }; + assign pf_ce4_n = 4'b0; + + + + pf_ram pf_ram( + .clk_a(s_6mhz), + .clk_b(s_6mhz_n), + .reset(reset), + // + .addr_a({ab[9:6], ab[3:0]}), + .din_a(db_out[7:0]), + .dout_a(pf_out), + .ce_a({pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n}), + .we_a({pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n}), + // + .addr_b(pfa), + .dout_b(pfd), + .ce_b(pf_ce4_n) + ); + + // High Score Memory Circuitry + + assign hs_addr_clk = ~(~ea_addr_n & ~write2_n); + assign hs_ctrl_clk = ~(~ea_ctrl_n & ~write2_n); + + always @(posedge hs_addr_clk) + hs_addr <= ab[5:0]; + + always @(posedge ea_ctrl_clk) + hs_ctrl <= db_out[3:0]; + +spram #( + .addr_width_g(6), + .data_width_g(8)) +hs_ram( + .address(hs_addr), + .clock(hs_ctrl[0] & ~hs_ctrl[3]), + .wren(~hs_ctrl[1] & hs_ctrl[2]), + .data(hs_data), + .q(hs_out) + ); + + always @(posedge hs_addr_clk) + hs_data <= db_out[7:0]; + + // Joystick Circuitry + wire js1_right, js1_left, js1_down, js1_up; + wire js2_right, js2_left, js2_down, js2_up; + + assign js1_right = joystick_i[7]; + assign js1_left = joystick_i[6]; + assign js1_down = joystick_i[5]; + assign js1_up = joystick_i[4]; + assign js2_right = joystick_i[3]; + assign js2_left = joystick_i[2]; + assign js2_down = joystick_i[1]; + assign js2_up = joystick_i[0]; + + assign joystick_out = ab[0] ? + { js1_right, js1_left, js1_down, js1_up, js2_right, js2_left, js2_down, js2_up } : + { dir2, 3'b0, trb }; + + // Option Input Circuitry + + assign switch_out = ab[0] ? + sw2_i : + sw1_i; + + // Player Input Circuitry + wire coin_r, coin_c, coin_l, self_test; + wire cocktail, slam, start1, start2, fire2, fire1; + + assign coin_r = coin_ctr_r_drive ? coin_ctr_r_drive : playerinput_i[9]; + assign coin_c = coin_ctr_c_drive ? coin_ctr_c_drive : playerinput_i[8]; + assign coin_l = coin_ctr_l_drive ? coin_ctr_l_drive : playerinput_i[7]; + assign self_test = playerinput_i[6]; + assign cocktail = playerinput_i[5]; + assign slam = playerinput_i[4]; + assign start1 = playerinput_i[3]; + assign start2 = playerinput_i[2]; + assign fire2 = playerinput_i[1]; + assign fire1 = playerinput_i[0]; + + wire [7:0] playerin_out0; + wire [7:0] playerin_out1; + + assign playerin_out1 = { coin_r, coin_c, coin_l, slam, fire2, fire1, start1, start2 }; + assign playerin_out0 = { dir1, vblank, self_test, cocktail, tra }; + + assign playerin_out = ab[0] ? playerin_out1 : playerin_out0; + + // Coin Counter Output + reg [7:0] cc_latch; + + always @(posedge s_6mhz or posedge reset) + if (reset) + cc_latch <= 0; + else + if (~out0_n) + cc_latch[ ab[2:0] ] <= db_out[7]; + + assign flip = cc_latch[7]; + assign led_o[4] = cc_latch[6]; + assign led_o[3] = cc_latch[5]; + assign led_o[2] = cc_latch[4]; + assign led_o[1] = cc_latch[3]; + assign coin_ctr_r_drive = cc_latch[2]; + assign coin_ctr_c_drive = cc_latch[1]; + assign coin_ctr_l_drive = cc_latch[1]; + + // Mini-Trak Ball inputs + wire [3:0] tb_mux; + wire s_1_horiz_dir, s_1_horiz_ck, s_1_vert_dir, s_1_vert_ck; + wire s_2_horiz_dir, s_2_horiz_ck, s_2_vert_dir, s_2_vert_ck; + wire tb_h_dir, tb_h_ck, tb_v_dir, tb_v_ck; + reg tb_h_reg, tb_v_reg; + reg [3:0] tb_h_ctr, tb_v_ctr; + wire tb_h_ctr_clr, tb_v_ctr_clr; + + assign s_1_horiz_dir = trakball_i[7]; + assign s_2_horiz_dir = trakball_i[6]; + assign s_1_horiz_ck = trakball_i[5]; + assign s_2_horiz_ck = trakball_i[4]; + assign s_1_vert_dir = trakball_i[3]; + assign s_2_vert_dir = trakball_i[2]; + assign s_1_vert_ck = trakball_i[1]; + assign s_2_vert_ck = trakball_i[0]; + + assign tb_mux = flip ? + { s_1_horiz_dir, s_1_horiz_ck, s_1_vert_dir, s_1_vert_ck } : + { s_2_horiz_dir, s_2_horiz_ck, s_2_vert_dir, s_2_vert_ck }; + + assign tb_h_dir = tb_mux[3]; + assign tb_h_ck = tb_mux[2]; + assign tb_v_dir = tb_mux[1]; + assign tb_v_ck = tb_mux[0]; + + // H + always @(posedge tb_h_ck or posedge reset) + if (reset) + tb_h_reg <= 0; + else + tb_h_reg <= tb_h_dir; + + assign tb_h_ctr_clr = reset | ~steerclr_n; + + always @(posedge tb_h_ck or posedge tb_h_ctr_clr) + if (tb_h_ctr_clr) + tb_h_ctr <= 0; + else + if (tb_h_reg) + tb_h_ctr <= tb_h_ctr + 4'd1; + else + tb_h_ctr <= tb_h_ctr - 4'd1; + + // V + always @(posedge tb_v_ck or posedge reset) + if (reset) + tb_v_reg <= 0; + else + tb_v_reg <= tb_v_dir; + + assign tb_v_ctr_clr = reset | ~steerclr_n; + + always @(posedge tb_v_ck or posedge tb_v_ctr_clr) + if (tb_v_ctr_clr) + tb_v_ctr <= 0; + else + if (tb_v_reg) + tb_v_ctr <= tb_v_ctr + 4'd1; + else + tb_v_ctr <= tb_v_ctr - 4'd1; + + assign tra = tb_h_ctr; + assign trb = tb_v_ctr; + assign dir1 = tb_h_reg; + assign dir2 = tb_v_reg; + + + // Audio output circuitry + + pokey_atosm pokey( + .rst_i(mpu_reset), + .clk_i(phi2), + .adr_i(ab[3:0]), + .dat_i(db_out[7:0]), + .dat_o(pokey_out), + .we_i(~rw_n), + .stb_i(~pokey_n), + .ack_o(), + .irq(), + .audout(audio), + .p_i(8'b0), + .key_code(8'b0), + .key_pressed(1'b0), + .key_shift(1'b0), + .key_break(1'b0), + .serout(), + .serout_rdy_o(), + .serout_ack_i(), + .serin(8'b0), + .serin_rdy_i(1'b0), + .serin_ack_o() + ); + + // + reg [7:0] last_pokey_rd; + always @(posedge s_6mhz) + if (reset) + last_pokey_rd <= 0; + else + if (~pokey_n) + last_pokey_rd <= pokey_out; + + // Video output circuitry + + // The video output circuit receives motion object, playfield, address and data inputs + // and produces a video output to be displayed on the game monitor. + // when the alternate color bit is active, an alternate shade of blue or green is available + + assign comp_sync = ~hsync & ~vsync; + + // XXX implement alternate shades of blue and green... + always @(posedge s_6mhz_n) + if (reset) + rgbi <= 0; + else + rgbi <= coloram_rgbi; + + assign coloram_w_n = write_n | coloram_n; + + wire gry0_or_1; + assign gry0_or_1 = gry[1] | gry[0]; + +// assign rama_sel = { coloram_n, gry0_or_1 }; +// +// assign rama = +// (rama_sel == 2'b00) ? { ab[3:0] } : +// (rama_sel == 2'b01) ? { ab[3:0] } : +// (rama_sel == 2'b10) ? { {gry0_or_1, 1'b1}, area[1:0] } : +// (rama_sel == 2'b11) ? { {gry0_or_1, 1'b1}, gry[1:0] } : +// 4'b0; + + assign rama = gry0_or_1 ? + { {gry0_or_1, 1'b1}, gry[1:0] } : + { {gry0_or_1, 1'b1}, area[1:0] }; +/* +color_ram color_ram( + .clk_a(s_6mhz), + .clk_b(s_6mhz_n), + .reset(reset), + .addr_a(ab[3:0]), + .dout_a(coloram_out), + .din_a(db_out[3:0]), + .we_n_a(coloram_w_n), + .addr_b(rama), + .dout_b(coloram_rgbi));*/ + +dpram #( + .addr_width_g(4), + .data_width_g(4)) +color_ram( + .clk_a_i(s_6mhz), + .clk_b_i(s_6mhz_n), + .we_i(~coloram_w_n), + .addr_a_i(ab[3:0]), + .data_a_o(coloram_out), + .data_a_i(db_out[3:0]), + .addr_b_i(rama), + .data_b_o(coloram_rgbi) + ); + + assign rgb_o = gry == 2'b00 & area[1:0] == 2'b00 ? 9'b000_000_000 : + gry == 2'b00 & area[1:0] == 2'b01 ? 9'b000_000_111 : + gry == 2'b00 & area[1:0] == 2'b10 ? 9'b000_111_000 : + gry == 2'b00 & area[1:0] == 2'b11 ? 9'b111_000_000 : + gry == 2'b01 ? 9'b000_000_111 : + gry == 2'b10 ? 9'b000_111_000 : + gry == 2'b11 ? 9'b111_000_000 : 0; + + + + + + assign sync_o = comp_sync; + assign hsync_o = hsync; + assign vsync_o = vsync; + assign audio_o = { 2'b0, audio }; + assign hblank_o = hblank; + assign vblank_o = vblank; + +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/dpram.vhd b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/dpram.vhd new file mode 100644 index 00000000..d867b5d2 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/dpram.vhd @@ -0,0 +1,59 @@ +------------------------------------------------------------------------------- +-- $Id: dpram.vhd,v 1.1 2006/02/23 21:46:45 arnim Exp $ +------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; + +entity dpram is + generic ( + addr_width_g : integer := 8; + data_width_g : integer := 8 + ); + port ( + clk_a_i : in std_logic; + we_i : in std_logic; + addr_a_i : in std_logic_vector(addr_width_g-1 downto 0); + data_a_i : in std_logic_vector(data_width_g-1 downto 0); + data_a_o : out std_logic_vector(data_width_g-1 downto 0); + clk_b_i : in std_logic; + addr_b_i : in std_logic_vector(addr_width_g-1 downto 0); + data_b_o : out std_logic_vector(data_width_g-1 downto 0) + ); +end entity; + + +library ieee; +use ieee.numeric_std.all; + +architecture rtl of dpram is + + type ram_t is array (natural range 2**addr_width_g-1 downto 0) of + std_logic_vector(data_width_g-1 downto 0); + signal ram_q : ram_t; + +begin + + mem_a: process (clk_a_i) + variable read_addr_v : unsigned(addr_width_g-1 downto 0); + begin + if rising_edge(clk_a_i) then + read_addr_v := unsigned(addr_a_i); + if we_i = '1' then + ram_q(to_integer(read_addr_v)) <= data_a_i; + end if; + data_a_o <= ram_q(to_integer(read_addr_v)); + end if; + end process mem_a; + + mem_b: process (clk_b_i) + variable read_addr_v : unsigned(addr_width_g-1 downto 0); + begin + if rising_edge(clk_b_i) then + read_addr_v := unsigned(addr_b_i); + data_b_o <= ram_q(to_integer(read_addr_v)); + end if; + end process mem_b; + +end rtl; diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/hq2x.sv b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/hq2x.sv new file mode 100644 index 00000000..ece54f96 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/hq2x.sv @@ -0,0 +1,385 @@ +// +// +// Copyright (c) 2012-2013 Ludvig Strigeus +// Copyright (c) 2017,2018 Sorgelig +// +// This program is GPL Licensed. See COPYING for the full license. +// +// +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on + +module Hq2x #(parameter LENGTH, parameter HALF_DEPTH) +( + input clk, + input ce_x4, + input [DWIDTH:0] inputpixel, + input mono, + input disable_hq2x, + input reset_frame, + input reset_line, + input [1:0] read_y, + input hblank, + output [DWIDTH:0] outpixel +); + + +localparam AWIDTH = $clog2(LENGTH)-1; +localparam DWIDTH = HALF_DEPTH ? 11 : 23; +localparam DWIDTH1 = DWIDTH+1; + +wire [5:0] hqTable[256] = '{ + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 47, 35, 23, 15, 55, 39, + 19, 19, 26, 58, 19, 19, 26, 58, 23, 15, 35, 35, 23, 15, 7, 35, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 55, 39, 23, 15, 51, 43, + 19, 19, 26, 58, 19, 19, 26, 58, 23, 15, 51, 35, 23, 15, 7, 43, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 61, 35, 35, 23, 61, 51, 35, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 51, 35, 23, 15, 51, 35, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 61, 7, 35, 23, 61, 7, 43, + 19, 19, 26, 11, 19, 19, 26, 58, 23, 15, 51, 35, 23, 61, 7, 43, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 47, 35, 23, 15, 55, 39, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 51, 35, 23, 15, 51, 35, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 55, 39, 23, 15, 51, 43, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 51, 39, 23, 15, 7, 43, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 51, 35, 23, 15, 51, 39, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 51, 35, 23, 15, 7, 35, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 51, 35, 23, 15, 7, 43, + 19, 19, 26, 11, 19, 19, 26, 11, 23, 15, 7, 35, 23, 15, 7, 43 +}; + +reg [23:0] Prev0, Prev1, Prev2, Curr0, Curr1, Curr2, Next0, Next1, Next2; +reg [23:0] A, B, D, F, G, H; +reg [7:0] pattern, nextpatt; +reg [1:0] cyc; + +reg curbuf; +reg prevbuf = 0; +wire iobuf = !curbuf; + +wire diff0, diff1; +DiffCheck diffcheck0(Curr1, (cyc == 0) ? Prev0 : (cyc == 1) ? Curr0 : (cyc == 2) ? Prev2 : Next1, diff0); +DiffCheck diffcheck1(Curr1, (cyc == 0) ? Prev1 : (cyc == 1) ? Next0 : (cyc == 2) ? Curr2 : Next2, diff1); + +wire [7:0] new_pattern = {diff1, diff0, pattern[7:2]}; + +wire [23:0] X = (cyc == 0) ? A : (cyc == 1) ? Prev1 : (cyc == 2) ? Next1 : G; +wire [23:0] blend_result_pre; +Blend blender(hqTable[nextpatt], disable_hq2x, Curr0, X, B, D, F, H, blend_result_pre); + +wire [DWIDTH:0] Curr20tmp; +wire [23:0] Curr20 = HALF_DEPTH ? h2rgb(Curr20tmp) : Curr20tmp; +wire [DWIDTH:0] Curr21tmp; +wire [23:0] Curr21 = HALF_DEPTH ? h2rgb(Curr21tmp) : Curr21tmp; + +reg [AWIDTH:0] wrin_addr2; +reg [DWIDTH:0] wrpix; +reg wrin_en; + +function [23:0] h2rgb; + input [11:0] v; +begin + h2rgb = mono ? {v[7:0], v[7:0], v[7:0]} : {v[11:8],v[11:8],v[7:4],v[7:4],v[3:0],v[3:0]}; +end +endfunction + +function [11:0] rgb2h; + input [23:0] v; +begin + rgb2h = mono ? {4'b0000, v[23:20], v[19:16]} : {v[23:20], v[15:12], v[7:4]}; +end +endfunction + +hq2x_in #(.LENGTH(LENGTH), .DWIDTH(DWIDTH)) hq2x_in +( + .clk(clk), + + .rdaddr(offs), + .rdbuf0(prevbuf), + .rdbuf1(curbuf), + .q0(Curr20tmp), + .q1(Curr21tmp), + + .wraddr(wrin_addr2), + .wrbuf(iobuf), + .data(wrpix), + .wren(wrin_en) +); + +reg [AWIDTH+1:0] read_x; +reg [AWIDTH+1:0] wrout_addr; +reg wrout_en; +reg [DWIDTH1*4-1:0] wrdata, wrdata_pre; +wire [DWIDTH1*4-1:0] outpixel_x4; +reg [DWIDTH1*2-1:0] outpixel_x2; + +assign outpixel = read_x[0] ? outpixel_x2[DWIDTH1*2-1:DWIDTH1] : outpixel_x2[DWIDTH:0]; + +hq2x_buf #(.NUMWORDS(LENGTH*2), .AWIDTH(AWIDTH+1), .DWIDTH(DWIDTH1*4-1)) hq2x_out +( + .clock(clk), + + .rdaddress({read_x[AWIDTH+1:1],read_y[1]}), + .q(outpixel_x4), + + .data(wrdata), + .wraddress(wrout_addr), + .wren(wrout_en) +); + +wire [DWIDTH:0] blend_result = HALF_DEPTH ? rgb2h(blend_result_pre) : blend_result_pre[DWIDTH:0]; + +reg [AWIDTH:0] offs; +always @(posedge clk) begin + reg old_reset_line; + reg old_reset_frame; + + wrout_en <= 0; + wrin_en <= 0; + + if(ce_x4) begin + + pattern <= new_pattern; + if(read_x[0]) outpixel_x2 <= read_y[0] ? outpixel_x4[DWIDTH1*4-1:DWIDTH1*2] : outpixel_x4[DWIDTH1*2-1:0]; + + if(~&offs) begin + if (cyc == 1) begin + Prev2 <= Curr20; + Curr2 <= Curr21; + Next2 <= HALF_DEPTH ? h2rgb(inputpixel) : inputpixel; + wrpix <= inputpixel; + wrin_addr2 <= offs; + wrin_en <= 1; + end + + case({cyc[1],^cyc}) + 0: wrdata[DWIDTH:0] <= blend_result; + 1: wrdata[DWIDTH1+DWIDTH:DWIDTH1] <= blend_result; + 2: wrdata[DWIDTH1*2+DWIDTH:DWIDTH1*2] <= blend_result; + 3: wrdata[DWIDTH1*3+DWIDTH:DWIDTH1*3] <= blend_result; + endcase + + if(cyc==3) begin + offs <= offs + 1'd1; + wrout_addr <= {offs, curbuf}; + wrout_en <= 1; + end + end + + if(cyc==3) begin + nextpatt <= {new_pattern[7:6], new_pattern[3], new_pattern[5], new_pattern[2], new_pattern[4], new_pattern[1:0]}; + {A, G} <= {Prev0, Next0}; + {B, F, H, D} <= {Prev1, Curr2, Next1, Curr0}; + {Prev0, Prev1} <= {Prev1, Prev2}; + {Curr0, Curr1} <= {Curr1, Curr2}; + {Next0, Next1} <= {Next1, Next2}; + end else begin + nextpatt <= {nextpatt[5], nextpatt[3], nextpatt[0], nextpatt[6], nextpatt[1], nextpatt[7], nextpatt[4], nextpatt[2]}; + {B, F, H, D} <= {F, H, D, B}; + end + + cyc <= cyc + 1'b1; + if(old_reset_line && ~reset_line) begin + old_reset_frame <= reset_frame; + offs <= 0; + cyc <= 0; + curbuf <= ~curbuf; + prevbuf <= curbuf; + {Prev0, Prev1, Prev2, Curr0, Curr1, Curr2, Next0, Next1, Next2} <= '0; + if(old_reset_frame & ~reset_frame) begin + curbuf <= 0; + prevbuf <= 0; + end + end + + if(~hblank & ~&read_x) read_x <= read_x + 1'd1; + if(hblank) read_x <= 0; + + old_reset_line <= reset_line; + end +end + +endmodule + +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +module hq2x_in #(parameter LENGTH, parameter DWIDTH) +( + input clk, + + input [AWIDTH:0] rdaddr, + input rdbuf0, rdbuf1, + output[DWIDTH:0] q0,q1, + + input [AWIDTH:0] wraddr, + input wrbuf, + input [DWIDTH:0] data, + input wren +); + + localparam AWIDTH = $clog2(LENGTH)-1; + wire [DWIDTH:0] out[2]; + assign q0 = out[rdbuf0]; + assign q1 = out[rdbuf1]; + + hq2x_buf #(.NUMWORDS(LENGTH), .AWIDTH(AWIDTH), .DWIDTH(DWIDTH)) buf0(clk,data,rdaddr,wraddr,wren && (wrbuf == 0),out[0]); + hq2x_buf #(.NUMWORDS(LENGTH), .AWIDTH(AWIDTH), .DWIDTH(DWIDTH)) buf1(clk,data,rdaddr,wraddr,wren && (wrbuf == 1),out[1]); +endmodule + +module hq2x_buf #(parameter NUMWORDS, parameter AWIDTH, parameter DWIDTH) +( + input clock, + input [DWIDTH:0] data, + input [AWIDTH:0] rdaddress, + input [AWIDTH:0] wraddress, + input wren, + output logic [DWIDTH:0] q +); + +logic [DWIDTH:0] ram[0:NUMWORDS-1]; + +always_ff@(posedge clock) begin + if(wren) ram[wraddress] <= data; + q <= ram[rdaddress]; +end + +endmodule + +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +module DiffCheck +( + input [23:0] rgb1, + input [23:0] rgb2, + output result +); + + wire [7:0] r = rgb1[7:1] - rgb2[7:1]; + wire [7:0] g = rgb1[15:9] - rgb2[15:9]; + wire [7:0] b = rgb1[23:17] - rgb2[23:17]; + wire [8:0] t = $signed(r) + $signed(b); + wire [8:0] gx = {g[7], g}; + wire [9:0] y = $signed(t) + $signed(gx); + wire [8:0] u = $signed(r) - $signed(b); + wire [9:0] v = $signed({g, 1'b0}) - $signed(t); + + // if y is inside (-96..96) + wire y_inside = (y < 10'h60 || y >= 10'h3a0); + + // if u is inside (-16, 16) + wire u_inside = (u < 9'h10 || u >= 9'h1f0); + + // if v is inside (-24, 24) + wire v_inside = (v < 10'h18 || v >= 10'h3e8); + assign result = !(y_inside && u_inside && v_inside); +endmodule + +module InnerBlend +( + input [8:0] Op, + input [7:0] A, + input [7:0] B, + input [7:0] C, + output [7:0] O +); + + function [10:0] mul8x3; + input [7:0] op1; + input [2:0] op2; + begin + mul8x3 = 11'd0; + if(op2[0]) mul8x3 = mul8x3 + op1; + if(op2[1]) mul8x3 = mul8x3 + {op1, 1'b0}; + if(op2[2]) mul8x3 = mul8x3 + {op1, 2'b00}; + end + endfunction + + wire OpOnes = Op[4]; + wire [10:0] Amul = mul8x3(A, Op[7:5]); + wire [10:0] Bmul = mul8x3(B, {Op[3:2], 1'b0}); + wire [10:0] Cmul = mul8x3(C, {Op[1:0], 1'b0}); + wire [10:0] At = Amul; + wire [10:0] Bt = (OpOnes == 0) ? Bmul : {3'b0, B}; + wire [10:0] Ct = (OpOnes == 0) ? Cmul : {3'b0, C}; + wire [11:0] Res = {At, 1'b0} + Bt + Ct; + assign O = Op[8] ? A : Res[11:4]; +endmodule + +module Blend +( + input [5:0] rule, + input disable_hq2x, + input [23:0] E, + input [23:0] A, + input [23:0] B, + input [23:0] D, + input [23:0] F, + input [23:0] H, + output [23:0] Result +); + + reg [1:0] input_ctrl; + reg [8:0] op; + localparam BLEND0 = 9'b1_xxx_x_xx_xx; // 0: A + localparam BLEND1 = 9'b0_110_0_10_00; // 1: (A * 12 + B * 4) >> 4 + localparam BLEND2 = 9'b0_100_0_10_10; // 2: (A * 8 + B * 4 + C * 4) >> 4 + localparam BLEND3 = 9'b0_101_0_10_01; // 3: (A * 10 + B * 4 + C * 2) >> 4 + localparam BLEND4 = 9'b0_110_0_01_01; // 4: (A * 12 + B * 2 + C * 2) >> 4 + localparam BLEND5 = 9'b0_010_0_11_11; // 5: (A * 4 + (B + C) * 6) >> 4 + localparam BLEND6 = 9'b0_111_1_xx_xx; // 6: (A * 14 + B + C) >> 4 + localparam AB = 2'b00; + localparam AD = 2'b01; + localparam DB = 2'b10; + localparam BD = 2'b11; + wire is_diff; + DiffCheck diff_checker(rule[1] ? B : H, rule[0] ? D : F, is_diff); + + always @* begin + case({!is_diff, rule[5:2]}) + 1,17: {op, input_ctrl} = {BLEND1, AB}; + 2,18: {op, input_ctrl} = {BLEND1, DB}; + 3,19: {op, input_ctrl} = {BLEND1, BD}; + 4,20: {op, input_ctrl} = {BLEND2, DB}; + 5,21: {op, input_ctrl} = {BLEND2, AB}; + 6,22: {op, input_ctrl} = {BLEND2, AD}; + + 8: {op, input_ctrl} = {BLEND0, 2'bxx}; + 9: {op, input_ctrl} = {BLEND0, 2'bxx}; + 10: {op, input_ctrl} = {BLEND0, 2'bxx}; + 11: {op, input_ctrl} = {BLEND1, AB}; + 12: {op, input_ctrl} = {BLEND1, AB}; + 13: {op, input_ctrl} = {BLEND1, AB}; + 14: {op, input_ctrl} = {BLEND1, DB}; + 15: {op, input_ctrl} = {BLEND1, BD}; + + 24: {op, input_ctrl} = {BLEND2, DB}; + 25: {op, input_ctrl} = {BLEND5, DB}; + 26: {op, input_ctrl} = {BLEND6, DB}; + 27: {op, input_ctrl} = {BLEND2, DB}; + 28: {op, input_ctrl} = {BLEND4, DB}; + 29: {op, input_ctrl} = {BLEND5, DB}; + 30: {op, input_ctrl} = {BLEND3, BD}; + 31: {op, input_ctrl} = {BLEND3, DB}; + default: {op, input_ctrl} = {11{1'bx}}; + endcase + + // Setting op[8] effectively disables HQ2X because blend will always return E. + if (disable_hq2x) op[8] = 1; + end + + // Generate inputs to the inner blender. Valid combinations. + // 00: E A B + // 01: E A D + // 10: E D B + // 11: E B D + wire [23:0] Input1 = E; + wire [23:0] Input2 = !input_ctrl[1] ? A : + !input_ctrl[0] ? D : B; + + wire [23:0] Input3 = !input_ctrl[0] ? B : D; + InnerBlend inner_blend1(op, Input1[7:0], Input2[7:0], Input3[7:0], Result[7:0]); + InnerBlend inner_blend2(op, Input1[15:8], Input2[15:8], Input3[15:8], Result[15:8]); + InnerBlend inner_blend3(op, Input1[23:16], Input2[23:16], Input3[23:16], Result[23:16]); +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/keyboard.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/keyboard.v new file mode 100644 index 00000000..89f7e34e --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/keyboard.v @@ -0,0 +1,82 @@ + + +module keyboard +( + input clk, + input reset, + input ps2_kbd_clk, + input ps2_kbd_data, + + output reg[7:0] joystick +); + +reg [11:0] shift_reg = 12'hFFF; +wire[11:0] kdata = {ps2_kbd_data,shift_reg[11:1]}; +wire [7:0] kcode = kdata[9:2]; +reg release_btn = 0; + +reg [7:0] code; +reg input_strobe = 0; + +always @(negedge clk) begin + reg old_reset = 0; + + old_reset <= reset; + + if(~old_reset & reset)begin + joystick <= 0; + end + + if(input_strobe) begin + case(code) + 'h16: joystick[1] <= ~release_btn; // 1 + 'h1E: joystick[2] <= ~release_btn; // 2 + + 'h75: joystick[4] <= ~release_btn; // arrow up + 'h72: joystick[5] <= ~release_btn; // arrow down + 'h6B: joystick[6] <= ~release_btn; // arrow left + 'h74: joystick[7] <= ~release_btn; // arrow right + + 'h29: joystick[0] <= ~release_btn; // Space + 'h11: joystick[1] <= ~release_btn; // Left Alt + 'h0d: joystick[2] <= ~release_btn; // Tab + 'h76: joystick[3] <= ~release_btn; // Escape + endcase + end +end + +always @(posedge clk) begin + reg [3:0] prev_clk = 0; + reg old_reset = 0; + reg action = 0; + + old_reset <= reset; + input_strobe <= 0; + + if(~old_reset & reset)begin + prev_clk <= 0; + shift_reg <= 12'hFFF; + end else begin + prev_clk <= {ps2_kbd_clk,prev_clk[3:1]}; + if(prev_clk == 1) begin + if (kdata[11] & ^kdata[10:2] & ~kdata[1] & kdata[0]) begin + shift_reg <= 12'hFFF; + if (kcode == 8'he0) ; + // Extended key code follows + else if (kcode == 8'hf0) + // Release code follows + action <= 1; + else begin + // Cancel extended/release flags for next time + action <= 0; + release_btn <= action; + code <= kcode; + input_strobe <= 1; + end + end else begin + shift_reg <= kdata; + end + end + end +end +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/mist_io.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/mist_io.v new file mode 100644 index 00000000..801ad881 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/mist_io.v @@ -0,0 +1,519 @@ +// +// mist_io.v +// +// mist_io for the MiST board +// http://code.google.com/p/mist-board/ +// +// Copyright (c) 2014 Till Harbaum +// Copyright (c) 2015-2017 Sorgelig +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +/////////////////////////////////////////////////////////////////////// + +// +// Use buffer to access SD card. It's time-critical part. +// Made module synchroneous with 2 clock domains: clk_sys and SPI_SCK +// (Sorgelig) +// +// for synchronous projects default value for PS2DIV is fine for any frequency of system clock. +// clk_ps2 = clk_sys/(PS2DIV*2) +// + +module mist_io #(parameter STRLEN=0, parameter PS2DIV=100) +( + + // parameter STRLEN and the actual length of conf_str have to match + input [(8*STRLEN)-1:0] conf_str, + + // Global clock. It should be around 100MHz (higher is better). + input clk_sys, + + // Global SPI clock from ARM. 24MHz + input SPI_SCK, + + input CONF_DATA0, + input SPI_SS2, + output SPI_DO, + input SPI_DI, + + output reg [7:0] joystick_0, + output reg [7:0] joystick_1, + output reg [15:0] joystick_analog_0, + output reg [15:0] joystick_analog_1, + output [1:0] buttons, + output [1:0] switches, + output scandoubler_disable, + output ypbpr, + + output reg [31:0] status, + + // SD config + input sd_conf, + input sd_sdhc, + output [1:0] img_mounted, // signaling that new image has been mounted + output reg [31:0] img_size, // size of image in bytes + + // SD block level access + input [31:0] sd_lba, + input [1:0] sd_rd, + input [1:0] sd_wr, + output reg sd_ack, + output reg sd_ack_conf, + + // SD byte level access. Signals for 2-PORT altsyncram. + output reg [8:0] sd_buff_addr, + output reg [7:0] sd_buff_dout, + input [7:0] sd_buff_din, + output reg sd_buff_wr, + + // ps2 keyboard emulation + output ps2_kbd_clk, + output reg ps2_kbd_data, + output ps2_mouse_clk, + output reg ps2_mouse_data, + + // ps2 alternative interface. + + // [8] - extended, [9] - pressed, [10] - toggles with every press/release + output reg [10:0] ps2_key = 0, + + // [24] - toggles with every event + output reg [24:0] ps2_mouse = 0, + + // ARM -> FPGA download + input ioctl_ce, + output reg ioctl_download = 0, // signal indicating an active download + output reg [7:0] ioctl_index, // menu index used to upload the file + output reg ioctl_wr = 0, + output reg [24:0] ioctl_addr, + output reg [7:0] ioctl_dout +); + +reg [7:0] but_sw; +reg [2:0] stick_idx; + +reg [1:0] mount_strobe = 0; +assign img_mounted = mount_strobe; + +assign buttons = but_sw[1:0]; +assign switches = but_sw[3:2]; +assign scandoubler_disable = but_sw[4]; +assign ypbpr = but_sw[5]; + +// this variant of user_io is for 8 bit cores (type == a4) only +wire [7:0] core_type = 8'ha4; + +// command byte read by the io controller +wire drive_sel = sd_rd[1] | sd_wr[1]; +wire [7:0] sd_cmd = { 4'h6, sd_conf, sd_sdhc, sd_wr[drive_sel], sd_rd[drive_sel] }; + +reg [7:0] cmd; +reg [2:0] bit_cnt; // counts bits 0-7 0-7 ... +reg [9:0] byte_cnt; // counts bytes + +reg spi_do; +assign SPI_DO = CONF_DATA0 ? 1'bZ : spi_do; + +reg [7:0] spi_data_out; + +// SPI transmitter +always@(negedge SPI_SCK) spi_do <= spi_data_out[~bit_cnt]; + +reg [7:0] spi_data_in; +reg spi_data_ready = 0; + +// SPI receiver +always@(posedge SPI_SCK or posedge CONF_DATA0) begin + reg [6:0] sbuf; + reg [31:0] sd_lba_r; + reg drive_sel_r; + + if(CONF_DATA0) begin + bit_cnt <= 0; + byte_cnt <= 0; + spi_data_out <= core_type; + end + else + begin + bit_cnt <= bit_cnt + 1'd1; + sbuf <= {sbuf[5:0], SPI_DI}; + + // finished reading command byte + if(bit_cnt == 7) begin + if(!byte_cnt) cmd <= {sbuf, SPI_DI}; + + spi_data_in <= {sbuf, SPI_DI}; + spi_data_ready <= ~spi_data_ready; + if(~&byte_cnt) byte_cnt <= byte_cnt + 8'd1; + + spi_data_out <= 0; + case({(!byte_cnt) ? {sbuf, SPI_DI} : cmd}) + // reading config string + 8'h14: if(byte_cnt < STRLEN) spi_data_out <= conf_str[(STRLEN - byte_cnt - 1)<<3 +:8]; + + // reading sd card status + 8'h16: if(byte_cnt == 0) begin + spi_data_out <= sd_cmd; + sd_lba_r <= sd_lba; + drive_sel_r <= drive_sel; + end else if (byte_cnt == 1) begin + spi_data_out <= drive_sel_r; + end else if(byte_cnt < 6) spi_data_out <= sd_lba_r[(5-byte_cnt)<<3 +:8]; + + // reading sd card write data + 8'h18: spi_data_out <= sd_buff_din; + endcase + end + end +end + +reg [31:0] ps2_key_raw = 0; +wire pressed = (ps2_key_raw[15:8] != 8'hf0); +wire extended = (~pressed ? (ps2_key_raw[23:16] == 8'he0) : (ps2_key_raw[15:8] == 8'he0)); + +// transfer to clk_sys domain +always@(posedge clk_sys) begin + reg old_ss1, old_ss2; + reg old_ready1, old_ready2; + reg [2:0] b_wr; + reg got_ps2 = 0; + + old_ss1 <= CONF_DATA0; + old_ss2 <= old_ss1; + old_ready1 <= spi_data_ready; + old_ready2 <= old_ready1; + + sd_buff_wr <= b_wr[0]; + if(b_wr[2] && (~&sd_buff_addr)) sd_buff_addr <= sd_buff_addr + 1'b1; + b_wr <= (b_wr<<1); + + if(old_ss2) begin + got_ps2 <= 0; + sd_ack <= 0; + sd_ack_conf <= 0; + sd_buff_addr <= 0; + if(got_ps2) begin + if(cmd == 4) ps2_mouse[24] <= ~ps2_mouse[24]; + if(cmd == 5) begin + ps2_key <= {~ps2_key[10], pressed, extended, ps2_key_raw[7:0]}; + if(ps2_key_raw == 'hE012E07C) ps2_key[9:0] <= 'h37C; // prnscr pressed + if(ps2_key_raw == 'h7CE0F012) ps2_key[9:0] <= 'h17C; // prnscr released + if(ps2_key_raw == 'hF014F077) ps2_key[9:0] <= 'h377; // pause pressed + end + end + end + else + if(old_ready2 ^ old_ready1) begin + + if(cmd == 8'h18 && ~&sd_buff_addr) sd_buff_addr <= sd_buff_addr + 1'b1; + + if(byte_cnt < 2) begin + + if (cmd == 8'h19) sd_ack_conf <= 1; + if((cmd == 8'h17) || (cmd == 8'h18)) sd_ack <= 1; + mount_strobe <= 0; + + if(cmd == 5) ps2_key_raw <= 0; + end else begin + + case(cmd) + // buttons and switches + 8'h01: but_sw <= spi_data_in; + 8'h02: joystick_0 <= spi_data_in; + 8'h03: joystick_1 <= spi_data_in; + + // store incoming ps2 mouse bytes + 8'h04: begin + got_ps2 <= 1; + case(byte_cnt) + 2: ps2_mouse[7:0] <= spi_data_in; + 3: ps2_mouse[15:8] <= spi_data_in; + 4: ps2_mouse[23:16] <= spi_data_in; + endcase + ps2_mouse_fifo[ps2_mouse_wptr] <= spi_data_in; + ps2_mouse_wptr <= ps2_mouse_wptr + 1'd1; + end + + // store incoming ps2 keyboard bytes + 8'h05: begin + got_ps2 <= 1; + ps2_key_raw[31:0] <= {ps2_key_raw[23:0], spi_data_in}; + ps2_kbd_fifo[ps2_kbd_wptr] <= spi_data_in; + ps2_kbd_wptr <= ps2_kbd_wptr + 1'd1; + end + + 8'h15: status[7:0] <= spi_data_in; + + // send SD config IO -> FPGA + // flag that download begins + // sd card knows data is config if sd_dout_strobe is asserted + // with sd_ack still being inactive (low) + 8'h19, + // send sector IO -> FPGA + // flag that download begins + 8'h17: begin + sd_buff_dout <= spi_data_in; + b_wr <= 1; + end + + // joystick analog + 8'h1a: begin + // first byte is joystick index + if(byte_cnt == 2) stick_idx <= spi_data_in[2:0]; + else if(byte_cnt == 3) begin + // second byte is x axis + if(stick_idx == 0) joystick_analog_0[15:8] <= spi_data_in; + else if(stick_idx == 1) joystick_analog_1[15:8] <= spi_data_in; + end else if(byte_cnt == 4) begin + // third byte is y axis + if(stick_idx == 0) joystick_analog_0[7:0] <= spi_data_in; + else if(stick_idx == 1) joystick_analog_1[7:0] <= spi_data_in; + end + end + + // notify image selection + 8'h1c: mount_strobe[spi_data_in[0]] <= 1; + + // send image info + 8'h1d: if(byte_cnt<6) img_size[(byte_cnt-2)<<3 +:8] <= spi_data_in; + + // status, 32bit version + 8'h1e: if(byte_cnt<6) status[(byte_cnt-2)<<3 +:8] <= spi_data_in; + default: ; + endcase + end + end +end + + +/////////////////////////////// PS2 /////////////////////////////// +// 8 byte fifos to store ps2 bytes +localparam PS2_FIFO_BITS = 3; + +reg clk_ps2; +always @(negedge clk_sys) begin + integer cnt; + cnt <= cnt + 1'd1; + if(cnt == PS2DIV) begin + clk_ps2 <= ~clk_ps2; + cnt <= 0; + end +end + +// keyboard +reg [7:0] ps2_kbd_fifo[1<= 1)&&(ps2_kbd_tx_state < 9)) begin + ps2_kbd_data <= ps2_kbd_tx_byte[0]; // data bits + ps2_kbd_tx_byte[6:0] <= ps2_kbd_tx_byte[7:1]; // shift down + if(ps2_kbd_tx_byte[0]) + ps2_kbd_parity <= !ps2_kbd_parity; + end + + // transmission of parity + if(ps2_kbd_tx_state == 9) ps2_kbd_data <= ps2_kbd_parity; + + // transmission of stop bit + if(ps2_kbd_tx_state == 10) ps2_kbd_data <= 1; // stop bit is 1 + + // advance state machine + if(ps2_kbd_tx_state < 11) ps2_kbd_tx_state <= ps2_kbd_tx_state + 1'd1; + else ps2_kbd_tx_state <= 0; + end + end +end + +// mouse +reg [7:0] ps2_mouse_fifo[1<= 1)&&(ps2_mouse_tx_state < 9)) begin + ps2_mouse_data <= ps2_mouse_tx_byte[0]; // data bits + ps2_mouse_tx_byte[6:0] <= ps2_mouse_tx_byte[7:1]; // shift down + if(ps2_mouse_tx_byte[0]) + ps2_mouse_parity <= !ps2_mouse_parity; + end + + // transmission of parity + if(ps2_mouse_tx_state == 9) ps2_mouse_data <= ps2_mouse_parity; + + // transmission of stop bit + if(ps2_mouse_tx_state == 10) ps2_mouse_data <= 1; // stop bit is 1 + + // advance state machine + if(ps2_mouse_tx_state < 11) ps2_mouse_tx_state <= ps2_mouse_tx_state + 1'd1; + else ps2_mouse_tx_state <= 0; + end + end +end + + +/////////////////////////////// DOWNLOADING /////////////////////////////// + +reg [7:0] data_w; +reg [24:0] addr_w; +reg rclk = 0; + +localparam UIO_FILE_TX = 8'h53; +localparam UIO_FILE_TX_DAT = 8'h54; +localparam UIO_FILE_INDEX = 8'h55; + +reg rdownload = 0; + +// data_io has its own SPI interface to the io controller +always@(posedge SPI_SCK, posedge SPI_SS2) begin + reg [6:0] sbuf; + reg [7:0] cmd; + reg [4:0] cnt; + reg [24:0] addr; + + if(SPI_SS2) cnt <= 0; + else begin + // don't shift in last bit. It is evaluated directly + // when writing to ram + if(cnt != 15) sbuf <= { sbuf[5:0], SPI_DI}; + + // count 0-7 8-15 8-15 ... + if(cnt < 15) cnt <= cnt + 1'd1; + else cnt <= 8; + + // finished command byte + if(cnt == 7) cmd <= {sbuf, SPI_DI}; + + // prepare/end transmission + if((cmd == UIO_FILE_TX) && (cnt == 15)) begin + // prepare + if(SPI_DI) begin + addr <= 25'h080000; + rdownload <= 1; + end else begin + addr_w <= addr; + rdownload <= 0; + end + end + + // command 0x54: UIO_FILE_TX + if((cmd == UIO_FILE_TX_DAT) && (cnt == 15)) begin + addr_w <= addr; + data_w <= {sbuf, SPI_DI}; + addr <= addr + 1'd1; + rclk <= ~rclk; + end + + // expose file (menu) index + if((cmd == UIO_FILE_INDEX) && (cnt == 15)) ioctl_index <= {sbuf, SPI_DI}; + end +end + +// transfer to ioctl_clk domain. +// ioctl_index is set before ioctl_download, so it's stable already +always@(posedge clk_sys) begin + reg rclkD, rclkD2; + + if(ioctl_ce) begin + ioctl_download <= rdownload; + + rclkD <= rclk; + rclkD2 <= rclkD; + ioctl_wr <= 0; + + if(rclkD != rclkD2) begin + ioctl_dout <= data_w; + ioctl_addr <= addr_w; + ioctl_wr <= 1; + end + end +end + +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/osd.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/osd.v new file mode 100644 index 00000000..c62c10af --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/osd.v @@ -0,0 +1,179 @@ +// A simple OSD implementation. Can be hooked up between a cores +// VGA output and the physical VGA pins + +module osd ( + // OSDs pixel clock, should be synchronous to cores pixel clock to + // avoid jitter. + input clk_sys, + + // SPI interface + input SPI_SCK, + input SPI_SS3, + input SPI_DI, + + // VGA signals coming from core + input [5:0] R_in, + input [5:0] G_in, + input [5:0] B_in, + input HSync, + input VSync, + + // VGA signals going to video connector + output [5:0] R_out, + output [5:0] G_out, + output [5:0] B_out +); + +parameter OSD_X_OFFSET = 10'd0; +parameter OSD_Y_OFFSET = 10'd0; +parameter OSD_COLOR = 3'd0; + +localparam OSD_WIDTH = 10'd256; +localparam OSD_HEIGHT = 10'd128; + +// ********************************************************************************* +// spi client +// ********************************************************************************* + +// this core supports only the display related OSD commands +// of the minimig +reg osd_enable; +(* ramstyle = "no_rw_check" *) reg [7:0] osd_buffer[2047:0]; // the OSD buffer itself + +// the OSD has its own SPI interface to the io controller +always@(posedge SPI_SCK, posedge SPI_SS3) begin + reg [4:0] cnt; + reg [10:0] bcnt; + reg [7:0] sbuf; + reg [7:0] cmd; + + if(SPI_SS3) begin + cnt <= 0; + bcnt <= 0; + end else begin + sbuf <= {sbuf[6:0], SPI_DI}; + + // 0:7 is command, rest payload + if(cnt < 15) cnt <= cnt + 1'd1; + else cnt <= 8; + + if(cnt == 7) begin + cmd <= {sbuf[6:0], SPI_DI}; + + // lower three command bits are line address + bcnt <= {sbuf[1:0], SPI_DI, 8'h00}; + + // command 0x40: OSDCMDENABLE, OSDCMDDISABLE + if(sbuf[6:3] == 4'b0100) osd_enable <= SPI_DI; + end + + // command 0x20: OSDCMDWRITE + if((cmd[7:3] == 5'b00100) && (cnt == 15)) begin + osd_buffer[bcnt] <= {sbuf[6:0], SPI_DI}; + bcnt <= bcnt + 1'd1; + end + end +end + +// ********************************************************************************* +// video timing and sync polarity anaylsis +// ********************************************************************************* + +// horizontal counter +reg [9:0] h_cnt; +reg [9:0] hs_low, hs_high; +wire hs_pol = hs_high < hs_low; +wire [9:0] dsp_width = hs_pol ? hs_low : hs_high; + +// vertical counter +reg [9:0] v_cnt; +reg [9:0] vs_low, vs_high; +wire vs_pol = vs_high < vs_low; +wire [9:0] dsp_height = vs_pol ? vs_low : vs_high; + +wire doublescan = (dsp_height>350); + +reg ce_pix; +always @(negedge clk_sys) begin + integer cnt = 0; + integer pixsz, pixcnt; + reg hs; + + cnt <= cnt + 1; + hs <= HSync; + + pixcnt <= pixcnt + 1; + if(pixcnt == pixsz) pixcnt <= 0; + ce_pix <= !pixcnt; + + if(hs && ~HSync) begin + cnt <= 0; + pixsz <= (cnt >> 9) - 1; + pixcnt <= 0; + ce_pix <= 1; + end +end + +always @(posedge clk_sys) begin + reg hsD, hsD2; + reg vsD, vsD2; + + if(ce_pix) begin + // bring hsync into local clock domain + hsD <= HSync; + hsD2 <= hsD; + + // falling edge of HSync + if(!hsD && hsD2) begin + h_cnt <= 0; + hs_high <= h_cnt; + end + + // rising edge of HSync + else if(hsD && !hsD2) begin + h_cnt <= 0; + hs_low <= h_cnt; + v_cnt <= v_cnt + 1'd1; + end else begin + h_cnt <= h_cnt + 1'd1; + end + + vsD <= VSync; + vsD2 <= vsD; + + // falling edge of VSync + if(!vsD && vsD2) begin + v_cnt <= 0; + vs_high <= v_cnt; + end + + // rising edge of VSync + else if(vsD && !vsD2) begin + v_cnt <= 0; + vs_low <= v_cnt; + end + end +end + +// area in which OSD is being displayed +wire [9:0] h_osd_start = ((dsp_width - OSD_WIDTH)>> 1) + OSD_X_OFFSET; +wire [9:0] h_osd_end = h_osd_start + OSD_WIDTH; +wire [9:0] v_osd_start = ((dsp_height- (OSD_HEIGHT<> 1) + OSD_Y_OFFSET; +wire [9:0] v_osd_end = v_osd_start + (OSD_HEIGHT<= h_osd_start) && (h_cnt < h_osd_end) && + (VSync != vs_pol) && (v_cnt >= v_osd_start) && (v_cnt < v_osd_end); + +reg [7:0] osd_byte; +always @(posedge clk_sys) if(ce_pix) osd_byte <= osd_buffer[{doublescan ? osd_vcnt[7:5] : osd_vcnt[6:4], osd_hcnt[7:0]}]; + +wire osd_pixel = osd_byte[doublescan ? osd_vcnt[4:2] : osd_vcnt[3:1]]; + +assign R_out = !osd_de ? R_in : {osd_pixel, osd_pixel, OSD_COLOR[2], R_in[5:3]}; +assign G_out = !osd_de ? G_in : {osd_pixel, osd_pixel, OSD_COLOR[1], G_in[5:3]}; +assign B_out = !osd_de ? B_in : {osd_pixel, osd_pixel, OSD_COLOR[0], B_in[5:3]}; + +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/p6502.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/p6502.v new file mode 100644 index 00000000..cbc1b8d8 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/p6502.v @@ -0,0 +1,423 @@ + +//`define no_cpu +`define bc_cpu +//`define sim_cpu + +module p6502( + input clk, + input reset_n, + input nmi, + input irq, + input so, + input rdy, + input phi0, + output phi2, + output rw_n, + output [15:0] a, + input [7:0] din, + output [7:0] dout + ); + +`ifdef no_cpu +// assign rw_n = 1'b1; +// assign a = 0; +// assign dout = 0; + + reg cpu_rw_n; + reg [15:0] cpu_a; + reg [7:0] cpu_dout; + + reg [7:0] data; + + assign rw_n = cpu_rw_n; + assign a = cpu_a; + assign dout = cpu_dout; + assign phi2 = ~phi0; + + task cpu_wr; + input [15:0] addr; + input [7:0] data; + begin + $display("cpu_wr %x <- %x", addr, data); + @(posedge phi0); + cpu_a = addr; + cpu_dout = data; + @(posedge phi0); + cpu_rw_n = 1'b0; + @(posedge phi0); + cpu_rw_n = 1'b1; + @(posedge phi0); + end + endtask + + task cpu_rd; + input [15:0] addr; + output [7:0] data; + begin + $display("cpu_rd %x", addr); + @(posedge phi0); + cpu_a = addr; + cpu_dout = data; + @(posedge phi0); + cpu_rw_n = 1'b1; + @(posedge phi0); + cpu_rw_n = 1'b1; + @(posedge phi0); + end + endtask + + task cpu_wr_pf; + input [7:0] a; + input [31:0] d; + reg [5:0] atop; + reg [7:0] b0, b1, b2, b3; + reg [15:0] a0, a1, a2, a3; + begin + b0 = d[7:0]; + b1 = d[15:8]; + b2 = d[23:16]; + b3 = d[31:24]; + + atop = 6'b000001; + a0 = {atop, a[7:4], 2'd0, a[3:0]}; + a1 = {atop, a[7:4], 2'd1, a[3:0]}; + a2 = {atop, a[7:4], 2'd2, a[3:0]}; + a3 = {atop, a[7:4], 2'd3, a[3:0]}; + $display("a %x -> a0 %x %x %x %x", a, a0, a1, a2, a3); + + cpu_wr(a0, b0); + cpu_wr(a1, b1); + cpu_wr(a2, b2); + cpu_wr(a3, b3); + end + endtask + +`ifdef never + task cpu_wr_mapped; + input [12:0] cpu_a; + input [7:0] cpu_d; + reg [7:0] r_a; + reg [3:0] r_w; + begin + r_a = { cpu_a[9:6], cpu_a[3:0] }; + + case (cpu_a[5:4]) + 2'b00: r_w = 4'b1110; + 2'b01: r_w = 4'b1101; + 2'b10: r_w = 4'b1011; + 2'b11: r_w = 4'b0111; + endcase + $display("%x %x -> %x %b", cpu_a, cpu_d, r_a, r_w); + + if (~r_w[3]) + ram3[r_a] = cpu_d; + else + if (~r_w[2]) + ram2[r_a] = cpu_d; + else + if (~r_w[1]) + ram1[r_a] = cpu_d; + else + if (~r_w[0]) + ram0[r_a] = cpu_d; + end + endtask +`endif + + integer i; + + initial + begin + cpu_rw_n = 1'b1; + cpu_a = 0; + cpu_dout = 0; + +`ifdef never + for (i = 'h400; i < 'h7c0; i = i + 1) + cpu_wr(i, 8'h00); +`endif + + #1000; + $display("nocpu: init"); + +`ifdef never + cpu_wr(16'h07c0, 8'h01); + cpu_rd(16'h07c0, data); + cpu_wr(16'h07d0, 8'h02); + cpu_rd(16'h07d0, data); + cpu_wr(16'h07e0, 8'h03); + cpu_rd(16'h07e0, data); + + cpu_wr(16'h0400, 8'haa); + cpu_rd(16'h0400, data); + cpu_wr(16'h0410, 8'hbb); + cpu_rd(16'h0410, data); + #20; + $finish; +`endif + +`ifdef never + cpu_wr(16'h0400, 8'h00); + cpu_wr(16'h0401, 8'h01); + cpu_wr(16'h0402, 8'h02); + cpu_wr(16'h0403, 8'h03); + + cpu_wr(16'h0400, 8'h00); + cpu_wr(16'h0410, 8'h11); + cpu_wr(16'h0420, 8'h22); + cpu_wr(16'h0430, 8'h33); + + cpu_rd(16'h0400, data); + cpu_rd(16'h0401, data); + cpu_rd(16'h0402, data); + cpu_rd(16'h0403, data); + + cpu_rd(16'h0400, data); + cpu_rd(16'h0410, data); + cpu_rd(16'h0420, data); + cpu_rd(16'h0430, data); +`endif + +`ifdef never + cpu_wr_pf(8'd240, 32'h39f08606); + cpu_wr_pf(8'd241, 32'h3df27e0d); + cpu_wr_pf(8'd242, 32'h3df88384); + cpu_wr_pf(8'd243, 32'h3df88b83); + cpu_wr_pf(8'd244, 32'h3df89382); + cpu_wr_pf(8'd245, 32'h3df89b81); + cpu_wr_pf(8'd246, 32'h3df8a380); + cpu_wr_pf(8'd247, 32'h3df8ab87); + cpu_wr_pf(8'd248, 32'h3df8b386); + cpu_wr_pf(8'd249, 32'h3df8bb85); + cpu_wr_pf(8'd250, 32'h3df8c384); + cpu_wr_pf(8'd251, 32'h3df8cb83); + cpu_wr_pf(8'd252, 32'h39f8dc1c); + cpu_wr_pf(8'd253, 32'h7960fff8); + cpu_wr_pf(8'd254, 32'h39388211); + cpu_wr_pf(8'd255, 32'h390f8710); +`endif + + cpu_wr_pf(8'hf0, 32'h39f08606); + cpu_wr_pf(8'hf1, 32'h3df27e0d); + cpu_wr_pf(8'hf2, 32'h39e88384); + cpu_wr_pf(8'hf3, 32'h39e88b83); + cpu_wr_pf(8'hf4, 32'h39e89382); + cpu_wr_pf(8'hf5, 32'h39e8a986); + cpu_wr_pf(8'hf6, 32'h39e8a380); + cpu_wr_pf(8'hf7, 32'h39e8ab87); + cpu_wr_pf(8'hf8, 32'h39e8b386); + cpu_wr_pf(8'hf9, 32'h39e8bb85); + cpu_wr_pf(8'hfa, 32'h39e8c384); + cpu_wr_pf(8'hfb, 32'h39e8cb83); + cpu_wr_pf(8'hfc, 32'h39e8dc1c); + cpu_wr_pf(8'hfd, 32'h7960fff8); + cpu_wr_pf(8'hfe, 32'h39388211); + cpu_wr_pf(8'hff, 32'h390f8710); + + cpu_wr(16'h501, 8'h01); + cpu_wr(16'h521, 8'h14); + cpu_wr(16'h541, 8'h01); + cpu_wr(16'h561, 8'h12); + cpu_wr(16'h581, 8'h09); + + cpu_wr(16'h502, 8'h14); + cpu_wr(16'h522, 8'h05); + cpu_wr(16'h542, 8'h13); + cpu_wr(16'h562, 8'h14); + cpu_wr(16'h582, 8'h00); + + cpu_wr(16'h503, 8'h1b); + cpu_wr(16'h523, 8'h21); + cpu_wr(16'h543, 8'h29); + cpu_wr(16'h563, 8'h28); + cpu_wr(16'h583, 8'h20); + + #10000; +#100000000; + $finish; + +`ifdef never + cpu_wr(16'h07c5, 8'h11); + cpu_wr(16'h07d5, 8'hb7); + cpu_wr(16'h07e5, 8'hf0); + cpu_wr(16'h07f5, 8'h39); + + cpu_wr(16'h07c4, 8'h11); + cpu_wr(16'h07d4, 8'h10); + cpu_wr(16'h07e4, 8'hf0); + cpu_wr(16'h07f4, 8'h39); + + cpu_wr(16'h07c3, 8'h11); + cpu_wr(16'h07d3, 8'h40); + cpu_wr(16'h07e3, 8'h2c); + cpu_wr(16'h07f3, 8'h39); + + cpu_wr(16'h07c2, 8'h10); + cpu_wr(16'h07d2, 8'h60); + cpu_wr(16'h07e2, 8'hf8); + cpu_wr(16'h07f2, 8'h3d); + + cpu_wr(16'h07c1, 8'h12); + cpu_wr(16'h07d1, 8'h80); + cpu_wr(16'h07e1, 8'h02); + cpu_wr(16'h07f1, 8'h39); +`endif + +`ifdef never + cpu_wr(16'h07ee, 8'h2c); + cpu_wr(16'h07de, 8'hb7); + cpu_wr(16'h07ce, 8'h11); + cpu_wr(16'h07fe, 8'h39); + + cpu_wr(16'h07ed, 8'h60); + cpu_wr(16'h07dd, 8'hff); + cpu_wr(16'h07cd, 8'hf8); + cpu_wr(16'h07fd, 8'h79); + + cpu_wr(16'h07ec, 8'hf8); + cpu_wr(16'h07dc, 8'h14); + cpu_wr(16'h07cc, 8'h1c); + cpu_wr(16'h07fc, 8'h39); + + cpu_wr(16'h07eb, 8'hf0); + cpu_wr(16'h07db, 8'h8e); + cpu_wr(16'h07cb, 8'h03); + cpu_wr(16'h07fb, 8'h3d); + + cpu_wr(16'h07ea, 8'hf0); + cpu_wr(16'h07da, 8'h96); + cpu_wr(16'h07ca, 8'h04); + cpu_wr(16'h07fa, 8'h3d); + + cpu_wr(16'h07e9, 8'hf0); + cpu_wr(16'h07d9, 8'h9e); + cpu_wr(16'h07c9, 8'h05); + cpu_wr(16'h07f9, 8'h3d); + + cpu_wr(16'h07e8, 8'hf0); + cpu_wr(16'h07d8, 8'ha6); + cpu_wr(16'h07c8, 8'h06); + cpu_wr(16'h07f8, 8'h3d); + + cpu_wr(16'h07e7, 8'hf0); + cpu_wr(16'h07d7, 8'hae); + cpu_wr(16'h07c7, 8'h07); + cpu_wr(16'h07f7, 8'h3d); + + cpu_wr(16'h07e6, 8'hf0); + cpu_wr(16'h07d6, 8'hb6); + cpu_wr(16'h07c6, 8'h00); + cpu_wr(16'h07f6, 8'h3d); + + cpu_wr(16'h07e5, 8'hf0); + cpu_wr(16'h07d5, 8'hbe); + cpu_wr(16'h07c5, 8'h01); + cpu_wr(16'h07f5, 8'h3d); + + cpu_wr(16'h07e4, 8'hf0); + cpu_wr(16'h07d4, 8'hc6); + cpu_wr(16'h07c4, 8'h02); + cpu_wr(16'h07f4, 8'h3d); + + cpu_wr(16'h07e3, 8'hf0); + cpu_wr(16'h07d3, 8'hce); + cpu_wr(16'h07c3, 8'h03); + cpu_wr(16'h07f3, 8'h3d); + + cpu_wr(16'h07e2, 8'hf0); + cpu_wr(16'h07d2, 8'hd6); + cpu_wr(16'h07c2, 8'h04); + cpu_wr(16'h07f2, 8'h3d); + + cpu_wr(16'h07e1, 8'hf0); + cpu_wr(16'h07d1, 8'hde); + cpu_wr(16'h07c1, 8'h05); + cpu_wr(16'h07f1, 8'h3d); + + cpu_wr(16'h07e0, 8'hf0); + cpu_wr(16'h07d0, 8'he6); + cpu_wr(16'h07c0, 8'h06); + cpu_wr(16'h07f0, 8'h39); +`endif + + $display("nocpu: done"); + end +`endif + +`ifdef bc_cpu + wire [15:0] ma; + wire reset; + wire rw; + + wire rw_nxt; + wire [15:0] ma_nxt; + wire sync; + wire [31:0] state; + wire [4:0] flags; + + bc6502 bc6502(reset, phi0, ~nmi, ~irq, rdy, so, din, dout, rw, ma, + rw_nxt, ma_nxt, sync, state, flags); + + assign reset = ~reset_n; + assign a = ma; + assign rw_n = rw; +// assign phi2 = clk; + assign phi2 = ~phi0; + +`ifdef SIMULATION + // + integer pccount; + initial + pccount = 0; + + always @(posedge clk) + begin + if (bc6502.s_sync) + begin + pccount = pccount + 1; + if (pccount == 1000/* || $time > 9999999*/) + begin + pccount = 0; +`ifdef debug_cpu + $display("%t; cpu: pc %x; a=%x x=%x", $time, bc6502.pc_reg, bc6502.a_reg, bc6502.x_reg); +`ifndef verilator + $fflush; + $flushlog; +`endif +`endif + end + + if (^bc6502.pc_reg === 1'bX || + ^bc6502.a_reg === 1'bX || + ^bc6502.x_reg === 1'bX || + ^bc6502.y_reg === 1'bX) + begin + $display("%t; cpu: x's in pc, a, x or y", $time); + $finish; + end + + if (^a === 1'bX || ^din === 1'bX || ^dout === 1'bX) + begin + $display("%t; cpu: x's in addr bus or data bus", $time); + $finish; + end + end + end +`endif // SIMULATION +`endif // bc_cpu + +`ifdef sim_cpu + reg cpu_rw_n; + reg [15:0] cpu_a; + reg [7:0] cpu_dout; + + reg [7:0] data; + + assign rw_n = cpu_rw_n; + assign a = cpu_a; + assign dout = cpu_dout; + assign phi2 = ~phi0; + +`endif + +endmodule // p6502 diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pf_ram.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pf_ram.v new file mode 100644 index 00000000..aac899ac --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pf_ram.v @@ -0,0 +1,82 @@ +module pf_ram( + input clk_a, + input clk_b, + input reset, + input [7:0] addr_a, + input [7:0] din_a, + output [7:0] dout_a, + input [3:0] ce_a, + input [3:0] we_a, + input [7:0] addr_b, + output [31:0] dout_b, + input [3:0] ce_b +); + + assign dout_a = + ~ce_a[3] ? d_a3 : + ~ce_a[2] ? d_a2 : + ~ce_a[1] ? d_a1 : + ~ce_a[0] ? d_a0 : + 8'b0; + + assign dout_b = { d_b3, d_b2, d_b1, d_b0 }; +wire [7:0] d_a0, d_a1, d_a2, d_a3; +wire [7:0] d_b0, d_b1, d_b2, d_b3; + +dpram #( + .addr_width_g(8), + .data_width_g(8)) +ram0( + .clk_a_i(clk_a & ~ce_a[0]), + .we_i(~we_a[0]), + .addr_a_i(addr_a), + .data_a_i(din_a), + .data_a_o(d_a0), + .clk_b_i(clk_b & ~ce_b[0]), + .addr_b_i(addr_b), + .data_b_o(d_b0) + ); + +dpram #( + .addr_width_g(8), + .data_width_g(8)) +ram1( + .clk_a_i(clk_a & ~ce_a[1]), + .we_i(~we_a[1]), + .addr_a_i(addr_a), + .data_a_i(din_a), + .data_a_o(d_a1), + .clk_b_i(clk_b & ~ce_b[1]), + .addr_b_i(addr_b), + .data_b_o(d_b1) + ); + +dpram #( + .addr_width_g(8), + .data_width_g(8)) +ram2( + .clk_a_i(clk_a & ~ce_a[2]), + .we_i(~we_a[2]), + .addr_a_i(addr_a), + .data_a_i(din_a), + .data_a_o(d_a2), + .clk_b_i(clk_b & ~ce_b[2]), + .addr_b_i(addr_b), + .data_b_o(d_b2) + ); + +dpram #( + .addr_width_g(8), + .data_width_g(8)) +ram3( + .clk_a_i(clk_a & ~ce_a[3]), + .we_i(~we_a[3]), + .addr_a_i(addr_a), + .data_a_i(din_a), + .data_a_o(d_a3), + .clk_b_i(clk_b & ~ce_b[3]), + .addr_b_i(addr_b), + .data_b_o(d_b3) + ); + +endmodule \ No newline at end of file diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pll.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pll.v new file mode 100644 index 00000000..683a7fcf --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pll.v @@ -0,0 +1,357 @@ +// megafunction wizard: %ALTPLL% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altpll + +// ============================================================ +// File Name: pll.v +// Megafunction Name(s): +// altpll +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 13.0.1 Build 232 06/12/2013 SP 1 SJ Full Version +// ************************************************************ + + +//Copyright (C) 1991-2013 Altera Corporation +//Your use of Altera Corporation's design tools, logic functions +//and other software and tools, and its AMPP partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Altera Program License +//Subscription Agreement, Altera MegaCore Function License +//Agreement, or other applicable license agreement, including, +//without limitation, that your use is for the sole purpose of +//programming logic devices manufactured by Altera and sold by +//Altera or its authorized distributors. Please refer to the +//applicable agreement for further details. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module pll ( + inclk0, + c0, + c1, + c2); + + input inclk0; + output c0; + output c1; + output c2; + + wire [4:0] sub_wire0; + wire [0:0] sub_wire6 = 1'h0; + wire [2:2] sub_wire3 = sub_wire0[2:2]; + wire [0:0] sub_wire2 = sub_wire0[0:0]; + wire [1:1] sub_wire1 = sub_wire0[1:1]; + wire c1 = sub_wire1; + wire c0 = sub_wire2; + wire c2 = sub_wire3; + wire sub_wire4 = inclk0; + wire [1:0] sub_wire5 = {sub_wire6, sub_wire4}; + + altpll altpll_component ( + .inclk (sub_wire5), + .clk (sub_wire0), + .activeclock (), + .areset (1'b0), + .clkbad (), + .clkena ({6{1'b1}}), + .clkloss (), + .clkswitch (1'b0), + .configupdate (1'b0), + .enable0 (), + .enable1 (), + .extclk (), + .extclkena ({4{1'b1}}), + .fbin (1'b1), + .fbmimicbidir (), + .fbout (), + .fref (), + .icdrclk (), + .locked (), + .pfdena (1'b1), + .phasecounterselect ({4{1'b1}}), + .phasedone (), + .phasestep (1'b1), + .phaseupdown (1'b1), + .pllena (1'b1), + .scanaclr (1'b0), + .scanclk (1'b0), + .scanclkena (1'b1), + .scandata (1'b0), + .scandataout (), + .scandone (), + .scanread (1'b0), + .scanwrite (1'b0), + .sclkout0 (), + .sclkout1 (), + .vcooverrange (), + .vcounderrange ()); + defparam + altpll_component.bandwidth_type = "AUTO", + altpll_component.clk0_divide_by = 9, + altpll_component.clk0_duty_cycle = 50, + altpll_component.clk0_multiply_by = 8, + altpll_component.clk0_phase_shift = "0", + altpll_component.clk1_divide_by = 9, + altpll_component.clk1_duty_cycle = 50, + altpll_component.clk1_multiply_by = 4, + altpll_component.clk1_phase_shift = "0", + altpll_component.clk2_divide_by = 9, + altpll_component.clk2_duty_cycle = 50, + altpll_component.clk2_multiply_by = 2, + altpll_component.clk2_phase_shift = "0", + altpll_component.compensate_clock = "CLK0", + altpll_component.inclk0_input_frequency = 37037, + altpll_component.intended_device_family = "Cyclone IV E", + altpll_component.lpm_hint = "CBX_MODULE_PREFIX=pll", + altpll_component.lpm_type = "altpll", + altpll_component.operation_mode = "NORMAL", + altpll_component.pll_type = "AUTO", + altpll_component.port_activeclock = "PORT_UNUSED", + altpll_component.port_areset = "PORT_UNUSED", + altpll_component.port_clkbad0 = "PORT_UNUSED", + altpll_component.port_clkbad1 = "PORT_UNUSED", + altpll_component.port_clkloss = "PORT_UNUSED", + altpll_component.port_clkswitch = "PORT_UNUSED", + altpll_component.port_configupdate = "PORT_UNUSED", + altpll_component.port_fbin = "PORT_UNUSED", + altpll_component.port_inclk0 = "PORT_USED", + altpll_component.port_inclk1 = "PORT_UNUSED", + altpll_component.port_locked = "PORT_UNUSED", + altpll_component.port_pfdena = "PORT_UNUSED", + altpll_component.port_phasecounterselect = "PORT_UNUSED", + altpll_component.port_phasedone = "PORT_UNUSED", + altpll_component.port_phasestep = "PORT_UNUSED", + altpll_component.port_phaseupdown = "PORT_UNUSED", + altpll_component.port_pllena = "PORT_UNUSED", + altpll_component.port_scanaclr = "PORT_UNUSED", + altpll_component.port_scanclk = "PORT_UNUSED", + altpll_component.port_scanclkena = "PORT_UNUSED", + altpll_component.port_scandata = "PORT_UNUSED", + altpll_component.port_scandataout = "PORT_UNUSED", + altpll_component.port_scandone = "PORT_UNUSED", + altpll_component.port_scanread = "PORT_UNUSED", + altpll_component.port_scanwrite = "PORT_UNUSED", + altpll_component.port_clk0 = "PORT_USED", + altpll_component.port_clk1 = "PORT_USED", + altpll_component.port_clk2 = "PORT_USED", + altpll_component.port_clk3 = "PORT_UNUSED", + altpll_component.port_clk4 = "PORT_UNUSED", + altpll_component.port_clk5 = "PORT_UNUSED", + altpll_component.port_clkena0 = "PORT_UNUSED", + altpll_component.port_clkena1 = "PORT_UNUSED", + altpll_component.port_clkena2 = "PORT_UNUSED", + altpll_component.port_clkena3 = "PORT_UNUSED", + altpll_component.port_clkena4 = "PORT_UNUSED", + altpll_component.port_clkena5 = "PORT_UNUSED", + altpll_component.port_extclk0 = "PORT_UNUSED", + altpll_component.port_extclk1 = "PORT_UNUSED", + altpll_component.port_extclk2 = "PORT_UNUSED", + altpll_component.port_extclk3 = "PORT_UNUSED", + altpll_component.width_clock = 5; + + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "9" +// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "9" +// Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "9" +// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "24.000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "12.000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "6.000000" +// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E" +// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "0" +// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps" +// Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +// Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0" +// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "8" +// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "4" +// Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "2" +// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "24.00000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "12.00000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "6.00000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz" +// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg" +// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif" +// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.000" +// Retrieval info: PRIVATE: SPREAD_USE STRING "0" +// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK2 STRING "1" +// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +// Retrieval info: PRIVATE: USE_CLK0 STRING "1" +// Retrieval info: PRIVATE: USE_CLK1 STRING "1" +// Retrieval info: PRIVATE: USE_CLK2 STRING "1" +// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA2 STRING "0" +// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +// Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "9" +// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "8" +// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "9" +// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "4" +// Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "9" +// Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "2" +// Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +// Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E" +// Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +// Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +// Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +// Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +// Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +// Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +// Retrieval info: USED_PORT: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2" +// Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +// Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +// Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +// Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +// Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +// Retrieval info: CONNECT: c2 0 0 0 0 @clk 0 0 1 2 +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_bb.v FALSE +// Retrieval info: LIB_FILE: altera_mf +// Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pokey_atosm.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pokey_atosm.v new file mode 100644 index 00000000..83ab3db5 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/pokey_atosm.v @@ -0,0 +1,553 @@ +// Atosm Chip +// Copyright (C) 2008 Tomasz Malesinski +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +module pokey_counter(clk_i, dat_i, + freq_ld, start, cnt_en, + out, borrow); + input clk_i; + input [7:0] dat_i; + input freq_ld; + input start; + input cnt_en; + output [7:0] out; + output borrow; + + reg [7:0] freq; + reg [7:0] out; + + assign borrow = (out == 0); + + always @ (posedge clk_i) + if (start) + out <= freq; + else if (cnt_en) + out <= out - 8'd1; + + always @ (posedge clk_i) + if (freq_ld) + freq <= dat_i; + +endmodule + +module pokey_basefreq(rst, clk_i, base15, out); + + input rst; + input clk_i; + input base15; + output out; + + reg [5:0] div57; + reg [1:0] div4; + + assign out = (div57 == 0) && (!base15 || div4 == 0); + + always @ (posedge clk_i) + if (rst) begin + div57 <= 6'b0; + div4 <= 2'b0; + end else if (div57 == 56) begin + div57 <= 0; + div4 <= div4 + 2'd1; + end else + div57 <= div57 + 6'd1; + +endmodule + +module pokey_poly4(rst, clk_i, out); + input rst; + input clk_i; + output out; + + reg [3:0] shift; + + assign out = shift[3]; + + always @ (posedge clk_i) + if (rst) + shift <= {shift[2:0], 1'b0}; + else + shift <= {shift[2:0], shift[3] ~^ shift[2]}; + +endmodule + +module pokey_poly5(rst, clk_i, out); + input rst; + input clk_i; + output out; + + reg [4:0] shift; + + assign out = shift[4]; + + always @ (posedge clk_i) + if (rst) + shift <= {shift[3:0], 1'b0}; + else + shift <= {shift[3:0], shift[4] ~^ shift[2]}; + +endmodule + +module pokey_poly17(rst, clk_i, short, out, random); + + input rst; + input clk_i; + input short; + output out; + output [7:0] random; + + reg [16:0] shift; + wire new_bit; + reg last_short; + + assign out = shift[16]; + assign random = shift[16:9]; + + assign new_bit = shift[16] ~^ shift[11]; + + // last_short is used to reset the shortened shift register when + // switching from long to short. + always @ (posedge clk_i) + if (rst) + last_short <= 0; + else + last_short <= short; + + always @ (posedge clk_i) + if (rst) + shift <= 0; + else + shift <= {shift[15:8], + (short ? new_bit : shift[7]) & ~rst & (last_short | ~short), + shift[6:0], new_bit}; +endmodule + +module pokey_audout(rst, clk_i, dat_i, + audc_we, + poly4, poly5, poly17, + in, filter_en, filter_in, + out); + input rst; + input clk_i; + input [7:0] dat_i; + input audc_we; + input poly4, poly5, poly17; + input in, filter_en, filter_in; + + output [3:0] out; + + reg [3:0] vol; + reg vol_only; + reg no_poly5; + reg poly4_sel; + reg no_poly17_4; + reg nf, filter_reg; + + wire change; + wire ch_out; + + assign out = (ch_out | vol_only) ? vol : 4'b0; + + assign change = in & (no_poly5 | poly5); + assign ch_out = filter_en ? filter_reg ^ nf : nf; + + always @ (posedge clk_i) + if (audc_we) begin + vol <= dat_i[3:0]; + vol_only <= dat_i[4]; + no_poly5 <= dat_i[7]; + poly4_sel <= dat_i[6]; + no_poly17_4 <= dat_i[5]; + end + + always @ (posedge clk_i) + if (rst) + nf <= 0; + else if (change) + if (no_poly17_4) + nf <= ~nf; + else if (poly4_sel) + nf <= poly4; + else + nf <= poly17; + + always @ (posedge clk_i) + if (!filter_en || rst) + filter_reg <= 0; + else if (filter_in) + filter_reg <= nf; + +endmodule + +module pokey_atosm(rst_i, + clk_i, + adr_i, + dat_i, + dat_o, + we_i, + stb_i, + ack_o, + irq, + audout, + p_i, + key_code, key_pressed, key_shift, key_break, + serout, serout_rdy_o, serout_ack_i, + serin, serin_rdy_i, serin_ack_o); + input rst_i; + input clk_i; + input [3:0] adr_i; + input [7:0] dat_i; + input we_i; + input stb_i; + input [7:0] key_code; + input key_pressed, key_shift, key_break; + input serout_ack_i; + input [7:0] serin; + input serin_rdy_i; + input [7:0] p_i; + + output [7:0] dat_o; + output ack_o; + output irq; + output [5:0] audout; + output [7:0] serout; + output serout_rdy_o, serin_ack_o; + + wire rst_i, clk_i; + wire [3:0] adr_i; + wire [7:0] dat_i; + wire we_i; + wire stb_i; + wire [7:0] key_code; + wire key_pressed, key_shift, key_break; + reg last_key_pressed, last_key_break; + + wire ack_o; + reg [7:0] dat_o; + + wire [5:0] audout; + + wire [7:0] serin; + wire serin_rdy_i; + reg last_serin_rdy_i; + reg serin_ack_o; + reg [7:0] serout; + reg serout_rdy_o; + wire serout_ack_i; + reg last_serout_ack_i; + + wire rst; + wire start_timer; + + reg irq; + + parameter [2:0] IRQ_BREAK = 7; + parameter [2:0] IRQ_KEY = 6; + parameter [2:0] IRQ_SERIN = 5; + parameter [2:0] IRQ_SEROUT = 4; + parameter [2:0] IRQ_SERFIN = 3; + parameter [2:0] IRQ_TIMER4 = 2; + parameter [2:0] IRQ_TIMER2 = 1; + parameter [2:0] IRQ_TIMER1 = 1; + + reg [7:0] irqen; + reg [7:0] irqst; + + // SKCTL bits. + reg [1:0] rst_bits; + + // AUDCTL bits. + reg poly9; + reg fast_ch0; + reg fast_ch2; + reg ch01; + reg ch23; + reg fi02; + reg fi13; + reg base15; + + reg [3:0] audf_we; + reg [3:0] audc_we; + wire [3:0] start; + wire [3:0] cnt_en; + wire [31:0] ctr_out; + wire [3:0] borrow; + + wire poly4, poly5, poly17; + reg [3:1] poly4_shift, poly5_shift, poly17_shift; + wire base; + + wire [3:0] audout0, audout1, audout2, audout3; + + integer i, irq_i; + + wire [7:0] random; + + assign audout = {1'b0, audout0} + {1'b0, audout1} + {1'b0, audout2} + {1'b0, audout3}; + assign rst = (rst_bits == 2'b00) | rst_i; + + assign ack_o = stb_i; + + // + reg [7:0] pot_done = 0; + reg [7:0] pot_cntr[0:7]; + reg [7:0] pot_count; + + // POTGO + always @ (posedge clk_i) + if (we_i && stb_i && adr_i == 'hb) + begin + pot_cntr[0] <= 8'h00; + pot_cntr[1] <= 8'h00; + pot_cntr[2] <= 8'h00; + pot_cntr[3] <= 8'h00; + pot_cntr[4] <= 8'h00; + pot_cntr[5] <= 8'h00; + pot_cntr[6] <= 8'h00; + pot_cntr[7] <= 8'h00; + pot_done <= 8'h00; + pot_count <= 0; + end // if (we_i && stb_i && adr_i == 'hb) + else + begin + if (pot_count != 8'hff) + pot_count <= pot_count + 8'd1; + else + pot_done <= 8'hff; + + pot_cntr[0] <= p_i[0] ? 8'hff : 8'h00; + pot_cntr[1] <= p_i[1] ? 8'hff : 8'h00; + pot_cntr[2] <= p_i[2] ? 8'hff : 8'h00; + pot_cntr[3] <= p_i[3] ? 8'hff : 8'h00; + pot_cntr[4] <= p_i[4] ? 8'hff : 8'h00; + pot_cntr[5] <= p_i[5] ? 8'hff : 8'h00; + pot_cntr[6] <= p_i[6] ? 8'hff : 8'h00; + pot_cntr[7] <= p_i[7] ? 8'hff : 8'h00; + end + +`ifdef never + always @ (adr_i or key_code or random or serin or irqst or irqen or + key_shift or key_pressed) + if (adr_i == 'h9) + // KBCODE + dat_o = key_code; + else if (adr_i == 'ha) + // RANDOM + dat_o = random; + else if (adr_i == 'hd) + // SERIN + dat_o = serin; + else if (adr_i == 'he) + // IRQST + dat_o = ~(irqst & irqen); + else if (adr_i == 'hf) + // SKSTAT + dat_o = {1'b1, // no framing error + 1'b1, // no keyboard overrun + 1'b1, // no serial data input over-run + 1'b1, // serial input pad + ~key_shift, + ~key_pressed, + 1'b1, // serial input shift register busy + 1'b1}; // not used + else + dat_o = 'hff; +`else // !`ifdef never + always @ (adr_i or key_code or random or serin or irqst or irqen or + key_shift or key_pressed or pot_done or + pot_cntr[0] or pot_cntr[1] or pot_cntr[2] or pot_cntr[3] or + pot_cntr[4] or pot_cntr[5] or pot_cntr[6] or pot_cntr[7]) + case (adr_i) + 4'h0, 4'h1, 4'h2, 4'h3, 4'h4, 4'h5, 4'h6, 4'h7: + dat_o = pot_cntr[adr_i[2:0]]; + 4'h8: // ALLPOT + dat_o = pot_done; + 4'h9: // KBCODE + dat_o = key_code; + 4'ha: // RANDOM + dat_o = random; + 4'hd: // SERIN + dat_o = serin; + 4'he: // IRQST + dat_o = ~(irqst & irqen); + 4'hf: // SKSTAT + dat_o = {1'b1, // no framing error + 1'b1, // no keyboard overrun + 1'b1, // no serial data input over-run + 1'b1, // serial input pad + ~key_shift, + ~key_pressed, + 1'b1, // serial input shift register busy + 1'b1}; // not used + default: + dat_o = 'hff; + endcase +`endif // !`ifdef never + + always @ (adr_i) begin + for (i = 0; i < 4; i = i + 1) + audf_we[i] = {28'b0, adr_i} == (i << 1); + for (i = 0; i < 4; i = i + 1) + audc_we[i] = {28'b0, adr_i} == ((i << 1) + 32'd1); + end + + assign start_timer = (we_i && stb_i && adr_i == 9); + + always @ (posedge clk_i) + if (rst) begin + poly9 <= 0; + fast_ch0 <= 0; + fast_ch2 <= 0; + ch01 <= 0; + ch23 <= 0; + fi02 <= 0; + fi13 <= 0; + base15 <= 0; + end + else + if (we_i && stb_i && adr_i == 8) begin + poly9 <= dat_i[7]; + fast_ch0 <= dat_i[6]; + fast_ch2 <= dat_i[5]; + ch01 <= dat_i[4]; + ch23 <= dat_i[3]; + fi02 <= dat_i[2]; + fi13 <= dat_i[1]; + base15 <= dat_i[0]; + end + + // SKRES + always @ (posedge clk_i) + if (we_i && stb_i && adr_i == 'ha) begin + // TODO: reset SKSTAT[7:5] if they are implemented + end + + always @ (posedge clk_i) begin + last_serin_rdy_i <= serin_rdy_i; + if (rst) + serin_ack_o <= 0; + else if (stb_i && !we_i && adr_i == 'hd && serin_rdy_i) + serin_ack_o <= 1; + else if (!serin_rdy_i) + serin_ack_o <= 0; + end + + // SEROUT + always @ (posedge clk_i) begin + last_serout_ack_i <= serout_ack_i; + if (rst) + serout_rdy_o <= 0; + else if (we_i && stb_i && adr_i == 'hd) begin + serout <= dat_i; + serout_rdy_o <= 1; + end else if (serout_ack_i) + serout_rdy_o <= 0; + end + + // IRQEN + always @ (posedge clk_i) + if (we_i && stb_i && adr_i == 'he) + irqen <= dat_i; + + always @ (posedge clk_i or posedge rst_i) + if (rst_i) + rst_bits <= 0; + else + if (we_i && stb_i && adr_i == 'hf) begin + rst_bits <= dat_i[1:0]; + // TODO: rest of the bits. + end + + always @ (posedge clk_i) begin + last_key_pressed <= key_pressed; + last_key_break <= key_break; + end + + always @ (posedge clk_i) + // IRQ_SERFIN has no latch. + irqst <= irqen & ({irqst[7:4], + !serout_ack_i && !serout_rdy_o, + irqst[2:0]} | + {key_break && !last_key_break, + key_pressed && !last_key_pressed, + serin_rdy_i && !last_serin_rdy_i, + serout_ack_i && !last_serout_ack_i, + 1'b0, borrow[3], borrow[1:0]}); + + always @ (irqst) begin + irq = 0; + for (i = 0; i < 8; i = i + 1) + irq = irq || irqst[i]; + end + + pokey_basefreq u_base(rst, clk_i, base15, base); + + pokey_poly4 u_poly4(rst, clk_i, poly4); + pokey_poly5 u_poly5(rst, clk_i, poly5); + pokey_poly17 u_poly17(rst, clk_i, poly9, poly17, random); + + always @ (posedge clk_i) begin + poly4_shift <= {poly4_shift[2:1], poly4}; + poly5_shift <= {poly5_shift[2:1], poly5}; + poly17_shift <= {poly17_shift[2:1], poly17}; + end + + assign cnt_en[0] = fast_ch0 ? 1'b1 : base; + assign cnt_en[1] = ch01 ? borrow[0] : base; + assign cnt_en[2] = fast_ch2 ? 1'b1 : base; + assign cnt_en[3] = ch23 ? borrow[2] : base; + + assign start[0] = start_timer | (ch01 ? borrow[1] : borrow[0]); + assign start[1] = start_timer | borrow[1]; + assign start[2] = start_timer | (ch23 ? borrow[3] : borrow[2]); + assign start[3] = start_timer | borrow[3]; + + // TODO: clean it up after removing the array of instances + // (remove assignments above) + // TODO: do we need ctr_out? + pokey_counter u_ctr0(clk_i, dat_i, + audf_we[0], start[0], cnt_en[0], + ctr_out[7:0], borrow[0]); + pokey_counter u_ctr1(clk_i, dat_i, + audf_we[1], start[1], cnt_en[1], + ctr_out[15:8], borrow[1]); + pokey_counter u_ctr2(clk_i, dat_i, + audf_we[2], start[2], cnt_en[2], + ctr_out[23:16], borrow[2]); + pokey_counter u_ctr3(clk_i, dat_i, + audf_we[3], start[3], cnt_en[3], + ctr_out[31:24], borrow[3]); + pokey_audout u_audout0(start_timer, clk_i, dat_i, + audc_we[0], + poly4, poly5, poly17, + borrow[0], fi02, borrow[2], + audout0); + pokey_audout u_audout1(start_timer, clk_i, dat_i, + audc_we[1], + poly4_shift[1], poly5_shift[1], poly17_shift[1], + borrow[1], fi13, borrow[3], + audout1); + pokey_audout u_audout2(start_timer, clk_i, dat_i, + audc_we[2], + poly4_shift[2], poly5_shift[2], poly17_shift[2], + borrow[2], 1'b0, 1'b0, + audout2); + pokey_audout u_audout3(start_timer, clk_i, dat_i, + audc_we[3], + poly4_shift[3], poly5_shift[3], poly17_shift[3], + borrow[3], 1'b0, 1'b0, + audout3); +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-211.f7.hex b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-211.f7.hex new file mode 100644 index 00000000..f84cc665 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-211.f7.hex @@ -0,0 +1,129 @@ +:10000000000000003C1818FF7E3C180000000000B3 +:10001000000000003C18187E7EBD180000000000A3 +:10002000000000003C1818FF7E3C18000000000093 +:10003000000000003C99187E7E3C18000000000083 +:10004000000000000A4C3E3EFE7CB80000000000AC +:10005000000000000A4C3E3EFE7CB800000000009C +:100060000000000010189CFEFE9C1810000000000C +:100070000000000010189CFEFE9C181000000000FC +:10008000000000001830F2FFF230180000000000FD +:100090000000000000000000000000000000000060 +:1000A000442211224468A03CA0684422112244004A +:1000B000904824244468E03CA068442424489000EC +:1000C000904824244468A03CA0684424244890001C +:1000D000108844334468E03CA068443344881000EE +:1000E0000000001818987F8F7F1E7CB80000000069 +:1000F0000000001818186F9F2F5EBC7800000000E9 +:100100002255BE740261C2743643E040367DAE446F +:10011000149442F14294343C3C349442F14294149D +:1001200000244A34340C3E756D2A1C34344A2400B1 +:100130000000000010003C1C1C1E00040000000019 +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:10016000809850343C3C3C3F3E3C7CBC3C7CB89846 +:100170000086FC050F0F0F7F8F8F0F1FEF8F0E066E +:1001800001060D08087CFFFCF8C8CDC6C1CCE47C94 +:1001900001060D087CFFFCC8CDC6E1603018443C68 +:1001A000000000000000000000000000000000004F +:1001B000000000F888F800F888F800F8A8A8000007 +:1001C000000000F888F800F888F800E8A8F80000B7 +:1001D0000000000008B14281020029500000000028 +:1001E00000000000599601838284EA31000000007B +:1001F000000000007CFE7F3E7FFE7C7E0000000051 +:1002000000000000000000000000000000000000EE +:1002100000000000000000000000000000000000DE +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:1002400000000000000000000000000000000000AE +:10025000000000000000000000000000000000009E +:10026000000000000000000000000000000000008E +:10027000000000000000000000000000000000007E +:10028000000000000000000000000000000000006E +:10029000000000000000000000000000000000005E +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000000000000003E +:1002C000000000000000000000000000000000002E +:1002D00000000000000000003C4281818181423C1E +:1002E0003C4281818181423C000000000800000006 +:1002F00000000000000000001830F2FFF23018008B +:1003000000000000000000000000000000000000ED +:1003100000000000000000000000000000000000DD +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:100350000000000000000000FFFFFFFFFFFFFFFFA5 +:100360000000000000000000FFFFFFFFFFFFFFFF95 +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:1003C0000C060F030F070E0C1C0E3F0F1F0F1E0C09 +:1003D0001C0E3F7F3F3F1E1C1C1EFFFFFFFF1E1C0D +:1003E00000040E020E060C00000C0E0E0E0E0C0089 +:1003F000000C0E6E2E0E0C00000C0E6E6E0E0C001D +:10040000000000003C18187EFF3C180000000000AF +:10041000000000003C18187EFF3C1800000000009F +:10042000000000003C18997E7E3C1800000000008F +:10043000000000003C18997E7E3C1800000000007F +:1004400000000000084D3E3EFE7C384000000000E9 +:1004500000000000084D3E3EFE7C384000000000D9 +:100460000000000004189CFEFE9C18040000000020 +:100470000000000040189CFEFE9C18400000000098 +:10048000000000000000000000000000000000006C +:10049000000000000000000000000000000000005C +:1004A000442222224468A03CE068442222224400E4 +:1004B000402090886868E03CE068688890204000B0 +:1004C000442222224468A03CE068442222224400C4 +:1004D000201088644768E03CE0684764881020008A +:1004E0000000001818D82F9F4F3EBC780000000075 +:1004F0000000001818187F8F3FDE3CF80000000055 +:100500003442E942341C3643E942343442E942344D +:100510002866DA5DBE4C7B36367B4EBE1DDA66142D +:10052000000008101C3E31742E1C7C38081000009E +:10053000000000000000083038000000000000004B +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000008C681A1E1E1E1F7E9E9E1EFE9E9C8C68 +:1005700080B0A0687878787E7A7AFC7878F8F8B0DD +:1005800001060D18107CFFFCD0D8CDC6E17C040C10 +:1005900001060D087CFFFCC8CDC6C1CCD2C4CC7806 +:1005A000000000000000000000000000000000004B +:1005B000000000F888F800F888F800F8A8B80000F3 +:1005C000000000000000000000000000000000002B +:1005D0000000000014E502A2852063040000000072 +:1005E0000000000036DDCF6746FF6EA80000000067 +:1005F00000000000207EFE6C3E7C78A00000000021 +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:00000001FF diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-212.hj7.hex b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-212.hj7.hex new file mode 100644 index 00000000..576e23e8 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-212.hj7.hex @@ -0,0 +1,129 @@ +:10000000000000003C7E7E7E7E3C18000000000068 +:10001000000000003C7E7E7E7E3C18000000000058 +:10002000000000003C7E7E7E7E3C18000000000048 +:10003000000000003C7E7E7E7E3C18000000000038 +:1000400000000000387CFEFEFE7C3800000000004E +:1000500000000000387CFEFEFE7C3800000000003E +:10006000000000000078FCFEFEFC780000000000AC +:10007000000000000078FCFEFEFC7800000000009C +:1000800000000000000C0C000C0C00000000000040 +:100090000000000000000000000000000000000060 +:1000A000000000000070F8FCF87000000000000084 +:1000B000000000000070F8FCF87000000000000074 +:1000C000000000000070F8FCF87000000000000064 +:1000D000000000000070F8FCF87000000000000054 +:1000E0000000000004867080700040800000000066 +:1000F00000000000040660902040804000000000E6 +:100100002277EA7C3E7FBE7C3E7FBE7C1E7FEA4437 +:100110005CEC7EFF7EEC5E3B3B5EEC7EFF7EEC5C4F +:100120000024762C3C142E5F733E043C2C76240075 +:100130000000000018082C12241A010C0000000016 +:1001400000000000000000000000000000000000AF +:10015000000000000000000000000000000000009F +:1001600000181C1C0C3C3C182C18342C1C3C381857 +:10017000000607070F0F0F040D0B070F0F0F0E06DA +:100180000000000002030003020000000000000065 +:100190000000000203000302000000000000000055 +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:1001C000000000000000000000000000000000002F +:1001D000000000004A004201800289520000000035 +:1001E000000000009DB449A6C2A16A4500000000BD +:1001F0000000000000FE7FE767FE7F2A000000008D +:100200000000000000000000F8FC262226FCF80098 +:10021000FEFE929292FE6C00387CC68282C644003A +:10022000FEFE8282C67C3800FEFE929292828000A0 +:10023000FEFE121212120200387CC68292F2F20006 +:10024000FEFE101010FEFE008282FEFE8282000082 +:1002500040C0808080FE7E00FEFE3078ECC68200CA +:10026000FEFE808080808000FEFE1C381CFEFE00AA +:10027000FEFE1C3870FEFE007CFE828282FE7C0048 +:10028000FEFE2222223E1C007CFE82A2E27EBC00F8 +:10029000FEFE2262F2DE8C004CDE929296F460004A +:1002A0000202FEFE020200007EFE808080FE7E00D2 +:1002B0001E3E70E0703E1E00FEFE703870FEFE00B6 +:1002C000C6EE7C387CEEC6000E1EF0F01E0E00005E +:1002D000C2E2F2BA9E8E86003C42BDC3C3A5423C38 +:1002E0003C42FD93938D423C000000000000000062 +:1002F0002E100894CAA89000183CFEFFFE3C18007F +:10030000387CC282867C38008084FEFE80800000BB +:10031000C4E6F2B2BA9E8C0040C2929A9EF6620087 +:1003200030382C26FEFE20004ECE8A8A8AFA7000D3 +:1003300078FC969292F260000606E2F21A0E06002F +:100340006C9E9AB2B2EC60000C9E9292D27E3C00FF +:10035000000000000000000000000000000000009D +:10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:1003700000000066660000000000000000000000B1 +:10038000000000000000000000000000000000006D +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:1003C00000040E020E060C00000C0E0E0E0E0C00A9 +:1003D000000C0E6E2E0E0C00000C0E6E6E0E0C003D +:1003E0000C0201010101020C1C0231011101120C6D +:1003F0001C0231111131121C1C12F19191F1121CCD +:10040000000000003C7E7E7E7E3C18000000000064 +:10041000000000003C7E7E7E7E3C18000000000054 +:10042000000000003C7E7E7E7E3C18000000000044 +:10043000000000003C7E7E7E7E3C18000000000034 +:1004400000000000387CFEFEFE7C3800000000004A +:1004500000000000387CFEFEFE7C3800000000003A +:10046000000000000078FCFEFEFC780000000000A8 +:10047000000000000078FCFEFEFC78000000000098 +:1004800000000000000000FC000000000000000070 +:10049000000000000000000000000000000000005C +:1004A000000000000070F8FCF87000000000000080 +:1004B000000000000070F8FCF87000000000000070 +:1004C000000000000070F8FCF87000000000000060 +:1004D000000000000070F8FCF87000000000000050 +:1004E0000000000004C62090402080400000000072 +:1004F000000000000406708030C000C00000000052 +:100500003C7EF77E3C1C3E7FF77E3C3C7EF77E3C8B +:10051000287EFE37EA745F6E6E5F74EA37FE7E14E3 +:10052000000018183452344A522C4A2C1818000073 +:10053000000000000010383028100000000000000B +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000000C0E061E1E1E080C1A160E1E1E1C0C5B +:1005700000303838587858505838787068187830C3 +:100580000000000002030003020000000000000061 +:100590000000000203000302000000000000000051 +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D0000000000054CB50A205B24B1000000000F8 +:1005E000000000007E7DE66367FB6E2A00000000CD +:1005F0000000000018BC7FEF7EFD14A0000000008A +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:00000001FF diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-213.p4.hex b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-213.p4.hex new file mode 100644 index 00000000..7aff2594 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-213.p4.hex @@ -0,0 +1,17 @@ +:1000000000000000000000000000000000000000F0 +:1000100000000000000000000000000000000000E0 +:1000200000000000000000000000000000000000D0 +:1000300000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:1000500000000000000000000000000000000000A0 +:100060000000000000000000020202020202020280 +:100070000202020202020202020202020202020A58 +:100080000A0A0A0A0A0E0000000000000000000030 +:100090000000000000000000000000000000000060 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C0000000000000000000000000000000000030 +:1000D0000000000000000000000000000000000020 +:1000E0000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A70 +:1000F0000A0A0B0B0B0A0A0A0A0A0A0A0A0A0A0A5D +:00000001FF diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-prog.hex b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-prog.hex new file mode 100644 index 00000000..c1c076b0 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/136001-prog.hex @@ -0,0 +1,513 @@ +:100000004C4B3B1B313938302041544152C920768A +:10001000285820602D468A90FC8D0020AD000C29C8 +:1000200020F0FE20662520793020452710E72007A4 +:100030003B20192120273320552920012720D22AAF +:1000400020022220D72E20DD2B201C2E20592020FC +:10005000DA2320F32C4C152055A54329AFD008A551 +:100060004045EFC920900160A57045F0C9F8902087 +:10007000A688B59AC90CB06BB5ABC902A0059002B1 +:10008000A009C91290054A186906A898D5D79053B7 +:10009000A5002903D00FE640A540186901290309EE +:1000A0001C45EF8540A560858BA570A4EFF0061870 +:1000B00065804CB82038E580857045F0C9049024EF +:1000C000A20C209A2C901CA5002903D016AD0A1072 +:1000D0002903D00FA90445F3186570A000202F2C28 +:1000E00020AC2B6020E82060A91C45EF8540A9F8D2 +:1000F00045F08570AD0A1029F8F0F9C91090F5386F +:10010000E9048560A003A688B5ABC906B002A002C9 +:100110008480A900855085B860A586106F20952140 +:10012000A9038593A9208594A9408591A905859265 +:10013000207438A500D005A984202438A500AE007D +:100140000686FF2980D045A54329AFD030A563A0FE +:1001500001C91C9008A0FFC9E4B002A453988453BD +:100160001820EF2AA573858DA0FFC930B008A00123 +:10017000C9099002A4839884831820282B20642B1B +:10018000A213A9AB5D2021CA10FA85FE6002BB5AFA +:10019000305FEE7DA820B32185AEB9C02185B0A91E +:1001A00006202438A5B020AB38A5AE209E38A90083 +:1001B0004C9E38A5FD29304A4A4AA8B9BF216000A3 +:1001C00001200150010002A688A002B5ABD00CA509 +:1001D000FD29400910D5A99002A0018481AD0A1023 +:1001E0002904F00598207C38A88451A96045F08541 +:1001F00071A9FF8561A9F88541A96085A1A900853C +:10020000B560A54329AFF00160A20DA541A8292042 +:10021000F007C0F890F24CFA22A5002903D010E6AE +:1002200041A54145F2C91C9006A91445F28541C675 +:10023000A1D035AD0A102980F018A551F010A461A5 +:10024000C0FBB00EC005900A85BEA900F002A5BE95 +:100250008551A5FD294009202D0A10F007A5812010 +:100260007C388581A93085A1A56138E551856185F6 +:100270008BA571A4EFF0061865814C802238E581CA +:100280008571A000202F2CF013A000B132293FC9A6 +:10029000389009A900913220952BA20DA561C9FFC4 +:1002A000B054A57145F0C909B006A581103D3032A2 +:1002B000A688B5ABF838E906D81002A9004AC906E5 +:1002C0009002A9050A0A0A858DA96045F038E58DD6 +:1002D000A6EFF006C571900AB004C571B004A581FF +:1002E0003009A20D206F2C9007A581207C388581D4 +:1002F000A20D209A2C6020C72160C6A1D011AD0AA2 +:1003000010292F090F85A1A91485B545F2854160F3 +:10031000B554858BA0FFB5443002A001B56460A63A +:1003200088B594D020B5C2098095C2B59CC9039008 +:1003300014D69AD004A90C959AA902B4ABC004B003 +:1003400002A901959CA9038534B59C8574A8A500D4 +:100350002902D00598207C38A88444A9F845F08566 +:1003600064A9808554B59A858BC901F035A042A255 +:10037000019434A9F845F09564B5739574B5439527 +:10038000441004A908D002A9F8187553955488C0E0 +:100390003FD002A047E8E48B90D7A688B59AC90C55 +:1003A000F02DA9F845F0A68B9564A9009534A90213 +:1003B000A4F4F0019895742C0A101003207C389551 +:1003C00044AD0A1029F89554B564E8E00C90D9A919 +:1003D0000CA6889594A5FE859760A5863038AD015A +:1003E00008291CF031A5AB05ADF01BC6A9D027A983 +:1003F0003C85A9F8A5AB38E901D885AB1018C6AD86 +:10040000A95985ABD010A90085A520BC26A54329F4 +:10041000AFD00320C82CA587D00160A5DBD0FBC6D8 +:1004200087D0F7A5D6F00FA980202438A900A8917D +:100430009185D64C3629A54329AFD0034C412520C0 +:100440003629A5861011A501100A297F850120FEF5 +:100450003120602D4C3B25A5A505A6D046C686209B +:100460006732A5EFF018A5C21014A98085EE2045CB +:100470002520362920FE31A5C1100320602D20C77C +:1004800021201F2320E820A9018500A90420243869 +:10049000A689A9FF9D021C204F3AA93D85F9A90014 +:1004A00085FA60A689CAD0034C3425A688B5A4D0A5 +:1004B00024A5A7D01EE6A7A9808587A9F98543852D +:1004C00042A904202438A900202438A58809202026 +:1004D000853860C6A7A5884903AAB5A4F0568688C2 +:1004E000A98025EE058885EEC982D003206525B553 +:1004F000A185A0A688E001D00320452520FE31A6D5 +:1005000088E002D011B5A4C5A4D00BA5ADD007A931 +:100510000C959420C328B5C2094095C2A9A085872F +:10052000A900202438A5880920208538A9F9854309 +:10053000854285D6A688D6A420BC2620C72120E8DF +:1005400020201F2360A5FE85BD85BF8D071C8D0063 +:100550002485F585F785F685F085EF85F185F285AB +:10056000F385F485F860AD010829E385D329038577 +:100570008DD004A90285C8A5FD290C4A4A690285C7 +:10058000A4A586300160A58DF003202438A500299C +:10059000200A0A858DA5C805C9F010A6DC1029C956 +:1005A00002901EA90085DCA98AD01AA5FD298085A4 +:1005B000DC498A202438A2FF8E031CA2FF8E041C73 +:1005C00060A90A058D202438A909202438A5C8C9A6 +:1005D0000A900AA921208538A5C838E90A092020EF +:1005E0008538A5C9F002A91E208538A6C8F0CCA57B +:1005F000DC30C8A58D8D031CAD010CA6FF4AB0BB35 +:10060000C6C8A9FF8D031C8D041CA90085FB85FCB1 +:10061000859A85CB85CA86899D021CA6A4CA86A513 +:10062000E68620A42620B32185AE85AFB9C02185FA +:10063000B085B1AD000C2910F007A98085EE2045EA +:1006400025207628AD0108291CF00C4A4A85ADA961 +:100650000085ABA93C85A94CBC26BD7A2648BD7B4C +:1006600026A8BD7C26AA688E0E148E06148D0F1443 +:100670008D05148C0D148C0714600D000E020401FE +:100680000E010C04010B010C0A090B040C0D0A09E4 +:100690000C0E0A0E010B01040100060D0E0A0E0CD1 +:1006A0000B000D02A9FF85C185C2A208B5029D7885 +:1006B00001B51A9D8101CA10F34C4F3AA906858BEA +:1006C000A90445F729068592A9DF45F68591A6A5D7 +:1006D000A91FCA1002A900208538C68BD0F2A9062E +:1006E00045F78592A95F45F68591A906858B38E582 +:1006F000A6AAA900CA1002A91F208538C68BD0F26D +:1007000060A20DB434C0F99018C0FA9004D634D069 +:1007100010E00DD00CA54329AFD006A5D745EF8535 +:1007200041CA10DFA54329AFF01AA5002903D01450 +:10073000A543C928B00EE643C927D008A90085DA29 +:10074000A90485DB60A5C125C2100160A5C23018CF +:10075000A5EE1014A5EFD010A98285EE2065252006 +:10076000FE31202733203629A5894AF014A900201C +:100770002438A002A6C21001888488980920208508 +:1007800038A908202438A905202438A98945F585E9 +:1007900091A90545F78592A688B4C0848D981865FF +:1007A000C0858E208238A48DC8208238A48DC8C808 +:1007B000208238AD010CA6EFF0014A4A4A4A269A37 +:1007C000A59A291FC918D046E6C0A5C0C903903212 +:1007D000A688A9FF95C0A5EFF01DA98085EE20454C +:1007E0002520FE31203629202733201F2320C72132 +:1007F00020E820A5C13032A5C125C23017A200864D +:10080000C060E68EA68EA9F48501A901951AA501FE +:10081000F0BED02EA988202438A985202438A9002C +:100820008D89058DA9058DC90520A42620602DA6DA +:10083000898601CAF0C7A980202438A900A891910F +:10084000F0BBA5002907D02BA2FFA900A4B985B948 +:100850001007A20198207C38A8C00490168A45F49D +:10086000A68E18751A3008C91B9006A900F002A9B7 +:100870001A951AA90060A9208D0810A90C859B85DE +:100880009CA5FF858885538583A902859D859EA2A9 +:1008900006A9008D0F1095B2CA10FBA20595A8CA33 +:1008A00010FBAD0A104D0A101865C885C8A9038D44 +:1008B0000F10201F23A9C085A085A285A320C721D2 +:1008C00020E820A90F8D0414A688A90095C2AA20AB +:1008D0005A26A2008A9D00049D00059D00069D00E9 +:1008E00007E8D0F1A68895D7A21B868BA22DAD0A6A +:1008F0001029E0058B858DAD0A1029030904858E2A +:10090000868FA000A58D291FA6EFF006C914900EB2 +:10091000B004C90CB008B18DD004A688F6D7A93FA1 +:1009200045EF918DA58B38E901C902B002A91B855D +:100930008BA68FCA10B8A91045F28543A98085639C +:100940008562A90845F08573A90C45F18572A91146 +:1009500045F2854260A587F00160A20BA500290F32 +:10096000D004A90785B3B53410034CCB2AA50029C0 +:1009700001D009B53418690129F79534A001B5648F +:1009800045F0C909B00AB534C910B0028497B564FE +:100990002907D07398A488D99400D014A902B4442C +:1009A0001002A9FE9544A902B4741002A9FE957420 +:1009B000B5342940F00FB56338F564207A38C9089A +:1009C000B0454C962AB5342920D03CB554C9F09096 +:1009D0000AB474F00EB444102E300FC910B00BB42A +:1009E00074D0034CAA2AB444301D201023202F2C8D +:1009F000F010C9389011C93CB00DB53409209534B8 +:100A00009005206F2C90BBB56445F0B474F0D41001 +:100A100012A4EFF00845F0C9C99063B068C930B0BE +:100A20005D9062C909B05EB5342940D051B5342912 +:100A3000DF9534E00BF0478AA8C8B93400303F296D +:100A400040F03BC00BF009B9350030042940D029F3 +:100A5000B9640045F0C909B025B9340029079934B3 +:100A600000B94400207C38994400B9640029F89901 +:100A70006400A900997400F005C8C00C90C5B57455 +:100A8000207C389574B564A4EFF0061875744C9406 +:100A90002A38F5749564B5441875549554209A2CE9 +:100AA000902FB5642907C904D021B544207C38951E +:100AB00044B474D01609003003207C389574A9041E +:100AC000B4441002A9FC1875549554CA30034C66FE +:100AD0002960A586100160A54329AFD0F9A57385CB +:100AE0008DA4FEA5B984B9204F32658485849865AC +:100AF00063AA858BA000A573202F2CD0118AC9F47E +:100B00009004A9F4D00AC90BB006A90BD002A563C2 +:100B10008563A486100160A000A5BB84BB207C383F +:100B2000204F3265858585986573AAA463848BA060 +:100B300000202F2CD0258AC908901CC9F1B014C9F7 +:100B4000809008C9C8B016A9C8D012C931900EA9A2 +:100B500030D00AA9F0D006A908D002A5738573A4E5 +:100B600086100160A572A6EFF00738E58DB00E90F3 +:100B70000538E58D9007207A38C905B00DA90445E0 +:100B8000F01865738572A5638562A54329AFF004EB +:100B9000A928854260A532291FA6EFF006C9149046 +:100BA0000AB004C90CB004A688D6D760A000B13240 +:100BB000D02AA532291FF024C91FF020A6EFF00A81 +:100BC000C91EF018C914900EB008C901F00EC90C66 +:100BD000B004A688F6D7A93F45EF913260A597F0FB +:100BE0004DA587D049A5A0F003C6A060A688A00B9C +:100BF000B9340030048810F860A900993400A94085 +:100C000045F0996400A9FC995400A902997400B5B3 +:100C1000A1C9609004E90895A185A0AD0A10290238 +:100C2000D007A904995400A9FE994400F694604A9B +:100C30004A4A69008532A9018533980A0A0A18656B +:100C40008B858BA9F738E58BB002A90029F80A2615 +:100C5000330A26330532A433C007D008C9C0900434 +:100C6000291F09A08532A000B132F00245EF60864D +:100C70008B868CE68CA00CB96400D564D017B9348F +:100C800000C9F4B010C48BF00CB55438F9540055B9 +:100C900044C9F4B0048810DF1860B55438E5632007 +:100CA0007A38E00DD005C90A900560C907B0FB8508 +:100CB0008DB56438E573207A38C907B0ED18658DB5 +:100CC000E00DF02AC90CB0E2A9308587A920854340 +:100CD000A9FF9534A9288542A5863004A91385B7B4 +:100CE000A90085B285B385B485B585B81860C90EED +:100CF0004CC62CA000A5002907D014A5B7D010A57C +:100D0000DBF00CC907D009A5DAC9C0900384DB6009 +:100D1000B1DA293FC9389040C93FB03CA93F45EFFF +:100D200091DAA900858BA90520BA2DA9FF853FA5D9 +:100D3000DB858BA5DA0A268B0A268B0A268B856F24 +:100D4000A58B291F491F0A0A0AE903855FE6DAD045 +:100D500002E6DBA91385B260E6DAD0A3E6DBD0B009 +:100D6000A907202438A000A25C8691A9058592B924 +:100D70000400848D38209E38A48DB90300209E384D +:100D8000A48DB9020018209E38A900208538A48DB2 +:100D9000208238E68DA48D208238E68DA48D2082B5 +:100DA00038A591291F0940AACAA48DC8C01890B9B6 +:100DB00060C9868DA688D694A68DA486305D868D62 +:100DC000F8A6881875A795A7B5A9658B95A9900D64 +:100DD000B5A1E90295A1B5AB18690195ABD8A68874 +:100DE000B5A9D5ADB5ABF5AF902F20B321F81875E7 +:100DF000AD95ADB9C02175AF95AFD8AD0108291C2F +:100E0000F006A5AD05ABF011B5A4C906F00BB0FE18 +:100E1000F6A4A91185B620BC26A68D60A54045EF95 +:100E2000C93490034CA52EC930B05DA57045F0C9FA +:100E3000F89004A500F0034CD62EA688B59AC90BED +:100E4000B0F5AD0A102903D0EEA91485B8A9304534 +:100E5000EF8540B5ABC9029012AD0A102903F00B23 +:100E6000A9022C0A10100DA9FED009A9012C0A1004 +:100E70001002A9FF8550A90085608580AD0A102960 +:100E80007818697045F08570A54329AFD01DA5601D +:100E9000A4EFF00638E5504C9D2E1865508560850E +:100EA0008BD00BF00645EFC9FAB02B4CE820A5001B +:100EB0002903D00DA5401869012903093045EF85A4 +:100EC00040A000A570202F2CC940B00AC93C900654 +:100ED00029FB45EF913260A572A4EFF00518690770 +:100EE00049FFC9F3B075A90445F0186573C572D000 +:100EF00025A54329AFD018AD010CA6861003AD0A75 +:100F000010C0C0D0062908F009D0042904F0034C11 +:100F10005A30A90B85B4A562858BA90745F4A47244 +:100F20001865728572848DA90145F318658DA0003E +:100F3000202F2CF029293FC9389020E901C93BF026 +:100F400004C937D00DA900858BA90120BA2DA000B6 +:100F5000A5EF45EF9132D00320952B4C5730A20DD1 +:100F6000B534C9769008C9B99069C9F8B065B56457 +:100F700045F0C9F8B05D45F038E572207A38A8E050 +:100F80000CD016B53445EFC920B00EA58045F0C988 +:100F9000049006C007B03C9004C005B036B5543884 +:100FA000E562207A38A8E00DF025E00C9060B534B9 +:100FB00045EFC920B010C006B019A002A904C58031 +:100FC000F00A8580D095C00AB009A0104C4830C006 +:100FD0000A90034C4230A0B684D7A003A57138E52F +:100FE00073207A38C940B00CE6D7A009C91690041E +:100FF000E6D7A006A980859F85A1A90085B5A9F09F +:10100000C5619006A910C561903E8561D03AC006C1 +:10101000B030A900858BA010B5342940D004A000C1 +:10102000E68B9820B22DE00BF008B535300429BFCF +:101030009535201023202F2C868D20AC2BA68D4C8F +:101040004F30CA30154C602F848BA90020BA2DA9CF +:101050001385B2A9FF9534207D2BA688B59405870A +:10106000F010A54145EFC99C9007C69FD00320C74B +:101070002160F69CA940858760A686100FA2008E8D +:1010800001108E03108E05108E071060A5004A9087 +:1010900019A4B598F011C6B5D004A91485B5B9B096 +:1010A000318D0610B9C4318D0710A4B498F00AC66A +:1010B000B4B9A5318D0410A9648D0510A5ADD01467 +:1010C000A5ABC916B00EC914900AA5002904F016E4 +:1010D000A910D012A4B6F028A5002907D073C6B66F +:1010E00088F01DB9D8318D0210A9A4D061A4B888A8 +:1010F000D002A01484B8B9E9318D0210A9A4D04E51 +:10110000A57045F0C9F8B036A54329AFD030A54049 +:1011100045EFC934B028C920B0D3A57045F44A4979 +:10112000FF09808D0210A9A4D024A4B298F00BC6A8 +:10113000B2B971318D0010B984318D011060A4B342 +:1011400098F00BC6B3B997318D0210B99E318D035B +:1011500010A4B7F0D5A5002903D016C6B788F011A2 +:10116000B971318D0010B98431F0031869028D0115 +:10117000106000000000F0E0D0C0B0A0908070606F +:1011800050403020100000000081818182828282E4 +:101190008383838384848484700000A000C0E0A1E2 +:1011A0000000A200A2A4F0E0D0C0B0A090807060C7 +:1011B0005005052020303035353030202005052001 +:1011C0002030303535A100A200A300A400A300A266 +:1011D00000A100A200A300A2002828302828303C4B +:1011E0005150506050506074A20060607070606038 +:1011F0006070707050508080505050808080A0008F +:101200008432A9048533848DA900858B848EA2083D +:10121000B132293FC938268BC8CAD0F4A68DBD008B +:1012200001E68DA8A58B9D0001848BA48EA208A940 +:1012300000268B9004A93F45EF9132C8CAD0F098A0 +:10124000D002E633C0C0D0C0A533C907D0BA60C948 +:1012500008900CC9F8B008C980A9089002A9F8C97B +:10126000806AA8A9006A60A9FFA20085C185C2F8AA +:10127000A5FB186D8E018D8E01A5FC6D8F018D8FE4 +:1012800001AD900169008D9001AD91016900B01C24 +:101290008D9101AD8B011865898D8B01AD8C016934 +:1012A000008D8C01AD8D0169008D8D01D8A000B934 +:1012B0000200D5A8B90300F5AAB90400F5AC902E38 +:1012C000C8C8C8C01890E8CA10E3A5C2300EC5C18E +:1012D000900A6902C9189002A9FF85C2A90085C0B9 +:1012E000A5C225C11007A900850120602D60868D4B +:1012F000848E94C1A217B517951ABDFFFF9502CA37 +:10130000E48ED0F2A901951AA900951B951C85B908 +:10131000A68DB5AC990400B5AA990300B5A89902A9 +:1013200000A9F08501D0A0A91F45F58591A9044524 +:10133000F78592A5AC38209E38A5AA209E38A5A88E +:1013400018209E38AD0108291CF01DA90745F78516 +:1013500092A91F45F58591A5AD38209E38A92E206C +:101360008538A5AB18209E38A99F45F58591A9051C +:1013700045F78592A50438209E38A503209E38A500 +:1013800002184C9E38FFFFFFFFFFFFFFFFFFFFFF2C +:10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:1013A000FFFFFFFFFFFFFFFFFFFFFFFFF5A202AD03 +:1013B000010CE001F003B0020A0A0AB5CF291FB000 +:1013C00037F010C91BB00AA8A5D42907C9079890FF +:1013D00002E90195CFAD010C2910D004A9F085D206 +:1013E000A5D2F008C6D2A90095CF95CC18B5CCF0FF +:1013F00023D6CCD01F38B01CC91BB009B5CF69208B +:1014000090D1F00118A91FB0CA95CFB5CCF0013822 +:10141000A97895CC902AA900E0019016F00CA5D3EC +:10142000290C4A4AF00C6902D008A5D32910F00211 +:10143000A901384865CA85CA683865C985C9F6C52D +:10144000CA30034CAF33A5D34A4A4A4A4AA8A5CA70 +:1014500038F96234301485CAE6CBC003D00CE6CB31 +:10146000D0087F02040405037F7FA5D32903A8F0D9 +:101470001A4A690049FF3865C9B00865CB300E8546 +:10148000CBA900C002B002E6C8E6C885C9E6D4A56B +:10149000D44AB027A000A202B5C5F009C910900532 +:1014A00069EFC895C5CA10F098D010A202B5C5F072 +:1014B000071869EF95C53003CA10F26014351F355F +:1014C0002B3536354235543569357E359235A33561 +:1014D000B735CB35DE35F03505361A362E363B3688 +:1014E000483659366C368336A336BB36D236E236AA +:1014F000F1360237113720373537483753376237DF +:101500007B378E379E37AA37B637C237CF37E337A8 +:10151000FF3711386E055106504C41594552A06EA7 +:10152000055106535049454C4552A06E0551064A97 +:101530004F55455552A06E0551064A554741444FF7 +:1015400052A01305AC063120434F494E20322050A3 +:101550004C4159D3F304CC0631204D55454E5A45E4 +:10156000203220535049454CC5F304CC063120505D +:10157000494543452032204A4F55455552D3F3043F +:10158000CC06312046494348412032204A55454740 +:101590004FD31305AC063120434F494E2031205024 +:1015A0004C41D9F304CC0631204D55454E5A4520C7 +:1015B000312053504945CCF304CC063120504945E5 +:1015C00043452031204A4F554555D2F304CC0631CE +:1015D0002046494348412031204A554547CF13050D +:1015E000AC063220434F494E53203120504C41D954 +:1015F000F304CC0632204D55454E5A454E2031203D +:1016000053504945CCF304CC06322050494543455C +:10161000532031204A4F554555D2F304CC06322091 +:101620004649434841532031204A554547CF6F052D +:10163000500647414D45204F5645D26F0550065341 +:101640005049454C454E44C50F05B00646494E200D +:101650004445205041525449C5EF04D0064A5545EF +:10166000474F205445524D494E4144CFAB041407D7 +:10167000454E54455220594F555220494E495449E0 +:10168000414CD32B049407474542454E20534945CE +:10169000204948524520494E495449414C454E2025 +:1016A0004549CE8B043407454E5452455A20564F77 +:1016B0005320494E495449414C45D38B0434074586 +:1016C0004E5452452053555320494E494349414CAD +:1016D00045D3F104CE06424F4E5553204556455250 +:1016E00059A0F104CE06424F4E5553204A45444579 +:1016F000A0D104EE06424F4E555320434841515568 +:1017000045A0F104CE06455854524120434144417E +:10171000A05D056206484947482053434F5245D3D0 +:10172000DD04E206484F454348535445524745427D +:101730004E495353C51D05A2064D45494C4C4555D0 +:1017400052532053434F52C59D0522065245434FE5 +:101750005244D32C05930647524541542053434FDE +:1017600052C58C04330747524F5353415254494793 +:1017700045532045524745424E49D3EC04D30653C6 +:10178000504C454E444944452053434F52C50C05E7 +:10179000B3064752414E2050554E54414AC552055A +:1017A0006D0643524544495453A052056D064B52B1 +:1017B0004544495445A052056D0643524544495499 +:1017C00053A052056D064352454449544F53A0F06F +:1017D00004CF063220435245444954204D494E49D6 +:1017E0004D55CD30048F0747454C4445494E57551C +:1017F000524620465552203220535049454CC5F0A0 +:1018000004CF0632204A554558204D494E494D5582 +:10181000CDF004CF0632204A5545474153204D496B +:101820004E494DB00A668CA80A858BA5FD29030593 +:101830008B0AAABDBC348593BDBD348594A000A697 +:10184000EFF002A002B1938591C8B1938592A004F4 +:10185000848BA48BB193293FC920F004A68C10027D +:10186000A900C9309002292F208538A48BE68BB1BE +:101870009310DF60A000848CF0D6100549FF186932 +:101880000160B91A00A8F00245EFA0009191A920CB +:1018900045EF1865918591A5F3659285926048089A +:1018A0004A4A4A4A2820AB3868290F9004290FF089 +:1018B0000318092008C92A9002E9292085382860E0 +:1018C000488A489848D8A5D2F00AA9108D0210A9D4 +:1018D000AF8D03102C000C70034CB439E68AE6007F +:1018E000D011E601F8A5FB18690185FBA5FC69008C +:1018F00085FCD8A58AC908B0FEA5C8C925B0FEC90F +:10190000139004A91285C8AD030CA688ACB80120B9 +:10191000313A8CB80148981865B985B968ACB901F5 +:1019200020313A8CB90198207C381865BB85BBB54D +:10193000C23008C9409015293F100B293F18690390 +:10194000C92A9002A90095C2AA205A26A20FB564FE +:101950009DE007B554A000E00DF007B44410031853 +:1019600069019DD0079829808599AD000C2920D068 +:1019700005B5344C9D39B534E00CB01F293FC93052 +:10198000B019290F8598B5642907F00DA8A908C0DA +:1019900006B006C0039002A90C459845999DC00762 +:1019A000B5342940F006E00CB002A90C09399DF0CD +:1019B00007CA109AAD000C2920D01FA5D5303BE6F0 +:1019C000D52C000C5004A90085D5A5D50A0AA20380 +:1019D0009D04146901CA10F8302020AD33A202B56D +:1019E000C59D001CCA10F8A20AA9F45D0320CA1004 +:1019F000FAAAF006BAA9039D0401A202BD000CA830 +:101A000038F5BD94BD290FC908900209F0A8F0145B +:101A100055BA1008985D000C1002B4BA9895BA181F +:101A200075B995B9CACA10D48D001868A868AA6893 +:101A3000400A90060A900EA00060C0FAF005B002BD +:101A4000A000880A60C006F0059002A000C860A04F +:101A50003CA9FF5978018810FAACB5018DB5019801 +:101A60004DB50160A22FBDB03A9502CA10F8204FC3 +:101A70003AD02BA5FD297CCD8A018D8A01D01EADDF +:101A80007A01F01AA208BD78019502C99AB00F290F +:101A90000FC90AB009BD8101951ACA10E960A900F1 +:101AA000A23E9D7801CA10FAA5FD297C8D8A0160AD +:101AB0004365013254012043011032011030010509 +:101AC0002801012201022101050A04040614030170 +:101AD00004040302050400040517040617070A128C +:101AE000A23F20EE3A9D7801CA10F786F9609D006A +:101AF00016A0088C8016C88C8016888C8016A000D2 +:101B0000BD00178C801660A5002903D0178D8016A4 +:101B1000A6F9301046FA900DA9028D8016A90A8DFB +:101B20008016C6F9607820EE3ADD7801D007CA1039 +:101B3000F55886F9605886F9A9068D8016BD78019A +:101B40009D0016A90E8D8016E6FA60D8A2FF9AE8CD +:101B50008A95009D00019D00049D00059D00069D45 +:101B60000007CAD0EC8D0F108D08108D00248D0752 +:101B70001CAD000C2920F019AD000885FDCA868631 +:101B800086C186C2A90185FF20E03A20643A4C0E46 +:101B9000208E04148E01108E03108E05108E0710F7 +:101BA000E88E05148E0D14E88E06148E0E14E88E41 +:101BB00007148E0F14A200B500D043A9119500A8F8 +:101BC0005500D03A980A90F5E8D0EC8D00208A852F +:101BD0008B2A858CA000A211B18BD0288A918B51C1 +:101BE0008BD0218A0AAA90F4C8D0EB8D0020E68C15 +:101BF000A58CC902D002A904C90890D6B05FC9104B +:101C0000A9001012A68CE00490F4AA9829304A4A40 +:101C10004A4A6901E0102AA8A9408D0010A2038E4B +:101C20000F10A210A9AF8D01102C000C50FB2C003E +:101C30000C70FB8D0020CAD0F08E0110A2102C0079 +:101C40000C50FB2C000C70FB8D0020CAD0F08810CB +:101C5000D18D0020AD000C2920F0F6D0FEAD010C96 +:101C60002910F0034CDE3CAA9500E8D0FBA20FA996 +:101C7000F89564CA10FBA907858CA0BFA92DA208FE +:101C8000918B88CAD0FA38E901C92AB0F1C0FFD0D7 +:101C9000EBC68CA58CC904B0E358AD000C2920D04C +:101CA000F9468A8D0020AD010C29E049E0F0EBA94E +:101CB0001D789D00049D00059D0006E8D0F49D0060 +:101CC00007E8E0C090F8A2088E0514A20F8E041455 +:101CD000AD000C2920D0F98D0020468A10F2A20018 +:101CE0008A9D0007A90095009D00049D00059D00A8 +:101CF00006E8D0ECCA86D586E38D031C8D041CA2B1 +:101D00000F8A098095549564CA10F6AD0A104D0AE1 +:101D10001085E5A9038D0F10A200868BA920858C64 +:101D2000A21FA9FFA0008E0020518BC8D0FBA88A5B +:101D30002907C90198B00348A9FFE68CCA10E5A994 +:101D4000048592A2038A493F859168F011488A0967 +:101D500020208538A9002085386818209E38CA10B0 +:101D6000E420E03AA006B98B01998E008810F7F8BC +:101D7000AD8B010D8C010D8D01F01FC8C8F01BA5A6 +:101D80009138E58E8591A592E58F8592A593E59092 +:101D90008593A594E900859410E2D8848D58468AED +:101DA00090FCAD000C2920D0FE8D0020AD010C4A26 +:101DB00026EAA5EA2903C902D024A5E6AA186902E1 +:101DC000290685E6A9009D0110A5E7186901290FDC +:101DD00085E7A6E8E88A290FAA8E041486E8AD01F3 +:101DE0000C4A4A26EBA5EB2903C902D016E6E9A561 +:101DF000E9A001186901290F990414990C14C8C0AD +:101E00000490F0AD010C4A4A4A26ECA5EC2903499E +:101E100002D007A20FF634CA10FBA9058592A93893 +:101E20008591AD0008290C4A4A6901858BA205A954 +:101E30001F248B1002A900208538C68BCAD0F0A9B8 +:101E4000378591A921208538A921208538A921200D +:101E50008538A9368591A900A89191A0409191ADAE +:101E600001084A4A4A4A4AF01BAAC906B016BDD818 +:101E70003F208538A900208538A921E003D002A998 +:101E800022208538A93F8594A9EE2C00085002A98C +:101E9000F28593A9358591207438AD010C85DFADAD +:101EA000000885DDAD010885DEAD000C298F85E0D9 +:101EB000AD020C298F85E1AD030C85E2AD0A104817 +:101EC00025E385E36805E485E4A200AD010C382A2A +:101ED000B001E80AD0FA8AA4E60A0A0A9900108A30 +:101EE00009A0990110A6E7A000A5B984B9187554F6 +:101EF0009554B56438E5BB84BB9564A0D0A2059A1F +:101F0000A2078ABA36DDAAA921B002A920C8990081 +:101F100004CA10EE9838E928A8BACA10E2A90485C4 +:101F200092A93A8591A5E449FF05E305E5F002A9E8 +:101F30002520853820073B204F3A8CB501F0164804 +:101F4000A93B8591A924208538A9002085386820DF +:101F50009E384CD63FA9048592A9E9859138AD8D6C +:101F600001209E38AD8C01209E38AD8B0118209E3B +:101F700038A9DE8593A93F8594207438A9058592F8 +:101F8000A9088591A58D4A4A4A4AF8186900D838A7 +:101F9000209E38A92E208538A58D290FF8186900B4 +:101FA000858E658E858E658ED8C9609002A9591878 +:101FB000209E38A9E48593A93F8594207438A5EA2A +:101FC00005EB05ECD010ADB50149FF8DB501A93D7C +:101FD00085F9A90085FA4C9E3D2224242523205012 +:101FE0004C4159D32047414D452054494DC54841A6 +:101FF00052C4454153D94CF63F13F63F4B3BC038D2 +:00000001FF diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-211.f7.bin b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-211.f7.bin new file mode 100644 index 00000000..45aa1c75 Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-211.f7.bin differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-212.hj7.bin b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-212.hj7.bin new file mode 100644 index 00000000..82138f8c Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-212.hj7.bin differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-213.p4.bin b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-213.p4.bin new file mode 100644 index 00000000..26e9a803 Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-213.p4.bin differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-407.d1 b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-407.d1 new file mode 100644 index 00000000..1cb69a97 Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-407.d1 differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-408.e1 b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-408.e1 new file mode 100644 index 00000000..21c36520 Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-408.e1 differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-409.fh1 b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-409.fh1 new file mode 100644 index 00000000..85409fbd Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-409.fh1 differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-410.j1 b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-410.j1 new file mode 100644 index 00000000..ee62d5a7 Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-410.j1 differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-prog.bin b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-prog.bin new file mode 100644 index 00000000..4288d92e Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/136001-prog.bin differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_code_case.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_code_case.v new file mode 100644 index 00000000..6ad91a3a --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_code_case.v @@ -0,0 +1,8199 @@ + // centipede + case (a) + // ../src/centiped3/136001-307.d1 + 13'h000: q = 8'h4c; // 0x000 + 13'h001: q = 8'h04; // 0x001 + 13'h002: q = 8'h3b; // 0x002 + 13'h003: q = 8'h1b; // 0x003 + 13'h004: q = 8'h31; // 0x004 + 13'h005: q = 8'h39; // 0x005 + 13'h006: q = 8'h38; // 0x006 + 13'h007: q = 8'h30; // 0x007 + 13'h008: q = 8'h20; // 0x008 + 13'h009: q = 8'h41; // 0x009 + 13'h00a: q = 8'h54; // 0x00a + 13'h00b: q = 8'h41; // 0x00b + 13'h00c: q = 8'h52; // 0x00c + 13'h00d: q = 8'hc9; // 0x00d + 13'h00e: q = 8'h20; // 0x00e + 13'h00f: q = 8'h72; // 0x00f + 13'h010: q = 8'h28; // 0x010 + 13'h011: q = 8'h58; // 0x011 + 13'h012: q = 8'h20; // 0x012 + 13'h013: q = 8'h5c; // 0x013 + 13'h014: q = 8'h2d; // 0x014 + 13'h015: q = 8'h46; // 0x015 + 13'h016: q = 8'h8a; // 0x016 + 13'h017: q = 8'h90; // 0x017 + 13'h018: q = 8'hfc; // 0x018 + 13'h019: q = 8'h8d; // 0x019 + 13'h01a: q = 8'h00; // 0x01a + 13'h01b: q = 8'h20; // 0x01b + 13'h01c: q = 8'had; // 0x01c + 13'h01d: q = 8'h00; // 0x01d + 13'h01e: q = 8'h0c; // 0x01e + 13'h01f: q = 8'h29; // 0x01f + 13'h020: q = 8'h20; // 0x020 + 13'h021: q = 8'hf0; // 0x021 + 13'h022: q = 8'hfe; // 0x022 + 13'h023: q = 8'h20; // 0x023 + 13'h024: q = 8'h61; // 0x024 + 13'h025: q = 8'h25; // 0x025 + 13'h026: q = 8'h20; // 0x026 + 13'h027: q = 8'h68; // 0x027 + 13'h028: q = 8'h30; // 0x028 + 13'h029: q = 8'h20; // 0x029 + 13'h02a: q = 8'h41; // 0x02a + 13'h02b: q = 8'h27; // 0x02b + 13'h02c: q = 8'h10; // 0x02c + 13'h02d: q = 8'he7; // 0x02d + 13'h02e: q = 8'h20; // 0x02e + 13'h02f: q = 8'hc0; // 0x02f + 13'h030: q = 8'h3a; // 0x030 + 13'h031: q = 8'h20; // 0x031 + 13'h032: q = 8'h19; // 0x032 + 13'h033: q = 8'h21; // 0x033 + 13'h034: q = 8'h20; // 0x034 + 13'h035: q = 8'hfe; // 0x035 + 13'h036: q = 8'h32; // 0x036 + 13'h037: q = 8'h20; // 0x037 + 13'h038: q = 8'h51; // 0x038 + 13'h039: q = 8'h29; // 0x039 + 13'h03a: q = 8'h20; // 0x03a + 13'h03b: q = 8'hfd; // 0x03b + 13'h03c: q = 8'h26; // 0x03c + 13'h03d: q = 8'h20; // 0x03d + 13'h03e: q = 8'hce; // 0x03e + 13'h03f: q = 8'h2a; // 0x03f + 13'h040: q = 8'h20; // 0x040 + 13'h041: q = 8'h02; // 0x041 + 13'h042: q = 8'h22; // 0x042 + 13'h043: q = 8'h20; // 0x043 + 13'h044: q = 8'hc6; // 0x044 + 13'h045: q = 8'h2e; // 0x045 + 13'h046: q = 8'h20; // 0x046 + 13'h047: q = 8'hd9; // 0x047 + 13'h048: q = 8'h2b; // 0x048 + 13'h049: q = 8'h20; // 0x049 + 13'h04a: q = 8'h0b; // 0x04a + 13'h04b: q = 8'h2e; // 0x04b + 13'h04c: q = 8'h20; // 0x04c + 13'h04d: q = 8'h59; // 0x04d + 13'h04e: q = 8'h20; // 0x04e + 13'h04f: q = 8'h20; // 0x04f + 13'h050: q = 8'hda; // 0x050 + 13'h051: q = 8'h23; // 0x051 + 13'h052: q = 8'h20; // 0x052 + 13'h053: q = 8'hef; // 0x053 + 13'h054: q = 8'h2c; // 0x054 + 13'h055: q = 8'h4c; // 0x055 + 13'h056: q = 8'h15; // 0x056 + 13'h057: q = 8'h20; // 0x057 + 13'h058: q = 8'h4f; // 0x058 + 13'h059: q = 8'ha5; // 0x059 + 13'h05a: q = 8'h43; // 0x05a + 13'h05b: q = 8'h29; // 0x05b + 13'h05c: q = 8'haf; // 0x05c + 13'h05d: q = 8'hd0; // 0x05d + 13'h05e: q = 8'h08; // 0x05e + 13'h05f: q = 8'ha5; // 0x05f + 13'h060: q = 8'h40; // 0x060 + 13'h061: q = 8'h45; // 0x061 + 13'h062: q = 8'hef; // 0x062 + 13'h063: q = 8'hc9; // 0x063 + 13'h064: q = 8'h20; // 0x064 + 13'h065: q = 8'h90; // 0x065 + 13'h066: q = 8'h01; // 0x066 + 13'h067: q = 8'h60; // 0x067 + 13'h068: q = 8'ha5; // 0x068 + 13'h069: q = 8'h70; // 0x069 + 13'h06a: q = 8'h45; // 0x06a + 13'h06b: q = 8'hf0; // 0x06b + 13'h06c: q = 8'hc9; // 0x06c + 13'h06d: q = 8'hf8; // 0x06d + 13'h06e: q = 8'h90; // 0x06e + 13'h06f: q = 8'h20; // 0x06f + 13'h070: q = 8'ha6; // 0x070 + 13'h071: q = 8'h88; // 0x071 + 13'h072: q = 8'hb5; // 0x072 + 13'h073: q = 8'h9a; // 0x073 + 13'h074: q = 8'hc9; // 0x074 + 13'h075: q = 8'h0c; // 0x075 + 13'h076: q = 8'hb0; // 0x076 + 13'h077: q = 8'h6b; // 0x077 + 13'h078: q = 8'hb5; // 0x078 + 13'h079: q = 8'hab; // 0x079 + 13'h07a: q = 8'hc9; // 0x07a + 13'h07b: q = 8'h02; // 0x07b + 13'h07c: q = 8'ha0; // 0x07c + 13'h07d: q = 8'h05; // 0x07d + 13'h07e: q = 8'h90; // 0x07e + 13'h07f: q = 8'h02; // 0x07f + 13'h080: q = 8'ha0; // 0x080 + 13'h081: q = 8'h09; // 0x081 + 13'h082: q = 8'hc9; // 0x082 + 13'h083: q = 8'h12; // 0x083 + 13'h084: q = 8'h90; // 0x084 + 13'h085: q = 8'h05; // 0x085 + 13'h086: q = 8'h4a; // 0x086 + 13'h087: q = 8'h18; // 0x087 + 13'h088: q = 8'h69; // 0x088 + 13'h089: q = 8'h06; // 0x089 + 13'h08a: q = 8'ha8; // 0x08a + 13'h08b: q = 8'h98; // 0x08b + 13'h08c: q = 8'hd5; // 0x08c + 13'h08d: q = 8'hd7; // 0x08d + 13'h08e: q = 8'h90; // 0x08e + 13'h08f: q = 8'h53; // 0x08f + 13'h090: q = 8'ha5; // 0x090 + 13'h091: q = 8'h00; // 0x091 + 13'h092: q = 8'h29; // 0x092 + 13'h093: q = 8'h03; // 0x093 + 13'h094: q = 8'hd0; // 0x094 + 13'h095: q = 8'h0f; // 0x095 + 13'h096: q = 8'he6; // 0x096 + 13'h097: q = 8'h40; // 0x097 + 13'h098: q = 8'ha5; // 0x098 + 13'h099: q = 8'h40; // 0x099 + 13'h09a: q = 8'h18; // 0x09a + 13'h09b: q = 8'h69; // 0x09b + 13'h09c: q = 8'h01; // 0x09c + 13'h09d: q = 8'h29; // 0x09d + 13'h09e: q = 8'h03; // 0x09e + 13'h09f: q = 8'h09; // 0x09f + 13'h0a0: q = 8'h1c; // 0x0a0 + 13'h0a1: q = 8'h45; // 0x0a1 + 13'h0a2: q = 8'hef; // 0x0a2 + 13'h0a3: q = 8'h85; // 0x0a3 + 13'h0a4: q = 8'h40; // 0x0a4 + 13'h0a5: q = 8'ha5; // 0x0a5 + 13'h0a6: q = 8'h60; // 0x0a6 + 13'h0a7: q = 8'h85; // 0x0a7 + 13'h0a8: q = 8'h8b; // 0x0a8 + 13'h0a9: q = 8'ha5; // 0x0a9 + 13'h0aa: q = 8'h70; // 0x0aa + 13'h0ab: q = 8'ha4; // 0x0ab + 13'h0ac: q = 8'hef; // 0x0ac + 13'h0ad: q = 8'hf0; // 0x0ad + 13'h0ae: q = 8'h06; // 0x0ae + 13'h0af: q = 8'h18; // 0x0af + 13'h0b0: q = 8'h65; // 0x0b0 + 13'h0b1: q = 8'h80; // 0x0b1 + 13'h0b2: q = 8'h4c; // 0x0b2 + 13'h0b3: q = 8'hb8; // 0x0b3 + 13'h0b4: q = 8'h20; // 0x0b4 + 13'h0b5: q = 8'h38; // 0x0b5 + 13'h0b6: q = 8'he5; // 0x0b6 + 13'h0b7: q = 8'h80; // 0x0b7 + 13'h0b8: q = 8'h85; // 0x0b8 + 13'h0b9: q = 8'h70; // 0x0b9 + 13'h0ba: q = 8'h45; // 0x0ba + 13'h0bb: q = 8'hf0; // 0x0bb + 13'h0bc: q = 8'hc9; // 0x0bc + 13'h0bd: q = 8'h04; // 0x0bd + 13'h0be: q = 8'h90; // 0x0be + 13'h0bf: q = 8'h24; // 0x0bf + 13'h0c0: q = 8'ha2; // 0x0c0 + 13'h0c1: q = 8'h0c; // 0x0c1 + 13'h0c2: q = 8'h20; // 0x0c2 + 13'h0c3: q = 8'h96; // 0x0c3 + 13'h0c4: q = 8'h2c; // 0x0c4 + 13'h0c5: q = 8'h90; // 0x0c5 + 13'h0c6: q = 8'h1c; // 0x0c6 + 13'h0c7: q = 8'ha5; // 0x0c7 + 13'h0c8: q = 8'h00; // 0x0c8 + 13'h0c9: q = 8'h29; // 0x0c9 + 13'h0ca: q = 8'h03; // 0x0ca + 13'h0cb: q = 8'hd0; // 0x0cb + 13'h0cc: q = 8'h16; // 0x0cc + 13'h0cd: q = 8'had; // 0x0cd + 13'h0ce: q = 8'h0a; // 0x0ce + 13'h0cf: q = 8'h10; // 0x0cf + 13'h0d0: q = 8'h29; // 0x0d0 + 13'h0d1: q = 8'h03; // 0x0d1 + 13'h0d2: q = 8'hd0; // 0x0d2 + 13'h0d3: q = 8'h0f; // 0x0d3 + 13'h0d4: q = 8'ha9; // 0x0d4 + 13'h0d5: q = 8'h04; // 0x0d5 + 13'h0d6: q = 8'h45; // 0x0d6 + 13'h0d7: q = 8'hf3; // 0x0d7 + 13'h0d8: q = 8'h18; // 0x0d8 + 13'h0d9: q = 8'h65; // 0x0d9 + 13'h0da: q = 8'h70; // 0x0da + 13'h0db: q = 8'ha0; // 0x0db + 13'h0dc: q = 8'h00; // 0x0dc + 13'h0dd: q = 8'h20; // 0x0dd + 13'h0de: q = 8'h2b; // 0x0de + 13'h0df: q = 8'h2c; // 0x0df + 13'h0e0: q = 8'h20; // 0x0e0 + 13'h0e1: q = 8'ha8; // 0x0e1 + 13'h0e2: q = 8'h2b; // 0x0e2 + 13'h0e3: q = 8'h60; // 0x0e3 + 13'h0e4: q = 8'h20; // 0x0e4 + 13'h0e5: q = 8'he8; // 0x0e5 + 13'h0e6: q = 8'h20; // 0x0e6 + 13'h0e7: q = 8'h60; // 0x0e7 + 13'h0e8: q = 8'ha9; // 0x0e8 + 13'h0e9: q = 8'h1c; // 0x0e9 + 13'h0ea: q = 8'h45; // 0x0ea + 13'h0eb: q = 8'hef; // 0x0eb + 13'h0ec: q = 8'h85; // 0x0ec + 13'h0ed: q = 8'h40; // 0x0ed + 13'h0ee: q = 8'ha9; // 0x0ee + 13'h0ef: q = 8'hf8; // 0x0ef + 13'h0f0: q = 8'h45; // 0x0f0 + 13'h0f1: q = 8'hf0; // 0x0f1 + 13'h0f2: q = 8'h85; // 0x0f2 + 13'h0f3: q = 8'h70; // 0x0f3 + 13'h0f4: q = 8'had; // 0x0f4 + 13'h0f5: q = 8'h0a; // 0x0f5 + 13'h0f6: q = 8'h10; // 0x0f6 + 13'h0f7: q = 8'h29; // 0x0f7 + 13'h0f8: q = 8'hf8; // 0x0f8 + 13'h0f9: q = 8'hf0; // 0x0f9 + 13'h0fa: q = 8'hf9; // 0x0fa + 13'h0fb: q = 8'hc9; // 0x0fb + 13'h0fc: q = 8'h10; // 0x0fc + 13'h0fd: q = 8'h90; // 0x0fd + 13'h0fe: q = 8'hf5; // 0x0fe + 13'h0ff: q = 8'h38; // 0x0ff + 13'h100: q = 8'he9; // 0x100 + 13'h101: q = 8'h04; // 0x101 + 13'h102: q = 8'h85; // 0x102 + 13'h103: q = 8'h60; // 0x103 + 13'h104: q = 8'ha0; // 0x104 + 13'h105: q = 8'h03; // 0x105 + 13'h106: q = 8'ha6; // 0x106 + 13'h107: q = 8'h88; // 0x107 + 13'h108: q = 8'hb5; // 0x108 + 13'h109: q = 8'hab; // 0x109 + 13'h10a: q = 8'hc9; // 0x10a + 13'h10b: q = 8'h06; // 0x10b + 13'h10c: q = 8'hb0; // 0x10c + 13'h10d: q = 8'h02; // 0x10d + 13'h10e: q = 8'ha0; // 0x10e + 13'h10f: q = 8'h02; // 0x10f + 13'h110: q = 8'h84; // 0x110 + 13'h111: q = 8'h80; // 0x111 + 13'h112: q = 8'ha9; // 0x112 + 13'h113: q = 8'h00; // 0x113 + 13'h114: q = 8'h85; // 0x114 + 13'h115: q = 8'h50; // 0x115 + 13'h116: q = 8'h85; // 0x116 + 13'h117: q = 8'hb8; // 0x117 + 13'h118: q = 8'h60; // 0x118 + 13'h119: q = 8'ha5; // 0x119 + 13'h11a: q = 8'h86; // 0x11a + 13'h11b: q = 8'h10; // 0x11b + 13'h11c: q = 8'h6f; // 0x11c + 13'h11d: q = 8'h20; // 0x11d + 13'h11e: q = 8'h95; // 0x11e + 13'h11f: q = 8'h21; // 0x11f + 13'h120: q = 8'ha9; // 0x120 + 13'h121: q = 8'h03; // 0x121 + 13'h122: q = 8'h85; // 0x122 + 13'h123: q = 8'h93; // 0x123 + 13'h124: q = 8'ha9; // 0x124 + 13'h125: q = 8'h20; // 0x125 + 13'h126: q = 8'h85; // 0x126 + 13'h127: q = 8'h94; // 0x127 + 13'h128: q = 8'ha9; // 0x128 + 13'h129: q = 8'h40; // 0x129 + 13'h12a: q = 8'h85; // 0x12a + 13'h12b: q = 8'h91; // 0x12b + 13'h12c: q = 8'ha9; // 0x12c + 13'h12d: q = 8'h05; // 0x12d + 13'h12e: q = 8'h85; // 0x12e + 13'h12f: q = 8'h92; // 0x12f + 13'h130: q = 8'h20; // 0x130 + 13'h131: q = 8'h25; // 0x131 + 13'h132: q = 8'h38; // 0x132 + 13'h133: q = 8'ha5; // 0x133 + 13'h134: q = 8'h00; // 0x134 + 13'h135: q = 8'hd0; // 0x135 + 13'h136: q = 8'h05; // 0x136 + 13'h137: q = 8'ha9; // 0x137 + 13'h138: q = 8'h84; // 0x138 + 13'h139: q = 8'h20; // 0x139 + 13'h13a: q = 8'hd5; // 0x13a + 13'h13b: q = 8'h37; // 0x13b + 13'h13c: q = 8'ha5; // 0x13c + 13'h13d: q = 8'h00; // 0x13d + 13'h13e: q = 8'hae; // 0x13e + 13'h13f: q = 8'h00; // 0x13f + 13'h140: q = 8'h06; // 0x140 + 13'h141: q = 8'h86; // 0x141 + 13'h142: q = 8'hff; // 0x142 + 13'h143: q = 8'h29; // 0x143 + 13'h144: q = 8'h80; // 0x144 + 13'h145: q = 8'hd0; // 0x145 + 13'h146: q = 8'h45; // 0x146 + 13'h147: q = 8'ha5; // 0x147 + 13'h148: q = 8'h43; // 0x148 + 13'h149: q = 8'h29; // 0x149 + 13'h14a: q = 8'haf; // 0x14a + 13'h14b: q = 8'hd0; // 0x14b + 13'h14c: q = 8'h30; // 0x14c + 13'h14d: q = 8'ha5; // 0x14d + 13'h14e: q = 8'h63; // 0x14e + 13'h14f: q = 8'ha0; // 0x14f + 13'h150: q = 8'h01; // 0x150 + 13'h151: q = 8'hc9; // 0x151 + 13'h152: q = 8'h1c; // 0x152 + 13'h153: q = 8'h90; // 0x153 + 13'h154: q = 8'h08; // 0x154 + 13'h155: q = 8'ha0; // 0x155 + 13'h156: q = 8'hff; // 0x156 + 13'h157: q = 8'hc9; // 0x157 + 13'h158: q = 8'he4; // 0x158 + 13'h159: q = 8'hb0; // 0x159 + 13'h15a: q = 8'h02; // 0x15a + 13'h15b: q = 8'ha4; // 0x15b + 13'h15c: q = 8'h53; // 0x15c + 13'h15d: q = 8'h98; // 0x15d + 13'h15e: q = 8'h84; // 0x15e + 13'h15f: q = 8'h53; // 0x15f + 13'h160: q = 8'h18; // 0x160 + 13'h161: q = 8'h20; // 0x161 + 13'h162: q = 8'heb; // 0x162 + 13'h163: q = 8'h2a; // 0x163 + 13'h164: q = 8'ha5; // 0x164 + 13'h165: q = 8'h73; // 0x165 + 13'h166: q = 8'h85; // 0x166 + 13'h167: q = 8'h8d; // 0x167 + 13'h168: q = 8'ha0; // 0x168 + 13'h169: q = 8'hff; // 0x169 + 13'h16a: q = 8'hc9; // 0x16a + 13'h16b: q = 8'h30; // 0x16b + 13'h16c: q = 8'hb0; // 0x16c + 13'h16d: q = 8'h08; // 0x16d + 13'h16e: q = 8'ha0; // 0x16e + 13'h16f: q = 8'h01; // 0x16f + 13'h170: q = 8'hc9; // 0x170 + 13'h171: q = 8'h09; // 0x171 + 13'h172: q = 8'h90; // 0x172 + 13'h173: q = 8'h02; // 0x173 + 13'h174: q = 8'ha4; // 0x174 + 13'h175: q = 8'h83; // 0x175 + 13'h176: q = 8'h98; // 0x176 + 13'h177: q = 8'h84; // 0x177 + 13'h178: q = 8'h83; // 0x178 + 13'h179: q = 8'h18; // 0x179 + 13'h17a: q = 8'h20; // 0x17a + 13'h17b: q = 8'h24; // 0x17b + 13'h17c: q = 8'h2b; // 0x17c + 13'h17d: q = 8'h20; // 0x17d + 13'h17e: q = 8'h60; // 0x17e + 13'h17f: q = 8'h2b; // 0x17f + 13'h180: q = 8'ha2; // 0x180 + 13'h181: q = 8'h13; // 0x181 + 13'h182: q = 8'ha9; // 0x182 + 13'h183: q = 8'hfa; // 0x183 + 13'h184: q = 8'h5d; // 0x184 + 13'h185: q = 8'h20; // 0x185 + 13'h186: q = 8'h21; // 0x186 + 13'h187: q = 8'hca; // 0x187 + 13'h188: q = 8'h10; // 0x188 + 13'h189: q = 8'hfa; // 0x189 + 13'h18a: q = 8'h85; // 0x18a + 13'h18b: q = 8'hfe; // 0x18b + 13'h18c: q = 8'h60; // 0x18c + 13'h18d: q = 8'h02; // 0x18d + 13'h18e: q = 8'hbb; // 0x18e + 13'h18f: q = 8'h5a; // 0x18f + 13'h190: q = 8'h30; // 0x190 + 13'h191: q = 8'h5f; // 0x191 + 13'h192: q = 8'hee; // 0x192 + 13'h193: q = 8'h7d; // 0x193 + 13'h194: q = 8'ha8; // 0x194 + 13'h195: q = 8'h20; // 0x195 + 13'h196: q = 8'hb3; // 0x196 + 13'h197: q = 8'h21; // 0x197 + 13'h198: q = 8'h85; // 0x198 + 13'h199: q = 8'hae; // 0x199 + 13'h19a: q = 8'hb9; // 0x19a + 13'h19b: q = 8'hc0; // 0x19b + 13'h19c: q = 8'h21; // 0x19c + 13'h19d: q = 8'h85; // 0x19d + 13'h19e: q = 8'hb0; // 0x19e + 13'h19f: q = 8'ha9; // 0x19f + 13'h1a0: q = 8'h06; // 0x1a0 + 13'h1a1: q = 8'h20; // 0x1a1 + 13'h1a2: q = 8'hd5; // 0x1a2 + 13'h1a3: q = 8'h37; // 0x1a3 + 13'h1a4: q = 8'ha5; // 0x1a4 + 13'h1a5: q = 8'hb0; // 0x1a5 + 13'h1a6: q = 8'h20; // 0x1a6 + 13'h1a7: q = 8'h5c; // 0x1a7 + 13'h1a8: q = 8'h38; // 0x1a8 + 13'h1a9: q = 8'ha5; // 0x1a9 + 13'h1aa: q = 8'hae; // 0x1aa + 13'h1ab: q = 8'h20; // 0x1ab + 13'h1ac: q = 8'h4f; // 0x1ac + 13'h1ad: q = 8'h38; // 0x1ad + 13'h1ae: q = 8'ha9; // 0x1ae + 13'h1af: q = 8'h00; // 0x1af + 13'h1b0: q = 8'h4c; // 0x1b0 + 13'h1b1: q = 8'h4f; // 0x1b1 + 13'h1b2: q = 8'h38; // 0x1b2 + 13'h1b3: q = 8'ha5; // 0x1b3 + 13'h1b4: q = 8'hfd; // 0x1b4 + 13'h1b5: q = 8'h29; // 0x1b5 + 13'h1b6: q = 8'h30; // 0x1b6 + 13'h1b7: q = 8'h4a; // 0x1b7 + 13'h1b8: q = 8'h4a; // 0x1b8 + 13'h1b9: q = 8'h4a; // 0x1b9 + 13'h1ba: q = 8'ha8; // 0x1ba + 13'h1bb: q = 8'hb9; // 0x1bb + 13'h1bc: q = 8'hbf; // 0x1bc + 13'h1bd: q = 8'h21; // 0x1bd + 13'h1be: q = 8'h60; // 0x1be + 13'h1bf: q = 8'h00; // 0x1bf + 13'h1c0: q = 8'h01; // 0x1c0 + 13'h1c1: q = 8'h20; // 0x1c1 + 13'h1c2: q = 8'h01; // 0x1c2 + 13'h1c3: q = 8'h50; // 0x1c3 + 13'h1c4: q = 8'h01; // 0x1c4 + 13'h1c5: q = 8'h00; // 0x1c5 + 13'h1c6: q = 8'h02; // 0x1c6 + 13'h1c7: q = 8'ha6; // 0x1c7 + 13'h1c8: q = 8'h88; // 0x1c8 + 13'h1c9: q = 8'ha0; // 0x1c9 + 13'h1ca: q = 8'h02; // 0x1ca + 13'h1cb: q = 8'hb5; // 0x1cb + 13'h1cc: q = 8'hab; // 0x1cc + 13'h1cd: q = 8'hd0; // 0x1cd + 13'h1ce: q = 8'h0c; // 0x1ce + 13'h1cf: q = 8'ha5; // 0x1cf + 13'h1d0: q = 8'hfd; // 0x1d0 + 13'h1d1: q = 8'h29; // 0x1d1 + 13'h1d2: q = 8'h40; // 0x1d2 + 13'h1d3: q = 8'h09; // 0x1d3 + 13'h1d4: q = 8'h10; // 0x1d4 + 13'h1d5: q = 8'hd5; // 0x1d5 + 13'h1d6: q = 8'ha9; // 0x1d6 + 13'h1d7: q = 8'h90; // 0x1d7 + 13'h1d8: q = 8'h02; // 0x1d8 + 13'h1d9: q = 8'ha0; // 0x1d9 + 13'h1da: q = 8'h01; // 0x1da + 13'h1db: q = 8'h84; // 0x1db + 13'h1dc: q = 8'h81; // 0x1dc + 13'h1dd: q = 8'had; // 0x1dd + 13'h1de: q = 8'h0a; // 0x1de + 13'h1df: q = 8'h10; // 0x1df + 13'h1e0: q = 8'h29; // 0x1e0 + 13'h1e1: q = 8'h04; // 0x1e1 + 13'h1e2: q = 8'hf0; // 0x1e2 + 13'h1e3: q = 8'h05; // 0x1e3 + 13'h1e4: q = 8'h98; // 0x1e4 + 13'h1e5: q = 8'h20; // 0x1e5 + 13'h1e6: q = 8'h2d; // 0x1e6 + 13'h1e7: q = 8'h38; // 0x1e7 + 13'h1e8: q = 8'ha8; // 0x1e8 + 13'h1e9: q = 8'h84; // 0x1e9 + 13'h1ea: q = 8'h51; // 0x1ea + 13'h1eb: q = 8'ha9; // 0x1eb + 13'h1ec: q = 8'h60; // 0x1ec + 13'h1ed: q = 8'h45; // 0x1ed + 13'h1ee: q = 8'hf0; // 0x1ee + 13'h1ef: q = 8'h85; // 0x1ef + 13'h1f0: q = 8'h71; // 0x1f0 + 13'h1f1: q = 8'ha9; // 0x1f1 + 13'h1f2: q = 8'hff; // 0x1f2 + 13'h1f3: q = 8'h85; // 0x1f3 + 13'h1f4: q = 8'h61; // 0x1f4 + 13'h1f5: q = 8'ha9; // 0x1f5 + 13'h1f6: q = 8'hf8; // 0x1f6 + 13'h1f7: q = 8'h85; // 0x1f7 + 13'h1f8: q = 8'h41; // 0x1f8 + 13'h1f9: q = 8'ha9; // 0x1f9 + 13'h1fa: q = 8'h60; // 0x1fa + 13'h1fb: q = 8'h85; // 0x1fb + 13'h1fc: q = 8'ha1; // 0x1fc + 13'h1fd: q = 8'ha9; // 0x1fd + 13'h1fe: q = 8'h00; // 0x1fe + 13'h1ff: q = 8'h85; // 0x1ff + 13'h200: q = 8'hb5; // 0x200 + 13'h201: q = 8'h60; // 0x201 + 13'h202: q = 8'ha5; // 0x202 + 13'h203: q = 8'h43; // 0x203 + 13'h204: q = 8'h29; // 0x204 + 13'h205: q = 8'haf; // 0x205 + 13'h206: q = 8'hf0; // 0x206 + 13'h207: q = 8'h01; // 0x207 + 13'h208: q = 8'h60; // 0x208 + 13'h209: q = 8'ha2; // 0x209 + 13'h20a: q = 8'h0d; // 0x20a + 13'h20b: q = 8'ha5; // 0x20b + 13'h20c: q = 8'h41; // 0x20c + 13'h20d: q = 8'ha8; // 0x20d + 13'h20e: q = 8'h29; // 0x20e + 13'h20f: q = 8'h20; // 0x20f + 13'h210: q = 8'hf0; // 0x210 + 13'h211: q = 8'h07; // 0x211 + 13'h212: q = 8'hc0; // 0x212 + 13'h213: q = 8'hf8; // 0x213 + 13'h214: q = 8'h90; // 0x214 + 13'h215: q = 8'hf2; // 0x215 + 13'h216: q = 8'h4c; // 0x216 + 13'h217: q = 8'hfa; // 0x217 + 13'h218: q = 8'h22; // 0x218 + 13'h219: q = 8'ha5; // 0x219 + 13'h21a: q = 8'h00; // 0x21a + 13'h21b: q = 8'h29; // 0x21b + 13'h21c: q = 8'h03; // 0x21c + 13'h21d: q = 8'hd0; // 0x21d + 13'h21e: q = 8'h10; // 0x21e + 13'h21f: q = 8'he6; // 0x21f + 13'h220: q = 8'h41; // 0x220 + 13'h221: q = 8'ha5; // 0x221 + 13'h222: q = 8'h41; // 0x222 + 13'h223: q = 8'h45; // 0x223 + 13'h224: q = 8'hf2; // 0x224 + 13'h225: q = 8'hc9; // 0x225 + 13'h226: q = 8'h1c; // 0x226 + 13'h227: q = 8'h90; // 0x227 + 13'h228: q = 8'h06; // 0x228 + 13'h229: q = 8'ha9; // 0x229 + 13'h22a: q = 8'h14; // 0x22a + 13'h22b: q = 8'h45; // 0x22b + 13'h22c: q = 8'hf2; // 0x22c + 13'h22d: q = 8'h85; // 0x22d + 13'h22e: q = 8'h41; // 0x22e + 13'h22f: q = 8'hc6; // 0x22f + 13'h230: q = 8'ha1; // 0x230 + 13'h231: q = 8'hd0; // 0x231 + 13'h232: q = 8'h35; // 0x232 + 13'h233: q = 8'had; // 0x233 + 13'h234: q = 8'h0a; // 0x234 + 13'h235: q = 8'h10; // 0x235 + 13'h236: q = 8'h29; // 0x236 + 13'h237: q = 8'h80; // 0x237 + 13'h238: q = 8'hf0; // 0x238 + 13'h239: q = 8'h18; // 0x239 + 13'h23a: q = 8'ha5; // 0x23a + 13'h23b: q = 8'h51; // 0x23b + 13'h23c: q = 8'hf0; // 0x23c + 13'h23d: q = 8'h10; // 0x23d + 13'h23e: q = 8'ha4; // 0x23e + 13'h23f: q = 8'h61; // 0x23f + 13'h240: q = 8'hc0; // 0x240 + 13'h241: q = 8'hfb; // 0x241 + 13'h242: q = 8'hb0; // 0x242 + 13'h243: q = 8'h0e; // 0x243 + 13'h244: q = 8'hc0; // 0x244 + 13'h245: q = 8'h05; // 0x245 + 13'h246: q = 8'h90; // 0x246 + 13'h247: q = 8'h0a; // 0x247 + 13'h248: q = 8'h85; // 0x248 + 13'h249: q = 8'hbe; // 0x249 + 13'h24a: q = 8'ha9; // 0x24a + 13'h24b: q = 8'h00; // 0x24b + 13'h24c: q = 8'hf0; // 0x24c + 13'h24d: q = 8'h02; // 0x24d + 13'h24e: q = 8'ha5; // 0x24e + 13'h24f: q = 8'hbe; // 0x24f + 13'h250: q = 8'h85; // 0x250 + 13'h251: q = 8'h51; // 0x251 + 13'h252: q = 8'ha5; // 0x252 + 13'h253: q = 8'hfd; // 0x253 + 13'h254: q = 8'h29; // 0x254 + 13'h255: q = 8'h40; // 0x255 + 13'h256: q = 8'h09; // 0x256 + 13'h257: q = 8'h20; // 0x257 + 13'h258: q = 8'h2d; // 0x258 + 13'h259: q = 8'h0a; // 0x259 + 13'h25a: q = 8'h10; // 0x25a + 13'h25b: q = 8'hf0; // 0x25b + 13'h25c: q = 8'h07; // 0x25c + 13'h25d: q = 8'ha5; // 0x25d + 13'h25e: q = 8'h81; // 0x25e + 13'h25f: q = 8'h20; // 0x25f + 13'h260: q = 8'h2d; // 0x260 + 13'h261: q = 8'h38; // 0x261 + 13'h262: q = 8'h85; // 0x262 + 13'h263: q = 8'h81; // 0x263 + 13'h264: q = 8'ha9; // 0x264 + 13'h265: q = 8'h30; // 0x265 + 13'h266: q = 8'h85; // 0x266 + 13'h267: q = 8'ha1; // 0x267 + 13'h268: q = 8'ha5; // 0x268 + 13'h269: q = 8'h61; // 0x269 + 13'h26a: q = 8'h38; // 0x26a + 13'h26b: q = 8'he5; // 0x26b + 13'h26c: q = 8'h51; // 0x26c + 13'h26d: q = 8'h85; // 0x26d + 13'h26e: q = 8'h61; // 0x26e + 13'h26f: q = 8'h85; // 0x26f + 13'h270: q = 8'h8b; // 0x270 + 13'h271: q = 8'ha5; // 0x271 + 13'h272: q = 8'h71; // 0x272 + 13'h273: q = 8'ha4; // 0x273 + 13'h274: q = 8'hef; // 0x274 + 13'h275: q = 8'hf0; // 0x275 + 13'h276: q = 8'h06; // 0x276 + 13'h277: q = 8'h18; // 0x277 + 13'h278: q = 8'h65; // 0x278 + 13'h279: q = 8'h81; // 0x279 + 13'h27a: q = 8'h4c; // 0x27a + 13'h27b: q = 8'h80; // 0x27b + 13'h27c: q = 8'h22; // 0x27c + 13'h27d: q = 8'h38; // 0x27d + 13'h27e: q = 8'he5; // 0x27e + 13'h27f: q = 8'h81; // 0x27f + 13'h280: q = 8'h85; // 0x280 + 13'h281: q = 8'h71; // 0x281 + 13'h282: q = 8'ha0; // 0x282 + 13'h283: q = 8'h00; // 0x283 + 13'h284: q = 8'h20; // 0x284 + 13'h285: q = 8'h2b; // 0x285 + 13'h286: q = 8'h2c; // 0x286 + 13'h287: q = 8'hf0; // 0x287 + 13'h288: q = 8'h13; // 0x288 + 13'h289: q = 8'ha0; // 0x289 + 13'h28a: q = 8'h00; // 0x28a + 13'h28b: q = 8'hb1; // 0x28b + 13'h28c: q = 8'h32; // 0x28c + 13'h28d: q = 8'h29; // 0x28d + 13'h28e: q = 8'h3f; // 0x28e + 13'h28f: q = 8'hc9; // 0x28f + 13'h290: q = 8'h38; // 0x290 + 13'h291: q = 8'h90; // 0x291 + 13'h292: q = 8'h09; // 0x292 + 13'h293: q = 8'ha9; // 0x293 + 13'h294: q = 8'h00; // 0x294 + 13'h295: q = 8'h91; // 0x295 + 13'h296: q = 8'h32; // 0x296 + 13'h297: q = 8'h20; // 0x297 + 13'h298: q = 8'h91; // 0x298 + 13'h299: q = 8'h2b; // 0x299 + 13'h29a: q = 8'ha2; // 0x29a + 13'h29b: q = 8'h0d; // 0x29b + 13'h29c: q = 8'ha5; // 0x29c + 13'h29d: q = 8'h61; // 0x29d + 13'h29e: q = 8'hc9; // 0x29e + 13'h29f: q = 8'hff; // 0x29f + 13'h2a0: q = 8'hb0; // 0x2a0 + 13'h2a1: q = 8'h54; // 0x2a1 + 13'h2a2: q = 8'ha5; // 0x2a2 + 13'h2a3: q = 8'h71; // 0x2a3 + 13'h2a4: q = 8'h45; // 0x2a4 + 13'h2a5: q = 8'hf0; // 0x2a5 + 13'h2a6: q = 8'hc9; // 0x2a6 + 13'h2a7: q = 8'h09; // 0x2a7 + 13'h2a8: q = 8'hb0; // 0x2a8 + 13'h2a9: q = 8'h06; // 0x2a9 + 13'h2aa: q = 8'ha5; // 0x2aa + 13'h2ab: q = 8'h81; // 0x2ab + 13'h2ac: q = 8'h10; // 0x2ac + 13'h2ad: q = 8'h3d; // 0x2ad + 13'h2ae: q = 8'h30; // 0x2ae + 13'h2af: q = 8'h32; // 0x2af + 13'h2b0: q = 8'ha6; // 0x2b0 + 13'h2b1: q = 8'h88; // 0x2b1 + 13'h2b2: q = 8'hb5; // 0x2b2 + 13'h2b3: q = 8'hab; // 0x2b3 + 13'h2b4: q = 8'hf8; // 0x2b4 + 13'h2b5: q = 8'h38; // 0x2b5 + 13'h2b6: q = 8'he9; // 0x2b6 + 13'h2b7: q = 8'h06; // 0x2b7 + 13'h2b8: q = 8'hd8; // 0x2b8 + 13'h2b9: q = 8'h10; // 0x2b9 + 13'h2ba: q = 8'h02; // 0x2ba + 13'h2bb: q = 8'ha9; // 0x2bb + 13'h2bc: q = 8'h00; // 0x2bc + 13'h2bd: q = 8'h4a; // 0x2bd + 13'h2be: q = 8'hc9; // 0x2be + 13'h2bf: q = 8'h06; // 0x2bf + 13'h2c0: q = 8'h90; // 0x2c0 + 13'h2c1: q = 8'h02; // 0x2c1 + 13'h2c2: q = 8'ha9; // 0x2c2 + 13'h2c3: q = 8'h05; // 0x2c3 + 13'h2c4: q = 8'h0a; // 0x2c4 + 13'h2c5: q = 8'h0a; // 0x2c5 + 13'h2c6: q = 8'h0a; // 0x2c6 + 13'h2c7: q = 8'h85; // 0x2c7 + 13'h2c8: q = 8'h8d; // 0x2c8 + 13'h2c9: q = 8'ha9; // 0x2c9 + 13'h2ca: q = 8'h60; // 0x2ca + 13'h2cb: q = 8'h45; // 0x2cb + 13'h2cc: q = 8'hf0; // 0x2cc + 13'h2cd: q = 8'h38; // 0x2cd + 13'h2ce: q = 8'he5; // 0x2ce + 13'h2cf: q = 8'h8d; // 0x2cf + 13'h2d0: q = 8'ha6; // 0x2d0 + 13'h2d1: q = 8'hef; // 0x2d1 + 13'h2d2: q = 8'hf0; // 0x2d2 + 13'h2d3: q = 8'h06; // 0x2d3 + 13'h2d4: q = 8'hc5; // 0x2d4 + 13'h2d5: q = 8'h71; // 0x2d5 + 13'h2d6: q = 8'h90; // 0x2d6 + 13'h2d7: q = 8'h0a; // 0x2d7 + 13'h2d8: q = 8'hb0; // 0x2d8 + 13'h2d9: q = 8'h04; // 0x2d9 + 13'h2da: q = 8'hc5; // 0x2da + 13'h2db: q = 8'h71; // 0x2db + 13'h2dc: q = 8'hb0; // 0x2dc + 13'h2dd: q = 8'h04; // 0x2dd + 13'h2de: q = 8'ha5; // 0x2de + 13'h2df: q = 8'h81; // 0x2df + 13'h2e0: q = 8'h30; // 0x2e0 + 13'h2e1: q = 8'h09; // 0x2e1 + 13'h2e2: q = 8'ha2; // 0x2e2 + 13'h2e3: q = 8'h0d; // 0x2e3 + 13'h2e4: q = 8'h20; // 0x2e4 + 13'h2e5: q = 8'h6b; // 0x2e5 + 13'h2e6: q = 8'h2c; // 0x2e6 + 13'h2e7: q = 8'h90; // 0x2e7 + 13'h2e8: q = 8'h07; // 0x2e8 + 13'h2e9: q = 8'ha5; // 0x2e9 + 13'h2ea: q = 8'h81; // 0x2ea + 13'h2eb: q = 8'h20; // 0x2eb + 13'h2ec: q = 8'h2d; // 0x2ec + 13'h2ed: q = 8'h38; // 0x2ed + 13'h2ee: q = 8'h85; // 0x2ee + 13'h2ef: q = 8'h81; // 0x2ef + 13'h2f0: q = 8'ha2; // 0x2f0 + 13'h2f1: q = 8'h0d; // 0x2f1 + 13'h2f2: q = 8'h20; // 0x2f2 + 13'h2f3: q = 8'h96; // 0x2f3 + 13'h2f4: q = 8'h2c; // 0x2f4 + 13'h2f5: q = 8'h60; // 0x2f5 + 13'h2f6: q = 8'h20; // 0x2f6 + 13'h2f7: q = 8'hc7; // 0x2f7 + 13'h2f8: q = 8'h21; // 0x2f8 + 13'h2f9: q = 8'h60; // 0x2f9 + 13'h2fa: q = 8'hc6; // 0x2fa + 13'h2fb: q = 8'ha1; // 0x2fb + 13'h2fc: q = 8'hd0; // 0x2fc + 13'h2fd: q = 8'h11; // 0x2fd + 13'h2fe: q = 8'had; // 0x2fe + 13'h2ff: q = 8'h0a; // 0x2ff + 13'h300: q = 8'h10; // 0x300 + 13'h301: q = 8'h29; // 0x301 + 13'h302: q = 8'h2f; // 0x302 + 13'h303: q = 8'h09; // 0x303 + 13'h304: q = 8'h0f; // 0x304 + 13'h305: q = 8'h85; // 0x305 + 13'h306: q = 8'ha1; // 0x306 + 13'h307: q = 8'ha9; // 0x307 + 13'h308: q = 8'h14; // 0x308 + 13'h309: q = 8'h85; // 0x309 + 13'h30a: q = 8'hb5; // 0x30a + 13'h30b: q = 8'h45; // 0x30b + 13'h30c: q = 8'hf2; // 0x30c + 13'h30d: q = 8'h85; // 0x30d + 13'h30e: q = 8'h41; // 0x30e + 13'h30f: q = 8'h60; // 0x30f + 13'h310: q = 8'hb5; // 0x310 + 13'h311: q = 8'h54; // 0x311 + 13'h312: q = 8'h85; // 0x312 + 13'h313: q = 8'h8b; // 0x313 + 13'h314: q = 8'ha0; // 0x314 + 13'h315: q = 8'hff; // 0x315 + 13'h316: q = 8'hb5; // 0x316 + 13'h317: q = 8'h44; // 0x317 + 13'h318: q = 8'h30; // 0x318 + 13'h319: q = 8'h02; // 0x319 + 13'h31a: q = 8'ha0; // 0x31a + 13'h31b: q = 8'h01; // 0x31b + 13'h31c: q = 8'hb5; // 0x31c + 13'h31d: q = 8'h64; // 0x31d + 13'h31e: q = 8'h60; // 0x31e + 13'h31f: q = 8'ha6; // 0x31f + 13'h320: q = 8'h88; // 0x320 + 13'h321: q = 8'hb5; // 0x321 + 13'h322: q = 8'h94; // 0x322 + 13'h323: q = 8'hd0; // 0x323 + 13'h324: q = 8'h20; // 0x324 + 13'h325: q = 8'hb5; // 0x325 + 13'h326: q = 8'hc2; // 0x326 + 13'h327: q = 8'h09; // 0x327 + 13'h328: q = 8'h80; // 0x328 + 13'h329: q = 8'h95; // 0x329 + 13'h32a: q = 8'hc2; // 0x32a + 13'h32b: q = 8'hb5; // 0x32b + 13'h32c: q = 8'h9c; // 0x32c + 13'h32d: q = 8'hc9; // 0x32d + 13'h32e: q = 8'h03; // 0x32e + 13'h32f: q = 8'h90; // 0x32f + 13'h330: q = 8'h14; // 0x330 + 13'h331: q = 8'hd6; // 0x331 + 13'h332: q = 8'h9a; // 0x332 + 13'h333: q = 8'hd0; // 0x333 + 13'h334: q = 8'h04; // 0x334 + 13'h335: q = 8'ha9; // 0x335 + 13'h336: q = 8'h0c; // 0x336 + 13'h337: q = 8'h95; // 0x337 + 13'h338: q = 8'h9a; // 0x338 + 13'h339: q = 8'ha9; // 0x339 + 13'h33a: q = 8'h02; // 0x33a + 13'h33b: q = 8'hb4; // 0x33b + 13'h33c: q = 8'hab; // 0x33c + 13'h33d: q = 8'hc0; // 0x33d + 13'h33e: q = 8'h04; // 0x33e + 13'h33f: q = 8'hb0; // 0x33f + 13'h340: q = 8'h02; // 0x340 + 13'h341: q = 8'ha9; // 0x341 + 13'h342: q = 8'h01; // 0x342 + 13'h343: q = 8'h95; // 0x343 + 13'h344: q = 8'h9c; // 0x344 + 13'h345: q = 8'ha9; // 0x345 + 13'h346: q = 8'h03; // 0x346 + 13'h347: q = 8'h85; // 0x347 + 13'h348: q = 8'h34; // 0x348 + 13'h349: q = 8'hb5; // 0x349 + 13'h34a: q = 8'h9c; // 0x34a + 13'h34b: q = 8'h85; // 0x34b + 13'h34c: q = 8'h74; // 0x34c + 13'h34d: q = 8'ha8; // 0x34d + 13'h34e: q = 8'ha5; // 0x34e + 13'h34f: q = 8'h00; // 0x34f + 13'h350: q = 8'h29; // 0x350 + 13'h351: q = 8'h02; // 0x351 + 13'h352: q = 8'hd0; // 0x352 + 13'h353: q = 8'h05; // 0x353 + 13'h354: q = 8'h98; // 0x354 + 13'h355: q = 8'h20; // 0x355 + 13'h356: q = 8'h2d; // 0x356 + 13'h357: q = 8'h38; // 0x357 + 13'h358: q = 8'ha8; // 0x358 + 13'h359: q = 8'h84; // 0x359 + 13'h35a: q = 8'h44; // 0x35a + 13'h35b: q = 8'ha9; // 0x35b + 13'h35c: q = 8'hf8; // 0x35c + 13'h35d: q = 8'h45; // 0x35d + 13'h35e: q = 8'hf0; // 0x35e + 13'h35f: q = 8'h85; // 0x35f + 13'h360: q = 8'h64; // 0x360 + 13'h361: q = 8'ha9; // 0x361 + 13'h362: q = 8'h80; // 0x362 + 13'h363: q = 8'h85; // 0x363 + 13'h364: q = 8'h54; // 0x364 + 13'h365: q = 8'hb5; // 0x365 + 13'h366: q = 8'h9a; // 0x366 + 13'h367: q = 8'h85; // 0x367 + 13'h368: q = 8'h8b; // 0x368 + 13'h369: q = 8'hc9; // 0x369 + 13'h36a: q = 8'h01; // 0x36a + 13'h36b: q = 8'hf0; // 0x36b + 13'h36c: q = 8'h35; // 0x36c + 13'h36d: q = 8'ha0; // 0x36d + 13'h36e: q = 8'h42; // 0x36e + 13'h36f: q = 8'ha2; // 0x36f + 13'h370: q = 8'h01; // 0x370 + 13'h371: q = 8'h94; // 0x371 + 13'h372: q = 8'h34; // 0x372 + 13'h373: q = 8'ha9; // 0x373 + 13'h374: q = 8'hf8; // 0x374 + 13'h375: q = 8'h45; // 0x375 + 13'h376: q = 8'hf0; // 0x376 + 13'h377: q = 8'h95; // 0x377 + 13'h378: q = 8'h64; // 0x378 + 13'h379: q = 8'hb5; // 0x379 + 13'h37a: q = 8'h73; // 0x37a + 13'h37b: q = 8'h95; // 0x37b + 13'h37c: q = 8'h74; // 0x37c + 13'h37d: q = 8'hb5; // 0x37d + 13'h37e: q = 8'h43; // 0x37e + 13'h37f: q = 8'h95; // 0x37f + 13'h380: q = 8'h44; // 0x380 + 13'h381: q = 8'h10; // 0x381 + 13'h382: q = 8'h04; // 0x382 + 13'h383: q = 8'ha9; // 0x383 + 13'h384: q = 8'h08; // 0x384 + 13'h385: q = 8'hd0; // 0x385 + 13'h386: q = 8'h02; // 0x386 + 13'h387: q = 8'ha9; // 0x387 + 13'h388: q = 8'hf8; // 0x388 + 13'h389: q = 8'h18; // 0x389 + 13'h38a: q = 8'h75; // 0x38a + 13'h38b: q = 8'h53; // 0x38b + 13'h38c: q = 8'h95; // 0x38c + 13'h38d: q = 8'h54; // 0x38d + 13'h38e: q = 8'h88; // 0x38e + 13'h38f: q = 8'hc0; // 0x38f + 13'h390: q = 8'h3f; // 0x390 + 13'h391: q = 8'hd0; // 0x391 + 13'h392: q = 8'h02; // 0x392 + 13'h393: q = 8'ha0; // 0x393 + 13'h394: q = 8'h47; // 0x394 + 13'h395: q = 8'he8; // 0x395 + 13'h396: q = 8'he4; // 0x396 + 13'h397: q = 8'h8b; // 0x397 + 13'h398: q = 8'h90; // 0x398 + 13'h399: q = 8'hd7; // 0x399 + 13'h39a: q = 8'ha6; // 0x39a + 13'h39b: q = 8'h88; // 0x39b + 13'h39c: q = 8'hb5; // 0x39c + 13'h39d: q = 8'h9a; // 0x39d + 13'h39e: q = 8'hc9; // 0x39e + 13'h39f: q = 8'h0c; // 0x39f + 13'h3a0: q = 8'hf0; // 0x3a0 + 13'h3a1: q = 8'h2d; // 0x3a1 + 13'h3a2: q = 8'ha9; // 0x3a2 + 13'h3a3: q = 8'hf8; // 0x3a3 + 13'h3a4: q = 8'h45; // 0x3a4 + 13'h3a5: q = 8'hf0; // 0x3a5 + 13'h3a6: q = 8'ha6; // 0x3a6 + 13'h3a7: q = 8'h8b; // 0x3a7 + 13'h3a8: q = 8'h95; // 0x3a8 + 13'h3a9: q = 8'h64; // 0x3a9 + 13'h3aa: q = 8'ha9; // 0x3aa + 13'h3ab: q = 8'h00; // 0x3ab + 13'h3ac: q = 8'h95; // 0x3ac + 13'h3ad: q = 8'h34; // 0x3ad + 13'h3ae: q = 8'ha9; // 0x3ae + 13'h3af: q = 8'h02; // 0x3af + 13'h3b0: q = 8'ha4; // 0x3b0 + 13'h3b1: q = 8'hf4; // 0x3b1 + 13'h3b2: q = 8'hf0; // 0x3b2 + 13'h3b3: q = 8'h01; // 0x3b3 + 13'h3b4: q = 8'h98; // 0x3b4 + 13'h3b5: q = 8'h95; // 0x3b5 + 13'h3b6: q = 8'h74; // 0x3b6 + 13'h3b7: q = 8'h2c; // 0x3b7 + 13'h3b8: q = 8'h0a; // 0x3b8 + 13'h3b9: q = 8'h10; // 0x3b9 + 13'h3ba: q = 8'h10; // 0x3ba + 13'h3bb: q = 8'h03; // 0x3bb + 13'h3bc: q = 8'h20; // 0x3bc + 13'h3bd: q = 8'h2d; // 0x3bd + 13'h3be: q = 8'h38; // 0x3be + 13'h3bf: q = 8'h95; // 0x3bf + 13'h3c0: q = 8'h44; // 0x3c0 + 13'h3c1: q = 8'had; // 0x3c1 + 13'h3c2: q = 8'h0a; // 0x3c2 + 13'h3c3: q = 8'h10; // 0x3c3 + 13'h3c4: q = 8'h29; // 0x3c4 + 13'h3c5: q = 8'hf8; // 0x3c5 + 13'h3c6: q = 8'h95; // 0x3c6 + 13'h3c7: q = 8'h54; // 0x3c7 + 13'h3c8: q = 8'hb5; // 0x3c8 + 13'h3c9: q = 8'h64; // 0x3c9 + 13'h3ca: q = 8'he8; // 0x3ca + 13'h3cb: q = 8'he0; // 0x3cb + 13'h3cc: q = 8'h0c; // 0x3cc + 13'h3cd: q = 8'h90; // 0x3cd + 13'h3ce: q = 8'hd9; // 0x3ce + 13'h3cf: q = 8'ha9; // 0x3cf + 13'h3d0: q = 8'h0c; // 0x3d0 + 13'h3d1: q = 8'ha6; // 0x3d1 + 13'h3d2: q = 8'h88; // 0x3d2 + 13'h3d3: q = 8'h95; // 0x3d3 + 13'h3d4: q = 8'h94; // 0x3d4 + 13'h3d5: q = 8'ha5; // 0x3d5 + 13'h3d6: q = 8'hfe; // 0x3d6 + 13'h3d7: q = 8'h85; // 0x3d7 + 13'h3d8: q = 8'h97; // 0x3d8 + 13'h3d9: q = 8'h60; // 0x3d9 + 13'h3da: q = 8'ha5; // 0x3da + 13'h3db: q = 8'h87; // 0x3db + 13'h3dc: q = 8'hd0; // 0x3dc + 13'h3dd: q = 8'h01; // 0x3dd + 13'h3de: q = 8'h60; // 0x3de + 13'h3df: q = 8'ha5; // 0x3df + 13'h3e0: q = 8'hdb; // 0x3e0 + 13'h3e1: q = 8'hd0; // 0x3e1 + 13'h3e2: q = 8'hfb; // 0x3e2 + 13'h3e3: q = 8'hc6; // 0x3e3 + 13'h3e4: q = 8'h87; // 0x3e4 + 13'h3e5: q = 8'hd0; // 0x3e5 + 13'h3e6: q = 8'hf7; // 0x3e6 + 13'h3e7: q = 8'ha5; // 0x3e7 + 13'h3e8: q = 8'hd6; // 0x3e8 + 13'h3e9: q = 8'hf0; // 0x3e9 + 13'h3ea: q = 8'h0f; // 0x3ea + 13'h3eb: q = 8'ha9; // 0x3eb + 13'h3ec: q = 8'h80; // 0x3ec + 13'h3ed: q = 8'h20; // 0x3ed + 13'h3ee: q = 8'hd5; // 0x3ee + 13'h3ef: q = 8'h37; // 0x3ef + 13'h3f0: q = 8'ha9; // 0x3f0 + 13'h3f1: q = 8'h00; // 0x3f1 + 13'h3f2: q = 8'ha8; // 0x3f2 + 13'h3f3: q = 8'h91; // 0x3f3 + 13'h3f4: q = 8'h91; // 0x3f4 + 13'h3f5: q = 8'h85; // 0x3f5 + 13'h3f6: q = 8'hd6; // 0x3f6 + 13'h3f7: q = 8'h4c; // 0x3f7 + 13'h3f8: q = 8'h32; // 0x3f8 + 13'h3f9: q = 8'h29; // 0x3f9 + 13'h3fa: q = 8'ha5; // 0x3fa + 13'h3fb: q = 8'h43; // 0x3fb + 13'h3fc: q = 8'h29; // 0x3fc + 13'h3fd: q = 8'haf; // 0x3fd + 13'h3fe: q = 8'hd0; // 0x3fe + 13'h3ff: q = 8'h03; // 0x3ff + 13'h400: q = 8'h4c; // 0x400 + 13'h401: q = 8'h05; // 0x401 + 13'h402: q = 8'h25; // 0x402 + 13'h403: q = 8'h20; // 0x403 + 13'h404: q = 8'h32; // 0x404 + 13'h405: q = 8'h29; // 0x405 + 13'h406: q = 8'ha5; // 0x406 + 13'h407: q = 8'h86; // 0x407 + 13'h408: q = 8'h10; // 0x408 + 13'h409: q = 8'h11; // 0x409 + 13'h40a: q = 8'ha5; // 0x40a + 13'h40b: q = 8'h01; // 0x40b + 13'h40c: q = 8'h10; // 0x40c + 13'h40d: q = 8'h0a; // 0x40d + 13'h40e: q = 8'h29; // 0x40e + 13'h40f: q = 8'h7f; // 0x40f + 13'h410: q = 8'h85; // 0x410 + 13'h411: q = 8'h01; // 0x411 + 13'h412: q = 8'h20; // 0x412 + 13'h413: q = 8'hd5; // 0x413 + 13'h414: q = 8'h31; // 0x414 + 13'h415: q = 8'h20; // 0x415 + 13'h416: q = 8'h5c; // 0x416 + 13'h417: q = 8'h2d; // 0x417 + 13'h418: q = 8'h4c; // 0x418 + 13'h419: q = 8'hff; // 0x419 + 13'h41a: q = 8'h24; // 0x41a + 13'h41b: q = 8'ha5; // 0x41b + 13'h41c: q = 8'ha5; // 0x41c + 13'h41d: q = 8'h05; // 0x41d + 13'h41e: q = 8'ha6; // 0x41e + 13'h41f: q = 8'hd0; // 0x41f + 13'h420: q = 8'h46; // 0x420 + 13'h421: q = 8'hc6; // 0x421 + 13'h422: q = 8'h86; // 0x422 + 13'h423: q = 8'h20; // 0x423 + 13'h424: q = 8'h3e; // 0x424 + 13'h425: q = 8'h32; // 0x425 + 13'h426: q = 8'ha5; // 0x426 + 13'h427: q = 8'hef; // 0x427 + 13'h428: q = 8'hf0; // 0x428 + 13'h429: q = 8'h18; // 0x429 + 13'h42a: q = 8'ha5; // 0x42a + 13'h42b: q = 8'hc2; // 0x42b + 13'h42c: q = 8'h10; // 0x42c + 13'h42d: q = 8'h14; // 0x42d + 13'h42e: q = 8'ha9; // 0x42e + 13'h42f: q = 8'h80; // 0x42f + 13'h430: q = 8'h85; // 0x430 + 13'h431: q = 8'hee; // 0x431 + 13'h432: q = 8'h20; // 0x432 + 13'h433: q = 8'h09; // 0x433 + 13'h434: q = 8'h25; // 0x434 + 13'h435: q = 8'h20; // 0x435 + 13'h436: q = 8'h32; // 0x436 + 13'h437: q = 8'h29; // 0x437 + 13'h438: q = 8'h20; // 0x438 + 13'h439: q = 8'hd5; // 0x439 + 13'h43a: q = 8'h31; // 0x43a + 13'h43b: q = 8'ha5; // 0x43b + 13'h43c: q = 8'hc1; // 0x43c + 13'h43d: q = 8'h10; // 0x43d + 13'h43e: q = 8'h03; // 0x43e + 13'h43f: q = 8'h20; // 0x43f + 13'h440: q = 8'h5c; // 0x440 + 13'h441: q = 8'h2d; // 0x441 + 13'h442: q = 8'h20; // 0x442 + 13'h443: q = 8'hc7; // 0x443 + 13'h444: q = 8'h21; // 0x444 + 13'h445: q = 8'h20; // 0x445 + 13'h446: q = 8'h1f; // 0x446 + 13'h447: q = 8'h23; // 0x447 + 13'h448: q = 8'h20; // 0x448 + 13'h449: q = 8'he8; // 0x449 + 13'h44a: q = 8'h20; // 0x44a + 13'h44b: q = 8'ha9; // 0x44b + 13'h44c: q = 8'h01; // 0x44c + 13'h44d: q = 8'h85; // 0x44d + 13'h44e: q = 8'h00; // 0x44e + 13'h44f: q = 8'ha9; // 0x44f + 13'h450: q = 8'h04; // 0x450 + 13'h451: q = 8'h20; // 0x451 + 13'h452: q = 8'hd5; // 0x452 + 13'h453: q = 8'h37; // 0x453 + 13'h454: q = 8'ha6; // 0x454 + 13'h455: q = 8'h89; // 0x455 + 13'h456: q = 8'ha9; // 0x456 + 13'h457: q = 8'hff; // 0x457 + 13'h458: q = 8'h9d; // 0x458 + 13'h459: q = 8'h02; // 0x459 + 13'h45a: q = 8'h1c; // 0x45a + 13'h45b: q = 8'h20; // 0x45b + 13'h45c: q = 8'h08; // 0x45c + 13'h45d: q = 8'h3a; // 0x45d + 13'h45e: q = 8'ha9; // 0x45e + 13'h45f: q = 8'h3d; // 0x45f + 13'h460: q = 8'h85; // 0x460 + 13'h461: q = 8'hf9; // 0x461 + 13'h462: q = 8'ha9; // 0x462 + 13'h463: q = 8'h00; // 0x463 + 13'h464: q = 8'h85; // 0x464 + 13'h465: q = 8'hfa; // 0x465 + 13'h466: q = 8'h60; // 0x466 + 13'h467: q = 8'ha6; // 0x467 + 13'h468: q = 8'h89; // 0x468 + 13'h469: q = 8'hca; // 0x469 + 13'h46a: q = 8'hd0; // 0x46a + 13'h46b: q = 8'h03; // 0x46b + 13'h46c: q = 8'h4c; // 0x46c + 13'h46d: q = 8'hf8; // 0x46d + 13'h46e: q = 8'h24; // 0x46e + 13'h46f: q = 8'ha6; // 0x46f + 13'h470: q = 8'h88; // 0x470 + 13'h471: q = 8'hb5; // 0x471 + 13'h472: q = 8'ha4; // 0x472 + 13'h473: q = 8'hd0; // 0x473 + 13'h474: q = 8'h24; // 0x474 + 13'h475: q = 8'ha5; // 0x475 + 13'h476: q = 8'ha7; // 0x476 + 13'h477: q = 8'hd0; // 0x477 + 13'h478: q = 8'h1e; // 0x478 + 13'h479: q = 8'he6; // 0x479 + 13'h47a: q = 8'ha7; // 0x47a + 13'h47b: q = 8'ha9; // 0x47b + 13'h47c: q = 8'h80; // 0x47c + 13'h47d: q = 8'h85; // 0x47d + 13'h47e: q = 8'h87; // 0x47e + 13'h47f: q = 8'ha9; // 0x47f + 13'h480: q = 8'hf9; // 0x480 + 13'h481: q = 8'h85; // 0x481 + 13'h482: q = 8'h43; // 0x482 + 13'h483: q = 8'h85; // 0x483 + 13'h484: q = 8'h42; // 0x484 + 13'h485: q = 8'ha9; // 0x485 + 13'h486: q = 8'h04; // 0x486 + 13'h487: q = 8'h20; // 0x487 + 13'h488: q = 8'hd5; // 0x488 + 13'h489: q = 8'h37; // 0x489 + 13'h48a: q = 8'ha9; // 0x48a + 13'h48b: q = 8'h00; // 0x48b + 13'h48c: q = 8'h20; // 0x48c + 13'h48d: q = 8'hd5; // 0x48d + 13'h48e: q = 8'h37; // 0x48e + 13'h48f: q = 8'ha5; // 0x48f + 13'h490: q = 8'h88; // 0x490 + 13'h491: q = 8'h09; // 0x491 + 13'h492: q = 8'h20; // 0x492 + 13'h493: q = 8'h20; // 0x493 + 13'h494: q = 8'h36; // 0x494 + 13'h495: q = 8'h38; // 0x495 + 13'h496: q = 8'h60; // 0x496 + 13'h497: q = 8'hc6; // 0x497 + 13'h498: q = 8'ha7; // 0x498 + 13'h499: q = 8'ha5; // 0x499 + 13'h49a: q = 8'h88; // 0x49a + 13'h49b: q = 8'h49; // 0x49b + 13'h49c: q = 8'h03; // 0x49c + 13'h49d: q = 8'haa; // 0x49d + 13'h49e: q = 8'hb5; // 0x49e + 13'h49f: q = 8'ha4; // 0x49f + 13'h4a0: q = 8'hf0; // 0x4a0 + 13'h4a1: q = 8'h56; // 0x4a1 + 13'h4a2: q = 8'h86; // 0x4a2 + 13'h4a3: q = 8'h88; // 0x4a3 + 13'h4a4: q = 8'ha9; // 0x4a4 + 13'h4a5: q = 8'h80; // 0x4a5 + 13'h4a6: q = 8'h25; // 0x4a6 + 13'h4a7: q = 8'hee; // 0x4a7 + 13'h4a8: q = 8'h05; // 0x4a8 + 13'h4a9: q = 8'h88; // 0x4a9 + 13'h4aa: q = 8'h85; // 0x4aa + 13'h4ab: q = 8'hee; // 0x4ab + 13'h4ac: q = 8'hc9; // 0x4ac + 13'h4ad: q = 8'h82; // 0x4ad + 13'h4ae: q = 8'hd0; // 0x4ae + 13'h4af: q = 8'h03; // 0x4af + 13'h4b0: q = 8'h20; // 0x4b0 + 13'h4b1: q = 8'h2a; // 0x4b1 + 13'h4b2: q = 8'h25; // 0x4b2 + 13'h4b3: q = 8'hb5; // 0x4b3 + 13'h4b4: q = 8'ha1; // 0x4b4 + 13'h4b5: q = 8'h85; // 0x4b5 + 13'h4b6: q = 8'ha0; // 0x4b6 + 13'h4b7: q = 8'ha6; // 0x4b7 + 13'h4b8: q = 8'h88; // 0x4b8 + 13'h4b9: q = 8'he0; // 0x4b9 + 13'h4ba: q = 8'h01; // 0x4ba + 13'h4bb: q = 8'hd0; // 0x4bb + 13'h4bc: q = 8'h03; // 0x4bc + 13'h4bd: q = 8'h20; // 0x4bd + 13'h4be: q = 8'h09; // 0x4be + 13'h4bf: q = 8'h25; // 0x4bf + 13'h4c0: q = 8'h20; // 0x4c0 + 13'h4c1: q = 8'hd5; // 0x4c1 + 13'h4c2: q = 8'h31; // 0x4c2 + 13'h4c3: q = 8'ha6; // 0x4c3 + 13'h4c4: q = 8'h88; // 0x4c4 + 13'h4c5: q = 8'he0; // 0x4c5 + 13'h4c6: q = 8'h02; // 0x4c6 + 13'h4c7: q = 8'hd0; // 0x4c7 + 13'h4c8: q = 8'h11; // 0x4c8 + 13'h4c9: q = 8'hb5; // 0x4c9 + 13'h4ca: q = 8'ha4; // 0x4ca + 13'h4cb: q = 8'hc5; // 0x4cb + 13'h4cc: q = 8'ha4; // 0x4cc + 13'h4cd: q = 8'hd0; // 0x4cd + 13'h4ce: q = 8'h0b; // 0x4ce + 13'h4cf: q = 8'ha5; // 0x4cf + 13'h4d0: q = 8'had; // 0x4d0 + 13'h4d1: q = 8'hd0; // 0x4d1 + 13'h4d2: q = 8'h07; // 0x4d2 + 13'h4d3: q = 8'ha9; // 0x4d3 + 13'h4d4: q = 8'h0c; // 0x4d4 + 13'h4d5: q = 8'h95; // 0x4d5 + 13'h4d6: q = 8'h94; // 0x4d6 + 13'h4d7: q = 8'h20; // 0x4d7 + 13'h4d8: q = 8'hbf; // 0x4d8 + 13'h4d9: q = 8'h28; // 0x4d9 + 13'h4da: q = 8'hb5; // 0x4da + 13'h4db: q = 8'hc2; // 0x4db + 13'h4dc: q = 8'h09; // 0x4dc + 13'h4dd: q = 8'h40; // 0x4dd + 13'h4de: q = 8'h95; // 0x4de + 13'h4df: q = 8'hc2; // 0x4df + 13'h4e0: q = 8'ha9; // 0x4e0 + 13'h4e1: q = 8'ha0; // 0x4e1 + 13'h4e2: q = 8'h85; // 0x4e2 + 13'h4e3: q = 8'h87; // 0x4e3 + 13'h4e4: q = 8'ha9; // 0x4e4 + 13'h4e5: q = 8'h00; // 0x4e5 + 13'h4e6: q = 8'h20; // 0x4e6 + 13'h4e7: q = 8'hd5; // 0x4e7 + 13'h4e8: q = 8'h37; // 0x4e8 + 13'h4e9: q = 8'ha5; // 0x4e9 + 13'h4ea: q = 8'h88; // 0x4ea + 13'h4eb: q = 8'h09; // 0x4eb + 13'h4ec: q = 8'h20; // 0x4ec + 13'h4ed: q = 8'h20; // 0x4ed + 13'h4ee: q = 8'h36; // 0x4ee + 13'h4ef: q = 8'h38; // 0x4ef + 13'h4f0: q = 8'ha9; // 0x4f0 + 13'h4f1: q = 8'hf9; // 0x4f1 + 13'h4f2: q = 8'h85; // 0x4f2 + 13'h4f3: q = 8'h43; // 0x4f3 + 13'h4f4: q = 8'h85; // 0x4f4 + 13'h4f5: q = 8'h42; // 0x4f5 + 13'h4f6: q = 8'h85; // 0x4f6 + 13'h4f7: q = 8'hd6; // 0x4f7 + 13'h4f8: q = 8'ha6; // 0x4f8 + 13'h4f9: q = 8'h88; // 0x4f9 + 13'h4fa: q = 8'hd6; // 0x4fa + 13'h4fb: q = 8'ha4; // 0x4fb + 13'h4fc: q = 8'h20; // 0x4fc + 13'h4fd: q = 8'hb8; // 0x4fd + 13'h4fe: q = 8'h26; // 0x4fe + 13'h4ff: q = 8'h20; // 0x4ff + 13'h500: q = 8'hc7; // 0x500 + 13'h501: q = 8'h21; // 0x501 + 13'h502: q = 8'h20; // 0x502 + 13'h503: q = 8'he8; // 0x503 + 13'h504: q = 8'h20; // 0x504 + 13'h505: q = 8'h20; // 0x505 + 13'h506: q = 8'h1f; // 0x506 + 13'h507: q = 8'h23; // 0x507 + 13'h508: q = 8'h60; // 0x508 + 13'h509: q = 8'ha5; // 0x509 + 13'h50a: q = 8'hfe; // 0x50a + 13'h50b: q = 8'h85; // 0x50b + 13'h50c: q = 8'hbd; // 0x50c + 13'h50d: q = 8'h85; // 0x50d + 13'h50e: q = 8'hbf; // 0x50e + 13'h50f: q = 8'h8d; // 0x50f + 13'h510: q = 8'h07; // 0x510 + 13'h511: q = 8'h1c; // 0x511 + 13'h512: q = 8'h8d; // 0x512 + 13'h513: q = 8'h00; // 0x513 + 13'h514: q = 8'h24; // 0x514 + 13'h515: q = 8'h85; // 0x515 + 13'h516: q = 8'hf5; // 0x516 + 13'h517: q = 8'h85; // 0x517 + 13'h518: q = 8'hf7; // 0x518 + 13'h519: q = 8'h85; // 0x519 + 13'h51a: q = 8'hf6; // 0x51a + 13'h51b: q = 8'h85; // 0x51b + 13'h51c: q = 8'hf0; // 0x51c + 13'h51d: q = 8'h85; // 0x51d + 13'h51e: q = 8'hef; // 0x51e + 13'h51f: q = 8'h85; // 0x51f + 13'h520: q = 8'hf1; // 0x520 + 13'h521: q = 8'h85; // 0x521 + 13'h522: q = 8'hf2; // 0x522 + 13'h523: q = 8'h85; // 0x523 + 13'h524: q = 8'hf3; // 0x524 + 13'h525: q = 8'h85; // 0x525 + 13'h526: q = 8'hf4; // 0x526 + 13'h527: q = 8'h85; // 0x527 + 13'h528: q = 8'hf8; // 0x528 + 13'h529: q = 8'h60; // 0x529 + 13'h52a: q = 8'ha9; // 0x52a + 13'h52b: q = 8'hf8; // 0x52b + 13'h52c: q = 8'h85; // 0x52c + 13'h52d: q = 8'hf0; // 0x52d + 13'h52e: q = 8'ha9; // 0x52e + 13'h52f: q = 8'hff; // 0x52f + 13'h530: q = 8'h85; // 0x530 + 13'h531: q = 8'hf3; // 0x531 + 13'h532: q = 8'ha9; // 0x532 + 13'h533: q = 8'hfe; // 0x533 + 13'h534: q = 8'h85; // 0x534 + 13'h535: q = 8'hf4; // 0x535 + 13'h536: q = 8'ha9; // 0x536 + 13'h537: q = 8'hfc; // 0x537 + 13'h538: q = 8'h85; // 0x538 + 13'h539: q = 8'hf8; // 0x539 + 13'h53a: q = 8'ha9; // 0x53a + 13'h53b: q = 8'he0; // 0x53b + 13'h53c: q = 8'h85; // 0x53c + 13'h53d: q = 8'hf1; // 0x53d + 13'h53e: q = 8'ha9; // 0x53e + 13'h53f: q = 8'hc0; // 0x53f + 13'h540: q = 8'h85; // 0x540 + 13'h541: q = 8'hef; // 0x541 + 13'h542: q = 8'ha9; // 0x542 + 13'h543: q = 8'h40; // 0x543 + 13'h544: q = 8'h85; // 0x544 + 13'h545: q = 8'hf2; // 0x545 + 13'h546: q = 8'ha9; // 0x546 + 13'h547: q = 8'hbf; // 0x547 + 13'h548: q = 8'h85; // 0x548 + 13'h549: q = 8'hf5; // 0x549 + 13'h54a: q = 8'ha9; // 0x54a + 13'h54b: q = 8'h03; // 0x54b + 13'h54c: q = 8'h85; // 0x54c + 13'h54d: q = 8'hf7; // 0x54d + 13'h54e: q = 8'ha9; // 0x54e + 13'h54f: q = 8'h3f; // 0x54f + 13'h550: q = 8'h85; // 0x550 + 13'h551: q = 8'hf6; // 0x551 + 13'h552: q = 8'ha9; // 0x552 + 13'h553: q = 8'h80; // 0x553 + 13'h554: q = 8'h8d; // 0x554 + 13'h555: q = 8'h07; // 0x555 + 13'h556: q = 8'h1c; // 0x556 + 13'h557: q = 8'h8d; // 0x557 + 13'h558: q = 8'h00; // 0x558 + 13'h559: q = 8'h24; // 0x559 + 13'h55a: q = 8'ha9; // 0x55a + 13'h55b: q = 8'h00; // 0x55b + 13'h55c: q = 8'h85; // 0x55c + 13'h55d: q = 8'hbd; // 0x55d + 13'h55e: q = 8'h85; // 0x55e + 13'h55f: q = 8'hbf; // 0x55f + 13'h560: q = 8'h60; // 0x560 + 13'h561: q = 8'had; // 0x561 + 13'h562: q = 8'h01; // 0x562 + 13'h563: q = 8'h08; // 0x563 + 13'h564: q = 8'h85; // 0x564 + 13'h565: q = 8'hd3; // 0x565 + 13'h566: q = 8'h29; // 0x566 + 13'h567: q = 8'h03; // 0x567 + 13'h568: q = 8'h85; // 0x568 + 13'h569: q = 8'h8d; // 0x569 + 13'h56a: q = 8'hd0; // 0x56a + 13'h56b: q = 8'h04; // 0x56b + 13'h56c: q = 8'ha9; // 0x56c + 13'h56d: q = 8'h02; // 0x56d + 13'h56e: q = 8'h85; // 0x56e + 13'h56f: q = 8'hc8; // 0x56f + 13'h570: q = 8'ha5; // 0x570 + 13'h571: q = 8'hfd; // 0x571 + 13'h572: q = 8'h29; // 0x572 + 13'h573: q = 8'h0c; // 0x573 + 13'h574: q = 8'h4a; // 0x574 + 13'h575: q = 8'h4a; // 0x575 + 13'h576: q = 8'h69; // 0x576 + 13'h577: q = 8'h02; // 0x577 + 13'h578: q = 8'h85; // 0x578 + 13'h579: q = 8'ha4; // 0x579 + 13'h57a: q = 8'ha5; // 0x57a + 13'h57b: q = 8'h86; // 0x57b + 13'h57c: q = 8'h30; // 0x57c + 13'h57d: q = 8'h01; // 0x57d + 13'h57e: q = 8'h60; // 0x57e + 13'h57f: q = 8'ha5; // 0x57f + 13'h580: q = 8'h8d; // 0x580 + 13'h581: q = 8'hf0; // 0x581 + 13'h582: q = 8'h03; // 0x582 + 13'h583: q = 8'h20; // 0x583 + 13'h584: q = 8'hd5; // 0x584 + 13'h585: q = 8'h37; // 0x585 + 13'h586: q = 8'ha5; // 0x586 + 13'h587: q = 8'h00; // 0x587 + 13'h588: q = 8'h29; // 0x588 + 13'h589: q = 8'h20; // 0x589 + 13'h58a: q = 8'h0a; // 0x58a + 13'h58b: q = 8'h0a; // 0x58b + 13'h58c: q = 8'h85; // 0x58c + 13'h58d: q = 8'h8d; // 0x58d + 13'h58e: q = 8'ha5; // 0x58e + 13'h58f: q = 8'hc8; // 0x58f + 13'h590: q = 8'h05; // 0x590 + 13'h591: q = 8'hc9; // 0x591 + 13'h592: q = 8'hf0; // 0x592 + 13'h593: q = 8'h10; // 0x593 + 13'h594: q = 8'ha6; // 0x594 + 13'h595: q = 8'hdc; // 0x595 + 13'h596: q = 8'h10; // 0x596 + 13'h597: q = 8'h27; // 0x597 + 13'h598: q = 8'hc9; // 0x598 + 13'h599: q = 8'h02; // 0x599 + 13'h59a: q = 8'h90; // 0x59a + 13'h59b: q = 8'h1c; // 0x59b + 13'h59c: q = 8'ha9; // 0x59c + 13'h59d: q = 8'h00; // 0x59d + 13'h59e: q = 8'h85; // 0x59e + 13'h59f: q = 8'hdc; // 0x59f + 13'h5a0: q = 8'ha9; // 0x5a0 + 13'h5a1: q = 8'h8a; // 0x5a1 + 13'h5a2: q = 8'hd0; // 0x5a2 + 13'h5a3: q = 8'h18; // 0x5a3 + 13'h5a4: q = 8'ha5; // 0x5a4 + 13'h5a5: q = 8'hfd; // 0x5a5 + 13'h5a6: q = 8'h29; // 0x5a6 + 13'h5a7: q = 8'h80; // 0x5a7 + 13'h5a8: q = 8'h85; // 0x5a8 + 13'h5a9: q = 8'hdc; // 0x5a9 + 13'h5aa: q = 8'h49; // 0x5aa + 13'h5ab: q = 8'h8a; // 0x5ab + 13'h5ac: q = 8'h20; // 0x5ac + 13'h5ad: q = 8'hd5; // 0x5ad + 13'h5ae: q = 8'h37; // 0x5ae + 13'h5af: q = 8'ha2; // 0x5af + 13'h5b0: q = 8'hff; // 0x5b0 + 13'h5b1: q = 8'h8e; // 0x5b1 + 13'h5b2: q = 8'h03; // 0x5b2 + 13'h5b3: q = 8'h1c; // 0x5b3 + 13'h5b4: q = 8'h8e; // 0x5b4 + 13'h5b5: q = 8'h04; // 0x5b5 + 13'h5b6: q = 8'h1c; // 0x5b6 + 13'h5b7: q = 8'h60; // 0x5b7 + 13'h5b8: q = 8'ha9; // 0x5b8 + 13'h5b9: q = 8'h0a; // 0x5b9 + 13'h5ba: q = 8'h05; // 0x5ba + 13'h5bb: q = 8'h8d; // 0x5bb + 13'h5bc: q = 8'h20; // 0x5bc + 13'h5bd: q = 8'hd5; // 0x5bd + 13'h5be: q = 8'h37; // 0x5be + 13'h5bf: q = 8'ha9; // 0x5bf + 13'h5c0: q = 8'h09; // 0x5c0 + 13'h5c1: q = 8'h20; // 0x5c1 + 13'h5c2: q = 8'hd5; // 0x5c2 + 13'h5c3: q = 8'h37; // 0x5c3 + 13'h5c4: q = 8'ha5; // 0x5c4 + 13'h5c5: q = 8'hc8; // 0x5c5 + 13'h5c6: q = 8'hc9; // 0x5c6 + 13'h5c7: q = 8'h0a; // 0x5c7 + 13'h5c8: q = 8'h90; // 0x5c8 + 13'h5c9: q = 8'h0a; // 0x5c9 + 13'h5ca: q = 8'ha9; // 0x5ca + 13'h5cb: q = 8'h21; // 0x5cb + 13'h5cc: q = 8'h20; // 0x5cc + 13'h5cd: q = 8'h36; // 0x5cd + 13'h5ce: q = 8'h38; // 0x5ce + 13'h5cf: q = 8'ha5; // 0x5cf + 13'h5d0: q = 8'hc8; // 0x5d0 + 13'h5d1: q = 8'h38; // 0x5d1 + 13'h5d2: q = 8'he9; // 0x5d2 + 13'h5d3: q = 8'h0a; // 0x5d3 + 13'h5d4: q = 8'h09; // 0x5d4 + 13'h5d5: q = 8'h20; // 0x5d5 + 13'h5d6: q = 8'h20; // 0x5d6 + 13'h5d7: q = 8'h36; // 0x5d7 + 13'h5d8: q = 8'h38; // 0x5d8 + 13'h5d9: q = 8'ha5; // 0x5d9 + 13'h5da: q = 8'hc9; // 0x5da + 13'h5db: q = 8'hf0; // 0x5db + 13'h5dc: q = 8'h02; // 0x5dc + 13'h5dd: q = 8'ha9; // 0x5dd + 13'h5de: q = 8'h1e; // 0x5de + 13'h5df: q = 8'h20; // 0x5df + 13'h5e0: q = 8'h36; // 0x5e0 + 13'h5e1: q = 8'h38; // 0x5e1 + 13'h5e2: q = 8'ha6; // 0x5e2 + 13'h5e3: q = 8'hc8; // 0x5e3 + 13'h5e4: q = 8'hf0; // 0x5e4 + 13'h5e5: q = 8'hd1; // 0x5e5 + 13'h5e6: q = 8'ha5; // 0x5e6 + 13'h5e7: q = 8'hdc; // 0x5e7 + 13'h5e8: q = 8'h30; // 0x5e8 + 13'h5e9: q = 8'hcd; // 0x5e9 + 13'h5ea: q = 8'ha5; // 0x5ea + 13'h5eb: q = 8'h8d; // 0x5eb + 13'h5ec: q = 8'h8d; // 0x5ec + 13'h5ed: q = 8'h03; // 0x5ed + 13'h5ee: q = 8'h1c; // 0x5ee + 13'h5ef: q = 8'he0; // 0x5ef + 13'h5f0: q = 8'h02; // 0x5f0 + 13'h5f1: q = 8'h90; // 0x5f1 + 13'h5f2: q = 8'h14; // 0x5f2 + 13'h5f3: q = 8'h8d; // 0x5f3 + 13'h5f4: q = 8'h04; // 0x5f4 + 13'h5f5: q = 8'h1c; // 0x5f5 + 13'h5f6: q = 8'ha2; // 0x5f6 + 13'h5f7: q = 8'h02; // 0x5f7 + 13'h5f8: q = 8'had; // 0x5f8 + 13'h5f9: q = 8'h01; // 0x5f9 + 13'h5fa: q = 8'h0c; // 0x5fa + 13'h5fb: q = 8'h29; // 0x5fb + 13'h5fc: q = 8'h02; // 0x5fc + 13'h5fd: q = 8'hd0; // 0x5fd + 13'h5fe: q = 8'h08; // 0x5fe + 13'h5ff: q = 8'ha5; // 0x5ff + 13'h600: q = 8'ha4; // 0x600 + 13'h601: q = 8'h85; // 0x601 + 13'h602: q = 8'ha6; // 0x602 + 13'h603: q = 8'hc6; // 0x603 + 13'h604: q = 8'hc8; // 0x604 + 13'h605: q = 8'h10; // 0x605 + 13'h606: q = 8'h08; // 0x606 + 13'h607: q = 8'had; // 0x607 + 13'h608: q = 8'h01; // 0x608 + 13'h609: q = 8'h0c; // 0x609 + 13'h60a: q = 8'ha6; // 0x60a + 13'h60b: q = 8'hff; // 0x60b + 13'h60c: q = 8'h4a; // 0x60c + 13'h60d: q = 8'hb0; // 0x60d + 13'h60e: q = 8'ha8; // 0x60e + 13'h60f: q = 8'hc6; // 0x60f + 13'h610: q = 8'hc8; // 0x610 + 13'h611: q = 8'ha9; // 0x611 + 13'h612: q = 8'hff; // 0x612 + 13'h613: q = 8'h8d; // 0x613 + 13'h614: q = 8'h03; // 0x614 + 13'h615: q = 8'h1c; // 0x615 + 13'h616: q = 8'h8d; // 0x616 + 13'h617: q = 8'h04; // 0x617 + 13'h618: q = 8'h1c; // 0x618 + 13'h619: q = 8'ha9; // 0x619 + 13'h61a: q = 8'h00; // 0x61a + 13'h61b: q = 8'h85; // 0x61b + 13'h61c: q = 8'hfb; // 0x61c + 13'h61d: q = 8'h85; // 0x61d + 13'h61e: q = 8'hfc; // 0x61e + 13'h61f: q = 8'h85; // 0x61f + 13'h620: q = 8'h9a; // 0x620 + 13'h621: q = 8'h85; // 0x621 + 13'h622: q = 8'hcb; // 0x622 + 13'h623: q = 8'h85; // 0x623 + 13'h624: q = 8'hca; // 0x624 + 13'h625: q = 8'h86; // 0x625 + 13'h626: q = 8'h89; // 0x626 + 13'h627: q = 8'h9d; // 0x627 + 13'h628: q = 8'h02; // 0x628 + 13'h629: q = 8'h1c; // 0x629 + 13'h62a: q = 8'ha6; // 0x62a + 13'h62b: q = 8'ha4; // 0x62b + 13'h62c: q = 8'hca; // 0x62c + 13'h62d: q = 8'h86; // 0x62d + 13'h62e: q = 8'ha5; // 0x62e + 13'h62f: q = 8'he6; // 0x62f + 13'h630: q = 8'h86; // 0x630 + 13'h631: q = 8'h20; // 0x631 + 13'h632: q = 8'ha0; // 0x632 + 13'h633: q = 8'h26; // 0x633 + 13'h634: q = 8'h20; // 0x634 + 13'h635: q = 8'hb3; // 0x635 + 13'h636: q = 8'h21; // 0x636 + 13'h637: q = 8'h85; // 0x637 + 13'h638: q = 8'hae; // 0x638 + 13'h639: q = 8'h85; // 0x639 + 13'h63a: q = 8'haf; // 0x63a + 13'h63b: q = 8'hb9; // 0x63b + 13'h63c: q = 8'hc0; // 0x63c + 13'h63d: q = 8'h21; // 0x63d + 13'h63e: q = 8'h85; // 0x63e + 13'h63f: q = 8'hb0; // 0x63f + 13'h640: q = 8'h85; // 0x640 + 13'h641: q = 8'hb1; // 0x641 + 13'h642: q = 8'had; // 0x642 + 13'h643: q = 8'h00; // 0x643 + 13'h644: q = 8'h0c; // 0x644 + 13'h645: q = 8'h29; // 0x645 + 13'h646: q = 8'h10; // 0x646 + 13'h647: q = 8'hf0; // 0x647 + 13'h648: q = 8'h07; // 0x648 + 13'h649: q = 8'ha9; // 0x649 + 13'h64a: q = 8'h80; // 0x64a + 13'h64b: q = 8'h85; // 0x64b + 13'h64c: q = 8'hee; // 0x64c + 13'h64d: q = 8'h20; // 0x64d + 13'h64e: q = 8'h09; // 0x64e + 13'h64f: q = 8'h25; // 0x64f + 13'h650: q = 8'h20; // 0x650 + 13'h651: q = 8'h72; // 0x651 + 13'h652: q = 8'h28; // 0x652 + 13'h653: q = 8'h4c; // 0x653 + 13'h654: q = 8'hb8; // 0x654 + 13'h655: q = 8'h26; // 0x655 + 13'h656: q = 8'hbd; // 0x656 + 13'h657: q = 8'h76; // 0x657 + 13'h658: q = 8'h26; // 0x658 + 13'h659: q = 8'h48; // 0x659 + 13'h65a: q = 8'hbd; // 0x65a + 13'h65b: q = 8'h77; // 0x65b + 13'h65c: q = 8'h26; // 0x65c + 13'h65d: q = 8'ha8; // 0x65d + 13'h65e: q = 8'hbd; // 0x65e + 13'h65f: q = 8'h78; // 0x65f + 13'h660: q = 8'h26; // 0x660 + 13'h661: q = 8'haa; // 0x661 + 13'h662: q = 8'h68; // 0x662 + 13'h663: q = 8'h8e; // 0x663 + 13'h664: q = 8'h0e; // 0x664 + 13'h665: q = 8'h14; // 0x665 + 13'h666: q = 8'h8e; // 0x666 + 13'h667: q = 8'h06; // 0x667 + 13'h668: q = 8'h14; // 0x668 + 13'h669: q = 8'h8d; // 0x669 + 13'h66a: q = 8'h0f; // 0x66a + 13'h66b: q = 8'h14; // 0x66b + 13'h66c: q = 8'h8d; // 0x66c + 13'h66d: q = 8'h05; // 0x66d + 13'h66e: q = 8'h14; // 0x66e + 13'h66f: q = 8'h8c; // 0x66f + 13'h670: q = 8'h0d; // 0x670 + 13'h671: q = 8'h14; // 0x671 + 13'h672: q = 8'h8c; // 0x672 + 13'h673: q = 8'h07; // 0x673 + 13'h674: q = 8'h14; // 0x674 + 13'h675: q = 8'h60; // 0x675 + 13'h676: q = 8'h0d; // 0x676 + 13'h677: q = 8'h00; // 0x677 + 13'h678: q = 8'h0e; // 0x678 + 13'h679: q = 8'h02; // 0x679 + 13'h67a: q = 8'h04; // 0x67a + 13'h67b: q = 8'h01; // 0x67b + 13'h67c: q = 8'h0e; // 0x67c + 13'h67d: q = 8'h01; // 0x67d + 13'h67e: q = 8'h0c; // 0x67e + 13'h67f: q = 8'h04; // 0x67f + 13'h680: q = 8'h01; // 0x680 + 13'h681: q = 8'h0b; // 0x681 + 13'h682: q = 8'h01; // 0x682 + 13'h683: q = 8'h0c; // 0x683 + 13'h684: q = 8'h0a; // 0x684 + 13'h685: q = 8'h09; // 0x685 + 13'h686: q = 8'h0b; // 0x686 + 13'h687: q = 8'h04; // 0x687 + 13'h688: q = 8'h0c; // 0x688 + 13'h689: q = 8'h0d; // 0x689 + 13'h68a: q = 8'h0a; // 0x68a + 13'h68b: q = 8'h09; // 0x68b + 13'h68c: q = 8'h0c; // 0x68c + 13'h68d: q = 8'h0e; // 0x68d + 13'h68e: q = 8'h0a; // 0x68e + 13'h68f: q = 8'h0e; // 0x68f + 13'h690: q = 8'h01; // 0x690 + 13'h691: q = 8'h0b; // 0x691 + 13'h692: q = 8'h01; // 0x692 + 13'h693: q = 8'h04; // 0x693 + 13'h694: q = 8'h01; // 0x694 + 13'h695: q = 8'h00; // 0x695 + 13'h696: q = 8'h06; // 0x696 + 13'h697: q = 8'h0d; // 0x697 + 13'h698: q = 8'h0e; // 0x698 + 13'h699: q = 8'h0a; // 0x699 + 13'h69a: q = 8'h0e; // 0x69a + 13'h69b: q = 8'h0c; // 0x69b + 13'h69c: q = 8'h0b; // 0x69c + 13'h69d: q = 8'h00; // 0x69d + 13'h69e: q = 8'h0d; // 0x69e + 13'h69f: q = 8'h02; // 0x69f + 13'h6a0: q = 8'ha9; // 0x6a0 + 13'h6a1: q = 8'hff; // 0x6a1 + 13'h6a2: q = 8'h85; // 0x6a2 + 13'h6a3: q = 8'hc1; // 0x6a3 + 13'h6a4: q = 8'h85; // 0x6a4 + 13'h6a5: q = 8'hc2; // 0x6a5 + 13'h6a6: q = 8'ha2; // 0x6a6 + 13'h6a7: q = 8'h08; // 0x6a7 + 13'h6a8: q = 8'hb5; // 0x6a8 + 13'h6a9: q = 8'h02; // 0x6a9 + 13'h6aa: q = 8'h9d; // 0x6aa + 13'h6ab: q = 8'h78; // 0x6ab + 13'h6ac: q = 8'h01; // 0x6ac + 13'h6ad: q = 8'hb5; // 0x6ad + 13'h6ae: q = 8'h1a; // 0x6ae + 13'h6af: q = 8'h9d; // 0x6af + 13'h6b0: q = 8'h81; // 0x6b0 + 13'h6b1: q = 8'h01; // 0x6b1 + 13'h6b2: q = 8'hca; // 0x6b2 + 13'h6b3: q = 8'h10; // 0x6b3 + 13'h6b4: q = 8'hf3; // 0x6b4 + 13'h6b5: q = 8'h4c; // 0x6b5 + 13'h6b6: q = 8'h08; // 0x6b6 + 13'h6b7: q = 8'h3a; // 0x6b7 + 13'h6b8: q = 8'ha9; // 0x6b8 + 13'h6b9: q = 8'h06; // 0x6b9 + 13'h6ba: q = 8'h85; // 0x6ba + 13'h6bb: q = 8'h8b; // 0x6bb + 13'h6bc: q = 8'ha9; // 0x6bc + 13'h6bd: q = 8'h04; // 0x6bd + 13'h6be: q = 8'h45; // 0x6be + 13'h6bf: q = 8'hf7; // 0x6bf + 13'h6c0: q = 8'h29; // 0x6c0 + 13'h6c1: q = 8'h06; // 0x6c1 + 13'h6c2: q = 8'h85; // 0x6c2 + 13'h6c3: q = 8'h92; // 0x6c3 + 13'h6c4: q = 8'ha9; // 0x6c4 + 13'h6c5: q = 8'hdf; // 0x6c5 + 13'h6c6: q = 8'h45; // 0x6c6 + 13'h6c7: q = 8'hf6; // 0x6c7 + 13'h6c8: q = 8'h85; // 0x6c8 + 13'h6c9: q = 8'h91; // 0x6c9 + 13'h6ca: q = 8'ha6; // 0x6ca + 13'h6cb: q = 8'ha5; // 0x6cb + 13'h6cc: q = 8'ha9; // 0x6cc + 13'h6cd: q = 8'h1f; // 0x6cd + 13'h6ce: q = 8'hca; // 0x6ce + 13'h6cf: q = 8'h10; // 0x6cf + 13'h6d0: q = 8'h02; // 0x6d0 + 13'h6d1: q = 8'ha9; // 0x6d1 + 13'h6d2: q = 8'h00; // 0x6d2 + 13'h6d3: q = 8'h20; // 0x6d3 + 13'h6d4: q = 8'h36; // 0x6d4 + 13'h6d5: q = 8'h38; // 0x6d5 + 13'h6d6: q = 8'hc6; // 0x6d6 + 13'h6d7: q = 8'h8b; // 0x6d7 + 13'h6d8: q = 8'hd0; // 0x6d8 + 13'h6d9: q = 8'hf2; // 0x6d9 + 13'h6da: q = 8'ha9; // 0x6da + 13'h6db: q = 8'h06; // 0x6db + 13'h6dc: q = 8'h45; // 0x6dc + 13'h6dd: q = 8'hf7; // 0x6dd + 13'h6de: q = 8'h85; // 0x6de + 13'h6df: q = 8'h92; // 0x6df + 13'h6e0: q = 8'ha9; // 0x6e0 + 13'h6e1: q = 8'h5f; // 0x6e1 + 13'h6e2: q = 8'h45; // 0x6e2 + 13'h6e3: q = 8'hf6; // 0x6e3 + 13'h6e4: q = 8'h85; // 0x6e4 + 13'h6e5: q = 8'h91; // 0x6e5 + 13'h6e6: q = 8'ha9; // 0x6e6 + 13'h6e7: q = 8'h06; // 0x6e7 + 13'h6e8: q = 8'h85; // 0x6e8 + 13'h6e9: q = 8'h8b; // 0x6e9 + 13'h6ea: q = 8'h38; // 0x6ea + 13'h6eb: q = 8'he5; // 0x6eb + 13'h6ec: q = 8'ha6; // 0x6ec + 13'h6ed: q = 8'haa; // 0x6ed + 13'h6ee: q = 8'ha9; // 0x6ee + 13'h6ef: q = 8'h00; // 0x6ef + 13'h6f0: q = 8'hca; // 0x6f0 + 13'h6f1: q = 8'h10; // 0x6f1 + 13'h6f2: q = 8'h02; // 0x6f2 + 13'h6f3: q = 8'ha9; // 0x6f3 + 13'h6f4: q = 8'h1f; // 0x6f4 + 13'h6f5: q = 8'h20; // 0x6f5 + 13'h6f6: q = 8'h36; // 0x6f6 + 13'h6f7: q = 8'h38; // 0x6f7 + 13'h6f8: q = 8'hc6; // 0x6f8 + 13'h6f9: q = 8'h8b; // 0x6f9 + 13'h6fa: q = 8'hd0; // 0x6fa + 13'h6fb: q = 8'hf2; // 0x6fb + 13'h6fc: q = 8'h60; // 0x6fc + 13'h6fd: q = 8'ha2; // 0x6fd + 13'h6fe: q = 8'h0d; // 0x6fe + 13'h6ff: q = 8'hb4; // 0x6ff + 13'h700: q = 8'h34; // 0x700 + 13'h701: q = 8'hc0; // 0x701 + 13'h702: q = 8'hf9; // 0x702 + 13'h703: q = 8'h90; // 0x703 + 13'h704: q = 8'h18; // 0x704 + 13'h705: q = 8'hc0; // 0x705 + 13'h706: q = 8'hfa; // 0x706 + 13'h707: q = 8'h90; // 0x707 + 13'h708: q = 8'h04; // 0x708 + 13'h709: q = 8'hd6; // 0x709 + 13'h70a: q = 8'h34; // 0x70a + 13'h70b: q = 8'hd0; // 0x70b + 13'h70c: q = 8'h10; // 0x70c + 13'h70d: q = 8'he0; // 0x70d + 13'h70e: q = 8'h0d; // 0x70e + 13'h70f: q = 8'hd0; // 0x70f + 13'h710: q = 8'h0c; // 0x710 + 13'h711: q = 8'ha5; // 0x711 + 13'h712: q = 8'h43; // 0x712 + 13'h713: q = 8'h29; // 0x713 + 13'h714: q = 8'haf; // 0x714 + 13'h715: q = 8'hd0; // 0x715 + 13'h716: q = 8'h06; // 0x716 + 13'h717: q = 8'ha5; // 0x717 + 13'h718: q = 8'hd7; // 0x718 + 13'h719: q = 8'h45; // 0x719 + 13'h71a: q = 8'hef; // 0x71a + 13'h71b: q = 8'h85; // 0x71b + 13'h71c: q = 8'h41; // 0x71c + 13'h71d: q = 8'hca; // 0x71d + 13'h71e: q = 8'h10; // 0x71e + 13'h71f: q = 8'hdf; // 0x71f + 13'h720: q = 8'ha5; // 0x720 + 13'h721: q = 8'h43; // 0x721 + 13'h722: q = 8'h29; // 0x722 + 13'h723: q = 8'haf; // 0x723 + 13'h724: q = 8'hf0; // 0x724 + 13'h725: q = 8'h1a; // 0x725 + 13'h726: q = 8'ha5; // 0x726 + 13'h727: q = 8'h00; // 0x727 + 13'h728: q = 8'h29; // 0x728 + 13'h729: q = 8'h03; // 0x729 + 13'h72a: q = 8'hd0; // 0x72a + 13'h72b: q = 8'h14; // 0x72b + 13'h72c: q = 8'ha5; // 0x72c + 13'h72d: q = 8'h43; // 0x72d + 13'h72e: q = 8'hc9; // 0x72e + 13'h72f: q = 8'h28; // 0x72f + 13'h730: q = 8'hb0; // 0x730 + 13'h731: q = 8'h0e; // 0x731 + 13'h732: q = 8'he6; // 0x732 + 13'h733: q = 8'h43; // 0x733 + 13'h734: q = 8'hc9; // 0x734 + 13'h735: q = 8'h27; // 0x735 + 13'h736: q = 8'hd0; // 0x736 + 13'h737: q = 8'h08; // 0x737 + 13'h738: q = 8'ha9; // 0x738 + 13'h739: q = 8'h00; // 0x739 + 13'h73a: q = 8'h85; // 0x73a + 13'h73b: q = 8'hda; // 0x73b + 13'h73c: q = 8'ha9; // 0x73c + 13'h73d: q = 8'h04; // 0x73d + 13'h73e: q = 8'h85; // 0x73e + 13'h73f: q = 8'hdb; // 0x73f + 13'h740: q = 8'h60; // 0x740 + 13'h741: q = 8'ha5; // 0x741 + 13'h742: q = 8'hc1; // 0x742 + 13'h743: q = 8'h25; // 0x743 + 13'h744: q = 8'hc2; // 0x744 + 13'h745: q = 8'h10; // 0x745 + 13'h746: q = 8'h01; // 0x746 + 13'h747: q = 8'h60; // 0x747 + 13'h748: q = 8'ha5; // 0x748 + 13'h749: q = 8'hc2; // 0x749 + 13'h74a: q = 8'h30; // 0x74a + 13'h74b: q = 8'h18; // 0x74b + 13'h74c: q = 8'ha5; // 0x74c + 13'h74d: q = 8'hee; // 0x74d + 13'h74e: q = 8'h10; // 0x74e + 13'h74f: q = 8'h14; // 0x74f + 13'h750: q = 8'ha5; // 0x750 + 13'h751: q = 8'hef; // 0x751 + 13'h752: q = 8'hd0; // 0x752 + 13'h753: q = 8'h10; // 0x753 + 13'h754: q = 8'ha9; // 0x754 + 13'h755: q = 8'h82; // 0x755 + 13'h756: q = 8'h85; // 0x756 + 13'h757: q = 8'hee; // 0x757 + 13'h758: q = 8'h20; // 0x758 + 13'h759: q = 8'h2a; // 0x759 + 13'h75a: q = 8'h25; // 0x75a + 13'h75b: q = 8'h20; // 0x75b + 13'h75c: q = 8'hd5; // 0x75c + 13'h75d: q = 8'h31; // 0x75d + 13'h75e: q = 8'h20; // 0x75e + 13'h75f: q = 8'hfe; // 0x75f + 13'h760: q = 8'h32; // 0x760 + 13'h761: q = 8'h20; // 0x761 + 13'h762: q = 8'h32; // 0x762 + 13'h763: q = 8'h29; // 0x763 + 13'h764: q = 8'ha5; // 0x764 + 13'h765: q = 8'h89; // 0x765 + 13'h766: q = 8'h4a; // 0x766 + 13'h767: q = 8'hf0; // 0x767 + 13'h768: q = 8'h14; // 0x768 + 13'h769: q = 8'ha9; // 0x769 + 13'h76a: q = 8'h00; // 0x76a + 13'h76b: q = 8'h20; // 0x76b + 13'h76c: q = 8'hd5; // 0x76c + 13'h76d: q = 8'h37; // 0x76d + 13'h76e: q = 8'ha0; // 0x76e + 13'h76f: q = 8'h02; // 0x76f + 13'h770: q = 8'ha6; // 0x770 + 13'h771: q = 8'hc2; // 0x771 + 13'h772: q = 8'h10; // 0x772 + 13'h773: q = 8'h01; // 0x773 + 13'h774: q = 8'h88; // 0x774 + 13'h775: q = 8'h84; // 0x775 + 13'h776: q = 8'h88; // 0x776 + 13'h777: q = 8'h98; // 0x777 + 13'h778: q = 8'h09; // 0x778 + 13'h779: q = 8'h20; // 0x779 + 13'h77a: q = 8'h20; // 0x77a + 13'h77b: q = 8'h36; // 0x77b + 13'h77c: q = 8'h38; // 0x77c + 13'h77d: q = 8'ha9; // 0x77d + 13'h77e: q = 8'h08; // 0x77e + 13'h77f: q = 8'h20; // 0x77f + 13'h780: q = 8'hd5; // 0x780 + 13'h781: q = 8'h37; // 0x781 + 13'h782: q = 8'ha9; // 0x782 + 13'h783: q = 8'h05; // 0x783 + 13'h784: q = 8'h20; // 0x784 + 13'h785: q = 8'hd5; // 0x785 + 13'h786: q = 8'h37; // 0x786 + 13'h787: q = 8'ha9; // 0x787 + 13'h788: q = 8'h89; // 0x788 + 13'h789: q = 8'h45; // 0x789 + 13'h78a: q = 8'hf5; // 0x78a + 13'h78b: q = 8'h85; // 0x78b + 13'h78c: q = 8'h91; // 0x78c + 13'h78d: q = 8'ha9; // 0x78d + 13'h78e: q = 8'h05; // 0x78e + 13'h78f: q = 8'h45; // 0x78f + 13'h790: q = 8'hf7; // 0x790 + 13'h791: q = 8'h85; // 0x791 + 13'h792: q = 8'h92; // 0x792 + 13'h793: q = 8'ha6; // 0x793 + 13'h794: q = 8'h88; // 0x794 + 13'h795: q = 8'hb4; // 0x795 + 13'h796: q = 8'hc0; // 0x796 + 13'h797: q = 8'h84; // 0x797 + 13'h798: q = 8'h8d; // 0x798 + 13'h799: q = 8'h98; // 0x799 + 13'h79a: q = 8'h18; // 0x79a + 13'h79b: q = 8'h65; // 0x79b + 13'h79c: q = 8'hc0; // 0x79c + 13'h79d: q = 8'h85; // 0x79d + 13'h79e: q = 8'h8e; // 0x79e + 13'h79f: q = 8'h20; // 0x79f + 13'h7a0: q = 8'h33; // 0x7a0 + 13'h7a1: q = 8'h38; // 0x7a1 + 13'h7a2: q = 8'ha4; // 0x7a2 + 13'h7a3: q = 8'h8d; // 0x7a3 + 13'h7a4: q = 8'hc8; // 0x7a4 + 13'h7a5: q = 8'h20; // 0x7a5 + 13'h7a6: q = 8'h33; // 0x7a6 + 13'h7a7: q = 8'h38; // 0x7a7 + 13'h7a8: q = 8'ha4; // 0x7a8 + 13'h7a9: q = 8'h8d; // 0x7a9 + 13'h7aa: q = 8'hc8; // 0x7aa + 13'h7ab: q = 8'hc8; // 0x7ab + 13'h7ac: q = 8'h20; // 0x7ac + 13'h7ad: q = 8'h33; // 0x7ad + 13'h7ae: q = 8'h38; // 0x7ae + 13'h7af: q = 8'had; // 0x7af + 13'h7b0: q = 8'h01; // 0x7b0 + 13'h7b1: q = 8'h0c; // 0x7b1 + 13'h7b2: q = 8'ha6; // 0x7b2 + 13'h7b3: q = 8'hef; // 0x7b3 + 13'h7b4: q = 8'hf0; // 0x7b4 + 13'h7b5: q = 8'h01; // 0x7b5 + 13'h7b6: q = 8'h4a; // 0x7b6 + 13'h7b7: q = 8'h4a; // 0x7b7 + 13'h7b8: q = 8'h4a; // 0x7b8 + 13'h7b9: q = 8'h4a; // 0x7b9 + 13'h7ba: q = 8'h26; // 0x7ba + 13'h7bb: q = 8'h9a; // 0x7bb + 13'h7bc: q = 8'ha5; // 0x7bc + 13'h7bd: q = 8'h9a; // 0x7bd + 13'h7be: q = 8'h29; // 0x7be + 13'h7bf: q = 8'h1f; // 0x7bf + 13'h7c0: q = 8'hc9; // 0x7c0 + 13'h7c1: q = 8'h18; // 0x7c1 + 13'h7c2: q = 8'hd0; // 0x7c2 + 13'h7c3: q = 8'h46; // 0x7c3 + 13'h7c4: q = 8'he6; // 0x7c4 + 13'h7c5: q = 8'hc0; // 0x7c5 + 13'h7c6: q = 8'ha5; // 0x7c6 + 13'h7c7: q = 8'hc0; // 0x7c7 + 13'h7c8: q = 8'hc9; // 0x7c8 + 13'h7c9: q = 8'h03; // 0x7c9 + 13'h7ca: q = 8'h90; // 0x7ca + 13'h7cb: q = 8'h32; // 0x7cb + 13'h7cc: q = 8'ha6; // 0x7cc + 13'h7cd: q = 8'h88; // 0x7cd + 13'h7ce: q = 8'ha9; // 0x7ce + 13'h7cf: q = 8'hff; // 0x7cf + 13'h7d0: q = 8'h95; // 0x7d0 + 13'h7d1: q = 8'hc0; // 0x7d1 + 13'h7d2: q = 8'ha5; // 0x7d2 + 13'h7d3: q = 8'hef; // 0x7d3 + 13'h7d4: q = 8'hf0; // 0x7d4 + 13'h7d5: q = 8'h1d; // 0x7d5 + 13'h7d6: q = 8'ha9; // 0x7d6 + 13'h7d7: q = 8'h80; // 0x7d7 + 13'h7d8: q = 8'h85; // 0x7d8 + 13'h7d9: q = 8'hee; // 0x7d9 + 13'h7da: q = 8'h20; // 0x7da + 13'h7db: q = 8'h09; // 0x7db + 13'h7dc: q = 8'h25; // 0x7dc + 13'h7dd: q = 8'h20; // 0x7dd + 13'h7de: q = 8'hd5; // 0x7de + 13'h7df: q = 8'h31; // 0x7df + 13'h7e0: q = 8'h20; // 0x7e0 + 13'h7e1: q = 8'h32; // 0x7e1 + 13'h7e2: q = 8'h29; // 0x7e2 + 13'h7e3: q = 8'h20; // 0x7e3 + 13'h7e4: q = 8'hfe; // 0x7e4 + 13'h7e5: q = 8'h32; // 0x7e5 + 13'h7e6: q = 8'h20; // 0x7e6 + 13'h7e7: q = 8'h1f; // 0x7e7 + 13'h7e8: q = 8'h23; // 0x7e8 + 13'h7e9: q = 8'h20; // 0x7e9 + 13'h7ea: q = 8'hc7; // 0x7ea + 13'h7eb: q = 8'h21; // 0x7eb + 13'h7ec: q = 8'h20; // 0x7ec + 13'h7ed: q = 8'he8; // 0x7ed + 13'h7ee: q = 8'h20; // 0x7ee + 13'h7ef: q = 8'ha5; // 0x7ef + 13'h7f0: q = 8'hc1; // 0x7f0 + 13'h7f1: q = 8'h30; // 0x7f1 + 13'h7f2: q = 8'h32; // 0x7f2 + 13'h7f3: q = 8'ha5; // 0x7f3 + 13'h7f4: q = 8'hc1; // 0x7f4 + 13'h7f5: q = 8'h25; // 0x7f5 + 13'h7f6: q = 8'hc2; // 0x7f6 + 13'h7f7: q = 8'h30; // 0x7f7 + 13'h7f8: q = 8'h17; // 0x7f8 + 13'h7f9: q = 8'ha2; // 0x7f9 + 13'h7fa: q = 8'h00; // 0x7fa + 13'h7fb: q = 8'h86; // 0x7fb + 13'h7fc: q = 8'hc0; // 0x7fc + 13'h7fd: q = 8'h60; // 0x7fd + 13'h7fe: q = 8'he6; // 0x7fe + 13'h7ff: q = 8'h8e; // 0x7ff + // ../src/centiped3/136001-308.e1 + 13'h800: q = 8'ha6; // 0x800 + 13'h801: q = 8'h8e; // 0x801 + 13'h802: q = 8'ha9; // 0x802 + 13'h803: q = 8'hf4; // 0x803 + 13'h804: q = 8'h85; // 0x804 + 13'h805: q = 8'h01; // 0x805 + 13'h806: q = 8'ha9; // 0x806 + 13'h807: q = 8'h01; // 0x807 + 13'h808: q = 8'h95; // 0x808 + 13'h809: q = 8'h1a; // 0x809 + 13'h80a: q = 8'ha5; // 0x80a + 13'h80b: q = 8'h01; // 0x80b + 13'h80c: q = 8'hf0; // 0x80c + 13'h80d: q = 8'hbe; // 0x80d + 13'h80e: q = 8'hd0; // 0x80e + 13'h80f: q = 8'h2e; // 0x80f + 13'h810: q = 8'ha9; // 0x810 + 13'h811: q = 8'h88; // 0x811 + 13'h812: q = 8'h20; // 0x812 + 13'h813: q = 8'hd5; // 0x813 + 13'h814: q = 8'h37; // 0x814 + 13'h815: q = 8'ha9; // 0x815 + 13'h816: q = 8'h85; // 0x816 + 13'h817: q = 8'h20; // 0x817 + 13'h818: q = 8'hd5; // 0x818 + 13'h819: q = 8'h37; // 0x819 + 13'h81a: q = 8'ha9; // 0x81a + 13'h81b: q = 8'h00; // 0x81b + 13'h81c: q = 8'h8d; // 0x81c + 13'h81d: q = 8'h89; // 0x81d + 13'h81e: q = 8'h05; // 0x81e + 13'h81f: q = 8'h8d; // 0x81f + 13'h820: q = 8'ha9; // 0x820 + 13'h821: q = 8'h05; // 0x821 + 13'h822: q = 8'h8d; // 0x822 + 13'h823: q = 8'hc9; // 0x823 + 13'h824: q = 8'h05; // 0x824 + 13'h825: q = 8'h20; // 0x825 + 13'h826: q = 8'ha0; // 0x826 + 13'h827: q = 8'h26; // 0x827 + 13'h828: q = 8'h20; // 0x828 + 13'h829: q = 8'h5c; // 0x829 + 13'h82a: q = 8'h2d; // 0x82a + 13'h82b: q = 8'ha6; // 0x82b + 13'h82c: q = 8'h89; // 0x82c + 13'h82d: q = 8'h86; // 0x82d + 13'h82e: q = 8'h01; // 0x82e + 13'h82f: q = 8'hca; // 0x82f + 13'h830: q = 8'hf0; // 0x830 + 13'h831: q = 8'hc7; // 0x831 + 13'h832: q = 8'ha9; // 0x832 + 13'h833: q = 8'h80; // 0x833 + 13'h834: q = 8'h20; // 0x834 + 13'h835: q = 8'hd5; // 0x835 + 13'h836: q = 8'h37; // 0x836 + 13'h837: q = 8'ha9; // 0x837 + 13'h838: q = 8'h00; // 0x838 + 13'h839: q = 8'ha8; // 0x839 + 13'h83a: q = 8'h91; // 0x83a + 13'h83b: q = 8'h91; // 0x83b + 13'h83c: q = 8'hf0; // 0x83c + 13'h83d: q = 8'hbb; // 0x83d + 13'h83e: q = 8'ha5; // 0x83e + 13'h83f: q = 8'h00; // 0x83f + 13'h840: q = 8'h29; // 0x840 + 13'h841: q = 8'h07; // 0x841 + 13'h842: q = 8'hd0; // 0x842 + 13'h843: q = 8'h2b; // 0x843 + 13'h844: q = 8'ha2; // 0x844 + 13'h845: q = 8'hff; // 0x845 + 13'h846: q = 8'ha9; // 0x846 + 13'h847: q = 8'h00; // 0x847 + 13'h848: q = 8'ha4; // 0x848 + 13'h849: q = 8'hb9; // 0x849 + 13'h84a: q = 8'h85; // 0x84a + 13'h84b: q = 8'hb9; // 0x84b + 13'h84c: q = 8'h10; // 0x84c + 13'h84d: q = 8'h07; // 0x84d + 13'h84e: q = 8'ha2; // 0x84e + 13'h84f: q = 8'h01; // 0x84f + 13'h850: q = 8'h98; // 0x850 + 13'h851: q = 8'h20; // 0x851 + 13'h852: q = 8'h2d; // 0x852 + 13'h853: q = 8'h38; // 0x853 + 13'h854: q = 8'ha8; // 0x854 + 13'h855: q = 8'hc0; // 0x855 + 13'h856: q = 8'h04; // 0x856 + 13'h857: q = 8'h90; // 0x857 + 13'h858: q = 8'h16; // 0x858 + 13'h859: q = 8'h8a; // 0x859 + 13'h85a: q = 8'h45; // 0x85a + 13'h85b: q = 8'hf4; // 0x85b + 13'h85c: q = 8'ha6; // 0x85c + 13'h85d: q = 8'h8e; // 0x85d + 13'h85e: q = 8'h18; // 0x85e + 13'h85f: q = 8'h75; // 0x85f + 13'h860: q = 8'h1a; // 0x860 + 13'h861: q = 8'h30; // 0x861 + 13'h862: q = 8'h08; // 0x862 + 13'h863: q = 8'hc9; // 0x863 + 13'h864: q = 8'h1b; // 0x864 + 13'h865: q = 8'h90; // 0x865 + 13'h866: q = 8'h06; // 0x866 + 13'h867: q = 8'ha9; // 0x867 + 13'h868: q = 8'h00; // 0x868 + 13'h869: q = 8'hf0; // 0x869 + 13'h86a: q = 8'h02; // 0x86a + 13'h86b: q = 8'ha9; // 0x86b + 13'h86c: q = 8'h1a; // 0x86c + 13'h86d: q = 8'h95; // 0x86d + 13'h86e: q = 8'h1a; // 0x86e + 13'h86f: q = 8'ha9; // 0x86f + 13'h870: q = 8'h00; // 0x870 + 13'h871: q = 8'h60; // 0x871 + 13'h872: q = 8'ha9; // 0x872 + 13'h873: q = 8'h20; // 0x873 + 13'h874: q = 8'h8d; // 0x874 + 13'h875: q = 8'h08; // 0x875 + 13'h876: q = 8'h10; // 0x876 + 13'h877: q = 8'ha9; // 0x877 + 13'h878: q = 8'h0c; // 0x878 + 13'h879: q = 8'h85; // 0x879 + 13'h87a: q = 8'h9b; // 0x87a + 13'h87b: q = 8'h85; // 0x87b + 13'h87c: q = 8'h9c; // 0x87c + 13'h87d: q = 8'ha5; // 0x87d + 13'h87e: q = 8'hff; // 0x87e + 13'h87f: q = 8'h85; // 0x87f + 13'h880: q = 8'h88; // 0x880 + 13'h881: q = 8'h85; // 0x881 + 13'h882: q = 8'h53; // 0x882 + 13'h883: q = 8'h85; // 0x883 + 13'h884: q = 8'h83; // 0x884 + 13'h885: q = 8'ha9; // 0x885 + 13'h886: q = 8'h02; // 0x886 + 13'h887: q = 8'h85; // 0x887 + 13'h888: q = 8'h9d; // 0x888 + 13'h889: q = 8'h85; // 0x889 + 13'h88a: q = 8'h9e; // 0x88a + 13'h88b: q = 8'ha2; // 0x88b + 13'h88c: q = 8'h06; // 0x88c + 13'h88d: q = 8'ha9; // 0x88d + 13'h88e: q = 8'h00; // 0x88e + 13'h88f: q = 8'h8d; // 0x88f + 13'h890: q = 8'h0f; // 0x890 + 13'h891: q = 8'h10; // 0x891 + 13'h892: q = 8'h95; // 0x892 + 13'h893: q = 8'hb2; // 0x893 + 13'h894: q = 8'hca; // 0x894 + 13'h895: q = 8'h10; // 0x895 + 13'h896: q = 8'hfb; // 0x896 + 13'h897: q = 8'ha2; // 0x897 + 13'h898: q = 8'h05; // 0x898 + 13'h899: q = 8'h95; // 0x899 + 13'h89a: q = 8'ha8; // 0x89a + 13'h89b: q = 8'hca; // 0x89b + 13'h89c: q = 8'h10; // 0x89c + 13'h89d: q = 8'hfb; // 0x89d + 13'h89e: q = 8'had; // 0x89e + 13'h89f: q = 8'h0a; // 0x89f + 13'h8a0: q = 8'h10; // 0x8a0 + 13'h8a1: q = 8'h4d; // 0x8a1 + 13'h8a2: q = 8'h0a; // 0x8a2 + 13'h8a3: q = 8'h10; // 0x8a3 + 13'h8a4: q = 8'h18; // 0x8a4 + 13'h8a5: q = 8'h65; // 0x8a5 + 13'h8a6: q = 8'hc8; // 0x8a6 + 13'h8a7: q = 8'h85; // 0x8a7 + 13'h8a8: q = 8'hc8; // 0x8a8 + 13'h8a9: q = 8'ha9; // 0x8a9 + 13'h8aa: q = 8'h03; // 0x8aa + 13'h8ab: q = 8'h8d; // 0x8ab + 13'h8ac: q = 8'h0f; // 0x8ac + 13'h8ad: q = 8'h10; // 0x8ad + 13'h8ae: q = 8'h20; // 0x8ae + 13'h8af: q = 8'h1f; // 0x8af + 13'h8b0: q = 8'h23; // 0x8b0 + 13'h8b1: q = 8'ha9; // 0x8b1 + 13'h8b2: q = 8'hc0; // 0x8b2 + 13'h8b3: q = 8'h85; // 0x8b3 + 13'h8b4: q = 8'ha0; // 0x8b4 + 13'h8b5: q = 8'h85; // 0x8b5 + 13'h8b6: q = 8'ha2; // 0x8b6 + 13'h8b7: q = 8'h85; // 0x8b7 + 13'h8b8: q = 8'ha3; // 0x8b8 + 13'h8b9: q = 8'h20; // 0x8b9 + 13'h8ba: q = 8'hc7; // 0x8ba + 13'h8bb: q = 8'h21; // 0x8bb + 13'h8bc: q = 8'h20; // 0x8bc + 13'h8bd: q = 8'he8; // 0x8bd + 13'h8be: q = 8'h20; // 0x8be + 13'h8bf: q = 8'ha9; // 0x8bf + 13'h8c0: q = 8'h0f; // 0x8c0 + 13'h8c1: q = 8'h8d; // 0x8c1 + 13'h8c2: q = 8'h04; // 0x8c2 + 13'h8c3: q = 8'h14; // 0x8c3 + 13'h8c4: q = 8'ha6; // 0x8c4 + 13'h8c5: q = 8'h88; // 0x8c5 + 13'h8c6: q = 8'ha9; // 0x8c6 + 13'h8c7: q = 8'h00; // 0x8c7 + 13'h8c8: q = 8'h95; // 0x8c8 + 13'h8c9: q = 8'hc2; // 0x8c9 + 13'h8ca: q = 8'haa; // 0x8ca + 13'h8cb: q = 8'h20; // 0x8cb + 13'h8cc: q = 8'h56; // 0x8cc + 13'h8cd: q = 8'h26; // 0x8cd + 13'h8ce: q = 8'ha2; // 0x8ce + 13'h8cf: q = 8'h00; // 0x8cf + 13'h8d0: q = 8'h8a; // 0x8d0 + 13'h8d1: q = 8'h9d; // 0x8d1 + 13'h8d2: q = 8'h00; // 0x8d2 + 13'h8d3: q = 8'h04; // 0x8d3 + 13'h8d4: q = 8'h9d; // 0x8d4 + 13'h8d5: q = 8'h00; // 0x8d5 + 13'h8d6: q = 8'h05; // 0x8d6 + 13'h8d7: q = 8'h9d; // 0x8d7 + 13'h8d8: q = 8'h00; // 0x8d8 + 13'h8d9: q = 8'h06; // 0x8d9 + 13'h8da: q = 8'h9d; // 0x8da + 13'h8db: q = 8'h00; // 0x8db + 13'h8dc: q = 8'h07; // 0x8dc + 13'h8dd: q = 8'he8; // 0x8dd + 13'h8de: q = 8'hd0; // 0x8de + 13'h8df: q = 8'hf1; // 0x8df + 13'h8e0: q = 8'ha6; // 0x8e0 + 13'h8e1: q = 8'h88; // 0x8e1 + 13'h8e2: q = 8'h95; // 0x8e2 + 13'h8e3: q = 8'hd7; // 0x8e3 + 13'h8e4: q = 8'ha2; // 0x8e4 + 13'h8e5: q = 8'h1b; // 0x8e5 + 13'h8e6: q = 8'h86; // 0x8e6 + 13'h8e7: q = 8'h8b; // 0x8e7 + 13'h8e8: q = 8'ha2; // 0x8e8 + 13'h8e9: q = 8'h2d; // 0x8e9 + 13'h8ea: q = 8'had; // 0x8ea + 13'h8eb: q = 8'h0a; // 0x8eb + 13'h8ec: q = 8'h10; // 0x8ec + 13'h8ed: q = 8'h29; // 0x8ed + 13'h8ee: q = 8'he0; // 0x8ee + 13'h8ef: q = 8'h05; // 0x8ef + 13'h8f0: q = 8'h8b; // 0x8f0 + 13'h8f1: q = 8'h85; // 0x8f1 + 13'h8f2: q = 8'h8d; // 0x8f2 + 13'h8f3: q = 8'had; // 0x8f3 + 13'h8f4: q = 8'h0a; // 0x8f4 + 13'h8f5: q = 8'h10; // 0x8f5 + 13'h8f6: q = 8'h29; // 0x8f6 + 13'h8f7: q = 8'h03; // 0x8f7 + 13'h8f8: q = 8'h09; // 0x8f8 + 13'h8f9: q = 8'h04; // 0x8f9 + 13'h8fa: q = 8'h85; // 0x8fa + 13'h8fb: q = 8'h8e; // 0x8fb + 13'h8fc: q = 8'h86; // 0x8fc + 13'h8fd: q = 8'h8f; // 0x8fd + 13'h8fe: q = 8'ha0; // 0x8fe + 13'h8ff: q = 8'h00; // 0x8ff + 13'h900: q = 8'ha5; // 0x900 + 13'h901: q = 8'h8d; // 0x901 + 13'h902: q = 8'h29; // 0x902 + 13'h903: q = 8'h1f; // 0x903 + 13'h904: q = 8'ha6; // 0x904 + 13'h905: q = 8'hef; // 0x905 + 13'h906: q = 8'hf0; // 0x906 + 13'h907: q = 8'h06; // 0x907 + 13'h908: q = 8'hc9; // 0x908 + 13'h909: q = 8'h14; // 0x909 + 13'h90a: q = 8'h90; // 0x90a + 13'h90b: q = 8'h0e; // 0x90b + 13'h90c: q = 8'hb0; // 0x90c + 13'h90d: q = 8'h04; // 0x90d + 13'h90e: q = 8'hc9; // 0x90e + 13'h90f: q = 8'h0c; // 0x90f + 13'h910: q = 8'hb0; // 0x910 + 13'h911: q = 8'h08; // 0x911 + 13'h912: q = 8'hb1; // 0x912 + 13'h913: q = 8'h8d; // 0x913 + 13'h914: q = 8'hd0; // 0x914 + 13'h915: q = 8'h04; // 0x915 + 13'h916: q = 8'ha6; // 0x916 + 13'h917: q = 8'h88; // 0x917 + 13'h918: q = 8'hf6; // 0x918 + 13'h919: q = 8'hd7; // 0x919 + 13'h91a: q = 8'ha9; // 0x91a + 13'h91b: q = 8'h3f; // 0x91b + 13'h91c: q = 8'h45; // 0x91c + 13'h91d: q = 8'hef; // 0x91d + 13'h91e: q = 8'h91; // 0x91e + 13'h91f: q = 8'h8d; // 0x91f + 13'h920: q = 8'ha5; // 0x920 + 13'h921: q = 8'h8b; // 0x921 + 13'h922: q = 8'h38; // 0x922 + 13'h923: q = 8'he9; // 0x923 + 13'h924: q = 8'h01; // 0x924 + 13'h925: q = 8'hc9; // 0x925 + 13'h926: q = 8'h02; // 0x926 + 13'h927: q = 8'hb0; // 0x927 + 13'h928: q = 8'h02; // 0x928 + 13'h929: q = 8'ha9; // 0x929 + 13'h92a: q = 8'h1b; // 0x92a + 13'h92b: q = 8'h85; // 0x92b + 13'h92c: q = 8'h8b; // 0x92c + 13'h92d: q = 8'ha6; // 0x92d + 13'h92e: q = 8'h8f; // 0x92e + 13'h92f: q = 8'hca; // 0x92f + 13'h930: q = 8'h10; // 0x930 + 13'h931: q = 8'hb8; // 0x931 + 13'h932: q = 8'ha9; // 0x932 + 13'h933: q = 8'h10; // 0x933 + 13'h934: q = 8'h45; // 0x934 + 13'h935: q = 8'hf2; // 0x935 + 13'h936: q = 8'h85; // 0x936 + 13'h937: q = 8'h43; // 0x937 + 13'h938: q = 8'ha9; // 0x938 + 13'h939: q = 8'h80; // 0x939 + 13'h93a: q = 8'h85; // 0x93a + 13'h93b: q = 8'h63; // 0x93b + 13'h93c: q = 8'h85; // 0x93c + 13'h93d: q = 8'h62; // 0x93d + 13'h93e: q = 8'ha9; // 0x93e + 13'h93f: q = 8'h08; // 0x93f + 13'h940: q = 8'h45; // 0x940 + 13'h941: q = 8'hf0; // 0x941 + 13'h942: q = 8'h85; // 0x942 + 13'h943: q = 8'h73; // 0x943 + 13'h944: q = 8'ha9; // 0x944 + 13'h945: q = 8'h0c; // 0x945 + 13'h946: q = 8'h45; // 0x946 + 13'h947: q = 8'hf1; // 0x947 + 13'h948: q = 8'h85; // 0x948 + 13'h949: q = 8'h72; // 0x949 + 13'h94a: q = 8'ha9; // 0x94a + 13'h94b: q = 8'h11; // 0x94b + 13'h94c: q = 8'h45; // 0x94c + 13'h94d: q = 8'hf2; // 0x94d + 13'h94e: q = 8'h85; // 0x94e + 13'h94f: q = 8'h42; // 0x94f + 13'h950: q = 8'h60; // 0x950 + 13'h951: q = 8'ha5; // 0x951 + 13'h952: q = 8'h87; // 0x952 + 13'h953: q = 8'hf0; // 0x953 + 13'h954: q = 8'h01; // 0x954 + 13'h955: q = 8'h60; // 0x955 + 13'h956: q = 8'ha2; // 0x956 + 13'h957: q = 8'h0b; // 0x957 + 13'h958: q = 8'ha5; // 0x958 + 13'h959: q = 8'h00; // 0x959 + 13'h95a: q = 8'h29; // 0x95a + 13'h95b: q = 8'h0f; // 0x95b + 13'h95c: q = 8'hd0; // 0x95c + 13'h95d: q = 8'h04; // 0x95d + 13'h95e: q = 8'ha9; // 0x95e + 13'h95f: q = 8'h07; // 0x95f + 13'h960: q = 8'h85; // 0x960 + 13'h961: q = 8'hb3; // 0x961 + 13'h962: q = 8'hb5; // 0x962 + 13'h963: q = 8'h34; // 0x963 + 13'h964: q = 8'h10; // 0x964 + 13'h965: q = 8'h03; // 0x965 + 13'h966: q = 8'h4c; // 0x966 + 13'h967: q = 8'hc7; // 0x967 + 13'h968: q = 8'h2a; // 0x968 + 13'h969: q = 8'ha5; // 0x969 + 13'h96a: q = 8'h00; // 0x96a + 13'h96b: q = 8'h29; // 0x96b + 13'h96c: q = 8'h01; // 0x96c + 13'h96d: q = 8'hd0; // 0x96d + 13'h96e: q = 8'h09; // 0x96e + 13'h96f: q = 8'hb5; // 0x96f + 13'h970: q = 8'h34; // 0x970 + 13'h971: q = 8'h18; // 0x971 + 13'h972: q = 8'h69; // 0x972 + 13'h973: q = 8'h01; // 0x973 + 13'h974: q = 8'h29; // 0x974 + 13'h975: q = 8'hf7; // 0x975 + 13'h976: q = 8'h95; // 0x976 + 13'h977: q = 8'h34; // 0x977 + 13'h978: q = 8'ha0; // 0x978 + 13'h979: q = 8'h01; // 0x979 + 13'h97a: q = 8'hb5; // 0x97a + 13'h97b: q = 8'h64; // 0x97b + 13'h97c: q = 8'h45; // 0x97c + 13'h97d: q = 8'hf0; // 0x97d + 13'h97e: q = 8'hc9; // 0x97e + 13'h97f: q = 8'h09; // 0x97f + 13'h980: q = 8'hb0; // 0x980 + 13'h981: q = 8'h0a; // 0x981 + 13'h982: q = 8'hb5; // 0x982 + 13'h983: q = 8'h34; // 0x983 + 13'h984: q = 8'hc9; // 0x984 + 13'h985: q = 8'h10; // 0x985 + 13'h986: q = 8'hb0; // 0x986 + 13'h987: q = 8'h02; // 0x987 + 13'h988: q = 8'h84; // 0x988 + 13'h989: q = 8'h97; // 0x989 + 13'h98a: q = 8'hb5; // 0x98a + 13'h98b: q = 8'h64; // 0x98b + 13'h98c: q = 8'h29; // 0x98c + 13'h98d: q = 8'h07; // 0x98d + 13'h98e: q = 8'hd0; // 0x98e + 13'h98f: q = 8'h73; // 0x98f + 13'h990: q = 8'h98; // 0x990 + 13'h991: q = 8'ha4; // 0x991 + 13'h992: q = 8'h88; // 0x992 + 13'h993: q = 8'hd9; // 0x993 + 13'h994: q = 8'h94; // 0x994 + 13'h995: q = 8'h00; // 0x995 + 13'h996: q = 8'hd0; // 0x996 + 13'h997: q = 8'h14; // 0x997 + 13'h998: q = 8'ha9; // 0x998 + 13'h999: q = 8'h02; // 0x999 + 13'h99a: q = 8'hb4; // 0x99a + 13'h99b: q = 8'h44; // 0x99b + 13'h99c: q = 8'h10; // 0x99c + 13'h99d: q = 8'h02; // 0x99d + 13'h99e: q = 8'ha9; // 0x99e + 13'h99f: q = 8'hfe; // 0x99f + 13'h9a0: q = 8'h95; // 0x9a0 + 13'h9a1: q = 8'h44; // 0x9a1 + 13'h9a2: q = 8'ha9; // 0x9a2 + 13'h9a3: q = 8'h02; // 0x9a3 + 13'h9a4: q = 8'hb4; // 0x9a4 + 13'h9a5: q = 8'h74; // 0x9a5 + 13'h9a6: q = 8'h10; // 0x9a6 + 13'h9a7: q = 8'h02; // 0x9a7 + 13'h9a8: q = 8'ha9; // 0x9a8 + 13'h9a9: q = 8'hfe; // 0x9a9 + 13'h9aa: q = 8'h95; // 0x9aa + 13'h9ab: q = 8'h74; // 0x9ab + 13'h9ac: q = 8'hb5; // 0x9ac + 13'h9ad: q = 8'h34; // 0x9ad + 13'h9ae: q = 8'h29; // 0x9ae + 13'h9af: q = 8'h40; // 0x9af + 13'h9b0: q = 8'hf0; // 0x9b0 + 13'h9b1: q = 8'h0f; // 0x9b1 + 13'h9b2: q = 8'hb5; // 0x9b2 + 13'h9b3: q = 8'h63; // 0x9b3 + 13'h9b4: q = 8'h38; // 0x9b4 + 13'h9b5: q = 8'hf5; // 0x9b5 + 13'h9b6: q = 8'h64; // 0x9b6 + 13'h9b7: q = 8'h20; // 0x9b7 + 13'h9b8: q = 8'h2b; // 0x9b8 + 13'h9b9: q = 8'h38; // 0x9b9 + 13'h9ba: q = 8'hc9; // 0x9ba + 13'h9bb: q = 8'h08; // 0x9bb + 13'h9bc: q = 8'hb0; // 0x9bc + 13'h9bd: q = 8'h45; // 0x9bd + 13'h9be: q = 8'h4c; // 0x9be + 13'h9bf: q = 8'h92; // 0x9bf + 13'h9c0: q = 8'h2a; // 0x9c0 + 13'h9c1: q = 8'hb5; // 0x9c1 + 13'h9c2: q = 8'h34; // 0x9c2 + 13'h9c3: q = 8'h29; // 0x9c3 + 13'h9c4: q = 8'h20; // 0x9c4 + 13'h9c5: q = 8'hd0; // 0x9c5 + 13'h9c6: q = 8'h3c; // 0x9c6 + 13'h9c7: q = 8'hb5; // 0x9c7 + 13'h9c8: q = 8'h54; // 0x9c8 + 13'h9c9: q = 8'hc9; // 0x9c9 + 13'h9ca: q = 8'hf0; // 0x9ca + 13'h9cb: q = 8'h90; // 0x9cb + 13'h9cc: q = 8'h0a; // 0x9cc + 13'h9cd: q = 8'hb4; // 0x9cd + 13'h9ce: q = 8'h74; // 0x9ce + 13'h9cf: q = 8'hf0; // 0x9cf + 13'h9d0: q = 8'h0e; // 0x9d0 + 13'h9d1: q = 8'hb4; // 0x9d1 + 13'h9d2: q = 8'h44; // 0x9d2 + 13'h9d3: q = 8'h10; // 0x9d3 + 13'h9d4: q = 8'h2e; // 0x9d4 + 13'h9d5: q = 8'h30; // 0x9d5 + 13'h9d6: q = 8'h0f; // 0x9d6 + 13'h9d7: q = 8'hc9; // 0x9d7 + 13'h9d8: q = 8'h10; // 0x9d8 + 13'h9d9: q = 8'hb0; // 0x9d9 + 13'h9da: q = 8'h0b; // 0x9da + 13'h9db: q = 8'hb4; // 0x9db + 13'h9dc: q = 8'h74; // 0x9dc + 13'h9dd: q = 8'hd0; // 0x9dd + 13'h9de: q = 8'h03; // 0x9de + 13'h9df: q = 8'h4c; // 0x9df + 13'h9e0: q = 8'ha6; // 0x9e0 + 13'h9e1: q = 8'h2a; // 0x9e1 + 13'h9e2: q = 8'hb4; // 0x9e2 + 13'h9e3: q = 8'h44; // 0x9e3 + 13'h9e4: q = 8'h30; // 0x9e4 + 13'h9e5: q = 8'h1d; // 0x9e5 + 13'h9e6: q = 8'h20; // 0x9e6 + 13'h9e7: q = 8'h10; // 0x9e7 + 13'h9e8: q = 8'h23; // 0x9e8 + 13'h9e9: q = 8'h20; // 0x9e9 + 13'h9ea: q = 8'h2b; // 0x9ea + 13'h9eb: q = 8'h2c; // 0x9eb + 13'h9ec: q = 8'hf0; // 0x9ec + 13'h9ed: q = 8'h10; // 0x9ed + 13'h9ee: q = 8'hc9; // 0x9ee + 13'h9ef: q = 8'h38; // 0x9ef + 13'h9f0: q = 8'h90; // 0x9f0 + 13'h9f1: q = 8'h11; // 0x9f1 + 13'h9f2: q = 8'hc9; // 0x9f2 + 13'h9f3: q = 8'h3c; // 0x9f3 + 13'h9f4: q = 8'hb0; // 0x9f4 + 13'h9f5: q = 8'h0d; // 0x9f5 + 13'h9f6: q = 8'hb5; // 0x9f6 + 13'h9f7: q = 8'h34; // 0x9f7 + 13'h9f8: q = 8'h09; // 0x9f8 + 13'h9f9: q = 8'h20; // 0x9f9 + 13'h9fa: q = 8'h95; // 0x9fa + 13'h9fb: q = 8'h34; // 0x9fb + 13'h9fc: q = 8'h90; // 0x9fc + 13'h9fd: q = 8'h05; // 0x9fd + 13'h9fe: q = 8'h20; // 0x9fe + 13'h9ff: q = 8'h6b; // 0x9ff + 13'ha00: q = 8'h2c; // 0xa00 + 13'ha01: q = 8'h90; // 0xa01 + 13'ha02: q = 8'hbb; // 0xa02 + 13'ha03: q = 8'hb5; // 0xa03 + 13'ha04: q = 8'h64; // 0xa04 + 13'ha05: q = 8'h45; // 0xa05 + 13'ha06: q = 8'hf0; // 0xa06 + 13'ha07: q = 8'hb4; // 0xa07 + 13'ha08: q = 8'h74; // 0xa08 + 13'ha09: q = 8'hf0; // 0xa09 + 13'ha0a: q = 8'hd4; // 0xa0a + 13'ha0b: q = 8'h10; // 0xa0b + 13'ha0c: q = 8'h12; // 0xa0c + 13'ha0d: q = 8'ha4; // 0xa0d + 13'ha0e: q = 8'hef; // 0xa0e + 13'ha0f: q = 8'hf0; // 0xa0f + 13'ha10: q = 8'h08; // 0xa10 + 13'ha11: q = 8'h45; // 0xa11 + 13'ha12: q = 8'hf0; // 0xa12 + 13'ha13: q = 8'hc9; // 0xa13 + 13'ha14: q = 8'hc9; // 0xa14 + 13'ha15: q = 8'h90; // 0xa15 + 13'ha16: q = 8'h63; // 0xa16 + 13'ha17: q = 8'hb0; // 0xa17 + 13'ha18: q = 8'h68; // 0xa18 + 13'ha19: q = 8'hc9; // 0xa19 + 13'ha1a: q = 8'h30; // 0xa1a + 13'ha1b: q = 8'hb0; // 0xa1b + 13'ha1c: q = 8'h5d; // 0xa1c + 13'ha1d: q = 8'h90; // 0xa1d + 13'ha1e: q = 8'h62; // 0xa1e + 13'ha1f: q = 8'hc9; // 0xa1f + 13'ha20: q = 8'h09; // 0xa20 + 13'ha21: q = 8'hb0; // 0xa21 + 13'ha22: q = 8'h5e; // 0xa22 + 13'ha23: q = 8'hb5; // 0xa23 + 13'ha24: q = 8'h34; // 0xa24 + 13'ha25: q = 8'h29; // 0xa25 + 13'ha26: q = 8'h40; // 0xa26 + 13'ha27: q = 8'hd0; // 0xa27 + 13'ha28: q = 8'h51; // 0xa28 + 13'ha29: q = 8'hb5; // 0xa29 + 13'ha2a: q = 8'h34; // 0xa2a + 13'ha2b: q = 8'h29; // 0xa2b + 13'ha2c: q = 8'hdf; // 0xa2c + 13'ha2d: q = 8'h95; // 0xa2d + 13'ha2e: q = 8'h34; // 0xa2e + 13'ha2f: q = 8'he0; // 0xa2f + 13'ha30: q = 8'h0b; // 0xa30 + 13'ha31: q = 8'hf0; // 0xa31 + 13'ha32: q = 8'h47; // 0xa32 + 13'ha33: q = 8'h8a; // 0xa33 + 13'ha34: q = 8'ha8; // 0xa34 + 13'ha35: q = 8'hc8; // 0xa35 + 13'ha36: q = 8'hb9; // 0xa36 + 13'ha37: q = 8'h34; // 0xa37 + 13'ha38: q = 8'h00; // 0xa38 + 13'ha39: q = 8'h30; // 0xa39 + 13'ha3a: q = 8'h3f; // 0xa3a + 13'ha3b: q = 8'h29; // 0xa3b + 13'ha3c: q = 8'h40; // 0xa3c + 13'ha3d: q = 8'hf0; // 0xa3d + 13'ha3e: q = 8'h3b; // 0xa3e + 13'ha3f: q = 8'hc0; // 0xa3f + 13'ha40: q = 8'h0b; // 0xa40 + 13'ha41: q = 8'hf0; // 0xa41 + 13'ha42: q = 8'h09; // 0xa42 + 13'ha43: q = 8'hb9; // 0xa43 + 13'ha44: q = 8'h35; // 0xa44 + 13'ha45: q = 8'h00; // 0xa45 + 13'ha46: q = 8'h30; // 0xa46 + 13'ha47: q = 8'h04; // 0xa47 + 13'ha48: q = 8'h29; // 0xa48 + 13'ha49: q = 8'h40; // 0xa49 + 13'ha4a: q = 8'hd0; // 0xa4a + 13'ha4b: q = 8'h29; // 0xa4b + 13'ha4c: q = 8'hb9; // 0xa4c + 13'ha4d: q = 8'h64; // 0xa4d + 13'ha4e: q = 8'h00; // 0xa4e + 13'ha4f: q = 8'h45; // 0xa4f + 13'ha50: q = 8'hf0; // 0xa50 + 13'ha51: q = 8'hc9; // 0xa51 + 13'ha52: q = 8'h09; // 0xa52 + 13'ha53: q = 8'hb0; // 0xa53 + 13'ha54: q = 8'h25; // 0xa54 + 13'ha55: q = 8'hb9; // 0xa55 + 13'ha56: q = 8'h34; // 0xa56 + 13'ha57: q = 8'h00; // 0xa57 + 13'ha58: q = 8'h29; // 0xa58 + 13'ha59: q = 8'h07; // 0xa59 + 13'ha5a: q = 8'h99; // 0xa5a + 13'ha5b: q = 8'h34; // 0xa5b + 13'ha5c: q = 8'h00; // 0xa5c + 13'ha5d: q = 8'hb9; // 0xa5d + 13'ha5e: q = 8'h44; // 0xa5e + 13'ha5f: q = 8'h00; // 0xa5f + 13'ha60: q = 8'h20; // 0xa60 + 13'ha61: q = 8'h2d; // 0xa61 + 13'ha62: q = 8'h38; // 0xa62 + 13'ha63: q = 8'h99; // 0xa63 + 13'ha64: q = 8'h44; // 0xa64 + 13'ha65: q = 8'h00; // 0xa65 + 13'ha66: q = 8'hb9; // 0xa66 + 13'ha67: q = 8'h64; // 0xa67 + 13'ha68: q = 8'h00; // 0xa68 + 13'ha69: q = 8'h29; // 0xa69 + 13'ha6a: q = 8'hf8; // 0xa6a + 13'ha6b: q = 8'h99; // 0xa6b + 13'ha6c: q = 8'h64; // 0xa6c + 13'ha6d: q = 8'h00; // 0xa6d + 13'ha6e: q = 8'ha9; // 0xa6e + 13'ha6f: q = 8'h00; // 0xa6f + 13'ha70: q = 8'h99; // 0xa70 + 13'ha71: q = 8'h74; // 0xa71 + 13'ha72: q = 8'h00; // 0xa72 + 13'ha73: q = 8'hf0; // 0xa73 + 13'ha74: q = 8'h05; // 0xa74 + 13'ha75: q = 8'hc8; // 0xa75 + 13'ha76: q = 8'hc0; // 0xa76 + 13'ha77: q = 8'h0c; // 0xa77 + 13'ha78: q = 8'h90; // 0xa78 + 13'ha79: q = 8'hc5; // 0xa79 + 13'ha7a: q = 8'hb5; // 0xa7a + 13'ha7b: q = 8'h74; // 0xa7b + 13'ha7c: q = 8'h20; // 0xa7c + 13'ha7d: q = 8'h2d; // 0xa7d + 13'ha7e: q = 8'h38; // 0xa7e + 13'ha7f: q = 8'h95; // 0xa7f + 13'ha80: q = 8'h74; // 0xa80 + 13'ha81: q = 8'hb5; // 0xa81 + 13'ha82: q = 8'h64; // 0xa82 + 13'ha83: q = 8'ha4; // 0xa83 + 13'ha84: q = 8'hef; // 0xa84 + 13'ha85: q = 8'hf0; // 0xa85 + 13'ha86: q = 8'h06; // 0xa86 + 13'ha87: q = 8'h18; // 0xa87 + 13'ha88: q = 8'h75; // 0xa88 + 13'ha89: q = 8'h74; // 0xa89 + 13'ha8a: q = 8'h4c; // 0xa8a + 13'ha8b: q = 8'h90; // 0xa8b + 13'ha8c: q = 8'h2a; // 0xa8c + 13'ha8d: q = 8'h38; // 0xa8d + 13'ha8e: q = 8'hf5; // 0xa8e + 13'ha8f: q = 8'h74; // 0xa8f + 13'ha90: q = 8'h95; // 0xa90 + 13'ha91: q = 8'h64; // 0xa91 + 13'ha92: q = 8'hb5; // 0xa92 + 13'ha93: q = 8'h44; // 0xa93 + 13'ha94: q = 8'h18; // 0xa94 + 13'ha95: q = 8'h75; // 0xa95 + 13'ha96: q = 8'h54; // 0xa96 + 13'ha97: q = 8'h95; // 0xa97 + 13'ha98: q = 8'h54; // 0xa98 + 13'ha99: q = 8'h20; // 0xa99 + 13'ha9a: q = 8'h96; // 0xa9a + 13'ha9b: q = 8'h2c; // 0xa9b + 13'ha9c: q = 8'h90; // 0xa9c + 13'ha9d: q = 8'h2f; // 0xa9d + 13'ha9e: q = 8'hb5; // 0xa9e + 13'ha9f: q = 8'h64; // 0xa9f + 13'haa0: q = 8'h29; // 0xaa0 + 13'haa1: q = 8'h07; // 0xaa1 + 13'haa2: q = 8'hc9; // 0xaa2 + 13'haa3: q = 8'h04; // 0xaa3 + 13'haa4: q = 8'hd0; // 0xaa4 + 13'haa5: q = 8'h21; // 0xaa5 + 13'haa6: q = 8'hb5; // 0xaa6 + 13'haa7: q = 8'h44; // 0xaa7 + 13'haa8: q = 8'h20; // 0xaa8 + 13'haa9: q = 8'h2d; // 0xaa9 + 13'haaa: q = 8'h38; // 0xaaa + 13'haab: q = 8'h95; // 0xaab + 13'haac: q = 8'h44; // 0xaac + 13'haad: q = 8'hb4; // 0xaad + 13'haae: q = 8'h74; // 0xaae + 13'haaf: q = 8'hd0; // 0xaaf + 13'hab0: q = 8'h16; // 0xab0 + 13'hab1: q = 8'h09; // 0xab1 + 13'hab2: q = 8'h00; // 0xab2 + 13'hab3: q = 8'h30; // 0xab3 + 13'hab4: q = 8'h03; // 0xab4 + 13'hab5: q = 8'h20; // 0xab5 + 13'hab6: q = 8'h2d; // 0xab6 + 13'hab7: q = 8'h38; // 0xab7 + 13'hab8: q = 8'h95; // 0xab8 + 13'hab9: q = 8'h74; // 0xab9 + 13'haba: q = 8'ha9; // 0xaba + 13'habb: q = 8'h04; // 0xabb + 13'habc: q = 8'hb4; // 0xabc + 13'habd: q = 8'h44; // 0xabd + 13'habe: q = 8'h10; // 0xabe + 13'habf: q = 8'h02; // 0xabf + 13'hac0: q = 8'ha9; // 0xac0 + 13'hac1: q = 8'hfc; // 0xac1 + 13'hac2: q = 8'h18; // 0xac2 + 13'hac3: q = 8'h75; // 0xac3 + 13'hac4: q = 8'h54; // 0xac4 + 13'hac5: q = 8'h95; // 0xac5 + 13'hac6: q = 8'h54; // 0xac6 + 13'hac7: q = 8'hca; // 0xac7 + 13'hac8: q = 8'h30; // 0xac8 + 13'hac9: q = 8'h03; // 0xac9 + 13'haca: q = 8'h4c; // 0xaca + 13'hacb: q = 8'h62; // 0xacb + 13'hacc: q = 8'h29; // 0xacc + 13'hacd: q = 8'h60; // 0xacd + 13'hace: q = 8'ha5; // 0xace + 13'hacf: q = 8'h86; // 0xacf + 13'had0: q = 8'h10; // 0xad0 + 13'had1: q = 8'h01; // 0xad1 + 13'had2: q = 8'h60; // 0xad2 + 13'had3: q = 8'ha5; // 0xad3 + 13'had4: q = 8'h43; // 0xad4 + 13'had5: q = 8'h29; // 0xad5 + 13'had6: q = 8'haf; // 0xad6 + 13'had7: q = 8'hd0; // 0xad7 + 13'had8: q = 8'hf9; // 0xad8 + 13'had9: q = 8'ha5; // 0xad9 + 13'hada: q = 8'h73; // 0xada + 13'hadb: q = 8'h85; // 0xadb + 13'hadc: q = 8'h8d; // 0xadc + 13'hadd: q = 8'ha4; // 0xadd + 13'hade: q = 8'hfe; // 0xade + 13'hadf: q = 8'ha5; // 0xadf + 13'hae0: q = 8'hb9; // 0xae0 + 13'hae1: q = 8'h84; // 0xae1 + 13'hae2: q = 8'hb9; // 0xae2 + 13'hae3: q = 8'h20; // 0xae3 + 13'hae4: q = 8'h26; // 0xae4 + 13'hae5: q = 8'h32; // 0xae5 + 13'hae6: q = 8'h65; // 0xae6 + 13'hae7: q = 8'h84; // 0xae7 + 13'hae8: q = 8'h85; // 0xae8 + 13'hae9: q = 8'h84; // 0xae9 + 13'haea: q = 8'h98; // 0xaea + 13'haeb: q = 8'h65; // 0xaeb + 13'haec: q = 8'h63; // 0xaec + 13'haed: q = 8'haa; // 0xaed + 13'haee: q = 8'h85; // 0xaee + 13'haef: q = 8'h8b; // 0xaef + 13'haf0: q = 8'ha0; // 0xaf0 + 13'haf1: q = 8'h00; // 0xaf1 + 13'haf2: q = 8'ha5; // 0xaf2 + 13'haf3: q = 8'h73; // 0xaf3 + 13'haf4: q = 8'h20; // 0xaf4 + 13'haf5: q = 8'h2b; // 0xaf5 + 13'haf6: q = 8'h2c; // 0xaf6 + 13'haf7: q = 8'hd0; // 0xaf7 + 13'haf8: q = 8'h11; // 0xaf8 + 13'haf9: q = 8'h8a; // 0xaf9 + 13'hafa: q = 8'hc9; // 0xafa + 13'hafb: q = 8'hf4; // 0xafb + 13'hafc: q = 8'h90; // 0xafc + 13'hafd: q = 8'h04; // 0xafd + 13'hafe: q = 8'ha9; // 0xafe + 13'haff: q = 8'hf4; // 0xaff + 13'hb00: q = 8'hd0; // 0xb00 + 13'hb01: q = 8'h0a; // 0xb01 + 13'hb02: q = 8'hc9; // 0xb02 + 13'hb03: q = 8'h0b; // 0xb03 + 13'hb04: q = 8'hb0; // 0xb04 + 13'hb05: q = 8'h06; // 0xb05 + 13'hb06: q = 8'ha9; // 0xb06 + 13'hb07: q = 8'h0b; // 0xb07 + 13'hb08: q = 8'hd0; // 0xb08 + 13'hb09: q = 8'h02; // 0xb09 + 13'hb0a: q = 8'ha5; // 0xb0a + 13'hb0b: q = 8'h63; // 0xb0b + 13'hb0c: q = 8'h85; // 0xb0c + 13'hb0d: q = 8'h63; // 0xb0d + 13'hb0e: q = 8'ha4; // 0xb0e + 13'hb0f: q = 8'h86; // 0xb0f + 13'hb10: q = 8'h10; // 0xb10 + 13'hb11: q = 8'h01; // 0xb11 + 13'hb12: q = 8'h60; // 0xb12 + 13'hb13: q = 8'ha0; // 0xb13 + 13'hb14: q = 8'h00; // 0xb14 + 13'hb15: q = 8'ha5; // 0xb15 + 13'hb16: q = 8'hbb; // 0xb16 + 13'hb17: q = 8'h84; // 0xb17 + 13'hb18: q = 8'hbb; // 0xb18 + 13'hb19: q = 8'h20; // 0xb19 + 13'hb1a: q = 8'h2d; // 0xb1a + 13'hb1b: q = 8'h38; // 0xb1b + 13'hb1c: q = 8'h20; // 0xb1c + 13'hb1d: q = 8'h26; // 0xb1d + 13'hb1e: q = 8'h32; // 0xb1e + 13'hb1f: q = 8'h65; // 0xb1f + 13'hb20: q = 8'h85; // 0xb20 + 13'hb21: q = 8'h85; // 0xb21 + 13'hb22: q = 8'h85; // 0xb22 + 13'hb23: q = 8'h98; // 0xb23 + 13'hb24: q = 8'h65; // 0xb24 + 13'hb25: q = 8'h73; // 0xb25 + 13'hb26: q = 8'haa; // 0xb26 + 13'hb27: q = 8'ha4; // 0xb27 + 13'hb28: q = 8'h63; // 0xb28 + 13'hb29: q = 8'h84; // 0xb29 + 13'hb2a: q = 8'h8b; // 0xb2a + 13'hb2b: q = 8'ha0; // 0xb2b + 13'hb2c: q = 8'h00; // 0xb2c + 13'hb2d: q = 8'h20; // 0xb2d + 13'hb2e: q = 8'h2b; // 0xb2e + 13'hb2f: q = 8'h2c; // 0xb2f + 13'hb30: q = 8'hd0; // 0xb30 + 13'hb31: q = 8'h25; // 0xb31 + 13'hb32: q = 8'h8a; // 0xb32 + 13'hb33: q = 8'hc9; // 0xb33 + 13'hb34: q = 8'h08; // 0xb34 + 13'hb35: q = 8'h90; // 0xb35 + 13'hb36: q = 8'h1c; // 0xb36 + 13'hb37: q = 8'hc9; // 0xb37 + 13'hb38: q = 8'hf1; // 0xb38 + 13'hb39: q = 8'hb0; // 0xb39 + 13'hb3a: q = 8'h14; // 0xb3a + 13'hb3b: q = 8'hc9; // 0xb3b + 13'hb3c: q = 8'h80; // 0xb3c + 13'hb3d: q = 8'h90; // 0xb3d + 13'hb3e: q = 8'h08; // 0xb3e + 13'hb3f: q = 8'hc9; // 0xb3f + 13'hb40: q = 8'hc8; // 0xb40 + 13'hb41: q = 8'hb0; // 0xb41 + 13'hb42: q = 8'h16; // 0xb42 + 13'hb43: q = 8'ha9; // 0xb43 + 13'hb44: q = 8'hc8; // 0xb44 + 13'hb45: q = 8'hd0; // 0xb45 + 13'hb46: q = 8'h12; // 0xb46 + 13'hb47: q = 8'hc9; // 0xb47 + 13'hb48: q = 8'h31; // 0xb48 + 13'hb49: q = 8'h90; // 0xb49 + 13'hb4a: q = 8'h0e; // 0xb4a + 13'hb4b: q = 8'ha9; // 0xb4b + 13'hb4c: q = 8'h30; // 0xb4c + 13'hb4d: q = 8'hd0; // 0xb4d + 13'hb4e: q = 8'h0a; // 0xb4e + 13'hb4f: q = 8'ha9; // 0xb4f + 13'hb50: q = 8'hf0; // 0xb50 + 13'hb51: q = 8'hd0; // 0xb51 + 13'hb52: q = 8'h06; // 0xb52 + 13'hb53: q = 8'ha9; // 0xb53 + 13'hb54: q = 8'h08; // 0xb54 + 13'hb55: q = 8'hd0; // 0xb55 + 13'hb56: q = 8'h02; // 0xb56 + 13'hb57: q = 8'ha5; // 0xb57 + 13'hb58: q = 8'h73; // 0xb58 + 13'hb59: q = 8'h85; // 0xb59 + 13'hb5a: q = 8'h73; // 0xb5a + 13'hb5b: q = 8'ha4; // 0xb5b + 13'hb5c: q = 8'h86; // 0xb5c + 13'hb5d: q = 8'h10; // 0xb5d + 13'hb5e: q = 8'h01; // 0xb5e + 13'hb5f: q = 8'h60; // 0xb5f + 13'hb60: q = 8'ha5; // 0xb60 + 13'hb61: q = 8'h72; // 0xb61 + 13'hb62: q = 8'ha6; // 0xb62 + 13'hb63: q = 8'hef; // 0xb63 + 13'hb64: q = 8'hf0; // 0xb64 + 13'hb65: q = 8'h07; // 0xb65 + 13'hb66: q = 8'h38; // 0xb66 + 13'hb67: q = 8'he5; // 0xb67 + 13'hb68: q = 8'h8d; // 0xb68 + 13'hb69: q = 8'hb0; // 0xb69 + 13'hb6a: q = 8'h0e; // 0xb6a + 13'hb6b: q = 8'h90; // 0xb6b + 13'hb6c: q = 8'h05; // 0xb6c + 13'hb6d: q = 8'h38; // 0xb6d + 13'hb6e: q = 8'he5; // 0xb6e + 13'hb6f: q = 8'h8d; // 0xb6f + 13'hb70: q = 8'h90; // 0xb70 + 13'hb71: q = 8'h07; // 0xb71 + 13'hb72: q = 8'h20; // 0xb72 + 13'hb73: q = 8'h2b; // 0xb73 + 13'hb74: q = 8'h38; // 0xb74 + 13'hb75: q = 8'hc9; // 0xb75 + 13'hb76: q = 8'h05; // 0xb76 + 13'hb77: q = 8'hb0; // 0xb77 + 13'hb78: q = 8'h0d; // 0xb78 + 13'hb79: q = 8'ha9; // 0xb79 + 13'hb7a: q = 8'h04; // 0xb7a + 13'hb7b: q = 8'h45; // 0xb7b + 13'hb7c: q = 8'hf0; // 0xb7c + 13'hb7d: q = 8'h18; // 0xb7d + 13'hb7e: q = 8'h65; // 0xb7e + 13'hb7f: q = 8'h73; // 0xb7f + 13'hb80: q = 8'h85; // 0xb80 + 13'hb81: q = 8'h72; // 0xb81 + 13'hb82: q = 8'ha5; // 0xb82 + 13'hb83: q = 8'h63; // 0xb83 + 13'hb84: q = 8'h85; // 0xb84 + 13'hb85: q = 8'h62; // 0xb85 + 13'hb86: q = 8'ha5; // 0xb86 + 13'hb87: q = 8'h43; // 0xb87 + 13'hb88: q = 8'h29; // 0xb88 + 13'hb89: q = 8'haf; // 0xb89 + 13'hb8a: q = 8'hf0; // 0xb8a + 13'hb8b: q = 8'h04; // 0xb8b + 13'hb8c: q = 8'ha9; // 0xb8c + 13'hb8d: q = 8'h28; // 0xb8d + 13'hb8e: q = 8'h85; // 0xb8e + 13'hb8f: q = 8'h42; // 0xb8f + 13'hb90: q = 8'h60; // 0xb90 + 13'hb91: q = 8'ha5; // 0xb91 + 13'hb92: q = 8'h32; // 0xb92 + 13'hb93: q = 8'h29; // 0xb93 + 13'hb94: q = 8'h1f; // 0xb94 + 13'hb95: q = 8'ha6; // 0xb95 + 13'hb96: q = 8'hef; // 0xb96 + 13'hb97: q = 8'hf0; // 0xb97 + 13'hb98: q = 8'h06; // 0xb98 + 13'hb99: q = 8'hc9; // 0xb99 + 13'hb9a: q = 8'h14; // 0xb9a + 13'hb9b: q = 8'h90; // 0xb9b + 13'hb9c: q = 8'h0a; // 0xb9c + 13'hb9d: q = 8'hb0; // 0xb9d + 13'hb9e: q = 8'h04; // 0xb9e + 13'hb9f: q = 8'hc9; // 0xb9f + 13'hba0: q = 8'h0c; // 0xba0 + 13'hba1: q = 8'hb0; // 0xba1 + 13'hba2: q = 8'h04; // 0xba2 + 13'hba3: q = 8'ha6; // 0xba3 + 13'hba4: q = 8'h88; // 0xba4 + 13'hba5: q = 8'hd6; // 0xba5 + 13'hba6: q = 8'hd7; // 0xba6 + 13'hba7: q = 8'h60; // 0xba7 + 13'hba8: q = 8'ha0; // 0xba8 + 13'hba9: q = 8'h00; // 0xba9 + 13'hbaa: q = 8'hb1; // 0xbaa + 13'hbab: q = 8'h32; // 0xbab + 13'hbac: q = 8'hd0; // 0xbac + 13'hbad: q = 8'h2a; // 0xbad + 13'hbae: q = 8'ha5; // 0xbae + 13'hbaf: q = 8'h32; // 0xbaf + 13'hbb0: q = 8'h29; // 0xbb0 + 13'hbb1: q = 8'h1f; // 0xbb1 + 13'hbb2: q = 8'hf0; // 0xbb2 + 13'hbb3: q = 8'h24; // 0xbb3 + 13'hbb4: q = 8'hc9; // 0xbb4 + 13'hbb5: q = 8'h1f; // 0xbb5 + 13'hbb6: q = 8'hf0; // 0xbb6 + 13'hbb7: q = 8'h20; // 0xbb7 + 13'hbb8: q = 8'ha6; // 0xbb8 + 13'hbb9: q = 8'hef; // 0xbb9 + 13'hbba: q = 8'hf0; // 0xbba + 13'hbbb: q = 8'h0a; // 0xbbb + 13'hbbc: q = 8'hc9; // 0xbbc + 13'hbbd: q = 8'h1e; // 0xbbd + 13'hbbe: q = 8'hf0; // 0xbbe + 13'hbbf: q = 8'h18; // 0xbbf + 13'hbc0: q = 8'hc9; // 0xbc0 + 13'hbc1: q = 8'h14; // 0xbc1 + 13'hbc2: q = 8'h90; // 0xbc2 + 13'hbc3: q = 8'h0e; // 0xbc3 + 13'hbc4: q = 8'hb0; // 0xbc4 + 13'hbc5: q = 8'h08; // 0xbc5 + 13'hbc6: q = 8'hc9; // 0xbc6 + 13'hbc7: q = 8'h01; // 0xbc7 + 13'hbc8: q = 8'hf0; // 0xbc8 + 13'hbc9: q = 8'h0e; // 0xbc9 + 13'hbca: q = 8'hc9; // 0xbca + 13'hbcb: q = 8'h0c; // 0xbcb + 13'hbcc: q = 8'hb0; // 0xbcc + 13'hbcd: q = 8'h04; // 0xbcd + 13'hbce: q = 8'ha6; // 0xbce + 13'hbcf: q = 8'h88; // 0xbcf + 13'hbd0: q = 8'hf6; // 0xbd0 + 13'hbd1: q = 8'hd7; // 0xbd1 + 13'hbd2: q = 8'ha9; // 0xbd2 + 13'hbd3: q = 8'h3f; // 0xbd3 + 13'hbd4: q = 8'h45; // 0xbd4 + 13'hbd5: q = 8'hef; // 0xbd5 + 13'hbd6: q = 8'h91; // 0xbd6 + 13'hbd7: q = 8'h32; // 0xbd7 + 13'hbd8: q = 8'h60; // 0xbd8 + 13'hbd9: q = 8'ha5; // 0xbd9 + 13'hbda: q = 8'h97; // 0xbda + 13'hbdb: q = 8'hf0; // 0xbdb + 13'hbdc: q = 8'h4d; // 0xbdc + 13'hbdd: q = 8'ha5; // 0xbdd + 13'hbde: q = 8'h87; // 0xbde + 13'hbdf: q = 8'hd0; // 0xbdf + 13'hbe0: q = 8'h49; // 0xbe0 + 13'hbe1: q = 8'ha5; // 0xbe1 + 13'hbe2: q = 8'ha0; // 0xbe2 + 13'hbe3: q = 8'hf0; // 0xbe3 + 13'hbe4: q = 8'h03; // 0xbe4 + 13'hbe5: q = 8'hc6; // 0xbe5 + 13'hbe6: q = 8'ha0; // 0xbe6 + 13'hbe7: q = 8'h60; // 0xbe7 + 13'hbe8: q = 8'ha6; // 0xbe8 + 13'hbe9: q = 8'h88; // 0xbe9 + 13'hbea: q = 8'ha0; // 0xbea + 13'hbeb: q = 8'h0b; // 0xbeb + 13'hbec: q = 8'hb9; // 0xbec + 13'hbed: q = 8'h34; // 0xbed + 13'hbee: q = 8'h00; // 0xbee + 13'hbef: q = 8'h30; // 0xbef + 13'hbf0: q = 8'h04; // 0xbf0 + 13'hbf1: q = 8'h88; // 0xbf1 + 13'hbf2: q = 8'h10; // 0xbf2 + 13'hbf3: q = 8'hf8; // 0xbf3 + 13'hbf4: q = 8'h60; // 0xbf4 + 13'hbf5: q = 8'ha9; // 0xbf5 + 13'hbf6: q = 8'h00; // 0xbf6 + 13'hbf7: q = 8'h99; // 0xbf7 + 13'hbf8: q = 8'h34; // 0xbf8 + 13'hbf9: q = 8'h00; // 0xbf9 + 13'hbfa: q = 8'ha9; // 0xbfa + 13'hbfb: q = 8'h40; // 0xbfb + 13'hbfc: q = 8'h45; // 0xbfc + 13'hbfd: q = 8'hf0; // 0xbfd + 13'hbfe: q = 8'h99; // 0xbfe + 13'hbff: q = 8'h64; // 0xbff + 13'hc00: q = 8'h00; // 0xc00 + 13'hc01: q = 8'ha9; // 0xc01 + 13'hc02: q = 8'hfc; // 0xc02 + 13'hc03: q = 8'h99; // 0xc03 + 13'hc04: q = 8'h54; // 0xc04 + 13'hc05: q = 8'h00; // 0xc05 + 13'hc06: q = 8'ha9; // 0xc06 + 13'hc07: q = 8'h02; // 0xc07 + 13'hc08: q = 8'h99; // 0xc08 + 13'hc09: q = 8'h74; // 0xc09 + 13'hc0a: q = 8'h00; // 0xc0a + 13'hc0b: q = 8'hb5; // 0xc0b + 13'hc0c: q = 8'ha1; // 0xc0c + 13'hc0d: q = 8'hc9; // 0xc0d + 13'hc0e: q = 8'h60; // 0xc0e + 13'hc0f: q = 8'h90; // 0xc0f + 13'hc10: q = 8'h04; // 0xc10 + 13'hc11: q = 8'he9; // 0xc11 + 13'hc12: q = 8'h08; // 0xc12 + 13'hc13: q = 8'h95; // 0xc13 + 13'hc14: q = 8'ha1; // 0xc14 + 13'hc15: q = 8'h85; // 0xc15 + 13'hc16: q = 8'ha0; // 0xc16 + 13'hc17: q = 8'had; // 0xc17 + 13'hc18: q = 8'h0a; // 0xc18 + 13'hc19: q = 8'h10; // 0xc19 + 13'hc1a: q = 8'h29; // 0xc1a + 13'hc1b: q = 8'h02; // 0xc1b + 13'hc1c: q = 8'hd0; // 0xc1c + 13'hc1d: q = 8'h07; // 0xc1d + 13'hc1e: q = 8'ha9; // 0xc1e + 13'hc1f: q = 8'h04; // 0xc1f + 13'hc20: q = 8'h99; // 0xc20 + 13'hc21: q = 8'h54; // 0xc21 + 13'hc22: q = 8'h00; // 0xc22 + 13'hc23: q = 8'ha9; // 0xc23 + 13'hc24: q = 8'hfe; // 0xc24 + 13'hc25: q = 8'h99; // 0xc25 + 13'hc26: q = 8'h44; // 0xc26 + 13'hc27: q = 8'h00; // 0xc27 + 13'hc28: q = 8'hf6; // 0xc28 + 13'hc29: q = 8'h94; // 0xc29 + 13'hc2a: q = 8'h60; // 0xc2a + 13'hc2b: q = 8'h4a; // 0xc2b + 13'hc2c: q = 8'h4a; // 0xc2c + 13'hc2d: q = 8'h4a; // 0xc2d + 13'hc2e: q = 8'h69; // 0xc2e + 13'hc2f: q = 8'h00; // 0xc2f + 13'hc30: q = 8'h85; // 0xc30 + 13'hc31: q = 8'h32; // 0xc31 + 13'hc32: q = 8'ha9; // 0xc32 + 13'hc33: q = 8'h01; // 0xc33 + 13'hc34: q = 8'h85; // 0xc34 + 13'hc35: q = 8'h33; // 0xc35 + 13'hc36: q = 8'h98; // 0xc36 + 13'hc37: q = 8'h0a; // 0xc37 + 13'hc38: q = 8'h0a; // 0xc38 + 13'hc39: q = 8'h0a; // 0xc39 + 13'hc3a: q = 8'h18; // 0xc3a + 13'hc3b: q = 8'h65; // 0xc3b + 13'hc3c: q = 8'h8b; // 0xc3c + 13'hc3d: q = 8'h85; // 0xc3d + 13'hc3e: q = 8'h8b; // 0xc3e + 13'hc3f: q = 8'ha9; // 0xc3f + 13'hc40: q = 8'hf7; // 0xc40 + 13'hc41: q = 8'h38; // 0xc41 + 13'hc42: q = 8'he5; // 0xc42 + 13'hc43: q = 8'h8b; // 0xc43 + 13'hc44: q = 8'hb0; // 0xc44 + 13'hc45: q = 8'h02; // 0xc45 + 13'hc46: q = 8'ha9; // 0xc46 + 13'hc47: q = 8'h00; // 0xc47 + 13'hc48: q = 8'h29; // 0xc48 + 13'hc49: q = 8'hf8; // 0xc49 + 13'hc4a: q = 8'h0a; // 0xc4a + 13'hc4b: q = 8'h26; // 0xc4b + 13'hc4c: q = 8'h33; // 0xc4c + 13'hc4d: q = 8'h0a; // 0xc4d + 13'hc4e: q = 8'h26; // 0xc4e + 13'hc4f: q = 8'h33; // 0xc4f + 13'hc50: q = 8'h05; // 0xc50 + 13'hc51: q = 8'h32; // 0xc51 + 13'hc52: q = 8'ha4; // 0xc52 + 13'hc53: q = 8'h33; // 0xc53 + 13'hc54: q = 8'hc0; // 0xc54 + 13'hc55: q = 8'h07; // 0xc55 + 13'hc56: q = 8'hd0; // 0xc56 + 13'hc57: q = 8'h08; // 0xc57 + 13'hc58: q = 8'hc9; // 0xc58 + 13'hc59: q = 8'hc0; // 0xc59 + 13'hc5a: q = 8'h90; // 0xc5a + 13'hc5b: q = 8'h04; // 0xc5b + 13'hc5c: q = 8'h29; // 0xc5c + 13'hc5d: q = 8'h1f; // 0xc5d + 13'hc5e: q = 8'h09; // 0xc5e + 13'hc5f: q = 8'ha0; // 0xc5f + 13'hc60: q = 8'h85; // 0xc60 + 13'hc61: q = 8'h32; // 0xc61 + 13'hc62: q = 8'ha0; // 0xc62 + 13'hc63: q = 8'h00; // 0xc63 + 13'hc64: q = 8'hb1; // 0xc64 + 13'hc65: q = 8'h32; // 0xc65 + 13'hc66: q = 8'hf0; // 0xc66 + 13'hc67: q = 8'h02; // 0xc67 + 13'hc68: q = 8'h45; // 0xc68 + 13'hc69: q = 8'hef; // 0xc69 + 13'hc6a: q = 8'h60; // 0xc6a + 13'hc6b: q = 8'h86; // 0xc6b + 13'hc6c: q = 8'h8b; // 0xc6c + 13'hc6d: q = 8'h86; // 0xc6d + 13'hc6e: q = 8'h8c; // 0xc6e + 13'hc6f: q = 8'he6; // 0xc6f + 13'hc70: q = 8'h8c; // 0xc70 + 13'hc71: q = 8'ha0; // 0xc71 + 13'hc72: q = 8'h0c; // 0xc72 + 13'hc73: q = 8'hb9; // 0xc73 + 13'hc74: q = 8'h64; // 0xc74 + 13'hc75: q = 8'h00; // 0xc75 + 13'hc76: q = 8'hd5; // 0xc76 + 13'hc77: q = 8'h64; // 0xc77 + 13'hc78: q = 8'hd0; // 0xc78 + 13'hc79: q = 8'h17; // 0xc79 + 13'hc7a: q = 8'hb9; // 0xc7a + 13'hc7b: q = 8'h34; // 0xc7b + 13'hc7c: q = 8'h00; // 0xc7c + 13'hc7d: q = 8'hc9; // 0xc7d + 13'hc7e: q = 8'hf4; // 0xc7e + 13'hc7f: q = 8'hb0; // 0xc7f + 13'hc80: q = 8'h10; // 0xc80 + 13'hc81: q = 8'hc4; // 0xc81 + 13'hc82: q = 8'h8b; // 0xc82 + 13'hc83: q = 8'hf0; // 0xc83 + 13'hc84: q = 8'h0c; // 0xc84 + 13'hc85: q = 8'hb5; // 0xc85 + 13'hc86: q = 8'h54; // 0xc86 + 13'hc87: q = 8'h38; // 0xc87 + 13'hc88: q = 8'hf9; // 0xc88 + 13'hc89: q = 8'h54; // 0xc89 + 13'hc8a: q = 8'h00; // 0xc8a + 13'hc8b: q = 8'h55; // 0xc8b + 13'hc8c: q = 8'h44; // 0xc8c + 13'hc8d: q = 8'hc9; // 0xc8d + 13'hc8e: q = 8'hf4; // 0xc8e + 13'hc8f: q = 8'hb0; // 0xc8f + 13'hc90: q = 8'h04; // 0xc90 + 13'hc91: q = 8'h88; // 0xc91 + 13'hc92: q = 8'h10; // 0xc92 + 13'hc93: q = 8'hdf; // 0xc93 + 13'hc94: q = 8'h18; // 0xc94 + 13'hc95: q = 8'h60; // 0xc95 + 13'hc96: q = 8'hb5; // 0xc96 + 13'hc97: q = 8'h54; // 0xc97 + 13'hc98: q = 8'h38; // 0xc98 + 13'hc99: q = 8'he5; // 0xc99 + 13'hc9a: q = 8'h63; // 0xc9a + 13'hc9b: q = 8'h20; // 0xc9b + 13'hc9c: q = 8'h2b; // 0xc9c + 13'hc9d: q = 8'h38; // 0xc9d + 13'hc9e: q = 8'he0; // 0xc9e + 13'hc9f: q = 8'h0d; // 0xc9f + 13'hca0: q = 8'hd0; // 0xca0 + 13'hca1: q = 8'h05; // 0xca1 + 13'hca2: q = 8'hc9; // 0xca2 + 13'hca3: q = 8'h0a; // 0xca3 + 13'hca4: q = 8'h90; // 0xca4 + 13'hca5: q = 8'h05; // 0xca5 + 13'hca6: q = 8'h60; // 0xca6 + 13'hca7: q = 8'hc9; // 0xca7 + 13'hca8: q = 8'h07; // 0xca8 + 13'hca9: q = 8'hb0; // 0xca9 + 13'hcaa: q = 8'hfb; // 0xcaa + 13'hcab: q = 8'h85; // 0xcab + 13'hcac: q = 8'h8d; // 0xcac + 13'hcad: q = 8'hb5; // 0xcad + 13'hcae: q = 8'h64; // 0xcae + 13'hcaf: q = 8'h38; // 0xcaf + 13'hcb0: q = 8'he5; // 0xcb0 + 13'hcb1: q = 8'h73; // 0xcb1 + 13'hcb2: q = 8'h20; // 0xcb2 + 13'hcb3: q = 8'h2b; // 0xcb3 + 13'hcb4: q = 8'h38; // 0xcb4 + 13'hcb5: q = 8'hc9; // 0xcb5 + 13'hcb6: q = 8'h07; // 0xcb6 + 13'hcb7: q = 8'hb0; // 0xcb7 + 13'hcb8: q = 8'hed; // 0xcb8 + 13'hcb9: q = 8'h18; // 0xcb9 + 13'hcba: q = 8'h65; // 0xcba + 13'hcbb: q = 8'h8d; // 0xcbb + 13'hcbc: q = 8'he0; // 0xcbc + 13'hcbd: q = 8'h0d; // 0xcbd + 13'hcbe: q = 8'hf0; // 0xcbe + 13'hcbf: q = 8'h2a; // 0xcbf + 13'hcc0: q = 8'hc9; // 0xcc0 + 13'hcc1: q = 8'h0c; // 0xcc1 + 13'hcc2: q = 8'hb0; // 0xcc2 + 13'hcc3: q = 8'he2; // 0xcc3 + 13'hcc4: q = 8'ha9; // 0xcc4 + 13'hcc5: q = 8'h30; // 0xcc5 + 13'hcc6: q = 8'h85; // 0xcc6 + 13'hcc7: q = 8'h87; // 0xcc7 + 13'hcc8: q = 8'ha9; // 0xcc8 + 13'hcc9: q = 8'h20; // 0xcc9 + 13'hcca: q = 8'h85; // 0xcca + 13'hccb: q = 8'h43; // 0xccb + 13'hccc: q = 8'ha9; // 0xccc + 13'hccd: q = 8'hff; // 0xccd + 13'hcce: q = 8'h95; // 0xcce + 13'hccf: q = 8'h34; // 0xccf + 13'hcd0: q = 8'ha9; // 0xcd0 + 13'hcd1: q = 8'h28; // 0xcd1 + 13'hcd2: q = 8'h85; // 0xcd2 + 13'hcd3: q = 8'h42; // 0xcd3 + 13'hcd4: q = 8'ha5; // 0xcd4 + 13'hcd5: q = 8'h86; // 0xcd5 + 13'hcd6: q = 8'h30; // 0xcd6 + 13'hcd7: q = 8'h04; // 0xcd7 + 13'hcd8: q = 8'ha9; // 0xcd8 + 13'hcd9: q = 8'h13; // 0xcd9 + 13'hcda: q = 8'h85; // 0xcda + 13'hcdb: q = 8'hb7; // 0xcdb + 13'hcdc: q = 8'ha9; // 0xcdc + 13'hcdd: q = 8'h00; // 0xcdd + 13'hcde: q = 8'h85; // 0xcde + 13'hcdf: q = 8'hb2; // 0xcdf + 13'hce0: q = 8'h85; // 0xce0 + 13'hce1: q = 8'hb3; // 0xce1 + 13'hce2: q = 8'h85; // 0xce2 + 13'hce3: q = 8'hb4; // 0xce3 + 13'hce4: q = 8'h85; // 0xce4 + 13'hce5: q = 8'hb5; // 0xce5 + 13'hce6: q = 8'h85; // 0xce6 + 13'hce7: q = 8'hb8; // 0xce7 + 13'hce8: q = 8'h18; // 0xce8 + 13'hce9: q = 8'h60; // 0xce9 + 13'hcea: q = 8'hc9; // 0xcea + 13'hceb: q = 8'h0e; // 0xceb + 13'hcec: q = 8'h4c; // 0xcec + 13'hced: q = 8'hc2; // 0xced + 13'hcee: q = 8'h2c; // 0xcee + 13'hcef: q = 8'ha0; // 0xcef + 13'hcf0: q = 8'h00; // 0xcf0 + 13'hcf1: q = 8'ha5; // 0xcf1 + 13'hcf2: q = 8'h00; // 0xcf2 + 13'hcf3: q = 8'h29; // 0xcf3 + 13'hcf4: q = 8'h07; // 0xcf4 + 13'hcf5: q = 8'hd0; // 0xcf5 + 13'hcf6: q = 8'h14; // 0xcf6 + 13'hcf7: q = 8'ha5; // 0xcf7 + 13'hcf8: q = 8'hb7; // 0xcf8 + 13'hcf9: q = 8'hd0; // 0xcf9 + 13'hcfa: q = 8'h10; // 0xcfa + 13'hcfb: q = 8'ha5; // 0xcfb + 13'hcfc: q = 8'hdb; // 0xcfc + 13'hcfd: q = 8'hf0; // 0xcfd + 13'hcfe: q = 8'h0c; // 0xcfe + 13'hcff: q = 8'hc9; // 0xcff + 13'hd00: q = 8'h07; // 0xd00 + 13'hd01: q = 8'hd0; // 0xd01 + 13'hd02: q = 8'h09; // 0xd02 + 13'hd03: q = 8'ha5; // 0xd03 + 13'hd04: q = 8'hda; // 0xd04 + 13'hd05: q = 8'hc9; // 0xd05 + 13'hd06: q = 8'hc0; // 0xd06 + 13'hd07: q = 8'h90; // 0xd07 + 13'hd08: q = 8'h03; // 0xd08 + 13'hd09: q = 8'h84; // 0xd09 + 13'hd0a: q = 8'hdb; // 0xd0a + 13'hd0b: q = 8'h60; // 0xd0b + 13'hd0c: q = 8'hb1; // 0xd0c + 13'hd0d: q = 8'hda; // 0xd0d + 13'hd0e: q = 8'h29; // 0xd0e + 13'hd0f: q = 8'h3f; // 0xd0f + 13'hd10: q = 8'hc9; // 0xd10 + 13'hd11: q = 8'h38; // 0xd11 + 13'hd12: q = 8'h90; // 0xd12 + 13'hd13: q = 8'h40; // 0xd13 + 13'hd14: q = 8'hc9; // 0xd14 + 13'hd15: q = 8'h3f; // 0xd15 + 13'hd16: q = 8'hb0; // 0xd16 + 13'hd17: q = 8'h3c; // 0xd17 + 13'hd18: q = 8'ha9; // 0xd18 + 13'hd19: q = 8'h3f; // 0xd19 + 13'hd1a: q = 8'h45; // 0xd1a + 13'hd1b: q = 8'hef; // 0xd1b + 13'hd1c: q = 8'h91; // 0xd1c + 13'hd1d: q = 8'hda; // 0xd1d + 13'hd1e: q = 8'ha9; // 0xd1e + 13'hd1f: q = 8'h00; // 0xd1f + 13'hd20: q = 8'h85; // 0xd20 + 13'hd21: q = 8'h8b; // 0xd21 + 13'hd22: q = 8'ha9; // 0xd22 + 13'hd23: q = 8'h05; // 0xd23 + 13'hd24: q = 8'h20; // 0xd24 + 13'hd25: q = 8'hb6; // 0xd25 + 13'hd26: q = 8'h2d; // 0xd26 + 13'hd27: q = 8'ha9; // 0xd27 + 13'hd28: q = 8'hff; // 0xd28 + 13'hd29: q = 8'h85; // 0xd29 + 13'hd2a: q = 8'h3f; // 0xd2a + 13'hd2b: q = 8'ha5; // 0xd2b + 13'hd2c: q = 8'hdb; // 0xd2c + 13'hd2d: q = 8'h85; // 0xd2d + 13'hd2e: q = 8'h8b; // 0xd2e + 13'hd2f: q = 8'ha5; // 0xd2f + 13'hd30: q = 8'hda; // 0xd30 + 13'hd31: q = 8'h0a; // 0xd31 + 13'hd32: q = 8'h26; // 0xd32 + 13'hd33: q = 8'h8b; // 0xd33 + 13'hd34: q = 8'h0a; // 0xd34 + 13'hd35: q = 8'h26; // 0xd35 + 13'hd36: q = 8'h8b; // 0xd36 + 13'hd37: q = 8'h0a; // 0xd37 + 13'hd38: q = 8'h26; // 0xd38 + 13'hd39: q = 8'h8b; // 0xd39 + 13'hd3a: q = 8'h85; // 0xd3a + 13'hd3b: q = 8'h6f; // 0xd3b + 13'hd3c: q = 8'ha5; // 0xd3c + 13'hd3d: q = 8'h8b; // 0xd3d + 13'hd3e: q = 8'h29; // 0xd3e + 13'hd3f: q = 8'h1f; // 0xd3f + 13'hd40: q = 8'h49; // 0xd40 + 13'hd41: q = 8'h1f; // 0xd41 + 13'hd42: q = 8'h0a; // 0xd42 + 13'hd43: q = 8'h0a; // 0xd43 + 13'hd44: q = 8'h0a; // 0xd44 + 13'hd45: q = 8'he9; // 0xd45 + 13'hd46: q = 8'h03; // 0xd46 + 13'hd47: q = 8'h85; // 0xd47 + 13'hd48: q = 8'h5f; // 0xd48 + 13'hd49: q = 8'he6; // 0xd49 + 13'hd4a: q = 8'hda; // 0xd4a + 13'hd4b: q = 8'hd0; // 0xd4b + 13'hd4c: q = 8'h02; // 0xd4c + 13'hd4d: q = 8'he6; // 0xd4d + 13'hd4e: q = 8'hdb; // 0xd4e + 13'hd4f: q = 8'ha9; // 0xd4f + 13'hd50: q = 8'h13; // 0xd50 + 13'hd51: q = 8'h85; // 0xd51 + 13'hd52: q = 8'hb2; // 0xd52 + 13'hd53: q = 8'h60; // 0xd53 + 13'hd54: q = 8'he6; // 0xd54 + 13'hd55: q = 8'hda; // 0xd55 + 13'hd56: q = 8'hd0; // 0xd56 + 13'hd57: q = 8'ha3; // 0xd57 + 13'hd58: q = 8'he6; // 0xd58 + 13'hd59: q = 8'hdb; // 0xd59 + 13'hd5a: q = 8'hd0; // 0xd5a + 13'hd5b: q = 8'hb0; // 0xd5b + 13'hd5c: q = 8'ha9; // 0xd5c + 13'hd5d: q = 8'h07; // 0xd5d + 13'hd5e: q = 8'h20; // 0xd5e + 13'hd5f: q = 8'hd5; // 0xd5f + 13'hd60: q = 8'h37; // 0xd60 + 13'hd61: q = 8'ha0; // 0xd61 + 13'hd62: q = 8'h00; // 0xd62 + 13'hd63: q = 8'ha2; // 0xd63 + 13'hd64: q = 8'h5c; // 0xd64 + 13'hd65: q = 8'h86; // 0xd65 + 13'hd66: q = 8'h91; // 0xd66 + 13'hd67: q = 8'ha9; // 0xd67 + 13'hd68: q = 8'h05; // 0xd68 + 13'hd69: q = 8'h85; // 0xd69 + 13'hd6a: q = 8'h92; // 0xd6a + 13'hd6b: q = 8'hb9; // 0xd6b + 13'hd6c: q = 8'h04; // 0xd6c + 13'hd6d: q = 8'h00; // 0xd6d + 13'hd6e: q = 8'h84; // 0xd6e + 13'hd6f: q = 8'h8d; // 0xd6f + 13'hd70: q = 8'h38; // 0xd70 + 13'hd71: q = 8'h20; // 0xd71 + 13'hd72: q = 8'h4f; // 0xd72 + 13'hd73: q = 8'h38; // 0xd73 + 13'hd74: q = 8'ha4; // 0xd74 + 13'hd75: q = 8'h8d; // 0xd75 + 13'hd76: q = 8'hb9; // 0xd76 + 13'hd77: q = 8'h03; // 0xd77 + 13'hd78: q = 8'h00; // 0xd78 + 13'hd79: q = 8'h20; // 0xd79 + 13'hd7a: q = 8'h4f; // 0xd7a + 13'hd7b: q = 8'h38; // 0xd7b + 13'hd7c: q = 8'ha4; // 0xd7c + 13'hd7d: q = 8'h8d; // 0xd7d + 13'hd7e: q = 8'hb9; // 0xd7e + 13'hd7f: q = 8'h02; // 0xd7f + 13'hd80: q = 8'h00; // 0xd80 + 13'hd81: q = 8'h18; // 0xd81 + 13'hd82: q = 8'h20; // 0xd82 + 13'hd83: q = 8'h4f; // 0xd83 + 13'hd84: q = 8'h38; // 0xd84 + 13'hd85: q = 8'ha9; // 0xd85 + 13'hd86: q = 8'h00; // 0xd86 + 13'hd87: q = 8'h20; // 0xd87 + 13'hd88: q = 8'h36; // 0xd88 + 13'hd89: q = 8'h38; // 0xd89 + 13'hd8a: q = 8'ha4; // 0xd8a + 13'hd8b: q = 8'h8d; // 0xd8b + 13'hd8c: q = 8'h20; // 0xd8c + 13'hd8d: q = 8'h33; // 0xd8d + 13'hd8e: q = 8'h38; // 0xd8e + 13'hd8f: q = 8'he6; // 0xd8f + 13'hd90: q = 8'h8d; // 0xd90 + 13'hd91: q = 8'ha4; // 0xd91 + 13'hd92: q = 8'h8d; // 0xd92 + 13'hd93: q = 8'h20; // 0xd93 + 13'hd94: q = 8'h33; // 0xd94 + 13'hd95: q = 8'h38; // 0xd95 + 13'hd96: q = 8'he6; // 0xd96 + 13'hd97: q = 8'h8d; // 0xd97 + 13'hd98: q = 8'ha4; // 0xd98 + 13'hd99: q = 8'h8d; // 0xd99 + 13'hd9a: q = 8'h20; // 0xd9a + 13'hd9b: q = 8'h33; // 0xd9b + 13'hd9c: q = 8'h38; // 0xd9c + 13'hd9d: q = 8'ha5; // 0xd9d + 13'hd9e: q = 8'h91; // 0xd9e + 13'hd9f: q = 8'h29; // 0xd9f + 13'hda0: q = 8'h1f; // 0xda0 + 13'hda1: q = 8'h09; // 0xda1 + 13'hda2: q = 8'h40; // 0xda2 + 13'hda3: q = 8'haa; // 0xda3 + 13'hda4: q = 8'hca; // 0xda4 + 13'hda5: q = 8'ha4; // 0xda5 + 13'hda6: q = 8'h8d; // 0xda6 + 13'hda7: q = 8'hc8; // 0xda7 + 13'hda8: q = 8'hc0; // 0xda8 + 13'hda9: q = 8'h18; // 0xda9 + 13'hdaa: q = 8'h90; // 0xdaa + 13'hdab: q = 8'hb9; // 0xdab + 13'hdac: q = 8'h60; // 0xdac + 13'hdad: q = 8'h5f; // 0xdad + 13'hdae: q = 8'h86; // 0xdae + 13'hdaf: q = 8'h8d; // 0xdaf + 13'hdb0: q = 8'ha6; // 0xdb0 + 13'hdb1: q = 8'h88; // 0xdb1 + 13'hdb2: q = 8'hd6; // 0xdb2 + 13'hdb3: q = 8'h94; // 0xdb3 + 13'hdb4: q = 8'ha6; // 0xdb4 + 13'hdb5: q = 8'h8d; // 0xdb5 + 13'hdb6: q = 8'ha4; // 0xdb6 + 13'hdb7: q = 8'h86; // 0xdb7 + 13'hdb8: q = 8'h30; // 0xdb8 + 13'hdb9: q = 8'h50; // 0xdb9 + 13'hdba: q = 8'h86; // 0xdba + 13'hdbb: q = 8'h8d; // 0xdbb + 13'hdbc: q = 8'hf8; // 0xdbc + 13'hdbd: q = 8'ha6; // 0xdbd + 13'hdbe: q = 8'h88; // 0xdbe + 13'hdbf: q = 8'h18; // 0xdbf + 13'hdc0: q = 8'h75; // 0xdc0 + 13'hdc1: q = 8'ha7; // 0xdc1 + 13'hdc2: q = 8'h95; // 0xdc2 + 13'hdc3: q = 8'ha7; // 0xdc3 + 13'hdc4: q = 8'hb5; // 0xdc4 + 13'hdc5: q = 8'ha9; // 0xdc5 + 13'hdc6: q = 8'h65; // 0xdc6 + 13'hdc7: q = 8'h8b; // 0xdc7 + 13'hdc8: q = 8'h95; // 0xdc8 + 13'hdc9: q = 8'ha9; // 0xdc9 + 13'hdca: q = 8'h90; // 0xdca + 13'hdcb: q = 8'h0d; // 0xdcb + 13'hdcc: q = 8'hb5; // 0xdcc + 13'hdcd: q = 8'ha1; // 0xdcd + 13'hdce: q = 8'he9; // 0xdce + 13'hdcf: q = 8'h02; // 0xdcf + 13'hdd0: q = 8'h95; // 0xdd0 + 13'hdd1: q = 8'ha1; // 0xdd1 + 13'hdd2: q = 8'hb5; // 0xdd2 + 13'hdd3: q = 8'hab; // 0xdd3 + 13'hdd4: q = 8'h18; // 0xdd4 + 13'hdd5: q = 8'h69; // 0xdd5 + 13'hdd6: q = 8'h01; // 0xdd6 + 13'hdd7: q = 8'h95; // 0xdd7 + 13'hdd8: q = 8'hab; // 0xdd8 + 13'hdd9: q = 8'hd8; // 0xdd9 + 13'hdda: q = 8'ha6; // 0xdda + 13'hddb: q = 8'h88; // 0xddb + 13'hddc: q = 8'hb5; // 0xddc + 13'hddd: q = 8'ha9; // 0xddd + 13'hdde: q = 8'hd5; // 0xdde + 13'hddf: q = 8'had; // 0xddf + 13'hde0: q = 8'hb5; // 0xde0 + 13'hde1: q = 8'hab; // 0xde1 + 13'hde2: q = 8'hf5; // 0xde2 + 13'hde3: q = 8'haf; // 0xde3 + 13'hde4: q = 8'h90; // 0xde4 + 13'hde5: q = 8'h22; // 0xde5 + 13'hde6: q = 8'h20; // 0xde6 + 13'hde7: q = 8'hb3; // 0xde7 + 13'hde8: q = 8'h21; // 0xde8 + 13'hde9: q = 8'hf8; // 0xde9 + 13'hdea: q = 8'h18; // 0xdea + 13'hdeb: q = 8'h75; // 0xdeb + 13'hdec: q = 8'had; // 0xdec + 13'hded: q = 8'h95; // 0xded + 13'hdee: q = 8'had; // 0xdee + 13'hdef: q = 8'hb9; // 0xdef + 13'hdf0: q = 8'hc0; // 0xdf0 + 13'hdf1: q = 8'h21; // 0xdf1 + 13'hdf2: q = 8'h75; // 0xdf2 + 13'hdf3: q = 8'haf; // 0xdf3 + 13'hdf4: q = 8'h95; // 0xdf4 + 13'hdf5: q = 8'haf; // 0xdf5 + 13'hdf6: q = 8'hd8; // 0xdf6 + 13'hdf7: q = 8'hb5; // 0xdf7 + 13'hdf8: q = 8'ha4; // 0xdf8 + 13'hdf9: q = 8'hc9; // 0xdf9 + 13'hdfa: q = 8'h06; // 0xdfa + 13'hdfb: q = 8'hf0; // 0xdfb + 13'hdfc: q = 8'h0b; // 0xdfc + 13'hdfd: q = 8'hb0; // 0xdfd + 13'hdfe: q = 8'hfe; // 0xdfe + 13'hdff: q = 8'hf6; // 0xdff + 13'he00: q = 8'ha4; // 0xe00 + 13'he01: q = 8'ha9; // 0xe01 + 13'he02: q = 8'h11; // 0xe02 + 13'he03: q = 8'h85; // 0xe03 + 13'he04: q = 8'hb6; // 0xe04 + 13'he05: q = 8'h20; // 0xe05 + 13'he06: q = 8'hb8; // 0xe06 + 13'he07: q = 8'h26; // 0xe07 + 13'he08: q = 8'ha6; // 0xe08 + 13'he09: q = 8'h8d; // 0xe09 + 13'he0a: q = 8'h60; // 0xe0a + 13'he0b: q = 8'ha5; // 0xe0b + 13'he0c: q = 8'h40; // 0xe0c + 13'he0d: q = 8'h45; // 0xe0d + 13'he0e: q = 8'hef; // 0xe0e + 13'he0f: q = 8'hc9; // 0xe0f + 13'he10: q = 8'h34; // 0xe10 + 13'he11: q = 8'h90; // 0xe11 + 13'he12: q = 8'h03; // 0xe12 + 13'he13: q = 8'h4c; // 0xe13 + 13'he14: q = 8'h94; // 0xe14 + 13'he15: q = 8'h2e; // 0xe15 + 13'he16: q = 8'hc9; // 0xe16 + 13'he17: q = 8'h30; // 0xe17 + 13'he18: q = 8'hb0; // 0xe18 + 13'he19: q = 8'h5d; // 0xe19 + 13'he1a: q = 8'ha5; // 0xe1a + 13'he1b: q = 8'h70; // 0xe1b + 13'he1c: q = 8'h45; // 0xe1c + 13'he1d: q = 8'hf0; // 0xe1d + 13'he1e: q = 8'hc9; // 0xe1e + 13'he1f: q = 8'hf8; // 0xe1f + 13'he20: q = 8'h90; // 0xe20 + 13'he21: q = 8'h04; // 0xe21 + 13'he22: q = 8'ha5; // 0xe22 + 13'he23: q = 8'h00; // 0xe23 + 13'he24: q = 8'hf0; // 0xe24 + 13'he25: q = 8'h03; // 0xe25 + 13'he26: q = 8'h4c; // 0xe26 + 13'he27: q = 8'hc5; // 0xe27 + 13'he28: q = 8'h2e; // 0xe28 + 13'he29: q = 8'ha6; // 0xe29 + 13'he2a: q = 8'h88; // 0xe2a + 13'he2b: q = 8'hb5; // 0xe2b + 13'he2c: q = 8'h9a; // 0xe2c + 13'he2d: q = 8'hc9; // 0xe2d + 13'he2e: q = 8'h0b; // 0xe2e + 13'he2f: q = 8'hb0; // 0xe2f + 13'he30: q = 8'hf5; // 0xe30 + 13'he31: q = 8'had; // 0xe31 + 13'he32: q = 8'h0a; // 0xe32 + 13'he33: q = 8'h10; // 0xe33 + 13'he34: q = 8'h29; // 0xe34 + 13'he35: q = 8'h03; // 0xe35 + 13'he36: q = 8'hd0; // 0xe36 + 13'he37: q = 8'hee; // 0xe37 + 13'he38: q = 8'ha9; // 0xe38 + 13'he39: q = 8'h14; // 0xe39 + 13'he3a: q = 8'h85; // 0xe3a + 13'he3b: q = 8'hb8; // 0xe3b + 13'he3c: q = 8'ha9; // 0xe3c + 13'he3d: q = 8'h30; // 0xe3d + 13'he3e: q = 8'h45; // 0xe3e + 13'he3f: q = 8'hef; // 0xe3f + 13'he40: q = 8'h85; // 0xe40 + 13'he41: q = 8'h40; // 0xe41 + 13'he42: q = 8'hb5; // 0xe42 + 13'he43: q = 8'hab; // 0xe43 + 13'he44: q = 8'hc9; // 0xe44 + 13'he45: q = 8'h02; // 0xe45 + 13'he46: q = 8'h90; // 0xe46 + 13'he47: q = 8'h12; // 0xe47 + 13'he48: q = 8'had; // 0xe48 + 13'he49: q = 8'h0a; // 0xe49 + 13'he4a: q = 8'h10; // 0xe4a + 13'he4b: q = 8'h29; // 0xe4b + 13'he4c: q = 8'h03; // 0xe4c + 13'he4d: q = 8'hf0; // 0xe4d + 13'he4e: q = 8'h0b; // 0xe4e + 13'he4f: q = 8'ha9; // 0xe4f + 13'he50: q = 8'h02; // 0xe50 + 13'he51: q = 8'h2c; // 0xe51 + 13'he52: q = 8'h0a; // 0xe52 + 13'he53: q = 8'h10; // 0xe53 + 13'he54: q = 8'h10; // 0xe54 + 13'he55: q = 8'h0d; // 0xe55 + 13'he56: q = 8'ha9; // 0xe56 + 13'he57: q = 8'hfe; // 0xe57 + 13'he58: q = 8'hd0; // 0xe58 + 13'he59: q = 8'h09; // 0xe59 + 13'he5a: q = 8'ha9; // 0xe5a + 13'he5b: q = 8'h01; // 0xe5b + 13'he5c: q = 8'h2c; // 0xe5c + 13'he5d: q = 8'h0a; // 0xe5d + 13'he5e: q = 8'h10; // 0xe5e + 13'he5f: q = 8'h10; // 0xe5f + 13'he60: q = 8'h02; // 0xe60 + 13'he61: q = 8'ha9; // 0xe61 + 13'he62: q = 8'hff; // 0xe62 + 13'he63: q = 8'h85; // 0xe63 + 13'he64: q = 8'h50; // 0xe64 + 13'he65: q = 8'ha9; // 0xe65 + 13'he66: q = 8'h00; // 0xe66 + 13'he67: q = 8'h85; // 0xe67 + 13'he68: q = 8'h60; // 0xe68 + 13'he69: q = 8'h85; // 0xe69 + 13'he6a: q = 8'h80; // 0xe6a + 13'he6b: q = 8'had; // 0xe6b + 13'he6c: q = 8'h0a; // 0xe6c + 13'he6d: q = 8'h10; // 0xe6d + 13'he6e: q = 8'h29; // 0xe6e + 13'he6f: q = 8'h78; // 0xe6f + 13'he70: q = 8'h18; // 0xe70 + 13'he71: q = 8'h69; // 0xe71 + 13'he72: q = 8'h70; // 0xe72 + 13'he73: q = 8'h45; // 0xe73 + 13'he74: q = 8'hf0; // 0xe74 + 13'he75: q = 8'h85; // 0xe75 + 13'he76: q = 8'h70; // 0xe76 + 13'he77: q = 8'ha5; // 0xe77 + 13'he78: q = 8'h43; // 0xe78 + 13'he79: q = 8'h29; // 0xe79 + 13'he7a: q = 8'haf; // 0xe7a + 13'he7b: q = 8'hd0; // 0xe7b + 13'he7c: q = 8'h1d; // 0xe7c + 13'he7d: q = 8'ha5; // 0xe7d + 13'he7e: q = 8'h60; // 0xe7e + 13'he7f: q = 8'ha4; // 0xe7f + 13'he80: q = 8'hef; // 0xe80 + 13'he81: q = 8'hf0; // 0xe81 + 13'he82: q = 8'h06; // 0xe82 + 13'he83: q = 8'h38; // 0xe83 + 13'he84: q = 8'he5; // 0xe84 + 13'he85: q = 8'h50; // 0xe85 + 13'he86: q = 8'h4c; // 0xe86 + 13'he87: q = 8'h8c; // 0xe87 + 13'he88: q = 8'h2e; // 0xe88 + 13'he89: q = 8'h18; // 0xe89 + 13'he8a: q = 8'h65; // 0xe8a + 13'he8b: q = 8'h50; // 0xe8b + 13'he8c: q = 8'h85; // 0xe8c + 13'he8d: q = 8'h60; // 0xe8d + 13'he8e: q = 8'h85; // 0xe8e + 13'he8f: q = 8'h8b; // 0xe8f + 13'he90: q = 8'hd0; // 0xe90 + 13'he91: q = 8'h0b; // 0xe91 + 13'he92: q = 8'hf0; // 0xe92 + 13'he93: q = 8'h06; // 0xe93 + 13'he94: q = 8'h45; // 0xe94 + 13'he95: q = 8'hef; // 0xe95 + 13'he96: q = 8'hc9; // 0xe96 + 13'he97: q = 8'hfa; // 0xe97 + 13'he98: q = 8'hb0; // 0xe98 + 13'he99: q = 8'h2b; // 0xe99 + 13'he9a: q = 8'h4c; // 0xe9a + 13'he9b: q = 8'he8; // 0xe9b + 13'he9c: q = 8'h20; // 0xe9c + 13'he9d: q = 8'ha5; // 0xe9d + 13'he9e: q = 8'h00; // 0xe9e + 13'he9f: q = 8'h29; // 0xe9f + 13'hea0: q = 8'h03; // 0xea0 + 13'hea1: q = 8'hd0; // 0xea1 + 13'hea2: q = 8'h0d; // 0xea2 + 13'hea3: q = 8'ha5; // 0xea3 + 13'hea4: q = 8'h40; // 0xea4 + 13'hea5: q = 8'h18; // 0xea5 + 13'hea6: q = 8'h69; // 0xea6 + 13'hea7: q = 8'h01; // 0xea7 + 13'hea8: q = 8'h29; // 0xea8 + 13'hea9: q = 8'h03; // 0xea9 + 13'heaa: q = 8'h09; // 0xeaa + 13'heab: q = 8'h30; // 0xeab + 13'heac: q = 8'h45; // 0xeac + 13'head: q = 8'hef; // 0xead + 13'heae: q = 8'h85; // 0xeae + 13'heaf: q = 8'h40; // 0xeaf + 13'heb0: q = 8'ha0; // 0xeb0 + 13'heb1: q = 8'h00; // 0xeb1 + 13'heb2: q = 8'ha5; // 0xeb2 + 13'heb3: q = 8'h70; // 0xeb3 + 13'heb4: q = 8'h20; // 0xeb4 + 13'heb5: q = 8'h2b; // 0xeb5 + 13'heb6: q = 8'h2c; // 0xeb6 + 13'heb7: q = 8'hc9; // 0xeb7 + 13'heb8: q = 8'h40; // 0xeb8 + 13'heb9: q = 8'hb0; // 0xeb9 + 13'heba: q = 8'h0a; // 0xeba + 13'hebb: q = 8'hc9; // 0xebb + 13'hebc: q = 8'h3c; // 0xebc + 13'hebd: q = 8'h90; // 0xebd + 13'hebe: q = 8'h06; // 0xebe + 13'hebf: q = 8'h29; // 0xebf + 13'hec0: q = 8'hfb; // 0xec0 + 13'hec1: q = 8'h45; // 0xec1 + 13'hec2: q = 8'hef; // 0xec2 + 13'hec3: q = 8'h91; // 0xec3 + 13'hec4: q = 8'h32; // 0xec4 + 13'hec5: q = 8'h60; // 0xec5 + 13'hec6: q = 8'ha5; // 0xec6 + 13'hec7: q = 8'h72; // 0xec7 + 13'hec8: q = 8'ha4; // 0xec8 + 13'hec9: q = 8'hef; // 0xec9 + 13'heca: q = 8'hf0; // 0xeca + 13'hecb: q = 8'h05; // 0xecb + 13'hecc: q = 8'h18; // 0xecc + 13'hecd: q = 8'h69; // 0xecd + 13'hece: q = 8'h07; // 0xece + 13'hecf: q = 8'h49; // 0xecf + 13'hed0: q = 8'hff; // 0xed0 + 13'hed1: q = 8'hc9; // 0xed1 + 13'hed2: q = 8'hf3; // 0xed2 + 13'hed3: q = 8'hb0; // 0xed3 + 13'hed4: q = 8'h75; // 0xed4 + 13'hed5: q = 8'ha9; // 0xed5 + 13'hed6: q = 8'h04; // 0xed6 + 13'hed7: q = 8'h45; // 0xed7 + 13'hed8: q = 8'hf0; // 0xed8 + 13'hed9: q = 8'h18; // 0xed9 + 13'heda: q = 8'h65; // 0xeda + 13'hedb: q = 8'h73; // 0xedb + 13'hedc: q = 8'hc5; // 0xedc + 13'hedd: q = 8'h72; // 0xedd + 13'hede: q = 8'hd0; // 0xede + 13'hedf: q = 8'h25; // 0xedf + 13'hee0: q = 8'ha5; // 0xee0 + 13'hee1: q = 8'h43; // 0xee1 + 13'hee2: q = 8'h29; // 0xee2 + 13'hee3: q = 8'haf; // 0xee3 + 13'hee4: q = 8'hd0; // 0xee4 + 13'hee5: q = 8'h18; // 0xee5 + 13'hee6: q = 8'had; // 0xee6 + 13'hee7: q = 8'h01; // 0xee7 + 13'hee8: q = 8'h0c; // 0xee8 + 13'hee9: q = 8'ha6; // 0xee9 + 13'heea: q = 8'h86; // 0xeea + 13'heeb: q = 8'h10; // 0xeeb + 13'heec: q = 8'h03; // 0xeec + 13'heed: q = 8'had; // 0xeed + 13'heee: q = 8'h0a; // 0xeee + 13'heef: q = 8'h10; // 0xeef + 13'hef0: q = 8'hc0; // 0xef0 + 13'hef1: q = 8'hc0; // 0xef1 + 13'hef2: q = 8'hd0; // 0xef2 + 13'hef3: q = 8'h06; // 0xef3 + 13'hef4: q = 8'h29; // 0xef4 + 13'hef5: q = 8'h08; // 0xef5 + 13'hef6: q = 8'hf0; // 0xef6 + 13'hef7: q = 8'h09; // 0xef7 + 13'hef8: q = 8'hd0; // 0xef8 + 13'hef9: q = 8'h04; // 0xef9 + 13'hefa: q = 8'h29; // 0xefa + 13'hefb: q = 8'h04; // 0xefb + 13'hefc: q = 8'hf0; // 0xefc + 13'hefd: q = 8'h03; // 0xefd + 13'hefe: q = 8'h4c; // 0xefe + 13'heff: q = 8'h49; // 0xeff + 13'hf00: q = 8'h30; // 0xf00 + 13'hf01: q = 8'ha9; // 0xf01 + 13'hf02: q = 8'h0b; // 0xf02 + 13'hf03: q = 8'h85; // 0xf03 + 13'hf04: q = 8'hb4; // 0xf04 + 13'hf05: q = 8'ha5; // 0xf05 + 13'hf06: q = 8'h62; // 0xf06 + 13'hf07: q = 8'h85; // 0xf07 + 13'hf08: q = 8'h8b; // 0xf08 + 13'hf09: q = 8'ha9; // 0xf09 + 13'hf0a: q = 8'h07; // 0xf0a + 13'hf0b: q = 8'h45; // 0xf0b + 13'hf0c: q = 8'hf4; // 0xf0c + 13'hf0d: q = 8'ha4; // 0xf0d + 13'hf0e: q = 8'h72; // 0xf0e + 13'hf0f: q = 8'h18; // 0xf0f + 13'hf10: q = 8'h65; // 0xf10 + 13'hf11: q = 8'h72; // 0xf11 + 13'hf12: q = 8'h85; // 0xf12 + 13'hf13: q = 8'h72; // 0xf13 + 13'hf14: q = 8'h84; // 0xf14 + 13'hf15: q = 8'h8d; // 0xf15 + 13'hf16: q = 8'ha9; // 0xf16 + 13'hf17: q = 8'h01; // 0xf17 + 13'hf18: q = 8'h45; // 0xf18 + 13'hf19: q = 8'hf3; // 0xf19 + 13'hf1a: q = 8'h18; // 0xf1a + 13'hf1b: q = 8'h65; // 0xf1b + 13'hf1c: q = 8'h8d; // 0xf1c + 13'hf1d: q = 8'ha0; // 0xf1d + 13'hf1e: q = 8'h00; // 0xf1e + 13'hf1f: q = 8'h20; // 0xf1f + 13'hf20: q = 8'h2b; // 0xf20 + 13'hf21: q = 8'h2c; // 0xf21 + 13'hf22: q = 8'hf0; // 0xf22 + 13'hf23: q = 8'h29; // 0xf23 + 13'hf24: q = 8'h29; // 0xf24 + 13'hf25: q = 8'h3f; // 0xf25 + 13'hf26: q = 8'hc9; // 0xf26 + 13'hf27: q = 8'h38; // 0xf27 + 13'hf28: q = 8'h90; // 0xf28 + 13'hf29: q = 8'h20; // 0xf29 + 13'hf2a: q = 8'he9; // 0xf2a + 13'hf2b: q = 8'h01; // 0xf2b + 13'hf2c: q = 8'hc9; // 0xf2c + 13'hf2d: q = 8'h3b; // 0xf2d + 13'hf2e: q = 8'hf0; // 0xf2e + 13'hf2f: q = 8'h04; // 0xf2f + 13'hf30: q = 8'hc9; // 0xf30 + 13'hf31: q = 8'h37; // 0xf31 + 13'hf32: q = 8'hd0; // 0xf32 + 13'hf33: q = 8'h0d; // 0xf33 + 13'hf34: q = 8'ha9; // 0xf34 + 13'hf35: q = 8'h00; // 0xf35 + 13'hf36: q = 8'h85; // 0xf36 + 13'hf37: q = 8'h8b; // 0xf37 + 13'hf38: q = 8'ha9; // 0xf38 + 13'hf39: q = 8'h01; // 0xf39 + 13'hf3a: q = 8'h20; // 0xf3a + 13'hf3b: q = 8'hb6; // 0xf3b + 13'hf3c: q = 8'h2d; // 0xf3c + 13'hf3d: q = 8'ha0; // 0xf3d + 13'hf3e: q = 8'h00; // 0xf3e + 13'hf3f: q = 8'ha5; // 0xf3f + 13'hf40: q = 8'hef; // 0xf40 + 13'hf41: q = 8'h45; // 0xf41 + 13'hf42: q = 8'hef; // 0xf42 + 13'hf43: q = 8'h91; // 0xf43 + 13'hf44: q = 8'h32; // 0xf44 + 13'hf45: q = 8'hd0; // 0xf45 + 13'hf46: q = 8'h03; // 0xf46 + 13'hf47: q = 8'h20; // 0xf47 + 13'hf48: q = 8'h91; // 0xf48 + 13'hf49: q = 8'h2b; // 0xf49 + 13'hf4a: q = 8'h4c; // 0xf4a + 13'hf4b: q = 8'h46; // 0xf4b + 13'hf4c: q = 8'h30; // 0xf4c + 13'hf4d: q = 8'ha2; // 0xf4d + 13'hf4e: q = 8'h0d; // 0xf4e + 13'hf4f: q = 8'hb5; // 0xf4f + 13'hf50: q = 8'h34; // 0xf50 + 13'hf51: q = 8'hc9; // 0xf51 + 13'hf52: q = 8'h76; // 0xf52 + 13'hf53: q = 8'h90; // 0xf53 + 13'hf54: q = 8'h08; // 0xf54 + 13'hf55: q = 8'hc9; // 0xf55 + 13'hf56: q = 8'hb9; // 0xf56 + 13'hf57: q = 8'h90; // 0xf57 + 13'hf58: q = 8'h69; // 0xf58 + 13'hf59: q = 8'hc9; // 0xf59 + 13'hf5a: q = 8'hf8; // 0xf5a + 13'hf5b: q = 8'hb0; // 0xf5b + 13'hf5c: q = 8'h65; // 0xf5c + 13'hf5d: q = 8'hb5; // 0xf5d + 13'hf5e: q = 8'h64; // 0xf5e + 13'hf5f: q = 8'h45; // 0xf5f + 13'hf60: q = 8'hf0; // 0xf60 + 13'hf61: q = 8'hc9; // 0xf61 + 13'hf62: q = 8'hf8; // 0xf62 + 13'hf63: q = 8'hb0; // 0xf63 + 13'hf64: q = 8'h5d; // 0xf64 + 13'hf65: q = 8'h45; // 0xf65 + 13'hf66: q = 8'hf0; // 0xf66 + 13'hf67: q = 8'h38; // 0xf67 + 13'hf68: q = 8'he5; // 0xf68 + 13'hf69: q = 8'h72; // 0xf69 + 13'hf6a: q = 8'h20; // 0xf6a + 13'hf6b: q = 8'h2b; // 0xf6b + 13'hf6c: q = 8'h38; // 0xf6c + 13'hf6d: q = 8'ha8; // 0xf6d + 13'hf6e: q = 8'he0; // 0xf6e + 13'hf6f: q = 8'h0c; // 0xf6f + 13'hf70: q = 8'hd0; // 0xf70 + 13'hf71: q = 8'h16; // 0xf71 + 13'hf72: q = 8'hb5; // 0xf72 + 13'hf73: q = 8'h34; // 0xf73 + 13'hf74: q = 8'h45; // 0xf74 + 13'hf75: q = 8'hef; // 0xf75 + 13'hf76: q = 8'hc9; // 0xf76 + 13'hf77: q = 8'h20; // 0xf77 + 13'hf78: q = 8'hb0; // 0xf78 + 13'hf79: q = 8'h0e; // 0xf79 + 13'hf7a: q = 8'ha5; // 0xf7a + 13'hf7b: q = 8'h80; // 0xf7b + 13'hf7c: q = 8'h45; // 0xf7c + 13'hf7d: q = 8'hf0; // 0xf7d + 13'hf7e: q = 8'hc9; // 0xf7e + 13'hf7f: q = 8'h04; // 0xf7f + 13'hf80: q = 8'h90; // 0xf80 + 13'hf81: q = 8'h06; // 0xf81 + 13'hf82: q = 8'hc0; // 0xf82 + 13'hf83: q = 8'h07; // 0xf83 + 13'hf84: q = 8'hb0; // 0xf84 + 13'hf85: q = 8'h3c; // 0xf85 + 13'hf86: q = 8'h90; // 0xf86 + 13'hf87: q = 8'h04; // 0xf87 + 13'hf88: q = 8'hc0; // 0xf88 + 13'hf89: q = 8'h05; // 0xf89 + 13'hf8a: q = 8'hb0; // 0xf8a + 13'hf8b: q = 8'h36; // 0xf8b + 13'hf8c: q = 8'hb5; // 0xf8c + 13'hf8d: q = 8'h54; // 0xf8d + 13'hf8e: q = 8'h38; // 0xf8e + 13'hf8f: q = 8'he5; // 0xf8f + 13'hf90: q = 8'h62; // 0xf90 + 13'hf91: q = 8'h20; // 0xf91 + 13'hf92: q = 8'h2b; // 0xf92 + 13'hf93: q = 8'h38; // 0xf93 + 13'hf94: q = 8'ha8; // 0xf94 + 13'hf95: q = 8'he0; // 0xf95 + 13'hf96: q = 8'h0d; // 0xf96 + 13'hf97: q = 8'hf0; // 0xf97 + 13'hf98: q = 8'h25; // 0xf98 + 13'hf99: q = 8'he0; // 0xf99 + 13'hf9a: q = 8'h0c; // 0xf9a + 13'hf9b: q = 8'h90; // 0xf9b + 13'hf9c: q = 8'h60; // 0xf9c + 13'hf9d: q = 8'hb5; // 0xf9d + 13'hf9e: q = 8'h34; // 0xf9e + 13'hf9f: q = 8'h45; // 0xf9f + 13'hfa0: q = 8'hef; // 0xfa0 + 13'hfa1: q = 8'hc9; // 0xfa1 + 13'hfa2: q = 8'h20; // 0xfa2 + 13'hfa3: q = 8'hb0; // 0xfa3 + 13'hfa4: q = 8'h10; // 0xfa4 + 13'hfa5: q = 8'hc0; // 0xfa5 + 13'hfa6: q = 8'h06; // 0xfa6 + 13'hfa7: q = 8'hb0; // 0xfa7 + 13'hfa8: q = 8'h19; // 0xfa8 + 13'hfa9: q = 8'ha0; // 0xfa9 + 13'hfaa: q = 8'h02; // 0xfaa + 13'hfab: q = 8'ha9; // 0xfab + 13'hfac: q = 8'h04; // 0xfac + 13'hfad: q = 8'hc5; // 0xfad + 13'hfae: q = 8'h80; // 0xfae + 13'hfaf: q = 8'hf0; // 0xfaf + 13'hfb0: q = 8'h0a; // 0xfb0 + 13'hfb1: q = 8'h85; // 0xfb1 + 13'hfb2: q = 8'h80; // 0xfb2 + 13'hfb3: q = 8'hd0; // 0xfb3 + 13'hfb4: q = 8'h95; // 0xfb4 + 13'hfb5: q = 8'hc0; // 0xfb5 + 13'hfb6: q = 8'h0a; // 0xfb6 + 13'hfb7: q = 8'hb0; // 0xfb7 + 13'hfb8: q = 8'h09; // 0xfb8 + 13'hfb9: q = 8'ha0; // 0xfb9 + 13'hfba: q = 8'h10; // 0xfba + 13'hfbb: q = 8'h4c; // 0xfbb + 13'hfbc: q = 8'h37; // 0xfbc + 13'hfbd: q = 8'h30; // 0xfbd + 13'hfbe: q = 8'hc0; // 0xfbe + 13'hfbf: q = 8'h0a; // 0xfbf + 13'hfc0: q = 8'h90; // 0xfc0 + 13'hfc1: q = 8'h03; // 0xfc1 + 13'hfc2: q = 8'h4c; // 0xfc2 + 13'hfc3: q = 8'h31; // 0xfc3 + 13'hfc4: q = 8'h30; // 0xfc4 + 13'hfc5: q = 8'ha0; // 0xfc5 + 13'hfc6: q = 8'hb6; // 0xfc6 + 13'hfc7: q = 8'h84; // 0xfc7 + 13'hfc8: q = 8'hd7; // 0xfc8 + 13'hfc9: q = 8'ha0; // 0xfc9 + 13'hfca: q = 8'h03; // 0xfca + 13'hfcb: q = 8'ha5; // 0xfcb + 13'hfcc: q = 8'h71; // 0xfcc + 13'hfcd: q = 8'h38; // 0xfcd + 13'hfce: q = 8'he5; // 0xfce + 13'hfcf: q = 8'h73; // 0xfcf + 13'hfd0: q = 8'h20; // 0xfd0 + 13'hfd1: q = 8'h2b; // 0xfd1 + 13'hfd2: q = 8'h38; // 0xfd2 + 13'hfd3: q = 8'hc9; // 0xfd3 + 13'hfd4: q = 8'h40; // 0xfd4 + 13'hfd5: q = 8'hb0; // 0xfd5 + 13'hfd6: q = 8'h0c; // 0xfd6 + 13'hfd7: q = 8'he6; // 0xfd7 + 13'hfd8: q = 8'hd7; // 0xfd8 + 13'hfd9: q = 8'ha0; // 0xfd9 + 13'hfda: q = 8'h09; // 0xfda + 13'hfdb: q = 8'hc9; // 0xfdb + 13'hfdc: q = 8'h16; // 0xfdc + 13'hfdd: q = 8'h90; // 0xfdd + 13'hfde: q = 8'h04; // 0xfde + 13'hfdf: q = 8'he6; // 0xfdf + 13'hfe0: q = 8'hd7; // 0xfe0 + 13'hfe1: q = 8'ha0; // 0xfe1 + 13'hfe2: q = 8'h06; // 0xfe2 + 13'hfe3: q = 8'ha9; // 0xfe3 + 13'hfe4: q = 8'h80; // 0xfe4 + 13'hfe5: q = 8'h85; // 0xfe5 + 13'hfe6: q = 8'h9f; // 0xfe6 + 13'hfe7: q = 8'h85; // 0xfe7 + 13'hfe8: q = 8'ha1; // 0xfe8 + 13'hfe9: q = 8'ha9; // 0xfe9 + 13'hfea: q = 8'h00; // 0xfea + 13'hfeb: q = 8'h85; // 0xfeb + 13'hfec: q = 8'hb5; // 0xfec + 13'hfed: q = 8'ha9; // 0xfed + 13'hfee: q = 8'hf0; // 0xfee + 13'hfef: q = 8'hc5; // 0xfef + 13'hff0: q = 8'h61; // 0xff0 + 13'hff1: q = 8'h90; // 0xff1 + 13'hff2: q = 8'h06; // 0xff2 + 13'hff3: q = 8'ha9; // 0xff3 + 13'hff4: q = 8'h10; // 0xff4 + 13'hff5: q = 8'hc5; // 0xff5 + 13'hff6: q = 8'h61; // 0xff6 + 13'hff7: q = 8'h90; // 0xff7 + 13'hff8: q = 8'h3e; // 0xff8 + 13'hff9: q = 8'h85; // 0xff9 + 13'hffa: q = 8'h61; // 0xffa + 13'hffb: q = 8'hd0; // 0xffb + 13'hffc: q = 8'h3a; // 0xffc + 13'hffd: q = 8'hc0; // 0xffd + 13'hffe: q = 8'h06; // 0xffe + 13'hfff: q = 8'hb0; // 0xfff + // ../src/centiped3/136001-309.fh1 + 13'h1000: q = 8'h30; // 0x1000 + 13'h1001: q = 8'ha9; // 0x1001 + 13'h1002: q = 8'h00; // 0x1002 + 13'h1003: q = 8'h85; // 0x1003 + 13'h1004: q = 8'h8b; // 0x1004 + 13'h1005: q = 8'ha0; // 0x1005 + 13'h1006: q = 8'h10; // 0x1006 + 13'h1007: q = 8'hb5; // 0x1007 + 13'h1008: q = 8'h34; // 0x1008 + 13'h1009: q = 8'h29; // 0x1009 + 13'h100a: q = 8'h40; // 0x100a + 13'h100b: q = 8'hd0; // 0x100b + 13'h100c: q = 8'h04; // 0x100c + 13'h100d: q = 8'ha0; // 0x100d + 13'h100e: q = 8'h00; // 0x100e + 13'h100f: q = 8'he6; // 0x100f + 13'h1010: q = 8'h8b; // 0x1010 + 13'h1011: q = 8'h98; // 0x1011 + 13'h1012: q = 8'h20; // 0x1012 + 13'h1013: q = 8'hae; // 0x1013 + 13'h1014: q = 8'h2d; // 0x1014 + 13'h1015: q = 8'he0; // 0x1015 + 13'h1016: q = 8'h0b; // 0x1016 + 13'h1017: q = 8'hf0; // 0x1017 + 13'h1018: q = 8'h08; // 0x1018 + 13'h1019: q = 8'hb5; // 0x1019 + 13'h101a: q = 8'h35; // 0x101a + 13'h101b: q = 8'h30; // 0x101b + 13'h101c: q = 8'h04; // 0x101c + 13'h101d: q = 8'h29; // 0x101d + 13'h101e: q = 8'hbf; // 0x101e + 13'h101f: q = 8'h95; // 0x101f + 13'h1020: q = 8'h35; // 0x1020 + 13'h1021: q = 8'h20; // 0x1021 + 13'h1022: q = 8'h10; // 0x1022 + 13'h1023: q = 8'h23; // 0x1023 + 13'h1024: q = 8'h20; // 0x1024 + 13'h1025: q = 8'h2b; // 0x1025 + 13'h1026: q = 8'h2c; // 0x1026 + 13'h1027: q = 8'h86; // 0x1027 + 13'h1028: q = 8'h8d; // 0x1028 + 13'h1029: q = 8'h20; // 0x1029 + 13'h102a: q = 8'ha8; // 0x102a + 13'h102b: q = 8'h2b; // 0x102b + 13'h102c: q = 8'ha6; // 0x102c + 13'h102d: q = 8'h8d; // 0x102d + 13'h102e: q = 8'h4c; // 0x102e + 13'h102f: q = 8'h3e; // 0x102f + 13'h1030: q = 8'h30; // 0x1030 + 13'h1031: q = 8'hca; // 0x1031 + 13'h1032: q = 8'h30; // 0x1032 + 13'h1033: q = 8'h15; // 0x1033 + 13'h1034: q = 8'h4c; // 0x1034 + 13'h1035: q = 8'h4f; // 0x1035 + 13'h1036: q = 8'h2f; // 0x1036 + 13'h1037: q = 8'h84; // 0x1037 + 13'h1038: q = 8'h8b; // 0x1038 + 13'h1039: q = 8'ha9; // 0x1039 + 13'h103a: q = 8'h00; // 0x103a + 13'h103b: q = 8'h20; // 0x103b + 13'h103c: q = 8'hb6; // 0x103c + 13'h103d: q = 8'h2d; // 0x103d + 13'h103e: q = 8'ha9; // 0x103e + 13'h103f: q = 8'h13; // 0x103f + 13'h1040: q = 8'h85; // 0x1040 + 13'h1041: q = 8'hb2; // 0x1041 + 13'h1042: q = 8'ha9; // 0x1042 + 13'h1043: q = 8'hff; // 0x1043 + 13'h1044: q = 8'h95; // 0x1044 + 13'h1045: q = 8'h34; // 0x1045 + 13'h1046: q = 8'h20; // 0x1046 + 13'h1047: q = 8'h79; // 0x1047 + 13'h1048: q = 8'h2b; // 0x1048 + 13'h1049: q = 8'ha6; // 0x1049 + 13'h104a: q = 8'h88; // 0x104a + 13'h104b: q = 8'hb5; // 0x104b + 13'h104c: q = 8'h94; // 0x104c + 13'h104d: q = 8'h05; // 0x104d + 13'h104e: q = 8'h87; // 0x104e + 13'h104f: q = 8'hf0; // 0x104f + 13'h1050: q = 8'h10; // 0x1050 + 13'h1051: q = 8'ha5; // 0x1051 + 13'h1052: q = 8'h41; // 0x1052 + 13'h1053: q = 8'h45; // 0x1053 + 13'h1054: q = 8'hef; // 0x1054 + 13'h1055: q = 8'hc9; // 0x1055 + 13'h1056: q = 8'h9c; // 0x1056 + 13'h1057: q = 8'h90; // 0x1057 + 13'h1058: q = 8'h07; // 0x1058 + 13'h1059: q = 8'hc6; // 0x1059 + 13'h105a: q = 8'h9f; // 0x105a + 13'h105b: q = 8'hd0; // 0x105b + 13'h105c: q = 8'h03; // 0x105c + 13'h105d: q = 8'h20; // 0x105d + 13'h105e: q = 8'hc7; // 0x105e + 13'h105f: q = 8'h21; // 0x105f + 13'h1060: q = 8'h60; // 0x1060 + 13'h1061: q = 8'hf6; // 0x1061 + 13'h1062: q = 8'h9c; // 0x1062 + 13'h1063: q = 8'ha9; // 0x1063 + 13'h1064: q = 8'h40; // 0x1064 + 13'h1065: q = 8'h85; // 0x1065 + 13'h1066: q = 8'h87; // 0x1066 + 13'h1067: q = 8'h60; // 0x1067 + 13'h1068: q = 8'ha6; // 0x1068 + 13'h1069: q = 8'h86; // 0x1069 + 13'h106a: q = 8'h10; // 0x106a + 13'h106b: q = 8'h0f; // 0x106b + 13'h106c: q = 8'ha2; // 0x106c + 13'h106d: q = 8'h00; // 0x106d + 13'h106e: q = 8'h8e; // 0x106e + 13'h106f: q = 8'h01; // 0x106f + 13'h1070: q = 8'h10; // 0x1070 + 13'h1071: q = 8'h8e; // 0x1071 + 13'h1072: q = 8'h03; // 0x1072 + 13'h1073: q = 8'h10; // 0x1073 + 13'h1074: q = 8'h8e; // 0x1074 + 13'h1075: q = 8'h05; // 0x1075 + 13'h1076: q = 8'h10; // 0x1076 + 13'h1077: q = 8'h8e; // 0x1077 + 13'h1078: q = 8'h07; // 0x1078 + 13'h1079: q = 8'h10; // 0x1079 + 13'h107a: q = 8'h60; // 0x107a + 13'h107b: q = 8'ha5; // 0x107b + 13'h107c: q = 8'h00; // 0x107c + 13'h107d: q = 8'h4a; // 0x107d + 13'h107e: q = 8'h90; // 0x107e + 13'h107f: q = 8'h19; // 0x107f + 13'h1080: q = 8'ha4; // 0x1080 + 13'h1081: q = 8'hb5; // 0x1081 + 13'h1082: q = 8'h98; // 0x1082 + 13'h1083: q = 8'hf0; // 0x1083 + 13'h1084: q = 8'h11; // 0x1084 + 13'h1085: q = 8'hc6; // 0x1085 + 13'h1086: q = 8'hb5; // 0x1086 + 13'h1087: q = 8'hd0; // 0x1087 + 13'h1088: q = 8'h04; // 0x1088 + 13'h1089: q = 8'ha9; // 0x1089 + 13'h108a: q = 8'h14; // 0x108a + 13'h108b: q = 8'h85; // 0x108b + 13'h108c: q = 8'hb5; // 0x108c + 13'h108d: q = 8'hb9; // 0x108d + 13'h108e: q = 8'h87; // 0x108e + 13'h108f: q = 8'h31; // 0x108f + 13'h1090: q = 8'h8d; // 0x1090 + 13'h1091: q = 8'h06; // 0x1091 + 13'h1092: q = 8'h10; // 0x1092 + 13'h1093: q = 8'hb9; // 0x1093 + 13'h1094: q = 8'h9b; // 0x1094 + 13'h1095: q = 8'h31; // 0x1095 + 13'h1096: q = 8'h8d; // 0x1096 + 13'h1097: q = 8'h07; // 0x1097 + 13'h1098: q = 8'h10; // 0x1098 + 13'h1099: q = 8'ha4; // 0x1099 + 13'h109a: q = 8'hb4; // 0x109a + 13'h109b: q = 8'h98; // 0x109b + 13'h109c: q = 8'hf0; // 0x109c + 13'h109d: q = 8'h0a; // 0x109d + 13'h109e: q = 8'hc6; // 0x109e + 13'h109f: q = 8'hb4; // 0x109f + 13'h10a0: q = 8'hb9; // 0x10a0 + 13'h10a1: q = 8'h7c; // 0x10a1 + 13'h10a2: q = 8'h31; // 0x10a2 + 13'h10a3: q = 8'h8d; // 0x10a3 + 13'h10a4: q = 8'h04; // 0x10a4 + 13'h10a5: q = 8'h10; // 0x10a5 + 13'h10a6: q = 8'ha9; // 0x10a6 + 13'h10a7: q = 8'h64; // 0x10a7 + 13'h10a8: q = 8'h8d; // 0x10a8 + 13'h10a9: q = 8'h05; // 0x10a9 + 13'h10aa: q = 8'h10; // 0x10aa + 13'h10ab: q = 8'ha4; // 0x10ab + 13'h10ac: q = 8'hb6; // 0x10ac + 13'h10ad: q = 8'hf0; // 0x10ad + 13'h10ae: q = 8'h28; // 0x10ae + 13'h10af: q = 8'ha5; // 0x10af + 13'h10b0: q = 8'h00; // 0x10b0 + 13'h10b1: q = 8'h29; // 0x10b1 + 13'h10b2: q = 8'h07; // 0x10b2 + 13'h10b3: q = 8'hd0; // 0x10b3 + 13'h10b4: q = 8'h73; // 0x10b4 + 13'h10b5: q = 8'hc6; // 0x10b5 + 13'h10b6: q = 8'hb6; // 0x10b6 + 13'h10b7: q = 8'h88; // 0x10b7 + 13'h10b8: q = 8'hf0; // 0x10b8 + 13'h10b9: q = 8'h1d; // 0x10b9 + 13'h10ba: q = 8'hb9; // 0x10ba + 13'h10bb: q = 8'haf; // 0x10bb + 13'h10bc: q = 8'h31; // 0x10bc + 13'h10bd: q = 8'h8d; // 0x10bd + 13'h10be: q = 8'h02; // 0x10be + 13'h10bf: q = 8'h10; // 0x10bf + 13'h10c0: q = 8'ha9; // 0x10c0 + 13'h10c1: q = 8'ha4; // 0x10c1 + 13'h10c2: q = 8'hd0; // 0x10c2 + 13'h10c3: q = 8'h61; // 0x10c3 + 13'h10c4: q = 8'ha4; // 0x10c4 + 13'h10c5: q = 8'hb8; // 0x10c5 + 13'h10c6: q = 8'h88; // 0x10c6 + 13'h10c7: q = 8'hd0; // 0x10c7 + 13'h10c8: q = 8'h02; // 0x10c8 + 13'h10c9: q = 8'ha0; // 0x10c9 + 13'h10ca: q = 8'h14; // 0x10ca + 13'h10cb: q = 8'h84; // 0x10cb + 13'h10cc: q = 8'hb8; // 0x10cc + 13'h10cd: q = 8'hb9; // 0x10cd + 13'h10ce: q = 8'hc0; // 0x10ce + 13'h10cf: q = 8'h31; // 0x10cf + 13'h10d0: q = 8'h8d; // 0x10d0 + 13'h10d1: q = 8'h02; // 0x10d1 + 13'h10d2: q = 8'h10; // 0x10d2 + 13'h10d3: q = 8'ha9; // 0x10d3 + 13'h10d4: q = 8'ha4; // 0x10d4 + 13'h10d5: q = 8'hd0; // 0x10d5 + 13'h10d6: q = 8'h4e; // 0x10d6 + 13'h10d7: q = 8'ha5; // 0x10d7 + 13'h10d8: q = 8'h70; // 0x10d8 + 13'h10d9: q = 8'h45; // 0x10d9 + 13'h10da: q = 8'hf0; // 0x10da + 13'h10db: q = 8'hc9; // 0x10db + 13'h10dc: q = 8'hf8; // 0x10dc + 13'h10dd: q = 8'hb0; // 0x10dd + 13'h10de: q = 8'h36; // 0x10de + 13'h10df: q = 8'ha5; // 0x10df + 13'h10e0: q = 8'h43; // 0x10e0 + 13'h10e1: q = 8'h29; // 0x10e1 + 13'h10e2: q = 8'haf; // 0x10e2 + 13'h10e3: q = 8'hd0; // 0x10e3 + 13'h10e4: q = 8'h30; // 0x10e4 + 13'h10e5: q = 8'ha5; // 0x10e5 + 13'h10e6: q = 8'h40; // 0x10e6 + 13'h10e7: q = 8'h45; // 0x10e7 + 13'h10e8: q = 8'hef; // 0x10e8 + 13'h10e9: q = 8'hc9; // 0x10e9 + 13'h10ea: q = 8'h34; // 0x10ea + 13'h10eb: q = 8'hb0; // 0x10eb + 13'h10ec: q = 8'h28; // 0x10ec + 13'h10ed: q = 8'hc9; // 0x10ed + 13'h10ee: q = 8'h20; // 0x10ee + 13'h10ef: q = 8'hb0; // 0x10ef + 13'h10f0: q = 8'hd3; // 0x10f0 + 13'h10f1: q = 8'ha5; // 0x10f1 + 13'h10f2: q = 8'h70; // 0x10f2 + 13'h10f3: q = 8'h45; // 0x10f3 + 13'h10f4: q = 8'hf4; // 0x10f4 + 13'h10f5: q = 8'h4a; // 0x10f5 + 13'h10f6: q = 8'h49; // 0x10f6 + 13'h10f7: q = 8'hff; // 0x10f7 + 13'h10f8: q = 8'h09; // 0x10f8 + 13'h10f9: q = 8'h80; // 0x10f9 + 13'h10fa: q = 8'h8d; // 0x10fa + 13'h10fb: q = 8'h02; // 0x10fb + 13'h10fc: q = 8'h10; // 0x10fc + 13'h10fd: q = 8'ha9; // 0x10fd + 13'h10fe: q = 8'ha4; // 0x10fe + 13'h10ff: q = 8'hd0; // 0x10ff + 13'h1100: q = 8'h24; // 0x1100 + 13'h1101: q = 8'ha4; // 0x1101 + 13'h1102: q = 8'hb2; // 0x1102 + 13'h1103: q = 8'h98; // 0x1103 + 13'h1104: q = 8'hf0; // 0x1104 + 13'h1105: q = 8'h0b; // 0x1105 + 13'h1106: q = 8'hc6; // 0x1106 + 13'h1107: q = 8'hb2; // 0x1107 + 13'h1108: q = 8'hb9; // 0x1108 + 13'h1109: q = 8'h48; // 0x1109 + 13'h110a: q = 8'h31; // 0x110a + 13'h110b: q = 8'h8d; // 0x110b + 13'h110c: q = 8'h00; // 0x110c + 13'h110d: q = 8'h10; // 0x110d + 13'h110e: q = 8'hb9; // 0x110e + 13'h110f: q = 8'h5b; // 0x110f + 13'h1110: q = 8'h31; // 0x1110 + 13'h1111: q = 8'h8d; // 0x1111 + 13'h1112: q = 8'h01; // 0x1112 + 13'h1113: q = 8'h10; // 0x1113 + 13'h1114: q = 8'h60; // 0x1114 + 13'h1115: q = 8'ha4; // 0x1115 + 13'h1116: q = 8'hb3; // 0x1116 + 13'h1117: q = 8'h98; // 0x1117 + 13'h1118: q = 8'hf0; // 0x1118 + 13'h1119: q = 8'h0b; // 0x1119 + 13'h111a: q = 8'hc6; // 0x111a + 13'h111b: q = 8'hb3; // 0x111b + 13'h111c: q = 8'hb9; // 0x111c + 13'h111d: q = 8'h6e; // 0x111d + 13'h111e: q = 8'h31; // 0x111e + 13'h111f: q = 8'h8d; // 0x111f + 13'h1120: q = 8'h02; // 0x1120 + 13'h1121: q = 8'h10; // 0x1121 + 13'h1122: q = 8'hb9; // 0x1122 + 13'h1123: q = 8'h75; // 0x1123 + 13'h1124: q = 8'h31; // 0x1124 + 13'h1125: q = 8'h8d; // 0x1125 + 13'h1126: q = 8'h03; // 0x1126 + 13'h1127: q = 8'h10; // 0x1127 + 13'h1128: q = 8'ha4; // 0x1128 + 13'h1129: q = 8'hb7; // 0x1129 + 13'h112a: q = 8'hf0; // 0x112a + 13'h112b: q = 8'hd5; // 0x112b + 13'h112c: q = 8'ha5; // 0x112c + 13'h112d: q = 8'h00; // 0x112d + 13'h112e: q = 8'h29; // 0x112e + 13'h112f: q = 8'h03; // 0x112f + 13'h1130: q = 8'hd0; // 0x1130 + 13'h1131: q = 8'h16; // 0x1131 + 13'h1132: q = 8'hc6; // 0x1132 + 13'h1133: q = 8'hb7; // 0x1133 + 13'h1134: q = 8'h88; // 0x1134 + 13'h1135: q = 8'hf0; // 0x1135 + 13'h1136: q = 8'h11; // 0x1136 + 13'h1137: q = 8'hb9; // 0x1137 + 13'h1138: q = 8'h48; // 0x1138 + 13'h1139: q = 8'h31; // 0x1139 + 13'h113a: q = 8'h8d; // 0x113a + 13'h113b: q = 8'h00; // 0x113b + 13'h113c: q = 8'h10; // 0x113c + 13'h113d: q = 8'hb9; // 0x113d + 13'h113e: q = 8'h5b; // 0x113e + 13'h113f: q = 8'h31; // 0x113f + 13'h1140: q = 8'hf0; // 0x1140 + 13'h1141: q = 8'h03; // 0x1141 + 13'h1142: q = 8'h18; // 0x1142 + 13'h1143: q = 8'h69; // 0x1143 + 13'h1144: q = 8'h02; // 0x1144 + 13'h1145: q = 8'h8d; // 0x1145 + 13'h1146: q = 8'h01; // 0x1146 + 13'h1147: q = 8'h10; // 0x1147 + 13'h1148: q = 8'h60; // 0x1148 + 13'h1149: q = 8'h00; // 0x1149 + 13'h114a: q = 8'h00; // 0x114a + 13'h114b: q = 8'h00; // 0x114b + 13'h114c: q = 8'h00; // 0x114c + 13'h114d: q = 8'hf0; // 0x114d + 13'h114e: q = 8'he0; // 0x114e + 13'h114f: q = 8'hd0; // 0x114f + 13'h1150: q = 8'hc0; // 0x1150 + 13'h1151: q = 8'hb0; // 0x1151 + 13'h1152: q = 8'ha0; // 0x1152 + 13'h1153: q = 8'h90; // 0x1153 + 13'h1154: q = 8'h80; // 0x1154 + 13'h1155: q = 8'h70; // 0x1155 + 13'h1156: q = 8'h60; // 0x1156 + 13'h1157: q = 8'h50; // 0x1157 + 13'h1158: q = 8'h40; // 0x1158 + 13'h1159: q = 8'h30; // 0x1159 + 13'h115a: q = 8'h20; // 0x115a + 13'h115b: q = 8'h10; // 0x115b + 13'h115c: q = 8'h00; // 0x115c + 13'h115d: q = 8'h00; // 0x115d + 13'h115e: q = 8'h00; // 0x115e + 13'h115f: q = 8'h00; // 0x115f + 13'h1160: q = 8'h81; // 0x1160 + 13'h1161: q = 8'h81; // 0x1161 + 13'h1162: q = 8'h81; // 0x1162 + 13'h1163: q = 8'h82; // 0x1163 + 13'h1164: q = 8'h82; // 0x1164 + 13'h1165: q = 8'h82; // 0x1165 + 13'h1166: q = 8'h82; // 0x1166 + 13'h1167: q = 8'h83; // 0x1167 + 13'h1168: q = 8'h83; // 0x1168 + 13'h1169: q = 8'h83; // 0x1169 + 13'h116a: q = 8'h83; // 0x116a + 13'h116b: q = 8'h84; // 0x116b + 13'h116c: q = 8'h84; // 0x116c + 13'h116d: q = 8'h84; // 0x116d + 13'h116e: q = 8'h84; // 0x116e + 13'h116f: q = 8'h70; // 0x116f + 13'h1170: q = 8'h00; // 0x1170 + 13'h1171: q = 8'h00; // 0x1171 + 13'h1172: q = 8'ha0; // 0x1172 + 13'h1173: q = 8'h00; // 0x1173 + 13'h1174: q = 8'hc0; // 0x1174 + 13'h1175: q = 8'he0; // 0x1175 + 13'h1176: q = 8'ha1; // 0x1176 + 13'h1177: q = 8'h00; // 0x1177 + 13'h1178: q = 8'h00; // 0x1178 + 13'h1179: q = 8'ha2; // 0x1179 + 13'h117a: q = 8'h00; // 0x117a + 13'h117b: q = 8'ha2; // 0x117b + 13'h117c: q = 8'ha4; // 0x117c + 13'h117d: q = 8'hf0; // 0x117d + 13'h117e: q = 8'he0; // 0x117e + 13'h117f: q = 8'hd0; // 0x117f + 13'h1180: q = 8'hc0; // 0x1180 + 13'h1181: q = 8'hb0; // 0x1181 + 13'h1182: q = 8'ha0; // 0x1182 + 13'h1183: q = 8'h90; // 0x1183 + 13'h1184: q = 8'h80; // 0x1184 + 13'h1185: q = 8'h70; // 0x1185 + 13'h1186: q = 8'h60; // 0x1186 + 13'h1187: q = 8'h50; // 0x1187 + 13'h1188: q = 8'h05; // 0x1188 + 13'h1189: q = 8'h05; // 0x1189 + 13'h118a: q = 8'h20; // 0x118a + 13'h118b: q = 8'h20; // 0x118b + 13'h118c: q = 8'h30; // 0x118c + 13'h118d: q = 8'h30; // 0x118d + 13'h118e: q = 8'h35; // 0x118e + 13'h118f: q = 8'h35; // 0x118f + 13'h1190: q = 8'h30; // 0x1190 + 13'h1191: q = 8'h30; // 0x1191 + 13'h1192: q = 8'h20; // 0x1192 + 13'h1193: q = 8'h20; // 0x1193 + 13'h1194: q = 8'h05; // 0x1194 + 13'h1195: q = 8'h05; // 0x1195 + 13'h1196: q = 8'h20; // 0x1196 + 13'h1197: q = 8'h20; // 0x1197 + 13'h1198: q = 8'h30; // 0x1198 + 13'h1199: q = 8'h30; // 0x1199 + 13'h119a: q = 8'h35; // 0x119a + 13'h119b: q = 8'h35; // 0x119b + 13'h119c: q = 8'ha1; // 0x119c + 13'h119d: q = 8'h00; // 0x119d + 13'h119e: q = 8'ha2; // 0x119e + 13'h119f: q = 8'h00; // 0x119f + 13'h11a0: q = 8'ha3; // 0x11a0 + 13'h11a1: q = 8'h00; // 0x11a1 + 13'h11a2: q = 8'ha4; // 0x11a2 + 13'h11a3: q = 8'h00; // 0x11a3 + 13'h11a4: q = 8'ha3; // 0x11a4 + 13'h11a5: q = 8'h00; // 0x11a5 + 13'h11a6: q = 8'ha2; // 0x11a6 + 13'h11a7: q = 8'h00; // 0x11a7 + 13'h11a8: q = 8'ha1; // 0x11a8 + 13'h11a9: q = 8'h00; // 0x11a9 + 13'h11aa: q = 8'ha2; // 0x11aa + 13'h11ab: q = 8'h00; // 0x11ab + 13'h11ac: q = 8'ha3; // 0x11ac + 13'h11ad: q = 8'h00; // 0x11ad + 13'h11ae: q = 8'ha2; // 0x11ae + 13'h11af: q = 8'h00; // 0x11af + 13'h11b0: q = 8'h28; // 0x11b0 + 13'h11b1: q = 8'h28; // 0x11b1 + 13'h11b2: q = 8'h30; // 0x11b2 + 13'h11b3: q = 8'h28; // 0x11b3 + 13'h11b4: q = 8'h28; // 0x11b4 + 13'h11b5: q = 8'h30; // 0x11b5 + 13'h11b6: q = 8'h3c; // 0x11b6 + 13'h11b7: q = 8'h51; // 0x11b7 + 13'h11b8: q = 8'h50; // 0x11b8 + 13'h11b9: q = 8'h50; // 0x11b9 + 13'h11ba: q = 8'h60; // 0x11ba + 13'h11bb: q = 8'h50; // 0x11bb + 13'h11bc: q = 8'h50; // 0x11bc + 13'h11bd: q = 8'h60; // 0x11bd + 13'h11be: q = 8'h74; // 0x11be + 13'h11bf: q = 8'ha2; // 0x11bf + 13'h11c0: q = 8'h00; // 0x11c0 + 13'h11c1: q = 8'h60; // 0x11c1 + 13'h11c2: q = 8'h60; // 0x11c2 + 13'h11c3: q = 8'h70; // 0x11c3 + 13'h11c4: q = 8'h70; // 0x11c4 + 13'h11c5: q = 8'h60; // 0x11c5 + 13'h11c6: q = 8'h60; // 0x11c6 + 13'h11c7: q = 8'h60; // 0x11c7 + 13'h11c8: q = 8'h70; // 0x11c8 + 13'h11c9: q = 8'h70; // 0x11c9 + 13'h11ca: q = 8'h70; // 0x11ca + 13'h11cb: q = 8'h50; // 0x11cb + 13'h11cc: q = 8'h50; // 0x11cc + 13'h11cd: q = 8'h80; // 0x11cd + 13'h11ce: q = 8'h80; // 0x11ce + 13'h11cf: q = 8'h50; // 0x11cf + 13'h11d0: q = 8'h50; // 0x11d0 + 13'h11d1: q = 8'h50; // 0x11d1 + 13'h11d2: q = 8'h80; // 0x11d2 + 13'h11d3: q = 8'h80; // 0x11d3 + 13'h11d4: q = 8'h80; // 0x11d4 + 13'h11d5: q = 8'ha0; // 0x11d5 + 13'h11d6: q = 8'h00; // 0x11d6 + 13'h11d7: q = 8'h84; // 0x11d7 + 13'h11d8: q = 8'h32; // 0x11d8 + 13'h11d9: q = 8'ha9; // 0x11d9 + 13'h11da: q = 8'h04; // 0x11da + 13'h11db: q = 8'h85; // 0x11db + 13'h11dc: q = 8'h33; // 0x11dc + 13'h11dd: q = 8'h84; // 0x11dd + 13'h11de: q = 8'h8d; // 0x11de + 13'h11df: q = 8'ha9; // 0x11df + 13'h11e0: q = 8'h00; // 0x11e0 + 13'h11e1: q = 8'h85; // 0x11e1 + 13'h11e2: q = 8'h8b; // 0x11e2 + 13'h11e3: q = 8'h84; // 0x11e3 + 13'h11e4: q = 8'h8e; // 0x11e4 + 13'h11e5: q = 8'ha2; // 0x11e5 + 13'h11e6: q = 8'h08; // 0x11e6 + 13'h11e7: q = 8'hb1; // 0x11e7 + 13'h11e8: q = 8'h32; // 0x11e8 + 13'h11e9: q = 8'h29; // 0x11e9 + 13'h11ea: q = 8'h3f; // 0x11ea + 13'h11eb: q = 8'hc9; // 0x11eb + 13'h11ec: q = 8'h38; // 0x11ec + 13'h11ed: q = 8'h26; // 0x11ed + 13'h11ee: q = 8'h8b; // 0x11ee + 13'h11ef: q = 8'hc8; // 0x11ef + 13'h11f0: q = 8'hca; // 0x11f0 + 13'h11f1: q = 8'hd0; // 0x11f1 + 13'h11f2: q = 8'hf4; // 0x11f2 + 13'h11f3: q = 8'ha6; // 0x11f3 + 13'h11f4: q = 8'h8d; // 0x11f4 + 13'h11f5: q = 8'hbd; // 0x11f5 + 13'h11f6: q = 8'h00; // 0x11f6 + 13'h11f7: q = 8'h01; // 0x11f7 + 13'h11f8: q = 8'he6; // 0x11f8 + 13'h11f9: q = 8'h8d; // 0x11f9 + 13'h11fa: q = 8'ha8; // 0x11fa + 13'h11fb: q = 8'ha5; // 0x11fb + 13'h11fc: q = 8'h8b; // 0x11fc + 13'h11fd: q = 8'h9d; // 0x11fd + 13'h11fe: q = 8'h00; // 0x11fe + 13'h11ff: q = 8'h01; // 0x11ff + 13'h1200: q = 8'h84; // 0x1200 + 13'h1201: q = 8'h8b; // 0x1201 + 13'h1202: q = 8'ha4; // 0x1202 + 13'h1203: q = 8'h8e; // 0x1203 + 13'h1204: q = 8'ha2; // 0x1204 + 13'h1205: q = 8'h08; // 0x1205 + 13'h1206: q = 8'ha9; // 0x1206 + 13'h1207: q = 8'h00; // 0x1207 + 13'h1208: q = 8'h26; // 0x1208 + 13'h1209: q = 8'h8b; // 0x1209 + 13'h120a: q = 8'h90; // 0x120a + 13'h120b: q = 8'h04; // 0x120b + 13'h120c: q = 8'ha9; // 0x120c + 13'h120d: q = 8'h3f; // 0x120d + 13'h120e: q = 8'h45; // 0x120e + 13'h120f: q = 8'hef; // 0x120f + 13'h1210: q = 8'h91; // 0x1210 + 13'h1211: q = 8'h32; // 0x1211 + 13'h1212: q = 8'hc8; // 0x1212 + 13'h1213: q = 8'hca; // 0x1213 + 13'h1214: q = 8'hd0; // 0x1214 + 13'h1215: q = 8'hf0; // 0x1215 + 13'h1216: q = 8'h98; // 0x1216 + 13'h1217: q = 8'hd0; // 0x1217 + 13'h1218: q = 8'h02; // 0x1218 + 13'h1219: q = 8'he6; // 0x1219 + 13'h121a: q = 8'h33; // 0x121a + 13'h121b: q = 8'hc0; // 0x121b + 13'h121c: q = 8'hc0; // 0x121c + 13'h121d: q = 8'hd0; // 0x121d + 13'h121e: q = 8'hc0; // 0x121e + 13'h121f: q = 8'ha5; // 0x121f + 13'h1220: q = 8'h33; // 0x1220 + 13'h1221: q = 8'hc9; // 0x1221 + 13'h1222: q = 8'h07; // 0x1222 + 13'h1223: q = 8'hd0; // 0x1223 + 13'h1224: q = 8'hba; // 0x1224 + 13'h1225: q = 8'h60; // 0x1225 + 13'h1226: q = 8'hc9; // 0x1226 + 13'h1227: q = 8'h08; // 0x1227 + 13'h1228: q = 8'h90; // 0x1228 + 13'h1229: q = 8'h0c; // 0x1229 + 13'h122a: q = 8'hc9; // 0x122a + 13'h122b: q = 8'hf8; // 0x122b + 13'h122c: q = 8'hb0; // 0x122c + 13'h122d: q = 8'h08; // 0x122d + 13'h122e: q = 8'hc9; // 0x122e + 13'h122f: q = 8'h80; // 0x122f + 13'h1230: q = 8'ha9; // 0x1230 + 13'h1231: q = 8'h08; // 0x1231 + 13'h1232: q = 8'h90; // 0x1232 + 13'h1233: q = 8'h02; // 0x1233 + 13'h1234: q = 8'ha9; // 0x1234 + 13'h1235: q = 8'hf8; // 0x1235 + 13'h1236: q = 8'hc9; // 0x1236 + 13'h1237: q = 8'h80; // 0x1237 + 13'h1238: q = 8'h6a; // 0x1238 + 13'h1239: q = 8'ha8; // 0x1239 + 13'h123a: q = 8'ha9; // 0x123a + 13'h123b: q = 8'h00; // 0x123b + 13'h123c: q = 8'h6a; // 0x123c + 13'h123d: q = 8'h60; // 0x123d + 13'h123e: q = 8'ha9; // 0x123e + 13'h123f: q = 8'hff; // 0x123f + 13'h1240: q = 8'ha2; // 0x1240 + 13'h1241: q = 8'h01; // 0x1241 + 13'h1242: q = 8'h85; // 0x1242 + 13'h1243: q = 8'hc1; // 0x1243 + 13'h1244: q = 8'h85; // 0x1244 + 13'h1245: q = 8'hc2; // 0x1245 + 13'h1246: q = 8'hf8; // 0x1246 + 13'h1247: q = 8'ha5; // 0x1247 + 13'h1248: q = 8'hfb; // 0x1248 + 13'h1249: q = 8'h18; // 0x1249 + 13'h124a: q = 8'h6d; // 0x124a + 13'h124b: q = 8'h8e; // 0x124b + 13'h124c: q = 8'h01; // 0x124c + 13'h124d: q = 8'h8d; // 0x124d + 13'h124e: q = 8'h8e; // 0x124e + 13'h124f: q = 8'h01; // 0x124f + 13'h1250: q = 8'ha5; // 0x1250 + 13'h1251: q = 8'hfc; // 0x1251 + 13'h1252: q = 8'h6d; // 0x1252 + 13'h1253: q = 8'h8f; // 0x1253 + 13'h1254: q = 8'h01; // 0x1254 + 13'h1255: q = 8'h8d; // 0x1255 + 13'h1256: q = 8'h8f; // 0x1256 + 13'h1257: q = 8'h01; // 0x1257 + 13'h1258: q = 8'had; // 0x1258 + 13'h1259: q = 8'h90; // 0x1259 + 13'h125a: q = 8'h01; // 0x125a + 13'h125b: q = 8'h69; // 0x125b + 13'h125c: q = 8'h00; // 0x125c + 13'h125d: q = 8'h8d; // 0x125d + 13'h125e: q = 8'h90; // 0x125e + 13'h125f: q = 8'h01; // 0x125f + 13'h1260: q = 8'had; // 0x1260 + 13'h1261: q = 8'h91; // 0x1261 + 13'h1262: q = 8'h01; // 0x1262 + 13'h1263: q = 8'h69; // 0x1263 + 13'h1264: q = 8'h00; // 0x1264 + 13'h1265: q = 8'hb0; // 0x1265 + 13'h1266: q = 8'h1c; // 0x1266 + 13'h1267: q = 8'h8d; // 0x1267 + 13'h1268: q = 8'h91; // 0x1268 + 13'h1269: q = 8'h01; // 0x1269 + 13'h126a: q = 8'had; // 0x126a + 13'h126b: q = 8'h8b; // 0x126b + 13'h126c: q = 8'h01; // 0x126c + 13'h126d: q = 8'h18; // 0x126d + 13'h126e: q = 8'h65; // 0x126e + 13'h126f: q = 8'h89; // 0x126f + 13'h1270: q = 8'h8d; // 0x1270 + 13'h1271: q = 8'h8b; // 0x1271 + 13'h1272: q = 8'h01; // 0x1272 + 13'h1273: q = 8'had; // 0x1273 + 13'h1274: q = 8'h8c; // 0x1274 + 13'h1275: q = 8'h01; // 0x1275 + 13'h1276: q = 8'h69; // 0x1276 + 13'h1277: q = 8'h00; // 0x1277 + 13'h1278: q = 8'h8d; // 0x1278 + 13'h1279: q = 8'h8c; // 0x1279 + 13'h127a: q = 8'h01; // 0x127a + 13'h127b: q = 8'had; // 0x127b + 13'h127c: q = 8'h8d; // 0x127c + 13'h127d: q = 8'h01; // 0x127d + 13'h127e: q = 8'h69; // 0x127e + 13'h127f: q = 8'h00; // 0x127f + 13'h1280: q = 8'h8d; // 0x1280 + 13'h1281: q = 8'h8d; // 0x1281 + 13'h1282: q = 8'h01; // 0x1282 + 13'h1283: q = 8'hd8; // 0x1283 + 13'h1284: q = 8'ha0; // 0x1284 + 13'h1285: q = 8'h00; // 0x1285 + 13'h1286: q = 8'hb9; // 0x1286 + 13'h1287: q = 8'h02; // 0x1287 + 13'h1288: q = 8'h00; // 0x1288 + 13'h1289: q = 8'hd5; // 0x1289 + 13'h128a: q = 8'ha8; // 0x128a + 13'h128b: q = 8'hb9; // 0x128b + 13'h128c: q = 8'h03; // 0x128c + 13'h128d: q = 8'h00; // 0x128d + 13'h128e: q = 8'hf5; // 0x128e + 13'h128f: q = 8'haa; // 0x128f + 13'h1290: q = 8'hb9; // 0x1290 + 13'h1291: q = 8'h04; // 0x1291 + 13'h1292: q = 8'h00; // 0x1292 + 13'h1293: q = 8'hf5; // 0x1293 + 13'h1294: q = 8'hac; // 0x1294 + 13'h1295: q = 8'h90; // 0x1295 + 13'h1296: q = 8'h2e; // 0x1296 + 13'h1297: q = 8'hc8; // 0x1297 + 13'h1298: q = 8'hc8; // 0x1298 + 13'h1299: q = 8'hc8; // 0x1299 + 13'h129a: q = 8'hc0; // 0x129a + 13'h129b: q = 8'h18; // 0x129b + 13'h129c: q = 8'h90; // 0x129c + 13'h129d: q = 8'he8; // 0x129d + 13'h129e: q = 8'hca; // 0x129e + 13'h129f: q = 8'h10; // 0x129f + 13'h12a0: q = 8'he3; // 0x12a0 + 13'h12a1: q = 8'ha5; // 0x12a1 + 13'h12a2: q = 8'hc2; // 0x12a2 + 13'h12a3: q = 8'h30; // 0x12a3 + 13'h12a4: q = 8'h0e; // 0x12a4 + 13'h12a5: q = 8'hc5; // 0x12a5 + 13'h12a6: q = 8'hc1; // 0x12a6 + 13'h12a7: q = 8'h90; // 0x12a7 + 13'h12a8: q = 8'h0a; // 0x12a8 + 13'h12a9: q = 8'h69; // 0x12a9 + 13'h12aa: q = 8'h02; // 0x12aa + 13'h12ab: q = 8'hc9; // 0x12ab + 13'h12ac: q = 8'h18; // 0x12ac + 13'h12ad: q = 8'h90; // 0x12ad + 13'h12ae: q = 8'h02; // 0x12ae + 13'h12af: q = 8'ha9; // 0x12af + 13'h12b0: q = 8'hff; // 0x12b0 + 13'h12b1: q = 8'h85; // 0x12b1 + 13'h12b2: q = 8'hc2; // 0x12b2 + 13'h12b3: q = 8'ha9; // 0x12b3 + 13'h12b4: q = 8'h00; // 0x12b4 + 13'h12b5: q = 8'h85; // 0x12b5 + 13'h12b6: q = 8'hc0; // 0x12b6 + 13'h12b7: q = 8'ha5; // 0x12b7 + 13'h12b8: q = 8'hc2; // 0x12b8 + 13'h12b9: q = 8'h25; // 0x12b9 + 13'h12ba: q = 8'hc1; // 0x12ba + 13'h12bb: q = 8'h10; // 0x12bb + 13'h12bc: q = 8'h07; // 0x12bc + 13'h12bd: q = 8'ha9; // 0x12bd + 13'h12be: q = 8'h00; // 0x12be + 13'h12bf: q = 8'h85; // 0x12bf + 13'h12c0: q = 8'h01; // 0x12c0 + 13'h12c1: q = 8'h20; // 0x12c1 + 13'h12c2: q = 8'h5c; // 0x12c2 + 13'h12c3: q = 8'h2d; // 0x12c3 + 13'h12c4: q = 8'h60; // 0x12c4 + 13'h12c5: q = 8'h86; // 0x12c5 + 13'h12c6: q = 8'h8d; // 0x12c6 + 13'h12c7: q = 8'h84; // 0x12c7 + 13'h12c8: q = 8'h8e; // 0x12c8 + 13'h12c9: q = 8'h94; // 0x12c9 + 13'h12ca: q = 8'hc1; // 0x12ca + 13'h12cb: q = 8'ha2; // 0x12cb + 13'h12cc: q = 8'h17; // 0x12cc + 13'h12cd: q = 8'hb5; // 0x12cd + 13'h12ce: q = 8'h17; // 0x12ce + 13'h12cf: q = 8'h95; // 0x12cf + 13'h12d0: q = 8'h1a; // 0x12d0 + 13'h12d1: q = 8'hbd; // 0x12d1 + 13'h12d2: q = 8'hff; // 0x12d2 + 13'h12d3: q = 8'hff; // 0x12d3 + 13'h12d4: q = 8'h95; // 0x12d4 + 13'h12d5: q = 8'h02; // 0x12d5 + 13'h12d6: q = 8'hca; // 0x12d6 + 13'h12d7: q = 8'he4; // 0x12d7 + 13'h12d8: q = 8'h8e; // 0x12d8 + 13'h12d9: q = 8'hd0; // 0x12d9 + 13'h12da: q = 8'hf2; // 0x12da + 13'h12db: q = 8'ha9; // 0x12db + 13'h12dc: q = 8'h01; // 0x12dc + 13'h12dd: q = 8'h95; // 0x12dd + 13'h12de: q = 8'h1a; // 0x12de + 13'h12df: q = 8'ha9; // 0x12df + 13'h12e0: q = 8'h00; // 0x12e0 + 13'h12e1: q = 8'h95; // 0x12e1 + 13'h12e2: q = 8'h1b; // 0x12e2 + 13'h12e3: q = 8'h95; // 0x12e3 + 13'h12e4: q = 8'h1c; // 0x12e4 + 13'h12e5: q = 8'h85; // 0x12e5 + 13'h12e6: q = 8'hb9; // 0x12e6 + 13'h12e7: q = 8'ha6; // 0x12e7 + 13'h12e8: q = 8'h8d; // 0x12e8 + 13'h12e9: q = 8'hb5; // 0x12e9 + 13'h12ea: q = 8'hac; // 0x12ea + 13'h12eb: q = 8'h99; // 0x12eb + 13'h12ec: q = 8'h04; // 0x12ec + 13'h12ed: q = 8'h00; // 0x12ed + 13'h12ee: q = 8'hb5; // 0x12ee + 13'h12ef: q = 8'haa; // 0x12ef + 13'h12f0: q = 8'h99; // 0x12f0 + 13'h12f1: q = 8'h03; // 0x12f1 + 13'h12f2: q = 8'h00; // 0x12f2 + 13'h12f3: q = 8'hb5; // 0x12f3 + 13'h12f4: q = 8'ha8; // 0x12f4 + 13'h12f5: q = 8'h99; // 0x12f5 + 13'h12f6: q = 8'h02; // 0x12f6 + 13'h12f7: q = 8'h00; // 0x12f7 + 13'h12f8: q = 8'ha9; // 0x12f8 + 13'h12f9: q = 8'hf0; // 0x12f9 + 13'h12fa: q = 8'h85; // 0x12fa + 13'h12fb: q = 8'h01; // 0x12fb + 13'h12fc: q = 8'hd0; // 0x12fc + 13'h12fd: q = 8'ha0; // 0x12fd + 13'h12fe: q = 8'ha9; // 0x12fe + 13'h12ff: q = 8'h1f; // 0x12ff + 13'h1300: q = 8'h45; // 0x1300 + 13'h1301: q = 8'hf5; // 0x1301 + 13'h1302: q = 8'h85; // 0x1302 + 13'h1303: q = 8'h91; // 0x1303 + 13'h1304: q = 8'ha9; // 0x1304 + 13'h1305: q = 8'h04; // 0x1305 + 13'h1306: q = 8'h45; // 0x1306 + 13'h1307: q = 8'hf7; // 0x1307 + 13'h1308: q = 8'h85; // 0x1308 + 13'h1309: q = 8'h92; // 0x1309 + 13'h130a: q = 8'ha5; // 0x130a + 13'h130b: q = 8'hac; // 0x130b + 13'h130c: q = 8'h38; // 0x130c + 13'h130d: q = 8'h20; // 0x130d + 13'h130e: q = 8'h4f; // 0x130e + 13'h130f: q = 8'h38; // 0x130f + 13'h1310: q = 8'ha5; // 0x1310 + 13'h1311: q = 8'haa; // 0x1311 + 13'h1312: q = 8'h20; // 0x1312 + 13'h1313: q = 8'h4f; // 0x1313 + 13'h1314: q = 8'h38; // 0x1314 + 13'h1315: q = 8'ha5; // 0x1315 + 13'h1316: q = 8'ha8; // 0x1316 + 13'h1317: q = 8'h18; // 0x1317 + 13'h1318: q = 8'h20; // 0x1318 + 13'h1319: q = 8'h4f; // 0x1319 + 13'h131a: q = 8'h38; // 0x131a + 13'h131b: q = 8'ha4; // 0x131b + 13'h131c: q = 8'h89; // 0x131c + 13'h131d: q = 8'h88; // 0x131d + 13'h131e: q = 8'hf0; // 0x131e + 13'h131f: q = 8'h1d; // 0x131f + 13'h1320: q = 8'ha9; // 0x1320 + 13'h1321: q = 8'h07; // 0x1321 + 13'h1322: q = 8'h45; // 0x1322 + 13'h1323: q = 8'hf7; // 0x1323 + 13'h1324: q = 8'h85; // 0x1324 + 13'h1325: q = 8'h92; // 0x1325 + 13'h1326: q = 8'ha9; // 0x1326 + 13'h1327: q = 8'h1f; // 0x1327 + 13'h1328: q = 8'h45; // 0x1328 + 13'h1329: q = 8'hf5; // 0x1329 + 13'h132a: q = 8'h85; // 0x132a + 13'h132b: q = 8'h91; // 0x132b + 13'h132c: q = 8'ha5; // 0x132c + 13'h132d: q = 8'had; // 0x132d + 13'h132e: q = 8'h38; // 0x132e + 13'h132f: q = 8'h20; // 0x132f + 13'h1330: q = 8'h4f; // 0x1330 + 13'h1331: q = 8'h38; // 0x1331 + 13'h1332: q = 8'ha5; // 0x1332 + 13'h1333: q = 8'hab; // 0x1333 + 13'h1334: q = 8'h20; // 0x1334 + 13'h1335: q = 8'h4f; // 0x1335 + 13'h1336: q = 8'h38; // 0x1336 + 13'h1337: q = 8'ha5; // 0x1337 + 13'h1338: q = 8'ha9; // 0x1338 + 13'h1339: q = 8'h18; // 0x1339 + 13'h133a: q = 8'h20; // 0x133a + 13'h133b: q = 8'h4f; // 0x133b + 13'h133c: q = 8'h38; // 0x133c + 13'h133d: q = 8'ha9; // 0x133d + 13'h133e: q = 8'h9f; // 0x133e + 13'h133f: q = 8'h45; // 0x133f + 13'h1340: q = 8'hf5; // 0x1340 + 13'h1341: q = 8'h85; // 0x1341 + 13'h1342: q = 8'h91; // 0x1342 + 13'h1343: q = 8'ha9; // 0x1343 + 13'h1344: q = 8'h05; // 0x1344 + 13'h1345: q = 8'h45; // 0x1345 + 13'h1346: q = 8'hf7; // 0x1346 + 13'h1347: q = 8'h85; // 0x1347 + 13'h1348: q = 8'h92; // 0x1348 + 13'h1349: q = 8'ha5; // 0x1349 + 13'h134a: q = 8'h04; // 0x134a + 13'h134b: q = 8'h38; // 0x134b + 13'h134c: q = 8'h20; // 0x134c + 13'h134d: q = 8'h4f; // 0x134d + 13'h134e: q = 8'h38; // 0x134e + 13'h134f: q = 8'ha5; // 0x134f + 13'h1350: q = 8'h03; // 0x1350 + 13'h1351: q = 8'h20; // 0x1351 + 13'h1352: q = 8'h4f; // 0x1352 + 13'h1353: q = 8'h38; // 0x1353 + 13'h1354: q = 8'ha5; // 0x1354 + 13'h1355: q = 8'h02; // 0x1355 + 13'h1356: q = 8'h18; // 0x1356 + 13'h1357: q = 8'h4c; // 0x1357 + 13'h1358: q = 8'h4f; // 0x1358 + 13'h1359: q = 8'h38; // 0x1359 + 13'h135a: q = 8'hff; // 0x135a + 13'h135b: q = 8'hff; // 0x135b + 13'h135c: q = 8'hff; // 0x135c + 13'h135d: q = 8'hf1; // 0x135d + 13'h135e: q = 8'ha2; // 0x135e + 13'h135f: q = 8'h02; // 0x135f + 13'h1360: q = 8'had; // 0x1360 + 13'h1361: q = 8'h01; // 0x1361 + 13'h1362: q = 8'h0c; // 0x1362 + 13'h1363: q = 8'he0; // 0x1363 + 13'h1364: q = 8'h01; // 0x1364 + 13'h1365: q = 8'hf0; // 0x1365 + 13'h1366: q = 8'h03; // 0x1366 + 13'h1367: q = 8'hb0; // 0x1367 + 13'h1368: q = 8'h02; // 0x1368 + 13'h1369: q = 8'h0a; // 0x1369 + 13'h136a: q = 8'h0a; // 0x136a + 13'h136b: q = 8'h0a; // 0x136b + 13'h136c: q = 8'hb5; // 0x136c + 13'h136d: q = 8'hcf; // 0x136d + 13'h136e: q = 8'h29; // 0x136e + 13'h136f: q = 8'h1f; // 0x136f + 13'h1370: q = 8'hb0; // 0x1370 + 13'h1371: q = 8'h37; // 0x1371 + 13'h1372: q = 8'hf0; // 0x1372 + 13'h1373: q = 8'h10; // 0x1373 + 13'h1374: q = 8'hc9; // 0x1374 + 13'h1375: q = 8'h1b; // 0x1375 + 13'h1376: q = 8'hb0; // 0x1376 + 13'h1377: q = 8'h0a; // 0x1377 + 13'h1378: q = 8'ha8; // 0x1378 + 13'h1379: q = 8'ha5; // 0x1379 + 13'h137a: q = 8'hd4; // 0x137a + 13'h137b: q = 8'h29; // 0x137b + 13'h137c: q = 8'h07; // 0x137c + 13'h137d: q = 8'hc9; // 0x137d + 13'h137e: q = 8'h07; // 0x137e + 13'h137f: q = 8'h98; // 0x137f + 13'h1380: q = 8'h90; // 0x1380 + 13'h1381: q = 8'h02; // 0x1381 + 13'h1382: q = 8'he9; // 0x1382 + 13'h1383: q = 8'h01; // 0x1383 + 13'h1384: q = 8'h95; // 0x1384 + 13'h1385: q = 8'hcf; // 0x1385 + 13'h1386: q = 8'had; // 0x1386 + 13'h1387: q = 8'h01; // 0x1387 + 13'h1388: q = 8'h0c; // 0x1388 + 13'h1389: q = 8'h29; // 0x1389 + 13'h138a: q = 8'h10; // 0x138a + 13'h138b: q = 8'hd0; // 0x138b + 13'h138c: q = 8'h04; // 0x138c + 13'h138d: q = 8'ha9; // 0x138d + 13'h138e: q = 8'hf0; // 0x138e + 13'h138f: q = 8'h85; // 0x138f + 13'h1390: q = 8'hd2; // 0x1390 + 13'h1391: q = 8'ha5; // 0x1391 + 13'h1392: q = 8'hd2; // 0x1392 + 13'h1393: q = 8'hf0; // 0x1393 + 13'h1394: q = 8'h08; // 0x1394 + 13'h1395: q = 8'hc6; // 0x1395 + 13'h1396: q = 8'hd2; // 0x1396 + 13'h1397: q = 8'ha9; // 0x1397 + 13'h1398: q = 8'h00; // 0x1398 + 13'h1399: q = 8'h95; // 0x1399 + 13'h139a: q = 8'hcf; // 0x139a + 13'h139b: q = 8'h95; // 0x139b + 13'h139c: q = 8'hcc; // 0x139c + 13'h139d: q = 8'h18; // 0x139d + 13'h139e: q = 8'hb5; // 0x139e + 13'h139f: q = 8'hcc; // 0x139f + 13'h13a0: q = 8'hf0; // 0x13a0 + 13'h13a1: q = 8'h23; // 0x13a1 + 13'h13a2: q = 8'hd6; // 0x13a2 + 13'h13a3: q = 8'hcc; // 0x13a3 + 13'h13a4: q = 8'hd0; // 0x13a4 + 13'h13a5: q = 8'h1f; // 0x13a5 + 13'h13a6: q = 8'h38; // 0x13a6 + 13'h13a7: q = 8'hb0; // 0x13a7 + 13'h13a8: q = 8'h1c; // 0x13a8 + 13'h13a9: q = 8'hc9; // 0x13a9 + 13'h13aa: q = 8'h1b; // 0x13aa + 13'h13ab: q = 8'hb0; // 0x13ab + 13'h13ac: q = 8'h09; // 0x13ac + 13'h13ad: q = 8'hb5; // 0x13ad + 13'h13ae: q = 8'hcf; // 0x13ae + 13'h13af: q = 8'h69; // 0x13af + 13'h13b0: q = 8'h20; // 0x13b0 + 13'h13b1: q = 8'h90; // 0x13b1 + 13'h13b2: q = 8'hd1; // 0x13b2 + 13'h13b3: q = 8'hf0; // 0x13b3 + 13'h13b4: q = 8'h01; // 0x13b4 + 13'h13b5: q = 8'h18; // 0x13b5 + 13'h13b6: q = 8'ha9; // 0x13b6 + 13'h13b7: q = 8'h1f; // 0x13b7 + 13'h13b8: q = 8'hb0; // 0x13b8 + 13'h13b9: q = 8'hca; // 0x13b9 + 13'h13ba: q = 8'h95; // 0x13ba + 13'h13bb: q = 8'hcf; // 0x13bb + 13'h13bc: q = 8'hb5; // 0x13bc + 13'h13bd: q = 8'hcc; // 0x13bd + 13'h13be: q = 8'hf0; // 0x13be + 13'h13bf: q = 8'h01; // 0x13bf + 13'h13c0: q = 8'h38; // 0x13c0 + 13'h13c1: q = 8'ha9; // 0x13c1 + 13'h13c2: q = 8'h78; // 0x13c2 + 13'h13c3: q = 8'h95; // 0x13c3 + 13'h13c4: q = 8'hcc; // 0x13c4 + 13'h13c5: q = 8'h90; // 0x13c5 + 13'h13c6: q = 8'h2a; // 0x13c6 + 13'h13c7: q = 8'ha9; // 0x13c7 + 13'h13c8: q = 8'h00; // 0x13c8 + 13'h13c9: q = 8'he0; // 0x13c9 + 13'h13ca: q = 8'h01; // 0x13ca + 13'h13cb: q = 8'h90; // 0x13cb + 13'h13cc: q = 8'h16; // 0x13cc + 13'h13cd: q = 8'hf0; // 0x13cd + 13'h13ce: q = 8'h0c; // 0x13ce + 13'h13cf: q = 8'ha5; // 0x13cf + 13'h13d0: q = 8'hd3; // 0x13d0 + 13'h13d1: q = 8'h29; // 0x13d1 + 13'h13d2: q = 8'h0c; // 0x13d2 + 13'h13d3: q = 8'h4a; // 0x13d3 + 13'h13d4: q = 8'h4a; // 0x13d4 + 13'h13d5: q = 8'hf0; // 0x13d5 + 13'h13d6: q = 8'h0c; // 0x13d6 + 13'h13d7: q = 8'h69; // 0x13d7 + 13'h13d8: q = 8'h02; // 0x13d8 + 13'h13d9: q = 8'hd0; // 0x13d9 + 13'h13da: q = 8'h08; // 0x13da + 13'h13db: q = 8'ha5; // 0x13db + 13'h13dc: q = 8'hd3; // 0x13dc + 13'h13dd: q = 8'h29; // 0x13dd + 13'h13de: q = 8'h10; // 0x13de + 13'h13df: q = 8'hf0; // 0x13df + 13'h13e0: q = 8'h02; // 0x13e0 + 13'h13e1: q = 8'ha9; // 0x13e1 + 13'h13e2: q = 8'h01; // 0x13e2 + 13'h13e3: q = 8'h38; // 0x13e3 + 13'h13e4: q = 8'h48; // 0x13e4 + 13'h13e5: q = 8'h65; // 0x13e5 + 13'h13e6: q = 8'hca; // 0x13e6 + 13'h13e7: q = 8'h85; // 0x13e7 + 13'h13e8: q = 8'hca; // 0x13e8 + 13'h13e9: q = 8'h68; // 0x13e9 + 13'h13ea: q = 8'h38; // 0x13ea + 13'h13eb: q = 8'h65; // 0x13eb + 13'h13ec: q = 8'hc9; // 0x13ec + 13'h13ed: q = 8'h85; // 0x13ed + 13'h13ee: q = 8'hc9; // 0x13ee + 13'h13ef: q = 8'hf6; // 0x13ef + 13'h13f0: q = 8'hc5; // 0x13f0 + 13'h13f1: q = 8'hca; // 0x13f1 + 13'h13f2: q = 8'h30; // 0x13f2 + 13'h13f3: q = 8'h03; // 0x13f3 + 13'h13f4: q = 8'h4c; // 0x13f4 + 13'h13f5: q = 8'h60; // 0x13f5 + 13'h13f6: q = 8'h33; // 0x13f6 + 13'h13f7: q = 8'ha5; // 0x13f7 + 13'h13f8: q = 8'hd3; // 0x13f8 + 13'h13f9: q = 8'h4a; // 0x13f9 + 13'h13fa: q = 8'h4a; // 0x13fa + 13'h13fb: q = 8'h4a; // 0x13fb + 13'h13fc: q = 8'h4a; // 0x13fc + 13'h13fd: q = 8'h4a; // 0x13fd + 13'h13fe: q = 8'ha8; // 0x13fe + 13'h13ff: q = 8'ha5; // 0x13ff + 13'h1400: q = 8'hca; // 0x1400 + 13'h1401: q = 8'h38; // 0x1401 + 13'h1402: q = 8'hf9; // 0x1402 + 13'h1403: q = 8'h13; // 0x1403 + 13'h1404: q = 8'h34; // 0x1404 + 13'h1405: q = 8'h30; // 0x1405 + 13'h1406: q = 8'h14; // 0x1406 + 13'h1407: q = 8'h85; // 0x1407 + 13'h1408: q = 8'hca; // 0x1408 + 13'h1409: q = 8'he6; // 0x1409 + 13'h140a: q = 8'hcb; // 0x140a + 13'h140b: q = 8'hc0; // 0x140b + 13'h140c: q = 8'h03; // 0x140c + 13'h140d: q = 8'hd0; // 0x140d + 13'h140e: q = 8'h0c; // 0x140e + 13'h140f: q = 8'he6; // 0x140f + 13'h1410: q = 8'hcb; // 0x1410 + 13'h1411: q = 8'hd0; // 0x1411 + 13'h1412: q = 8'h08; // 0x1412 + 13'h1413: q = 8'h7f; // 0x1413 + 13'h1414: q = 8'h02; // 0x1414 + 13'h1415: q = 8'h04; // 0x1415 + 13'h1416: q = 8'h04; // 0x1416 + 13'h1417: q = 8'h05; // 0x1417 + 13'h1418: q = 8'h03; // 0x1418 + 13'h1419: q = 8'h7f; // 0x1419 + 13'h141a: q = 8'h7f; // 0x141a + 13'h141b: q = 8'ha5; // 0x141b + 13'h141c: q = 8'hd3; // 0x141c + 13'h141d: q = 8'h29; // 0x141d + 13'h141e: q = 8'h03; // 0x141e + 13'h141f: q = 8'ha8; // 0x141f + 13'h1420: q = 8'hf0; // 0x1420 + 13'h1421: q = 8'h1a; // 0x1421 + 13'h1422: q = 8'h4a; // 0x1422 + 13'h1423: q = 8'h69; // 0x1423 + 13'h1424: q = 8'h00; // 0x1424 + 13'h1425: q = 8'h49; // 0x1425 + 13'h1426: q = 8'hff; // 0x1426 + 13'h1427: q = 8'h38; // 0x1427 + 13'h1428: q = 8'h65; // 0x1428 + 13'h1429: q = 8'hc9; // 0x1429 + 13'h142a: q = 8'hb0; // 0x142a + 13'h142b: q = 8'h08; // 0x142b + 13'h142c: q = 8'h65; // 0x142c + 13'h142d: q = 8'hcb; // 0x142d + 13'h142e: q = 8'h30; // 0x142e + 13'h142f: q = 8'h0e; // 0x142f + 13'h1430: q = 8'h85; // 0x1430 + 13'h1431: q = 8'hcb; // 0x1431 + 13'h1432: q = 8'ha9; // 0x1432 + 13'h1433: q = 8'h00; // 0x1433 + 13'h1434: q = 8'hc0; // 0x1434 + 13'h1435: q = 8'h02; // 0x1435 + 13'h1436: q = 8'hb0; // 0x1436 + 13'h1437: q = 8'h02; // 0x1437 + 13'h1438: q = 8'he6; // 0x1438 + 13'h1439: q = 8'hc8; // 0x1439 + 13'h143a: q = 8'he6; // 0x143a + 13'h143b: q = 8'hc8; // 0x143b + 13'h143c: q = 8'h85; // 0x143c + 13'h143d: q = 8'hc9; // 0x143d + 13'h143e: q = 8'he6; // 0x143e + 13'h143f: q = 8'hd4; // 0x143f + 13'h1440: q = 8'ha5; // 0x1440 + 13'h1441: q = 8'hd4; // 0x1441 + 13'h1442: q = 8'h4a; // 0x1442 + 13'h1443: q = 8'hb0; // 0x1443 + 13'h1444: q = 8'h27; // 0x1444 + 13'h1445: q = 8'ha0; // 0x1445 + 13'h1446: q = 8'h00; // 0x1446 + 13'h1447: q = 8'ha2; // 0x1447 + 13'h1448: q = 8'h02; // 0x1448 + 13'h1449: q = 8'hb5; // 0x1449 + 13'h144a: q = 8'hc5; // 0x144a + 13'h144b: q = 8'hf0; // 0x144b + 13'h144c: q = 8'h09; // 0x144c + 13'h144d: q = 8'hc9; // 0x144d + 13'h144e: q = 8'h10; // 0x144e + 13'h144f: q = 8'h90; // 0x144f + 13'h1450: q = 8'h05; // 0x1450 + 13'h1451: q = 8'h69; // 0x1451 + 13'h1452: q = 8'hef; // 0x1452 + 13'h1453: q = 8'hc8; // 0x1453 + 13'h1454: q = 8'h95; // 0x1454 + 13'h1455: q = 8'hc5; // 0x1455 + 13'h1456: q = 8'hca; // 0x1456 + 13'h1457: q = 8'h10; // 0x1457 + 13'h1458: q = 8'hf0; // 0x1458 + 13'h1459: q = 8'h98; // 0x1459 + 13'h145a: q = 8'hd0; // 0x145a + 13'h145b: q = 8'h10; // 0x145b + 13'h145c: q = 8'ha2; // 0x145c + 13'h145d: q = 8'h02; // 0x145d + 13'h145e: q = 8'hb5; // 0x145e + 13'h145f: q = 8'hc5; // 0x145f + 13'h1460: q = 8'hf0; // 0x1460 + 13'h1461: q = 8'h07; // 0x1461 + 13'h1462: q = 8'h18; // 0x1462 + 13'h1463: q = 8'h69; // 0x1463 + 13'h1464: q = 8'hef; // 0x1464 + 13'h1465: q = 8'h95; // 0x1465 + 13'h1466: q = 8'hc5; // 0x1466 + 13'h1467: q = 8'h30; // 0x1467 + 13'h1468: q = 8'h03; // 0x1468 + 13'h1469: q = 8'hca; // 0x1469 + 13'h146a: q = 8'h10; // 0x146a + 13'h146b: q = 8'hf2; // 0x146b + 13'h146c: q = 8'h60; // 0x146c + 13'h146d: q = 8'hc5; // 0x146d + 13'h146e: q = 8'h34; // 0x146e + 13'h146f: q = 8'hd0; // 0x146f + 13'h1470: q = 8'h34; // 0x1470 + 13'h1471: q = 8'hdc; // 0x1471 + 13'h1472: q = 8'h34; // 0x1472 + 13'h1473: q = 8'he7; // 0x1473 + 13'h1474: q = 8'h34; // 0x1474 + 13'h1475: q = 8'hf3; // 0x1475 + 13'h1476: q = 8'h34; // 0x1476 + 13'h1477: q = 8'h05; // 0x1477 + 13'h1478: q = 8'h35; // 0x1478 + 13'h1479: q = 8'h1a; // 0x1479 + 13'h147a: q = 8'h35; // 0x147a + 13'h147b: q = 8'h2f; // 0x147b + 13'h147c: q = 8'h35; // 0x147c + 13'h147d: q = 8'h43; // 0x147d + 13'h147e: q = 8'h35; // 0x147e + 13'h147f: q = 8'h54; // 0x147f + 13'h1480: q = 8'h35; // 0x1480 + 13'h1481: q = 8'h68; // 0x1481 + 13'h1482: q = 8'h35; // 0x1482 + 13'h1483: q = 8'h7c; // 0x1483 + 13'h1484: q = 8'h35; // 0x1484 + 13'h1485: q = 8'h8f; // 0x1485 + 13'h1486: q = 8'h35; // 0x1486 + 13'h1487: q = 8'ha1; // 0x1487 + 13'h1488: q = 8'h35; // 0x1488 + 13'h1489: q = 8'hb6; // 0x1489 + 13'h148a: q = 8'h35; // 0x148a + 13'h148b: q = 8'hcb; // 0x148b + 13'h148c: q = 8'h35; // 0x148c + 13'h148d: q = 8'hdf; // 0x148d + 13'h148e: q = 8'h35; // 0x148e + 13'h148f: q = 8'hec; // 0x148f + 13'h1490: q = 8'h35; // 0x1490 + 13'h1491: q = 8'hf9; // 0x1491 + 13'h1492: q = 8'h35; // 0x1492 + 13'h1493: q = 8'h0a; // 0x1493 + 13'h1494: q = 8'h36; // 0x1494 + 13'h1495: q = 8'h1d; // 0x1495 + 13'h1496: q = 8'h36; // 0x1496 + 13'h1497: q = 8'h34; // 0x1497 + 13'h1498: q = 8'h36; // 0x1498 + 13'h1499: q = 8'h54; // 0x1499 + 13'h149a: q = 8'h36; // 0x149a + 13'h149b: q = 8'h6c; // 0x149b + 13'h149c: q = 8'h36; // 0x149c + 13'h149d: q = 8'h83; // 0x149d + 13'h149e: q = 8'h36; // 0x149e + 13'h149f: q = 8'h93; // 0x149f + 13'h14a0: q = 8'h36; // 0x14a0 + 13'h14a1: q = 8'ha2; // 0x14a1 + 13'h14a2: q = 8'h36; // 0x14a2 + 13'h14a3: q = 8'hb3; // 0x14a3 + 13'h14a4: q = 8'h36; // 0x14a4 + 13'h14a5: q = 8'hc2; // 0x14a5 + 13'h14a6: q = 8'h36; // 0x14a6 + 13'h14a7: q = 8'hd1; // 0x14a7 + 13'h14a8: q = 8'h36; // 0x14a8 + 13'h14a9: q = 8'he6; // 0x14a9 + 13'h14aa: q = 8'h36; // 0x14aa + 13'h14ab: q = 8'hf9; // 0x14ab + 13'h14ac: q = 8'h36; // 0x14ac + 13'h14ad: q = 8'h04; // 0x14ad + 13'h14ae: q = 8'h37; // 0x14ae + 13'h14af: q = 8'h13; // 0x14af + 13'h14b0: q = 8'h37; // 0x14b0 + 13'h14b1: q = 8'h2c; // 0x14b1 + 13'h14b2: q = 8'h37; // 0x14b2 + 13'h14b3: q = 8'h3f; // 0x14b3 + 13'h14b4: q = 8'h37; // 0x14b4 + 13'h14b5: q = 8'h4f; // 0x14b5 + 13'h14b6: q = 8'h37; // 0x14b6 + 13'h14b7: q = 8'h5b; // 0x14b7 + 13'h14b8: q = 8'h37; // 0x14b8 + 13'h14b9: q = 8'h67; // 0x14b9 + 13'h14ba: q = 8'h37; // 0x14ba + 13'h14bb: q = 8'h73; // 0x14bb + 13'h14bc: q = 8'h37; // 0x14bc + 13'h14bd: q = 8'h80; // 0x14bd + 13'h14be: q = 8'h37; // 0x14be + 13'h14bf: q = 8'h94; // 0x14bf + 13'h14c0: q = 8'h37; // 0x14c0 + 13'h14c1: q = 8'hb0; // 0x14c1 + 13'h14c2: q = 8'h37; // 0x14c2 + 13'h14c3: q = 8'hc2; // 0x14c3 + 13'h14c4: q = 8'h37; // 0x14c4 + 13'h14c5: q = 8'h6e; // 0x14c5 + 13'h14c6: q = 8'h05; // 0x14c6 + 13'h14c7: q = 8'h51; // 0x14c7 + 13'h14c8: q = 8'h06; // 0x14c8 + 13'h14c9: q = 8'h50; // 0x14c9 + 13'h14ca: q = 8'h4c; // 0x14ca + 13'h14cb: q = 8'h41; // 0x14cb + 13'h14cc: q = 8'h59; // 0x14cc + 13'h14cd: q = 8'h45; // 0x14cd + 13'h14ce: q = 8'h52; // 0x14ce + 13'h14cf: q = 8'ha0; // 0x14cf + 13'h14d0: q = 8'h6e; // 0x14d0 + 13'h14d1: q = 8'h05; // 0x14d1 + 13'h14d2: q = 8'h51; // 0x14d2 + 13'h14d3: q = 8'h06; // 0x14d3 + 13'h14d4: q = 8'h53; // 0x14d4 + 13'h14d5: q = 8'h50; // 0x14d5 + 13'h14d6: q = 8'h49; // 0x14d6 + 13'h14d7: q = 8'h45; // 0x14d7 + 13'h14d8: q = 8'h4c; // 0x14d8 + 13'h14d9: q = 8'h45; // 0x14d9 + 13'h14da: q = 8'h52; // 0x14da + 13'h14db: q = 8'ha0; // 0x14db + 13'h14dc: q = 8'h6e; // 0x14dc + 13'h14dd: q = 8'h05; // 0x14dd + 13'h14de: q = 8'h51; // 0x14de + 13'h14df: q = 8'h06; // 0x14df + 13'h14e0: q = 8'h4a; // 0x14e0 + 13'h14e1: q = 8'h4f; // 0x14e1 + 13'h14e2: q = 8'h55; // 0x14e2 + 13'h14e3: q = 8'h45; // 0x14e3 + 13'h14e4: q = 8'h55; // 0x14e4 + 13'h14e5: q = 8'h52; // 0x14e5 + 13'h14e6: q = 8'ha0; // 0x14e6 + 13'h14e7: q = 8'h6e; // 0x14e7 + 13'h14e8: q = 8'h05; // 0x14e8 + 13'h14e9: q = 8'h51; // 0x14e9 + 13'h14ea: q = 8'h06; // 0x14ea + 13'h14eb: q = 8'h4a; // 0x14eb + 13'h14ec: q = 8'h55; // 0x14ec + 13'h14ed: q = 8'h47; // 0x14ed + 13'h14ee: q = 8'h41; // 0x14ee + 13'h14ef: q = 8'h44; // 0x14ef + 13'h14f0: q = 8'h4f; // 0x14f0 + 13'h14f1: q = 8'h52; // 0x14f1 + 13'h14f2: q = 8'ha0; // 0x14f2 + 13'h14f3: q = 8'h13; // 0x14f3 + 13'h14f4: q = 8'h05; // 0x14f4 + 13'h14f5: q = 8'hac; // 0x14f5 + 13'h14f6: q = 8'h06; // 0x14f6 + 13'h14f7: q = 8'h31; // 0x14f7 + 13'h14f8: q = 8'h20; // 0x14f8 + 13'h14f9: q = 8'h43; // 0x14f9 + 13'h14fa: q = 8'h4f; // 0x14fa + 13'h14fb: q = 8'h49; // 0x14fb + 13'h14fc: q = 8'h4e; // 0x14fc + 13'h14fd: q = 8'h20; // 0x14fd + 13'h14fe: q = 8'h32; // 0x14fe + 13'h14ff: q = 8'h20; // 0x14ff + 13'h1500: q = 8'h50; // 0x1500 + 13'h1501: q = 8'h4c; // 0x1501 + 13'h1502: q = 8'h41; // 0x1502 + 13'h1503: q = 8'h59; // 0x1503 + 13'h1504: q = 8'hd3; // 0x1504 + 13'h1505: q = 8'hf3; // 0x1505 + 13'h1506: q = 8'h04; // 0x1506 + 13'h1507: q = 8'hcc; // 0x1507 + 13'h1508: q = 8'h06; // 0x1508 + 13'h1509: q = 8'h31; // 0x1509 + 13'h150a: q = 8'h20; // 0x150a + 13'h150b: q = 8'h4d; // 0x150b + 13'h150c: q = 8'h55; // 0x150c + 13'h150d: q = 8'h45; // 0x150d + 13'h150e: q = 8'h4e; // 0x150e + 13'h150f: q = 8'h5a; // 0x150f + 13'h1510: q = 8'h45; // 0x1510 + 13'h1511: q = 8'h20; // 0x1511 + 13'h1512: q = 8'h32; // 0x1512 + 13'h1513: q = 8'h20; // 0x1513 + 13'h1514: q = 8'h53; // 0x1514 + 13'h1515: q = 8'h50; // 0x1515 + 13'h1516: q = 8'h49; // 0x1516 + 13'h1517: q = 8'h45; // 0x1517 + 13'h1518: q = 8'h4c; // 0x1518 + 13'h1519: q = 8'hc5; // 0x1519 + 13'h151a: q = 8'hf3; // 0x151a + 13'h151b: q = 8'h04; // 0x151b + 13'h151c: q = 8'hcc; // 0x151c + 13'h151d: q = 8'h06; // 0x151d + 13'h151e: q = 8'h31; // 0x151e + 13'h151f: q = 8'h20; // 0x151f + 13'h1520: q = 8'h50; // 0x1520 + 13'h1521: q = 8'h49; // 0x1521 + 13'h1522: q = 8'h45; // 0x1522 + 13'h1523: q = 8'h43; // 0x1523 + 13'h1524: q = 8'h45; // 0x1524 + 13'h1525: q = 8'h20; // 0x1525 + 13'h1526: q = 8'h32; // 0x1526 + 13'h1527: q = 8'h20; // 0x1527 + 13'h1528: q = 8'h4a; // 0x1528 + 13'h1529: q = 8'h4f; // 0x1529 + 13'h152a: q = 8'h55; // 0x152a + 13'h152b: q = 8'h45; // 0x152b + 13'h152c: q = 8'h55; // 0x152c + 13'h152d: q = 8'h52; // 0x152d + 13'h152e: q = 8'hd3; // 0x152e + 13'h152f: q = 8'hf3; // 0x152f + 13'h1530: q = 8'h04; // 0x1530 + 13'h1531: q = 8'hcc; // 0x1531 + 13'h1532: q = 8'h06; // 0x1532 + 13'h1533: q = 8'h31; // 0x1533 + 13'h1534: q = 8'h20; // 0x1534 + 13'h1535: q = 8'h46; // 0x1535 + 13'h1536: q = 8'h49; // 0x1536 + 13'h1537: q = 8'h43; // 0x1537 + 13'h1538: q = 8'h48; // 0x1538 + 13'h1539: q = 8'h41; // 0x1539 + 13'h153a: q = 8'h20; // 0x153a + 13'h153b: q = 8'h32; // 0x153b + 13'h153c: q = 8'h20; // 0x153c + 13'h153d: q = 8'h4a; // 0x153d + 13'h153e: q = 8'h55; // 0x153e + 13'h153f: q = 8'h45; // 0x153f + 13'h1540: q = 8'h47; // 0x1540 + 13'h1541: q = 8'h4f; // 0x1541 + 13'h1542: q = 8'hd3; // 0x1542 + 13'h1543: q = 8'h13; // 0x1543 + 13'h1544: q = 8'h05; // 0x1544 + 13'h1545: q = 8'hac; // 0x1545 + 13'h1546: q = 8'h06; // 0x1546 + 13'h1547: q = 8'h31; // 0x1547 + 13'h1548: q = 8'h20; // 0x1548 + 13'h1549: q = 8'h43; // 0x1549 + 13'h154a: q = 8'h4f; // 0x154a + 13'h154b: q = 8'h49; // 0x154b + 13'h154c: q = 8'h4e; // 0x154c + 13'h154d: q = 8'h20; // 0x154d + 13'h154e: q = 8'h31; // 0x154e + 13'h154f: q = 8'h20; // 0x154f + 13'h1550: q = 8'h50; // 0x1550 + 13'h1551: q = 8'h4c; // 0x1551 + 13'h1552: q = 8'h41; // 0x1552 + 13'h1553: q = 8'hd9; // 0x1553 + 13'h1554: q = 8'hf3; // 0x1554 + 13'h1555: q = 8'h04; // 0x1555 + 13'h1556: q = 8'hcc; // 0x1556 + 13'h1557: q = 8'h06; // 0x1557 + 13'h1558: q = 8'h31; // 0x1558 + 13'h1559: q = 8'h20; // 0x1559 + 13'h155a: q = 8'h4d; // 0x155a + 13'h155b: q = 8'h55; // 0x155b + 13'h155c: q = 8'h45; // 0x155c + 13'h155d: q = 8'h4e; // 0x155d + 13'h155e: q = 8'h5a; // 0x155e + 13'h155f: q = 8'h45; // 0x155f + 13'h1560: q = 8'h20; // 0x1560 + 13'h1561: q = 8'h31; // 0x1561 + 13'h1562: q = 8'h20; // 0x1562 + 13'h1563: q = 8'h53; // 0x1563 + 13'h1564: q = 8'h50; // 0x1564 + 13'h1565: q = 8'h49; // 0x1565 + 13'h1566: q = 8'h45; // 0x1566 + 13'h1567: q = 8'hcc; // 0x1567 + 13'h1568: q = 8'hf3; // 0x1568 + 13'h1569: q = 8'h04; // 0x1569 + 13'h156a: q = 8'hcc; // 0x156a + 13'h156b: q = 8'h06; // 0x156b + 13'h156c: q = 8'h31; // 0x156c + 13'h156d: q = 8'h20; // 0x156d + 13'h156e: q = 8'h50; // 0x156e + 13'h156f: q = 8'h49; // 0x156f + 13'h1570: q = 8'h45; // 0x1570 + 13'h1571: q = 8'h43; // 0x1571 + 13'h1572: q = 8'h45; // 0x1572 + 13'h1573: q = 8'h20; // 0x1573 + 13'h1574: q = 8'h31; // 0x1574 + 13'h1575: q = 8'h20; // 0x1575 + 13'h1576: q = 8'h4a; // 0x1576 + 13'h1577: q = 8'h4f; // 0x1577 + 13'h1578: q = 8'h55; // 0x1578 + 13'h1579: q = 8'h45; // 0x1579 + 13'h157a: q = 8'h55; // 0x157a + 13'h157b: q = 8'hd2; // 0x157b + 13'h157c: q = 8'hf3; // 0x157c + 13'h157d: q = 8'h04; // 0x157d + 13'h157e: q = 8'hcc; // 0x157e + 13'h157f: q = 8'h06; // 0x157f + 13'h1580: q = 8'h31; // 0x1580 + 13'h1581: q = 8'h20; // 0x1581 + 13'h1582: q = 8'h46; // 0x1582 + 13'h1583: q = 8'h49; // 0x1583 + 13'h1584: q = 8'h43; // 0x1584 + 13'h1585: q = 8'h48; // 0x1585 + 13'h1586: q = 8'h41; // 0x1586 + 13'h1587: q = 8'h20; // 0x1587 + 13'h1588: q = 8'h31; // 0x1588 + 13'h1589: q = 8'h20; // 0x1589 + 13'h158a: q = 8'h4a; // 0x158a + 13'h158b: q = 8'h55; // 0x158b + 13'h158c: q = 8'h45; // 0x158c + 13'h158d: q = 8'h47; // 0x158d + 13'h158e: q = 8'hcf; // 0x158e + 13'h158f: q = 8'h13; // 0x158f + 13'h1590: q = 8'h05; // 0x1590 + 13'h1591: q = 8'hac; // 0x1591 + 13'h1592: q = 8'h06; // 0x1592 + 13'h1593: q = 8'h32; // 0x1593 + 13'h1594: q = 8'h20; // 0x1594 + 13'h1595: q = 8'h43; // 0x1595 + 13'h1596: q = 8'h4f; // 0x1596 + 13'h1597: q = 8'h49; // 0x1597 + 13'h1598: q = 8'h4e; // 0x1598 + 13'h1599: q = 8'h53; // 0x1599 + 13'h159a: q = 8'h20; // 0x159a + 13'h159b: q = 8'h31; // 0x159b + 13'h159c: q = 8'h20; // 0x159c + 13'h159d: q = 8'h50; // 0x159d + 13'h159e: q = 8'h4c; // 0x159e + 13'h159f: q = 8'h41; // 0x159f + 13'h15a0: q = 8'hd9; // 0x15a0 + 13'h15a1: q = 8'hf3; // 0x15a1 + 13'h15a2: q = 8'h04; // 0x15a2 + 13'h15a3: q = 8'hcc; // 0x15a3 + 13'h15a4: q = 8'h06; // 0x15a4 + 13'h15a5: q = 8'h32; // 0x15a5 + 13'h15a6: q = 8'h20; // 0x15a6 + 13'h15a7: q = 8'h4d; // 0x15a7 + 13'h15a8: q = 8'h55; // 0x15a8 + 13'h15a9: q = 8'h45; // 0x15a9 + 13'h15aa: q = 8'h4e; // 0x15aa + 13'h15ab: q = 8'h5a; // 0x15ab + 13'h15ac: q = 8'h45; // 0x15ac + 13'h15ad: q = 8'h4e; // 0x15ad + 13'h15ae: q = 8'h20; // 0x15ae + 13'h15af: q = 8'h31; // 0x15af + 13'h15b0: q = 8'h20; // 0x15b0 + 13'h15b1: q = 8'h53; // 0x15b1 + 13'h15b2: q = 8'h50; // 0x15b2 + 13'h15b3: q = 8'h49; // 0x15b3 + 13'h15b4: q = 8'h45; // 0x15b4 + 13'h15b5: q = 8'hcc; // 0x15b5 + 13'h15b6: q = 8'hf3; // 0x15b6 + 13'h15b7: q = 8'h04; // 0x15b7 + 13'h15b8: q = 8'hcc; // 0x15b8 + 13'h15b9: q = 8'h06; // 0x15b9 + 13'h15ba: q = 8'h32; // 0x15ba + 13'h15bb: q = 8'h20; // 0x15bb + 13'h15bc: q = 8'h50; // 0x15bc + 13'h15bd: q = 8'h49; // 0x15bd + 13'h15be: q = 8'h45; // 0x15be + 13'h15bf: q = 8'h43; // 0x15bf + 13'h15c0: q = 8'h45; // 0x15c0 + 13'h15c1: q = 8'h53; // 0x15c1 + 13'h15c2: q = 8'h20; // 0x15c2 + 13'h15c3: q = 8'h31; // 0x15c3 + 13'h15c4: q = 8'h20; // 0x15c4 + 13'h15c5: q = 8'h4a; // 0x15c5 + 13'h15c6: q = 8'h4f; // 0x15c6 + 13'h15c7: q = 8'h55; // 0x15c7 + 13'h15c8: q = 8'h45; // 0x15c8 + 13'h15c9: q = 8'h55; // 0x15c9 + 13'h15ca: q = 8'hd2; // 0x15ca + 13'h15cb: q = 8'hf3; // 0x15cb + 13'h15cc: q = 8'h04; // 0x15cc + 13'h15cd: q = 8'hcc; // 0x15cd + 13'h15ce: q = 8'h06; // 0x15ce + 13'h15cf: q = 8'h32; // 0x15cf + 13'h15d0: q = 8'h20; // 0x15d0 + 13'h15d1: q = 8'h46; // 0x15d1 + 13'h15d2: q = 8'h49; // 0x15d2 + 13'h15d3: q = 8'h43; // 0x15d3 + 13'h15d4: q = 8'h48; // 0x15d4 + 13'h15d5: q = 8'h41; // 0x15d5 + 13'h15d6: q = 8'h53; // 0x15d6 + 13'h15d7: q = 8'h20; // 0x15d7 + 13'h15d8: q = 8'h31; // 0x15d8 + 13'h15d9: q = 8'h20; // 0x15d9 + 13'h15da: q = 8'h4a; // 0x15da + 13'h15db: q = 8'h55; // 0x15db + 13'h15dc: q = 8'h45; // 0x15dc + 13'h15dd: q = 8'h47; // 0x15dd + 13'h15de: q = 8'hcf; // 0x15de + 13'h15df: q = 8'h6f; // 0x15df + 13'h15e0: q = 8'h05; // 0x15e0 + 13'h15e1: q = 8'h50; // 0x15e1 + 13'h15e2: q = 8'h06; // 0x15e2 + 13'h15e3: q = 8'h47; // 0x15e3 + 13'h15e4: q = 8'h41; // 0x15e4 + 13'h15e5: q = 8'h4d; // 0x15e5 + 13'h15e6: q = 8'h45; // 0x15e6 + 13'h15e7: q = 8'h20; // 0x15e7 + 13'h15e8: q = 8'h4f; // 0x15e8 + 13'h15e9: q = 8'h56; // 0x15e9 + 13'h15ea: q = 8'h45; // 0x15ea + 13'h15eb: q = 8'hd2; // 0x15eb + 13'h15ec: q = 8'h6f; // 0x15ec + 13'h15ed: q = 8'h05; // 0x15ed + 13'h15ee: q = 8'h50; // 0x15ee + 13'h15ef: q = 8'h06; // 0x15ef + 13'h15f0: q = 8'h53; // 0x15f0 + 13'h15f1: q = 8'h50; // 0x15f1 + 13'h15f2: q = 8'h49; // 0x15f2 + 13'h15f3: q = 8'h45; // 0x15f3 + 13'h15f4: q = 8'h4c; // 0x15f4 + 13'h15f5: q = 8'h45; // 0x15f5 + 13'h15f6: q = 8'h4e; // 0x15f6 + 13'h15f7: q = 8'h44; // 0x15f7 + 13'h15f8: q = 8'hc5; // 0x15f8 + 13'h15f9: q = 8'h0f; // 0x15f9 + 13'h15fa: q = 8'h05; // 0x15fa + 13'h15fb: q = 8'hb0; // 0x15fb + 13'h15fc: q = 8'h06; // 0x15fc + 13'h15fd: q = 8'h46; // 0x15fd + 13'h15fe: q = 8'h49; // 0x15fe + 13'h15ff: q = 8'h4e; // 0x15ff + 13'h1600: q = 8'h20; // 0x1600 + 13'h1601: q = 8'h44; // 0x1601 + 13'h1602: q = 8'h45; // 0x1602 + 13'h1603: q = 8'h20; // 0x1603 + 13'h1604: q = 8'h50; // 0x1604 + 13'h1605: q = 8'h41; // 0x1605 + 13'h1606: q = 8'h52; // 0x1606 + 13'h1607: q = 8'h54; // 0x1607 + 13'h1608: q = 8'h49; // 0x1608 + 13'h1609: q = 8'hc5; // 0x1609 + 13'h160a: q = 8'hef; // 0x160a + 13'h160b: q = 8'h04; // 0x160b + 13'h160c: q = 8'hd0; // 0x160c + 13'h160d: q = 8'h06; // 0x160d + 13'h160e: q = 8'h4a; // 0x160e + 13'h160f: q = 8'h55; // 0x160f + 13'h1610: q = 8'h45; // 0x1610 + 13'h1611: q = 8'h47; // 0x1611 + 13'h1612: q = 8'h4f; // 0x1612 + 13'h1613: q = 8'h20; // 0x1613 + 13'h1614: q = 8'h54; // 0x1614 + 13'h1615: q = 8'h45; // 0x1615 + 13'h1616: q = 8'h52; // 0x1616 + 13'h1617: q = 8'h4d; // 0x1617 + 13'h1618: q = 8'h49; // 0x1618 + 13'h1619: q = 8'h4e; // 0x1619 + 13'h161a: q = 8'h41; // 0x161a + 13'h161b: q = 8'h44; // 0x161b + 13'h161c: q = 8'hcf; // 0x161c + 13'h161d: q = 8'hab; // 0x161d + 13'h161e: q = 8'h04; // 0x161e + 13'h161f: q = 8'h14; // 0x161f + 13'h1620: q = 8'h07; // 0x1620 + 13'h1621: q = 8'h45; // 0x1621 + 13'h1622: q = 8'h4e; // 0x1622 + 13'h1623: q = 8'h54; // 0x1623 + 13'h1624: q = 8'h45; // 0x1624 + 13'h1625: q = 8'h52; // 0x1625 + 13'h1626: q = 8'h20; // 0x1626 + 13'h1627: q = 8'h59; // 0x1627 + 13'h1628: q = 8'h4f; // 0x1628 + 13'h1629: q = 8'h55; // 0x1629 + 13'h162a: q = 8'h52; // 0x162a + 13'h162b: q = 8'h20; // 0x162b + 13'h162c: q = 8'h49; // 0x162c + 13'h162d: q = 8'h4e; // 0x162d + 13'h162e: q = 8'h49; // 0x162e + 13'h162f: q = 8'h54; // 0x162f + 13'h1630: q = 8'h49; // 0x1630 + 13'h1631: q = 8'h41; // 0x1631 + 13'h1632: q = 8'h4c; // 0x1632 + 13'h1633: q = 8'hd3; // 0x1633 + 13'h1634: q = 8'h2b; // 0x1634 + 13'h1635: q = 8'h04; // 0x1635 + 13'h1636: q = 8'h94; // 0x1636 + 13'h1637: q = 8'h07; // 0x1637 + 13'h1638: q = 8'h47; // 0x1638 + 13'h1639: q = 8'h45; // 0x1639 + 13'h163a: q = 8'h42; // 0x163a + 13'h163b: q = 8'h45; // 0x163b + 13'h163c: q = 8'h4e; // 0x163c + 13'h163d: q = 8'h20; // 0x163d + 13'h163e: q = 8'h53; // 0x163e + 13'h163f: q = 8'h49; // 0x163f + 13'h1640: q = 8'h45; // 0x1640 + 13'h1641: q = 8'h20; // 0x1641 + 13'h1642: q = 8'h49; // 0x1642 + 13'h1643: q = 8'h48; // 0x1643 + 13'h1644: q = 8'h52; // 0x1644 + 13'h1645: q = 8'h45; // 0x1645 + 13'h1646: q = 8'h20; // 0x1646 + 13'h1647: q = 8'h49; // 0x1647 + 13'h1648: q = 8'h4e; // 0x1648 + 13'h1649: q = 8'h49; // 0x1649 + 13'h164a: q = 8'h54; // 0x164a + 13'h164b: q = 8'h49; // 0x164b + 13'h164c: q = 8'h41; // 0x164c + 13'h164d: q = 8'h4c; // 0x164d + 13'h164e: q = 8'h45; // 0x164e + 13'h164f: q = 8'h4e; // 0x164f + 13'h1650: q = 8'h20; // 0x1650 + 13'h1651: q = 8'h45; // 0x1651 + 13'h1652: q = 8'h49; // 0x1652 + 13'h1653: q = 8'hce; // 0x1653 + 13'h1654: q = 8'h8b; // 0x1654 + 13'h1655: q = 8'h04; // 0x1655 + 13'h1656: q = 8'h34; // 0x1656 + 13'h1657: q = 8'h07; // 0x1657 + 13'h1658: q = 8'h45; // 0x1658 + 13'h1659: q = 8'h4e; // 0x1659 + 13'h165a: q = 8'h54; // 0x165a + 13'h165b: q = 8'h52; // 0x165b + 13'h165c: q = 8'h45; // 0x165c + 13'h165d: q = 8'h5a; // 0x165d + 13'h165e: q = 8'h20; // 0x165e + 13'h165f: q = 8'h56; // 0x165f + 13'h1660: q = 8'h4f; // 0x1660 + 13'h1661: q = 8'h53; // 0x1661 + 13'h1662: q = 8'h20; // 0x1662 + 13'h1663: q = 8'h49; // 0x1663 + 13'h1664: q = 8'h4e; // 0x1664 + 13'h1665: q = 8'h49; // 0x1665 + 13'h1666: q = 8'h54; // 0x1666 + 13'h1667: q = 8'h49; // 0x1667 + 13'h1668: q = 8'h41; // 0x1668 + 13'h1669: q = 8'h4c; // 0x1669 + 13'h166a: q = 8'h45; // 0x166a + 13'h166b: q = 8'hd3; // 0x166b + 13'h166c: q = 8'h8b; // 0x166c + 13'h166d: q = 8'h04; // 0x166d + 13'h166e: q = 8'h34; // 0x166e + 13'h166f: q = 8'h07; // 0x166f + 13'h1670: q = 8'h45; // 0x1670 + 13'h1671: q = 8'h4e; // 0x1671 + 13'h1672: q = 8'h54; // 0x1672 + 13'h1673: q = 8'h52; // 0x1673 + 13'h1674: q = 8'h45; // 0x1674 + 13'h1675: q = 8'h20; // 0x1675 + 13'h1676: q = 8'h53; // 0x1676 + 13'h1677: q = 8'h55; // 0x1677 + 13'h1678: q = 8'h53; // 0x1678 + 13'h1679: q = 8'h20; // 0x1679 + 13'h167a: q = 8'h49; // 0x167a + 13'h167b: q = 8'h4e; // 0x167b + 13'h167c: q = 8'h49; // 0x167c + 13'h167d: q = 8'h43; // 0x167d + 13'h167e: q = 8'h49; // 0x167e + 13'h167f: q = 8'h41; // 0x167f + 13'h1680: q = 8'h4c; // 0x1680 + 13'h1681: q = 8'h45; // 0x1681 + 13'h1682: q = 8'hd3; // 0x1682 + 13'h1683: q = 8'hf1; // 0x1683 + 13'h1684: q = 8'h04; // 0x1684 + 13'h1685: q = 8'hce; // 0x1685 + 13'h1686: q = 8'h06; // 0x1686 + 13'h1687: q = 8'h42; // 0x1687 + 13'h1688: q = 8'h4f; // 0x1688 + 13'h1689: q = 8'h4e; // 0x1689 + 13'h168a: q = 8'h55; // 0x168a + 13'h168b: q = 8'h53; // 0x168b + 13'h168c: q = 8'h20; // 0x168c + 13'h168d: q = 8'h45; // 0x168d + 13'h168e: q = 8'h56; // 0x168e + 13'h168f: q = 8'h45; // 0x168f + 13'h1690: q = 8'h52; // 0x1690 + 13'h1691: q = 8'h59; // 0x1691 + 13'h1692: q = 8'ha0; // 0x1692 + 13'h1693: q = 8'hf1; // 0x1693 + 13'h1694: q = 8'h04; // 0x1694 + 13'h1695: q = 8'hce; // 0x1695 + 13'h1696: q = 8'h06; // 0x1696 + 13'h1697: q = 8'h42; // 0x1697 + 13'h1698: q = 8'h4f; // 0x1698 + 13'h1699: q = 8'h4e; // 0x1699 + 13'h169a: q = 8'h55; // 0x169a + 13'h169b: q = 8'h53; // 0x169b + 13'h169c: q = 8'h20; // 0x169c + 13'h169d: q = 8'h4a; // 0x169d + 13'h169e: q = 8'h45; // 0x169e + 13'h169f: q = 8'h44; // 0x169f + 13'h16a0: q = 8'h45; // 0x16a0 + 13'h16a1: q = 8'ha0; // 0x16a1 + 13'h16a2: q = 8'hd1; // 0x16a2 + 13'h16a3: q = 8'h04; // 0x16a3 + 13'h16a4: q = 8'hee; // 0x16a4 + 13'h16a5: q = 8'h06; // 0x16a5 + 13'h16a6: q = 8'h42; // 0x16a6 + 13'h16a7: q = 8'h4f; // 0x16a7 + 13'h16a8: q = 8'h4e; // 0x16a8 + 13'h16a9: q = 8'h55; // 0x16a9 + 13'h16aa: q = 8'h53; // 0x16aa + 13'h16ab: q = 8'h20; // 0x16ab + 13'h16ac: q = 8'h43; // 0x16ac + 13'h16ad: q = 8'h48; // 0x16ad + 13'h16ae: q = 8'h41; // 0x16ae + 13'h16af: q = 8'h51; // 0x16af + 13'h16b0: q = 8'h55; // 0x16b0 + 13'h16b1: q = 8'h45; // 0x16b1 + 13'h16b2: q = 8'ha0; // 0x16b2 + 13'h16b3: q = 8'hf1; // 0x16b3 + 13'h16b4: q = 8'h04; // 0x16b4 + 13'h16b5: q = 8'hce; // 0x16b5 + 13'h16b6: q = 8'h06; // 0x16b6 + 13'h16b7: q = 8'h45; // 0x16b7 + 13'h16b8: q = 8'h58; // 0x16b8 + 13'h16b9: q = 8'h54; // 0x16b9 + 13'h16ba: q = 8'h52; // 0x16ba + 13'h16bb: q = 8'h41; // 0x16bb + 13'h16bc: q = 8'h20; // 0x16bc + 13'h16bd: q = 8'h43; // 0x16bd + 13'h16be: q = 8'h41; // 0x16be + 13'h16bf: q = 8'h44; // 0x16bf + 13'h16c0: q = 8'h41; // 0x16c0 + 13'h16c1: q = 8'ha0; // 0x16c1 + 13'h16c2: q = 8'h5d; // 0x16c2 + 13'h16c3: q = 8'h05; // 0x16c3 + 13'h16c4: q = 8'h62; // 0x16c4 + 13'h16c5: q = 8'h06; // 0x16c5 + 13'h16c6: q = 8'h48; // 0x16c6 + 13'h16c7: q = 8'h49; // 0x16c7 + 13'h16c8: q = 8'h47; // 0x16c8 + 13'h16c9: q = 8'h48; // 0x16c9 + 13'h16ca: q = 8'h20; // 0x16ca + 13'h16cb: q = 8'h53; // 0x16cb + 13'h16cc: q = 8'h43; // 0x16cc + 13'h16cd: q = 8'h4f; // 0x16cd + 13'h16ce: q = 8'h52; // 0x16ce + 13'h16cf: q = 8'h45; // 0x16cf + 13'h16d0: q = 8'hd3; // 0x16d0 + 13'h16d1: q = 8'hdd; // 0x16d1 + 13'h16d2: q = 8'h04; // 0x16d2 + 13'h16d3: q = 8'he2; // 0x16d3 + 13'h16d4: q = 8'h06; // 0x16d4 + 13'h16d5: q = 8'h48; // 0x16d5 + 13'h16d6: q = 8'h4f; // 0x16d6 + 13'h16d7: q = 8'h45; // 0x16d7 + 13'h16d8: q = 8'h43; // 0x16d8 + 13'h16d9: q = 8'h48; // 0x16d9 + 13'h16da: q = 8'h53; // 0x16da + 13'h16db: q = 8'h54; // 0x16db + 13'h16dc: q = 8'h45; // 0x16dc + 13'h16dd: q = 8'h52; // 0x16dd + 13'h16de: q = 8'h47; // 0x16de + 13'h16df: q = 8'h45; // 0x16df + 13'h16e0: q = 8'h42; // 0x16e0 + 13'h16e1: q = 8'h4e; // 0x16e1 + 13'h16e2: q = 8'h49; // 0x16e2 + 13'h16e3: q = 8'h53; // 0x16e3 + 13'h16e4: q = 8'h53; // 0x16e4 + 13'h16e5: q = 8'hc5; // 0x16e5 + 13'h16e6: q = 8'h1d; // 0x16e6 + 13'h16e7: q = 8'h05; // 0x16e7 + 13'h16e8: q = 8'ha2; // 0x16e8 + 13'h16e9: q = 8'h06; // 0x16e9 + 13'h16ea: q = 8'h4d; // 0x16ea + 13'h16eb: q = 8'h45; // 0x16eb + 13'h16ec: q = 8'h49; // 0x16ec + 13'h16ed: q = 8'h4c; // 0x16ed + 13'h16ee: q = 8'h4c; // 0x16ee + 13'h16ef: q = 8'h45; // 0x16ef + 13'h16f0: q = 8'h55; // 0x16f0 + 13'h16f1: q = 8'h52; // 0x16f1 + 13'h16f2: q = 8'h53; // 0x16f2 + 13'h16f3: q = 8'h20; // 0x16f3 + 13'h16f4: q = 8'h53; // 0x16f4 + 13'h16f5: q = 8'h43; // 0x16f5 + 13'h16f6: q = 8'h4f; // 0x16f6 + 13'h16f7: q = 8'h52; // 0x16f7 + 13'h16f8: q = 8'hc5; // 0x16f8 + 13'h16f9: q = 8'h9d; // 0x16f9 + 13'h16fa: q = 8'h05; // 0x16fa + 13'h16fb: q = 8'h22; // 0x16fb + 13'h16fc: q = 8'h06; // 0x16fc + 13'h16fd: q = 8'h52; // 0x16fd + 13'h16fe: q = 8'h45; // 0x16fe + 13'h16ff: q = 8'h43; // 0x16ff + 13'h1700: q = 8'h4f; // 0x1700 + 13'h1701: q = 8'h52; // 0x1701 + 13'h1702: q = 8'h44; // 0x1702 + 13'h1703: q = 8'hd3; // 0x1703 + 13'h1704: q = 8'h2c; // 0x1704 + 13'h1705: q = 8'h05; // 0x1705 + 13'h1706: q = 8'h93; // 0x1706 + 13'h1707: q = 8'h06; // 0x1707 + 13'h1708: q = 8'h47; // 0x1708 + 13'h1709: q = 8'h52; // 0x1709 + 13'h170a: q = 8'h45; // 0x170a + 13'h170b: q = 8'h41; // 0x170b + 13'h170c: q = 8'h54; // 0x170c + 13'h170d: q = 8'h20; // 0x170d + 13'h170e: q = 8'h53; // 0x170e + 13'h170f: q = 8'h43; // 0x170f + 13'h1710: q = 8'h4f; // 0x1710 + 13'h1711: q = 8'h52; // 0x1711 + 13'h1712: q = 8'hc5; // 0x1712 + 13'h1713: q = 8'h8c; // 0x1713 + 13'h1714: q = 8'h04; // 0x1714 + 13'h1715: q = 8'h33; // 0x1715 + 13'h1716: q = 8'h07; // 0x1716 + 13'h1717: q = 8'h47; // 0x1717 + 13'h1718: q = 8'h52; // 0x1718 + 13'h1719: q = 8'h4f; // 0x1719 + 13'h171a: q = 8'h53; // 0x171a + 13'h171b: q = 8'h53; // 0x171b + 13'h171c: q = 8'h41; // 0x171c + 13'h171d: q = 8'h52; // 0x171d + 13'h171e: q = 8'h54; // 0x171e + 13'h171f: q = 8'h49; // 0x171f + 13'h1720: q = 8'h47; // 0x1720 + 13'h1721: q = 8'h45; // 0x1721 + 13'h1722: q = 8'h53; // 0x1722 + 13'h1723: q = 8'h20; // 0x1723 + 13'h1724: q = 8'h45; // 0x1724 + 13'h1725: q = 8'h52; // 0x1725 + 13'h1726: q = 8'h47; // 0x1726 + 13'h1727: q = 8'h45; // 0x1727 + 13'h1728: q = 8'h42; // 0x1728 + 13'h1729: q = 8'h4e; // 0x1729 + 13'h172a: q = 8'h49; // 0x172a + 13'h172b: q = 8'hd3; // 0x172b + 13'h172c: q = 8'hec; // 0x172c + 13'h172d: q = 8'h04; // 0x172d + 13'h172e: q = 8'hd3; // 0x172e + 13'h172f: q = 8'h06; // 0x172f + 13'h1730: q = 8'h53; // 0x1730 + 13'h1731: q = 8'h50; // 0x1731 + 13'h1732: q = 8'h4c; // 0x1732 + 13'h1733: q = 8'h45; // 0x1733 + 13'h1734: q = 8'h4e; // 0x1734 + 13'h1735: q = 8'h44; // 0x1735 + 13'h1736: q = 8'h49; // 0x1736 + 13'h1737: q = 8'h44; // 0x1737 + 13'h1738: q = 8'h45; // 0x1738 + 13'h1739: q = 8'h20; // 0x1739 + 13'h173a: q = 8'h53; // 0x173a + 13'h173b: q = 8'h43; // 0x173b + 13'h173c: q = 8'h4f; // 0x173c + 13'h173d: q = 8'h52; // 0x173d + 13'h173e: q = 8'hc5; // 0x173e + 13'h173f: q = 8'h0c; // 0x173f + 13'h1740: q = 8'h05; // 0x1740 + 13'h1741: q = 8'hb3; // 0x1741 + 13'h1742: q = 8'h06; // 0x1742 + 13'h1743: q = 8'h47; // 0x1743 + 13'h1744: q = 8'h52; // 0x1744 + 13'h1745: q = 8'h41; // 0x1745 + 13'h1746: q = 8'h4e; // 0x1746 + 13'h1747: q = 8'h20; // 0x1747 + 13'h1748: q = 8'h50; // 0x1748 + 13'h1749: q = 8'h55; // 0x1749 + 13'h174a: q = 8'h4e; // 0x174a + 13'h174b: q = 8'h54; // 0x174b + 13'h174c: q = 8'h41; // 0x174c + 13'h174d: q = 8'h4a; // 0x174d + 13'h174e: q = 8'hc5; // 0x174e + 13'h174f: q = 8'h52; // 0x174f + 13'h1750: q = 8'h05; // 0x1750 + 13'h1751: q = 8'h6d; // 0x1751 + 13'h1752: q = 8'h06; // 0x1752 + 13'h1753: q = 8'h43; // 0x1753 + 13'h1754: q = 8'h52; // 0x1754 + 13'h1755: q = 8'h45; // 0x1755 + 13'h1756: q = 8'h44; // 0x1756 + 13'h1757: q = 8'h49; // 0x1757 + 13'h1758: q = 8'h54; // 0x1758 + 13'h1759: q = 8'h53; // 0x1759 + 13'h175a: q = 8'ha0; // 0x175a + 13'h175b: q = 8'h52; // 0x175b + 13'h175c: q = 8'h05; // 0x175c + 13'h175d: q = 8'h6d; // 0x175d + 13'h175e: q = 8'h06; // 0x175e + 13'h175f: q = 8'h4b; // 0x175f + 13'h1760: q = 8'h52; // 0x1760 + 13'h1761: q = 8'h45; // 0x1761 + 13'h1762: q = 8'h44; // 0x1762 + 13'h1763: q = 8'h49; // 0x1763 + 13'h1764: q = 8'h54; // 0x1764 + 13'h1765: q = 8'h45; // 0x1765 + 13'h1766: q = 8'ha0; // 0x1766 + 13'h1767: q = 8'h52; // 0x1767 + 13'h1768: q = 8'h05; // 0x1768 + 13'h1769: q = 8'h6d; // 0x1769 + 13'h176a: q = 8'h06; // 0x176a + 13'h176b: q = 8'h43; // 0x176b + 13'h176c: q = 8'h52; // 0x176c + 13'h176d: q = 8'h45; // 0x176d + 13'h176e: q = 8'h44; // 0x176e + 13'h176f: q = 8'h49; // 0x176f + 13'h1770: q = 8'h54; // 0x1770 + 13'h1771: q = 8'h53; // 0x1771 + 13'h1772: q = 8'ha0; // 0x1772 + 13'h1773: q = 8'h52; // 0x1773 + 13'h1774: q = 8'h05; // 0x1774 + 13'h1775: q = 8'h6d; // 0x1775 + 13'h1776: q = 8'h06; // 0x1776 + 13'h1777: q = 8'h43; // 0x1777 + 13'h1778: q = 8'h52; // 0x1778 + 13'h1779: q = 8'h45; // 0x1779 + 13'h177a: q = 8'h44; // 0x177a + 13'h177b: q = 8'h49; // 0x177b + 13'h177c: q = 8'h54; // 0x177c + 13'h177d: q = 8'h4f; // 0x177d + 13'h177e: q = 8'h53; // 0x177e + 13'h177f: q = 8'ha0; // 0x177f + 13'h1780: q = 8'hf0; // 0x1780 + 13'h1781: q = 8'h04; // 0x1781 + 13'h1782: q = 8'hcf; // 0x1782 + 13'h1783: q = 8'h06; // 0x1783 + 13'h1784: q = 8'h32; // 0x1784 + 13'h1785: q = 8'h20; // 0x1785 + 13'h1786: q = 8'h43; // 0x1786 + 13'h1787: q = 8'h52; // 0x1787 + 13'h1788: q = 8'h45; // 0x1788 + 13'h1789: q = 8'h44; // 0x1789 + 13'h178a: q = 8'h49; // 0x178a + 13'h178b: q = 8'h54; // 0x178b + 13'h178c: q = 8'h20; // 0x178c + 13'h178d: q = 8'h4d; // 0x178d + 13'h178e: q = 8'h49; // 0x178e + 13'h178f: q = 8'h4e; // 0x178f + 13'h1790: q = 8'h49; // 0x1790 + 13'h1791: q = 8'h4d; // 0x1791 + 13'h1792: q = 8'h55; // 0x1792 + 13'h1793: q = 8'hcd; // 0x1793 + 13'h1794: q = 8'h30; // 0x1794 + 13'h1795: q = 8'h04; // 0x1795 + 13'h1796: q = 8'h8f; // 0x1796 + 13'h1797: q = 8'h07; // 0x1797 + 13'h1798: q = 8'h47; // 0x1798 + 13'h1799: q = 8'h45; // 0x1799 + 13'h179a: q = 8'h4c; // 0x179a + 13'h179b: q = 8'h44; // 0x179b + 13'h179c: q = 8'h45; // 0x179c + 13'h179d: q = 8'h49; // 0x179d + 13'h179e: q = 8'h4e; // 0x179e + 13'h179f: q = 8'h57; // 0x179f + 13'h17a0: q = 8'h55; // 0x17a0 + 13'h17a1: q = 8'h52; // 0x17a1 + 13'h17a2: q = 8'h46; // 0x17a2 + 13'h17a3: q = 8'h20; // 0x17a3 + 13'h17a4: q = 8'h46; // 0x17a4 + 13'h17a5: q = 8'h55; // 0x17a5 + 13'h17a6: q = 8'h52; // 0x17a6 + 13'h17a7: q = 8'h20; // 0x17a7 + 13'h17a8: q = 8'h32; // 0x17a8 + 13'h17a9: q = 8'h20; // 0x17a9 + 13'h17aa: q = 8'h53; // 0x17aa + 13'h17ab: q = 8'h50; // 0x17ab + 13'h17ac: q = 8'h49; // 0x17ac + 13'h17ad: q = 8'h45; // 0x17ad + 13'h17ae: q = 8'h4c; // 0x17ae + 13'h17af: q = 8'hc5; // 0x17af + 13'h17b0: q = 8'hf0; // 0x17b0 + 13'h17b1: q = 8'h04; // 0x17b1 + 13'h17b2: q = 8'hcf; // 0x17b2 + 13'h17b3: q = 8'h06; // 0x17b3 + 13'h17b4: q = 8'h32; // 0x17b4 + 13'h17b5: q = 8'h20; // 0x17b5 + 13'h17b6: q = 8'h4a; // 0x17b6 + 13'h17b7: q = 8'h55; // 0x17b7 + 13'h17b8: q = 8'h45; // 0x17b8 + 13'h17b9: q = 8'h58; // 0x17b9 + 13'h17ba: q = 8'h20; // 0x17ba + 13'h17bb: q = 8'h4d; // 0x17bb + 13'h17bc: q = 8'h49; // 0x17bc + 13'h17bd: q = 8'h4e; // 0x17bd + 13'h17be: q = 8'h49; // 0x17be + 13'h17bf: q = 8'h4d; // 0x17bf + 13'h17c0: q = 8'h55; // 0x17c0 + 13'h17c1: q = 8'hcd; // 0x17c1 + 13'h17c2: q = 8'hf0; // 0x17c2 + 13'h17c3: q = 8'h04; // 0x17c3 + 13'h17c4: q = 8'hcf; // 0x17c4 + 13'h17c5: q = 8'h06; // 0x17c5 + 13'h17c6: q = 8'h32; // 0x17c6 + 13'h17c7: q = 8'h20; // 0x17c7 + 13'h17c8: q = 8'h4a; // 0x17c8 + 13'h17c9: q = 8'h55; // 0x17c9 + 13'h17ca: q = 8'h45; // 0x17ca + 13'h17cb: q = 8'h47; // 0x17cb + 13'h17cc: q = 8'h41; // 0x17cc + 13'h17cd: q = 8'h53; // 0x17cd + 13'h17ce: q = 8'h20; // 0x17ce + 13'h17cf: q = 8'h4d; // 0x17cf + 13'h17d0: q = 8'h49; // 0x17d0 + 13'h17d1: q = 8'h4e; // 0x17d1 + 13'h17d2: q = 8'h49; // 0x17d2 + 13'h17d3: q = 8'h4d; // 0x17d3 + 13'h17d4: q = 8'hb0; // 0x17d4 + 13'h17d5: q = 8'h0a; // 0x17d5 + 13'h17d6: q = 8'h66; // 0x17d6 + 13'h17d7: q = 8'h8c; // 0x17d7 + 13'h17d8: q = 8'ha8; // 0x17d8 + 13'h17d9: q = 8'h0a; // 0x17d9 + 13'h17da: q = 8'h85; // 0x17da + 13'h17db: q = 8'h8b; // 0x17db + 13'h17dc: q = 8'ha5; // 0x17dc + 13'h17dd: q = 8'hfd; // 0x17dd + 13'h17de: q = 8'h29; // 0x17de + 13'h17df: q = 8'h03; // 0x17df + 13'h17e0: q = 8'h05; // 0x17e0 + 13'h17e1: q = 8'h8b; // 0x17e1 + 13'h17e2: q = 8'h0a; // 0x17e2 + 13'h17e3: q = 8'haa; // 0x17e3 + 13'h17e4: q = 8'hbd; // 0x17e4 + 13'h17e5: q = 8'h6d; // 0x17e5 + 13'h17e6: q = 8'h34; // 0x17e6 + 13'h17e7: q = 8'h85; // 0x17e7 + 13'h17e8: q = 8'h93; // 0x17e8 + 13'h17e9: q = 8'hbd; // 0x17e9 + 13'h17ea: q = 8'h6e; // 0x17ea + 13'h17eb: q = 8'h34; // 0x17eb + 13'h17ec: q = 8'h85; // 0x17ec + 13'h17ed: q = 8'h94; // 0x17ed + 13'h17ee: q = 8'ha0; // 0x17ee + 13'h17ef: q = 8'h00; // 0x17ef + 13'h17f0: q = 8'ha6; // 0x17f0 + 13'h17f1: q = 8'hef; // 0x17f1 + 13'h17f2: q = 8'hf0; // 0x17f2 + 13'h17f3: q = 8'h02; // 0x17f3 + 13'h17f4: q = 8'ha0; // 0x17f4 + 13'h17f5: q = 8'h02; // 0x17f5 + 13'h17f6: q = 8'hb1; // 0x17f6 + 13'h17f7: q = 8'h93; // 0x17f7 + 13'h17f8: q = 8'h85; // 0x17f8 + 13'h17f9: q = 8'h91; // 0x17f9 + 13'h17fa: q = 8'hc8; // 0x17fa + 13'h17fb: q = 8'hb1; // 0x17fb + 13'h17fc: q = 8'h93; // 0x17fc + 13'h17fd: q = 8'h85; // 0x17fd + 13'h17fe: q = 8'h92; // 0x17fe + 13'h17ff: q = 8'ha0; // 0x17ff + // ../src/centiped3/136001-310.j1 + 13'h1800: q = 8'h04; // 0x1800 + 13'h1801: q = 8'h84; // 0x1801 + 13'h1802: q = 8'h8b; // 0x1802 + 13'h1803: q = 8'ha4; // 0x1803 + 13'h1804: q = 8'h8b; // 0x1804 + 13'h1805: q = 8'hb1; // 0x1805 + 13'h1806: q = 8'h93; // 0x1806 + 13'h1807: q = 8'h29; // 0x1807 + 13'h1808: q = 8'h3f; // 0x1808 + 13'h1809: q = 8'hc9; // 0x1809 + 13'h180a: q = 8'h20; // 0x180a + 13'h180b: q = 8'hf0; // 0x180b + 13'h180c: q = 8'h04; // 0x180c + 13'h180d: q = 8'ha6; // 0x180d + 13'h180e: q = 8'h8c; // 0x180e + 13'h180f: q = 8'h10; // 0x180f + 13'h1810: q = 8'h02; // 0x1810 + 13'h1811: q = 8'ha9; // 0x1811 + 13'h1812: q = 8'h00; // 0x1812 + 13'h1813: q = 8'hc9; // 0x1813 + 13'h1814: q = 8'h30; // 0x1814 + 13'h1815: q = 8'h90; // 0x1815 + 13'h1816: q = 8'h02; // 0x1816 + 13'h1817: q = 8'h29; // 0x1817 + 13'h1818: q = 8'h2f; // 0x1818 + 13'h1819: q = 8'h20; // 0x1819 + 13'h181a: q = 8'h36; // 0x181a + 13'h181b: q = 8'h38; // 0x181b + 13'h181c: q = 8'ha4; // 0x181c + 13'h181d: q = 8'h8b; // 0x181d + 13'h181e: q = 8'he6; // 0x181e + 13'h181f: q = 8'h8b; // 0x181f + 13'h1820: q = 8'hb1; // 0x1820 + 13'h1821: q = 8'h93; // 0x1821 + 13'h1822: q = 8'h10; // 0x1822 + 13'h1823: q = 8'hdf; // 0x1823 + 13'h1824: q = 8'h60; // 0x1824 + 13'h1825: q = 8'ha0; // 0x1825 + 13'h1826: q = 8'h00; // 0x1826 + 13'h1827: q = 8'h84; // 0x1827 + 13'h1828: q = 8'h8c; // 0x1828 + 13'h1829: q = 8'hf0; // 0x1829 + 13'h182a: q = 8'hd6; // 0x182a + 13'h182b: q = 8'h10; // 0x182b + 13'h182c: q = 8'h05; // 0x182c + 13'h182d: q = 8'h49; // 0x182d + 13'h182e: q = 8'hff; // 0x182e + 13'h182f: q = 8'h18; // 0x182f + 13'h1830: q = 8'h69; // 0x1830 + 13'h1831: q = 8'h01; // 0x1831 + 13'h1832: q = 8'h60; // 0x1832 + 13'h1833: q = 8'hb9; // 0x1833 + 13'h1834: q = 8'h1a; // 0x1834 + 13'h1835: q = 8'h00; // 0x1835 + 13'h1836: q = 8'ha8; // 0x1836 + 13'h1837: q = 8'hf0; // 0x1837 + 13'h1838: q = 8'h02; // 0x1838 + 13'h1839: q = 8'h45; // 0x1839 + 13'h183a: q = 8'hef; // 0x183a + 13'h183b: q = 8'ha0; // 0x183b + 13'h183c: q = 8'h00; // 0x183c + 13'h183d: q = 8'h91; // 0x183d + 13'h183e: q = 8'h91; // 0x183e + 13'h183f: q = 8'ha9; // 0x183f + 13'h1840: q = 8'h20; // 0x1840 + 13'h1841: q = 8'h45; // 0x1841 + 13'h1842: q = 8'hef; // 0x1842 + 13'h1843: q = 8'h18; // 0x1843 + 13'h1844: q = 8'h65; // 0x1844 + 13'h1845: q = 8'h91; // 0x1845 + 13'h1846: q = 8'h85; // 0x1846 + 13'h1847: q = 8'h91; // 0x1847 + 13'h1848: q = 8'ha5; // 0x1848 + 13'h1849: q = 8'hf3; // 0x1849 + 13'h184a: q = 8'h65; // 0x184a + 13'h184b: q = 8'h92; // 0x184b + 13'h184c: q = 8'h85; // 0x184c + 13'h184d: q = 8'h92; // 0x184d + 13'h184e: q = 8'h60; // 0x184e + 13'h184f: q = 8'h48; // 0x184f + 13'h1850: q = 8'h08; // 0x1850 + 13'h1851: q = 8'h4a; // 0x1851 + 13'h1852: q = 8'h4a; // 0x1852 + 13'h1853: q = 8'h4a; // 0x1853 + 13'h1854: q = 8'h4a; // 0x1854 + 13'h1855: q = 8'h28; // 0x1855 + 13'h1856: q = 8'h20; // 0x1856 + 13'h1857: q = 8'h5c; // 0x1857 + 13'h1858: q = 8'h38; // 0x1858 + 13'h1859: q = 8'h68; // 0x1859 + 13'h185a: q = 8'h29; // 0x185a + 13'h185b: q = 8'h0f; // 0x185b + 13'h185c: q = 8'h90; // 0x185c + 13'h185d: q = 8'h04; // 0x185d + 13'h185e: q = 8'h29; // 0x185e + 13'h185f: q = 8'h0f; // 0x185f + 13'h1860: q = 8'hf0; // 0x1860 + 13'h1861: q = 8'h03; // 0x1861 + 13'h1862: q = 8'h18; // 0x1862 + 13'h1863: q = 8'h09; // 0x1863 + 13'h1864: q = 8'h20; // 0x1864 + 13'h1865: q = 8'h08; // 0x1865 + 13'h1866: q = 8'hc9; // 0x1866 + 13'h1867: q = 8'h2a; // 0x1867 + 13'h1868: q = 8'h90; // 0x1868 + 13'h1869: q = 8'h02; // 0x1869 + 13'h186a: q = 8'he9; // 0x186a + 13'h186b: q = 8'h29; // 0x186b + 13'h186c: q = 8'h20; // 0x186c + 13'h186d: q = 8'h36; // 0x186d + 13'h186e: q = 8'h38; // 0x186e + 13'h186f: q = 8'h28; // 0x186f + 13'h1870: q = 8'h60; // 0x1870 + 13'h1871: q = 8'h48; // 0x1871 + 13'h1872: q = 8'h8a; // 0x1872 + 13'h1873: q = 8'h48; // 0x1873 + 13'h1874: q = 8'h98; // 0x1874 + 13'h1875: q = 8'h48; // 0x1875 + 13'h1876: q = 8'hd8; // 0x1876 + 13'h1877: q = 8'ha5; // 0x1877 + 13'h1878: q = 8'hd2; // 0x1878 + 13'h1879: q = 8'hf0; // 0x1879 + 13'h187a: q = 8'h0a; // 0x187a + 13'h187b: q = 8'ha9; // 0x187b + 13'h187c: q = 8'h10; // 0x187c + 13'h187d: q = 8'h8d; // 0x187d + 13'h187e: q = 8'h02; // 0x187e + 13'h187f: q = 8'h10; // 0x187f + 13'h1880: q = 8'ha9; // 0x1880 + 13'h1881: q = 8'haf; // 0x1881 + 13'h1882: q = 8'h8d; // 0x1882 + 13'h1883: q = 8'h03; // 0x1883 + 13'h1884: q = 8'h10; // 0x1884 + 13'h1885: q = 8'h2c; // 0x1885 + 13'h1886: q = 8'h00; // 0x1886 + 13'h1887: q = 8'h0c; // 0x1887 + 13'h1888: q = 8'h70; // 0x1888 + 13'h1889: q = 8'h03; // 0x1889 + 13'h188a: q = 8'h4c; // 0x188a + 13'h188b: q = 8'h6d; // 0x188b + 13'h188c: q = 8'h39; // 0x188c + 13'h188d: q = 8'he6; // 0x188d + 13'h188e: q = 8'h8a; // 0x188e + 13'h188f: q = 8'he6; // 0x188f + 13'h1890: q = 8'h00; // 0x1890 + 13'h1891: q = 8'hd0; // 0x1891 + 13'h1892: q = 8'h11; // 0x1892 + 13'h1893: q = 8'he6; // 0x1893 + 13'h1894: q = 8'h01; // 0x1894 + 13'h1895: q = 8'hf8; // 0x1895 + 13'h1896: q = 8'ha5; // 0x1896 + 13'h1897: q = 8'hfb; // 0x1897 + 13'h1898: q = 8'h18; // 0x1898 + 13'h1899: q = 8'h69; // 0x1899 + 13'h189a: q = 8'h01; // 0x189a + 13'h189b: q = 8'h85; // 0x189b + 13'h189c: q = 8'hfb; // 0x189c + 13'h189d: q = 8'ha5; // 0x189d + 13'h189e: q = 8'hfc; // 0x189e + 13'h189f: q = 8'h69; // 0x189f + 13'h18a0: q = 8'h00; // 0x18a0 + 13'h18a1: q = 8'h85; // 0x18a1 + 13'h18a2: q = 8'hfc; // 0x18a2 + 13'h18a3: q = 8'hd8; // 0x18a3 + 13'h18a4: q = 8'ha5; // 0x18a4 + 13'h18a5: q = 8'h8a; // 0x18a5 + 13'h18a6: q = 8'hc9; // 0x18a6 + 13'h18a7: q = 8'h08; // 0x18a7 + 13'h18a8: q = 8'hb0; // 0x18a8 + 13'h18a9: q = 8'hfe; // 0x18a9 + 13'h18aa: q = 8'ha5; // 0x18aa + 13'h18ab: q = 8'hc8; // 0x18ab + 13'h18ac: q = 8'hc9; // 0x18ac + 13'h18ad: q = 8'h25; // 0x18ad + 13'h18ae: q = 8'hb0; // 0x18ae + 13'h18af: q = 8'hfe; // 0x18af + 13'h18b0: q = 8'hc9; // 0x18b0 + 13'h18b1: q = 8'h13; // 0x18b1 + 13'h18b2: q = 8'h90; // 0x18b2 + 13'h18b3: q = 8'h04; // 0x18b3 + 13'h18b4: q = 8'ha9; // 0x18b4 + 13'h18b5: q = 8'h12; // 0x18b5 + 13'h18b6: q = 8'h85; // 0x18b6 + 13'h18b7: q = 8'hc8; // 0x18b7 + 13'h18b8: q = 8'ha6; // 0x18b8 + 13'h18b9: q = 8'h88; // 0x18b9 + 13'h18ba: q = 8'had; // 0x18ba + 13'h18bb: q = 8'h03; // 0x18bb + 13'h18bc: q = 8'h0c; // 0x18bc + 13'h18bd: q = 8'he0; // 0x18bd + 13'h18be: q = 8'h02; // 0x18be + 13'h18bf: q = 8'hd0; // 0x18bf + 13'h18c0: q = 8'h04; // 0x18c0 + 13'h18c1: q = 8'h0a; // 0x18c1 + 13'h18c2: q = 8'h0a; // 0x18c2 + 13'h18c3: q = 8'h0a; // 0x18c3 + 13'h18c4: q = 8'h0a; // 0x18c4 + 13'h18c5: q = 8'hac; // 0x18c5 + 13'h18c6: q = 8'hb8; // 0x18c6 + 13'h18c7: q = 8'h01; // 0x18c7 + 13'h18c8: q = 8'h20; // 0x18c8 + 13'h18c9: q = 8'hea; // 0x18c9 + 13'h18ca: q = 8'h39; // 0x18ca + 13'h18cb: q = 8'h8c; // 0x18cb + 13'h18cc: q = 8'hb8; // 0x18cc + 13'h18cd: q = 8'h01; // 0x18cd + 13'h18ce: q = 8'h48; // 0x18ce + 13'h18cf: q = 8'h98; // 0x18cf + 13'h18d0: q = 8'h18; // 0x18d0 + 13'h18d1: q = 8'h65; // 0x18d1 + 13'h18d2: q = 8'hb9; // 0x18d2 + 13'h18d3: q = 8'h85; // 0x18d3 + 13'h18d4: q = 8'hb9; // 0x18d4 + 13'h18d5: q = 8'h68; // 0x18d5 + 13'h18d6: q = 8'hac; // 0x18d6 + 13'h18d7: q = 8'hb9; // 0x18d7 + 13'h18d8: q = 8'h01; // 0x18d8 + 13'h18d9: q = 8'h20; // 0x18d9 + 13'h18da: q = 8'hea; // 0x18da + 13'h18db: q = 8'h39; // 0x18db + 13'h18dc: q = 8'h8c; // 0x18dc + 13'h18dd: q = 8'hb9; // 0x18dd + 13'h18de: q = 8'h01; // 0x18de + 13'h18df: q = 8'h98; // 0x18df + 13'h18e0: q = 8'h20; // 0x18e0 + 13'h18e1: q = 8'h2d; // 0x18e1 + 13'h18e2: q = 8'h38; // 0x18e2 + 13'h18e3: q = 8'h18; // 0x18e3 + 13'h18e4: q = 8'h65; // 0x18e4 + 13'h18e5: q = 8'hbb; // 0x18e5 + 13'h18e6: q = 8'h85; // 0x18e6 + 13'h18e7: q = 8'hbb; // 0x18e7 + 13'h18e8: q = 8'hb5; // 0x18e8 + 13'h18e9: q = 8'hc2; // 0x18e9 + 13'h18ea: q = 8'h30; // 0x18ea + 13'h18eb: q = 8'h08; // 0x18eb + 13'h18ec: q = 8'hc9; // 0x18ec + 13'h18ed: q = 8'h40; // 0x18ed + 13'h18ee: q = 8'h90; // 0x18ee + 13'h18ef: q = 8'h15; // 0x18ef + 13'h18f0: q = 8'h29; // 0x18f0 + 13'h18f1: q = 8'h3f; // 0x18f1 + 13'h18f2: q = 8'h10; // 0x18f2 + 13'h18f3: q = 8'h0b; // 0x18f3 + 13'h18f4: q = 8'h29; // 0x18f4 + 13'h18f5: q = 8'h3f; // 0x18f5 + 13'h18f6: q = 8'h18; // 0x18f6 + 13'h18f7: q = 8'h69; // 0x18f7 + 13'h18f8: q = 8'h03; // 0x18f8 + 13'h18f9: q = 8'hc9; // 0x18f9 + 13'h18fa: q = 8'h2a; // 0x18fa + 13'h18fb: q = 8'h90; // 0x18fb + 13'h18fc: q = 8'h02; // 0x18fc + 13'h18fd: q = 8'ha9; // 0x18fd + 13'h18fe: q = 8'h00; // 0x18fe + 13'h18ff: q = 8'h95; // 0x18ff + 13'h1900: q = 8'hc2; // 0x1900 + 13'h1901: q = 8'haa; // 0x1901 + 13'h1902: q = 8'h20; // 0x1902 + 13'h1903: q = 8'h56; // 0x1903 + 13'h1904: q = 8'h26; // 0x1904 + 13'h1905: q = 8'ha2; // 0x1905 + 13'h1906: q = 8'h0f; // 0x1906 + 13'h1907: q = 8'hb5; // 0x1907 + 13'h1908: q = 8'h64; // 0x1908 + 13'h1909: q = 8'h9d; // 0x1909 + 13'h190a: q = 8'he0; // 0x190a + 13'h190b: q = 8'h07; // 0x190b + 13'h190c: q = 8'hb5; // 0x190c + 13'h190d: q = 8'h54; // 0x190d + 13'h190e: q = 8'ha0; // 0x190e + 13'h190f: q = 8'h00; // 0x190f + 13'h1910: q = 8'he0; // 0x1910 + 13'h1911: q = 8'h0d; // 0x1911 + 13'h1912: q = 8'hf0; // 0x1912 + 13'h1913: q = 8'h07; // 0x1913 + 13'h1914: q = 8'hb4; // 0x1914 + 13'h1915: q = 8'h44; // 0x1915 + 13'h1916: q = 8'h10; // 0x1916 + 13'h1917: q = 8'h03; // 0x1917 + 13'h1918: q = 8'h18; // 0x1918 + 13'h1919: q = 8'h69; // 0x1919 + 13'h191a: q = 8'h01; // 0x191a + 13'h191b: q = 8'h9d; // 0x191b + 13'h191c: q = 8'hd0; // 0x191c + 13'h191d: q = 8'h07; // 0x191d + 13'h191e: q = 8'h98; // 0x191e + 13'h191f: q = 8'h29; // 0x191f + 13'h1920: q = 8'h80; // 0x1920 + 13'h1921: q = 8'h85; // 0x1921 + 13'h1922: q = 8'h99; // 0x1922 + 13'h1923: q = 8'had; // 0x1923 + 13'h1924: q = 8'h00; // 0x1924 + 13'h1925: q = 8'h0c; // 0x1925 + 13'h1926: q = 8'h29; // 0x1926 + 13'h1927: q = 8'h20; // 0x1927 + 13'h1928: q = 8'hd0; // 0x1928 + 13'h1929: q = 8'h05; // 0x1929 + 13'h192a: q = 8'hb5; // 0x192a + 13'h192b: q = 8'h34; // 0x192b + 13'h192c: q = 8'h4c; // 0x192c + 13'h192d: q = 8'h56; // 0x192d + 13'h192e: q = 8'h39; // 0x192e + 13'h192f: q = 8'hb5; // 0x192f + 13'h1930: q = 8'h34; // 0x1930 + 13'h1931: q = 8'he0; // 0x1931 + 13'h1932: q = 8'h0c; // 0x1932 + 13'h1933: q = 8'hb0; // 0x1933 + 13'h1934: q = 8'h1f; // 0x1934 + 13'h1935: q = 8'h29; // 0x1935 + 13'h1936: q = 8'h3f; // 0x1936 + 13'h1937: q = 8'hc9; // 0x1937 + 13'h1938: q = 8'h30; // 0x1938 + 13'h1939: q = 8'hb0; // 0x1939 + 13'h193a: q = 8'h19; // 0x193a + 13'h193b: q = 8'h29; // 0x193b + 13'h193c: q = 8'h0f; // 0x193c + 13'h193d: q = 8'h85; // 0x193d + 13'h193e: q = 8'h98; // 0x193e + 13'h193f: q = 8'hb5; // 0x193f + 13'h1940: q = 8'h64; // 0x1940 + 13'h1941: q = 8'h29; // 0x1941 + 13'h1942: q = 8'h07; // 0x1942 + 13'h1943: q = 8'hf0; // 0x1943 + 13'h1944: q = 8'h0d; // 0x1944 + 13'h1945: q = 8'ha8; // 0x1945 + 13'h1946: q = 8'ha9; // 0x1946 + 13'h1947: q = 8'h08; // 0x1947 + 13'h1948: q = 8'hc0; // 0x1948 + 13'h1949: q = 8'h06; // 0x1949 + 13'h194a: q = 8'hb0; // 0x194a + 13'h194b: q = 8'h06; // 0x194b + 13'h194c: q = 8'hc0; // 0x194c + 13'h194d: q = 8'h03; // 0x194d + 13'h194e: q = 8'h90; // 0x194e + 13'h194f: q = 8'h02; // 0x194f + 13'h1950: q = 8'ha9; // 0x1950 + 13'h1951: q = 8'h0c; // 0x1951 + 13'h1952: q = 8'h45; // 0x1952 + 13'h1953: q = 8'h98; // 0x1953 + 13'h1954: q = 8'h45; // 0x1954 + 13'h1955: q = 8'h99; // 0x1955 + 13'h1956: q = 8'h9d; // 0x1956 + 13'h1957: q = 8'hc0; // 0x1957 + 13'h1958: q = 8'h07; // 0x1958 + 13'h1959: q = 8'hb5; // 0x1959 + 13'h195a: q = 8'h34; // 0x195a + 13'h195b: q = 8'h29; // 0x195b + 13'h195c: q = 8'h40; // 0x195c + 13'h195d: q = 8'hf0; // 0x195d + 13'h195e: q = 8'h06; // 0x195e + 13'h195f: q = 8'he0; // 0x195f + 13'h1960: q = 8'h0c; // 0x1960 + 13'h1961: q = 8'hb0; // 0x1961 + 13'h1962: q = 8'h02; // 0x1962 + 13'h1963: q = 8'ha9; // 0x1963 + 13'h1964: q = 8'h0c; // 0x1964 + 13'h1965: q = 8'h09; // 0x1965 + 13'h1966: q = 8'h39; // 0x1966 + 13'h1967: q = 8'h9d; // 0x1967 + 13'h1968: q = 8'hf0; // 0x1968 + 13'h1969: q = 8'h07; // 0x1969 + 13'h196a: q = 8'hca; // 0x196a + 13'h196b: q = 8'h10; // 0x196b + 13'h196c: q = 8'h9a; // 0x196c + 13'h196d: q = 8'had; // 0x196d + 13'h196e: q = 8'h00; // 0x196e + 13'h196f: q = 8'h0c; // 0x196f + 13'h1970: q = 8'h29; // 0x1970 + 13'h1971: q = 8'h20; // 0x1971 + 13'h1972: q = 8'hd0; // 0x1972 + 13'h1973: q = 8'h1f; // 0x1973 + 13'h1974: q = 8'ha5; // 0x1974 + 13'h1975: q = 8'hd5; // 0x1975 + 13'h1976: q = 8'h30; // 0x1976 + 13'h1977: q = 8'h3b; // 0x1977 + 13'h1978: q = 8'he6; // 0x1978 + 13'h1979: q = 8'hd5; // 0x1979 + 13'h197a: q = 8'h2c; // 0x197a + 13'h197b: q = 8'h00; // 0x197b + 13'h197c: q = 8'h0c; // 0x197c + 13'h197d: q = 8'h50; // 0x197d + 13'h197e: q = 8'h04; // 0x197e + 13'h197f: q = 8'ha9; // 0x197f + 13'h1980: q = 8'h00; // 0x1980 + 13'h1981: q = 8'h85; // 0x1981 + 13'h1982: q = 8'hd5; // 0x1982 + 13'h1983: q = 8'ha5; // 0x1983 + 13'h1984: q = 8'hd5; // 0x1984 + 13'h1985: q = 8'h0a; // 0x1985 + 13'h1986: q = 8'h0a; // 0x1986 + 13'h1987: q = 8'ha2; // 0x1987 + 13'h1988: q = 8'h03; // 0x1988 + 13'h1989: q = 8'h9d; // 0x1989 + 13'h198a: q = 8'h04; // 0x198a + 13'h198b: q = 8'h14; // 0x198b + 13'h198c: q = 8'h69; // 0x198c + 13'h198d: q = 8'h01; // 0x198d + 13'h198e: q = 8'hca; // 0x198e + 13'h198f: q = 8'h10; // 0x198f + 13'h1990: q = 8'hf8; // 0x1990 + 13'h1991: q = 8'h30; // 0x1991 + 13'h1992: q = 8'h20; // 0x1992 + 13'h1993: q = 8'h20; // 0x1993 + 13'h1994: q = 8'h5e; // 0x1994 + 13'h1995: q = 8'h33; // 0x1995 + 13'h1996: q = 8'ha2; // 0x1996 + 13'h1997: q = 8'h02; // 0x1997 + 13'h1998: q = 8'hb5; // 0x1998 + 13'h1999: q = 8'hc5; // 0x1999 + 13'h199a: q = 8'h9d; // 0x199a + 13'h199b: q = 8'h00; // 0x199b + 13'h199c: q = 8'h1c; // 0x199c + 13'h199d: q = 8'hca; // 0x199d + 13'h199e: q = 8'h10; // 0x199e + 13'h199f: q = 8'hf8; // 0x199f + 13'h19a0: q = 8'ha2; // 0x19a0 + 13'h19a1: q = 8'h0a; // 0x19a1 + 13'h19a2: q = 8'ha9; // 0x19a2 + 13'h19a3: q = 8'hf4; // 0x19a3 + 13'h19a4: q = 8'h5d; // 0x19a4 + 13'h19a5: q = 8'h03; // 0x19a5 + 13'h19a6: q = 8'h20; // 0x19a6 + 13'h19a7: q = 8'hca; // 0x19a7 + 13'h19a8: q = 8'h10; // 0x19a8 + 13'h19a9: q = 8'hfa; // 0x19a9 + 13'h19aa: q = 8'haa; // 0x19aa + 13'h19ab: q = 8'hf0; // 0x19ab + 13'h19ac: q = 8'h06; // 0x19ac + 13'h19ad: q = 8'hba; // 0x19ad + 13'h19ae: q = 8'ha9; // 0x19ae + 13'h19af: q = 8'h03; // 0x19af + 13'h19b0: q = 8'h9d; // 0x19b0 + 13'h19b1: q = 8'h04; // 0x19b1 + 13'h19b2: q = 8'h01; // 0x19b2 + 13'h19b3: q = 8'ha2; // 0x19b3 + 13'h19b4: q = 8'h02; // 0x19b4 + 13'h19b5: q = 8'hbd; // 0x19b5 + 13'h19b6: q = 8'h00; // 0x19b6 + 13'h19b7: q = 8'h0c; // 0x19b7 + 13'h19b8: q = 8'ha8; // 0x19b8 + 13'h19b9: q = 8'h38; // 0x19b9 + 13'h19ba: q = 8'hf5; // 0x19ba + 13'h19bb: q = 8'hbd; // 0x19bb + 13'h19bc: q = 8'h94; // 0x19bc + 13'h19bd: q = 8'hbd; // 0x19bd + 13'h19be: q = 8'h29; // 0x19be + 13'h19bf: q = 8'h0f; // 0x19bf + 13'h19c0: q = 8'hc9; // 0x19c0 + 13'h19c1: q = 8'h08; // 0x19c1 + 13'h19c2: q = 8'h90; // 0x19c2 + 13'h19c3: q = 8'h02; // 0x19c3 + 13'h19c4: q = 8'h09; // 0x19c4 + 13'h19c5: q = 8'hf0; // 0x19c5 + 13'h19c6: q = 8'ha8; // 0x19c6 + 13'h19c7: q = 8'hf0; // 0x19c7 + 13'h19c8: q = 8'h14; // 0x19c8 + 13'h19c9: q = 8'h55; // 0x19c9 + 13'h19ca: q = 8'hba; // 0x19ca + 13'h19cb: q = 8'h10; // 0x19cb + 13'h19cc: q = 8'h08; // 0x19cc + 13'h19cd: q = 8'h98; // 0x19cd + 13'h19ce: q = 8'h5d; // 0x19ce + 13'h19cf: q = 8'h00; // 0x19cf + 13'h19d0: q = 8'h0c; // 0x19d0 + 13'h19d1: q = 8'h10; // 0x19d1 + 13'h19d2: q = 8'h02; // 0x19d2 + 13'h19d3: q = 8'hb4; // 0x19d3 + 13'h19d4: q = 8'hba; // 0x19d4 + 13'h19d5: q = 8'h98; // 0x19d5 + 13'h19d6: q = 8'h95; // 0x19d6 + 13'h19d7: q = 8'hba; // 0x19d7 + 13'h19d8: q = 8'h18; // 0x19d8 + 13'h19d9: q = 8'h75; // 0x19d9 + 13'h19da: q = 8'hb9; // 0x19da + 13'h19db: q = 8'h95; // 0x19db + 13'h19dc: q = 8'hb9; // 0x19dc + 13'h19dd: q = 8'hca; // 0x19dd + 13'h19de: q = 8'hca; // 0x19de + 13'h19df: q = 8'h10; // 0x19df + 13'h19e0: q = 8'hd4; // 0x19e0 + 13'h19e1: q = 8'h8d; // 0x19e1 + 13'h19e2: q = 8'h00; // 0x19e2 + 13'h19e3: q = 8'h18; // 0x19e3 + 13'h19e4: q = 8'h68; // 0x19e4 + 13'h19e5: q = 8'ha8; // 0x19e5 + 13'h19e6: q = 8'h68; // 0x19e6 + 13'h19e7: q = 8'haa; // 0x19e7 + 13'h19e8: q = 8'h68; // 0x19e8 + 13'h19e9: q = 8'h40; // 0x19e9 + 13'h19ea: q = 8'h0a; // 0x19ea + 13'h19eb: q = 8'h90; // 0x19eb + 13'h19ec: q = 8'h06; // 0x19ec + 13'h19ed: q = 8'h0a; // 0x19ed + 13'h19ee: q = 8'h90; // 0x19ee + 13'h19ef: q = 8'h0e; // 0x19ef + 13'h19f0: q = 8'ha0; // 0x19f0 + 13'h19f1: q = 8'h00; // 0x19f1 + 13'h19f2: q = 8'h60; // 0x19f2 + 13'h19f3: q = 8'hc0; // 0x19f3 + 13'h19f4: q = 8'hfa; // 0x19f4 + 13'h19f5: q = 8'hf0; // 0x19f5 + 13'h19f6: q = 8'h05; // 0x19f6 + 13'h19f7: q = 8'hb0; // 0x19f7 + 13'h19f8: q = 8'h02; // 0x19f8 + 13'h19f9: q = 8'ha0; // 0x19f9 + 13'h19fa: q = 8'h00; // 0x19fa + 13'h19fb: q = 8'h88; // 0x19fb + 13'h19fc: q = 8'h0a; // 0x19fc + 13'h19fd: q = 8'h60; // 0x19fd + 13'h19fe: q = 8'hc0; // 0x19fe + 13'h19ff: q = 8'h06; // 0x19ff + 13'h1a00: q = 8'hf0; // 0x1a00 + 13'h1a01: q = 8'h05; // 0x1a01 + 13'h1a02: q = 8'h90; // 0x1a02 + 13'h1a03: q = 8'h02; // 0x1a03 + 13'h1a04: q = 8'ha0; // 0x1a04 + 13'h1a05: q = 8'h00; // 0x1a05 + 13'h1a06: q = 8'hc8; // 0x1a06 + 13'h1a07: q = 8'h60; // 0x1a07 + 13'h1a08: q = 8'ha0; // 0x1a08 + 13'h1a09: q = 8'h3c; // 0x1a09 + 13'h1a0a: q = 8'ha9; // 0x1a0a + 13'h1a0b: q = 8'hff; // 0x1a0b + 13'h1a0c: q = 8'h59; // 0x1a0c + 13'h1a0d: q = 8'h78; // 0x1a0d + 13'h1a0e: q = 8'h01; // 0x1a0e + 13'h1a0f: q = 8'h88; // 0x1a0f + 13'h1a10: q = 8'h10; // 0x1a10 + 13'h1a11: q = 8'hfa; // 0x1a11 + 13'h1a12: q = 8'hac; // 0x1a12 + 13'h1a13: q = 8'hb5; // 0x1a13 + 13'h1a14: q = 8'h01; // 0x1a14 + 13'h1a15: q = 8'h8d; // 0x1a15 + 13'h1a16: q = 8'hb5; // 0x1a16 + 13'h1a17: q = 8'h01; // 0x1a17 + 13'h1a18: q = 8'h98; // 0x1a18 + 13'h1a19: q = 8'h4d; // 0x1a19 + 13'h1a1a: q = 8'hb5; // 0x1a1a + 13'h1a1b: q = 8'h01; // 0x1a1b + 13'h1a1c: q = 8'h60; // 0x1a1c + 13'h1a1d: q = 8'ha2; // 0x1a1d + 13'h1a1e: q = 8'h2f; // 0x1a1e + 13'h1a1f: q = 8'hbd; // 0x1a1f + 13'h1a20: q = 8'h69; // 0x1a20 + 13'h1a21: q = 8'h3a; // 0x1a21 + 13'h1a22: q = 8'h95; // 0x1a22 + 13'h1a23: q = 8'h02; // 0x1a23 + 13'h1a24: q = 8'hca; // 0x1a24 + 13'h1a25: q = 8'h10; // 0x1a25 + 13'h1a26: q = 8'hf8; // 0x1a26 + 13'h1a27: q = 8'h20; // 0x1a27 + 13'h1a28: q = 8'h08; // 0x1a28 + 13'h1a29: q = 8'h3a; // 0x1a29 + 13'h1a2a: q = 8'hd0; // 0x1a2a + 13'h1a2b: q = 8'h2b; // 0x1a2b + 13'h1a2c: q = 8'ha5; // 0x1a2c + 13'h1a2d: q = 8'hfd; // 0x1a2d + 13'h1a2e: q = 8'h29; // 0x1a2e + 13'h1a2f: q = 8'h7c; // 0x1a2f + 13'h1a30: q = 8'hcd; // 0x1a30 + 13'h1a31: q = 8'h8a; // 0x1a31 + 13'h1a32: q = 8'h01; // 0x1a32 + 13'h1a33: q = 8'h8d; // 0x1a33 + 13'h1a34: q = 8'h8a; // 0x1a34 + 13'h1a35: q = 8'h01; // 0x1a35 + 13'h1a36: q = 8'hd0; // 0x1a36 + 13'h1a37: q = 8'h1e; // 0x1a37 + 13'h1a38: q = 8'had; // 0x1a38 + 13'h1a39: q = 8'h7a; // 0x1a39 + 13'h1a3a: q = 8'h01; // 0x1a3a + 13'h1a3b: q = 8'hf0; // 0x1a3b + 13'h1a3c: q = 8'h1a; // 0x1a3c + 13'h1a3d: q = 8'ha2; // 0x1a3d + 13'h1a3e: q = 8'h08; // 0x1a3e + 13'h1a3f: q = 8'hbd; // 0x1a3f + 13'h1a40: q = 8'h78; // 0x1a40 + 13'h1a41: q = 8'h01; // 0x1a41 + 13'h1a42: q = 8'h95; // 0x1a42 + 13'h1a43: q = 8'h02; // 0x1a43 + 13'h1a44: q = 8'hc9; // 0x1a44 + 13'h1a45: q = 8'h9a; // 0x1a45 + 13'h1a46: q = 8'hb0; // 0x1a46 + 13'h1a47: q = 8'h0f; // 0x1a47 + 13'h1a48: q = 8'h29; // 0x1a48 + 13'h1a49: q = 8'h0f; // 0x1a49 + 13'h1a4a: q = 8'hc9; // 0x1a4a + 13'h1a4b: q = 8'h0a; // 0x1a4b + 13'h1a4c: q = 8'hb0; // 0x1a4c + 13'h1a4d: q = 8'h09; // 0x1a4d + 13'h1a4e: q = 8'hbd; // 0x1a4e + 13'h1a4f: q = 8'h81; // 0x1a4f + 13'h1a50: q = 8'h01; // 0x1a50 + 13'h1a51: q = 8'h95; // 0x1a51 + 13'h1a52: q = 8'h1a; // 0x1a52 + 13'h1a53: q = 8'hca; // 0x1a53 + 13'h1a54: q = 8'h10; // 0x1a54 + 13'h1a55: q = 8'he9; // 0x1a55 + 13'h1a56: q = 8'h60; // 0x1a56 + 13'h1a57: q = 8'ha9; // 0x1a57 + 13'h1a58: q = 8'h00; // 0x1a58 + 13'h1a59: q = 8'ha2; // 0x1a59 + 13'h1a5a: q = 8'h3e; // 0x1a5a + 13'h1a5b: q = 8'h9d; // 0x1a5b + 13'h1a5c: q = 8'h78; // 0x1a5c + 13'h1a5d: q = 8'h01; // 0x1a5d + 13'h1a5e: q = 8'hca; // 0x1a5e + 13'h1a5f: q = 8'h10; // 0x1a5f + 13'h1a60: q = 8'hfa; // 0x1a60 + 13'h1a61: q = 8'ha5; // 0x1a61 + 13'h1a62: q = 8'hfd; // 0x1a62 + 13'h1a63: q = 8'h29; // 0x1a63 + 13'h1a64: q = 8'h7c; // 0x1a64 + 13'h1a65: q = 8'h8d; // 0x1a65 + 13'h1a66: q = 8'h8a; // 0x1a66 + 13'h1a67: q = 8'h01; // 0x1a67 + 13'h1a68: q = 8'h60; // 0x1a68 + 13'h1a69: q = 8'h43; // 0x1a69 + 13'h1a6a: q = 8'h65; // 0x1a6a + 13'h1a6b: q = 8'h01; // 0x1a6b + 13'h1a6c: q = 8'h32; // 0x1a6c + 13'h1a6d: q = 8'h54; // 0x1a6d + 13'h1a6e: q = 8'h01; // 0x1a6e + 13'h1a6f: q = 8'h20; // 0x1a6f + 13'h1a70: q = 8'h43; // 0x1a70 + 13'h1a71: q = 8'h01; // 0x1a71 + 13'h1a72: q = 8'h10; // 0x1a72 + 13'h1a73: q = 8'h32; // 0x1a73 + 13'h1a74: q = 8'h01; // 0x1a74 + 13'h1a75: q = 8'h10; // 0x1a75 + 13'h1a76: q = 8'h30; // 0x1a76 + 13'h1a77: q = 8'h01; // 0x1a77 + 13'h1a78: q = 8'h05; // 0x1a78 + 13'h1a79: q = 8'h28; // 0x1a79 + 13'h1a7a: q = 8'h01; // 0x1a7a + 13'h1a7b: q = 8'h01; // 0x1a7b + 13'h1a7c: q = 8'h22; // 0x1a7c + 13'h1a7d: q = 8'h01; // 0x1a7d + 13'h1a7e: q = 8'h02; // 0x1a7e + 13'h1a7f: q = 8'h21; // 0x1a7f + 13'h1a80: q = 8'h01; // 0x1a80 + 13'h1a81: q = 8'h05; // 0x1a81 + 13'h1a82: q = 8'h0a; // 0x1a82 + 13'h1a83: q = 8'h04; // 0x1a83 + 13'h1a84: q = 8'h04; // 0x1a84 + 13'h1a85: q = 8'h06; // 0x1a85 + 13'h1a86: q = 8'h14; // 0x1a86 + 13'h1a87: q = 8'h03; // 0x1a87 + 13'h1a88: q = 8'h01; // 0x1a88 + 13'h1a89: q = 8'h04; // 0x1a89 + 13'h1a8a: q = 8'h04; // 0x1a8a + 13'h1a8b: q = 8'h03; // 0x1a8b + 13'h1a8c: q = 8'h02; // 0x1a8c + 13'h1a8d: q = 8'h05; // 0x1a8d + 13'h1a8e: q = 8'h04; // 0x1a8e + 13'h1a8f: q = 8'h00; // 0x1a8f + 13'h1a90: q = 8'h04; // 0x1a90 + 13'h1a91: q = 8'h05; // 0x1a91 + 13'h1a92: q = 8'h17; // 0x1a92 + 13'h1a93: q = 8'h04; // 0x1a93 + 13'h1a94: q = 8'h06; // 0x1a94 + 13'h1a95: q = 8'h17; // 0x1a95 + 13'h1a96: q = 8'h07; // 0x1a96 + 13'h1a97: q = 8'h0a; // 0x1a97 + 13'h1a98: q = 8'h12; // 0x1a98 + 13'h1a99: q = 8'ha2; // 0x1a99 + 13'h1a9a: q = 8'h3f; // 0x1a9a + 13'h1a9b: q = 8'h20; // 0x1a9b + 13'h1a9c: q = 8'ha7; // 0x1a9c + 13'h1a9d: q = 8'h3a; // 0x1a9d + 13'h1a9e: q = 8'h9d; // 0x1a9e + 13'h1a9f: q = 8'h78; // 0x1a9f + 13'h1aa0: q = 8'h01; // 0x1aa0 + 13'h1aa1: q = 8'hca; // 0x1aa1 + 13'h1aa2: q = 8'h10; // 0x1aa2 + 13'h1aa3: q = 8'hf7; // 0x1aa3 + 13'h1aa4: q = 8'h86; // 0x1aa4 + 13'h1aa5: q = 8'hf9; // 0x1aa5 + 13'h1aa6: q = 8'h60; // 0x1aa6 + 13'h1aa7: q = 8'h9d; // 0x1aa7 + 13'h1aa8: q = 8'h00; // 0x1aa8 + 13'h1aa9: q = 8'h16; // 0x1aa9 + 13'h1aaa: q = 8'ha0; // 0x1aaa + 13'h1aab: q = 8'h08; // 0x1aab + 13'h1aac: q = 8'h8c; // 0x1aac + 13'h1aad: q = 8'h80; // 0x1aad + 13'h1aae: q = 8'h16; // 0x1aae + 13'h1aaf: q = 8'hc8; // 0x1aaf + 13'h1ab0: q = 8'h8c; // 0x1ab0 + 13'h1ab1: q = 8'h80; // 0x1ab1 + 13'h1ab2: q = 8'h16; // 0x1ab2 + 13'h1ab3: q = 8'h88; // 0x1ab3 + 13'h1ab4: q = 8'h8c; // 0x1ab4 + 13'h1ab5: q = 8'h80; // 0x1ab5 + 13'h1ab6: q = 8'h16; // 0x1ab6 + 13'h1ab7: q = 8'ha0; // 0x1ab7 + 13'h1ab8: q = 8'h00; // 0x1ab8 + 13'h1ab9: q = 8'hbd; // 0x1ab9 + 13'h1aba: q = 8'h00; // 0x1aba + 13'h1abb: q = 8'h17; // 0x1abb + 13'h1abc: q = 8'h8c; // 0x1abc + 13'h1abd: q = 8'h80; // 0x1abd + 13'h1abe: q = 8'h16; // 0x1abe + 13'h1abf: q = 8'h60; // 0x1abf + 13'h1ac0: q = 8'ha5; // 0x1ac0 + 13'h1ac1: q = 8'h00; // 0x1ac1 + 13'h1ac2: q = 8'h29; // 0x1ac2 + 13'h1ac3: q = 8'h03; // 0x1ac3 + 13'h1ac4: q = 8'hd0; // 0x1ac4 + 13'h1ac5: q = 8'h17; // 0x1ac5 + 13'h1ac6: q = 8'h8d; // 0x1ac6 + 13'h1ac7: q = 8'h80; // 0x1ac7 + 13'h1ac8: q = 8'h16; // 0x1ac8 + 13'h1ac9: q = 8'ha6; // 0x1ac9 + 13'h1aca: q = 8'hf9; // 0x1aca + 13'h1acb: q = 8'h30; // 0x1acb + 13'h1acc: q = 8'h10; // 0x1acc + 13'h1acd: q = 8'h46; // 0x1acd + 13'h1ace: q = 8'hfa; // 0x1ace + 13'h1acf: q = 8'h90; // 0x1acf + 13'h1ad0: q = 8'h0d; // 0x1ad0 + 13'h1ad1: q = 8'ha9; // 0x1ad1 + 13'h1ad2: q = 8'h02; // 0x1ad2 + 13'h1ad3: q = 8'h8d; // 0x1ad3 + 13'h1ad4: q = 8'h80; // 0x1ad4 + 13'h1ad5: q = 8'h16; // 0x1ad5 + 13'h1ad6: q = 8'ha9; // 0x1ad6 + 13'h1ad7: q = 8'h0a; // 0x1ad7 + 13'h1ad8: q = 8'h8d; // 0x1ad8 + 13'h1ad9: q = 8'h80; // 0x1ad9 + 13'h1ada: q = 8'h16; // 0x1ada + 13'h1adb: q = 8'hc6; // 0x1adb + 13'h1adc: q = 8'hf9; // 0x1adc + 13'h1add: q = 8'h60; // 0x1add + 13'h1ade: q = 8'h78; // 0x1ade + 13'h1adf: q = 8'h20; // 0x1adf + 13'h1ae0: q = 8'ha7; // 0x1ae0 + 13'h1ae1: q = 8'h3a; // 0x1ae1 + 13'h1ae2: q = 8'hdd; // 0x1ae2 + 13'h1ae3: q = 8'h78; // 0x1ae3 + 13'h1ae4: q = 8'h01; // 0x1ae4 + 13'h1ae5: q = 8'hd0; // 0x1ae5 + 13'h1ae6: q = 8'h07; // 0x1ae6 + 13'h1ae7: q = 8'hca; // 0x1ae7 + 13'h1ae8: q = 8'h10; // 0x1ae8 + 13'h1ae9: q = 8'hf5; // 0x1ae9 + 13'h1aea: q = 8'h58; // 0x1aea + 13'h1aeb: q = 8'h86; // 0x1aeb + 13'h1aec: q = 8'hf9; // 0x1aec + 13'h1aed: q = 8'h60; // 0x1aed + 13'h1aee: q = 8'h58; // 0x1aee + 13'h1aef: q = 8'h86; // 0x1aef + 13'h1af0: q = 8'hf9; // 0x1af0 + 13'h1af1: q = 8'ha9; // 0x1af1 + 13'h1af2: q = 8'h06; // 0x1af2 + 13'h1af3: q = 8'h8d; // 0x1af3 + 13'h1af4: q = 8'h80; // 0x1af4 + 13'h1af5: q = 8'h16; // 0x1af5 + 13'h1af6: q = 8'hbd; // 0x1af6 + 13'h1af7: q = 8'h78; // 0x1af7 + 13'h1af8: q = 8'h01; // 0x1af8 + 13'h1af9: q = 8'h9d; // 0x1af9 + 13'h1afa: q = 8'h00; // 0x1afa + 13'h1afb: q = 8'h16; // 0x1afb + 13'h1afc: q = 8'ha9; // 0x1afc + 13'h1afd: q = 8'h0e; // 0x1afd + 13'h1afe: q = 8'h8d; // 0x1afe + 13'h1aff: q = 8'h80; // 0x1aff + 13'h1b00: q = 8'h16; // 0x1b00 + 13'h1b01: q = 8'he6; // 0x1b01 + 13'h1b02: q = 8'hfa; // 0x1b02 + 13'h1b03: q = 8'h60; // 0x1b03 + 13'h1b04: q = 8'hd8; // 0x1b04 + 13'h1b05: q = 8'ha2; // 0x1b05 + 13'h1b06: q = 8'hff; // 0x1b06 + 13'h1b07: q = 8'h9a; // 0x1b07 + 13'h1b08: q = 8'he8; // 0x1b08 + 13'h1b09: q = 8'h8a; // 0x1b09 + 13'h1b0a: q = 8'h95; // 0x1b0a + 13'h1b0b: q = 8'h00; // 0x1b0b + 13'h1b0c: q = 8'h9d; // 0x1b0c + 13'h1b0d: q = 8'h00; // 0x1b0d + 13'h1b0e: q = 8'h01; // 0x1b0e + 13'h1b0f: q = 8'h9d; // 0x1b0f + 13'h1b10: q = 8'h00; // 0x1b10 + 13'h1b11: q = 8'h04; // 0x1b11 + 13'h1b12: q = 8'h9d; // 0x1b12 + 13'h1b13: q = 8'h00; // 0x1b13 + 13'h1b14: q = 8'h05; // 0x1b14 + 13'h1b15: q = 8'h9d; // 0x1b15 + 13'h1b16: q = 8'h00; // 0x1b16 + 13'h1b17: q = 8'h06; // 0x1b17 + 13'h1b18: q = 8'h9d; // 0x1b18 + 13'h1b19: q = 8'h00; // 0x1b19 + 13'h1b1a: q = 8'h07; // 0x1b1a + 13'h1b1b: q = 8'hca; // 0x1b1b + 13'h1b1c: q = 8'hd0; // 0x1b1c + 13'h1b1d: q = 8'hec; // 0x1b1d + 13'h1b1e: q = 8'h8d; // 0x1b1e + 13'h1b1f: q = 8'h0f; // 0x1b1f + 13'h1b20: q = 8'h10; // 0x1b20 + 13'h1b21: q = 8'h8d; // 0x1b21 + 13'h1b22: q = 8'h08; // 0x1b22 + 13'h1b23: q = 8'h10; // 0x1b23 + 13'h1b24: q = 8'h8d; // 0x1b24 + 13'h1b25: q = 8'h00; // 0x1b25 + 13'h1b26: q = 8'h24; // 0x1b26 + 13'h1b27: q = 8'h8d; // 0x1b27 + 13'h1b28: q = 8'h07; // 0x1b28 + 13'h1b29: q = 8'h1c; // 0x1b29 + 13'h1b2a: q = 8'had; // 0x1b2a + 13'h1b2b: q = 8'h00; // 0x1b2b + 13'h1b2c: q = 8'h0c; // 0x1b2c + 13'h1b2d: q = 8'h29; // 0x1b2d + 13'h1b2e: q = 8'h20; // 0x1b2e + 13'h1b2f: q = 8'hf0; // 0x1b2f + 13'h1b30: q = 8'h19; // 0x1b30 + 13'h1b31: q = 8'had; // 0x1b31 + 13'h1b32: q = 8'h00; // 0x1b32 + 13'h1b33: q = 8'h08; // 0x1b33 + 13'h1b34: q = 8'h85; // 0x1b34 + 13'h1b35: q = 8'hfd; // 0x1b35 + 13'h1b36: q = 8'hca; // 0x1b36 + 13'h1b37: q = 8'h86; // 0x1b37 + 13'h1b38: q = 8'h86; // 0x1b38 + 13'h1b39: q = 8'h86; // 0x1b39 + 13'h1b3a: q = 8'hc1; // 0x1b3a + 13'h1b3b: q = 8'h86; // 0x1b3b + 13'h1b3c: q = 8'hc2; // 0x1b3c + 13'h1b3d: q = 8'ha9; // 0x1b3d + 13'h1b3e: q = 8'h01; // 0x1b3e + 13'h1b3f: q = 8'h85; // 0x1b3f + 13'h1b40: q = 8'hff; // 0x1b40 + 13'h1b41: q = 8'h20; // 0x1b41 + 13'h1b42: q = 8'h99; // 0x1b42 + 13'h1b43: q = 8'h3a; // 0x1b43 + 13'h1b44: q = 8'h20; // 0x1b44 + 13'h1b45: q = 8'h1d; // 0x1b45 + 13'h1b46: q = 8'h3a; // 0x1b46 + 13'h1b47: q = 8'h4c; // 0x1b47 + 13'h1b48: q = 8'h0e; // 0x1b48 + 13'h1b49: q = 8'h20; // 0x1b49 + 13'h1b4a: q = 8'h8e; // 0x1b4a + 13'h1b4b: q = 8'h04; // 0x1b4b + 13'h1b4c: q = 8'h14; // 0x1b4c + 13'h1b4d: q = 8'h8e; // 0x1b4d + 13'h1b4e: q = 8'h01; // 0x1b4e + 13'h1b4f: q = 8'h10; // 0x1b4f + 13'h1b50: q = 8'h8e; // 0x1b50 + 13'h1b51: q = 8'h03; // 0x1b51 + 13'h1b52: q = 8'h10; // 0x1b52 + 13'h1b53: q = 8'h8e; // 0x1b53 + 13'h1b54: q = 8'h05; // 0x1b54 + 13'h1b55: q = 8'h10; // 0x1b55 + 13'h1b56: q = 8'h8e; // 0x1b56 + 13'h1b57: q = 8'h07; // 0x1b57 + 13'h1b58: q = 8'h10; // 0x1b58 + 13'h1b59: q = 8'he8; // 0x1b59 + 13'h1b5a: q = 8'h8e; // 0x1b5a + 13'h1b5b: q = 8'h05; // 0x1b5b + 13'h1b5c: q = 8'h14; // 0x1b5c + 13'h1b5d: q = 8'h8e; // 0x1b5d + 13'h1b5e: q = 8'h0d; // 0x1b5e + 13'h1b5f: q = 8'h14; // 0x1b5f + 13'h1b60: q = 8'he8; // 0x1b60 + 13'h1b61: q = 8'h8e; // 0x1b61 + 13'h1b62: q = 8'h06; // 0x1b62 + 13'h1b63: q = 8'h14; // 0x1b63 + 13'h1b64: q = 8'h8e; // 0x1b64 + 13'h1b65: q = 8'h0e; // 0x1b65 + 13'h1b66: q = 8'h14; // 0x1b66 + 13'h1b67: q = 8'he8; // 0x1b67 + 13'h1b68: q = 8'h8e; // 0x1b68 + 13'h1b69: q = 8'h07; // 0x1b69 + 13'h1b6a: q = 8'h14; // 0x1b6a + 13'h1b6b: q = 8'h8e; // 0x1b6b + 13'h1b6c: q = 8'h0f; // 0x1b6c + 13'h1b6d: q = 8'h14; // 0x1b6d + 13'h1b6e: q = 8'ha2; // 0x1b6e + 13'h1b6f: q = 8'h00; // 0x1b6f + 13'h1b70: q = 8'hb5; // 0x1b70 + 13'h1b71: q = 8'h00; // 0x1b71 + 13'h1b72: q = 8'hd0; // 0x1b72 + 13'h1b73: q = 8'h43; // 0x1b73 + 13'h1b74: q = 8'ha9; // 0x1b74 + 13'h1b75: q = 8'h11; // 0x1b75 + 13'h1b76: q = 8'h95; // 0x1b76 + 13'h1b77: q = 8'h00; // 0x1b77 + 13'h1b78: q = 8'ha8; // 0x1b78 + 13'h1b79: q = 8'h55; // 0x1b79 + 13'h1b7a: q = 8'h00; // 0x1b7a + 13'h1b7b: q = 8'hd0; // 0x1b7b + 13'h1b7c: q = 8'h3a; // 0x1b7c + 13'h1b7d: q = 8'h98; // 0x1b7d + 13'h1b7e: q = 8'h0a; // 0x1b7e + 13'h1b7f: q = 8'h90; // 0x1b7f + 13'h1b80: q = 8'hf5; // 0x1b80 + 13'h1b81: q = 8'he8; // 0x1b81 + 13'h1b82: q = 8'hd0; // 0x1b82 + 13'h1b83: q = 8'hec; // 0x1b83 + 13'h1b84: q = 8'h8d; // 0x1b84 + 13'h1b85: q = 8'h00; // 0x1b85 + 13'h1b86: q = 8'h20; // 0x1b86 + 13'h1b87: q = 8'h8a; // 0x1b87 + 13'h1b88: q = 8'h85; // 0x1b88 + 13'h1b89: q = 8'h8b; // 0x1b89 + 13'h1b8a: q = 8'h2a; // 0x1b8a + 13'h1b8b: q = 8'h85; // 0x1b8b + 13'h1b8c: q = 8'h8c; // 0x1b8c + 13'h1b8d: q = 8'ha0; // 0x1b8d + 13'h1b8e: q = 8'h00; // 0x1b8e + 13'h1b8f: q = 8'ha2; // 0x1b8f + 13'h1b90: q = 8'h11; // 0x1b90 + 13'h1b91: q = 8'hb1; // 0x1b91 + 13'h1b92: q = 8'h8b; // 0x1b92 + 13'h1b93: q = 8'hd0; // 0x1b93 + 13'h1b94: q = 8'h28; // 0x1b94 + 13'h1b95: q = 8'h8a; // 0x1b95 + 13'h1b96: q = 8'h91; // 0x1b96 + 13'h1b97: q = 8'h8b; // 0x1b97 + 13'h1b98: q = 8'h51; // 0x1b98 + 13'h1b99: q = 8'h8b; // 0x1b99 + 13'h1b9a: q = 8'hd0; // 0x1b9a + 13'h1b9b: q = 8'h21; // 0x1b9b + 13'h1b9c: q = 8'h8a; // 0x1b9c + 13'h1b9d: q = 8'h0a; // 0x1b9d + 13'h1b9e: q = 8'haa; // 0x1b9e + 13'h1b9f: q = 8'h90; // 0x1b9f + 13'h1ba0: q = 8'hf4; // 0x1ba0 + 13'h1ba1: q = 8'hc8; // 0x1ba1 + 13'h1ba2: q = 8'hd0; // 0x1ba2 + 13'h1ba3: q = 8'heb; // 0x1ba3 + 13'h1ba4: q = 8'h8d; // 0x1ba4 + 13'h1ba5: q = 8'h00; // 0x1ba5 + 13'h1ba6: q = 8'h20; // 0x1ba6 + 13'h1ba7: q = 8'he6; // 0x1ba7 + 13'h1ba8: q = 8'h8c; // 0x1ba8 + 13'h1ba9: q = 8'ha5; // 0x1ba9 + 13'h1baa: q = 8'h8c; // 0x1baa + 13'h1bab: q = 8'hc9; // 0x1bab + 13'h1bac: q = 8'h02; // 0x1bac + 13'h1bad: q = 8'hd0; // 0x1bad + 13'h1bae: q = 8'h02; // 0x1bae + 13'h1baf: q = 8'ha9; // 0x1baf + 13'h1bb0: q = 8'h04; // 0x1bb0 + 13'h1bb1: q = 8'hc9; // 0x1bb1 + 13'h1bb2: q = 8'h08; // 0x1bb2 + 13'h1bb3: q = 8'h90; // 0x1bb3 + 13'h1bb4: q = 8'hd6; // 0x1bb4 + 13'h1bb5: q = 8'hb0; // 0x1bb5 + 13'h1bb6: q = 8'h5f; // 0x1bb6 + 13'h1bb7: q = 8'hc9; // 0x1bb7 + 13'h1bb8: q = 8'h10; // 0x1bb8 + 13'h1bb9: q = 8'ha9; // 0x1bb9 + 13'h1bba: q = 8'h00; // 0x1bba + 13'h1bbb: q = 8'h10; // 0x1bbb + 13'h1bbc: q = 8'h12; // 0x1bbc + 13'h1bbd: q = 8'ha6; // 0x1bbd + 13'h1bbe: q = 8'h8c; // 0x1bbe + 13'h1bbf: q = 8'he0; // 0x1bbf + 13'h1bc0: q = 8'h04; // 0x1bc0 + 13'h1bc1: q = 8'h90; // 0x1bc1 + 13'h1bc2: q = 8'hf4; // 0x1bc2 + 13'h1bc3: q = 8'haa; // 0x1bc3 + 13'h1bc4: q = 8'h98; // 0x1bc4 + 13'h1bc5: q = 8'h29; // 0x1bc5 + 13'h1bc6: q = 8'h30; // 0x1bc6 + 13'h1bc7: q = 8'h4a; // 0x1bc7 + 13'h1bc8: q = 8'h4a; // 0x1bc8 + 13'h1bc9: q = 8'h4a; // 0x1bc9 + 13'h1bca: q = 8'h4a; // 0x1bca + 13'h1bcb: q = 8'h69; // 0x1bcb + 13'h1bcc: q = 8'h01; // 0x1bcc + 13'h1bcd: q = 8'he0; // 0x1bcd + 13'h1bce: q = 8'h10; // 0x1bce + 13'h1bcf: q = 8'h2a; // 0x1bcf + 13'h1bd0: q = 8'ha8; // 0x1bd0 + 13'h1bd1: q = 8'ha9; // 0x1bd1 + 13'h1bd2: q = 8'h40; // 0x1bd2 + 13'h1bd3: q = 8'h8d; // 0x1bd3 + 13'h1bd4: q = 8'h00; // 0x1bd4 + 13'h1bd5: q = 8'h10; // 0x1bd5 + 13'h1bd6: q = 8'ha2; // 0x1bd6 + 13'h1bd7: q = 8'h03; // 0x1bd7 + 13'h1bd8: q = 8'h8e; // 0x1bd8 + 13'h1bd9: q = 8'h0f; // 0x1bd9 + 13'h1bda: q = 8'h10; // 0x1bda + 13'h1bdb: q = 8'ha2; // 0x1bdb + 13'h1bdc: q = 8'h10; // 0x1bdc + 13'h1bdd: q = 8'ha9; // 0x1bdd + 13'h1bde: q = 8'haf; // 0x1bde + 13'h1bdf: q = 8'h8d; // 0x1bdf + 13'h1be0: q = 8'h01; // 0x1be0 + 13'h1be1: q = 8'h10; // 0x1be1 + 13'h1be2: q = 8'h2c; // 0x1be2 + 13'h1be3: q = 8'h00; // 0x1be3 + 13'h1be4: q = 8'h0c; // 0x1be4 + 13'h1be5: q = 8'h50; // 0x1be5 + 13'h1be6: q = 8'hfb; // 0x1be6 + 13'h1be7: q = 8'h2c; // 0x1be7 + 13'h1be8: q = 8'h00; // 0x1be8 + 13'h1be9: q = 8'h0c; // 0x1be9 + 13'h1bea: q = 8'h70; // 0x1bea + 13'h1beb: q = 8'hfb; // 0x1beb + 13'h1bec: q = 8'h8d; // 0x1bec + 13'h1bed: q = 8'h00; // 0x1bed + 13'h1bee: q = 8'h20; // 0x1bee + 13'h1bef: q = 8'hca; // 0x1bef + 13'h1bf0: q = 8'hd0; // 0x1bf0 + 13'h1bf1: q = 8'hf0; // 0x1bf1 + 13'h1bf2: q = 8'h8e; // 0x1bf2 + 13'h1bf3: q = 8'h01; // 0x1bf3 + 13'h1bf4: q = 8'h10; // 0x1bf4 + 13'h1bf5: q = 8'ha2; // 0x1bf5 + 13'h1bf6: q = 8'h10; // 0x1bf6 + 13'h1bf7: q = 8'h2c; // 0x1bf7 + 13'h1bf8: q = 8'h00; // 0x1bf8 + 13'h1bf9: q = 8'h0c; // 0x1bf9 + 13'h1bfa: q = 8'h50; // 0x1bfa + 13'h1bfb: q = 8'hfb; // 0x1bfb + 13'h1bfc: q = 8'h2c; // 0x1bfc + 13'h1bfd: q = 8'h00; // 0x1bfd + 13'h1bfe: q = 8'h0c; // 0x1bfe + 13'h1bff: q = 8'h70; // 0x1bff + 13'h1c00: q = 8'hfb; // 0x1c00 + 13'h1c01: q = 8'h8d; // 0x1c01 + 13'h1c02: q = 8'h00; // 0x1c02 + 13'h1c03: q = 8'h20; // 0x1c03 + 13'h1c04: q = 8'hca; // 0x1c04 + 13'h1c05: q = 8'hd0; // 0x1c05 + 13'h1c06: q = 8'hf0; // 0x1c06 + 13'h1c07: q = 8'h88; // 0x1c07 + 13'h1c08: q = 8'h10; // 0x1c08 + 13'h1c09: q = 8'hd1; // 0x1c09 + 13'h1c0a: q = 8'h8d; // 0x1c0a + 13'h1c0b: q = 8'h00; // 0x1c0b + 13'h1c0c: q = 8'h20; // 0x1c0c + 13'h1c0d: q = 8'had; // 0x1c0d + 13'h1c0e: q = 8'h00; // 0x1c0e + 13'h1c0f: q = 8'h0c; // 0x1c0f + 13'h1c10: q = 8'h29; // 0x1c10 + 13'h1c11: q = 8'h20; // 0x1c11 + 13'h1c12: q = 8'hf0; // 0x1c12 + 13'h1c13: q = 8'hf6; // 0x1c13 + 13'h1c14: q = 8'hd0; // 0x1c14 + 13'h1c15: q = 8'hfe; // 0x1c15 + 13'h1c16: q = 8'had; // 0x1c16 + 13'h1c17: q = 8'h01; // 0x1c17 + 13'h1c18: q = 8'h0c; // 0x1c18 + 13'h1c19: q = 8'h29; // 0x1c19 + 13'h1c1a: q = 8'h10; // 0x1c1a + 13'h1c1b: q = 8'hf0; // 0x1c1b + 13'h1c1c: q = 8'h03; // 0x1c1c + 13'h1c1d: q = 8'h4c; // 0x1c1d + 13'h1c1e: q = 8'h97; // 0x1c1e + 13'h1c1f: q = 8'h3c; // 0x1c1f + 13'h1c20: q = 8'haa; // 0x1c20 + 13'h1c21: q = 8'h95; // 0x1c21 + 13'h1c22: q = 8'h00; // 0x1c22 + 13'h1c23: q = 8'he8; // 0x1c23 + 13'h1c24: q = 8'hd0; // 0x1c24 + 13'h1c25: q = 8'hfb; // 0x1c25 + 13'h1c26: q = 8'ha2; // 0x1c26 + 13'h1c27: q = 8'h0f; // 0x1c27 + 13'h1c28: q = 8'ha9; // 0x1c28 + 13'h1c29: q = 8'hf8; // 0x1c29 + 13'h1c2a: q = 8'h95; // 0x1c2a + 13'h1c2b: q = 8'h64; // 0x1c2b + 13'h1c2c: q = 8'hca; // 0x1c2c + 13'h1c2d: q = 8'h10; // 0x1c2d + 13'h1c2e: q = 8'hfb; // 0x1c2e + 13'h1c2f: q = 8'ha9; // 0x1c2f + 13'h1c30: q = 8'h07; // 0x1c30 + 13'h1c31: q = 8'h85; // 0x1c31 + 13'h1c32: q = 8'h8c; // 0x1c32 + 13'h1c33: q = 8'ha0; // 0x1c33 + 13'h1c34: q = 8'hbf; // 0x1c34 + 13'h1c35: q = 8'ha9; // 0x1c35 + 13'h1c36: q = 8'h2d; // 0x1c36 + 13'h1c37: q = 8'ha2; // 0x1c37 + 13'h1c38: q = 8'h08; // 0x1c38 + 13'h1c39: q = 8'h91; // 0x1c39 + 13'h1c3a: q = 8'h8b; // 0x1c3a + 13'h1c3b: q = 8'h88; // 0x1c3b + 13'h1c3c: q = 8'hca; // 0x1c3c + 13'h1c3d: q = 8'hd0; // 0x1c3d + 13'h1c3e: q = 8'hfa; // 0x1c3e + 13'h1c3f: q = 8'h38; // 0x1c3f + 13'h1c40: q = 8'he9; // 0x1c40 + 13'h1c41: q = 8'h01; // 0x1c41 + 13'h1c42: q = 8'hc9; // 0x1c42 + 13'h1c43: q = 8'h2a; // 0x1c43 + 13'h1c44: q = 8'hb0; // 0x1c44 + 13'h1c45: q = 8'hf1; // 0x1c45 + 13'h1c46: q = 8'hc0; // 0x1c46 + 13'h1c47: q = 8'hff; // 0x1c47 + 13'h1c48: q = 8'hd0; // 0x1c48 + 13'h1c49: q = 8'heb; // 0x1c49 + 13'h1c4a: q = 8'hc6; // 0x1c4a + 13'h1c4b: q = 8'h8c; // 0x1c4b + 13'h1c4c: q = 8'ha5; // 0x1c4c + 13'h1c4d: q = 8'h8c; // 0x1c4d + 13'h1c4e: q = 8'hc9; // 0x1c4e + 13'h1c4f: q = 8'h04; // 0x1c4f + 13'h1c50: q = 8'hb0; // 0x1c50 + 13'h1c51: q = 8'he3; // 0x1c51 + 13'h1c52: q = 8'h58; // 0x1c52 + 13'h1c53: q = 8'had; // 0x1c53 + 13'h1c54: q = 8'h00; // 0x1c54 + 13'h1c55: q = 8'h0c; // 0x1c55 + 13'h1c56: q = 8'h29; // 0x1c56 + 13'h1c57: q = 8'h20; // 0x1c57 + 13'h1c58: q = 8'hd0; // 0x1c58 + 13'h1c59: q = 8'hf9; // 0x1c59 + 13'h1c5a: q = 8'h46; // 0x1c5a + 13'h1c5b: q = 8'h8a; // 0x1c5b + 13'h1c5c: q = 8'h8d; // 0x1c5c + 13'h1c5d: q = 8'h00; // 0x1c5d + 13'h1c5e: q = 8'h20; // 0x1c5e + 13'h1c5f: q = 8'had; // 0x1c5f + 13'h1c60: q = 8'h01; // 0x1c60 + 13'h1c61: q = 8'h0c; // 0x1c61 + 13'h1c62: q = 8'h29; // 0x1c62 + 13'h1c63: q = 8'he0; // 0x1c63 + 13'h1c64: q = 8'h49; // 0x1c64 + 13'h1c65: q = 8'he0; // 0x1c65 + 13'h1c66: q = 8'hf0; // 0x1c66 + 13'h1c67: q = 8'heb; // 0x1c67 + 13'h1c68: q = 8'ha9; // 0x1c68 + 13'h1c69: q = 8'h1d; // 0x1c69 + 13'h1c6a: q = 8'h78; // 0x1c6a + 13'h1c6b: q = 8'h9d; // 0x1c6b + 13'h1c6c: q = 8'h00; // 0x1c6c + 13'h1c6d: q = 8'h04; // 0x1c6d + 13'h1c6e: q = 8'h9d; // 0x1c6e + 13'h1c6f: q = 8'h00; // 0x1c6f + 13'h1c70: q = 8'h05; // 0x1c70 + 13'h1c71: q = 8'h9d; // 0x1c71 + 13'h1c72: q = 8'h00; // 0x1c72 + 13'h1c73: q = 8'h06; // 0x1c73 + 13'h1c74: q = 8'he8; // 0x1c74 + 13'h1c75: q = 8'hd0; // 0x1c75 + 13'h1c76: q = 8'hf4; // 0x1c76 + 13'h1c77: q = 8'h9d; // 0x1c77 + 13'h1c78: q = 8'h00; // 0x1c78 + 13'h1c79: q = 8'h07; // 0x1c79 + 13'h1c7a: q = 8'he8; // 0x1c7a + 13'h1c7b: q = 8'he0; // 0x1c7b + 13'h1c7c: q = 8'hc0; // 0x1c7c + 13'h1c7d: q = 8'h90; // 0x1c7d + 13'h1c7e: q = 8'hf8; // 0x1c7e + 13'h1c7f: q = 8'ha2; // 0x1c7f + 13'h1c80: q = 8'h08; // 0x1c80 + 13'h1c81: q = 8'h8e; // 0x1c81 + 13'h1c82: q = 8'h05; // 0x1c82 + 13'h1c83: q = 8'h14; // 0x1c83 + 13'h1c84: q = 8'ha2; // 0x1c84 + 13'h1c85: q = 8'h0f; // 0x1c85 + 13'h1c86: q = 8'h8e; // 0x1c86 + 13'h1c87: q = 8'h04; // 0x1c87 + 13'h1c88: q = 8'h14; // 0x1c88 + 13'h1c89: q = 8'had; // 0x1c89 + 13'h1c8a: q = 8'h00; // 0x1c8a + 13'h1c8b: q = 8'h0c; // 0x1c8b + 13'h1c8c: q = 8'h29; // 0x1c8c + 13'h1c8d: q = 8'h20; // 0x1c8d + 13'h1c8e: q = 8'hd0; // 0x1c8e + 13'h1c8f: q = 8'hf9; // 0x1c8f + 13'h1c90: q = 8'h8d; // 0x1c90 + 13'h1c91: q = 8'h00; // 0x1c91 + 13'h1c92: q = 8'h20; // 0x1c92 + 13'h1c93: q = 8'h46; // 0x1c93 + 13'h1c94: q = 8'h8a; // 0x1c94 + 13'h1c95: q = 8'h10; // 0x1c95 + 13'h1c96: q = 8'hf2; // 0x1c96 + 13'h1c97: q = 8'ha2; // 0x1c97 + 13'h1c98: q = 8'h00; // 0x1c98 + 13'h1c99: q = 8'h8a; // 0x1c99 + 13'h1c9a: q = 8'h9d; // 0x1c9a + 13'h1c9b: q = 8'h00; // 0x1c9b + 13'h1c9c: q = 8'h07; // 0x1c9c + 13'h1c9d: q = 8'ha9; // 0x1c9d + 13'h1c9e: q = 8'h00; // 0x1c9e + 13'h1c9f: q = 8'h95; // 0x1c9f + 13'h1ca0: q = 8'h00; // 0x1ca0 + 13'h1ca1: q = 8'h9d; // 0x1ca1 + 13'h1ca2: q = 8'h00; // 0x1ca2 + 13'h1ca3: q = 8'h04; // 0x1ca3 + 13'h1ca4: q = 8'h9d; // 0x1ca4 + 13'h1ca5: q = 8'h00; // 0x1ca5 + 13'h1ca6: q = 8'h05; // 0x1ca6 + 13'h1ca7: q = 8'h9d; // 0x1ca7 + 13'h1ca8: q = 8'h00; // 0x1ca8 + 13'h1ca9: q = 8'h06; // 0x1ca9 + 13'h1caa: q = 8'he8; // 0x1caa + 13'h1cab: q = 8'hd0; // 0x1cab + 13'h1cac: q = 8'hec; // 0x1cac + 13'h1cad: q = 8'hca; // 0x1cad + 13'h1cae: q = 8'h86; // 0x1cae + 13'h1caf: q = 8'hd5; // 0x1caf + 13'h1cb0: q = 8'h86; // 0x1cb0 + 13'h1cb1: q = 8'he3; // 0x1cb1 + 13'h1cb2: q = 8'h8d; // 0x1cb2 + 13'h1cb3: q = 8'h03; // 0x1cb3 + 13'h1cb4: q = 8'h1c; // 0x1cb4 + 13'h1cb5: q = 8'h8d; // 0x1cb5 + 13'h1cb6: q = 8'h04; // 0x1cb6 + 13'h1cb7: q = 8'h1c; // 0x1cb7 + 13'h1cb8: q = 8'ha2; // 0x1cb8 + 13'h1cb9: q = 8'h0f; // 0x1cb9 + 13'h1cba: q = 8'h8a; // 0x1cba + 13'h1cbb: q = 8'h09; // 0x1cbb + 13'h1cbc: q = 8'h80; // 0x1cbc + 13'h1cbd: q = 8'h95; // 0x1cbd + 13'h1cbe: q = 8'h54; // 0x1cbe + 13'h1cbf: q = 8'h95; // 0x1cbf + 13'h1cc0: q = 8'h64; // 0x1cc0 + 13'h1cc1: q = 8'hca; // 0x1cc1 + 13'h1cc2: q = 8'h10; // 0x1cc2 + 13'h1cc3: q = 8'hf6; // 0x1cc3 + 13'h1cc4: q = 8'had; // 0x1cc4 + 13'h1cc5: q = 8'h0a; // 0x1cc5 + 13'h1cc6: q = 8'h10; // 0x1cc6 + 13'h1cc7: q = 8'h4d; // 0x1cc7 + 13'h1cc8: q = 8'h0a; // 0x1cc8 + 13'h1cc9: q = 8'h10; // 0x1cc9 + 13'h1cca: q = 8'h85; // 0x1cca + 13'h1ccb: q = 8'he5; // 0x1ccb + 13'h1ccc: q = 8'ha9; // 0x1ccc + 13'h1ccd: q = 8'h03; // 0x1ccd + 13'h1cce: q = 8'h8d; // 0x1cce + 13'h1ccf: q = 8'h0f; // 0x1ccf + 13'h1cd0: q = 8'h10; // 0x1cd0 + 13'h1cd1: q = 8'ha2; // 0x1cd1 + 13'h1cd2: q = 8'h00; // 0x1cd2 + 13'h1cd3: q = 8'h86; // 0x1cd3 + 13'h1cd4: q = 8'h8b; // 0x1cd4 + 13'h1cd5: q = 8'ha9; // 0x1cd5 + 13'h1cd6: q = 8'h20; // 0x1cd6 + 13'h1cd7: q = 8'h85; // 0x1cd7 + 13'h1cd8: q = 8'h8c; // 0x1cd8 + 13'h1cd9: q = 8'ha2; // 0x1cd9 + 13'h1cda: q = 8'h1f; // 0x1cda + 13'h1cdb: q = 8'ha9; // 0x1cdb + 13'h1cdc: q = 8'hff; // 0x1cdc + 13'h1cdd: q = 8'ha0; // 0x1cdd + 13'h1cde: q = 8'h00; // 0x1cde + 13'h1cdf: q = 8'h8e; // 0x1cdf + 13'h1ce0: q = 8'h00; // 0x1ce0 + 13'h1ce1: q = 8'h20; // 0x1ce1 + 13'h1ce2: q = 8'h51; // 0x1ce2 + 13'h1ce3: q = 8'h8b; // 0x1ce3 + 13'h1ce4: q = 8'hc8; // 0x1ce4 + 13'h1ce5: q = 8'hd0; // 0x1ce5 + 13'h1ce6: q = 8'hfb; // 0x1ce6 + 13'h1ce7: q = 8'ha8; // 0x1ce7 + 13'h1ce8: q = 8'h8a; // 0x1ce8 + 13'h1ce9: q = 8'h29; // 0x1ce9 + 13'h1cea: q = 8'h07; // 0x1cea + 13'h1ceb: q = 8'hc9; // 0x1ceb + 13'h1cec: q = 8'h01; // 0x1cec + 13'h1ced: q = 8'h98; // 0x1ced + 13'h1cee: q = 8'hb0; // 0x1cee + 13'h1cef: q = 8'h03; // 0x1cef + 13'h1cf0: q = 8'h48; // 0x1cf0 + 13'h1cf1: q = 8'ha9; // 0x1cf1 + 13'h1cf2: q = 8'hff; // 0x1cf2 + 13'h1cf3: q = 8'he6; // 0x1cf3 + 13'h1cf4: q = 8'h8c; // 0x1cf4 + 13'h1cf5: q = 8'hca; // 0x1cf5 + 13'h1cf6: q = 8'h10; // 0x1cf6 + 13'h1cf7: q = 8'he5; // 0x1cf7 + 13'h1cf8: q = 8'ha9; // 0x1cf8 + 13'h1cf9: q = 8'h04; // 0x1cf9 + 13'h1cfa: q = 8'h85; // 0x1cfa + 13'h1cfb: q = 8'h92; // 0x1cfb + 13'h1cfc: q = 8'ha2; // 0x1cfc + 13'h1cfd: q = 8'h03; // 0x1cfd + 13'h1cfe: q = 8'h8a; // 0x1cfe + 13'h1cff: q = 8'h49; // 0x1cff + 13'h1d00: q = 8'h3f; // 0x1d00 + 13'h1d01: q = 8'h85; // 0x1d01 + 13'h1d02: q = 8'h91; // 0x1d02 + 13'h1d03: q = 8'h68; // 0x1d03 + 13'h1d04: q = 8'hf0; // 0x1d04 + 13'h1d05: q = 8'h11; // 0x1d05 + 13'h1d06: q = 8'h48; // 0x1d06 + 13'h1d07: q = 8'h8a; // 0x1d07 + 13'h1d08: q = 8'h09; // 0x1d08 + 13'h1d09: q = 8'h20; // 0x1d09 + 13'h1d0a: q = 8'h20; // 0x1d0a + 13'h1d0b: q = 8'h36; // 0x1d0b + 13'h1d0c: q = 8'h38; // 0x1d0c + 13'h1d0d: q = 8'ha9; // 0x1d0d + 13'h1d0e: q = 8'h00; // 0x1d0e + 13'h1d0f: q = 8'h20; // 0x1d0f + 13'h1d10: q = 8'h36; // 0x1d10 + 13'h1d11: q = 8'h38; // 0x1d11 + 13'h1d12: q = 8'h68; // 0x1d12 + 13'h1d13: q = 8'h18; // 0x1d13 + 13'h1d14: q = 8'h20; // 0x1d14 + 13'h1d15: q = 8'h4f; // 0x1d15 + 13'h1d16: q = 8'h38; // 0x1d16 + 13'h1d17: q = 8'hca; // 0x1d17 + 13'h1d18: q = 8'h10; // 0x1d18 + 13'h1d19: q = 8'he4; // 0x1d19 + 13'h1d1a: q = 8'h20; // 0x1d1a + 13'h1d1b: q = 8'h99; // 0x1d1b + 13'h1d1c: q = 8'h3a; // 0x1d1c + 13'h1d1d: q = 8'ha0; // 0x1d1d + 13'h1d1e: q = 8'h06; // 0x1d1e + 13'h1d1f: q = 8'hb9; // 0x1d1f + 13'h1d20: q = 8'h8b; // 0x1d20 + 13'h1d21: q = 8'h01; // 0x1d21 + 13'h1d22: q = 8'h99; // 0x1d22 + 13'h1d23: q = 8'h8e; // 0x1d23 + 13'h1d24: q = 8'h00; // 0x1d24 + 13'h1d25: q = 8'h88; // 0x1d25 + 13'h1d26: q = 8'h10; // 0x1d26 + 13'h1d27: q = 8'hf7; // 0x1d27 + 13'h1d28: q = 8'hf8; // 0x1d28 + 13'h1d29: q = 8'had; // 0x1d29 + 13'h1d2a: q = 8'h8b; // 0x1d2a + 13'h1d2b: q = 8'h01; // 0x1d2b + 13'h1d2c: q = 8'h0d; // 0x1d2c + 13'h1d2d: q = 8'h8c; // 0x1d2d + 13'h1d2e: q = 8'h01; // 0x1d2e + 13'h1d2f: q = 8'h0d; // 0x1d2f + 13'h1d30: q = 8'h8d; // 0x1d30 + 13'h1d31: q = 8'h01; // 0x1d31 + 13'h1d32: q = 8'hf0; // 0x1d32 + 13'h1d33: q = 8'h1f; // 0x1d33 + 13'h1d34: q = 8'hc8; // 0x1d34 + 13'h1d35: q = 8'hc8; // 0x1d35 + 13'h1d36: q = 8'hf0; // 0x1d36 + 13'h1d37: q = 8'h1b; // 0x1d37 + 13'h1d38: q = 8'ha5; // 0x1d38 + 13'h1d39: q = 8'h91; // 0x1d39 + 13'h1d3a: q = 8'h38; // 0x1d3a + 13'h1d3b: q = 8'he5; // 0x1d3b + 13'h1d3c: q = 8'h8e; // 0x1d3c + 13'h1d3d: q = 8'h85; // 0x1d3d + 13'h1d3e: q = 8'h91; // 0x1d3e + 13'h1d3f: q = 8'ha5; // 0x1d3f + 13'h1d40: q = 8'h92; // 0x1d40 + 13'h1d41: q = 8'he5; // 0x1d41 + 13'h1d42: q = 8'h8f; // 0x1d42 + 13'h1d43: q = 8'h85; // 0x1d43 + 13'h1d44: q = 8'h92; // 0x1d44 + 13'h1d45: q = 8'ha5; // 0x1d45 + 13'h1d46: q = 8'h93; // 0x1d46 + 13'h1d47: q = 8'he5; // 0x1d47 + 13'h1d48: q = 8'h90; // 0x1d48 + 13'h1d49: q = 8'h85; // 0x1d49 + 13'h1d4a: q = 8'h93; // 0x1d4a + 13'h1d4b: q = 8'ha5; // 0x1d4b + 13'h1d4c: q = 8'h94; // 0x1d4c + 13'h1d4d: q = 8'he9; // 0x1d4d + 13'h1d4e: q = 8'h00; // 0x1d4e + 13'h1d4f: q = 8'h85; // 0x1d4f + 13'h1d50: q = 8'h94; // 0x1d50 + 13'h1d51: q = 8'h10; // 0x1d51 + 13'h1d52: q = 8'he2; // 0x1d52 + 13'h1d53: q = 8'hd8; // 0x1d53 + 13'h1d54: q = 8'h84; // 0x1d54 + 13'h1d55: q = 8'h8d; // 0x1d55 + 13'h1d56: q = 8'h58; // 0x1d56 + 13'h1d57: q = 8'h46; // 0x1d57 + 13'h1d58: q = 8'h8a; // 0x1d58 + 13'h1d59: q = 8'h90; // 0x1d59 + 13'h1d5a: q = 8'hfc; // 0x1d5a + 13'h1d5b: q = 8'had; // 0x1d5b + 13'h1d5c: q = 8'h00; // 0x1d5c + 13'h1d5d: q = 8'h0c; // 0x1d5d + 13'h1d5e: q = 8'h29; // 0x1d5e + 13'h1d5f: q = 8'h20; // 0x1d5f + 13'h1d60: q = 8'hd0; // 0x1d60 + 13'h1d61: q = 8'hfe; // 0x1d61 + 13'h1d62: q = 8'h8d; // 0x1d62 + 13'h1d63: q = 8'h00; // 0x1d63 + 13'h1d64: q = 8'h20; // 0x1d64 + 13'h1d65: q = 8'had; // 0x1d65 + 13'h1d66: q = 8'h01; // 0x1d66 + 13'h1d67: q = 8'h0c; // 0x1d67 + 13'h1d68: q = 8'h4a; // 0x1d68 + 13'h1d69: q = 8'h26; // 0x1d69 + 13'h1d6a: q = 8'hea; // 0x1d6a + 13'h1d6b: q = 8'ha5; // 0x1d6b + 13'h1d6c: q = 8'hea; // 0x1d6c + 13'h1d6d: q = 8'h29; // 0x1d6d + 13'h1d6e: q = 8'h03; // 0x1d6e + 13'h1d6f: q = 8'hc9; // 0x1d6f + 13'h1d70: q = 8'h02; // 0x1d70 + 13'h1d71: q = 8'hd0; // 0x1d71 + 13'h1d72: q = 8'h24; // 0x1d72 + 13'h1d73: q = 8'ha5; // 0x1d73 + 13'h1d74: q = 8'he6; // 0x1d74 + 13'h1d75: q = 8'haa; // 0x1d75 + 13'h1d76: q = 8'h18; // 0x1d76 + 13'h1d77: q = 8'h69; // 0x1d77 + 13'h1d78: q = 8'h02; // 0x1d78 + 13'h1d79: q = 8'h29; // 0x1d79 + 13'h1d7a: q = 8'h06; // 0x1d7a + 13'h1d7b: q = 8'h85; // 0x1d7b + 13'h1d7c: q = 8'he6; // 0x1d7c + 13'h1d7d: q = 8'ha9; // 0x1d7d + 13'h1d7e: q = 8'h00; // 0x1d7e + 13'h1d7f: q = 8'h9d; // 0x1d7f + 13'h1d80: q = 8'h01; // 0x1d80 + 13'h1d81: q = 8'h10; // 0x1d81 + 13'h1d82: q = 8'ha5; // 0x1d82 + 13'h1d83: q = 8'he7; // 0x1d83 + 13'h1d84: q = 8'h18; // 0x1d84 + 13'h1d85: q = 8'h69; // 0x1d85 + 13'h1d86: q = 8'h01; // 0x1d86 + 13'h1d87: q = 8'h29; // 0x1d87 + 13'h1d88: q = 8'h0f; // 0x1d88 + 13'h1d89: q = 8'h85; // 0x1d89 + 13'h1d8a: q = 8'he7; // 0x1d8a + 13'h1d8b: q = 8'ha6; // 0x1d8b + 13'h1d8c: q = 8'he8; // 0x1d8c + 13'h1d8d: q = 8'he8; // 0x1d8d + 13'h1d8e: q = 8'h8a; // 0x1d8e + 13'h1d8f: q = 8'h29; // 0x1d8f + 13'h1d90: q = 8'h0f; // 0x1d90 + 13'h1d91: q = 8'haa; // 0x1d91 + 13'h1d92: q = 8'h8e; // 0x1d92 + 13'h1d93: q = 8'h04; // 0x1d93 + 13'h1d94: q = 8'h14; // 0x1d94 + 13'h1d95: q = 8'h86; // 0x1d95 + 13'h1d96: q = 8'he8; // 0x1d96 + 13'h1d97: q = 8'had; // 0x1d97 + 13'h1d98: q = 8'h01; // 0x1d98 + 13'h1d99: q = 8'h0c; // 0x1d99 + 13'h1d9a: q = 8'h4a; // 0x1d9a + 13'h1d9b: q = 8'h4a; // 0x1d9b + 13'h1d9c: q = 8'h26; // 0x1d9c + 13'h1d9d: q = 8'heb; // 0x1d9d + 13'h1d9e: q = 8'ha5; // 0x1d9e + 13'h1d9f: q = 8'heb; // 0x1d9f + 13'h1da0: q = 8'h29; // 0x1da0 + 13'h1da1: q = 8'h03; // 0x1da1 + 13'h1da2: q = 8'hc9; // 0x1da2 + 13'h1da3: q = 8'h02; // 0x1da3 + 13'h1da4: q = 8'hd0; // 0x1da4 + 13'h1da5: q = 8'h16; // 0x1da5 + 13'h1da6: q = 8'he6; // 0x1da6 + 13'h1da7: q = 8'he9; // 0x1da7 + 13'h1da8: q = 8'ha5; // 0x1da8 + 13'h1da9: q = 8'he9; // 0x1da9 + 13'h1daa: q = 8'ha0; // 0x1daa + 13'h1dab: q = 8'h01; // 0x1dab + 13'h1dac: q = 8'h18; // 0x1dac + 13'h1dad: q = 8'h69; // 0x1dad + 13'h1dae: q = 8'h01; // 0x1dae + 13'h1daf: q = 8'h29; // 0x1daf + 13'h1db0: q = 8'h0f; // 0x1db0 + 13'h1db1: q = 8'h99; // 0x1db1 + 13'h1db2: q = 8'h04; // 0x1db2 + 13'h1db3: q = 8'h14; // 0x1db3 + 13'h1db4: q = 8'h99; // 0x1db4 + 13'h1db5: q = 8'h0c; // 0x1db5 + 13'h1db6: q = 8'h14; // 0x1db6 + 13'h1db7: q = 8'hc8; // 0x1db7 + 13'h1db8: q = 8'hc0; // 0x1db8 + 13'h1db9: q = 8'h04; // 0x1db9 + 13'h1dba: q = 8'h90; // 0x1dba + 13'h1dbb: q = 8'hf0; // 0x1dbb + 13'h1dbc: q = 8'had; // 0x1dbc + 13'h1dbd: q = 8'h01; // 0x1dbd + 13'h1dbe: q = 8'h0c; // 0x1dbe + 13'h1dbf: q = 8'h4a; // 0x1dbf + 13'h1dc0: q = 8'h4a; // 0x1dc0 + 13'h1dc1: q = 8'h4a; // 0x1dc1 + 13'h1dc2: q = 8'h26; // 0x1dc2 + 13'h1dc3: q = 8'hec; // 0x1dc3 + 13'h1dc4: q = 8'ha5; // 0x1dc4 + 13'h1dc5: q = 8'hec; // 0x1dc5 + 13'h1dc6: q = 8'h29; // 0x1dc6 + 13'h1dc7: q = 8'h03; // 0x1dc7 + 13'h1dc8: q = 8'h49; // 0x1dc8 + 13'h1dc9: q = 8'h02; // 0x1dc9 + 13'h1dca: q = 8'hd0; // 0x1dca + 13'h1dcb: q = 8'h15; // 0x1dcb + 13'h1dcc: q = 8'h85; // 0x1dcc + 13'h1dcd: q = 8'hbd; // 0x1dcd + 13'h1dce: q = 8'h85; // 0x1dce + 13'h1dcf: q = 8'hbf; // 0x1dcf + 13'h1dd0: q = 8'h8d; // 0x1dd0 + 13'h1dd1: q = 8'h00; // 0x1dd1 + 13'h1dd2: q = 8'h24; // 0x1dd2 + 13'h1dd3: q = 8'ha9; // 0x1dd3 + 13'h1dd4: q = 8'h01; // 0x1dd4 + 13'h1dd5: q = 8'h8d; // 0x1dd5 + 13'h1dd6: q = 8'h07; // 0x1dd6 + 13'h1dd7: q = 8'h1c; // 0x1dd7 + 13'h1dd8: q = 8'h85; // 0x1dd8 + 13'h1dd9: q = 8'h88; // 0x1dd9 + 13'h1dda: q = 8'ha2; // 0x1dda + 13'h1ddb: q = 8'h0f; // 0x1ddb + 13'h1ddc: q = 8'hf6; // 0x1ddc + 13'h1ddd: q = 8'h34; // 0x1ddd + 13'h1dde: q = 8'hca; // 0x1dde + 13'h1ddf: q = 8'h10; // 0x1ddf + 13'h1de0: q = 8'hfb; // 0x1de0 + 13'h1de1: q = 8'had; // 0x1de1 + 13'h1de2: q = 8'h01; // 0x1de2 + 13'h1de3: q = 8'h0c; // 0x1de3 + 13'h1de4: q = 8'h4a; // 0x1de4 + 13'h1de5: q = 8'h4a; // 0x1de5 + 13'h1de6: q = 8'h4a; // 0x1de6 + 13'h1de7: q = 8'h4a; // 0x1de7 + 13'h1de8: q = 8'h26; // 0x1de8 + 13'h1de9: q = 8'hed; // 0x1de9 + 13'h1dea: q = 8'ha5; // 0x1dea + 13'h1deb: q = 8'hed; // 0x1deb + 13'h1dec: q = 8'h29; // 0x1dec + 13'h1ded: q = 8'h03; // 0x1ded + 13'h1dee: q = 8'h49; // 0x1dee + 13'h1def: q = 8'h02; // 0x1def + 13'h1df0: q = 8'hd0; // 0x1df0 + 13'h1df1: q = 8'h10; // 0x1df1 + 13'h1df2: q = 8'h85; // 0x1df2 + 13'h1df3: q = 8'hbd; // 0x1df3 + 13'h1df4: q = 8'h85; // 0x1df4 + 13'h1df5: q = 8'hbf; // 0x1df5 + 13'h1df6: q = 8'h8d; // 0x1df6 + 13'h1df7: q = 8'h00; // 0x1df7 + 13'h1df8: q = 8'h24; // 0x1df8 + 13'h1df9: q = 8'ha9; // 0x1df9 + 13'h1dfa: q = 8'h02; // 0x1dfa + 13'h1dfb: q = 8'h85; // 0x1dfb + 13'h1dfc: q = 8'h88; // 0x1dfc + 13'h1dfd: q = 8'ha9; // 0x1dfd + 13'h1dfe: q = 8'hff; // 0x1dfe + 13'h1dff: q = 8'h8d; // 0x1dff + 13'h1e00: q = 8'h07; // 0x1e00 + 13'h1e01: q = 8'h1c; // 0x1e01 + 13'h1e02: q = 8'ha9; // 0x1e02 + 13'h1e03: q = 8'h05; // 0x1e03 + 13'h1e04: q = 8'h85; // 0x1e04 + 13'h1e05: q = 8'h92; // 0x1e05 + 13'h1e06: q = 8'ha9; // 0x1e06 + 13'h1e07: q = 8'h38; // 0x1e07 + 13'h1e08: q = 8'h85; // 0x1e08 + 13'h1e09: q = 8'h91; // 0x1e09 + 13'h1e0a: q = 8'had; // 0x1e0a + 13'h1e0b: q = 8'h00; // 0x1e0b + 13'h1e0c: q = 8'h08; // 0x1e0c + 13'h1e0d: q = 8'h29; // 0x1e0d + 13'h1e0e: q = 8'h0c; // 0x1e0e + 13'h1e0f: q = 8'h4a; // 0x1e0f + 13'h1e10: q = 8'h4a; // 0x1e10 + 13'h1e11: q = 8'h69; // 0x1e11 + 13'h1e12: q = 8'h01; // 0x1e12 + 13'h1e13: q = 8'h85; // 0x1e13 + 13'h1e14: q = 8'h8b; // 0x1e14 + 13'h1e15: q = 8'ha2; // 0x1e15 + 13'h1e16: q = 8'h05; // 0x1e16 + 13'h1e17: q = 8'ha9; // 0x1e17 + 13'h1e18: q = 8'h1f; // 0x1e18 + 13'h1e19: q = 8'h24; // 0x1e19 + 13'h1e1a: q = 8'h8b; // 0x1e1a + 13'h1e1b: q = 8'h10; // 0x1e1b + 13'h1e1c: q = 8'h02; // 0x1e1c + 13'h1e1d: q = 8'ha9; // 0x1e1d + 13'h1e1e: q = 8'h00; // 0x1e1e + 13'h1e1f: q = 8'h20; // 0x1e1f + 13'h1e20: q = 8'h36; // 0x1e20 + 13'h1e21: q = 8'h38; // 0x1e21 + 13'h1e22: q = 8'hc6; // 0x1e22 + 13'h1e23: q = 8'h8b; // 0x1e23 + 13'h1e24: q = 8'hca; // 0x1e24 + 13'h1e25: q = 8'hd0; // 0x1e25 + 13'h1e26: q = 8'hf0; // 0x1e26 + 13'h1e27: q = 8'ha9; // 0x1e27 + 13'h1e28: q = 8'h37; // 0x1e28 + 13'h1e29: q = 8'h85; // 0x1e29 + 13'h1e2a: q = 8'h91; // 0x1e2a + 13'h1e2b: q = 8'ha9; // 0x1e2b + 13'h1e2c: q = 8'h21; // 0x1e2c + 13'h1e2d: q = 8'h20; // 0x1e2d + 13'h1e2e: q = 8'h36; // 0x1e2e + 13'h1e2f: q = 8'h38; // 0x1e2f + 13'h1e30: q = 8'had; // 0x1e30 + 13'h1e31: q = 8'h01; // 0x1e31 + 13'h1e32: q = 8'h08; // 0x1e32 + 13'h1e33: q = 8'h29; // 0x1e33 + 13'h1e34: q = 8'h10; // 0x1e34 + 13'h1e35: q = 8'h4a; // 0x1e35 + 13'h1e36: q = 8'h4a; // 0x1e36 + 13'h1e37: q = 8'h4a; // 0x1e37 + 13'h1e38: q = 8'h4a; // 0x1e38 + 13'h1e39: q = 8'h69; // 0x1e39 + 13'h1e3a: q = 8'h01; // 0x1e3a + 13'h1e3b: q = 8'h09; // 0x1e3b + 13'h1e3c: q = 8'h20; // 0x1e3c + 13'h1e3d: q = 8'h20; // 0x1e3d + 13'h1e3e: q = 8'h36; // 0x1e3e + 13'h1e3f: q = 8'h38; // 0x1e3f + 13'h1e40: q = 8'had; // 0x1e40 + 13'h1e41: q = 8'h01; // 0x1e41 + 13'h1e42: q = 8'h08; // 0x1e42 + 13'h1e43: q = 8'h29; // 0x1e43 + 13'h1e44: q = 8'h0c; // 0x1e44 + 13'h1e45: q = 8'h4a; // 0x1e45 + 13'h1e46: q = 8'h4a; // 0x1e46 + 13'h1e47: q = 8'hd0; // 0x1e47 + 13'h1e48: q = 8'h02; // 0x1e48 + 13'h1e49: q = 8'ha9; // 0x1e49 + 13'h1e4a: q = 8'hfe; // 0x1e4a + 13'h1e4b: q = 8'h69; // 0x1e4b + 13'h1e4c: q = 8'h03; // 0x1e4c + 13'h1e4d: q = 8'h09; // 0x1e4d + 13'h1e4e: q = 8'h20; // 0x1e4e + 13'h1e4f: q = 8'h20; // 0x1e4f + 13'h1e50: q = 8'h36; // 0x1e50 + 13'h1e51: q = 8'h38; // 0x1e51 + 13'h1e52: q = 8'ha9; // 0x1e52 + 13'h1e53: q = 8'h36; // 0x1e53 + 13'h1e54: q = 8'h85; // 0x1e54 + 13'h1e55: q = 8'h91; // 0x1e55 + 13'h1e56: q = 8'ha9; // 0x1e56 + 13'h1e57: q = 8'h00; // 0x1e57 + 13'h1e58: q = 8'ha8; // 0x1e58 + 13'h1e59: q = 8'h91; // 0x1e59 + 13'h1e5a: q = 8'h91; // 0x1e5a + 13'h1e5b: q = 8'ha0; // 0x1e5b + 13'h1e5c: q = 8'h40; // 0x1e5c + 13'h1e5d: q = 8'h91; // 0x1e5d + 13'h1e5e: q = 8'h91; // 0x1e5e + 13'h1e5f: q = 8'had; // 0x1e5f + 13'h1e60: q = 8'h01; // 0x1e60 + 13'h1e61: q = 8'h08; // 0x1e61 + 13'h1e62: q = 8'h4a; // 0x1e62 + 13'h1e63: q = 8'h4a; // 0x1e63 + 13'h1e64: q = 8'h4a; // 0x1e64 + 13'h1e65: q = 8'h4a; // 0x1e65 + 13'h1e66: q = 8'h4a; // 0x1e66 + 13'h1e67: q = 8'hf0; // 0x1e67 + 13'h1e68: q = 8'h1b; // 0x1e68 + 13'h1e69: q = 8'haa; // 0x1e69 + 13'h1e6a: q = 8'hc9; // 0x1e6a + 13'h1e6b: q = 8'h06; // 0x1e6b + 13'h1e6c: q = 8'hb0; // 0x1e6c + 13'h1e6d: q = 8'h16; // 0x1e6d + 13'h1e6e: q = 8'hbd; // 0x1e6e + 13'h1e6f: q = 8'hd8; // 0x1e6f + 13'h1e70: q = 8'h3f; // 0x1e70 + 13'h1e71: q = 8'h20; // 0x1e71 + 13'h1e72: q = 8'h36; // 0x1e72 + 13'h1e73: q = 8'h38; // 0x1e73 + 13'h1e74: q = 8'ha9; // 0x1e74 + 13'h1e75: q = 8'h00; // 0x1e75 + 13'h1e76: q = 8'h20; // 0x1e76 + 13'h1e77: q = 8'h36; // 0x1e77 + 13'h1e78: q = 8'h38; // 0x1e78 + 13'h1e79: q = 8'ha9; // 0x1e79 + 13'h1e7a: q = 8'h21; // 0x1e7a + 13'h1e7b: q = 8'he0; // 0x1e7b + 13'h1e7c: q = 8'h03; // 0x1e7c + 13'h1e7d: q = 8'hd0; // 0x1e7d + 13'h1e7e: q = 8'h02; // 0x1e7e + 13'h1e7f: q = 8'ha9; // 0x1e7f + 13'h1e80: q = 8'h22; // 0x1e80 + 13'h1e81: q = 8'h20; // 0x1e81 + 13'h1e82: q = 8'h36; // 0x1e82 + 13'h1e83: q = 8'h38; // 0x1e83 + 13'h1e84: q = 8'ha9; // 0x1e84 + 13'h1e85: q = 8'h3f; // 0x1e85 + 13'h1e86: q = 8'h85; // 0x1e86 + 13'h1e87: q = 8'h94; // 0x1e87 + 13'h1e88: q = 8'ha9; // 0x1e88 + 13'h1e89: q = 8'hee; // 0x1e89 + 13'h1e8a: q = 8'h2c; // 0x1e8a + 13'h1e8b: q = 8'h00; // 0x1e8b + 13'h1e8c: q = 8'h08; // 0x1e8c + 13'h1e8d: q = 8'h50; // 0x1e8d + 13'h1e8e: q = 8'h02; // 0x1e8e + 13'h1e8f: q = 8'ha9; // 0x1e8f + 13'h1e90: q = 8'hf2; // 0x1e90 + 13'h1e91: q = 8'h85; // 0x1e91 + 13'h1e92: q = 8'h93; // 0x1e92 + 13'h1e93: q = 8'ha9; // 0x1e93 + 13'h1e94: q = 8'h35; // 0x1e94 + 13'h1e95: q = 8'h85; // 0x1e95 + 13'h1e96: q = 8'h91; // 0x1e96 + 13'h1e97: q = 8'h20; // 0x1e97 + 13'h1e98: q = 8'h25; // 0x1e98 + 13'h1e99: q = 8'h38; // 0x1e99 + 13'h1e9a: q = 8'had; // 0x1e9a + 13'h1e9b: q = 8'h01; // 0x1e9b + 13'h1e9c: q = 8'h0c; // 0x1e9c + 13'h1e9d: q = 8'h85; // 0x1e9d + 13'h1e9e: q = 8'hdf; // 0x1e9e + 13'h1e9f: q = 8'had; // 0x1e9f + 13'h1ea0: q = 8'h00; // 0x1ea0 + 13'h1ea1: q = 8'h08; // 0x1ea1 + 13'h1ea2: q = 8'h85; // 0x1ea2 + 13'h1ea3: q = 8'hdd; // 0x1ea3 + 13'h1ea4: q = 8'had; // 0x1ea4 + 13'h1ea5: q = 8'h01; // 0x1ea5 + 13'h1ea6: q = 8'h08; // 0x1ea6 + 13'h1ea7: q = 8'h85; // 0x1ea7 + 13'h1ea8: q = 8'hde; // 0x1ea8 + 13'h1ea9: q = 8'had; // 0x1ea9 + 13'h1eaa: q = 8'h00; // 0x1eaa + 13'h1eab: q = 8'h0c; // 0x1eab + 13'h1eac: q = 8'h29; // 0x1eac + 13'h1ead: q = 8'h8f; // 0x1ead + 13'h1eae: q = 8'h85; // 0x1eae + 13'h1eaf: q = 8'he0; // 0x1eaf + 13'h1eb0: q = 8'had; // 0x1eb0 + 13'h1eb1: q = 8'h02; // 0x1eb1 + 13'h1eb2: q = 8'h0c; // 0x1eb2 + 13'h1eb3: q = 8'h29; // 0x1eb3 + 13'h1eb4: q = 8'h8f; // 0x1eb4 + 13'h1eb5: q = 8'h85; // 0x1eb5 + 13'h1eb6: q = 8'he1; // 0x1eb6 + 13'h1eb7: q = 8'had; // 0x1eb7 + 13'h1eb8: q = 8'h03; // 0x1eb8 + 13'h1eb9: q = 8'h0c; // 0x1eb9 + 13'h1eba: q = 8'h85; // 0x1eba + 13'h1ebb: q = 8'he2; // 0x1ebb + 13'h1ebc: q = 8'had; // 0x1ebc + 13'h1ebd: q = 8'h0a; // 0x1ebd + 13'h1ebe: q = 8'h10; // 0x1ebe + 13'h1ebf: q = 8'h48; // 0x1ebf + 13'h1ec0: q = 8'h25; // 0x1ec0 + 13'h1ec1: q = 8'he3; // 0x1ec1 + 13'h1ec2: q = 8'h85; // 0x1ec2 + 13'h1ec3: q = 8'he3; // 0x1ec3 + 13'h1ec4: q = 8'h68; // 0x1ec4 + 13'h1ec5: q = 8'h05; // 0x1ec5 + 13'h1ec6: q = 8'he4; // 0x1ec6 + 13'h1ec7: q = 8'h85; // 0x1ec7 + 13'h1ec8: q = 8'he4; // 0x1ec8 + 13'h1ec9: q = 8'ha2; // 0x1ec9 + 13'h1eca: q = 8'h00; // 0x1eca + 13'h1ecb: q = 8'had; // 0x1ecb + 13'h1ecc: q = 8'h01; // 0x1ecc + 13'h1ecd: q = 8'h0c; // 0x1ecd + 13'h1ece: q = 8'h38; // 0x1ece + 13'h1ecf: q = 8'h2a; // 0x1ecf + 13'h1ed0: q = 8'hb0; // 0x1ed0 + 13'h1ed1: q = 8'h01; // 0x1ed1 + 13'h1ed2: q = 8'he8; // 0x1ed2 + 13'h1ed3: q = 8'h0a; // 0x1ed3 + 13'h1ed4: q = 8'hd0; // 0x1ed4 + 13'h1ed5: q = 8'hfa; // 0x1ed5 + 13'h1ed6: q = 8'h8a; // 0x1ed6 + 13'h1ed7: q = 8'ha4; // 0x1ed7 + 13'h1ed8: q = 8'he6; // 0x1ed8 + 13'h1ed9: q = 8'h0a; // 0x1ed9 + 13'h1eda: q = 8'h0a; // 0x1eda + 13'h1edb: q = 8'h0a; // 0x1edb + 13'h1edc: q = 8'h99; // 0x1edc + 13'h1edd: q = 8'h00; // 0x1edd + 13'h1ede: q = 8'h10; // 0x1ede + 13'h1edf: q = 8'h8a; // 0x1edf + 13'h1ee0: q = 8'h09; // 0x1ee0 + 13'h1ee1: q = 8'ha0; // 0x1ee1 + 13'h1ee2: q = 8'h99; // 0x1ee2 + 13'h1ee3: q = 8'h01; // 0x1ee3 + 13'h1ee4: q = 8'h10; // 0x1ee4 + 13'h1ee5: q = 8'ha6; // 0x1ee5 + 13'h1ee6: q = 8'he7; // 0x1ee6 + 13'h1ee7: q = 8'ha0; // 0x1ee7 + 13'h1ee8: q = 8'h00; // 0x1ee8 + 13'h1ee9: q = 8'ha5; // 0x1ee9 + 13'h1eea: q = 8'hb9; // 0x1eea + 13'h1eeb: q = 8'h84; // 0x1eeb + 13'h1eec: q = 8'hb9; // 0x1eec + 13'h1eed: q = 8'h18; // 0x1eed + 13'h1eee: q = 8'h75; // 0x1eee + 13'h1eef: q = 8'h54; // 0x1eef + 13'h1ef0: q = 8'h95; // 0x1ef0 + 13'h1ef1: q = 8'h54; // 0x1ef1 + 13'h1ef2: q = 8'hb5; // 0x1ef2 + 13'h1ef3: q = 8'h64; // 0x1ef3 + 13'h1ef4: q = 8'h38; // 0x1ef4 + 13'h1ef5: q = 8'he5; // 0x1ef5 + 13'h1ef6: q = 8'hbb; // 0x1ef6 + 13'h1ef7: q = 8'h84; // 0x1ef7 + 13'h1ef8: q = 8'hbb; // 0x1ef8 + 13'h1ef9: q = 8'h95; // 0x1ef9 + 13'h1efa: q = 8'h64; // 0x1efa + 13'h1efb: q = 8'ha0; // 0x1efb + 13'h1efc: q = 8'hd0; // 0x1efc + 13'h1efd: q = 8'ha2; // 0x1efd + 13'h1efe: q = 8'h05; // 0x1efe + 13'h1eff: q = 8'h9a; // 0x1eff + 13'h1f00: q = 8'ha2; // 0x1f00 + 13'h1f01: q = 8'h07; // 0x1f01 + 13'h1f02: q = 8'h8a; // 0x1f02 + 13'h1f03: q = 8'hba; // 0x1f03 + 13'h1f04: q = 8'h36; // 0x1f04 + 13'h1f05: q = 8'hdd; // 0x1f05 + 13'h1f06: q = 8'haa; // 0x1f06 + 13'h1f07: q = 8'ha9; // 0x1f07 + 13'h1f08: q = 8'h21; // 0x1f08 + 13'h1f09: q = 8'hb0; // 0x1f09 + 13'h1f0a: q = 8'h02; // 0x1f0a + 13'h1f0b: q = 8'ha9; // 0x1f0b + 13'h1f0c: q = 8'h20; // 0x1f0c + 13'h1f0d: q = 8'hc8; // 0x1f0d + 13'h1f0e: q = 8'h99; // 0x1f0e + 13'h1f0f: q = 8'h00; // 0x1f0f + 13'h1f10: q = 8'h04; // 0x1f10 + 13'h1f11: q = 8'hca; // 0x1f11 + 13'h1f12: q = 8'h10; // 0x1f12 + 13'h1f13: q = 8'hee; // 0x1f13 + 13'h1f14: q = 8'h98; // 0x1f14 + 13'h1f15: q = 8'h38; // 0x1f15 + 13'h1f16: q = 8'he9; // 0x1f16 + 13'h1f17: q = 8'h28; // 0x1f17 + 13'h1f18: q = 8'ha8; // 0x1f18 + 13'h1f19: q = 8'hba; // 0x1f19 + 13'h1f1a: q = 8'hca; // 0x1f1a + 13'h1f1b: q = 8'h10; // 0x1f1b + 13'h1f1c: q = 8'he2; // 0x1f1c + 13'h1f1d: q = 8'ha9; // 0x1f1d + 13'h1f1e: q = 8'h04; // 0x1f1e + 13'h1f1f: q = 8'h85; // 0x1f1f + 13'h1f20: q = 8'h92; // 0x1f20 + 13'h1f21: q = 8'ha9; // 0x1f21 + 13'h1f22: q = 8'h3a; // 0x1f22 + 13'h1f23: q = 8'h85; // 0x1f23 + 13'h1f24: q = 8'h91; // 0x1f24 + 13'h1f25: q = 8'ha5; // 0x1f25 + 13'h1f26: q = 8'he4; // 0x1f26 + 13'h1f27: q = 8'h49; // 0x1f27 + 13'h1f28: q = 8'hff; // 0x1f28 + 13'h1f29: q = 8'h05; // 0x1f29 + 13'h1f2a: q = 8'he3; // 0x1f2a + 13'h1f2b: q = 8'h05; // 0x1f2b + 13'h1f2c: q = 8'he5; // 0x1f2c + 13'h1f2d: q = 8'hf0; // 0x1f2d + 13'h1f2e: q = 8'h02; // 0x1f2e + 13'h1f2f: q = 8'ha9; // 0x1f2f + 13'h1f30: q = 8'h25; // 0x1f30 + 13'h1f31: q = 8'h20; // 0x1f31 + 13'h1f32: q = 8'h36; // 0x1f32 + 13'h1f33: q = 8'h38; // 0x1f33 + 13'h1f34: q = 8'h20; // 0x1f34 + 13'h1f35: q = 8'hc0; // 0x1f35 + 13'h1f36: q = 8'h3a; // 0x1f36 + 13'h1f37: q = 8'h20; // 0x1f37 + 13'h1f38: q = 8'h08; // 0x1f38 + 13'h1f39: q = 8'h3a; // 0x1f39 + 13'h1f3a: q = 8'h8c; // 0x1f3a + 13'h1f3b: q = 8'hb5; // 0x1f3b + 13'h1f3c: q = 8'h01; // 0x1f3c + 13'h1f3d: q = 8'hf0; // 0x1f3d + 13'h1f3e: q = 8'h16; // 0x1f3e + 13'h1f3f: q = 8'h48; // 0x1f3f + 13'h1f40: q = 8'ha9; // 0x1f40 + 13'h1f41: q = 8'h3b; // 0x1f41 + 13'h1f42: q = 8'h85; // 0x1f42 + 13'h1f43: q = 8'h91; // 0x1f43 + 13'h1f44: q = 8'ha9; // 0x1f44 + 13'h1f45: q = 8'h24; // 0x1f45 + 13'h1f46: q = 8'h20; // 0x1f46 + 13'h1f47: q = 8'h36; // 0x1f47 + 13'h1f48: q = 8'h38; // 0x1f48 + 13'h1f49: q = 8'ha9; // 0x1f49 + 13'h1f4a: q = 8'h00; // 0x1f4a + 13'h1f4b: q = 8'h20; // 0x1f4b + 13'h1f4c: q = 8'h36; // 0x1f4c + 13'h1f4d: q = 8'h38; // 0x1f4d + 13'h1f4e: q = 8'h68; // 0x1f4e + 13'h1f4f: q = 8'h20; // 0x1f4f + 13'h1f50: q = 8'h4f; // 0x1f50 + 13'h1f51: q = 8'h38; // 0x1f51 + 13'h1f52: q = 8'h4c; // 0x1f52 + 13'h1f53: q = 8'hd6; // 0x1f53 + 13'h1f54: q = 8'h3f; // 0x1f54 + 13'h1f55: q = 8'ha9; // 0x1f55 + 13'h1f56: q = 8'h04; // 0x1f56 + 13'h1f57: q = 8'h85; // 0x1f57 + 13'h1f58: q = 8'h92; // 0x1f58 + 13'h1f59: q = 8'ha9; // 0x1f59 + 13'h1f5a: q = 8'he9; // 0x1f5a + 13'h1f5b: q = 8'h85; // 0x1f5b + 13'h1f5c: q = 8'h91; // 0x1f5c + 13'h1f5d: q = 8'h38; // 0x1f5d + 13'h1f5e: q = 8'had; // 0x1f5e + 13'h1f5f: q = 8'h8d; // 0x1f5f + 13'h1f60: q = 8'h01; // 0x1f60 + 13'h1f61: q = 8'h20; // 0x1f61 + 13'h1f62: q = 8'h4f; // 0x1f62 + 13'h1f63: q = 8'h38; // 0x1f63 + 13'h1f64: q = 8'had; // 0x1f64 + 13'h1f65: q = 8'h8c; // 0x1f65 + 13'h1f66: q = 8'h01; // 0x1f66 + 13'h1f67: q = 8'h20; // 0x1f67 + 13'h1f68: q = 8'h4f; // 0x1f68 + 13'h1f69: q = 8'h38; // 0x1f69 + 13'h1f6a: q = 8'had; // 0x1f6a + 13'h1f6b: q = 8'h8b; // 0x1f6b + 13'h1f6c: q = 8'h01; // 0x1f6c + 13'h1f6d: q = 8'h18; // 0x1f6d + 13'h1f6e: q = 8'h20; // 0x1f6e + 13'h1f6f: q = 8'h4f; // 0x1f6f + 13'h1f70: q = 8'h38; // 0x1f70 + 13'h1f71: q = 8'ha9; // 0x1f71 + 13'h1f72: q = 8'hde; // 0x1f72 + 13'h1f73: q = 8'h85; // 0x1f73 + 13'h1f74: q = 8'h93; // 0x1f74 + 13'h1f75: q = 8'ha9; // 0x1f75 + 13'h1f76: q = 8'h3f; // 0x1f76 + 13'h1f77: q = 8'h85; // 0x1f77 + 13'h1f78: q = 8'h94; // 0x1f78 + 13'h1f79: q = 8'h20; // 0x1f79 + 13'h1f7a: q = 8'h25; // 0x1f7a + 13'h1f7b: q = 8'h38; // 0x1f7b + 13'h1f7c: q = 8'ha9; // 0x1f7c + 13'h1f7d: q = 8'h05; // 0x1f7d + 13'h1f7e: q = 8'h85; // 0x1f7e + 13'h1f7f: q = 8'h92; // 0x1f7f + 13'h1f80: q = 8'ha9; // 0x1f80 + 13'h1f81: q = 8'h08; // 0x1f81 + 13'h1f82: q = 8'h85; // 0x1f82 + 13'h1f83: q = 8'h91; // 0x1f83 + 13'h1f84: q = 8'ha5; // 0x1f84 + 13'h1f85: q = 8'h8d; // 0x1f85 + 13'h1f86: q = 8'h4a; // 0x1f86 + 13'h1f87: q = 8'h4a; // 0x1f87 + 13'h1f88: q = 8'h4a; // 0x1f88 + 13'h1f89: q = 8'h4a; // 0x1f89 + 13'h1f8a: q = 8'hf8; // 0x1f8a + 13'h1f8b: q = 8'h18; // 0x1f8b + 13'h1f8c: q = 8'h69; // 0x1f8c + 13'h1f8d: q = 8'h00; // 0x1f8d + 13'h1f8e: q = 8'hd8; // 0x1f8e + 13'h1f8f: q = 8'h38; // 0x1f8f + 13'h1f90: q = 8'h20; // 0x1f90 + 13'h1f91: q = 8'h4f; // 0x1f91 + 13'h1f92: q = 8'h38; // 0x1f92 + 13'h1f93: q = 8'ha9; // 0x1f93 + 13'h1f94: q = 8'h2e; // 0x1f94 + 13'h1f95: q = 8'h20; // 0x1f95 + 13'h1f96: q = 8'h36; // 0x1f96 + 13'h1f97: q = 8'h38; // 0x1f97 + 13'h1f98: q = 8'ha5; // 0x1f98 + 13'h1f99: q = 8'h8d; // 0x1f99 + 13'h1f9a: q = 8'h29; // 0x1f9a + 13'h1f9b: q = 8'h0f; // 0x1f9b + 13'h1f9c: q = 8'hf8; // 0x1f9c + 13'h1f9d: q = 8'h18; // 0x1f9d + 13'h1f9e: q = 8'h69; // 0x1f9e + 13'h1f9f: q = 8'h00; // 0x1f9f + 13'h1fa0: q = 8'h85; // 0x1fa0 + 13'h1fa1: q = 8'h8e; // 0x1fa1 + 13'h1fa2: q = 8'h65; // 0x1fa2 + 13'h1fa3: q = 8'h8e; // 0x1fa3 + 13'h1fa4: q = 8'h85; // 0x1fa4 + 13'h1fa5: q = 8'h8e; // 0x1fa5 + 13'h1fa6: q = 8'h65; // 0x1fa6 + 13'h1fa7: q = 8'h8e; // 0x1fa7 + 13'h1fa8: q = 8'hd8; // 0x1fa8 + 13'h1fa9: q = 8'hc9; // 0x1fa9 + 13'h1faa: q = 8'h60; // 0x1faa + 13'h1fab: q = 8'h90; // 0x1fab + 13'h1fac: q = 8'h02; // 0x1fac + 13'h1fad: q = 8'ha9; // 0x1fad + 13'h1fae: q = 8'h59; // 0x1fae + 13'h1faf: q = 8'h18; // 0x1faf + 13'h1fb0: q = 8'h20; // 0x1fb0 + 13'h1fb1: q = 8'h4f; // 0x1fb1 + 13'h1fb2: q = 8'h38; // 0x1fb2 + 13'h1fb3: q = 8'ha9; // 0x1fb3 + 13'h1fb4: q = 8'he4; // 0x1fb4 + 13'h1fb5: q = 8'h85; // 0x1fb5 + 13'h1fb6: q = 8'h93; // 0x1fb6 + 13'h1fb7: q = 8'ha9; // 0x1fb7 + 13'h1fb8: q = 8'h3f; // 0x1fb8 + 13'h1fb9: q = 8'h85; // 0x1fb9 + 13'h1fba: q = 8'h94; // 0x1fba + 13'h1fbb: q = 8'h20; // 0x1fbb + 13'h1fbc: q = 8'h25; // 0x1fbc + 13'h1fbd: q = 8'h38; // 0x1fbd + 13'h1fbe: q = 8'ha5; // 0x1fbe + 13'h1fbf: q = 8'hea; // 0x1fbf + 13'h1fc0: q = 8'h05; // 0x1fc0 + 13'h1fc1: q = 8'heb; // 0x1fc1 + 13'h1fc2: q = 8'h05; // 0x1fc2 + 13'h1fc3: q = 8'hec; // 0x1fc3 + 13'h1fc4: q = 8'hd0; // 0x1fc4 + 13'h1fc5: q = 8'h10; // 0x1fc5 + 13'h1fc6: q = 8'had; // 0x1fc6 + 13'h1fc7: q = 8'hb5; // 0x1fc7 + 13'h1fc8: q = 8'h01; // 0x1fc8 + 13'h1fc9: q = 8'h49; // 0x1fc9 + 13'h1fca: q = 8'hff; // 0x1fca + 13'h1fcb: q = 8'h8d; // 0x1fcb + 13'h1fcc: q = 8'hb5; // 0x1fcc + 13'h1fcd: q = 8'h01; // 0x1fcd + 13'h1fce: q = 8'ha9; // 0x1fce + 13'h1fcf: q = 8'h3d; // 0x1fcf + 13'h1fd0: q = 8'h85; // 0x1fd0 + 13'h1fd1: q = 8'hf9; // 0x1fd1 + 13'h1fd2: q = 8'ha9; // 0x1fd2 + 13'h1fd3: q = 8'h00; // 0x1fd3 + 13'h1fd4: q = 8'h85; // 0x1fd4 + 13'h1fd5: q = 8'hfa; // 0x1fd5 + 13'h1fd6: q = 8'h4c; // 0x1fd6 + 13'h1fd7: q = 8'h57; // 0x1fd7 + 13'h1fd8: q = 8'h3d; // 0x1fd8 + 13'h1fd9: q = 8'h22; // 0x1fd9 + 13'h1fda: q = 8'h24; // 0x1fda + 13'h1fdb: q = 8'h24; // 0x1fdb + 13'h1fdc: q = 8'h25; // 0x1fdc + 13'h1fdd: q = 8'h23; // 0x1fdd + 13'h1fde: q = 8'h20; // 0x1fde + 13'h1fdf: q = 8'h50; // 0x1fdf + 13'h1fe0: q = 8'h4c; // 0x1fe0 + 13'h1fe1: q = 8'h41; // 0x1fe1 + 13'h1fe2: q = 8'h59; // 0x1fe2 + 13'h1fe3: q = 8'hd3; // 0x1fe3 + 13'h1fe4: q = 8'h20; // 0x1fe4 + 13'h1fe5: q = 8'h47; // 0x1fe5 + 13'h1fe6: q = 8'h41; // 0x1fe6 + 13'h1fe7: q = 8'h4d; // 0x1fe7 + 13'h1fe8: q = 8'h45; // 0x1fe8 + 13'h1fe9: q = 8'h20; // 0x1fe9 + 13'h1fea: q = 8'h54; // 0x1fea + 13'h1feb: q = 8'h49; // 0x1feb + 13'h1fec: q = 8'h4d; // 0x1fec + 13'h1fed: q = 8'hc5; // 0x1fed + 13'h1fee: q = 8'h48; // 0x1fee + 13'h1fef: q = 8'h41; // 0x1fef + 13'h1ff0: q = 8'h52; // 0x1ff0 + 13'h1ff1: q = 8'hc4; // 0x1ff1 + 13'h1ff2: q = 8'h45; // 0x1ff2 + 13'h1ff3: q = 8'h41; // 0x1ff3 + 13'h1ff4: q = 8'h53; // 0x1ff4 + 13'h1ff5: q = 8'hd9; // 0x1ff5 + 13'h1ff6: q = 8'h4c; // 0x1ff6 + 13'h1ff7: q = 8'hf6; // 0x1ff7 + 13'h1ff8: q = 8'h3f; // 0x1ff8 + 13'h1ff9: q = 8'h0a; // 0x1ff9 + 13'h1ffa: q = 8'hf6; // 0x1ffa + 13'h1ffb: q = 8'h3f; // 0x1ffb + 13'h1ffc: q = 8'h04; // 0x1ffc + 13'h1ffd: q = 8'h3b; // 0x1ffd + 13'h1ffe: q = 8'h71; // 0x1ffe + 13'h1fff: q = 8'h38; // 0x1fff + endcase diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_code_case_patched.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_code_case_patched.v new file mode 100644 index 00000000..c9788cf1 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_code_case_patched.v @@ -0,0 +1,8205 @@ + // centipede + case (a) + // ../src/centiped3/136001-307.d1 + 13'h000: q = 8'h4c; // 0x000 + 13'h001: q = 8'h04; // 0x001 + 13'h002: q = 8'h3b; // 0x002 + 13'h003: q = 8'h1b; // 0x003 + 13'h004: q = 8'h31; // 0x004 + 13'h005: q = 8'h39; // 0x005 + 13'h006: q = 8'h38; // 0x006 + 13'h007: q = 8'h30; // 0x007 + 13'h008: q = 8'h20; // 0x008 + 13'h009: q = 8'h41; // 0x009 + 13'h00a: q = 8'h54; // 0x00a + 13'h00b: q = 8'h41; // 0x00b + 13'h00c: q = 8'h52; // 0x00c + 13'h00d: q = 8'hc9; // 0x00d + 13'h00e: q = 8'h20; // 0x00e + 13'h00f: q = 8'h72; // 0x00f + 13'h010: q = 8'h28; // 0x010 + 13'h011: q = 8'h58; // 0x011 + 13'h012: q = 8'h20; // 0x012 + 13'h013: q = 8'h5c; // 0x013 + 13'h014: q = 8'h2d; // 0x014 + 13'h015: q = 8'h46; // 0x015 + 13'h016: q = 8'h8a; // 0x016 + 13'h017: q = 8'h90; // 0x017 + 13'h018: q = 8'hfc; // 0x018 + 13'h019: q = 8'h8d; // 0x019 + 13'h01a: q = 8'h00; // 0x01a + 13'h01b: q = 8'h20; // 0x01b + 13'h01c: q = 8'had; // 0x01c + 13'h01d: q = 8'h00; // 0x01d + 13'h01e: q = 8'h0c; // 0x01e + 13'h01f: q = 8'h29; // 0x01f + 13'h020: q = 8'h20; // 0x020 + 13'h021: q = 8'hf0; // 0x021 + 13'h022: q = 8'hfe; // 0x022 + 13'h023: q = 8'h20; // 0x023 + 13'h024: q = 8'h61; // 0x024 + 13'h025: q = 8'h25; // 0x025 + 13'h026: q = 8'h20; // 0x026 + 13'h027: q = 8'h68; // 0x027 + 13'h028: q = 8'h30; // 0x028 + 13'h029: q = 8'h20; // 0x029 + 13'h02a: q = 8'h41; // 0x02a + 13'h02b: q = 8'h27; // 0x02b + 13'h02c: q = 8'h10; // 0x02c + 13'h02d: q = 8'he7; // 0x02d + 13'h02e: q = 8'h20; // 0x02e + 13'h02f: q = 8'hc0; // 0x02f + 13'h030: q = 8'h3a; // 0x030 + 13'h031: q = 8'h20; // 0x031 + 13'h032: q = 8'h19; // 0x032 + 13'h033: q = 8'h21; // 0x033 + 13'h034: q = 8'h20; // 0x034 + 13'h035: q = 8'hfe; // 0x035 + 13'h036: q = 8'h32; // 0x036 + 13'h037: q = 8'h20; // 0x037 + 13'h038: q = 8'h51; // 0x038 + 13'h039: q = 8'h29; // 0x039 + 13'h03a: q = 8'h20; // 0x03a + 13'h03b: q = 8'hfd; // 0x03b + 13'h03c: q = 8'h26; // 0x03c + 13'h03d: q = 8'h20; // 0x03d + 13'h03e: q = 8'hce; // 0x03e + 13'h03f: q = 8'h2a; // 0x03f + 13'h040: q = 8'h20; // 0x040 + 13'h041: q = 8'h02; // 0x041 + 13'h042: q = 8'h22; // 0x042 + 13'h043: q = 8'h20; // 0x043 + 13'h044: q = 8'hc6; // 0x044 + 13'h045: q = 8'h2e; // 0x045 + 13'h046: q = 8'h20; // 0x046 + 13'h047: q = 8'hd9; // 0x047 + 13'h048: q = 8'h2b; // 0x048 + 13'h049: q = 8'h20; // 0x049 + 13'h04a: q = 8'h0b; // 0x04a + 13'h04b: q = 8'h2e; // 0x04b + 13'h04c: q = 8'h20; // 0x04c + 13'h04d: q = 8'h59; // 0x04d + 13'h04e: q = 8'h20; // 0x04e + 13'h04f: q = 8'h20; // 0x04f + 13'h050: q = 8'hda; // 0x050 + 13'h051: q = 8'h23; // 0x051 + 13'h052: q = 8'h20; // 0x052 + 13'h053: q = 8'hef; // 0x053 + 13'h054: q = 8'h2c; // 0x054 + 13'h055: q = 8'h4c; // 0x055 + 13'h056: q = 8'h15; // 0x056 + 13'h057: q = 8'h20; // 0x057 + 13'h058: q = 8'h4f; // 0x058 + 13'h059: q = 8'ha5; // 0x059 + 13'h05a: q = 8'h43; // 0x05a + 13'h05b: q = 8'h29; // 0x05b + 13'h05c: q = 8'haf; // 0x05c + 13'h05d: q = 8'hd0; // 0x05d + 13'h05e: q = 8'h08; // 0x05e + 13'h05f: q = 8'ha5; // 0x05f + 13'h060: q = 8'h40; // 0x060 + 13'h061: q = 8'h45; // 0x061 + 13'h062: q = 8'hef; // 0x062 + 13'h063: q = 8'hc9; // 0x063 + 13'h064: q = 8'h20; // 0x064 + 13'h065: q = 8'h90; // 0x065 + 13'h066: q = 8'h01; // 0x066 + 13'h067: q = 8'h60; // 0x067 + 13'h068: q = 8'ha5; // 0x068 + 13'h069: q = 8'h70; // 0x069 + 13'h06a: q = 8'h45; // 0x06a + 13'h06b: q = 8'hf0; // 0x06b + 13'h06c: q = 8'hc9; // 0x06c + 13'h06d: q = 8'hf8; // 0x06d + 13'h06e: q = 8'h90; // 0x06e + 13'h06f: q = 8'h20; // 0x06f + 13'h070: q = 8'ha6; // 0x070 + 13'h071: q = 8'h88; // 0x071 + 13'h072: q = 8'hb5; // 0x072 + 13'h073: q = 8'h9a; // 0x073 + 13'h074: q = 8'hc9; // 0x074 + 13'h075: q = 8'h0c; // 0x075 + 13'h076: q = 8'hb0; // 0x076 + 13'h077: q = 8'h6b; // 0x077 + 13'h078: q = 8'hb5; // 0x078 + 13'h079: q = 8'hab; // 0x079 + 13'h07a: q = 8'hc9; // 0x07a + 13'h07b: q = 8'h02; // 0x07b + 13'h07c: q = 8'ha0; // 0x07c + 13'h07d: q = 8'h05; // 0x07d + 13'h07e: q = 8'h90; // 0x07e + 13'h07f: q = 8'h02; // 0x07f + 13'h080: q = 8'ha0; // 0x080 + 13'h081: q = 8'h09; // 0x081 + 13'h082: q = 8'hc9; // 0x082 + 13'h083: q = 8'h12; // 0x083 + 13'h084: q = 8'h90; // 0x084 + 13'h085: q = 8'h05; // 0x085 + 13'h086: q = 8'h4a; // 0x086 + 13'h087: q = 8'h18; // 0x087 + 13'h088: q = 8'h69; // 0x088 + 13'h089: q = 8'h06; // 0x089 + 13'h08a: q = 8'ha8; // 0x08a + 13'h08b: q = 8'h98; // 0x08b + 13'h08c: q = 8'hd5; // 0x08c + 13'h08d: q = 8'hd7; // 0x08d + 13'h08e: q = 8'h90; // 0x08e + 13'h08f: q = 8'h53; // 0x08f + 13'h090: q = 8'ha5; // 0x090 + 13'h091: q = 8'h00; // 0x091 + 13'h092: q = 8'h29; // 0x092 + 13'h093: q = 8'h03; // 0x093 + 13'h094: q = 8'hd0; // 0x094 + 13'h095: q = 8'h0f; // 0x095 + 13'h096: q = 8'he6; // 0x096 + 13'h097: q = 8'h40; // 0x097 + 13'h098: q = 8'ha5; // 0x098 + 13'h099: q = 8'h40; // 0x099 + 13'h09a: q = 8'h18; // 0x09a + 13'h09b: q = 8'h69; // 0x09b + 13'h09c: q = 8'h01; // 0x09c + 13'h09d: q = 8'h29; // 0x09d + 13'h09e: q = 8'h03; // 0x09e + 13'h09f: q = 8'h09; // 0x09f + 13'h0a0: q = 8'h1c; // 0x0a0 + 13'h0a1: q = 8'h45; // 0x0a1 + 13'h0a2: q = 8'hef; // 0x0a2 + 13'h0a3: q = 8'h85; // 0x0a3 + 13'h0a4: q = 8'h40; // 0x0a4 + 13'h0a5: q = 8'ha5; // 0x0a5 + 13'h0a6: q = 8'h60; // 0x0a6 + 13'h0a7: q = 8'h85; // 0x0a7 + 13'h0a8: q = 8'h8b; // 0x0a8 + 13'h0a9: q = 8'ha5; // 0x0a9 + 13'h0aa: q = 8'h70; // 0x0aa + 13'h0ab: q = 8'ha4; // 0x0ab + 13'h0ac: q = 8'hef; // 0x0ac + 13'h0ad: q = 8'hf0; // 0x0ad + 13'h0ae: q = 8'h06; // 0x0ae + 13'h0af: q = 8'h18; // 0x0af + 13'h0b0: q = 8'h65; // 0x0b0 + 13'h0b1: q = 8'h80; // 0x0b1 + 13'h0b2: q = 8'h4c; // 0x0b2 + 13'h0b3: q = 8'hb8; // 0x0b3 + 13'h0b4: q = 8'h20; // 0x0b4 + 13'h0b5: q = 8'h38; // 0x0b5 + 13'h0b6: q = 8'he5; // 0x0b6 + 13'h0b7: q = 8'h80; // 0x0b7 + 13'h0b8: q = 8'h85; // 0x0b8 + 13'h0b9: q = 8'h70; // 0x0b9 + 13'h0ba: q = 8'h45; // 0x0ba + 13'h0bb: q = 8'hf0; // 0x0bb + 13'h0bc: q = 8'hc9; // 0x0bc + 13'h0bd: q = 8'h04; // 0x0bd + 13'h0be: q = 8'h90; // 0x0be + 13'h0bf: q = 8'h24; // 0x0bf + 13'h0c0: q = 8'ha2; // 0x0c0 + 13'h0c1: q = 8'h0c; // 0x0c1 + 13'h0c2: q = 8'h20; // 0x0c2 + 13'h0c3: q = 8'h96; // 0x0c3 + 13'h0c4: q = 8'h2c; // 0x0c4 + 13'h0c5: q = 8'h90; // 0x0c5 + 13'h0c6: q = 8'h1c; // 0x0c6 + 13'h0c7: q = 8'ha5; // 0x0c7 + 13'h0c8: q = 8'h00; // 0x0c8 + 13'h0c9: q = 8'h29; // 0x0c9 + 13'h0ca: q = 8'h03; // 0x0ca + 13'h0cb: q = 8'hd0; // 0x0cb + 13'h0cc: q = 8'h16; // 0x0cc + 13'h0cd: q = 8'had; // 0x0cd + 13'h0ce: q = 8'h0a; // 0x0ce + 13'h0cf: q = 8'h10; // 0x0cf + 13'h0d0: q = 8'h29; // 0x0d0 + 13'h0d1: q = 8'h03; // 0x0d1 + 13'h0d2: q = 8'hd0; // 0x0d2 + 13'h0d3: q = 8'h0f; // 0x0d3 + 13'h0d4: q = 8'ha9; // 0x0d4 + 13'h0d5: q = 8'h04; // 0x0d5 + 13'h0d6: q = 8'h45; // 0x0d6 + 13'h0d7: q = 8'hf3; // 0x0d7 + 13'h0d8: q = 8'h18; // 0x0d8 + 13'h0d9: q = 8'h65; // 0x0d9 + 13'h0da: q = 8'h70; // 0x0da + 13'h0db: q = 8'ha0; // 0x0db + 13'h0dc: q = 8'h00; // 0x0dc + 13'h0dd: q = 8'h20; // 0x0dd + 13'h0de: q = 8'h2b; // 0x0de + 13'h0df: q = 8'h2c; // 0x0df + 13'h0e0: q = 8'h20; // 0x0e0 + 13'h0e1: q = 8'ha8; // 0x0e1 + 13'h0e2: q = 8'h2b; // 0x0e2 + 13'h0e3: q = 8'h60; // 0x0e3 + 13'h0e4: q = 8'h20; // 0x0e4 + 13'h0e5: q = 8'he8; // 0x0e5 + 13'h0e6: q = 8'h20; // 0x0e6 + 13'h0e7: q = 8'h60; // 0x0e7 + 13'h0e8: q = 8'ha9; // 0x0e8 + 13'h0e9: q = 8'h1c; // 0x0e9 + 13'h0ea: q = 8'h45; // 0x0ea + 13'h0eb: q = 8'hef; // 0x0eb + 13'h0ec: q = 8'h85; // 0x0ec + 13'h0ed: q = 8'h40; // 0x0ed + 13'h0ee: q = 8'ha9; // 0x0ee + 13'h0ef: q = 8'hf8; // 0x0ef + 13'h0f0: q = 8'h45; // 0x0f0 + 13'h0f1: q = 8'hf0; // 0x0f1 + 13'h0f2: q = 8'h85; // 0x0f2 + 13'h0f3: q = 8'h70; // 0x0f3 + 13'h0f4: q = 8'had; // 0x0f4 + 13'h0f5: q = 8'h0a; // 0x0f5 + 13'h0f6: q = 8'h10; // 0x0f6 + 13'h0f7: q = 8'h29; // 0x0f7 + 13'h0f8: q = 8'hf8; // 0x0f8 + 13'h0f9: q = 8'hf0; // 0x0f9 + 13'h0fa: q = 8'hf9; // 0x0fa + 13'h0fb: q = 8'hc9; // 0x0fb + 13'h0fc: q = 8'h10; // 0x0fc + 13'h0fd: q = 8'h90; // 0x0fd + 13'h0fe: q = 8'hf5; // 0x0fe + 13'h0ff: q = 8'h38; // 0x0ff + 13'h100: q = 8'he9; // 0x100 + 13'h101: q = 8'h04; // 0x101 + 13'h102: q = 8'h85; // 0x102 + 13'h103: q = 8'h60; // 0x103 + 13'h104: q = 8'ha0; // 0x104 + 13'h105: q = 8'h03; // 0x105 + 13'h106: q = 8'ha6; // 0x106 + 13'h107: q = 8'h88; // 0x107 + 13'h108: q = 8'hb5; // 0x108 + 13'h109: q = 8'hab; // 0x109 + 13'h10a: q = 8'hc9; // 0x10a + 13'h10b: q = 8'h06; // 0x10b + 13'h10c: q = 8'hb0; // 0x10c + 13'h10d: q = 8'h02; // 0x10d + 13'h10e: q = 8'ha0; // 0x10e + 13'h10f: q = 8'h02; // 0x10f + 13'h110: q = 8'h84; // 0x110 + 13'h111: q = 8'h80; // 0x111 + 13'h112: q = 8'ha9; // 0x112 + 13'h113: q = 8'h00; // 0x113 + 13'h114: q = 8'h85; // 0x114 + 13'h115: q = 8'h50; // 0x115 + 13'h116: q = 8'h85; // 0x116 + 13'h117: q = 8'hb8; // 0x117 + 13'h118: q = 8'h60; // 0x118 + 13'h119: q = 8'ha5; // 0x119 + 13'h11a: q = 8'h86; // 0x11a + 13'h11b: q = 8'h10; // 0x11b + 13'h11c: q = 8'h6f; // 0x11c + 13'h11d: q = 8'h20; // 0x11d + 13'h11e: q = 8'h95; // 0x11e + 13'h11f: q = 8'h21; // 0x11f + 13'h120: q = 8'ha9; // 0x120 + 13'h121: q = 8'h03; // 0x121 + 13'h122: q = 8'h85; // 0x122 + 13'h123: q = 8'h93; // 0x123 + 13'h124: q = 8'ha9; // 0x124 + 13'h125: q = 8'h20; // 0x125 + 13'h126: q = 8'h85; // 0x126 + 13'h127: q = 8'h94; // 0x127 + 13'h128: q = 8'ha9; // 0x128 + 13'h129: q = 8'h40; // 0x129 + 13'h12a: q = 8'h85; // 0x12a + 13'h12b: q = 8'h91; // 0x12b + 13'h12c: q = 8'ha9; // 0x12c + 13'h12d: q = 8'h05; // 0x12d + 13'h12e: q = 8'h85; // 0x12e + 13'h12f: q = 8'h92; // 0x12f + 13'h130: q = 8'h20; // 0x130 + 13'h131: q = 8'h25; // 0x131 + 13'h132: q = 8'h38; // 0x132 + 13'h133: q = 8'ha5; // 0x133 + 13'h134: q = 8'h00; // 0x134 + 13'h135: q = 8'hd0; // 0x135 + 13'h136: q = 8'h05; // 0x136 + 13'h137: q = 8'ha9; // 0x137 + 13'h138: q = 8'h84; // 0x138 + 13'h139: q = 8'h20; // 0x139 + 13'h13a: q = 8'hd5; // 0x13a + 13'h13b: q = 8'h37; // 0x13b + 13'h13c: q = 8'ha5; // 0x13c + 13'h13d: q = 8'h00; // 0x13d + 13'h13e: q = 8'hae; // 0x13e + 13'h13f: q = 8'h00; // 0x13f + 13'h140: q = 8'h06; // 0x140 + 13'h141: q = 8'h86; // 0x141 + 13'h142: q = 8'hff; // 0x142 + 13'h143: q = 8'h29; // 0x143 + 13'h144: q = 8'h80; // 0x144 + 13'h145: q = 8'hd0; // 0x145 + 13'h146: q = 8'h45; // 0x146 + 13'h147: q = 8'ha5; // 0x147 + 13'h148: q = 8'h43; // 0x148 + 13'h149: q = 8'h29; // 0x149 + 13'h14a: q = 8'haf; // 0x14a + 13'h14b: q = 8'hd0; // 0x14b + 13'h14c: q = 8'h30; // 0x14c + 13'h14d: q = 8'ha5; // 0x14d + 13'h14e: q = 8'h63; // 0x14e + 13'h14f: q = 8'ha0; // 0x14f + 13'h150: q = 8'h01; // 0x150 + 13'h151: q = 8'hc9; // 0x151 + 13'h152: q = 8'h1c; // 0x152 + 13'h153: q = 8'h90; // 0x153 + 13'h154: q = 8'h08; // 0x154 + 13'h155: q = 8'ha0; // 0x155 + 13'h156: q = 8'hff; // 0x156 + 13'h157: q = 8'hc9; // 0x157 + 13'h158: q = 8'he4; // 0x158 + 13'h159: q = 8'hb0; // 0x159 + 13'h15a: q = 8'h02; // 0x15a + 13'h15b: q = 8'ha4; // 0x15b + 13'h15c: q = 8'h53; // 0x15c + 13'h15d: q = 8'h98; // 0x15d + 13'h15e: q = 8'h84; // 0x15e + 13'h15f: q = 8'h53; // 0x15f + 13'h160: q = 8'h18; // 0x160 + 13'h161: q = 8'h20; // 0x161 + 13'h162: q = 8'heb; // 0x162 + 13'h163: q = 8'h2a; // 0x163 + 13'h164: q = 8'ha5; // 0x164 + 13'h165: q = 8'h73; // 0x165 + 13'h166: q = 8'h85; // 0x166 + 13'h167: q = 8'h8d; // 0x167 + 13'h168: q = 8'ha0; // 0x168 + 13'h169: q = 8'hff; // 0x169 + 13'h16a: q = 8'hc9; // 0x16a + 13'h16b: q = 8'h30; // 0x16b + 13'h16c: q = 8'hb0; // 0x16c + 13'h16d: q = 8'h08; // 0x16d + 13'h16e: q = 8'ha0; // 0x16e + 13'h16f: q = 8'h01; // 0x16f + 13'h170: q = 8'hc9; // 0x170 + 13'h171: q = 8'h09; // 0x171 + 13'h172: q = 8'h90; // 0x172 + 13'h173: q = 8'h02; // 0x173 + 13'h174: q = 8'ha4; // 0x174 + 13'h175: q = 8'h83; // 0x175 + 13'h176: q = 8'h98; // 0x176 + 13'h177: q = 8'h84; // 0x177 + 13'h178: q = 8'h83; // 0x178 + 13'h179: q = 8'h18; // 0x179 + 13'h17a: q = 8'h20; // 0x17a + 13'h17b: q = 8'h24; // 0x17b + 13'h17c: q = 8'h2b; // 0x17c + 13'h17d: q = 8'h20; // 0x17d + 13'h17e: q = 8'h60; // 0x17e + 13'h17f: q = 8'h2b; // 0x17f + 13'h180: q = 8'ha2; // 0x180 + 13'h181: q = 8'h13; // 0x181 + 13'h182: q = 8'ha9; // 0x182 + 13'h183: q = 8'hfa; // 0x183 + 13'h184: q = 8'h5d; // 0x184 + 13'h185: q = 8'h20; // 0x185 + 13'h186: q = 8'h21; // 0x186 + 13'h187: q = 8'hca; // 0x187 + 13'h188: q = 8'h10; // 0x188 + 13'h189: q = 8'hfa; // 0x189 + 13'h18a: q = 8'h85; // 0x18a + 13'h18b: q = 8'hfe; // 0x18b + 13'h18c: q = 8'h60; // 0x18c + 13'h18d: q = 8'h02; // 0x18d + 13'h18e: q = 8'hbb; // 0x18e + 13'h18f: q = 8'h5a; // 0x18f + 13'h190: q = 8'h30; // 0x190 + 13'h191: q = 8'h5f; // 0x191 + 13'h192: q = 8'hee; // 0x192 + 13'h193: q = 8'h7d; // 0x193 + 13'h194: q = 8'ha8; // 0x194 + 13'h195: q = 8'h20; // 0x195 + 13'h196: q = 8'hb3; // 0x196 + 13'h197: q = 8'h21; // 0x197 + 13'h198: q = 8'h85; // 0x198 + 13'h199: q = 8'hae; // 0x199 + 13'h19a: q = 8'hb9; // 0x19a + 13'h19b: q = 8'hc0; // 0x19b + 13'h19c: q = 8'h21; // 0x19c + 13'h19d: q = 8'h85; // 0x19d + 13'h19e: q = 8'hb0; // 0x19e + 13'h19f: q = 8'ha9; // 0x19f + 13'h1a0: q = 8'h06; // 0x1a0 + 13'h1a1: q = 8'h20; // 0x1a1 + 13'h1a2: q = 8'hd5; // 0x1a2 + 13'h1a3: q = 8'h37; // 0x1a3 + 13'h1a4: q = 8'ha5; // 0x1a4 + 13'h1a5: q = 8'hb0; // 0x1a5 + 13'h1a6: q = 8'h20; // 0x1a6 + 13'h1a7: q = 8'h5c; // 0x1a7 + 13'h1a8: q = 8'h38; // 0x1a8 + 13'h1a9: q = 8'ha5; // 0x1a9 + 13'h1aa: q = 8'hae; // 0x1aa + 13'h1ab: q = 8'h20; // 0x1ab + 13'h1ac: q = 8'h4f; // 0x1ac + 13'h1ad: q = 8'h38; // 0x1ad + 13'h1ae: q = 8'ha9; // 0x1ae + 13'h1af: q = 8'h00; // 0x1af + 13'h1b0: q = 8'h4c; // 0x1b0 + 13'h1b1: q = 8'h4f; // 0x1b1 + 13'h1b2: q = 8'h38; // 0x1b2 + 13'h1b3: q = 8'ha5; // 0x1b3 + 13'h1b4: q = 8'hfd; // 0x1b4 + 13'h1b5: q = 8'h29; // 0x1b5 + 13'h1b6: q = 8'h30; // 0x1b6 + 13'h1b7: q = 8'h4a; // 0x1b7 + 13'h1b8: q = 8'h4a; // 0x1b8 + 13'h1b9: q = 8'h4a; // 0x1b9 + 13'h1ba: q = 8'ha8; // 0x1ba + 13'h1bb: q = 8'hb9; // 0x1bb + 13'h1bc: q = 8'hbf; // 0x1bc + 13'h1bd: q = 8'h21; // 0x1bd + 13'h1be: q = 8'h60; // 0x1be + 13'h1bf: q = 8'h00; // 0x1bf + 13'h1c0: q = 8'h01; // 0x1c0 + 13'h1c1: q = 8'h20; // 0x1c1 + 13'h1c2: q = 8'h01; // 0x1c2 + 13'h1c3: q = 8'h50; // 0x1c3 + 13'h1c4: q = 8'h01; // 0x1c4 + 13'h1c5: q = 8'h00; // 0x1c5 + 13'h1c6: q = 8'h02; // 0x1c6 + 13'h1c7: q = 8'ha6; // 0x1c7 + 13'h1c8: q = 8'h88; // 0x1c8 + 13'h1c9: q = 8'ha0; // 0x1c9 + 13'h1ca: q = 8'h02; // 0x1ca + 13'h1cb: q = 8'hb5; // 0x1cb + 13'h1cc: q = 8'hab; // 0x1cc + 13'h1cd: q = 8'hd0; // 0x1cd + 13'h1ce: q = 8'h0c; // 0x1ce + 13'h1cf: q = 8'ha5; // 0x1cf + 13'h1d0: q = 8'hfd; // 0x1d0 + 13'h1d1: q = 8'h29; // 0x1d1 + 13'h1d2: q = 8'h40; // 0x1d2 + 13'h1d3: q = 8'h09; // 0x1d3 + 13'h1d4: q = 8'h10; // 0x1d4 + 13'h1d5: q = 8'hd5; // 0x1d5 + 13'h1d6: q = 8'ha9; // 0x1d6 + 13'h1d7: q = 8'h90; // 0x1d7 + 13'h1d8: q = 8'h02; // 0x1d8 + 13'h1d9: q = 8'ha0; // 0x1d9 + 13'h1da: q = 8'h01; // 0x1da + 13'h1db: q = 8'h84; // 0x1db + 13'h1dc: q = 8'h81; // 0x1dc + 13'h1dd: q = 8'had; // 0x1dd + 13'h1de: q = 8'h0a; // 0x1de + 13'h1df: q = 8'h10; // 0x1df + 13'h1e0: q = 8'h29; // 0x1e0 + 13'h1e1: q = 8'h04; // 0x1e1 + 13'h1e2: q = 8'hf0; // 0x1e2 + 13'h1e3: q = 8'h05; // 0x1e3 + 13'h1e4: q = 8'h98; // 0x1e4 + 13'h1e5: q = 8'h20; // 0x1e5 + 13'h1e6: q = 8'h2d; // 0x1e6 + 13'h1e7: q = 8'h38; // 0x1e7 + 13'h1e8: q = 8'ha8; // 0x1e8 + 13'h1e9: q = 8'h84; // 0x1e9 + 13'h1ea: q = 8'h51; // 0x1ea + 13'h1eb: q = 8'ha9; // 0x1eb + 13'h1ec: q = 8'h60; // 0x1ec + 13'h1ed: q = 8'h45; // 0x1ed + 13'h1ee: q = 8'hf0; // 0x1ee + 13'h1ef: q = 8'h85; // 0x1ef + 13'h1f0: q = 8'h71; // 0x1f0 + 13'h1f1: q = 8'ha9; // 0x1f1 + 13'h1f2: q = 8'hff; // 0x1f2 + 13'h1f3: q = 8'h85; // 0x1f3 + 13'h1f4: q = 8'h61; // 0x1f4 + 13'h1f5: q = 8'ha9; // 0x1f5 + 13'h1f6: q = 8'hf8; // 0x1f6 + 13'h1f7: q = 8'h85; // 0x1f7 + 13'h1f8: q = 8'h41; // 0x1f8 + 13'h1f9: q = 8'ha9; // 0x1f9 + 13'h1fa: q = 8'h60; // 0x1fa + 13'h1fb: q = 8'h85; // 0x1fb + 13'h1fc: q = 8'ha1; // 0x1fc + 13'h1fd: q = 8'ha9; // 0x1fd + 13'h1fe: q = 8'h00; // 0x1fe + 13'h1ff: q = 8'h85; // 0x1ff + 13'h200: q = 8'hb5; // 0x200 + 13'h201: q = 8'h60; // 0x201 + 13'h202: q = 8'ha5; // 0x202 + 13'h203: q = 8'h43; // 0x203 + 13'h204: q = 8'h29; // 0x204 + 13'h205: q = 8'haf; // 0x205 + 13'h206: q = 8'hf0; // 0x206 + 13'h207: q = 8'h01; // 0x207 + 13'h208: q = 8'h60; // 0x208 + 13'h209: q = 8'ha2; // 0x209 + 13'h20a: q = 8'h0d; // 0x20a + 13'h20b: q = 8'ha5; // 0x20b + 13'h20c: q = 8'h41; // 0x20c + 13'h20d: q = 8'ha8; // 0x20d + 13'h20e: q = 8'h29; // 0x20e + 13'h20f: q = 8'h20; // 0x20f + 13'h210: q = 8'hf0; // 0x210 + 13'h211: q = 8'h07; // 0x211 + 13'h212: q = 8'hc0; // 0x212 + 13'h213: q = 8'hf8; // 0x213 + 13'h214: q = 8'h90; // 0x214 + 13'h215: q = 8'hf2; // 0x215 + 13'h216: q = 8'h4c; // 0x216 + 13'h217: q = 8'hfa; // 0x217 + 13'h218: q = 8'h22; // 0x218 + 13'h219: q = 8'ha5; // 0x219 + 13'h21a: q = 8'h00; // 0x21a + 13'h21b: q = 8'h29; // 0x21b + 13'h21c: q = 8'h03; // 0x21c + 13'h21d: q = 8'hd0; // 0x21d + 13'h21e: q = 8'h10; // 0x21e + 13'h21f: q = 8'he6; // 0x21f + 13'h220: q = 8'h41; // 0x220 + 13'h221: q = 8'ha5; // 0x221 + 13'h222: q = 8'h41; // 0x222 + 13'h223: q = 8'h45; // 0x223 + 13'h224: q = 8'hf2; // 0x224 + 13'h225: q = 8'hc9; // 0x225 + 13'h226: q = 8'h1c; // 0x226 + 13'h227: q = 8'h90; // 0x227 + 13'h228: q = 8'h06; // 0x228 + 13'h229: q = 8'ha9; // 0x229 + 13'h22a: q = 8'h14; // 0x22a + 13'h22b: q = 8'h45; // 0x22b + 13'h22c: q = 8'hf2; // 0x22c + 13'h22d: q = 8'h85; // 0x22d + 13'h22e: q = 8'h41; // 0x22e + 13'h22f: q = 8'hc6; // 0x22f + 13'h230: q = 8'ha1; // 0x230 + 13'h231: q = 8'hd0; // 0x231 + 13'h232: q = 8'h35; // 0x232 + 13'h233: q = 8'had; // 0x233 + 13'h234: q = 8'h0a; // 0x234 + 13'h235: q = 8'h10; // 0x235 + 13'h236: q = 8'h29; // 0x236 + 13'h237: q = 8'h80; // 0x237 + 13'h238: q = 8'hf0; // 0x238 + 13'h239: q = 8'h18; // 0x239 + 13'h23a: q = 8'ha5; // 0x23a + 13'h23b: q = 8'h51; // 0x23b + 13'h23c: q = 8'hf0; // 0x23c + 13'h23d: q = 8'h10; // 0x23d + 13'h23e: q = 8'ha4; // 0x23e + 13'h23f: q = 8'h61; // 0x23f + 13'h240: q = 8'hc0; // 0x240 + 13'h241: q = 8'hfb; // 0x241 + 13'h242: q = 8'hb0; // 0x242 + 13'h243: q = 8'h0e; // 0x243 + 13'h244: q = 8'hc0; // 0x244 + 13'h245: q = 8'h05; // 0x245 + 13'h246: q = 8'h90; // 0x246 + 13'h247: q = 8'h0a; // 0x247 + 13'h248: q = 8'h85; // 0x248 + 13'h249: q = 8'hbe; // 0x249 + 13'h24a: q = 8'ha9; // 0x24a + 13'h24b: q = 8'h00; // 0x24b + 13'h24c: q = 8'hf0; // 0x24c + 13'h24d: q = 8'h02; // 0x24d + 13'h24e: q = 8'ha5; // 0x24e + 13'h24f: q = 8'hbe; // 0x24f + 13'h250: q = 8'h85; // 0x250 + 13'h251: q = 8'h51; // 0x251 + 13'h252: q = 8'ha5; // 0x252 + 13'h253: q = 8'hfd; // 0x253 + 13'h254: q = 8'h29; // 0x254 + 13'h255: q = 8'h40; // 0x255 + 13'h256: q = 8'h09; // 0x256 + 13'h257: q = 8'h20; // 0x257 + 13'h258: q = 8'h2d; // 0x258 + 13'h259: q = 8'h0a; // 0x259 + 13'h25a: q = 8'h10; // 0x25a + 13'h25b: q = 8'hf0; // 0x25b + 13'h25c: q = 8'h07; // 0x25c + 13'h25d: q = 8'ha5; // 0x25d + 13'h25e: q = 8'h81; // 0x25e + 13'h25f: q = 8'h20; // 0x25f + 13'h260: q = 8'h2d; // 0x260 + 13'h261: q = 8'h38; // 0x261 + 13'h262: q = 8'h85; // 0x262 + 13'h263: q = 8'h81; // 0x263 + 13'h264: q = 8'ha9; // 0x264 + 13'h265: q = 8'h30; // 0x265 + 13'h266: q = 8'h85; // 0x266 + 13'h267: q = 8'ha1; // 0x267 + 13'h268: q = 8'ha5; // 0x268 + 13'h269: q = 8'h61; // 0x269 + 13'h26a: q = 8'h38; // 0x26a + 13'h26b: q = 8'he5; // 0x26b + 13'h26c: q = 8'h51; // 0x26c + 13'h26d: q = 8'h85; // 0x26d + 13'h26e: q = 8'h61; // 0x26e + 13'h26f: q = 8'h85; // 0x26f + 13'h270: q = 8'h8b; // 0x270 + 13'h271: q = 8'ha5; // 0x271 + 13'h272: q = 8'h71; // 0x272 + 13'h273: q = 8'ha4; // 0x273 + 13'h274: q = 8'hef; // 0x274 + 13'h275: q = 8'hf0; // 0x275 + 13'h276: q = 8'h06; // 0x276 + 13'h277: q = 8'h18; // 0x277 + 13'h278: q = 8'h65; // 0x278 + 13'h279: q = 8'h81; // 0x279 + 13'h27a: q = 8'h4c; // 0x27a + 13'h27b: q = 8'h80; // 0x27b + 13'h27c: q = 8'h22; // 0x27c + 13'h27d: q = 8'h38; // 0x27d + 13'h27e: q = 8'he5; // 0x27e + 13'h27f: q = 8'h81; // 0x27f + 13'h280: q = 8'h85; // 0x280 + 13'h281: q = 8'h71; // 0x281 + 13'h282: q = 8'ha0; // 0x282 + 13'h283: q = 8'h00; // 0x283 + 13'h284: q = 8'h20; // 0x284 + 13'h285: q = 8'h2b; // 0x285 + 13'h286: q = 8'h2c; // 0x286 + 13'h287: q = 8'hf0; // 0x287 + 13'h288: q = 8'h13; // 0x288 + 13'h289: q = 8'ha0; // 0x289 + 13'h28a: q = 8'h00; // 0x28a + 13'h28b: q = 8'hb1; // 0x28b + 13'h28c: q = 8'h32; // 0x28c + 13'h28d: q = 8'h29; // 0x28d + 13'h28e: q = 8'h3f; // 0x28e + 13'h28f: q = 8'hc9; // 0x28f + 13'h290: q = 8'h38; // 0x290 + 13'h291: q = 8'h90; // 0x291 + 13'h292: q = 8'h09; // 0x292 + 13'h293: q = 8'ha9; // 0x293 + 13'h294: q = 8'h00; // 0x294 + 13'h295: q = 8'h91; // 0x295 + 13'h296: q = 8'h32; // 0x296 + 13'h297: q = 8'h20; // 0x297 + 13'h298: q = 8'h91; // 0x298 + 13'h299: q = 8'h2b; // 0x299 + 13'h29a: q = 8'ha2; // 0x29a + 13'h29b: q = 8'h0d; // 0x29b + 13'h29c: q = 8'ha5; // 0x29c + 13'h29d: q = 8'h61; // 0x29d + 13'h29e: q = 8'hc9; // 0x29e + 13'h29f: q = 8'hff; // 0x29f + 13'h2a0: q = 8'hb0; // 0x2a0 + 13'h2a1: q = 8'h54; // 0x2a1 + 13'h2a2: q = 8'ha5; // 0x2a2 + 13'h2a3: q = 8'h71; // 0x2a3 + 13'h2a4: q = 8'h45; // 0x2a4 + 13'h2a5: q = 8'hf0; // 0x2a5 + 13'h2a6: q = 8'hc9; // 0x2a6 + 13'h2a7: q = 8'h09; // 0x2a7 + 13'h2a8: q = 8'hb0; // 0x2a8 + 13'h2a9: q = 8'h06; // 0x2a9 + 13'h2aa: q = 8'ha5; // 0x2aa + 13'h2ab: q = 8'h81; // 0x2ab + 13'h2ac: q = 8'h10; // 0x2ac + 13'h2ad: q = 8'h3d; // 0x2ad + 13'h2ae: q = 8'h30; // 0x2ae + 13'h2af: q = 8'h32; // 0x2af + 13'h2b0: q = 8'ha6; // 0x2b0 + 13'h2b1: q = 8'h88; // 0x2b1 + 13'h2b2: q = 8'hb5; // 0x2b2 + 13'h2b3: q = 8'hab; // 0x2b3 + 13'h2b4: q = 8'hf8; // 0x2b4 + 13'h2b5: q = 8'h38; // 0x2b5 + 13'h2b6: q = 8'he9; // 0x2b6 + 13'h2b7: q = 8'h06; // 0x2b7 + 13'h2b8: q = 8'hd8; // 0x2b8 + 13'h2b9: q = 8'h10; // 0x2b9 + 13'h2ba: q = 8'h02; // 0x2ba + 13'h2bb: q = 8'ha9; // 0x2bb + 13'h2bc: q = 8'h00; // 0x2bc + 13'h2bd: q = 8'h4a; // 0x2bd + 13'h2be: q = 8'hc9; // 0x2be + 13'h2bf: q = 8'h06; // 0x2bf + 13'h2c0: q = 8'h90; // 0x2c0 + 13'h2c1: q = 8'h02; // 0x2c1 + 13'h2c2: q = 8'ha9; // 0x2c2 + 13'h2c3: q = 8'h05; // 0x2c3 + 13'h2c4: q = 8'h0a; // 0x2c4 + 13'h2c5: q = 8'h0a; // 0x2c5 + 13'h2c6: q = 8'h0a; // 0x2c6 + 13'h2c7: q = 8'h85; // 0x2c7 + 13'h2c8: q = 8'h8d; // 0x2c8 + 13'h2c9: q = 8'ha9; // 0x2c9 + 13'h2ca: q = 8'h60; // 0x2ca + 13'h2cb: q = 8'h45; // 0x2cb + 13'h2cc: q = 8'hf0; // 0x2cc + 13'h2cd: q = 8'h38; // 0x2cd + 13'h2ce: q = 8'he5; // 0x2ce + 13'h2cf: q = 8'h8d; // 0x2cf + 13'h2d0: q = 8'ha6; // 0x2d0 + 13'h2d1: q = 8'hef; // 0x2d1 + 13'h2d2: q = 8'hf0; // 0x2d2 + 13'h2d3: q = 8'h06; // 0x2d3 + 13'h2d4: q = 8'hc5; // 0x2d4 + 13'h2d5: q = 8'h71; // 0x2d5 + 13'h2d6: q = 8'h90; // 0x2d6 + 13'h2d7: q = 8'h0a; // 0x2d7 + 13'h2d8: q = 8'hb0; // 0x2d8 + 13'h2d9: q = 8'h04; // 0x2d9 + 13'h2da: q = 8'hc5; // 0x2da + 13'h2db: q = 8'h71; // 0x2db + 13'h2dc: q = 8'hb0; // 0x2dc + 13'h2dd: q = 8'h04; // 0x2dd + 13'h2de: q = 8'ha5; // 0x2de + 13'h2df: q = 8'h81; // 0x2df + 13'h2e0: q = 8'h30; // 0x2e0 + 13'h2e1: q = 8'h09; // 0x2e1 + 13'h2e2: q = 8'ha2; // 0x2e2 + 13'h2e3: q = 8'h0d; // 0x2e3 + 13'h2e4: q = 8'h20; // 0x2e4 + 13'h2e5: q = 8'h6b; // 0x2e5 + 13'h2e6: q = 8'h2c; // 0x2e6 + 13'h2e7: q = 8'h90; // 0x2e7 + 13'h2e8: q = 8'h07; // 0x2e8 + 13'h2e9: q = 8'ha5; // 0x2e9 + 13'h2ea: q = 8'h81; // 0x2ea + 13'h2eb: q = 8'h20; // 0x2eb + 13'h2ec: q = 8'h2d; // 0x2ec + 13'h2ed: q = 8'h38; // 0x2ed + 13'h2ee: q = 8'h85; // 0x2ee + 13'h2ef: q = 8'h81; // 0x2ef + 13'h2f0: q = 8'ha2; // 0x2f0 + 13'h2f1: q = 8'h0d; // 0x2f1 + 13'h2f2: q = 8'h20; // 0x2f2 + 13'h2f3: q = 8'h96; // 0x2f3 + 13'h2f4: q = 8'h2c; // 0x2f4 + 13'h2f5: q = 8'h60; // 0x2f5 + 13'h2f6: q = 8'h20; // 0x2f6 + 13'h2f7: q = 8'hc7; // 0x2f7 + 13'h2f8: q = 8'h21; // 0x2f8 + 13'h2f9: q = 8'h60; // 0x2f9 + 13'h2fa: q = 8'hc6; // 0x2fa + 13'h2fb: q = 8'ha1; // 0x2fb + 13'h2fc: q = 8'hd0; // 0x2fc + 13'h2fd: q = 8'h11; // 0x2fd + 13'h2fe: q = 8'had; // 0x2fe + 13'h2ff: q = 8'h0a; // 0x2ff + 13'h300: q = 8'h10; // 0x300 + 13'h301: q = 8'h29; // 0x301 + 13'h302: q = 8'h2f; // 0x302 + 13'h303: q = 8'h09; // 0x303 + 13'h304: q = 8'h0f; // 0x304 + 13'h305: q = 8'h85; // 0x305 + 13'h306: q = 8'ha1; // 0x306 + 13'h307: q = 8'ha9; // 0x307 + 13'h308: q = 8'h14; // 0x308 + 13'h309: q = 8'h85; // 0x309 + 13'h30a: q = 8'hb5; // 0x30a + 13'h30b: q = 8'h45; // 0x30b + 13'h30c: q = 8'hf2; // 0x30c + 13'h30d: q = 8'h85; // 0x30d + 13'h30e: q = 8'h41; // 0x30e + 13'h30f: q = 8'h60; // 0x30f + 13'h310: q = 8'hb5; // 0x310 + 13'h311: q = 8'h54; // 0x311 + 13'h312: q = 8'h85; // 0x312 + 13'h313: q = 8'h8b; // 0x313 + 13'h314: q = 8'ha0; // 0x314 + 13'h315: q = 8'hff; // 0x315 + 13'h316: q = 8'hb5; // 0x316 + 13'h317: q = 8'h44; // 0x317 + 13'h318: q = 8'h30; // 0x318 + 13'h319: q = 8'h02; // 0x319 + 13'h31a: q = 8'ha0; // 0x31a + 13'h31b: q = 8'h01; // 0x31b + 13'h31c: q = 8'hb5; // 0x31c + 13'h31d: q = 8'h64; // 0x31d + 13'h31e: q = 8'h60; // 0x31e + 13'h31f: q = 8'ha6; // 0x31f + 13'h320: q = 8'h88; // 0x320 + 13'h321: q = 8'hb5; // 0x321 + 13'h322: q = 8'h94; // 0x322 + 13'h323: q = 8'hd0; // 0x323 + 13'h324: q = 8'h20; // 0x324 + 13'h325: q = 8'hb5; // 0x325 + 13'h326: q = 8'hc2; // 0x326 + 13'h327: q = 8'h09; // 0x327 + 13'h328: q = 8'h80; // 0x328 + 13'h329: q = 8'h95; // 0x329 + 13'h32a: q = 8'hc2; // 0x32a + 13'h32b: q = 8'hb5; // 0x32b + 13'h32c: q = 8'h9c; // 0x32c + 13'h32d: q = 8'hc9; // 0x32d + 13'h32e: q = 8'h03; // 0x32e + 13'h32f: q = 8'h90; // 0x32f + 13'h330: q = 8'h14; // 0x330 + 13'h331: q = 8'hd6; // 0x331 + 13'h332: q = 8'h9a; // 0x332 + 13'h333: q = 8'hd0; // 0x333 + 13'h334: q = 8'h04; // 0x334 + 13'h335: q = 8'ha9; // 0x335 + 13'h336: q = 8'h0c; // 0x336 + 13'h337: q = 8'h95; // 0x337 + 13'h338: q = 8'h9a; // 0x338 + 13'h339: q = 8'ha9; // 0x339 + 13'h33a: q = 8'h02; // 0x33a + 13'h33b: q = 8'hb4; // 0x33b + 13'h33c: q = 8'hab; // 0x33c + 13'h33d: q = 8'hc0; // 0x33d + 13'h33e: q = 8'h04; // 0x33e + 13'h33f: q = 8'hb0; // 0x33f + 13'h340: q = 8'h02; // 0x340 + 13'h341: q = 8'ha9; // 0x341 + 13'h342: q = 8'h01; // 0x342 + 13'h343: q = 8'h95; // 0x343 + 13'h344: q = 8'h9c; // 0x344 + 13'h345: q = 8'ha9; // 0x345 + 13'h346: q = 8'h03; // 0x346 + 13'h347: q = 8'h85; // 0x347 + 13'h348: q = 8'h34; // 0x348 + 13'h349: q = 8'hb5; // 0x349 + 13'h34a: q = 8'h9c; // 0x34a + 13'h34b: q = 8'h85; // 0x34b + 13'h34c: q = 8'h74; // 0x34c + 13'h34d: q = 8'ha8; // 0x34d + 13'h34e: q = 8'ha5; // 0x34e + 13'h34f: q = 8'h00; // 0x34f + 13'h350: q = 8'h29; // 0x350 + 13'h351: q = 8'h02; // 0x351 + 13'h352: q = 8'hd0; // 0x352 + 13'h353: q = 8'h05; // 0x353 + 13'h354: q = 8'h98; // 0x354 + 13'h355: q = 8'h20; // 0x355 + 13'h356: q = 8'h2d; // 0x356 + 13'h357: q = 8'h38; // 0x357 + 13'h358: q = 8'ha8; // 0x358 + 13'h359: q = 8'h84; // 0x359 + 13'h35a: q = 8'h44; // 0x35a + 13'h35b: q = 8'ha9; // 0x35b + 13'h35c: q = 8'hf8; // 0x35c + 13'h35d: q = 8'h45; // 0x35d + 13'h35e: q = 8'hf0; // 0x35e + 13'h35f: q = 8'h85; // 0x35f + 13'h360: q = 8'h64; // 0x360 + 13'h361: q = 8'ha9; // 0x361 + 13'h362: q = 8'h80; // 0x362 + 13'h363: q = 8'h85; // 0x363 + 13'h364: q = 8'h54; // 0x364 + 13'h365: q = 8'hb5; // 0x365 + 13'h366: q = 8'h9a; // 0x366 + 13'h367: q = 8'h85; // 0x367 + 13'h368: q = 8'h8b; // 0x368 + 13'h369: q = 8'hc9; // 0x369 + 13'h36a: q = 8'h01; // 0x36a + 13'h36b: q = 8'hf0; // 0x36b + 13'h36c: q = 8'h35; // 0x36c + 13'h36d: q = 8'ha0; // 0x36d + 13'h36e: q = 8'h42; // 0x36e + 13'h36f: q = 8'ha2; // 0x36f + 13'h370: q = 8'h01; // 0x370 + 13'h371: q = 8'h94; // 0x371 + 13'h372: q = 8'h34; // 0x372 + 13'h373: q = 8'ha9; // 0x373 + 13'h374: q = 8'hf8; // 0x374 + 13'h375: q = 8'h45; // 0x375 + 13'h376: q = 8'hf0; // 0x376 + 13'h377: q = 8'h95; // 0x377 + 13'h378: q = 8'h64; // 0x378 + 13'h379: q = 8'hb5; // 0x379 + 13'h37a: q = 8'h73; // 0x37a + 13'h37b: q = 8'h95; // 0x37b + 13'h37c: q = 8'h74; // 0x37c + 13'h37d: q = 8'hb5; // 0x37d + 13'h37e: q = 8'h43; // 0x37e + 13'h37f: q = 8'h95; // 0x37f + 13'h380: q = 8'h44; // 0x380 + 13'h381: q = 8'h10; // 0x381 + 13'h382: q = 8'h04; // 0x382 + 13'h383: q = 8'ha9; // 0x383 + 13'h384: q = 8'h08; // 0x384 + 13'h385: q = 8'hd0; // 0x385 + 13'h386: q = 8'h02; // 0x386 + 13'h387: q = 8'ha9; // 0x387 + 13'h388: q = 8'hf8; // 0x388 + 13'h389: q = 8'h18; // 0x389 + 13'h38a: q = 8'h75; // 0x38a + 13'h38b: q = 8'h53; // 0x38b + 13'h38c: q = 8'h95; // 0x38c + 13'h38d: q = 8'h54; // 0x38d + 13'h38e: q = 8'h88; // 0x38e + 13'h38f: q = 8'hc0; // 0x38f + 13'h390: q = 8'h3f; // 0x390 + 13'h391: q = 8'hd0; // 0x391 + 13'h392: q = 8'h02; // 0x392 + 13'h393: q = 8'ha0; // 0x393 + 13'h394: q = 8'h47; // 0x394 + 13'h395: q = 8'he8; // 0x395 + 13'h396: q = 8'he4; // 0x396 + 13'h397: q = 8'h8b; // 0x397 + 13'h398: q = 8'h90; // 0x398 + 13'h399: q = 8'hd7; // 0x399 + 13'h39a: q = 8'ha6; // 0x39a + 13'h39b: q = 8'h88; // 0x39b + 13'h39c: q = 8'hb5; // 0x39c + 13'h39d: q = 8'h9a; // 0x39d + 13'h39e: q = 8'hc9; // 0x39e + 13'h39f: q = 8'h0c; // 0x39f + 13'h3a0: q = 8'hf0; // 0x3a0 + 13'h3a1: q = 8'h2d; // 0x3a1 + 13'h3a2: q = 8'ha9; // 0x3a2 + 13'h3a3: q = 8'hf8; // 0x3a3 + 13'h3a4: q = 8'h45; // 0x3a4 + 13'h3a5: q = 8'hf0; // 0x3a5 + 13'h3a6: q = 8'ha6; // 0x3a6 + 13'h3a7: q = 8'h8b; // 0x3a7 + 13'h3a8: q = 8'h95; // 0x3a8 + 13'h3a9: q = 8'h64; // 0x3a9 + 13'h3aa: q = 8'ha9; // 0x3aa + 13'h3ab: q = 8'h00; // 0x3ab + 13'h3ac: q = 8'h95; // 0x3ac + 13'h3ad: q = 8'h34; // 0x3ad + 13'h3ae: q = 8'ha9; // 0x3ae + 13'h3af: q = 8'h02; // 0x3af + 13'h3b0: q = 8'ha4; // 0x3b0 + 13'h3b1: q = 8'hf4; // 0x3b1 + 13'h3b2: q = 8'hf0; // 0x3b2 + 13'h3b3: q = 8'h01; // 0x3b3 + 13'h3b4: q = 8'h98; // 0x3b4 + 13'h3b5: q = 8'h95; // 0x3b5 + 13'h3b6: q = 8'h74; // 0x3b6 + 13'h3b7: q = 8'h2c; // 0x3b7 + 13'h3b8: q = 8'h0a; // 0x3b8 + 13'h3b9: q = 8'h10; // 0x3b9 + 13'h3ba: q = 8'h10; // 0x3ba + 13'h3bb: q = 8'h03; // 0x3bb + 13'h3bc: q = 8'h20; // 0x3bc + 13'h3bd: q = 8'h2d; // 0x3bd + 13'h3be: q = 8'h38; // 0x3be + 13'h3bf: q = 8'h95; // 0x3bf + 13'h3c0: q = 8'h44; // 0x3c0 + 13'h3c1: q = 8'had; // 0x3c1 + 13'h3c2: q = 8'h0a; // 0x3c2 + 13'h3c3: q = 8'h10; // 0x3c3 + 13'h3c4: q = 8'h29; // 0x3c4 + 13'h3c5: q = 8'hf8; // 0x3c5 + 13'h3c6: q = 8'h95; // 0x3c6 + 13'h3c7: q = 8'h54; // 0x3c7 + 13'h3c8: q = 8'hb5; // 0x3c8 + 13'h3c9: q = 8'h64; // 0x3c9 + 13'h3ca: q = 8'he8; // 0x3ca + 13'h3cb: q = 8'he0; // 0x3cb + 13'h3cc: q = 8'h0c; // 0x3cc + 13'h3cd: q = 8'h90; // 0x3cd + 13'h3ce: q = 8'hd9; // 0x3ce + 13'h3cf: q = 8'ha9; // 0x3cf + 13'h3d0: q = 8'h0c; // 0x3d0 + 13'h3d1: q = 8'ha6; // 0x3d1 + 13'h3d2: q = 8'h88; // 0x3d2 + 13'h3d3: q = 8'h95; // 0x3d3 + 13'h3d4: q = 8'h94; // 0x3d4 + 13'h3d5: q = 8'ha5; // 0x3d5 + 13'h3d6: q = 8'hfe; // 0x3d6 + 13'h3d7: q = 8'h85; // 0x3d7 + 13'h3d8: q = 8'h97; // 0x3d8 + 13'h3d9: q = 8'h60; // 0x3d9 + 13'h3da: q = 8'ha5; // 0x3da + 13'h3db: q = 8'h87; // 0x3db + 13'h3dc: q = 8'hd0; // 0x3dc + 13'h3dd: q = 8'h01; // 0x3dd + 13'h3de: q = 8'h60; // 0x3de + 13'h3df: q = 8'ha5; // 0x3df + 13'h3e0: q = 8'hdb; // 0x3e0 + 13'h3e1: q = 8'hd0; // 0x3e1 + 13'h3e2: q = 8'hfb; // 0x3e2 + 13'h3e3: q = 8'hc6; // 0x3e3 + 13'h3e4: q = 8'h87; // 0x3e4 + 13'h3e5: q = 8'hd0; // 0x3e5 + 13'h3e6: q = 8'hf7; // 0x3e6 + 13'h3e7: q = 8'ha5; // 0x3e7 + 13'h3e8: q = 8'hd6; // 0x3e8 + 13'h3e9: q = 8'hf0; // 0x3e9 + 13'h3ea: q = 8'h0f; // 0x3ea + 13'h3eb: q = 8'ha9; // 0x3eb + 13'h3ec: q = 8'h80; // 0x3ec + 13'h3ed: q = 8'h20; // 0x3ed + 13'h3ee: q = 8'hd5; // 0x3ee + 13'h3ef: q = 8'h37; // 0x3ef + 13'h3f0: q = 8'ha9; // 0x3f0 + 13'h3f1: q = 8'h00; // 0x3f1 + 13'h3f2: q = 8'ha8; // 0x3f2 + 13'h3f3: q = 8'h91; // 0x3f3 + 13'h3f4: q = 8'h91; // 0x3f4 + 13'h3f5: q = 8'h85; // 0x3f5 + 13'h3f6: q = 8'hd6; // 0x3f6 + 13'h3f7: q = 8'h4c; // 0x3f7 + 13'h3f8: q = 8'h32; // 0x3f8 + 13'h3f9: q = 8'h29; // 0x3f9 + 13'h3fa: q = 8'ha5; // 0x3fa + 13'h3fb: q = 8'h43; // 0x3fb + 13'h3fc: q = 8'h29; // 0x3fc + 13'h3fd: q = 8'haf; // 0x3fd + 13'h3fe: q = 8'hd0; // 0x3fe + 13'h3ff: q = 8'h03; // 0x3ff + 13'h400: q = 8'h4c; // 0x400 + 13'h401: q = 8'h05; // 0x401 + 13'h402: q = 8'h25; // 0x402 + 13'h403: q = 8'h20; // 0x403 + 13'h404: q = 8'h32; // 0x404 + 13'h405: q = 8'h29; // 0x405 + 13'h406: q = 8'ha5; // 0x406 + 13'h407: q = 8'h86; // 0x407 + 13'h408: q = 8'h10; // 0x408 + 13'h409: q = 8'h11; // 0x409 + 13'h40a: q = 8'ha5; // 0x40a + 13'h40b: q = 8'h01; // 0x40b + 13'h40c: q = 8'h10; // 0x40c + 13'h40d: q = 8'h0a; // 0x40d + 13'h40e: q = 8'h29; // 0x40e + 13'h40f: q = 8'h7f; // 0x40f + 13'h410: q = 8'h85; // 0x410 + 13'h411: q = 8'h01; // 0x411 + 13'h412: q = 8'h20; // 0x412 + 13'h413: q = 8'hd5; // 0x413 + 13'h414: q = 8'h31; // 0x414 + 13'h415: q = 8'h20; // 0x415 + 13'h416: q = 8'h5c; // 0x416 + 13'h417: q = 8'h2d; // 0x417 + 13'h418: q = 8'h4c; // 0x418 + 13'h419: q = 8'hff; // 0x419 + 13'h41a: q = 8'h24; // 0x41a + 13'h41b: q = 8'ha5; // 0x41b + 13'h41c: q = 8'ha5; // 0x41c + 13'h41d: q = 8'h05; // 0x41d + 13'h41e: q = 8'ha6; // 0x41e + 13'h41f: q = 8'hd0; // 0x41f + 13'h420: q = 8'h46; // 0x420 + 13'h421: q = 8'hc6; // 0x421 + 13'h422: q = 8'h86; // 0x422 + 13'h423: q = 8'h20; // 0x423 + 13'h424: q = 8'h3e; // 0x424 + 13'h425: q = 8'h32; // 0x425 + 13'h426: q = 8'ha5; // 0x426 + 13'h427: q = 8'hef; // 0x427 + 13'h428: q = 8'hf0; // 0x428 + 13'h429: q = 8'h18; // 0x429 + 13'h42a: q = 8'ha5; // 0x42a + 13'h42b: q = 8'hc2; // 0x42b + 13'h42c: q = 8'h10; // 0x42c + 13'h42d: q = 8'h14; // 0x42d + 13'h42e: q = 8'ha9; // 0x42e + 13'h42f: q = 8'h80; // 0x42f + 13'h430: q = 8'h85; // 0x430 + 13'h431: q = 8'hee; // 0x431 + 13'h432: q = 8'h20; // 0x432 + 13'h433: q = 8'h09; // 0x433 + 13'h434: q = 8'h25; // 0x434 + 13'h435: q = 8'h20; // 0x435 + 13'h436: q = 8'h32; // 0x436 + 13'h437: q = 8'h29; // 0x437 + 13'h438: q = 8'h20; // 0x438 + 13'h439: q = 8'hd5; // 0x439 + 13'h43a: q = 8'h31; // 0x43a + 13'h43b: q = 8'ha5; // 0x43b + 13'h43c: q = 8'hc1; // 0x43c + 13'h43d: q = 8'h10; // 0x43d + 13'h43e: q = 8'h03; // 0x43e + 13'h43f: q = 8'h20; // 0x43f + 13'h440: q = 8'h5c; // 0x440 + 13'h441: q = 8'h2d; // 0x441 + 13'h442: q = 8'h20; // 0x442 + 13'h443: q = 8'hc7; // 0x443 + 13'h444: q = 8'h21; // 0x444 + 13'h445: q = 8'h20; // 0x445 + 13'h446: q = 8'h1f; // 0x446 + 13'h447: q = 8'h23; // 0x447 + 13'h448: q = 8'h20; // 0x448 + 13'h449: q = 8'he8; // 0x449 + 13'h44a: q = 8'h20; // 0x44a + 13'h44b: q = 8'ha9; // 0x44b + 13'h44c: q = 8'h01; // 0x44c + 13'h44d: q = 8'h85; // 0x44d + 13'h44e: q = 8'h00; // 0x44e + 13'h44f: q = 8'ha9; // 0x44f + 13'h450: q = 8'h04; // 0x450 + 13'h451: q = 8'h20; // 0x451 + 13'h452: q = 8'hd5; // 0x452 + 13'h453: q = 8'h37; // 0x453 + 13'h454: q = 8'ha6; // 0x454 + 13'h455: q = 8'h89; // 0x455 + 13'h456: q = 8'ha9; // 0x456 + 13'h457: q = 8'hff; // 0x457 + 13'h458: q = 8'h9d; // 0x458 + 13'h459: q = 8'h02; // 0x459 + 13'h45a: q = 8'h1c; // 0x45a + 13'h45b: q = 8'h20; // 0x45b + 13'h45c: q = 8'h08; // 0x45c + 13'h45d: q = 8'h3a; // 0x45d + 13'h45e: q = 8'ha9; // 0x45e + 13'h45f: q = 8'h3d; // 0x45f + 13'h460: q = 8'h85; // 0x460 + 13'h461: q = 8'hf9; // 0x461 + 13'h462: q = 8'ha9; // 0x462 + 13'h463: q = 8'h00; // 0x463 + 13'h464: q = 8'h85; // 0x464 + 13'h465: q = 8'hfa; // 0x465 + 13'h466: q = 8'h60; // 0x466 + 13'h467: q = 8'ha6; // 0x467 + 13'h468: q = 8'h89; // 0x468 + 13'h469: q = 8'hca; // 0x469 + 13'h46a: q = 8'hd0; // 0x46a + 13'h46b: q = 8'h03; // 0x46b + 13'h46c: q = 8'h4c; // 0x46c + 13'h46d: q = 8'hf8; // 0x46d + 13'h46e: q = 8'h24; // 0x46e + 13'h46f: q = 8'ha6; // 0x46f + 13'h470: q = 8'h88; // 0x470 + 13'h471: q = 8'hb5; // 0x471 + 13'h472: q = 8'ha4; // 0x472 + 13'h473: q = 8'hd0; // 0x473 + 13'h474: q = 8'h24; // 0x474 + 13'h475: q = 8'ha5; // 0x475 + 13'h476: q = 8'ha7; // 0x476 + 13'h477: q = 8'hd0; // 0x477 + 13'h478: q = 8'h1e; // 0x478 + 13'h479: q = 8'he6; // 0x479 + 13'h47a: q = 8'ha7; // 0x47a + 13'h47b: q = 8'ha9; // 0x47b + 13'h47c: q = 8'h80; // 0x47c + 13'h47d: q = 8'h85; // 0x47d + 13'h47e: q = 8'h87; // 0x47e + 13'h47f: q = 8'ha9; // 0x47f + 13'h480: q = 8'hf9; // 0x480 + 13'h481: q = 8'h85; // 0x481 + 13'h482: q = 8'h43; // 0x482 + 13'h483: q = 8'h85; // 0x483 + 13'h484: q = 8'h42; // 0x484 + 13'h485: q = 8'ha9; // 0x485 + 13'h486: q = 8'h04; // 0x486 + 13'h487: q = 8'h20; // 0x487 + 13'h488: q = 8'hd5; // 0x488 + 13'h489: q = 8'h37; // 0x489 + 13'h48a: q = 8'ha9; // 0x48a + 13'h48b: q = 8'h00; // 0x48b + 13'h48c: q = 8'h20; // 0x48c + 13'h48d: q = 8'hd5; // 0x48d + 13'h48e: q = 8'h37; // 0x48e + 13'h48f: q = 8'ha5; // 0x48f + 13'h490: q = 8'h88; // 0x490 + 13'h491: q = 8'h09; // 0x491 + 13'h492: q = 8'h20; // 0x492 + 13'h493: q = 8'h20; // 0x493 + 13'h494: q = 8'h36; // 0x494 + 13'h495: q = 8'h38; // 0x495 + 13'h496: q = 8'h60; // 0x496 + 13'h497: q = 8'hc6; // 0x497 + 13'h498: q = 8'ha7; // 0x498 + 13'h499: q = 8'ha5; // 0x499 + 13'h49a: q = 8'h88; // 0x49a + 13'h49b: q = 8'h49; // 0x49b + 13'h49c: q = 8'h03; // 0x49c + 13'h49d: q = 8'haa; // 0x49d + 13'h49e: q = 8'hb5; // 0x49e + 13'h49f: q = 8'ha4; // 0x49f + 13'h4a0: q = 8'hf0; // 0x4a0 + 13'h4a1: q = 8'h56; // 0x4a1 + 13'h4a2: q = 8'h86; // 0x4a2 + 13'h4a3: q = 8'h88; // 0x4a3 + 13'h4a4: q = 8'ha9; // 0x4a4 + 13'h4a5: q = 8'h80; // 0x4a5 + 13'h4a6: q = 8'h25; // 0x4a6 + 13'h4a7: q = 8'hee; // 0x4a7 + 13'h4a8: q = 8'h05; // 0x4a8 + 13'h4a9: q = 8'h88; // 0x4a9 + 13'h4aa: q = 8'h85; // 0x4aa + 13'h4ab: q = 8'hee; // 0x4ab + 13'h4ac: q = 8'hc9; // 0x4ac + 13'h4ad: q = 8'h82; // 0x4ad + 13'h4ae: q = 8'hd0; // 0x4ae + 13'h4af: q = 8'h03; // 0x4af + 13'h4b0: q = 8'h20; // 0x4b0 + 13'h4b1: q = 8'h2a; // 0x4b1 + 13'h4b2: q = 8'h25; // 0x4b2 + 13'h4b3: q = 8'hb5; // 0x4b3 + 13'h4b4: q = 8'ha1; // 0x4b4 + 13'h4b5: q = 8'h85; // 0x4b5 + 13'h4b6: q = 8'ha0; // 0x4b6 + 13'h4b7: q = 8'ha6; // 0x4b7 + 13'h4b8: q = 8'h88; // 0x4b8 + 13'h4b9: q = 8'he0; // 0x4b9 + 13'h4ba: q = 8'h01; // 0x4ba + 13'h4bb: q = 8'hd0; // 0x4bb + 13'h4bc: q = 8'h03; // 0x4bc + 13'h4bd: q = 8'h20; // 0x4bd + 13'h4be: q = 8'h09; // 0x4be + 13'h4bf: q = 8'h25; // 0x4bf + 13'h4c0: q = 8'h20; // 0x4c0 + 13'h4c1: q = 8'hd5; // 0x4c1 + 13'h4c2: q = 8'h31; // 0x4c2 + 13'h4c3: q = 8'ha6; // 0x4c3 + 13'h4c4: q = 8'h88; // 0x4c4 + 13'h4c5: q = 8'he0; // 0x4c5 + 13'h4c6: q = 8'h02; // 0x4c6 + 13'h4c7: q = 8'hd0; // 0x4c7 + 13'h4c8: q = 8'h11; // 0x4c8 + 13'h4c9: q = 8'hb5; // 0x4c9 + 13'h4ca: q = 8'ha4; // 0x4ca + 13'h4cb: q = 8'hc5; // 0x4cb + 13'h4cc: q = 8'ha4; // 0x4cc + 13'h4cd: q = 8'hd0; // 0x4cd + 13'h4ce: q = 8'h0b; // 0x4ce + 13'h4cf: q = 8'ha5; // 0x4cf + 13'h4d0: q = 8'had; // 0x4d0 + 13'h4d1: q = 8'hd0; // 0x4d1 + 13'h4d2: q = 8'h07; // 0x4d2 + 13'h4d3: q = 8'ha9; // 0x4d3 + 13'h4d4: q = 8'h0c; // 0x4d4 + 13'h4d5: q = 8'h95; // 0x4d5 + 13'h4d6: q = 8'h94; // 0x4d6 + 13'h4d7: q = 8'h20; // 0x4d7 + 13'h4d8: q = 8'hbf; // 0x4d8 + 13'h4d9: q = 8'h28; // 0x4d9 + 13'h4da: q = 8'hb5; // 0x4da + 13'h4db: q = 8'hc2; // 0x4db + 13'h4dc: q = 8'h09; // 0x4dc + 13'h4dd: q = 8'h40; // 0x4dd + 13'h4de: q = 8'h95; // 0x4de + 13'h4df: q = 8'hc2; // 0x4df + 13'h4e0: q = 8'ha9; // 0x4e0 + 13'h4e1: q = 8'ha0; // 0x4e1 + 13'h4e2: q = 8'h85; // 0x4e2 + 13'h4e3: q = 8'h87; // 0x4e3 + 13'h4e4: q = 8'ha9; // 0x4e4 + 13'h4e5: q = 8'h00; // 0x4e5 + 13'h4e6: q = 8'h20; // 0x4e6 + 13'h4e7: q = 8'hd5; // 0x4e7 + 13'h4e8: q = 8'h37; // 0x4e8 + 13'h4e9: q = 8'ha5; // 0x4e9 + 13'h4ea: q = 8'h88; // 0x4ea + 13'h4eb: q = 8'h09; // 0x4eb + 13'h4ec: q = 8'h20; // 0x4ec + 13'h4ed: q = 8'h20; // 0x4ed + 13'h4ee: q = 8'h36; // 0x4ee + 13'h4ef: q = 8'h38; // 0x4ef + 13'h4f0: q = 8'ha9; // 0x4f0 + 13'h4f1: q = 8'hf9; // 0x4f1 + 13'h4f2: q = 8'h85; // 0x4f2 + 13'h4f3: q = 8'h43; // 0x4f3 + 13'h4f4: q = 8'h85; // 0x4f4 + 13'h4f5: q = 8'h42; // 0x4f5 + 13'h4f6: q = 8'h85; // 0x4f6 + 13'h4f7: q = 8'hd6; // 0x4f7 + 13'h4f8: q = 8'ha6; // 0x4f8 + 13'h4f9: q = 8'h88; // 0x4f9 + 13'h4fa: q = 8'hd6; // 0x4fa + 13'h4fb: q = 8'ha4; // 0x4fb + 13'h4fc: q = 8'h20; // 0x4fc + 13'h4fd: q = 8'hb8; // 0x4fd + 13'h4fe: q = 8'h26; // 0x4fe + 13'h4ff: q = 8'h20; // 0x4ff + 13'h500: q = 8'hc7; // 0x500 + 13'h501: q = 8'h21; // 0x501 + 13'h502: q = 8'h20; // 0x502 + 13'h503: q = 8'he8; // 0x503 + 13'h504: q = 8'h20; // 0x504 + 13'h505: q = 8'h20; // 0x505 + 13'h506: q = 8'h1f; // 0x506 + 13'h507: q = 8'h23; // 0x507 + 13'h508: q = 8'h60; // 0x508 + 13'h509: q = 8'ha5; // 0x509 + 13'h50a: q = 8'hfe; // 0x50a + 13'h50b: q = 8'h85; // 0x50b + 13'h50c: q = 8'hbd; // 0x50c + 13'h50d: q = 8'h85; // 0x50d + 13'h50e: q = 8'hbf; // 0x50e + 13'h50f: q = 8'h8d; // 0x50f + 13'h510: q = 8'h07; // 0x510 + 13'h511: q = 8'h1c; // 0x511 + 13'h512: q = 8'h8d; // 0x512 + 13'h513: q = 8'h00; // 0x513 + 13'h514: q = 8'h24; // 0x514 + 13'h515: q = 8'h85; // 0x515 + 13'h516: q = 8'hf5; // 0x516 + 13'h517: q = 8'h85; // 0x517 + 13'h518: q = 8'hf7; // 0x518 + 13'h519: q = 8'h85; // 0x519 + 13'h51a: q = 8'hf6; // 0x51a + 13'h51b: q = 8'h85; // 0x51b + 13'h51c: q = 8'hf0; // 0x51c + 13'h51d: q = 8'h85; // 0x51d + 13'h51e: q = 8'hef; // 0x51e + 13'h51f: q = 8'h85; // 0x51f + 13'h520: q = 8'hf1; // 0x520 + 13'h521: q = 8'h85; // 0x521 + 13'h522: q = 8'hf2; // 0x522 + 13'h523: q = 8'h85; // 0x523 + 13'h524: q = 8'hf3; // 0x524 + 13'h525: q = 8'h85; // 0x525 + 13'h526: q = 8'hf4; // 0x526 + 13'h527: q = 8'h85; // 0x527 + 13'h528: q = 8'hf8; // 0x528 + 13'h529: q = 8'h60; // 0x529 + 13'h52a: q = 8'ha9; // 0x52a + 13'h52b: q = 8'hf8; // 0x52b + 13'h52c: q = 8'h85; // 0x52c + 13'h52d: q = 8'hf0; // 0x52d + 13'h52e: q = 8'ha9; // 0x52e + 13'h52f: q = 8'hff; // 0x52f + 13'h530: q = 8'h85; // 0x530 + 13'h531: q = 8'hf3; // 0x531 + 13'h532: q = 8'ha9; // 0x532 + 13'h533: q = 8'hfe; // 0x533 + 13'h534: q = 8'h85; // 0x534 + 13'h535: q = 8'hf4; // 0x535 + 13'h536: q = 8'ha9; // 0x536 + 13'h537: q = 8'hfc; // 0x537 + 13'h538: q = 8'h85; // 0x538 + 13'h539: q = 8'hf8; // 0x539 + 13'h53a: q = 8'ha9; // 0x53a + 13'h53b: q = 8'he0; // 0x53b + 13'h53c: q = 8'h85; // 0x53c + 13'h53d: q = 8'hf1; // 0x53d + 13'h53e: q = 8'ha9; // 0x53e + 13'h53f: q = 8'hc0; // 0x53f + 13'h540: q = 8'h85; // 0x540 + 13'h541: q = 8'hef; // 0x541 + 13'h542: q = 8'ha9; // 0x542 + 13'h543: q = 8'h40; // 0x543 + 13'h544: q = 8'h85; // 0x544 + 13'h545: q = 8'hf2; // 0x545 + 13'h546: q = 8'ha9; // 0x546 + 13'h547: q = 8'hbf; // 0x547 + 13'h548: q = 8'h85; // 0x548 + 13'h549: q = 8'hf5; // 0x549 + 13'h54a: q = 8'ha9; // 0x54a + 13'h54b: q = 8'h03; // 0x54b + 13'h54c: q = 8'h85; // 0x54c + 13'h54d: q = 8'hf7; // 0x54d + 13'h54e: q = 8'ha9; // 0x54e + 13'h54f: q = 8'h3f; // 0x54f + 13'h550: q = 8'h85; // 0x550 + 13'h551: q = 8'hf6; // 0x551 + 13'h552: q = 8'ha9; // 0x552 + 13'h553: q = 8'h80; // 0x553 + 13'h554: q = 8'h8d; // 0x554 + 13'h555: q = 8'h07; // 0x555 + 13'h556: q = 8'h1c; // 0x556 + 13'h557: q = 8'h8d; // 0x557 + 13'h558: q = 8'h00; // 0x558 + 13'h559: q = 8'h24; // 0x559 + 13'h55a: q = 8'ha9; // 0x55a + 13'h55b: q = 8'h00; // 0x55b + 13'h55c: q = 8'h85; // 0x55c + 13'h55d: q = 8'hbd; // 0x55d + 13'h55e: q = 8'h85; // 0x55e + 13'h55f: q = 8'hbf; // 0x55f + 13'h560: q = 8'h60; // 0x560 + 13'h561: q = 8'had; // 0x561 + 13'h562: q = 8'h01; // 0x562 + 13'h563: q = 8'h08; // 0x563 + 13'h564: q = 8'h85; // 0x564 + 13'h565: q = 8'hd3; // 0x565 + 13'h566: q = 8'h29; // 0x566 + 13'h567: q = 8'h03; // 0x567 + 13'h568: q = 8'h85; // 0x568 + 13'h569: q = 8'h8d; // 0x569 + 13'h56a: q = 8'hd0; // 0x56a + 13'h56b: q = 8'h04; // 0x56b + 13'h56c: q = 8'ha9; // 0x56c + 13'h56d: q = 8'h02; // 0x56d + 13'h56e: q = 8'h85; // 0x56e + 13'h56f: q = 8'hc8; // 0x56f + 13'h570: q = 8'ha5; // 0x570 + 13'h571: q = 8'hfd; // 0x571 + 13'h572: q = 8'h29; // 0x572 + 13'h573: q = 8'h0c; // 0x573 + 13'h574: q = 8'h4a; // 0x574 + 13'h575: q = 8'h4a; // 0x575 + 13'h576: q = 8'h69; // 0x576 + 13'h577: q = 8'h02; // 0x577 + 13'h578: q = 8'h85; // 0x578 + 13'h579: q = 8'ha4; // 0x579 + 13'h57a: q = 8'ha5; // 0x57a + 13'h57b: q = 8'h86; // 0x57b + 13'h57c: q = 8'h30; // 0x57c + 13'h57d: q = 8'h01; // 0x57d + 13'h57e: q = 8'h60; // 0x57e + 13'h57f: q = 8'ha5; // 0x57f + 13'h580: q = 8'h8d; // 0x580 + 13'h581: q = 8'hf0; // 0x581 + 13'h582: q = 8'h03; // 0x582 + 13'h583: q = 8'h20; // 0x583 + 13'h584: q = 8'hd5; // 0x584 + 13'h585: q = 8'h37; // 0x585 + 13'h586: q = 8'ha5; // 0x586 + 13'h587: q = 8'h00; // 0x587 + 13'h588: q = 8'h29; // 0x588 + 13'h589: q = 8'h20; // 0x589 + 13'h58a: q = 8'h0a; // 0x58a + 13'h58b: q = 8'h0a; // 0x58b + 13'h58c: q = 8'h85; // 0x58c + 13'h58d: q = 8'h8d; // 0x58d + 13'h58e: q = 8'ha5; // 0x58e + 13'h58f: q = 8'hc8; // 0x58f + 13'h590: q = 8'h05; // 0x590 + 13'h591: q = 8'hc9; // 0x591 + 13'h592: q = 8'hf0; // 0x592 + 13'h593: q = 8'h10; // 0x593 + 13'h594: q = 8'ha6; // 0x594 + 13'h595: q = 8'hdc; // 0x595 + 13'h596: q = 8'h10; // 0x596 + 13'h597: q = 8'h27; // 0x597 + 13'h598: q = 8'hc9; // 0x598 + 13'h599: q = 8'h02; // 0x599 + 13'h59a: q = 8'h90; // 0x59a + 13'h59b: q = 8'h1c; // 0x59b + 13'h59c: q = 8'ha9; // 0x59c + 13'h59d: q = 8'h00; // 0x59d + 13'h59e: q = 8'h85; // 0x59e + 13'h59f: q = 8'hdc; // 0x59f + 13'h5a0: q = 8'ha9; // 0x5a0 + 13'h5a1: q = 8'h8a; // 0x5a1 + 13'h5a2: q = 8'hd0; // 0x5a2 + 13'h5a3: q = 8'h18; // 0x5a3 + 13'h5a4: q = 8'ha5; // 0x5a4 + 13'h5a5: q = 8'hfd; // 0x5a5 + 13'h5a6: q = 8'h29; // 0x5a6 + 13'h5a7: q = 8'h80; // 0x5a7 + 13'h5a8: q = 8'h85; // 0x5a8 + 13'h5a9: q = 8'hdc; // 0x5a9 + 13'h5aa: q = 8'h49; // 0x5aa + 13'h5ab: q = 8'h8a; // 0x5ab + 13'h5ac: q = 8'h20; // 0x5ac + 13'h5ad: q = 8'hd5; // 0x5ad + 13'h5ae: q = 8'h37; // 0x5ae + 13'h5af: q = 8'ha2; // 0x5af + 13'h5b0: q = 8'hff; // 0x5b0 + 13'h5b1: q = 8'h8e; // 0x5b1 + 13'h5b2: q = 8'h03; // 0x5b2 + 13'h5b3: q = 8'h1c; // 0x5b3 + 13'h5b4: q = 8'h8e; // 0x5b4 + 13'h5b5: q = 8'h04; // 0x5b5 + 13'h5b6: q = 8'h1c; // 0x5b6 + 13'h5b7: q = 8'h60; // 0x5b7 + 13'h5b8: q = 8'ha9; // 0x5b8 + 13'h5b9: q = 8'h0a; // 0x5b9 + 13'h5ba: q = 8'h05; // 0x5ba + 13'h5bb: q = 8'h8d; // 0x5bb + 13'h5bc: q = 8'h20; // 0x5bc + 13'h5bd: q = 8'hd5; // 0x5bd + 13'h5be: q = 8'h37; // 0x5be + 13'h5bf: q = 8'ha9; // 0x5bf + 13'h5c0: q = 8'h09; // 0x5c0 + 13'h5c1: q = 8'h20; // 0x5c1 + 13'h5c2: q = 8'hd5; // 0x5c2 + 13'h5c3: q = 8'h37; // 0x5c3 + 13'h5c4: q = 8'ha5; // 0x5c4 + 13'h5c5: q = 8'hc8; // 0x5c5 + 13'h5c6: q = 8'hc9; // 0x5c6 + 13'h5c7: q = 8'h0a; // 0x5c7 + 13'h5c8: q = 8'h90; // 0x5c8 + 13'h5c9: q = 8'h0a; // 0x5c9 + 13'h5ca: q = 8'ha9; // 0x5ca + 13'h5cb: q = 8'h21; // 0x5cb + 13'h5cc: q = 8'h20; // 0x5cc + 13'h5cd: q = 8'h36; // 0x5cd + 13'h5ce: q = 8'h38; // 0x5ce + 13'h5cf: q = 8'ha5; // 0x5cf + 13'h5d0: q = 8'hc8; // 0x5d0 + 13'h5d1: q = 8'h38; // 0x5d1 + 13'h5d2: q = 8'he9; // 0x5d2 + 13'h5d3: q = 8'h0a; // 0x5d3 + 13'h5d4: q = 8'h09; // 0x5d4 + 13'h5d5: q = 8'h20; // 0x5d5 + 13'h5d6: q = 8'h20; // 0x5d6 + 13'h5d7: q = 8'h36; // 0x5d7 + 13'h5d8: q = 8'h38; // 0x5d8 + 13'h5d9: q = 8'ha5; // 0x5d9 + 13'h5da: q = 8'hc9; // 0x5da + 13'h5db: q = 8'hf0; // 0x5db + 13'h5dc: q = 8'h02; // 0x5dc + 13'h5dd: q = 8'ha9; // 0x5dd + 13'h5de: q = 8'h1e; // 0x5de + 13'h5df: q = 8'h20; // 0x5df + 13'h5e0: q = 8'h36; // 0x5e0 + 13'h5e1: q = 8'h38; // 0x5e1 + 13'h5e2: q = 8'ha6; // 0x5e2 + 13'h5e3: q = 8'hc8; // 0x5e3 + 13'h5e4: q = 8'hf0; // 0x5e4 + 13'h5e5: q = 8'hd1; // 0x5e5 + 13'h5e6: q = 8'ha5; // 0x5e6 + 13'h5e7: q = 8'hdc; // 0x5e7 + 13'h5e8: q = 8'h30; // 0x5e8 + 13'h5e9: q = 8'hcd; // 0x5e9 + 13'h5ea: q = 8'ha5; // 0x5ea + 13'h5eb: q = 8'h8d; // 0x5eb + 13'h5ec: q = 8'h8d; // 0x5ec + 13'h5ed: q = 8'h03; // 0x5ed + 13'h5ee: q = 8'h1c; // 0x5ee + 13'h5ef: q = 8'he0; // 0x5ef + 13'h5f0: q = 8'h02; // 0x5f0 + 13'h5f1: q = 8'h90; // 0x5f1 + 13'h5f2: q = 8'h14; // 0x5f2 + 13'h5f3: q = 8'h8d; // 0x5f3 + 13'h5f4: q = 8'h04; // 0x5f4 + 13'h5f5: q = 8'h1c; // 0x5f5 + 13'h5f6: q = 8'ha2; // 0x5f6 + 13'h5f7: q = 8'h02; // 0x5f7 + 13'h5f8: q = 8'had; // 0x5f8 + 13'h5f9: q = 8'h01; // 0x5f9 + 13'h5fa: q = 8'h0c; // 0x5fa + 13'h5fb: q = 8'h29; // 0x5fb + 13'h5fc: q = 8'h02; // 0x5fc + 13'h5fd: q = 8'hd0; // 0x5fd + 13'h5fe: q = 8'h08; // 0x5fe + 13'h5ff: q = 8'ha5; // 0x5ff + 13'h600: q = 8'ha4; // 0x600 + 13'h601: q = 8'h85; // 0x601 + 13'h602: q = 8'ha6; // 0x602 + 13'h603: q = 8'hc6; // 0x603 + 13'h604: q = 8'hc8; // 0x604 + 13'h605: q = 8'h10; // 0x605 + 13'h606: q = 8'h08; // 0x606 + 13'h607: q = 8'had; // 0x607 + 13'h608: q = 8'h01; // 0x608 + 13'h609: q = 8'h0c; // 0x609 + 13'h60a: q = 8'ha6; // 0x60a + 13'h60b: q = 8'hff; // 0x60b + 13'h60c: q = 8'h4a; // 0x60c + 13'h60d: q = 8'hb0; // 0x60d + 13'h60e: q = 8'ha8; // 0x60e + 13'h60f: q = 8'hc6; // 0x60f + 13'h610: q = 8'hc8; // 0x610 + 13'h611: q = 8'ha9; // 0x611 + 13'h612: q = 8'hff; // 0x612 + 13'h613: q = 8'h8d; // 0x613 + 13'h614: q = 8'h03; // 0x614 + 13'h615: q = 8'h1c; // 0x615 + 13'h616: q = 8'h8d; // 0x616 + 13'h617: q = 8'h04; // 0x617 + 13'h618: q = 8'h1c; // 0x618 + 13'h619: q = 8'ha9; // 0x619 + 13'h61a: q = 8'h00; // 0x61a + 13'h61b: q = 8'h85; // 0x61b + 13'h61c: q = 8'hfb; // 0x61c + 13'h61d: q = 8'h85; // 0x61d + 13'h61e: q = 8'hfc; // 0x61e + 13'h61f: q = 8'h85; // 0x61f + 13'h620: q = 8'h9a; // 0x620 + 13'h621: q = 8'h85; // 0x621 + 13'h622: q = 8'hcb; // 0x622 + 13'h623: q = 8'h85; // 0x623 + 13'h624: q = 8'hca; // 0x624 + 13'h625: q = 8'h86; // 0x625 + 13'h626: q = 8'h89; // 0x626 + 13'h627: q = 8'h9d; // 0x627 + 13'h628: q = 8'h02; // 0x628 + 13'h629: q = 8'h1c; // 0x629 + 13'h62a: q = 8'ha6; // 0x62a + 13'h62b: q = 8'ha4; // 0x62b + 13'h62c: q = 8'hca; // 0x62c + 13'h62d: q = 8'h86; // 0x62d + 13'h62e: q = 8'ha5; // 0x62e + 13'h62f: q = 8'he6; // 0x62f + 13'h630: q = 8'h86; // 0x630 + 13'h631: q = 8'h20; // 0x631 + 13'h632: q = 8'ha0; // 0x632 + 13'h633: q = 8'h26; // 0x633 + 13'h634: q = 8'h20; // 0x634 + 13'h635: q = 8'hb3; // 0x635 + 13'h636: q = 8'h21; // 0x636 + 13'h637: q = 8'h85; // 0x637 + 13'h638: q = 8'hae; // 0x638 + 13'h639: q = 8'h85; // 0x639 + 13'h63a: q = 8'haf; // 0x63a + 13'h63b: q = 8'hb9; // 0x63b + 13'h63c: q = 8'hc0; // 0x63c + 13'h63d: q = 8'h21; // 0x63d + 13'h63e: q = 8'h85; // 0x63e + 13'h63f: q = 8'hb0; // 0x63f + 13'h640: q = 8'h85; // 0x640 + 13'h641: q = 8'hb1; // 0x641 + 13'h642: q = 8'had; // 0x642 + 13'h643: q = 8'h00; // 0x643 + 13'h644: q = 8'h0c; // 0x644 + 13'h645: q = 8'h29; // 0x645 + 13'h646: q = 8'h10; // 0x646 + 13'h647: q = 8'hf0; // 0x647 + 13'h648: q = 8'h07; // 0x648 + 13'h649: q = 8'ha9; // 0x649 + 13'h64a: q = 8'h80; // 0x64a + 13'h64b: q = 8'h85; // 0x64b + 13'h64c: q = 8'hee; // 0x64c + 13'h64d: q = 8'h20; // 0x64d + 13'h64e: q = 8'h09; // 0x64e + 13'h64f: q = 8'h25; // 0x64f + 13'h650: q = 8'h20; // 0x650 + 13'h651: q = 8'h72; // 0x651 + 13'h652: q = 8'h28; // 0x652 + 13'h653: q = 8'h4c; // 0x653 + 13'h654: q = 8'hb8; // 0x654 + 13'h655: q = 8'h26; // 0x655 + 13'h656: q = 8'hbd; // 0x656 + 13'h657: q = 8'h76; // 0x657 + 13'h658: q = 8'h26; // 0x658 + 13'h659: q = 8'h48; // 0x659 + 13'h65a: q = 8'hbd; // 0x65a + 13'h65b: q = 8'h77; // 0x65b + 13'h65c: q = 8'h26; // 0x65c + 13'h65d: q = 8'ha8; // 0x65d + 13'h65e: q = 8'hbd; // 0x65e + 13'h65f: q = 8'h78; // 0x65f + 13'h660: q = 8'h26; // 0x660 + 13'h661: q = 8'haa; // 0x661 + 13'h662: q = 8'h68; // 0x662 + 13'h663: q = 8'h8e; // 0x663 + 13'h664: q = 8'h0e; // 0x664 + 13'h665: q = 8'h14; // 0x665 + 13'h666: q = 8'h8e; // 0x666 + 13'h667: q = 8'h06; // 0x667 + 13'h668: q = 8'h14; // 0x668 + 13'h669: q = 8'h8d; // 0x669 + 13'h66a: q = 8'h0f; // 0x66a + 13'h66b: q = 8'h14; // 0x66b + 13'h66c: q = 8'h8d; // 0x66c + 13'h66d: q = 8'h05; // 0x66d + 13'h66e: q = 8'h14; // 0x66e + 13'h66f: q = 8'h8c; // 0x66f + 13'h670: q = 8'h0d; // 0x670 + 13'h671: q = 8'h14; // 0x671 + 13'h672: q = 8'h8c; // 0x672 + 13'h673: q = 8'h07; // 0x673 + 13'h674: q = 8'h14; // 0x674 + 13'h675: q = 8'h60; // 0x675 + 13'h676: q = 8'h0d; // 0x676 + 13'h677: q = 8'h00; // 0x677 + 13'h678: q = 8'h0e; // 0x678 + 13'h679: q = 8'h02; // 0x679 + 13'h67a: q = 8'h04; // 0x67a + 13'h67b: q = 8'h01; // 0x67b + 13'h67c: q = 8'h0e; // 0x67c + 13'h67d: q = 8'h01; // 0x67d + 13'h67e: q = 8'h0c; // 0x67e + 13'h67f: q = 8'h04; // 0x67f + 13'h680: q = 8'h01; // 0x680 + 13'h681: q = 8'h0b; // 0x681 + 13'h682: q = 8'h01; // 0x682 + 13'h683: q = 8'h0c; // 0x683 + 13'h684: q = 8'h0a; // 0x684 + 13'h685: q = 8'h09; // 0x685 + 13'h686: q = 8'h0b; // 0x686 + 13'h687: q = 8'h04; // 0x687 + 13'h688: q = 8'h0c; // 0x688 + 13'h689: q = 8'h0d; // 0x689 + 13'h68a: q = 8'h0a; // 0x68a + 13'h68b: q = 8'h09; // 0x68b + 13'h68c: q = 8'h0c; // 0x68c + 13'h68d: q = 8'h0e; // 0x68d + 13'h68e: q = 8'h0a; // 0x68e + 13'h68f: q = 8'h0e; // 0x68f + 13'h690: q = 8'h01; // 0x690 + 13'h691: q = 8'h0b; // 0x691 + 13'h692: q = 8'h01; // 0x692 + 13'h693: q = 8'h04; // 0x693 + 13'h694: q = 8'h01; // 0x694 + 13'h695: q = 8'h00; // 0x695 + 13'h696: q = 8'h06; // 0x696 + 13'h697: q = 8'h0d; // 0x697 + 13'h698: q = 8'h0e; // 0x698 + 13'h699: q = 8'h0a; // 0x699 + 13'h69a: q = 8'h0e; // 0x69a + 13'h69b: q = 8'h0c; // 0x69b + 13'h69c: q = 8'h0b; // 0x69c + 13'h69d: q = 8'h00; // 0x69d + 13'h69e: q = 8'h0d; // 0x69e + 13'h69f: q = 8'h02; // 0x69f + 13'h6a0: q = 8'ha9; // 0x6a0 + 13'h6a1: q = 8'hff; // 0x6a1 + 13'h6a2: q = 8'h85; // 0x6a2 + 13'h6a3: q = 8'hc1; // 0x6a3 + 13'h6a4: q = 8'h85; // 0x6a4 + 13'h6a5: q = 8'hc2; // 0x6a5 + 13'h6a6: q = 8'ha2; // 0x6a6 + 13'h6a7: q = 8'h08; // 0x6a7 + 13'h6a8: q = 8'hb5; // 0x6a8 + 13'h6a9: q = 8'h02; // 0x6a9 + 13'h6aa: q = 8'h9d; // 0x6aa + 13'h6ab: q = 8'h78; // 0x6ab + 13'h6ac: q = 8'h01; // 0x6ac + 13'h6ad: q = 8'hb5; // 0x6ad + 13'h6ae: q = 8'h1a; // 0x6ae + 13'h6af: q = 8'h9d; // 0x6af + 13'h6b0: q = 8'h81; // 0x6b0 + 13'h6b1: q = 8'h01; // 0x6b1 + 13'h6b2: q = 8'hca; // 0x6b2 + 13'h6b3: q = 8'h10; // 0x6b3 + 13'h6b4: q = 8'hf3; // 0x6b4 + 13'h6b5: q = 8'h4c; // 0x6b5 + 13'h6b6: q = 8'h08; // 0x6b6 + 13'h6b7: q = 8'h3a; // 0x6b7 + 13'h6b8: q = 8'ha9; // 0x6b8 + 13'h6b9: q = 8'h06; // 0x6b9 + 13'h6ba: q = 8'h85; // 0x6ba + 13'h6bb: q = 8'h8b; // 0x6bb + 13'h6bc: q = 8'ha9; // 0x6bc + 13'h6bd: q = 8'h04; // 0x6bd + 13'h6be: q = 8'h45; // 0x6be + 13'h6bf: q = 8'hf7; // 0x6bf + 13'h6c0: q = 8'h29; // 0x6c0 + 13'h6c1: q = 8'h06; // 0x6c1 + 13'h6c2: q = 8'h85; // 0x6c2 + 13'h6c3: q = 8'h92; // 0x6c3 + 13'h6c4: q = 8'ha9; // 0x6c4 + 13'h6c5: q = 8'hdf; // 0x6c5 + 13'h6c6: q = 8'h45; // 0x6c6 + 13'h6c7: q = 8'hf6; // 0x6c7 + 13'h6c8: q = 8'h85; // 0x6c8 + 13'h6c9: q = 8'h91; // 0x6c9 + 13'h6ca: q = 8'ha6; // 0x6ca + 13'h6cb: q = 8'ha5; // 0x6cb + 13'h6cc: q = 8'ha9; // 0x6cc + 13'h6cd: q = 8'h1f; // 0x6cd + 13'h6ce: q = 8'hca; // 0x6ce + 13'h6cf: q = 8'h10; // 0x6cf + 13'h6d0: q = 8'h02; // 0x6d0 + 13'h6d1: q = 8'ha9; // 0x6d1 + 13'h6d2: q = 8'h00; // 0x6d2 + 13'h6d3: q = 8'h20; // 0x6d3 + 13'h6d4: q = 8'h36; // 0x6d4 + 13'h6d5: q = 8'h38; // 0x6d5 + 13'h6d6: q = 8'hc6; // 0x6d6 + 13'h6d7: q = 8'h8b; // 0x6d7 + 13'h6d8: q = 8'hd0; // 0x6d8 + 13'h6d9: q = 8'hf2; // 0x6d9 + 13'h6da: q = 8'ha9; // 0x6da + 13'h6db: q = 8'h06; // 0x6db + 13'h6dc: q = 8'h45; // 0x6dc + 13'h6dd: q = 8'hf7; // 0x6dd + 13'h6de: q = 8'h85; // 0x6de + 13'h6df: q = 8'h92; // 0x6df + 13'h6e0: q = 8'ha9; // 0x6e0 + 13'h6e1: q = 8'h5f; // 0x6e1 + 13'h6e2: q = 8'h45; // 0x6e2 + 13'h6e3: q = 8'hf6; // 0x6e3 + 13'h6e4: q = 8'h85; // 0x6e4 + 13'h6e5: q = 8'h91; // 0x6e5 + 13'h6e6: q = 8'ha9; // 0x6e6 + 13'h6e7: q = 8'h06; // 0x6e7 + 13'h6e8: q = 8'h85; // 0x6e8 + 13'h6e9: q = 8'h8b; // 0x6e9 + 13'h6ea: q = 8'h38; // 0x6ea + 13'h6eb: q = 8'he5; // 0x6eb + 13'h6ec: q = 8'ha6; // 0x6ec + 13'h6ed: q = 8'haa; // 0x6ed + 13'h6ee: q = 8'ha9; // 0x6ee + 13'h6ef: q = 8'h00; // 0x6ef + 13'h6f0: q = 8'hca; // 0x6f0 + 13'h6f1: q = 8'h10; // 0x6f1 + 13'h6f2: q = 8'h02; // 0x6f2 + 13'h6f3: q = 8'ha9; // 0x6f3 + 13'h6f4: q = 8'h1f; // 0x6f4 + 13'h6f5: q = 8'h20; // 0x6f5 + 13'h6f6: q = 8'h36; // 0x6f6 + 13'h6f7: q = 8'h38; // 0x6f7 + 13'h6f8: q = 8'hc6; // 0x6f8 + 13'h6f9: q = 8'h8b; // 0x6f9 + 13'h6fa: q = 8'hd0; // 0x6fa + 13'h6fb: q = 8'hf2; // 0x6fb + 13'h6fc: q = 8'h60; // 0x6fc + 13'h6fd: q = 8'ha2; // 0x6fd + 13'h6fe: q = 8'h0d; // 0x6fe + 13'h6ff: q = 8'hb4; // 0x6ff + 13'h700: q = 8'h34; // 0x700 + 13'h701: q = 8'hc0; // 0x701 + 13'h702: q = 8'hf9; // 0x702 + 13'h703: q = 8'h90; // 0x703 + 13'h704: q = 8'h18; // 0x704 + 13'h705: q = 8'hc0; // 0x705 + 13'h706: q = 8'hfa; // 0x706 + 13'h707: q = 8'h90; // 0x707 + 13'h708: q = 8'h04; // 0x708 + 13'h709: q = 8'hd6; // 0x709 + 13'h70a: q = 8'h34; // 0x70a + 13'h70b: q = 8'hd0; // 0x70b + 13'h70c: q = 8'h10; // 0x70c + 13'h70d: q = 8'he0; // 0x70d + 13'h70e: q = 8'h0d; // 0x70e + 13'h70f: q = 8'hd0; // 0x70f + 13'h710: q = 8'h0c; // 0x710 + 13'h711: q = 8'ha5; // 0x711 + 13'h712: q = 8'h43; // 0x712 + 13'h713: q = 8'h29; // 0x713 + 13'h714: q = 8'haf; // 0x714 + 13'h715: q = 8'hd0; // 0x715 + 13'h716: q = 8'h06; // 0x716 + 13'h717: q = 8'ha5; // 0x717 + 13'h718: q = 8'hd7; // 0x718 + 13'h719: q = 8'h45; // 0x719 + 13'h71a: q = 8'hef; // 0x71a + 13'h71b: q = 8'h85; // 0x71b + 13'h71c: q = 8'h41; // 0x71c + 13'h71d: q = 8'hca; // 0x71d + 13'h71e: q = 8'h10; // 0x71e + 13'h71f: q = 8'hdf; // 0x71f + 13'h720: q = 8'ha5; // 0x720 + 13'h721: q = 8'h43; // 0x721 + 13'h722: q = 8'h29; // 0x722 + 13'h723: q = 8'haf; // 0x723 + 13'h724: q = 8'hf0; // 0x724 + 13'h725: q = 8'h1a; // 0x725 + 13'h726: q = 8'ha5; // 0x726 + 13'h727: q = 8'h00; // 0x727 + 13'h728: q = 8'h29; // 0x728 + 13'h729: q = 8'h03; // 0x729 + 13'h72a: q = 8'hd0; // 0x72a + 13'h72b: q = 8'h14; // 0x72b + 13'h72c: q = 8'ha5; // 0x72c + 13'h72d: q = 8'h43; // 0x72d + 13'h72e: q = 8'hc9; // 0x72e + 13'h72f: q = 8'h28; // 0x72f + 13'h730: q = 8'hb0; // 0x730 + 13'h731: q = 8'h0e; // 0x731 + 13'h732: q = 8'he6; // 0x732 + 13'h733: q = 8'h43; // 0x733 + 13'h734: q = 8'hc9; // 0x734 + 13'h735: q = 8'h27; // 0x735 + 13'h736: q = 8'hd0; // 0x736 + 13'h737: q = 8'h08; // 0x737 + 13'h738: q = 8'ha9; // 0x738 + 13'h739: q = 8'h00; // 0x739 + 13'h73a: q = 8'h85; // 0x73a + 13'h73b: q = 8'hda; // 0x73b + 13'h73c: q = 8'ha9; // 0x73c + 13'h73d: q = 8'h04; // 0x73d + 13'h73e: q = 8'h85; // 0x73e + 13'h73f: q = 8'hdb; // 0x73f + 13'h740: q = 8'h60; // 0x740 + 13'h741: q = 8'ha5; // 0x741 + 13'h742: q = 8'hc1; // 0x742 + 13'h743: q = 8'h25; // 0x743 + 13'h744: q = 8'hc2; // 0x744 + 13'h745: q = 8'h10; // 0x745 + 13'h746: q = 8'h01; // 0x746 + 13'h747: q = 8'h60; // 0x747 + 13'h748: q = 8'ha5; // 0x748 + 13'h749: q = 8'hc2; // 0x749 + 13'h74a: q = 8'h30; // 0x74a + 13'h74b: q = 8'h18; // 0x74b + 13'h74c: q = 8'ha5; // 0x74c + 13'h74d: q = 8'hee; // 0x74d + 13'h74e: q = 8'h10; // 0x74e + 13'h74f: q = 8'h14; // 0x74f + 13'h750: q = 8'ha5; // 0x750 + 13'h751: q = 8'hef; // 0x751 + 13'h752: q = 8'hd0; // 0x752 + 13'h753: q = 8'h10; // 0x753 + 13'h754: q = 8'ha9; // 0x754 + 13'h755: q = 8'h82; // 0x755 + 13'h756: q = 8'h85; // 0x756 + 13'h757: q = 8'hee; // 0x757 + 13'h758: q = 8'h20; // 0x758 + 13'h759: q = 8'h2a; // 0x759 + 13'h75a: q = 8'h25; // 0x75a + 13'h75b: q = 8'h20; // 0x75b + 13'h75c: q = 8'hd5; // 0x75c + 13'h75d: q = 8'h31; // 0x75d + 13'h75e: q = 8'h20; // 0x75e + 13'h75f: q = 8'hfe; // 0x75f + 13'h760: q = 8'h32; // 0x760 + 13'h761: q = 8'h20; // 0x761 + 13'h762: q = 8'h32; // 0x762 + 13'h763: q = 8'h29; // 0x763 + 13'h764: q = 8'ha5; // 0x764 + 13'h765: q = 8'h89; // 0x765 + 13'h766: q = 8'h4a; // 0x766 + 13'h767: q = 8'hf0; // 0x767 + 13'h768: q = 8'h14; // 0x768 + 13'h769: q = 8'ha9; // 0x769 + 13'h76a: q = 8'h00; // 0x76a + 13'h76b: q = 8'h20; // 0x76b + 13'h76c: q = 8'hd5; // 0x76c + 13'h76d: q = 8'h37; // 0x76d + 13'h76e: q = 8'ha0; // 0x76e + 13'h76f: q = 8'h02; // 0x76f + 13'h770: q = 8'ha6; // 0x770 + 13'h771: q = 8'hc2; // 0x771 + 13'h772: q = 8'h10; // 0x772 + 13'h773: q = 8'h01; // 0x773 + 13'h774: q = 8'h88; // 0x774 + 13'h775: q = 8'h84; // 0x775 + 13'h776: q = 8'h88; // 0x776 + 13'h777: q = 8'h98; // 0x777 + 13'h778: q = 8'h09; // 0x778 + 13'h779: q = 8'h20; // 0x779 + 13'h77a: q = 8'h20; // 0x77a + 13'h77b: q = 8'h36; // 0x77b + 13'h77c: q = 8'h38; // 0x77c + 13'h77d: q = 8'ha9; // 0x77d + 13'h77e: q = 8'h08; // 0x77e + 13'h77f: q = 8'h20; // 0x77f + 13'h780: q = 8'hd5; // 0x780 + 13'h781: q = 8'h37; // 0x781 + 13'h782: q = 8'ha9; // 0x782 + 13'h783: q = 8'h05; // 0x783 + 13'h784: q = 8'h20; // 0x784 + 13'h785: q = 8'hd5; // 0x785 + 13'h786: q = 8'h37; // 0x786 + 13'h787: q = 8'ha9; // 0x787 + 13'h788: q = 8'h89; // 0x788 + 13'h789: q = 8'h45; // 0x789 + 13'h78a: q = 8'hf5; // 0x78a + 13'h78b: q = 8'h85; // 0x78b + 13'h78c: q = 8'h91; // 0x78c + 13'h78d: q = 8'ha9; // 0x78d + 13'h78e: q = 8'h05; // 0x78e + 13'h78f: q = 8'h45; // 0x78f + 13'h790: q = 8'hf7; // 0x790 + 13'h791: q = 8'h85; // 0x791 + 13'h792: q = 8'h92; // 0x792 + 13'h793: q = 8'ha6; // 0x793 + 13'h794: q = 8'h88; // 0x794 + 13'h795: q = 8'hb4; // 0x795 + 13'h796: q = 8'hc0; // 0x796 + 13'h797: q = 8'h84; // 0x797 + 13'h798: q = 8'h8d; // 0x798 + 13'h799: q = 8'h98; // 0x799 + 13'h79a: q = 8'h18; // 0x79a + 13'h79b: q = 8'h65; // 0x79b + 13'h79c: q = 8'hc0; // 0x79c + 13'h79d: q = 8'h85; // 0x79d + 13'h79e: q = 8'h8e; // 0x79e + 13'h79f: q = 8'h20; // 0x79f + 13'h7a0: q = 8'h33; // 0x7a0 + 13'h7a1: q = 8'h38; // 0x7a1 + 13'h7a2: q = 8'ha4; // 0x7a2 + 13'h7a3: q = 8'h8d; // 0x7a3 + 13'h7a4: q = 8'hc8; // 0x7a4 + 13'h7a5: q = 8'h20; // 0x7a5 + 13'h7a6: q = 8'h33; // 0x7a6 + 13'h7a7: q = 8'h38; // 0x7a7 + 13'h7a8: q = 8'ha4; // 0x7a8 + 13'h7a9: q = 8'h8d; // 0x7a9 + 13'h7aa: q = 8'hc8; // 0x7aa + 13'h7ab: q = 8'hc8; // 0x7ab + 13'h7ac: q = 8'h20; // 0x7ac + 13'h7ad: q = 8'h33; // 0x7ad + 13'h7ae: q = 8'h38; // 0x7ae + 13'h7af: q = 8'had; // 0x7af + 13'h7b0: q = 8'h01; // 0x7b0 + 13'h7b1: q = 8'h0c; // 0x7b1 + 13'h7b2: q = 8'ha6; // 0x7b2 + 13'h7b3: q = 8'hef; // 0x7b3 + 13'h7b4: q = 8'hf0; // 0x7b4 + 13'h7b5: q = 8'h01; // 0x7b5 + 13'h7b6: q = 8'h4a; // 0x7b6 + 13'h7b7: q = 8'h4a; // 0x7b7 + 13'h7b8: q = 8'h4a; // 0x7b8 + 13'h7b9: q = 8'h4a; // 0x7b9 + 13'h7ba: q = 8'h26; // 0x7ba + 13'h7bb: q = 8'h9a; // 0x7bb + 13'h7bc: q = 8'ha5; // 0x7bc + 13'h7bd: q = 8'h9a; // 0x7bd + 13'h7be: q = 8'h29; // 0x7be + 13'h7bf: q = 8'h1f; // 0x7bf + 13'h7c0: q = 8'hc9; // 0x7c0 + 13'h7c1: q = 8'h18; // 0x7c1 + 13'h7c2: q = 8'hd0; // 0x7c2 + 13'h7c3: q = 8'h46; // 0x7c3 + 13'h7c4: q = 8'he6; // 0x7c4 + 13'h7c5: q = 8'hc0; // 0x7c5 + 13'h7c6: q = 8'ha5; // 0x7c6 + 13'h7c7: q = 8'hc0; // 0x7c7 + 13'h7c8: q = 8'hc9; // 0x7c8 + 13'h7c9: q = 8'h03; // 0x7c9 + 13'h7ca: q = 8'h90; // 0x7ca + 13'h7cb: q = 8'h32; // 0x7cb + 13'h7cc: q = 8'ha6; // 0x7cc + 13'h7cd: q = 8'h88; // 0x7cd + 13'h7ce: q = 8'ha9; // 0x7ce + 13'h7cf: q = 8'hff; // 0x7cf + 13'h7d0: q = 8'h95; // 0x7d0 + 13'h7d1: q = 8'hc0; // 0x7d1 + 13'h7d2: q = 8'ha5; // 0x7d2 + 13'h7d3: q = 8'hef; // 0x7d3 + 13'h7d4: q = 8'hf0; // 0x7d4 + 13'h7d5: q = 8'h1d; // 0x7d5 + 13'h7d6: q = 8'ha9; // 0x7d6 + 13'h7d7: q = 8'h80; // 0x7d7 + 13'h7d8: q = 8'h85; // 0x7d8 + 13'h7d9: q = 8'hee; // 0x7d9 + 13'h7da: q = 8'h20; // 0x7da + 13'h7db: q = 8'h09; // 0x7db + 13'h7dc: q = 8'h25; // 0x7dc + 13'h7dd: q = 8'h20; // 0x7dd + 13'h7de: q = 8'hd5; // 0x7de + 13'h7df: q = 8'h31; // 0x7df + 13'h7e0: q = 8'h20; // 0x7e0 + 13'h7e1: q = 8'h32; // 0x7e1 + 13'h7e2: q = 8'h29; // 0x7e2 + 13'h7e3: q = 8'h20; // 0x7e3 + 13'h7e4: q = 8'hfe; // 0x7e4 + 13'h7e5: q = 8'h32; // 0x7e5 + 13'h7e6: q = 8'h20; // 0x7e6 + 13'h7e7: q = 8'h1f; // 0x7e7 + 13'h7e8: q = 8'h23; // 0x7e8 + 13'h7e9: q = 8'h20; // 0x7e9 + 13'h7ea: q = 8'hc7; // 0x7ea + 13'h7eb: q = 8'h21; // 0x7eb + 13'h7ec: q = 8'h20; // 0x7ec + 13'h7ed: q = 8'he8; // 0x7ed + 13'h7ee: q = 8'h20; // 0x7ee + 13'h7ef: q = 8'ha5; // 0x7ef + 13'h7f0: q = 8'hc1; // 0x7f0 + 13'h7f1: q = 8'h30; // 0x7f1 + 13'h7f2: q = 8'h32; // 0x7f2 + 13'h7f3: q = 8'ha5; // 0x7f3 + 13'h7f4: q = 8'hc1; // 0x7f4 + 13'h7f5: q = 8'h25; // 0x7f5 + 13'h7f6: q = 8'hc2; // 0x7f6 + 13'h7f7: q = 8'h30; // 0x7f7 + 13'h7f8: q = 8'h17; // 0x7f8 + 13'h7f9: q = 8'ha2; // 0x7f9 + 13'h7fa: q = 8'h00; // 0x7fa + 13'h7fb: q = 8'h86; // 0x7fb + 13'h7fc: q = 8'hc0; // 0x7fc + 13'h7fd: q = 8'h60; // 0x7fd + 13'h7fe: q = 8'he6; // 0x7fe + 13'h7ff: q = 8'h8e; // 0x7ff + // ../src/centiped3/136001-308.e1 + 13'h800: q = 8'ha6; // 0x800 + 13'h801: q = 8'h8e; // 0x801 + 13'h802: q = 8'ha9; // 0x802 + 13'h803: q = 8'hf4; // 0x803 + 13'h804: q = 8'h85; // 0x804 + 13'h805: q = 8'h01; // 0x805 + 13'h806: q = 8'ha9; // 0x806 + 13'h807: q = 8'h01; // 0x807 + 13'h808: q = 8'h95; // 0x808 + 13'h809: q = 8'h1a; // 0x809 + 13'h80a: q = 8'ha5; // 0x80a + 13'h80b: q = 8'h01; // 0x80b + 13'h80c: q = 8'hf0; // 0x80c + 13'h80d: q = 8'hbe; // 0x80d + 13'h80e: q = 8'hd0; // 0x80e + 13'h80f: q = 8'h2e; // 0x80f + 13'h810: q = 8'ha9; // 0x810 + 13'h811: q = 8'h88; // 0x811 + 13'h812: q = 8'h20; // 0x812 + 13'h813: q = 8'hd5; // 0x813 + 13'h814: q = 8'h37; // 0x814 + 13'h815: q = 8'ha9; // 0x815 + 13'h816: q = 8'h85; // 0x816 + 13'h817: q = 8'h20; // 0x817 + 13'h818: q = 8'hd5; // 0x818 + 13'h819: q = 8'h37; // 0x819 + 13'h81a: q = 8'ha9; // 0x81a + 13'h81b: q = 8'h00; // 0x81b + 13'h81c: q = 8'h8d; // 0x81c + 13'h81d: q = 8'h89; // 0x81d + 13'h81e: q = 8'h05; // 0x81e + 13'h81f: q = 8'h8d; // 0x81f + 13'h820: q = 8'ha9; // 0x820 + 13'h821: q = 8'h05; // 0x821 + 13'h822: q = 8'h8d; // 0x822 + 13'h823: q = 8'hc9; // 0x823 + 13'h824: q = 8'h05; // 0x824 + 13'h825: q = 8'h20; // 0x825 + 13'h826: q = 8'ha0; // 0x826 + 13'h827: q = 8'h26; // 0x827 + 13'h828: q = 8'h20; // 0x828 + 13'h829: q = 8'h5c; // 0x829 + 13'h82a: q = 8'h2d; // 0x82a + 13'h82b: q = 8'ha6; // 0x82b + 13'h82c: q = 8'h89; // 0x82c + 13'h82d: q = 8'h86; // 0x82d + 13'h82e: q = 8'h01; // 0x82e + 13'h82f: q = 8'hca; // 0x82f + 13'h830: q = 8'hf0; // 0x830 + 13'h831: q = 8'hc7; // 0x831 + 13'h832: q = 8'ha9; // 0x832 + 13'h833: q = 8'h80; // 0x833 + 13'h834: q = 8'h20; // 0x834 + 13'h835: q = 8'hd5; // 0x835 + 13'h836: q = 8'h37; // 0x836 + 13'h837: q = 8'ha9; // 0x837 + 13'h838: q = 8'h00; // 0x838 + 13'h839: q = 8'ha8; // 0x839 + 13'h83a: q = 8'h91; // 0x83a + 13'h83b: q = 8'h91; // 0x83b + 13'h83c: q = 8'hf0; // 0x83c + 13'h83d: q = 8'hbb; // 0x83d + 13'h83e: q = 8'ha5; // 0x83e + 13'h83f: q = 8'h00; // 0x83f + 13'h840: q = 8'h29; // 0x840 + 13'h841: q = 8'h07; // 0x841 + 13'h842: q = 8'hd0; // 0x842 + 13'h843: q = 8'h2b; // 0x843 + 13'h844: q = 8'ha2; // 0x844 + 13'h845: q = 8'hff; // 0x845 + 13'h846: q = 8'ha9; // 0x846 + 13'h847: q = 8'h00; // 0x847 + 13'h848: q = 8'ha4; // 0x848 + 13'h849: q = 8'hb9; // 0x849 + 13'h84a: q = 8'h85; // 0x84a + 13'h84b: q = 8'hb9; // 0x84b + 13'h84c: q = 8'h10; // 0x84c + 13'h84d: q = 8'h07; // 0x84d + 13'h84e: q = 8'ha2; // 0x84e + 13'h84f: q = 8'h01; // 0x84f + 13'h850: q = 8'h98; // 0x850 + 13'h851: q = 8'h20; // 0x851 + 13'h852: q = 8'h2d; // 0x852 + 13'h853: q = 8'h38; // 0x853 + 13'h854: q = 8'ha8; // 0x854 + 13'h855: q = 8'hc0; // 0x855 + 13'h856: q = 8'h04; // 0x856 + 13'h857: q = 8'h90; // 0x857 + 13'h858: q = 8'h16; // 0x858 + 13'h859: q = 8'h8a; // 0x859 + 13'h85a: q = 8'h45; // 0x85a + 13'h85b: q = 8'hf4; // 0x85b + 13'h85c: q = 8'ha6; // 0x85c + 13'h85d: q = 8'h8e; // 0x85d + 13'h85e: q = 8'h18; // 0x85e + 13'h85f: q = 8'h75; // 0x85f + 13'h860: q = 8'h1a; // 0x860 + 13'h861: q = 8'h30; // 0x861 + 13'h862: q = 8'h08; // 0x862 + 13'h863: q = 8'hc9; // 0x863 + 13'h864: q = 8'h1b; // 0x864 + 13'h865: q = 8'h90; // 0x865 + 13'h866: q = 8'h06; // 0x866 + 13'h867: q = 8'ha9; // 0x867 + 13'h868: q = 8'h00; // 0x868 + 13'h869: q = 8'hf0; // 0x869 + 13'h86a: q = 8'h02; // 0x86a + 13'h86b: q = 8'ha9; // 0x86b + 13'h86c: q = 8'h1a; // 0x86c + 13'h86d: q = 8'h95; // 0x86d + 13'h86e: q = 8'h1a; // 0x86e + 13'h86f: q = 8'ha9; // 0x86f + 13'h870: q = 8'h00; // 0x870 + 13'h871: q = 8'h60; // 0x871 + 13'h872: q = 8'ha9; // 0x872 + 13'h873: q = 8'h20; // 0x873 + 13'h874: q = 8'h8d; // 0x874 + 13'h875: q = 8'h08; // 0x875 + 13'h876: q = 8'h10; // 0x876 + 13'h877: q = 8'ha9; // 0x877 + 13'h878: q = 8'h0c; // 0x878 + 13'h879: q = 8'h85; // 0x879 + 13'h87a: q = 8'h9b; // 0x87a + 13'h87b: q = 8'h85; // 0x87b + 13'h87c: q = 8'h9c; // 0x87c + 13'h87d: q = 8'ha5; // 0x87d + 13'h87e: q = 8'hff; // 0x87e + 13'h87f: q = 8'h85; // 0x87f + 13'h880: q = 8'h88; // 0x880 + 13'h881: q = 8'h85; // 0x881 + 13'h882: q = 8'h53; // 0x882 + 13'h883: q = 8'h85; // 0x883 + 13'h884: q = 8'h83; // 0x884 + 13'h885: q = 8'ha9; // 0x885 + 13'h886: q = 8'h02; // 0x886 + 13'h887: q = 8'h85; // 0x887 + 13'h888: q = 8'h9d; // 0x888 + 13'h889: q = 8'h85; // 0x889 + 13'h88a: q = 8'h9e; // 0x88a + 13'h88b: q = 8'ha2; // 0x88b + 13'h88c: q = 8'h06; // 0x88c + 13'h88d: q = 8'ha9; // 0x88d + 13'h88e: q = 8'h00; // 0x88e + 13'h88f: q = 8'h8d; // 0x88f + 13'h890: q = 8'h0f; // 0x890 + 13'h891: q = 8'h10; // 0x891 + 13'h892: q = 8'h95; // 0x892 + 13'h893: q = 8'hb2; // 0x893 + 13'h894: q = 8'hca; // 0x894 + 13'h895: q = 8'h10; // 0x895 + 13'h896: q = 8'hfb; // 0x896 + 13'h897: q = 8'ha2; // 0x897 + 13'h898: q = 8'h05; // 0x898 + 13'h899: q = 8'h95; // 0x899 + 13'h89a: q = 8'ha8; // 0x89a + 13'h89b: q = 8'hca; // 0x89b + 13'h89c: q = 8'h10; // 0x89c + 13'h89d: q = 8'hfb; // 0x89d + 13'h89e: q = 8'had; // 0x89e + 13'h89f: q = 8'h0a; // 0x89f + 13'h8a0: q = 8'h10; // 0x8a0 + 13'h8a1: q = 8'h4d; // 0x8a1 + 13'h8a2: q = 8'h0a; // 0x8a2 + 13'h8a3: q = 8'h10; // 0x8a3 + 13'h8a4: q = 8'h18; // 0x8a4 + 13'h8a5: q = 8'h65; // 0x8a5 + 13'h8a6: q = 8'hc8; // 0x8a6 + 13'h8a7: q = 8'h85; // 0x8a7 + 13'h8a8: q = 8'hc8; // 0x8a8 + 13'h8a9: q = 8'ha9; // 0x8a9 + 13'h8aa: q = 8'h03; // 0x8aa + 13'h8ab: q = 8'h8d; // 0x8ab + 13'h8ac: q = 8'h0f; // 0x8ac + 13'h8ad: q = 8'h10; // 0x8ad + 13'h8ae: q = 8'h20; // 0x8ae + 13'h8af: q = 8'h1f; // 0x8af + 13'h8b0: q = 8'h23; // 0x8b0 + 13'h8b1: q = 8'ha9; // 0x8b1 + 13'h8b2: q = 8'hc0; // 0x8b2 + 13'h8b3: q = 8'h85; // 0x8b3 + 13'h8b4: q = 8'ha0; // 0x8b4 + 13'h8b5: q = 8'h85; // 0x8b5 + 13'h8b6: q = 8'ha2; // 0x8b6 + 13'h8b7: q = 8'h85; // 0x8b7 + 13'h8b8: q = 8'ha3; // 0x8b8 + 13'h8b9: q = 8'h20; // 0x8b9 + 13'h8ba: q = 8'hc7; // 0x8ba + 13'h8bb: q = 8'h21; // 0x8bb + 13'h8bc: q = 8'h20; // 0x8bc + 13'h8bd: q = 8'he8; // 0x8bd + 13'h8be: q = 8'h20; // 0x8be + 13'h8bf: q = 8'ha9; // 0x8bf + 13'h8c0: q = 8'h0f; // 0x8c0 + 13'h8c1: q = 8'h8d; // 0x8c1 + 13'h8c2: q = 8'h04; // 0x8c2 + 13'h8c3: q = 8'h14; // 0x8c3 + 13'h8c4: q = 8'ha6; // 0x8c4 + 13'h8c5: q = 8'h88; // 0x8c5 + 13'h8c6: q = 8'ha9; // 0x8c6 + 13'h8c7: q = 8'h00; // 0x8c7 + 13'h8c8: q = 8'h95; // 0x8c8 + 13'h8c9: q = 8'hc2; // 0x8c9 + 13'h8ca: q = 8'haa; // 0x8ca + 13'h8cb: q = 8'h20; // 0x8cb + 13'h8cc: q = 8'h56; // 0x8cc + 13'h8cd: q = 8'h26; // 0x8cd + 13'h8ce: q = 8'ha2; // 0x8ce + 13'h8cf: q = 8'h00; // 0x8cf + 13'h8d0: q = 8'h8a; // 0x8d0 + 13'h8d1: q = 8'h9d; // 0x8d1 + 13'h8d2: q = 8'h00; // 0x8d2 + 13'h8d3: q = 8'h04; // 0x8d3 + 13'h8d4: q = 8'h9d; // 0x8d4 + 13'h8d5: q = 8'h00; // 0x8d5 + 13'h8d6: q = 8'h05; // 0x8d6 + 13'h8d7: q = 8'h9d; // 0x8d7 + 13'h8d8: q = 8'h00; // 0x8d8 + 13'h8d9: q = 8'h06; // 0x8d9 + 13'h8da: q = 8'h9d; // 0x8da + 13'h8db: q = 8'h00; // 0x8db + 13'h8dc: q = 8'h07; // 0x8dc + 13'h8dd: q = 8'he8; // 0x8dd + 13'h8de: q = 8'hd0; // 0x8de + 13'h8df: q = 8'hf1; // 0x8df + 13'h8e0: q = 8'ha6; // 0x8e0 + 13'h8e1: q = 8'h88; // 0x8e1 + 13'h8e2: q = 8'h95; // 0x8e2 + 13'h8e3: q = 8'hd7; // 0x8e3 + 13'h8e4: q = 8'ha2; // 0x8e4 + 13'h8e5: q = 8'h1b; // 0x8e5 + 13'h8e6: q = 8'h86; // 0x8e6 + 13'h8e7: q = 8'h8b; // 0x8e7 + 13'h8e8: q = 8'ha2; // 0x8e8 + 13'h8e9: q = 8'h2d; // 0x8e9 + 13'h8ea: q = 8'had; // 0x8ea + 13'h8eb: q = 8'h0a; // 0x8eb + 13'h8ec: q = 8'h10; // 0x8ec + 13'h8ed: q = 8'h29; // 0x8ed + 13'h8ee: q = 8'he0; // 0x8ee + 13'h8ef: q = 8'h05; // 0x8ef + 13'h8f0: q = 8'h8b; // 0x8f0 + 13'h8f1: q = 8'h85; // 0x8f1 + 13'h8f2: q = 8'h8d; // 0x8f2 + 13'h8f3: q = 8'had; // 0x8f3 + 13'h8f4: q = 8'h0a; // 0x8f4 + 13'h8f5: q = 8'h10; // 0x8f5 + 13'h8f6: q = 8'h29; // 0x8f6 + 13'h8f7: q = 8'h03; // 0x8f7 + 13'h8f8: q = 8'h09; // 0x8f8 + 13'h8f9: q = 8'h04; // 0x8f9 + 13'h8fa: q = 8'h85; // 0x8fa + 13'h8fb: q = 8'h8e; // 0x8fb + 13'h8fc: q = 8'h86; // 0x8fc + 13'h8fd: q = 8'h8f; // 0x8fd + 13'h8fe: q = 8'ha0; // 0x8fe + 13'h8ff: q = 8'h00; // 0x8ff + 13'h900: q = 8'ha5; // 0x900 + 13'h901: q = 8'h8d; // 0x901 + 13'h902: q = 8'h29; // 0x902 + 13'h903: q = 8'h1f; // 0x903 + 13'h904: q = 8'ha6; // 0x904 + 13'h905: q = 8'hef; // 0x905 + 13'h906: q = 8'hf0; // 0x906 + 13'h907: q = 8'h06; // 0x907 + 13'h908: q = 8'hc9; // 0x908 + 13'h909: q = 8'h14; // 0x909 + 13'h90a: q = 8'h90; // 0x90a + 13'h90b: q = 8'h0e; // 0x90b + 13'h90c: q = 8'hb0; // 0x90c + 13'h90d: q = 8'h04; // 0x90d + 13'h90e: q = 8'hc9; // 0x90e + 13'h90f: q = 8'h0c; // 0x90f + 13'h910: q = 8'hb0; // 0x910 + 13'h911: q = 8'h08; // 0x911 + 13'h912: q = 8'hb1; // 0x912 + 13'h913: q = 8'h8d; // 0x913 + 13'h914: q = 8'hd0; // 0x914 + 13'h915: q = 8'h04; // 0x915 + 13'h916: q = 8'ha6; // 0x916 + 13'h917: q = 8'h88; // 0x917 + 13'h918: q = 8'hf6; // 0x918 + 13'h919: q = 8'hd7; // 0x919 + 13'h91a: q = 8'ha9; // 0x91a + 13'h91b: q = 8'h3f; // 0x91b + 13'h91c: q = 8'h45; // 0x91c + 13'h91d: q = 8'hef; // 0x91d + 13'h91e: q = 8'h91; // 0x91e + 13'h91f: q = 8'h8d; // 0x91f + 13'h920: q = 8'ha5; // 0x920 + 13'h921: q = 8'h8b; // 0x921 + 13'h922: q = 8'h38; // 0x922 + 13'h923: q = 8'he9; // 0x923 + 13'h924: q = 8'h01; // 0x924 + 13'h925: q = 8'hc9; // 0x925 + 13'h926: q = 8'h02; // 0x926 + 13'h927: q = 8'hb0; // 0x927 + 13'h928: q = 8'h02; // 0x928 + 13'h929: q = 8'ha9; // 0x929 + 13'h92a: q = 8'h1b; // 0x92a + 13'h92b: q = 8'h85; // 0x92b + 13'h92c: q = 8'h8b; // 0x92c + 13'h92d: q = 8'ha6; // 0x92d + 13'h92e: q = 8'h8f; // 0x92e + 13'h92f: q = 8'hca; // 0x92f + 13'h930: q = 8'h10; // 0x930 + 13'h931: q = 8'hb8; // 0x931 + 13'h932: q = 8'ha9; // 0x932 + 13'h933: q = 8'h10; // 0x933 + 13'h934: q = 8'h45; // 0x934 + 13'h935: q = 8'hf2; // 0x935 + 13'h936: q = 8'h85; // 0x936 + 13'h937: q = 8'h43; // 0x937 + 13'h938: q = 8'ha9; // 0x938 + 13'h939: q = 8'h80; // 0x939 + 13'h93a: q = 8'h85; // 0x93a + 13'h93b: q = 8'h63; // 0x93b + 13'h93c: q = 8'h85; // 0x93c + 13'h93d: q = 8'h62; // 0x93d + 13'h93e: q = 8'ha9; // 0x93e + 13'h93f: q = 8'h08; // 0x93f + 13'h940: q = 8'h45; // 0x940 + 13'h941: q = 8'hf0; // 0x941 + 13'h942: q = 8'h85; // 0x942 + 13'h943: q = 8'h73; // 0x943 + 13'h944: q = 8'ha9; // 0x944 + 13'h945: q = 8'h0c; // 0x945 + 13'h946: q = 8'h45; // 0x946 + 13'h947: q = 8'hf1; // 0x947 + 13'h948: q = 8'h85; // 0x948 + 13'h949: q = 8'h72; // 0x949 + 13'h94a: q = 8'ha9; // 0x94a + 13'h94b: q = 8'h11; // 0x94b + 13'h94c: q = 8'h45; // 0x94c + 13'h94d: q = 8'hf2; // 0x94d + 13'h94e: q = 8'h85; // 0x94e + 13'h94f: q = 8'h42; // 0x94f + 13'h950: q = 8'h60; // 0x950 + 13'h951: q = 8'ha5; // 0x951 + 13'h952: q = 8'h87; // 0x952 + 13'h953: q = 8'hf0; // 0x953 + 13'h954: q = 8'h01; // 0x954 + 13'h955: q = 8'h60; // 0x955 + 13'h956: q = 8'ha2; // 0x956 + 13'h957: q = 8'h0b; // 0x957 + 13'h958: q = 8'ha5; // 0x958 + 13'h959: q = 8'h00; // 0x959 + 13'h95a: q = 8'h29; // 0x95a + 13'h95b: q = 8'h0f; // 0x95b + 13'h95c: q = 8'hd0; // 0x95c + 13'h95d: q = 8'h04; // 0x95d + 13'h95e: q = 8'ha9; // 0x95e + 13'h95f: q = 8'h07; // 0x95f + 13'h960: q = 8'h85; // 0x960 + 13'h961: q = 8'hb3; // 0x961 + 13'h962: q = 8'hb5; // 0x962 + 13'h963: q = 8'h34; // 0x963 + 13'h964: q = 8'h10; // 0x964 + 13'h965: q = 8'h03; // 0x965 + 13'h966: q = 8'h4c; // 0x966 + 13'h967: q = 8'hc7; // 0x967 + 13'h968: q = 8'h2a; // 0x968 + 13'h969: q = 8'ha5; // 0x969 + 13'h96a: q = 8'h00; // 0x96a + 13'h96b: q = 8'h29; // 0x96b + 13'h96c: q = 8'h01; // 0x96c + 13'h96d: q = 8'hd0; // 0x96d + 13'h96e: q = 8'h09; // 0x96e + 13'h96f: q = 8'hb5; // 0x96f + 13'h970: q = 8'h34; // 0x970 + 13'h971: q = 8'h18; // 0x971 + 13'h972: q = 8'h69; // 0x972 + 13'h973: q = 8'h01; // 0x973 + 13'h974: q = 8'h29; // 0x974 + 13'h975: q = 8'hf7; // 0x975 + 13'h976: q = 8'h95; // 0x976 + 13'h977: q = 8'h34; // 0x977 + 13'h978: q = 8'ha0; // 0x978 + 13'h979: q = 8'h01; // 0x979 + 13'h97a: q = 8'hb5; // 0x97a + 13'h97b: q = 8'h64; // 0x97b + 13'h97c: q = 8'h45; // 0x97c + 13'h97d: q = 8'hf0; // 0x97d + 13'h97e: q = 8'hc9; // 0x97e + 13'h97f: q = 8'h09; // 0x97f + 13'h980: q = 8'hb0; // 0x980 + 13'h981: q = 8'h0a; // 0x981 + 13'h982: q = 8'hb5; // 0x982 + 13'h983: q = 8'h34; // 0x983 + 13'h984: q = 8'hc9; // 0x984 + 13'h985: q = 8'h10; // 0x985 + 13'h986: q = 8'hb0; // 0x986 + 13'h987: q = 8'h02; // 0x987 + 13'h988: q = 8'h84; // 0x988 + 13'h989: q = 8'h97; // 0x989 + 13'h98a: q = 8'hb5; // 0x98a + 13'h98b: q = 8'h64; // 0x98b + 13'h98c: q = 8'h29; // 0x98c + 13'h98d: q = 8'h07; // 0x98d + 13'h98e: q = 8'hd0; // 0x98e + 13'h98f: q = 8'h73; // 0x98f + 13'h990: q = 8'h98; // 0x990 + 13'h991: q = 8'ha4; // 0x991 + 13'h992: q = 8'h88; // 0x992 + 13'h993: q = 8'hd9; // 0x993 + 13'h994: q = 8'h94; // 0x994 + 13'h995: q = 8'h00; // 0x995 + 13'h996: q = 8'hd0; // 0x996 + 13'h997: q = 8'h14; // 0x997 + 13'h998: q = 8'ha9; // 0x998 + 13'h999: q = 8'h02; // 0x999 + 13'h99a: q = 8'hb4; // 0x99a + 13'h99b: q = 8'h44; // 0x99b + 13'h99c: q = 8'h10; // 0x99c + 13'h99d: q = 8'h02; // 0x99d + 13'h99e: q = 8'ha9; // 0x99e + 13'h99f: q = 8'hfe; // 0x99f + 13'h9a0: q = 8'h95; // 0x9a0 + 13'h9a1: q = 8'h44; // 0x9a1 + 13'h9a2: q = 8'ha9; // 0x9a2 + 13'h9a3: q = 8'h02; // 0x9a3 + 13'h9a4: q = 8'hb4; // 0x9a4 + 13'h9a5: q = 8'h74; // 0x9a5 + 13'h9a6: q = 8'h10; // 0x9a6 + 13'h9a7: q = 8'h02; // 0x9a7 + 13'h9a8: q = 8'ha9; // 0x9a8 + 13'h9a9: q = 8'hfe; // 0x9a9 + 13'h9aa: q = 8'h95; // 0x9aa + 13'h9ab: q = 8'h74; // 0x9ab + 13'h9ac: q = 8'hb5; // 0x9ac + 13'h9ad: q = 8'h34; // 0x9ad + 13'h9ae: q = 8'h29; // 0x9ae + 13'h9af: q = 8'h40; // 0x9af + 13'h9b0: q = 8'hf0; // 0x9b0 + 13'h9b1: q = 8'h0f; // 0x9b1 + 13'h9b2: q = 8'hb5; // 0x9b2 + 13'h9b3: q = 8'h63; // 0x9b3 + 13'h9b4: q = 8'h38; // 0x9b4 + 13'h9b5: q = 8'hf5; // 0x9b5 + 13'h9b6: q = 8'h64; // 0x9b6 + 13'h9b7: q = 8'h20; // 0x9b7 + 13'h9b8: q = 8'h2b; // 0x9b8 + 13'h9b9: q = 8'h38; // 0x9b9 + 13'h9ba: q = 8'hc9; // 0x9ba + 13'h9bb: q = 8'h08; // 0x9bb + 13'h9bc: q = 8'hb0; // 0x9bc + 13'h9bd: q = 8'h45; // 0x9bd + 13'h9be: q = 8'h4c; // 0x9be + 13'h9bf: q = 8'h92; // 0x9bf + 13'h9c0: q = 8'h2a; // 0x9c0 + 13'h9c1: q = 8'hb5; // 0x9c1 + 13'h9c2: q = 8'h34; // 0x9c2 + 13'h9c3: q = 8'h29; // 0x9c3 + 13'h9c4: q = 8'h20; // 0x9c4 + 13'h9c5: q = 8'hd0; // 0x9c5 + 13'h9c6: q = 8'h3c; // 0x9c6 + 13'h9c7: q = 8'hb5; // 0x9c7 + 13'h9c8: q = 8'h54; // 0x9c8 + 13'h9c9: q = 8'hc9; // 0x9c9 + 13'h9ca: q = 8'hf0; // 0x9ca + 13'h9cb: q = 8'h90; // 0x9cb + 13'h9cc: q = 8'h0a; // 0x9cc + 13'h9cd: q = 8'hb4; // 0x9cd + 13'h9ce: q = 8'h74; // 0x9ce + 13'h9cf: q = 8'hf0; // 0x9cf + 13'h9d0: q = 8'h0e; // 0x9d0 + 13'h9d1: q = 8'hb4; // 0x9d1 + 13'h9d2: q = 8'h44; // 0x9d2 + 13'h9d3: q = 8'h10; // 0x9d3 + 13'h9d4: q = 8'h2e; // 0x9d4 + 13'h9d5: q = 8'h30; // 0x9d5 + 13'h9d6: q = 8'h0f; // 0x9d6 + 13'h9d7: q = 8'hc9; // 0x9d7 + 13'h9d8: q = 8'h10; // 0x9d8 + 13'h9d9: q = 8'hb0; // 0x9d9 + 13'h9da: q = 8'h0b; // 0x9da + 13'h9db: q = 8'hb4; // 0x9db + 13'h9dc: q = 8'h74; // 0x9dc + 13'h9dd: q = 8'hd0; // 0x9dd + 13'h9de: q = 8'h03; // 0x9de + 13'h9df: q = 8'h4c; // 0x9df + 13'h9e0: q = 8'ha6; // 0x9e0 + 13'h9e1: q = 8'h2a; // 0x9e1 + 13'h9e2: q = 8'hb4; // 0x9e2 + 13'h9e3: q = 8'h44; // 0x9e3 + 13'h9e4: q = 8'h30; // 0x9e4 + 13'h9e5: q = 8'h1d; // 0x9e5 + 13'h9e6: q = 8'h20; // 0x9e6 + 13'h9e7: q = 8'h10; // 0x9e7 + 13'h9e8: q = 8'h23; // 0x9e8 + 13'h9e9: q = 8'h20; // 0x9e9 + 13'h9ea: q = 8'h2b; // 0x9ea + 13'h9eb: q = 8'h2c; // 0x9eb + 13'h9ec: q = 8'hf0; // 0x9ec + 13'h9ed: q = 8'h10; // 0x9ed + 13'h9ee: q = 8'hc9; // 0x9ee + 13'h9ef: q = 8'h38; // 0x9ef + 13'h9f0: q = 8'h90; // 0x9f0 + 13'h9f1: q = 8'h11; // 0x9f1 + 13'h9f2: q = 8'hc9; // 0x9f2 + 13'h9f3: q = 8'h3c; // 0x9f3 + 13'h9f4: q = 8'hb0; // 0x9f4 + 13'h9f5: q = 8'h0d; // 0x9f5 + 13'h9f6: q = 8'hb5; // 0x9f6 + 13'h9f7: q = 8'h34; // 0x9f7 + 13'h9f8: q = 8'h09; // 0x9f8 + 13'h9f9: q = 8'h20; // 0x9f9 + 13'h9fa: q = 8'h95; // 0x9fa + 13'h9fb: q = 8'h34; // 0x9fb + 13'h9fc: q = 8'h90; // 0x9fc + 13'h9fd: q = 8'h05; // 0x9fd + 13'h9fe: q = 8'h20; // 0x9fe + 13'h9ff: q = 8'h6b; // 0x9ff + 13'ha00: q = 8'h2c; // 0xa00 + 13'ha01: q = 8'h90; // 0xa01 + 13'ha02: q = 8'hbb; // 0xa02 + 13'ha03: q = 8'hb5; // 0xa03 + 13'ha04: q = 8'h64; // 0xa04 + 13'ha05: q = 8'h45; // 0xa05 + 13'ha06: q = 8'hf0; // 0xa06 + 13'ha07: q = 8'hb4; // 0xa07 + 13'ha08: q = 8'h74; // 0xa08 + 13'ha09: q = 8'hf0; // 0xa09 + 13'ha0a: q = 8'hd4; // 0xa0a + 13'ha0b: q = 8'h10; // 0xa0b + 13'ha0c: q = 8'h12; // 0xa0c + 13'ha0d: q = 8'ha4; // 0xa0d + 13'ha0e: q = 8'hef; // 0xa0e + 13'ha0f: q = 8'hf0; // 0xa0f + 13'ha10: q = 8'h08; // 0xa10 + 13'ha11: q = 8'h45; // 0xa11 + 13'ha12: q = 8'hf0; // 0xa12 + 13'ha13: q = 8'hc9; // 0xa13 + 13'ha14: q = 8'hc9; // 0xa14 + 13'ha15: q = 8'h90; // 0xa15 + 13'ha16: q = 8'h63; // 0xa16 + 13'ha17: q = 8'hb0; // 0xa17 + 13'ha18: q = 8'h68; // 0xa18 + 13'ha19: q = 8'hc9; // 0xa19 + 13'ha1a: q = 8'h30; // 0xa1a + 13'ha1b: q = 8'hb0; // 0xa1b + 13'ha1c: q = 8'h5d; // 0xa1c + 13'ha1d: q = 8'h90; // 0xa1d + 13'ha1e: q = 8'h62; // 0xa1e + 13'ha1f: q = 8'hc9; // 0xa1f + 13'ha20: q = 8'h09; // 0xa20 + 13'ha21: q = 8'hb0; // 0xa21 + 13'ha22: q = 8'h5e; // 0xa22 + 13'ha23: q = 8'hb5; // 0xa23 + 13'ha24: q = 8'h34; // 0xa24 + 13'ha25: q = 8'h29; // 0xa25 + 13'ha26: q = 8'h40; // 0xa26 + 13'ha27: q = 8'hd0; // 0xa27 + 13'ha28: q = 8'h51; // 0xa28 + 13'ha29: q = 8'hb5; // 0xa29 + 13'ha2a: q = 8'h34; // 0xa2a + 13'ha2b: q = 8'h29; // 0xa2b + 13'ha2c: q = 8'hdf; // 0xa2c + 13'ha2d: q = 8'h95; // 0xa2d + 13'ha2e: q = 8'h34; // 0xa2e + 13'ha2f: q = 8'he0; // 0xa2f + 13'ha30: q = 8'h0b; // 0xa30 + 13'ha31: q = 8'hf0; // 0xa31 + 13'ha32: q = 8'h47; // 0xa32 + 13'ha33: q = 8'h8a; // 0xa33 + 13'ha34: q = 8'ha8; // 0xa34 + 13'ha35: q = 8'hc8; // 0xa35 + 13'ha36: q = 8'hb9; // 0xa36 + 13'ha37: q = 8'h34; // 0xa37 + 13'ha38: q = 8'h00; // 0xa38 + 13'ha39: q = 8'h30; // 0xa39 + 13'ha3a: q = 8'h3f; // 0xa3a + 13'ha3b: q = 8'h29; // 0xa3b + 13'ha3c: q = 8'h40; // 0xa3c + 13'ha3d: q = 8'hf0; // 0xa3d + 13'ha3e: q = 8'h3b; // 0xa3e + 13'ha3f: q = 8'hc0; // 0xa3f + 13'ha40: q = 8'h0b; // 0xa40 + 13'ha41: q = 8'hf0; // 0xa41 + 13'ha42: q = 8'h09; // 0xa42 + 13'ha43: q = 8'hb9; // 0xa43 + 13'ha44: q = 8'h35; // 0xa44 + 13'ha45: q = 8'h00; // 0xa45 + 13'ha46: q = 8'h30; // 0xa46 + 13'ha47: q = 8'h04; // 0xa47 + 13'ha48: q = 8'h29; // 0xa48 + 13'ha49: q = 8'h40; // 0xa49 + 13'ha4a: q = 8'hd0; // 0xa4a + 13'ha4b: q = 8'h29; // 0xa4b + 13'ha4c: q = 8'hb9; // 0xa4c + 13'ha4d: q = 8'h64; // 0xa4d + 13'ha4e: q = 8'h00; // 0xa4e + 13'ha4f: q = 8'h45; // 0xa4f + 13'ha50: q = 8'hf0; // 0xa50 + 13'ha51: q = 8'hc9; // 0xa51 + 13'ha52: q = 8'h09; // 0xa52 + 13'ha53: q = 8'hb0; // 0xa53 + 13'ha54: q = 8'h25; // 0xa54 + 13'ha55: q = 8'hb9; // 0xa55 + 13'ha56: q = 8'h34; // 0xa56 + 13'ha57: q = 8'h00; // 0xa57 + 13'ha58: q = 8'h29; // 0xa58 + 13'ha59: q = 8'h07; // 0xa59 + 13'ha5a: q = 8'h99; // 0xa5a + 13'ha5b: q = 8'h34; // 0xa5b + 13'ha5c: q = 8'h00; // 0xa5c + 13'ha5d: q = 8'hb9; // 0xa5d + 13'ha5e: q = 8'h44; // 0xa5e + 13'ha5f: q = 8'h00; // 0xa5f + 13'ha60: q = 8'h20; // 0xa60 + 13'ha61: q = 8'h2d; // 0xa61 + 13'ha62: q = 8'h38; // 0xa62 + 13'ha63: q = 8'h99; // 0xa63 + 13'ha64: q = 8'h44; // 0xa64 + 13'ha65: q = 8'h00; // 0xa65 + 13'ha66: q = 8'hb9; // 0xa66 + 13'ha67: q = 8'h64; // 0xa67 + 13'ha68: q = 8'h00; // 0xa68 + 13'ha69: q = 8'h29; // 0xa69 + 13'ha6a: q = 8'hf8; // 0xa6a + 13'ha6b: q = 8'h99; // 0xa6b + 13'ha6c: q = 8'h64; // 0xa6c + 13'ha6d: q = 8'h00; // 0xa6d + 13'ha6e: q = 8'ha9; // 0xa6e + 13'ha6f: q = 8'h00; // 0xa6f + 13'ha70: q = 8'h99; // 0xa70 + 13'ha71: q = 8'h74; // 0xa71 + 13'ha72: q = 8'h00; // 0xa72 + 13'ha73: q = 8'hf0; // 0xa73 + 13'ha74: q = 8'h05; // 0xa74 + 13'ha75: q = 8'hc8; // 0xa75 + 13'ha76: q = 8'hc0; // 0xa76 + 13'ha77: q = 8'h0c; // 0xa77 + 13'ha78: q = 8'h90; // 0xa78 + 13'ha79: q = 8'hc5; // 0xa79 + 13'ha7a: q = 8'hb5; // 0xa7a + 13'ha7b: q = 8'h74; // 0xa7b + 13'ha7c: q = 8'h20; // 0xa7c + 13'ha7d: q = 8'h2d; // 0xa7d + 13'ha7e: q = 8'h38; // 0xa7e + 13'ha7f: q = 8'h95; // 0xa7f + 13'ha80: q = 8'h74; // 0xa80 + 13'ha81: q = 8'hb5; // 0xa81 + 13'ha82: q = 8'h64; // 0xa82 + 13'ha83: q = 8'ha4; // 0xa83 + 13'ha84: q = 8'hef; // 0xa84 + 13'ha85: q = 8'hf0; // 0xa85 + 13'ha86: q = 8'h06; // 0xa86 + 13'ha87: q = 8'h18; // 0xa87 + 13'ha88: q = 8'h75; // 0xa88 + 13'ha89: q = 8'h74; // 0xa89 + 13'ha8a: q = 8'h4c; // 0xa8a + 13'ha8b: q = 8'h90; // 0xa8b + 13'ha8c: q = 8'h2a; // 0xa8c + 13'ha8d: q = 8'h38; // 0xa8d + 13'ha8e: q = 8'hf5; // 0xa8e + 13'ha8f: q = 8'h74; // 0xa8f + 13'ha90: q = 8'h95; // 0xa90 + 13'ha91: q = 8'h64; // 0xa91 + 13'ha92: q = 8'hb5; // 0xa92 + 13'ha93: q = 8'h44; // 0xa93 + 13'ha94: q = 8'h18; // 0xa94 + 13'ha95: q = 8'h75; // 0xa95 + 13'ha96: q = 8'h54; // 0xa96 + 13'ha97: q = 8'h95; // 0xa97 + 13'ha98: q = 8'h54; // 0xa98 + 13'ha99: q = 8'h20; // 0xa99 + 13'ha9a: q = 8'h96; // 0xa9a + 13'ha9b: q = 8'h2c; // 0xa9b + 13'ha9c: q = 8'h90; // 0xa9c + 13'ha9d: q = 8'h2f; // 0xa9d + 13'ha9e: q = 8'hb5; // 0xa9e + 13'ha9f: q = 8'h64; // 0xa9f + 13'haa0: q = 8'h29; // 0xaa0 + 13'haa1: q = 8'h07; // 0xaa1 + 13'haa2: q = 8'hc9; // 0xaa2 + 13'haa3: q = 8'h04; // 0xaa3 + 13'haa4: q = 8'hd0; // 0xaa4 + 13'haa5: q = 8'h21; // 0xaa5 + 13'haa6: q = 8'hb5; // 0xaa6 + 13'haa7: q = 8'h44; // 0xaa7 + 13'haa8: q = 8'h20; // 0xaa8 + 13'haa9: q = 8'h2d; // 0xaa9 + 13'haaa: q = 8'h38; // 0xaaa + 13'haab: q = 8'h95; // 0xaab + 13'haac: q = 8'h44; // 0xaac + 13'haad: q = 8'hb4; // 0xaad + 13'haae: q = 8'h74; // 0xaae + 13'haaf: q = 8'hd0; // 0xaaf + 13'hab0: q = 8'h16; // 0xab0 + 13'hab1: q = 8'h09; // 0xab1 + 13'hab2: q = 8'h00; // 0xab2 + 13'hab3: q = 8'h30; // 0xab3 + 13'hab4: q = 8'h03; // 0xab4 + 13'hab5: q = 8'h20; // 0xab5 + 13'hab6: q = 8'h2d; // 0xab6 + 13'hab7: q = 8'h38; // 0xab7 + 13'hab8: q = 8'h95; // 0xab8 + 13'hab9: q = 8'h74; // 0xab9 + 13'haba: q = 8'ha9; // 0xaba + 13'habb: q = 8'h04; // 0xabb + 13'habc: q = 8'hb4; // 0xabc + 13'habd: q = 8'h44; // 0xabd + 13'habe: q = 8'h10; // 0xabe + 13'habf: q = 8'h02; // 0xabf + 13'hac0: q = 8'ha9; // 0xac0 + 13'hac1: q = 8'hfc; // 0xac1 + 13'hac2: q = 8'h18; // 0xac2 + 13'hac3: q = 8'h75; // 0xac3 + 13'hac4: q = 8'h54; // 0xac4 + 13'hac5: q = 8'h95; // 0xac5 + 13'hac6: q = 8'h54; // 0xac6 + 13'hac7: q = 8'hca; // 0xac7 + 13'hac8: q = 8'h30; // 0xac8 + 13'hac9: q = 8'h03; // 0xac9 + 13'haca: q = 8'h4c; // 0xaca + 13'hacb: q = 8'h62; // 0xacb + 13'hacc: q = 8'h29; // 0xacc + 13'hacd: q = 8'h60; // 0xacd + 13'hace: q = 8'ha5; // 0xace + 13'hacf: q = 8'h86; // 0xacf + 13'had0: q = 8'h10; // 0xad0 + 13'had1: q = 8'h01; // 0xad1 + 13'had2: q = 8'h60; // 0xad2 + 13'had3: q = 8'ha5; // 0xad3 + 13'had4: q = 8'h43; // 0xad4 + 13'had5: q = 8'h29; // 0xad5 + 13'had6: q = 8'haf; // 0xad6 + 13'had7: q = 8'hd0; // 0xad7 + 13'had8: q = 8'hf9; // 0xad8 + 13'had9: q = 8'ha5; // 0xad9 + 13'hada: q = 8'h73; // 0xada + 13'hadb: q = 8'h85; // 0xadb + 13'hadc: q = 8'h8d; // 0xadc + 13'hadd: q = 8'ha4; // 0xadd + 13'hade: q = 8'hfe; // 0xade + 13'hadf: q = 8'ha5; // 0xadf + 13'hae0: q = 8'hb9; // 0xae0 + 13'hae1: q = 8'h84; // 0xae1 + 13'hae2: q = 8'hb9; // 0xae2 + 13'hae3: q = 8'h20; // 0xae3 + 13'hae4: q = 8'h26; // 0xae4 + 13'hae5: q = 8'h32; // 0xae5 + 13'hae6: q = 8'h65; // 0xae6 + 13'hae7: q = 8'h84; // 0xae7 + 13'hae8: q = 8'h85; // 0xae8 + 13'hae9: q = 8'h84; // 0xae9 + 13'haea: q = 8'h98; // 0xaea + 13'haeb: q = 8'h65; // 0xaeb + 13'haec: q = 8'h63; // 0xaec + 13'haed: q = 8'haa; // 0xaed + 13'haee: q = 8'h85; // 0xaee + 13'haef: q = 8'h8b; // 0xaef + 13'haf0: q = 8'ha0; // 0xaf0 + 13'haf1: q = 8'h00; // 0xaf1 + 13'haf2: q = 8'ha5; // 0xaf2 + 13'haf3: q = 8'h73; // 0xaf3 + 13'haf4: q = 8'h20; // 0xaf4 + 13'haf5: q = 8'h2b; // 0xaf5 + 13'haf6: q = 8'h2c; // 0xaf6 + 13'haf7: q = 8'hd0; // 0xaf7 + 13'haf8: q = 8'h11; // 0xaf8 + 13'haf9: q = 8'h8a; // 0xaf9 + 13'hafa: q = 8'hc9; // 0xafa + 13'hafb: q = 8'hf4; // 0xafb + 13'hafc: q = 8'h90; // 0xafc + 13'hafd: q = 8'h04; // 0xafd + 13'hafe: q = 8'ha9; // 0xafe + 13'haff: q = 8'hf4; // 0xaff + 13'hb00: q = 8'hd0; // 0xb00 + 13'hb01: q = 8'h0a; // 0xb01 + 13'hb02: q = 8'hc9; // 0xb02 + 13'hb03: q = 8'h0b; // 0xb03 + 13'hb04: q = 8'hb0; // 0xb04 + 13'hb05: q = 8'h06; // 0xb05 + 13'hb06: q = 8'ha9; // 0xb06 + 13'hb07: q = 8'h0b; // 0xb07 + 13'hb08: q = 8'hd0; // 0xb08 + 13'hb09: q = 8'h02; // 0xb09 + 13'hb0a: q = 8'ha5; // 0xb0a + 13'hb0b: q = 8'h63; // 0xb0b + 13'hb0c: q = 8'h85; // 0xb0c + 13'hb0d: q = 8'h63; // 0xb0d + 13'hb0e: q = 8'ha4; // 0xb0e + 13'hb0f: q = 8'h86; // 0xb0f + 13'hb10: q = 8'h10; // 0xb10 + 13'hb11: q = 8'h01; // 0xb11 + 13'hb12: q = 8'h60; // 0xb12 + 13'hb13: q = 8'ha0; // 0xb13 + 13'hb14: q = 8'h00; // 0xb14 + 13'hb15: q = 8'ha5; // 0xb15 + 13'hb16: q = 8'hbb; // 0xb16 + 13'hb17: q = 8'h84; // 0xb17 + 13'hb18: q = 8'hbb; // 0xb18 + 13'hb19: q = 8'h20; // 0xb19 + 13'hb1a: q = 8'h2d; // 0xb1a + 13'hb1b: q = 8'h38; // 0xb1b + 13'hb1c: q = 8'h20; // 0xb1c + 13'hb1d: q = 8'h26; // 0xb1d + 13'hb1e: q = 8'h32; // 0xb1e + 13'hb1f: q = 8'h65; // 0xb1f + 13'hb20: q = 8'h85; // 0xb20 + 13'hb21: q = 8'h85; // 0xb21 + 13'hb22: q = 8'h85; // 0xb22 + 13'hb23: q = 8'h98; // 0xb23 + 13'hb24: q = 8'h65; // 0xb24 + 13'hb25: q = 8'h73; // 0xb25 + 13'hb26: q = 8'haa; // 0xb26 + 13'hb27: q = 8'ha4; // 0xb27 + 13'hb28: q = 8'h63; // 0xb28 + 13'hb29: q = 8'h84; // 0xb29 + 13'hb2a: q = 8'h8b; // 0xb2a + 13'hb2b: q = 8'ha0; // 0xb2b + 13'hb2c: q = 8'h00; // 0xb2c + 13'hb2d: q = 8'h20; // 0xb2d + 13'hb2e: q = 8'h2b; // 0xb2e + 13'hb2f: q = 8'h2c; // 0xb2f + 13'hb30: q = 8'hd0; // 0xb30 + 13'hb31: q = 8'h25; // 0xb31 + 13'hb32: q = 8'h8a; // 0xb32 + 13'hb33: q = 8'hc9; // 0xb33 + 13'hb34: q = 8'h08; // 0xb34 + 13'hb35: q = 8'h90; // 0xb35 + 13'hb36: q = 8'h1c; // 0xb36 + 13'hb37: q = 8'hc9; // 0xb37 + 13'hb38: q = 8'hf1; // 0xb38 + 13'hb39: q = 8'hb0; // 0xb39 + 13'hb3a: q = 8'h14; // 0xb3a + 13'hb3b: q = 8'hc9; // 0xb3b + 13'hb3c: q = 8'h80; // 0xb3c + 13'hb3d: q = 8'h90; // 0xb3d + 13'hb3e: q = 8'h08; // 0xb3e + 13'hb3f: q = 8'hc9; // 0xb3f + 13'hb40: q = 8'hc8; // 0xb40 + 13'hb41: q = 8'hb0; // 0xb41 + 13'hb42: q = 8'h16; // 0xb42 + 13'hb43: q = 8'ha9; // 0xb43 + 13'hb44: q = 8'hc8; // 0xb44 + 13'hb45: q = 8'hd0; // 0xb45 + 13'hb46: q = 8'h12; // 0xb46 + 13'hb47: q = 8'hc9; // 0xb47 + 13'hb48: q = 8'h31; // 0xb48 + 13'hb49: q = 8'h90; // 0xb49 + 13'hb4a: q = 8'h0e; // 0xb4a + 13'hb4b: q = 8'ha9; // 0xb4b + 13'hb4c: q = 8'h30; // 0xb4c + 13'hb4d: q = 8'hd0; // 0xb4d + 13'hb4e: q = 8'h0a; // 0xb4e + 13'hb4f: q = 8'ha9; // 0xb4f + 13'hb50: q = 8'hf0; // 0xb50 + 13'hb51: q = 8'hd0; // 0xb51 + 13'hb52: q = 8'h06; // 0xb52 + 13'hb53: q = 8'ha9; // 0xb53 + 13'hb54: q = 8'h08; // 0xb54 + 13'hb55: q = 8'hd0; // 0xb55 + 13'hb56: q = 8'h02; // 0xb56 + 13'hb57: q = 8'ha5; // 0xb57 + 13'hb58: q = 8'h73; // 0xb58 + 13'hb59: q = 8'h85; // 0xb59 + 13'hb5a: q = 8'h73; // 0xb5a + 13'hb5b: q = 8'ha4; // 0xb5b + 13'hb5c: q = 8'h86; // 0xb5c + 13'hb5d: q = 8'h10; // 0xb5d + 13'hb5e: q = 8'h01; // 0xb5e + 13'hb5f: q = 8'h60; // 0xb5f + 13'hb60: q = 8'ha5; // 0xb60 + 13'hb61: q = 8'h72; // 0xb61 + 13'hb62: q = 8'ha6; // 0xb62 + 13'hb63: q = 8'hef; // 0xb63 + 13'hb64: q = 8'hf0; // 0xb64 + 13'hb65: q = 8'h07; // 0xb65 + 13'hb66: q = 8'h38; // 0xb66 + 13'hb67: q = 8'he5; // 0xb67 + 13'hb68: q = 8'h8d; // 0xb68 + 13'hb69: q = 8'hb0; // 0xb69 + 13'hb6a: q = 8'h0e; // 0xb6a + 13'hb6b: q = 8'h90; // 0xb6b + 13'hb6c: q = 8'h05; // 0xb6c + 13'hb6d: q = 8'h38; // 0xb6d + 13'hb6e: q = 8'he5; // 0xb6e + 13'hb6f: q = 8'h8d; // 0xb6f + 13'hb70: q = 8'h90; // 0xb70 + 13'hb71: q = 8'h07; // 0xb71 + 13'hb72: q = 8'h20; // 0xb72 + 13'hb73: q = 8'h2b; // 0xb73 + 13'hb74: q = 8'h38; // 0xb74 + 13'hb75: q = 8'hc9; // 0xb75 + 13'hb76: q = 8'h05; // 0xb76 + 13'hb77: q = 8'hb0; // 0xb77 + 13'hb78: q = 8'h0d; // 0xb78 + 13'hb79: q = 8'ha9; // 0xb79 + 13'hb7a: q = 8'h04; // 0xb7a + 13'hb7b: q = 8'h45; // 0xb7b + 13'hb7c: q = 8'hf0; // 0xb7c + 13'hb7d: q = 8'h18; // 0xb7d + 13'hb7e: q = 8'h65; // 0xb7e + 13'hb7f: q = 8'h73; // 0xb7f + 13'hb80: q = 8'h85; // 0xb80 + 13'hb81: q = 8'h72; // 0xb81 + 13'hb82: q = 8'ha5; // 0xb82 + 13'hb83: q = 8'h63; // 0xb83 + 13'hb84: q = 8'h85; // 0xb84 + 13'hb85: q = 8'h62; // 0xb85 + 13'hb86: q = 8'ha5; // 0xb86 + 13'hb87: q = 8'h43; // 0xb87 + 13'hb88: q = 8'h29; // 0xb88 + 13'hb89: q = 8'haf; // 0xb89 + 13'hb8a: q = 8'hf0; // 0xb8a + 13'hb8b: q = 8'h04; // 0xb8b + 13'hb8c: q = 8'ha9; // 0xb8c + 13'hb8d: q = 8'h28; // 0xb8d + 13'hb8e: q = 8'h85; // 0xb8e + 13'hb8f: q = 8'h42; // 0xb8f + 13'hb90: q = 8'h60; // 0xb90 + 13'hb91: q = 8'ha5; // 0xb91 + 13'hb92: q = 8'h32; // 0xb92 + 13'hb93: q = 8'h29; // 0xb93 + 13'hb94: q = 8'h1f; // 0xb94 + 13'hb95: q = 8'ha6; // 0xb95 + 13'hb96: q = 8'hef; // 0xb96 + 13'hb97: q = 8'hf0; // 0xb97 + 13'hb98: q = 8'h06; // 0xb98 + 13'hb99: q = 8'hc9; // 0xb99 + 13'hb9a: q = 8'h14; // 0xb9a + 13'hb9b: q = 8'h90; // 0xb9b + 13'hb9c: q = 8'h0a; // 0xb9c + 13'hb9d: q = 8'hb0; // 0xb9d + 13'hb9e: q = 8'h04; // 0xb9e + 13'hb9f: q = 8'hc9; // 0xb9f + 13'hba0: q = 8'h0c; // 0xba0 + 13'hba1: q = 8'hb0; // 0xba1 + 13'hba2: q = 8'h04; // 0xba2 + 13'hba3: q = 8'ha6; // 0xba3 + 13'hba4: q = 8'h88; // 0xba4 + 13'hba5: q = 8'hd6; // 0xba5 + 13'hba6: q = 8'hd7; // 0xba6 + 13'hba7: q = 8'h60; // 0xba7 + 13'hba8: q = 8'ha0; // 0xba8 + 13'hba9: q = 8'h00; // 0xba9 + 13'hbaa: q = 8'hb1; // 0xbaa + 13'hbab: q = 8'h32; // 0xbab + 13'hbac: q = 8'hd0; // 0xbac + 13'hbad: q = 8'h2a; // 0xbad + 13'hbae: q = 8'ha5; // 0xbae + 13'hbaf: q = 8'h32; // 0xbaf + 13'hbb0: q = 8'h29; // 0xbb0 + 13'hbb1: q = 8'h1f; // 0xbb1 + 13'hbb2: q = 8'hf0; // 0xbb2 + 13'hbb3: q = 8'h24; // 0xbb3 + 13'hbb4: q = 8'hc9; // 0xbb4 + 13'hbb5: q = 8'h1f; // 0xbb5 + 13'hbb6: q = 8'hf0; // 0xbb6 + 13'hbb7: q = 8'h20; // 0xbb7 + 13'hbb8: q = 8'ha6; // 0xbb8 + 13'hbb9: q = 8'hef; // 0xbb9 + 13'hbba: q = 8'hf0; // 0xbba + 13'hbbb: q = 8'h0a; // 0xbbb + 13'hbbc: q = 8'hc9; // 0xbbc + 13'hbbd: q = 8'h1e; // 0xbbd + 13'hbbe: q = 8'hf0; // 0xbbe + 13'hbbf: q = 8'h18; // 0xbbf + 13'hbc0: q = 8'hc9; // 0xbc0 + 13'hbc1: q = 8'h14; // 0xbc1 + 13'hbc2: q = 8'h90; // 0xbc2 + 13'hbc3: q = 8'h0e; // 0xbc3 + 13'hbc4: q = 8'hb0; // 0xbc4 + 13'hbc5: q = 8'h08; // 0xbc5 + 13'hbc6: q = 8'hc9; // 0xbc6 + 13'hbc7: q = 8'h01; // 0xbc7 + 13'hbc8: q = 8'hf0; // 0xbc8 + 13'hbc9: q = 8'h0e; // 0xbc9 + 13'hbca: q = 8'hc9; // 0xbca + 13'hbcb: q = 8'h0c; // 0xbcb + 13'hbcc: q = 8'hb0; // 0xbcc + 13'hbcd: q = 8'h04; // 0xbcd + 13'hbce: q = 8'ha6; // 0xbce + 13'hbcf: q = 8'h88; // 0xbcf + 13'hbd0: q = 8'hf6; // 0xbd0 + 13'hbd1: q = 8'hd7; // 0xbd1 + 13'hbd2: q = 8'ha9; // 0xbd2 + 13'hbd3: q = 8'h3f; // 0xbd3 + 13'hbd4: q = 8'h45; // 0xbd4 + 13'hbd5: q = 8'hef; // 0xbd5 + 13'hbd6: q = 8'h91; // 0xbd6 + 13'hbd7: q = 8'h32; // 0xbd7 + 13'hbd8: q = 8'h60; // 0xbd8 + 13'hbd9: q = 8'ha5; // 0xbd9 + 13'hbda: q = 8'h97; // 0xbda + 13'hbdb: q = 8'hf0; // 0xbdb + 13'hbdc: q = 8'h4d; // 0xbdc + 13'hbdd: q = 8'ha5; // 0xbdd + 13'hbde: q = 8'h87; // 0xbde + 13'hbdf: q = 8'hd0; // 0xbdf + 13'hbe0: q = 8'h49; // 0xbe0 + 13'hbe1: q = 8'ha5; // 0xbe1 + 13'hbe2: q = 8'ha0; // 0xbe2 + 13'hbe3: q = 8'hf0; // 0xbe3 + 13'hbe4: q = 8'h03; // 0xbe4 + 13'hbe5: q = 8'hc6; // 0xbe5 + 13'hbe6: q = 8'ha0; // 0xbe6 + 13'hbe7: q = 8'h60; // 0xbe7 + 13'hbe8: q = 8'ha6; // 0xbe8 + 13'hbe9: q = 8'h88; // 0xbe9 + 13'hbea: q = 8'ha0; // 0xbea + 13'hbeb: q = 8'h0b; // 0xbeb + 13'hbec: q = 8'hb9; // 0xbec + 13'hbed: q = 8'h34; // 0xbed + 13'hbee: q = 8'h00; // 0xbee + 13'hbef: q = 8'h30; // 0xbef + 13'hbf0: q = 8'h04; // 0xbf0 + 13'hbf1: q = 8'h88; // 0xbf1 + 13'hbf2: q = 8'h10; // 0xbf2 + 13'hbf3: q = 8'hf8; // 0xbf3 + 13'hbf4: q = 8'h60; // 0xbf4 + 13'hbf5: q = 8'ha9; // 0xbf5 + 13'hbf6: q = 8'h00; // 0xbf6 + 13'hbf7: q = 8'h99; // 0xbf7 + 13'hbf8: q = 8'h34; // 0xbf8 + 13'hbf9: q = 8'h00; // 0xbf9 + 13'hbfa: q = 8'ha9; // 0xbfa + 13'hbfb: q = 8'h40; // 0xbfb + 13'hbfc: q = 8'h45; // 0xbfc + 13'hbfd: q = 8'hf0; // 0xbfd + 13'hbfe: q = 8'h99; // 0xbfe + 13'hbff: q = 8'h64; // 0xbff + 13'hc00: q = 8'h00; // 0xc00 + 13'hc01: q = 8'ha9; // 0xc01 + 13'hc02: q = 8'hfc; // 0xc02 + 13'hc03: q = 8'h99; // 0xc03 + 13'hc04: q = 8'h54; // 0xc04 + 13'hc05: q = 8'h00; // 0xc05 + 13'hc06: q = 8'ha9; // 0xc06 + 13'hc07: q = 8'h02; // 0xc07 + 13'hc08: q = 8'h99; // 0xc08 + 13'hc09: q = 8'h74; // 0xc09 + 13'hc0a: q = 8'h00; // 0xc0a + 13'hc0b: q = 8'hb5; // 0xc0b + 13'hc0c: q = 8'ha1; // 0xc0c + 13'hc0d: q = 8'hc9; // 0xc0d + 13'hc0e: q = 8'h60; // 0xc0e + 13'hc0f: q = 8'h90; // 0xc0f + 13'hc10: q = 8'h04; // 0xc10 + 13'hc11: q = 8'he9; // 0xc11 + 13'hc12: q = 8'h08; // 0xc12 + 13'hc13: q = 8'h95; // 0xc13 + 13'hc14: q = 8'ha1; // 0xc14 + 13'hc15: q = 8'h85; // 0xc15 + 13'hc16: q = 8'ha0; // 0xc16 + 13'hc17: q = 8'had; // 0xc17 + 13'hc18: q = 8'h0a; // 0xc18 + 13'hc19: q = 8'h10; // 0xc19 + 13'hc1a: q = 8'h29; // 0xc1a + 13'hc1b: q = 8'h02; // 0xc1b + 13'hc1c: q = 8'hd0; // 0xc1c + 13'hc1d: q = 8'h07; // 0xc1d + 13'hc1e: q = 8'ha9; // 0xc1e + 13'hc1f: q = 8'h04; // 0xc1f + 13'hc20: q = 8'h99; // 0xc20 + 13'hc21: q = 8'h54; // 0xc21 + 13'hc22: q = 8'h00; // 0xc22 + 13'hc23: q = 8'ha9; // 0xc23 + 13'hc24: q = 8'hfe; // 0xc24 + 13'hc25: q = 8'h99; // 0xc25 + 13'hc26: q = 8'h44; // 0xc26 + 13'hc27: q = 8'h00; // 0xc27 + 13'hc28: q = 8'hf6; // 0xc28 + 13'hc29: q = 8'h94; // 0xc29 + 13'hc2a: q = 8'h60; // 0xc2a + 13'hc2b: q = 8'h4a; // 0xc2b + 13'hc2c: q = 8'h4a; // 0xc2c + 13'hc2d: q = 8'h4a; // 0xc2d + 13'hc2e: q = 8'h69; // 0xc2e + 13'hc2f: q = 8'h00; // 0xc2f + 13'hc30: q = 8'h85; // 0xc30 + 13'hc31: q = 8'h32; // 0xc31 + 13'hc32: q = 8'ha9; // 0xc32 + 13'hc33: q = 8'h01; // 0xc33 + 13'hc34: q = 8'h85; // 0xc34 + 13'hc35: q = 8'h33; // 0xc35 + 13'hc36: q = 8'h98; // 0xc36 + 13'hc37: q = 8'h0a; // 0xc37 + 13'hc38: q = 8'h0a; // 0xc38 + 13'hc39: q = 8'h0a; // 0xc39 + 13'hc3a: q = 8'h18; // 0xc3a + 13'hc3b: q = 8'h65; // 0xc3b + 13'hc3c: q = 8'h8b; // 0xc3c + 13'hc3d: q = 8'h85; // 0xc3d + 13'hc3e: q = 8'h8b; // 0xc3e + 13'hc3f: q = 8'ha9; // 0xc3f + 13'hc40: q = 8'hf7; // 0xc40 + 13'hc41: q = 8'h38; // 0xc41 + 13'hc42: q = 8'he5; // 0xc42 + 13'hc43: q = 8'h8b; // 0xc43 + 13'hc44: q = 8'hb0; // 0xc44 + 13'hc45: q = 8'h02; // 0xc45 + 13'hc46: q = 8'ha9; // 0xc46 + 13'hc47: q = 8'h00; // 0xc47 + 13'hc48: q = 8'h29; // 0xc48 + 13'hc49: q = 8'hf8; // 0xc49 + 13'hc4a: q = 8'h0a; // 0xc4a + 13'hc4b: q = 8'h26; // 0xc4b + 13'hc4c: q = 8'h33; // 0xc4c + 13'hc4d: q = 8'h0a; // 0xc4d + 13'hc4e: q = 8'h26; // 0xc4e + 13'hc4f: q = 8'h33; // 0xc4f + 13'hc50: q = 8'h05; // 0xc50 + 13'hc51: q = 8'h32; // 0xc51 + 13'hc52: q = 8'ha4; // 0xc52 + 13'hc53: q = 8'h33; // 0xc53 + 13'hc54: q = 8'hc0; // 0xc54 + 13'hc55: q = 8'h07; // 0xc55 + 13'hc56: q = 8'hd0; // 0xc56 + 13'hc57: q = 8'h08; // 0xc57 + 13'hc58: q = 8'hc9; // 0xc58 + 13'hc59: q = 8'hc0; // 0xc59 + 13'hc5a: q = 8'h90; // 0xc5a + 13'hc5b: q = 8'h04; // 0xc5b + 13'hc5c: q = 8'h29; // 0xc5c + 13'hc5d: q = 8'h1f; // 0xc5d + 13'hc5e: q = 8'h09; // 0xc5e + 13'hc5f: q = 8'ha0; // 0xc5f + 13'hc60: q = 8'h85; // 0xc60 + 13'hc61: q = 8'h32; // 0xc61 + 13'hc62: q = 8'ha0; // 0xc62 + 13'hc63: q = 8'h00; // 0xc63 + 13'hc64: q = 8'hb1; // 0xc64 + 13'hc65: q = 8'h32; // 0xc65 + 13'hc66: q = 8'hf0; // 0xc66 + 13'hc67: q = 8'h02; // 0xc67 + 13'hc68: q = 8'h45; // 0xc68 + 13'hc69: q = 8'hef; // 0xc69 + 13'hc6a: q = 8'h60; // 0xc6a + 13'hc6b: q = 8'h86; // 0xc6b + 13'hc6c: q = 8'h8b; // 0xc6c + 13'hc6d: q = 8'h86; // 0xc6d + 13'hc6e: q = 8'h8c; // 0xc6e + 13'hc6f: q = 8'he6; // 0xc6f + 13'hc70: q = 8'h8c; // 0xc70 + 13'hc71: q = 8'ha0; // 0xc71 + 13'hc72: q = 8'h0c; // 0xc72 + 13'hc73: q = 8'hb9; // 0xc73 + 13'hc74: q = 8'h64; // 0xc74 + 13'hc75: q = 8'h00; // 0xc75 + 13'hc76: q = 8'hd5; // 0xc76 + 13'hc77: q = 8'h64; // 0xc77 + 13'hc78: q = 8'hd0; // 0xc78 + 13'hc79: q = 8'h17; // 0xc79 + 13'hc7a: q = 8'hb9; // 0xc7a + 13'hc7b: q = 8'h34; // 0xc7b + 13'hc7c: q = 8'h00; // 0xc7c + 13'hc7d: q = 8'hc9; // 0xc7d + 13'hc7e: q = 8'hf4; // 0xc7e + 13'hc7f: q = 8'hb0; // 0xc7f + 13'hc80: q = 8'h10; // 0xc80 + 13'hc81: q = 8'hc4; // 0xc81 + 13'hc82: q = 8'h8b; // 0xc82 + 13'hc83: q = 8'hf0; // 0xc83 + 13'hc84: q = 8'h0c; // 0xc84 + 13'hc85: q = 8'hb5; // 0xc85 + 13'hc86: q = 8'h54; // 0xc86 + 13'hc87: q = 8'h38; // 0xc87 + 13'hc88: q = 8'hf9; // 0xc88 + 13'hc89: q = 8'h54; // 0xc89 + 13'hc8a: q = 8'h00; // 0xc8a + 13'hc8b: q = 8'h55; // 0xc8b + 13'hc8c: q = 8'h44; // 0xc8c + 13'hc8d: q = 8'hc9; // 0xc8d + 13'hc8e: q = 8'hf4; // 0xc8e + 13'hc8f: q = 8'hb0; // 0xc8f + 13'hc90: q = 8'h04; // 0xc90 + 13'hc91: q = 8'h88; // 0xc91 + 13'hc92: q = 8'h10; // 0xc92 + 13'hc93: q = 8'hdf; // 0xc93 + 13'hc94: q = 8'h18; // 0xc94 + 13'hc95: q = 8'h60; // 0xc95 + 13'hc96: q = 8'hb5; // 0xc96 + 13'hc97: q = 8'h54; // 0xc97 + 13'hc98: q = 8'h38; // 0xc98 + 13'hc99: q = 8'he5; // 0xc99 + 13'hc9a: q = 8'h63; // 0xc9a + 13'hc9b: q = 8'h20; // 0xc9b + 13'hc9c: q = 8'h2b; // 0xc9c + 13'hc9d: q = 8'h38; // 0xc9d + 13'hc9e: q = 8'he0; // 0xc9e + 13'hc9f: q = 8'h0d; // 0xc9f + 13'hca0: q = 8'hd0; // 0xca0 + 13'hca1: q = 8'h05; // 0xca1 + 13'hca2: q = 8'hc9; // 0xca2 + 13'hca3: q = 8'h0a; // 0xca3 + 13'hca4: q = 8'h90; // 0xca4 + 13'hca5: q = 8'h05; // 0xca5 + 13'hca6: q = 8'h60; // 0xca6 + 13'hca7: q = 8'hc9; // 0xca7 + 13'hca8: q = 8'h07; // 0xca8 + 13'hca9: q = 8'hb0; // 0xca9 + 13'hcaa: q = 8'hfb; // 0xcaa + 13'hcab: q = 8'h85; // 0xcab + 13'hcac: q = 8'h8d; // 0xcac + 13'hcad: q = 8'hb5; // 0xcad + 13'hcae: q = 8'h64; // 0xcae + 13'hcaf: q = 8'h38; // 0xcaf + 13'hcb0: q = 8'he5; // 0xcb0 + 13'hcb1: q = 8'h73; // 0xcb1 + 13'hcb2: q = 8'h20; // 0xcb2 + 13'hcb3: q = 8'h2b; // 0xcb3 + 13'hcb4: q = 8'h38; // 0xcb4 + 13'hcb5: q = 8'hc9; // 0xcb5 + 13'hcb6: q = 8'h07; // 0xcb6 + 13'hcb7: q = 8'hb0; // 0xcb7 + 13'hcb8: q = 8'hed; // 0xcb8 + 13'hcb9: q = 8'h18; // 0xcb9 + 13'hcba: q = 8'h65; // 0xcba + 13'hcbb: q = 8'h8d; // 0xcbb + 13'hcbc: q = 8'he0; // 0xcbc + 13'hcbd: q = 8'h0d; // 0xcbd + 13'hcbe: q = 8'hf0; // 0xcbe + 13'hcbf: q = 8'h2a; // 0xcbf + 13'hcc0: q = 8'hc9; // 0xcc0 + 13'hcc1: q = 8'h0c; // 0xcc1 + 13'hcc2: q = 8'hb0; // 0xcc2 + 13'hcc3: q = 8'he2; // 0xcc3 + 13'hcc4: q = 8'ha9; // 0xcc4 + 13'hcc5: q = 8'h30; // 0xcc5 + 13'hcc6: q = 8'h85; // 0xcc6 + 13'hcc7: q = 8'h87; // 0xcc7 + 13'hcc8: q = 8'ha9; // 0xcc8 + 13'hcc9: q = 8'h20; // 0xcc9 + 13'hcca: q = 8'h85; // 0xcca + 13'hccb: q = 8'h43; // 0xccb + 13'hccc: q = 8'ha9; // 0xccc + 13'hccd: q = 8'hff; // 0xccd + 13'hcce: q = 8'h95; // 0xcce + 13'hccf: q = 8'h34; // 0xccf + 13'hcd0: q = 8'ha9; // 0xcd0 + 13'hcd1: q = 8'h28; // 0xcd1 + 13'hcd2: q = 8'h85; // 0xcd2 + 13'hcd3: q = 8'h42; // 0xcd3 + 13'hcd4: q = 8'ha5; // 0xcd4 + 13'hcd5: q = 8'h86; // 0xcd5 + 13'hcd6: q = 8'h30; // 0xcd6 + 13'hcd7: q = 8'h04; // 0xcd7 + 13'hcd8: q = 8'ha9; // 0xcd8 + 13'hcd9: q = 8'h13; // 0xcd9 + 13'hcda: q = 8'h85; // 0xcda + 13'hcdb: q = 8'hb7; // 0xcdb + 13'hcdc: q = 8'ha9; // 0xcdc + 13'hcdd: q = 8'h00; // 0xcdd + 13'hcde: q = 8'h85; // 0xcde + 13'hcdf: q = 8'hb2; // 0xcdf + 13'hce0: q = 8'h85; // 0xce0 + 13'hce1: q = 8'hb3; // 0xce1 + 13'hce2: q = 8'h85; // 0xce2 + 13'hce3: q = 8'hb4; // 0xce3 + 13'hce4: q = 8'h85; // 0xce4 + 13'hce5: q = 8'hb5; // 0xce5 + 13'hce6: q = 8'h85; // 0xce6 + 13'hce7: q = 8'hb8; // 0xce7 + 13'hce8: q = 8'h18; // 0xce8 + 13'hce9: q = 8'h60; // 0xce9 + 13'hcea: q = 8'hc9; // 0xcea + 13'hceb: q = 8'h0e; // 0xceb + 13'hcec: q = 8'h4c; // 0xcec + 13'hced: q = 8'hc2; // 0xced + 13'hcee: q = 8'h2c; // 0xcee + 13'hcef: q = 8'ha0; // 0xcef + 13'hcf0: q = 8'h00; // 0xcf0 + 13'hcf1: q = 8'ha5; // 0xcf1 + 13'hcf2: q = 8'h00; // 0xcf2 + 13'hcf3: q = 8'h29; // 0xcf3 + 13'hcf4: q = 8'h07; // 0xcf4 + 13'hcf5: q = 8'hd0; // 0xcf5 + 13'hcf6: q = 8'h14; // 0xcf6 + 13'hcf7: q = 8'ha5; // 0xcf7 + 13'hcf8: q = 8'hb7; // 0xcf8 + 13'hcf9: q = 8'hd0; // 0xcf9 + 13'hcfa: q = 8'h10; // 0xcfa + 13'hcfb: q = 8'ha5; // 0xcfb + 13'hcfc: q = 8'hdb; // 0xcfc + 13'hcfd: q = 8'hf0; // 0xcfd + 13'hcfe: q = 8'h0c; // 0xcfe + 13'hcff: q = 8'hc9; // 0xcff + 13'hd00: q = 8'h07; // 0xd00 + 13'hd01: q = 8'hd0; // 0xd01 + 13'hd02: q = 8'h09; // 0xd02 + 13'hd03: q = 8'ha5; // 0xd03 + 13'hd04: q = 8'hda; // 0xd04 + 13'hd05: q = 8'hc9; // 0xd05 + 13'hd06: q = 8'hc0; // 0xd06 + 13'hd07: q = 8'h90; // 0xd07 + 13'hd08: q = 8'h03; // 0xd08 + 13'hd09: q = 8'h84; // 0xd09 + 13'hd0a: q = 8'hdb; // 0xd0a + 13'hd0b: q = 8'h60; // 0xd0b + 13'hd0c: q = 8'hb1; // 0xd0c + 13'hd0d: q = 8'hda; // 0xd0d + 13'hd0e: q = 8'h29; // 0xd0e + 13'hd0f: q = 8'h3f; // 0xd0f + 13'hd10: q = 8'hc9; // 0xd10 + 13'hd11: q = 8'h38; // 0xd11 + 13'hd12: q = 8'h90; // 0xd12 + 13'hd13: q = 8'h40; // 0xd13 + 13'hd14: q = 8'hc9; // 0xd14 + 13'hd15: q = 8'h3f; // 0xd15 + 13'hd16: q = 8'hb0; // 0xd16 + 13'hd17: q = 8'h3c; // 0xd17 + 13'hd18: q = 8'ha9; // 0xd18 + 13'hd19: q = 8'h3f; // 0xd19 + 13'hd1a: q = 8'h45; // 0xd1a + 13'hd1b: q = 8'hef; // 0xd1b + 13'hd1c: q = 8'h91; // 0xd1c + 13'hd1d: q = 8'hda; // 0xd1d + 13'hd1e: q = 8'ha9; // 0xd1e + 13'hd1f: q = 8'h00; // 0xd1f + 13'hd20: q = 8'h85; // 0xd20 + 13'hd21: q = 8'h8b; // 0xd21 + 13'hd22: q = 8'ha9; // 0xd22 + 13'hd23: q = 8'h05; // 0xd23 + 13'hd24: q = 8'h20; // 0xd24 + 13'hd25: q = 8'hb6; // 0xd25 + 13'hd26: q = 8'h2d; // 0xd26 + 13'hd27: q = 8'ha9; // 0xd27 + 13'hd28: q = 8'hff; // 0xd28 + 13'hd29: q = 8'h85; // 0xd29 + 13'hd2a: q = 8'h3f; // 0xd2a + 13'hd2b: q = 8'ha5; // 0xd2b + 13'hd2c: q = 8'hdb; // 0xd2c + 13'hd2d: q = 8'h85; // 0xd2d + 13'hd2e: q = 8'h8b; // 0xd2e + 13'hd2f: q = 8'ha5; // 0xd2f + 13'hd30: q = 8'hda; // 0xd30 + 13'hd31: q = 8'h0a; // 0xd31 + 13'hd32: q = 8'h26; // 0xd32 + 13'hd33: q = 8'h8b; // 0xd33 + 13'hd34: q = 8'h0a; // 0xd34 + 13'hd35: q = 8'h26; // 0xd35 + 13'hd36: q = 8'h8b; // 0xd36 + 13'hd37: q = 8'h0a; // 0xd37 + 13'hd38: q = 8'h26; // 0xd38 + 13'hd39: q = 8'h8b; // 0xd39 + 13'hd3a: q = 8'h85; // 0xd3a + 13'hd3b: q = 8'h6f; // 0xd3b + 13'hd3c: q = 8'ha5; // 0xd3c + 13'hd3d: q = 8'h8b; // 0xd3d + 13'hd3e: q = 8'h29; // 0xd3e + 13'hd3f: q = 8'h1f; // 0xd3f + 13'hd40: q = 8'h49; // 0xd40 + 13'hd41: q = 8'h1f; // 0xd41 + 13'hd42: q = 8'h0a; // 0xd42 + 13'hd43: q = 8'h0a; // 0xd43 + 13'hd44: q = 8'h0a; // 0xd44 + 13'hd45: q = 8'he9; // 0xd45 + 13'hd46: q = 8'h03; // 0xd46 + 13'hd47: q = 8'h85; // 0xd47 + 13'hd48: q = 8'h5f; // 0xd48 + 13'hd49: q = 8'he6; // 0xd49 + 13'hd4a: q = 8'hda; // 0xd4a + 13'hd4b: q = 8'hd0; // 0xd4b + 13'hd4c: q = 8'h02; // 0xd4c + 13'hd4d: q = 8'he6; // 0xd4d + 13'hd4e: q = 8'hdb; // 0xd4e + 13'hd4f: q = 8'ha9; // 0xd4f + 13'hd50: q = 8'h13; // 0xd50 + 13'hd51: q = 8'h85; // 0xd51 + 13'hd52: q = 8'hb2; // 0xd52 + 13'hd53: q = 8'h60; // 0xd53 + 13'hd54: q = 8'he6; // 0xd54 + 13'hd55: q = 8'hda; // 0xd55 + 13'hd56: q = 8'hd0; // 0xd56 + 13'hd57: q = 8'ha3; // 0xd57 + 13'hd58: q = 8'he6; // 0xd58 + 13'hd59: q = 8'hdb; // 0xd59 + 13'hd5a: q = 8'hd0; // 0xd5a + 13'hd5b: q = 8'hb0; // 0xd5b + 13'hd5c: q = 8'ha9; // 0xd5c + 13'hd5d: q = 8'h07; // 0xd5d + 13'hd5e: q = 8'h20; // 0xd5e + 13'hd5f: q = 8'hd5; // 0xd5f + 13'hd60: q = 8'h37; // 0xd60 + 13'hd61: q = 8'ha0; // 0xd61 + 13'hd62: q = 8'h00; // 0xd62 + 13'hd63: q = 8'ha2; // 0xd63 + 13'hd64: q = 8'h5c; // 0xd64 + 13'hd65: q = 8'h86; // 0xd65 + 13'hd66: q = 8'h91; // 0xd66 + 13'hd67: q = 8'ha9; // 0xd67 + 13'hd68: q = 8'h05; // 0xd68 + 13'hd69: q = 8'h85; // 0xd69 + 13'hd6a: q = 8'h92; // 0xd6a + 13'hd6b: q = 8'hb9; // 0xd6b + 13'hd6c: q = 8'h04; // 0xd6c + 13'hd6d: q = 8'h00; // 0xd6d + 13'hd6e: q = 8'h84; // 0xd6e + 13'hd6f: q = 8'h8d; // 0xd6f + 13'hd70: q = 8'h38; // 0xd70 + 13'hd71: q = 8'h20; // 0xd71 + 13'hd72: q = 8'h4f; // 0xd72 + 13'hd73: q = 8'h38; // 0xd73 + 13'hd74: q = 8'ha4; // 0xd74 + 13'hd75: q = 8'h8d; // 0xd75 + 13'hd76: q = 8'hb9; // 0xd76 + 13'hd77: q = 8'h03; // 0xd77 + 13'hd78: q = 8'h00; // 0xd78 + 13'hd79: q = 8'h20; // 0xd79 + 13'hd7a: q = 8'h4f; // 0xd7a + 13'hd7b: q = 8'h38; // 0xd7b + 13'hd7c: q = 8'ha4; // 0xd7c + 13'hd7d: q = 8'h8d; // 0xd7d + 13'hd7e: q = 8'hb9; // 0xd7e + 13'hd7f: q = 8'h02; // 0xd7f + 13'hd80: q = 8'h00; // 0xd80 + 13'hd81: q = 8'h18; // 0xd81 + 13'hd82: q = 8'h20; // 0xd82 + 13'hd83: q = 8'h4f; // 0xd83 + 13'hd84: q = 8'h38; // 0xd84 + 13'hd85: q = 8'ha9; // 0xd85 + 13'hd86: q = 8'h00; // 0xd86 + 13'hd87: q = 8'h20; // 0xd87 + 13'hd88: q = 8'h36; // 0xd88 + 13'hd89: q = 8'h38; // 0xd89 + 13'hd8a: q = 8'ha4; // 0xd8a + 13'hd8b: q = 8'h8d; // 0xd8b + 13'hd8c: q = 8'h20; // 0xd8c + 13'hd8d: q = 8'h33; // 0xd8d + 13'hd8e: q = 8'h38; // 0xd8e + 13'hd8f: q = 8'he6; // 0xd8f + 13'hd90: q = 8'h8d; // 0xd90 + 13'hd91: q = 8'ha4; // 0xd91 + 13'hd92: q = 8'h8d; // 0xd92 + 13'hd93: q = 8'h20; // 0xd93 + 13'hd94: q = 8'h33; // 0xd94 + 13'hd95: q = 8'h38; // 0xd95 + 13'hd96: q = 8'he6; // 0xd96 + 13'hd97: q = 8'h8d; // 0xd97 + 13'hd98: q = 8'ha4; // 0xd98 + 13'hd99: q = 8'h8d; // 0xd99 + 13'hd9a: q = 8'h20; // 0xd9a + 13'hd9b: q = 8'h33; // 0xd9b + 13'hd9c: q = 8'h38; // 0xd9c + 13'hd9d: q = 8'ha5; // 0xd9d + 13'hd9e: q = 8'h91; // 0xd9e + 13'hd9f: q = 8'h29; // 0xd9f + 13'hda0: q = 8'h1f; // 0xda0 + 13'hda1: q = 8'h09; // 0xda1 + 13'hda2: q = 8'h40; // 0xda2 + 13'hda3: q = 8'haa; // 0xda3 + 13'hda4: q = 8'hca; // 0xda4 + 13'hda5: q = 8'ha4; // 0xda5 + 13'hda6: q = 8'h8d; // 0xda6 + 13'hda7: q = 8'hc8; // 0xda7 + 13'hda8: q = 8'hc0; // 0xda8 + 13'hda9: q = 8'h18; // 0xda9 + 13'hdaa: q = 8'h90; // 0xdaa + 13'hdab: q = 8'hb9; // 0xdab + 13'hdac: q = 8'h60; // 0xdac + 13'hdad: q = 8'h5f; // 0xdad + 13'hdae: q = 8'h86; // 0xdae + 13'hdaf: q = 8'h8d; // 0xdaf + 13'hdb0: q = 8'ha6; // 0xdb0 + 13'hdb1: q = 8'h88; // 0xdb1 + 13'hdb2: q = 8'hd6; // 0xdb2 + 13'hdb3: q = 8'h94; // 0xdb3 + 13'hdb4: q = 8'ha6; // 0xdb4 + 13'hdb5: q = 8'h8d; // 0xdb5 + 13'hdb6: q = 8'ha4; // 0xdb6 + 13'hdb7: q = 8'h86; // 0xdb7 + 13'hdb8: q = 8'h30; // 0xdb8 + 13'hdb9: q = 8'h50; // 0xdb9 + 13'hdba: q = 8'h86; // 0xdba + 13'hdbb: q = 8'h8d; // 0xdbb + 13'hdbc: q = 8'hf8; // 0xdbc + 13'hdbd: q = 8'ha6; // 0xdbd + 13'hdbe: q = 8'h88; // 0xdbe + 13'hdbf: q = 8'h18; // 0xdbf + 13'hdc0: q = 8'h75; // 0xdc0 + 13'hdc1: q = 8'ha7; // 0xdc1 + 13'hdc2: q = 8'h95; // 0xdc2 + 13'hdc3: q = 8'ha7; // 0xdc3 + 13'hdc4: q = 8'hb5; // 0xdc4 + 13'hdc5: q = 8'ha9; // 0xdc5 + 13'hdc6: q = 8'h65; // 0xdc6 + 13'hdc7: q = 8'h8b; // 0xdc7 + 13'hdc8: q = 8'h95; // 0xdc8 + 13'hdc9: q = 8'ha9; // 0xdc9 + 13'hdca: q = 8'h90; // 0xdca + 13'hdcb: q = 8'h0d; // 0xdcb + 13'hdcc: q = 8'hb5; // 0xdcc + 13'hdcd: q = 8'ha1; // 0xdcd + 13'hdce: q = 8'he9; // 0xdce + 13'hdcf: q = 8'h02; // 0xdcf + 13'hdd0: q = 8'h95; // 0xdd0 + 13'hdd1: q = 8'ha1; // 0xdd1 + 13'hdd2: q = 8'hb5; // 0xdd2 + 13'hdd3: q = 8'hab; // 0xdd3 + 13'hdd4: q = 8'h18; // 0xdd4 + 13'hdd5: q = 8'h69; // 0xdd5 + 13'hdd6: q = 8'h01; // 0xdd6 + 13'hdd7: q = 8'h95; // 0xdd7 + 13'hdd8: q = 8'hab; // 0xdd8 + 13'hdd9: q = 8'hd8; // 0xdd9 + 13'hdda: q = 8'ha6; // 0xdda + 13'hddb: q = 8'h88; // 0xddb + 13'hddc: q = 8'hb5; // 0xddc + 13'hddd: q = 8'ha9; // 0xddd + 13'hdde: q = 8'hd5; // 0xdde + 13'hddf: q = 8'had; // 0xddf + 13'hde0: q = 8'hb5; // 0xde0 + 13'hde1: q = 8'hab; // 0xde1 + 13'hde2: q = 8'hf5; // 0xde2 + 13'hde3: q = 8'haf; // 0xde3 + 13'hde4: q = 8'h90; // 0xde4 + 13'hde5: q = 8'h22; // 0xde5 + 13'hde6: q = 8'h20; // 0xde6 + 13'hde7: q = 8'hb3; // 0xde7 + 13'hde8: q = 8'h21; // 0xde8 + 13'hde9: q = 8'hf8; // 0xde9 + 13'hdea: q = 8'h18; // 0xdea + 13'hdeb: q = 8'h75; // 0xdeb + 13'hdec: q = 8'had; // 0xdec + 13'hded: q = 8'h95; // 0xded + 13'hdee: q = 8'had; // 0xdee + 13'hdef: q = 8'hb9; // 0xdef + 13'hdf0: q = 8'hc0; // 0xdf0 + 13'hdf1: q = 8'h21; // 0xdf1 + 13'hdf2: q = 8'h75; // 0xdf2 + 13'hdf3: q = 8'haf; // 0xdf3 + 13'hdf4: q = 8'h95; // 0xdf4 + 13'hdf5: q = 8'haf; // 0xdf5 + 13'hdf6: q = 8'hd8; // 0xdf6 + 13'hdf7: q = 8'hb5; // 0xdf7 + 13'hdf8: q = 8'ha4; // 0xdf8 + 13'hdf9: q = 8'hc9; // 0xdf9 + 13'hdfa: q = 8'h06; // 0xdfa + 13'hdfb: q = 8'hf0; // 0xdfb + 13'hdfc: q = 8'h0b; // 0xdfc + 13'hdfd: q = 8'hb0; // 0xdfd + 13'hdfe: q = 8'hfe; // 0xdfe + 13'hdff: q = 8'hf6; // 0xdff + 13'he00: q = 8'ha4; // 0xe00 + 13'he01: q = 8'ha9; // 0xe01 + 13'he02: q = 8'h11; // 0xe02 + 13'he03: q = 8'h85; // 0xe03 + 13'he04: q = 8'hb6; // 0xe04 + 13'he05: q = 8'h20; // 0xe05 + 13'he06: q = 8'hb8; // 0xe06 + 13'he07: q = 8'h26; // 0xe07 + 13'he08: q = 8'ha6; // 0xe08 + 13'he09: q = 8'h8d; // 0xe09 + 13'he0a: q = 8'h60; // 0xe0a + 13'he0b: q = 8'ha5; // 0xe0b + 13'he0c: q = 8'h40; // 0xe0c + 13'he0d: q = 8'h45; // 0xe0d + 13'he0e: q = 8'hef; // 0xe0e + 13'he0f: q = 8'hc9; // 0xe0f + 13'he10: q = 8'h34; // 0xe10 + 13'he11: q = 8'h90; // 0xe11 + 13'he12: q = 8'h03; // 0xe12 + 13'he13: q = 8'h4c; // 0xe13 + 13'he14: q = 8'h94; // 0xe14 + 13'he15: q = 8'h2e; // 0xe15 + 13'he16: q = 8'hc9; // 0xe16 + 13'he17: q = 8'h30; // 0xe17 + 13'he18: q = 8'hb0; // 0xe18 + 13'he19: q = 8'h5d; // 0xe19 + 13'he1a: q = 8'ha5; // 0xe1a + 13'he1b: q = 8'h70; // 0xe1b + 13'he1c: q = 8'h45; // 0xe1c + 13'he1d: q = 8'hf0; // 0xe1d + 13'he1e: q = 8'hc9; // 0xe1e + 13'he1f: q = 8'hf8; // 0xe1f + 13'he20: q = 8'h90; // 0xe20 + 13'he21: q = 8'h04; // 0xe21 + 13'he22: q = 8'ha5; // 0xe22 + 13'he23: q = 8'h00; // 0xe23 + 13'he24: q = 8'hf0; // 0xe24 + 13'he25: q = 8'h03; // 0xe25 + 13'he26: q = 8'h4c; // 0xe26 + 13'he27: q = 8'hc5; // 0xe27 + 13'he28: q = 8'h2e; // 0xe28 + 13'he29: q = 8'ha6; // 0xe29 + 13'he2a: q = 8'h88; // 0xe2a + 13'he2b: q = 8'hb5; // 0xe2b + 13'he2c: q = 8'h9a; // 0xe2c + 13'he2d: q = 8'hc9; // 0xe2d + 13'he2e: q = 8'h0b; // 0xe2e + 13'he2f: q = 8'hb0; // 0xe2f + 13'he30: q = 8'hf5; // 0xe30 + 13'he31: q = 8'had; // 0xe31 + 13'he32: q = 8'h0a; // 0xe32 + 13'he33: q = 8'h10; // 0xe33 + 13'he34: q = 8'h29; // 0xe34 + 13'he35: q = 8'h03; // 0xe35 + 13'he36: q = 8'hd0; // 0xe36 + 13'he37: q = 8'hee; // 0xe37 + 13'he38: q = 8'ha9; // 0xe38 + 13'he39: q = 8'h14; // 0xe39 + 13'he3a: q = 8'h85; // 0xe3a + 13'he3b: q = 8'hb8; // 0xe3b + 13'he3c: q = 8'ha9; // 0xe3c + 13'he3d: q = 8'h30; // 0xe3d + 13'he3e: q = 8'h45; // 0xe3e + 13'he3f: q = 8'hef; // 0xe3f + 13'he40: q = 8'h85; // 0xe40 + 13'he41: q = 8'h40; // 0xe41 + 13'he42: q = 8'hb5; // 0xe42 + 13'he43: q = 8'hab; // 0xe43 + 13'he44: q = 8'hc9; // 0xe44 + 13'he45: q = 8'h02; // 0xe45 + 13'he46: q = 8'h90; // 0xe46 + 13'he47: q = 8'h12; // 0xe47 + 13'he48: q = 8'had; // 0xe48 + 13'he49: q = 8'h0a; // 0xe49 + 13'he4a: q = 8'h10; // 0xe4a + 13'he4b: q = 8'h29; // 0xe4b + 13'he4c: q = 8'h03; // 0xe4c + 13'he4d: q = 8'hf0; // 0xe4d + 13'he4e: q = 8'h0b; // 0xe4e + 13'he4f: q = 8'ha9; // 0xe4f + 13'he50: q = 8'h02; // 0xe50 + 13'he51: q = 8'h2c; // 0xe51 + 13'he52: q = 8'h0a; // 0xe52 + 13'he53: q = 8'h10; // 0xe53 + 13'he54: q = 8'h10; // 0xe54 + 13'he55: q = 8'h0d; // 0xe55 + 13'he56: q = 8'ha9; // 0xe56 + 13'he57: q = 8'hfe; // 0xe57 + 13'he58: q = 8'hd0; // 0xe58 + 13'he59: q = 8'h09; // 0xe59 + 13'he5a: q = 8'ha9; // 0xe5a + 13'he5b: q = 8'h01; // 0xe5b + 13'he5c: q = 8'h2c; // 0xe5c + 13'he5d: q = 8'h0a; // 0xe5d + 13'he5e: q = 8'h10; // 0xe5e + 13'he5f: q = 8'h10; // 0xe5f + 13'he60: q = 8'h02; // 0xe60 + 13'he61: q = 8'ha9; // 0xe61 + 13'he62: q = 8'hff; // 0xe62 + 13'he63: q = 8'h85; // 0xe63 + 13'he64: q = 8'h50; // 0xe64 + 13'he65: q = 8'ha9; // 0xe65 + 13'he66: q = 8'h00; // 0xe66 + 13'he67: q = 8'h85; // 0xe67 + 13'he68: q = 8'h60; // 0xe68 + 13'he69: q = 8'h85; // 0xe69 + 13'he6a: q = 8'h80; // 0xe6a + 13'he6b: q = 8'had; // 0xe6b + 13'he6c: q = 8'h0a; // 0xe6c + 13'he6d: q = 8'h10; // 0xe6d + 13'he6e: q = 8'h29; // 0xe6e + 13'he6f: q = 8'h78; // 0xe6f + 13'he70: q = 8'h18; // 0xe70 + 13'he71: q = 8'h69; // 0xe71 + 13'he72: q = 8'h70; // 0xe72 + 13'he73: q = 8'h45; // 0xe73 + 13'he74: q = 8'hf0; // 0xe74 + 13'he75: q = 8'h85; // 0xe75 + 13'he76: q = 8'h70; // 0xe76 + 13'he77: q = 8'ha5; // 0xe77 + 13'he78: q = 8'h43; // 0xe78 + 13'he79: q = 8'h29; // 0xe79 + 13'he7a: q = 8'haf; // 0xe7a + 13'he7b: q = 8'hd0; // 0xe7b + 13'he7c: q = 8'h1d; // 0xe7c + 13'he7d: q = 8'ha5; // 0xe7d + 13'he7e: q = 8'h60; // 0xe7e + 13'he7f: q = 8'ha4; // 0xe7f + 13'he80: q = 8'hef; // 0xe80 + 13'he81: q = 8'hf0; // 0xe81 + 13'he82: q = 8'h06; // 0xe82 + 13'he83: q = 8'h38; // 0xe83 + 13'he84: q = 8'he5; // 0xe84 + 13'he85: q = 8'h50; // 0xe85 + 13'he86: q = 8'h4c; // 0xe86 + 13'he87: q = 8'h8c; // 0xe87 + 13'he88: q = 8'h2e; // 0xe88 + 13'he89: q = 8'h18; // 0xe89 + 13'he8a: q = 8'h65; // 0xe8a + 13'he8b: q = 8'h50; // 0xe8b + 13'he8c: q = 8'h85; // 0xe8c + 13'he8d: q = 8'h60; // 0xe8d + 13'he8e: q = 8'h85; // 0xe8e + 13'he8f: q = 8'h8b; // 0xe8f + 13'he90: q = 8'hd0; // 0xe90 + 13'he91: q = 8'h0b; // 0xe91 + 13'he92: q = 8'hf0; // 0xe92 + 13'he93: q = 8'h06; // 0xe93 + 13'he94: q = 8'h45; // 0xe94 + 13'he95: q = 8'hef; // 0xe95 + 13'he96: q = 8'hc9; // 0xe96 + 13'he97: q = 8'hfa; // 0xe97 + 13'he98: q = 8'hb0; // 0xe98 + 13'he99: q = 8'h2b; // 0xe99 + 13'he9a: q = 8'h4c; // 0xe9a + 13'he9b: q = 8'he8; // 0xe9b + 13'he9c: q = 8'h20; // 0xe9c + 13'he9d: q = 8'ha5; // 0xe9d + 13'he9e: q = 8'h00; // 0xe9e + 13'he9f: q = 8'h29; // 0xe9f + 13'hea0: q = 8'h03; // 0xea0 + 13'hea1: q = 8'hd0; // 0xea1 + 13'hea2: q = 8'h0d; // 0xea2 + 13'hea3: q = 8'ha5; // 0xea3 + 13'hea4: q = 8'h40; // 0xea4 + 13'hea5: q = 8'h18; // 0xea5 + 13'hea6: q = 8'h69; // 0xea6 + 13'hea7: q = 8'h01; // 0xea7 + 13'hea8: q = 8'h29; // 0xea8 + 13'hea9: q = 8'h03; // 0xea9 + 13'heaa: q = 8'h09; // 0xeaa + 13'heab: q = 8'h30; // 0xeab + 13'heac: q = 8'h45; // 0xeac + 13'head: q = 8'hef; // 0xead + 13'heae: q = 8'h85; // 0xeae + 13'heaf: q = 8'h40; // 0xeaf + 13'heb0: q = 8'ha0; // 0xeb0 + 13'heb1: q = 8'h00; // 0xeb1 + 13'heb2: q = 8'ha5; // 0xeb2 + 13'heb3: q = 8'h70; // 0xeb3 + 13'heb4: q = 8'h20; // 0xeb4 + 13'heb5: q = 8'h2b; // 0xeb5 + 13'heb6: q = 8'h2c; // 0xeb6 + 13'heb7: q = 8'hc9; // 0xeb7 + 13'heb8: q = 8'h40; // 0xeb8 + 13'heb9: q = 8'hb0; // 0xeb9 + 13'heba: q = 8'h0a; // 0xeba + 13'hebb: q = 8'hc9; // 0xebb + 13'hebc: q = 8'h3c; // 0xebc + 13'hebd: q = 8'h90; // 0xebd + 13'hebe: q = 8'h06; // 0xebe + 13'hebf: q = 8'h29; // 0xebf + 13'hec0: q = 8'hfb; // 0xec0 + 13'hec1: q = 8'h45; // 0xec1 + 13'hec2: q = 8'hef; // 0xec2 + 13'hec3: q = 8'h91; // 0xec3 + 13'hec4: q = 8'h32; // 0xec4 + 13'hec5: q = 8'h60; // 0xec5 + 13'hec6: q = 8'ha5; // 0xec6 + 13'hec7: q = 8'h72; // 0xec7 + 13'hec8: q = 8'ha4; // 0xec8 + 13'hec9: q = 8'hef; // 0xec9 + 13'heca: q = 8'hf0; // 0xeca + 13'hecb: q = 8'h05; // 0xecb + 13'hecc: q = 8'h18; // 0xecc + 13'hecd: q = 8'h69; // 0xecd + 13'hece: q = 8'h07; // 0xece + 13'hecf: q = 8'h49; // 0xecf + 13'hed0: q = 8'hff; // 0xed0 + 13'hed1: q = 8'hc9; // 0xed1 + 13'hed2: q = 8'hf3; // 0xed2 + 13'hed3: q = 8'hb0; // 0xed3 + 13'hed4: q = 8'h75; // 0xed4 + 13'hed5: q = 8'ha9; // 0xed5 + 13'hed6: q = 8'h04; // 0xed6 + 13'hed7: q = 8'h45; // 0xed7 + 13'hed8: q = 8'hf0; // 0xed8 + 13'hed9: q = 8'h18; // 0xed9 + 13'heda: q = 8'h65; // 0xeda + 13'hedb: q = 8'h73; // 0xedb + 13'hedc: q = 8'hc5; // 0xedc + 13'hedd: q = 8'h72; // 0xedd + 13'hede: q = 8'hd0; // 0xede + 13'hedf: q = 8'h25; // 0xedf + 13'hee0: q = 8'ha5; // 0xee0 + 13'hee1: q = 8'h43; // 0xee1 + 13'hee2: q = 8'h29; // 0xee2 + 13'hee3: q = 8'haf; // 0xee3 + 13'hee4: q = 8'hd0; // 0xee4 + 13'hee5: q = 8'h18; // 0xee5 + 13'hee6: q = 8'had; // 0xee6 + 13'hee7: q = 8'h01; // 0xee7 + 13'hee8: q = 8'h0c; // 0xee8 + 13'hee9: q = 8'ha6; // 0xee9 + 13'heea: q = 8'h86; // 0xeea + 13'heeb: q = 8'h10; // 0xeeb + 13'heec: q = 8'h03; // 0xeec + 13'heed: q = 8'had; // 0xeed + 13'heee: q = 8'h0a; // 0xeee + 13'heef: q = 8'h10; // 0xeef + 13'hef0: q = 8'hc0; // 0xef0 + 13'hef1: q = 8'hc0; // 0xef1 + 13'hef2: q = 8'hd0; // 0xef2 + 13'hef3: q = 8'h06; // 0xef3 + 13'hef4: q = 8'h29; // 0xef4 + 13'hef5: q = 8'h08; // 0xef5 + 13'hef6: q = 8'hf0; // 0xef6 + 13'hef7: q = 8'h09; // 0xef7 + 13'hef8: q = 8'hd0; // 0xef8 + 13'hef9: q = 8'h04; // 0xef9 + 13'hefa: q = 8'h29; // 0xefa + 13'hefb: q = 8'h04; // 0xefb + 13'hefc: q = 8'hf0; // 0xefc + 13'hefd: q = 8'h03; // 0xefd + 13'hefe: q = 8'h4c; // 0xefe + 13'heff: q = 8'h49; // 0xeff + 13'hf00: q = 8'h30; // 0xf00 + 13'hf01: q = 8'ha9; // 0xf01 + 13'hf02: q = 8'h0b; // 0xf02 + 13'hf03: q = 8'h85; // 0xf03 + 13'hf04: q = 8'hb4; // 0xf04 + 13'hf05: q = 8'ha5; // 0xf05 + 13'hf06: q = 8'h62; // 0xf06 + 13'hf07: q = 8'h85; // 0xf07 + 13'hf08: q = 8'h8b; // 0xf08 + 13'hf09: q = 8'ha9; // 0xf09 + 13'hf0a: q = 8'h07; // 0xf0a + 13'hf0b: q = 8'h45; // 0xf0b + 13'hf0c: q = 8'hf4; // 0xf0c + 13'hf0d: q = 8'ha4; // 0xf0d + 13'hf0e: q = 8'h72; // 0xf0e + 13'hf0f: q = 8'h18; // 0xf0f + 13'hf10: q = 8'h65; // 0xf10 + 13'hf11: q = 8'h72; // 0xf11 + 13'hf12: q = 8'h85; // 0xf12 + 13'hf13: q = 8'h72; // 0xf13 + 13'hf14: q = 8'h84; // 0xf14 + 13'hf15: q = 8'h8d; // 0xf15 + 13'hf16: q = 8'ha9; // 0xf16 + 13'hf17: q = 8'h01; // 0xf17 + 13'hf18: q = 8'h45; // 0xf18 + 13'hf19: q = 8'hf3; // 0xf19 + 13'hf1a: q = 8'h18; // 0xf1a + 13'hf1b: q = 8'h65; // 0xf1b + 13'hf1c: q = 8'h8d; // 0xf1c + 13'hf1d: q = 8'ha0; // 0xf1d + 13'hf1e: q = 8'h00; // 0xf1e + 13'hf1f: q = 8'h20; // 0xf1f + 13'hf20: q = 8'h2b; // 0xf20 + 13'hf21: q = 8'h2c; // 0xf21 + 13'hf22: q = 8'hf0; // 0xf22 + 13'hf23: q = 8'h29; // 0xf23 + 13'hf24: q = 8'h29; // 0xf24 + 13'hf25: q = 8'h3f; // 0xf25 + 13'hf26: q = 8'hc9; // 0xf26 + 13'hf27: q = 8'h38; // 0xf27 + 13'hf28: q = 8'h90; // 0xf28 + 13'hf29: q = 8'h20; // 0xf29 + 13'hf2a: q = 8'he9; // 0xf2a + 13'hf2b: q = 8'h01; // 0xf2b + 13'hf2c: q = 8'hc9; // 0xf2c + 13'hf2d: q = 8'h3b; // 0xf2d + 13'hf2e: q = 8'hf0; // 0xf2e + 13'hf2f: q = 8'h04; // 0xf2f + 13'hf30: q = 8'hc9; // 0xf30 + 13'hf31: q = 8'h37; // 0xf31 + 13'hf32: q = 8'hd0; // 0xf32 + 13'hf33: q = 8'h0d; // 0xf33 + 13'hf34: q = 8'ha9; // 0xf34 + 13'hf35: q = 8'h00; // 0xf35 + 13'hf36: q = 8'h85; // 0xf36 + 13'hf37: q = 8'h8b; // 0xf37 + 13'hf38: q = 8'ha9; // 0xf38 + 13'hf39: q = 8'h01; // 0xf39 + 13'hf3a: q = 8'h20; // 0xf3a + 13'hf3b: q = 8'hb6; // 0xf3b + 13'hf3c: q = 8'h2d; // 0xf3c + 13'hf3d: q = 8'ha0; // 0xf3d + 13'hf3e: q = 8'h00; // 0xf3e + 13'hf3f: q = 8'ha5; // 0xf3f + 13'hf40: q = 8'hef; // 0xf40 + 13'hf41: q = 8'h45; // 0xf41 + 13'hf42: q = 8'hef; // 0xf42 + 13'hf43: q = 8'h91; // 0xf43 + 13'hf44: q = 8'h32; // 0xf44 + 13'hf45: q = 8'hd0; // 0xf45 + 13'hf46: q = 8'h03; // 0xf46 + 13'hf47: q = 8'h20; // 0xf47 + 13'hf48: q = 8'h91; // 0xf48 + 13'hf49: q = 8'h2b; // 0xf49 + 13'hf4a: q = 8'h4c; // 0xf4a + 13'hf4b: q = 8'h46; // 0xf4b + 13'hf4c: q = 8'h30; // 0xf4c + 13'hf4d: q = 8'ha2; // 0xf4d + 13'hf4e: q = 8'h0d; // 0xf4e + 13'hf4f: q = 8'hb5; // 0xf4f + 13'hf50: q = 8'h34; // 0xf50 + 13'hf51: q = 8'hc9; // 0xf51 + 13'hf52: q = 8'h76; // 0xf52 + 13'hf53: q = 8'h90; // 0xf53 + 13'hf54: q = 8'h08; // 0xf54 + 13'hf55: q = 8'hc9; // 0xf55 + 13'hf56: q = 8'hb9; // 0xf56 + 13'hf57: q = 8'h90; // 0xf57 + 13'hf58: q = 8'h69; // 0xf58 + 13'hf59: q = 8'hc9; // 0xf59 + 13'hf5a: q = 8'hf8; // 0xf5a + 13'hf5b: q = 8'hb0; // 0xf5b + 13'hf5c: q = 8'h65; // 0xf5c + 13'hf5d: q = 8'hb5; // 0xf5d + 13'hf5e: q = 8'h64; // 0xf5e + 13'hf5f: q = 8'h45; // 0xf5f + 13'hf60: q = 8'hf0; // 0xf60 + 13'hf61: q = 8'hc9; // 0xf61 + 13'hf62: q = 8'hf8; // 0xf62 + 13'hf63: q = 8'hb0; // 0xf63 + 13'hf64: q = 8'h5d; // 0xf64 + 13'hf65: q = 8'h45; // 0xf65 + 13'hf66: q = 8'hf0; // 0xf66 + 13'hf67: q = 8'h38; // 0xf67 + 13'hf68: q = 8'he5; // 0xf68 + 13'hf69: q = 8'h72; // 0xf69 + 13'hf6a: q = 8'h20; // 0xf6a + 13'hf6b: q = 8'h2b; // 0xf6b + 13'hf6c: q = 8'h38; // 0xf6c + 13'hf6d: q = 8'ha8; // 0xf6d + 13'hf6e: q = 8'he0; // 0xf6e + 13'hf6f: q = 8'h0c; // 0xf6f + 13'hf70: q = 8'hd0; // 0xf70 + 13'hf71: q = 8'h16; // 0xf71 + 13'hf72: q = 8'hb5; // 0xf72 + 13'hf73: q = 8'h34; // 0xf73 + 13'hf74: q = 8'h45; // 0xf74 + 13'hf75: q = 8'hef; // 0xf75 + 13'hf76: q = 8'hc9; // 0xf76 + 13'hf77: q = 8'h20; // 0xf77 + 13'hf78: q = 8'hb0; // 0xf78 + 13'hf79: q = 8'h0e; // 0xf79 + 13'hf7a: q = 8'ha5; // 0xf7a + 13'hf7b: q = 8'h80; // 0xf7b + 13'hf7c: q = 8'h45; // 0xf7c + 13'hf7d: q = 8'hf0; // 0xf7d + 13'hf7e: q = 8'hc9; // 0xf7e + 13'hf7f: q = 8'h04; // 0xf7f + 13'hf80: q = 8'h90; // 0xf80 + 13'hf81: q = 8'h06; // 0xf81 + 13'hf82: q = 8'hc0; // 0xf82 + 13'hf83: q = 8'h07; // 0xf83 + 13'hf84: q = 8'hb0; // 0xf84 + 13'hf85: q = 8'h3c; // 0xf85 + 13'hf86: q = 8'h90; // 0xf86 + 13'hf87: q = 8'h04; // 0xf87 + 13'hf88: q = 8'hc0; // 0xf88 + 13'hf89: q = 8'h05; // 0xf89 + 13'hf8a: q = 8'hb0; // 0xf8a + 13'hf8b: q = 8'h36; // 0xf8b + 13'hf8c: q = 8'hb5; // 0xf8c + 13'hf8d: q = 8'h54; // 0xf8d + 13'hf8e: q = 8'h38; // 0xf8e + 13'hf8f: q = 8'he5; // 0xf8f + 13'hf90: q = 8'h62; // 0xf90 + 13'hf91: q = 8'h20; // 0xf91 + 13'hf92: q = 8'h2b; // 0xf92 + 13'hf93: q = 8'h38; // 0xf93 + 13'hf94: q = 8'ha8; // 0xf94 + 13'hf95: q = 8'he0; // 0xf95 + 13'hf96: q = 8'h0d; // 0xf96 + 13'hf97: q = 8'hf0; // 0xf97 + 13'hf98: q = 8'h25; // 0xf98 + 13'hf99: q = 8'he0; // 0xf99 + 13'hf9a: q = 8'h0c; // 0xf9a + 13'hf9b: q = 8'h90; // 0xf9b + 13'hf9c: q = 8'h60; // 0xf9c + 13'hf9d: q = 8'hb5; // 0xf9d + 13'hf9e: q = 8'h34; // 0xf9e + 13'hf9f: q = 8'h45; // 0xf9f + 13'hfa0: q = 8'hef; // 0xfa0 + 13'hfa1: q = 8'hc9; // 0xfa1 + 13'hfa2: q = 8'h20; // 0xfa2 + 13'hfa3: q = 8'hb0; // 0xfa3 + 13'hfa4: q = 8'h10; // 0xfa4 + 13'hfa5: q = 8'hc0; // 0xfa5 + 13'hfa6: q = 8'h06; // 0xfa6 + 13'hfa7: q = 8'hb0; // 0xfa7 + 13'hfa8: q = 8'h19; // 0xfa8 + 13'hfa9: q = 8'ha0; // 0xfa9 + 13'hfaa: q = 8'h02; // 0xfaa + 13'hfab: q = 8'ha9; // 0xfab + 13'hfac: q = 8'h04; // 0xfac + 13'hfad: q = 8'hc5; // 0xfad + 13'hfae: q = 8'h80; // 0xfae + 13'hfaf: q = 8'hf0; // 0xfaf + 13'hfb0: q = 8'h0a; // 0xfb0 + 13'hfb1: q = 8'h85; // 0xfb1 + 13'hfb2: q = 8'h80; // 0xfb2 + 13'hfb3: q = 8'hd0; // 0xfb3 + 13'hfb4: q = 8'h95; // 0xfb4 + 13'hfb5: q = 8'hc0; // 0xfb5 + 13'hfb6: q = 8'h0a; // 0xfb6 + 13'hfb7: q = 8'hb0; // 0xfb7 + 13'hfb8: q = 8'h09; // 0xfb8 + 13'hfb9: q = 8'ha0; // 0xfb9 + 13'hfba: q = 8'h10; // 0xfba + 13'hfbb: q = 8'h4c; // 0xfbb + 13'hfbc: q = 8'h37; // 0xfbc + 13'hfbd: q = 8'h30; // 0xfbd + 13'hfbe: q = 8'hc0; // 0xfbe + 13'hfbf: q = 8'h0a; // 0xfbf + 13'hfc0: q = 8'h90; // 0xfc0 + 13'hfc1: q = 8'h03; // 0xfc1 + 13'hfc2: q = 8'h4c; // 0xfc2 + 13'hfc3: q = 8'h31; // 0xfc3 + 13'hfc4: q = 8'h30; // 0xfc4 + 13'hfc5: q = 8'ha0; // 0xfc5 + 13'hfc6: q = 8'hb6; // 0xfc6 + 13'hfc7: q = 8'h84; // 0xfc7 + 13'hfc8: q = 8'hd7; // 0xfc8 + 13'hfc9: q = 8'ha0; // 0xfc9 + 13'hfca: q = 8'h03; // 0xfca + 13'hfcb: q = 8'ha5; // 0xfcb + 13'hfcc: q = 8'h71; // 0xfcc + 13'hfcd: q = 8'h38; // 0xfcd + 13'hfce: q = 8'he5; // 0xfce + 13'hfcf: q = 8'h73; // 0xfcf + 13'hfd0: q = 8'h20; // 0xfd0 + 13'hfd1: q = 8'h2b; // 0xfd1 + 13'hfd2: q = 8'h38; // 0xfd2 + 13'hfd3: q = 8'hc9; // 0xfd3 + 13'hfd4: q = 8'h40; // 0xfd4 + 13'hfd5: q = 8'hb0; // 0xfd5 + 13'hfd6: q = 8'h0c; // 0xfd6 + 13'hfd7: q = 8'he6; // 0xfd7 + 13'hfd8: q = 8'hd7; // 0xfd8 + 13'hfd9: q = 8'ha0; // 0xfd9 + 13'hfda: q = 8'h09; // 0xfda + 13'hfdb: q = 8'hc9; // 0xfdb + 13'hfdc: q = 8'h16; // 0xfdc + 13'hfdd: q = 8'h90; // 0xfdd + 13'hfde: q = 8'h04; // 0xfde + 13'hfdf: q = 8'he6; // 0xfdf + 13'hfe0: q = 8'hd7; // 0xfe0 + 13'hfe1: q = 8'ha0; // 0xfe1 + 13'hfe2: q = 8'h06; // 0xfe2 + 13'hfe3: q = 8'ha9; // 0xfe3 + 13'hfe4: q = 8'h80; // 0xfe4 + 13'hfe5: q = 8'h85; // 0xfe5 + 13'hfe6: q = 8'h9f; // 0xfe6 + 13'hfe7: q = 8'h85; // 0xfe7 + 13'hfe8: q = 8'ha1; // 0xfe8 + 13'hfe9: q = 8'ha9; // 0xfe9 + 13'hfea: q = 8'h00; // 0xfea + 13'hfeb: q = 8'h85; // 0xfeb + 13'hfec: q = 8'hb5; // 0xfec + 13'hfed: q = 8'ha9; // 0xfed + 13'hfee: q = 8'hf0; // 0xfee + 13'hfef: q = 8'hc5; // 0xfef + 13'hff0: q = 8'h61; // 0xff0 + 13'hff1: q = 8'h90; // 0xff1 + 13'hff2: q = 8'h06; // 0xff2 + 13'hff3: q = 8'ha9; // 0xff3 + 13'hff4: q = 8'h10; // 0xff4 + 13'hff5: q = 8'hc5; // 0xff5 + 13'hff6: q = 8'h61; // 0xff6 + 13'hff7: q = 8'h90; // 0xff7 + 13'hff8: q = 8'h3e; // 0xff8 + 13'hff9: q = 8'h85; // 0xff9 + 13'hffa: q = 8'h61; // 0xffa + 13'hffb: q = 8'hd0; // 0xffb + 13'hffc: q = 8'h3a; // 0xffc + 13'hffd: q = 8'hc0; // 0xffd + 13'hffe: q = 8'h06; // 0xffe + 13'hfff: q = 8'hb0; // 0xfff + // ../src/centiped3/136001-309.fh1 + 13'h1000: q = 8'h30; // 0x1000 + 13'h1001: q = 8'ha9; // 0x1001 + 13'h1002: q = 8'h00; // 0x1002 + 13'h1003: q = 8'h85; // 0x1003 + 13'h1004: q = 8'h8b; // 0x1004 + 13'h1005: q = 8'ha0; // 0x1005 + 13'h1006: q = 8'h10; // 0x1006 + 13'h1007: q = 8'hb5; // 0x1007 + 13'h1008: q = 8'h34; // 0x1008 + 13'h1009: q = 8'h29; // 0x1009 + 13'h100a: q = 8'h40; // 0x100a + 13'h100b: q = 8'hd0; // 0x100b + 13'h100c: q = 8'h04; // 0x100c + 13'h100d: q = 8'ha0; // 0x100d + 13'h100e: q = 8'h00; // 0x100e + 13'h100f: q = 8'he6; // 0x100f + 13'h1010: q = 8'h8b; // 0x1010 + 13'h1011: q = 8'h98; // 0x1011 + 13'h1012: q = 8'h20; // 0x1012 + 13'h1013: q = 8'hae; // 0x1013 + 13'h1014: q = 8'h2d; // 0x1014 + 13'h1015: q = 8'he0; // 0x1015 + 13'h1016: q = 8'h0b; // 0x1016 + 13'h1017: q = 8'hf0; // 0x1017 + 13'h1018: q = 8'h08; // 0x1018 + 13'h1019: q = 8'hb5; // 0x1019 + 13'h101a: q = 8'h35; // 0x101a + 13'h101b: q = 8'h30; // 0x101b + 13'h101c: q = 8'h04; // 0x101c + 13'h101d: q = 8'h29; // 0x101d + 13'h101e: q = 8'hbf; // 0x101e + 13'h101f: q = 8'h95; // 0x101f + 13'h1020: q = 8'h35; // 0x1020 + 13'h1021: q = 8'h20; // 0x1021 + 13'h1022: q = 8'h10; // 0x1022 + 13'h1023: q = 8'h23; // 0x1023 + 13'h1024: q = 8'h20; // 0x1024 + 13'h1025: q = 8'h2b; // 0x1025 + 13'h1026: q = 8'h2c; // 0x1026 + 13'h1027: q = 8'h86; // 0x1027 + 13'h1028: q = 8'h8d; // 0x1028 + 13'h1029: q = 8'h20; // 0x1029 + 13'h102a: q = 8'ha8; // 0x102a + 13'h102b: q = 8'h2b; // 0x102b + 13'h102c: q = 8'ha6; // 0x102c + 13'h102d: q = 8'h8d; // 0x102d + 13'h102e: q = 8'h4c; // 0x102e + 13'h102f: q = 8'h3e; // 0x102f + 13'h1030: q = 8'h30; // 0x1030 + 13'h1031: q = 8'hca; // 0x1031 + 13'h1032: q = 8'h30; // 0x1032 + 13'h1033: q = 8'h15; // 0x1033 + 13'h1034: q = 8'h4c; // 0x1034 + 13'h1035: q = 8'h4f; // 0x1035 + 13'h1036: q = 8'h2f; // 0x1036 + 13'h1037: q = 8'h84; // 0x1037 + 13'h1038: q = 8'h8b; // 0x1038 + 13'h1039: q = 8'ha9; // 0x1039 + 13'h103a: q = 8'h00; // 0x103a + 13'h103b: q = 8'h20; // 0x103b + 13'h103c: q = 8'hb6; // 0x103c + 13'h103d: q = 8'h2d; // 0x103d + 13'h103e: q = 8'ha9; // 0x103e + 13'h103f: q = 8'h13; // 0x103f + 13'h1040: q = 8'h85; // 0x1040 + 13'h1041: q = 8'hb2; // 0x1041 + 13'h1042: q = 8'ha9; // 0x1042 + 13'h1043: q = 8'hff; // 0x1043 + 13'h1044: q = 8'h95; // 0x1044 + 13'h1045: q = 8'h34; // 0x1045 + 13'h1046: q = 8'h20; // 0x1046 + 13'h1047: q = 8'h79; // 0x1047 + 13'h1048: q = 8'h2b; // 0x1048 + 13'h1049: q = 8'ha6; // 0x1049 + 13'h104a: q = 8'h88; // 0x104a + 13'h104b: q = 8'hb5; // 0x104b + 13'h104c: q = 8'h94; // 0x104c + 13'h104d: q = 8'h05; // 0x104d + 13'h104e: q = 8'h87; // 0x104e + 13'h104f: q = 8'hf0; // 0x104f + 13'h1050: q = 8'h10; // 0x1050 + 13'h1051: q = 8'ha5; // 0x1051 + 13'h1052: q = 8'h41; // 0x1052 + 13'h1053: q = 8'h45; // 0x1053 + 13'h1054: q = 8'hef; // 0x1054 + 13'h1055: q = 8'hc9; // 0x1055 + 13'h1056: q = 8'h9c; // 0x1056 + 13'h1057: q = 8'h90; // 0x1057 + 13'h1058: q = 8'h07; // 0x1058 + 13'h1059: q = 8'hc6; // 0x1059 + 13'h105a: q = 8'h9f; // 0x105a + 13'h105b: q = 8'hd0; // 0x105b + 13'h105c: q = 8'h03; // 0x105c + 13'h105d: q = 8'h20; // 0x105d + 13'h105e: q = 8'hc7; // 0x105e + 13'h105f: q = 8'h21; // 0x105f + 13'h1060: q = 8'h60; // 0x1060 + 13'h1061: q = 8'hf6; // 0x1061 + 13'h1062: q = 8'h9c; // 0x1062 + 13'h1063: q = 8'ha9; // 0x1063 + 13'h1064: q = 8'h40; // 0x1064 + 13'h1065: q = 8'h85; // 0x1065 + 13'h1066: q = 8'h87; // 0x1066 + 13'h1067: q = 8'h60; // 0x1067 + 13'h1068: q = 8'ha6; // 0x1068 + 13'h1069: q = 8'h86; // 0x1069 + 13'h106a: q = 8'h10; // 0x106a + 13'h106b: q = 8'h0f; // 0x106b + 13'h106c: q = 8'ha2; // 0x106c + 13'h106d: q = 8'h00; // 0x106d + 13'h106e: q = 8'h8e; // 0x106e + 13'h106f: q = 8'h01; // 0x106f + 13'h1070: q = 8'h10; // 0x1070 + 13'h1071: q = 8'h8e; // 0x1071 + 13'h1072: q = 8'h03; // 0x1072 + 13'h1073: q = 8'h10; // 0x1073 + 13'h1074: q = 8'h8e; // 0x1074 + 13'h1075: q = 8'h05; // 0x1075 + 13'h1076: q = 8'h10; // 0x1076 + 13'h1077: q = 8'h8e; // 0x1077 + 13'h1078: q = 8'h07; // 0x1078 + 13'h1079: q = 8'h10; // 0x1079 + 13'h107a: q = 8'h60; // 0x107a + 13'h107b: q = 8'ha5; // 0x107b + 13'h107c: q = 8'h00; // 0x107c + 13'h107d: q = 8'h4a; // 0x107d + 13'h107e: q = 8'h90; // 0x107e + 13'h107f: q = 8'h19; // 0x107f + 13'h1080: q = 8'ha4; // 0x1080 + 13'h1081: q = 8'hb5; // 0x1081 + 13'h1082: q = 8'h98; // 0x1082 + 13'h1083: q = 8'hf0; // 0x1083 + 13'h1084: q = 8'h11; // 0x1084 + 13'h1085: q = 8'hc6; // 0x1085 + 13'h1086: q = 8'hb5; // 0x1086 + 13'h1087: q = 8'hd0; // 0x1087 + 13'h1088: q = 8'h04; // 0x1088 + 13'h1089: q = 8'ha9; // 0x1089 + 13'h108a: q = 8'h14; // 0x108a + 13'h108b: q = 8'h85; // 0x108b + 13'h108c: q = 8'hb5; // 0x108c + 13'h108d: q = 8'hb9; // 0x108d + 13'h108e: q = 8'h87; // 0x108e + 13'h108f: q = 8'h31; // 0x108f + 13'h1090: q = 8'h8d; // 0x1090 + 13'h1091: q = 8'h06; // 0x1091 + 13'h1092: q = 8'h10; // 0x1092 + 13'h1093: q = 8'hb9; // 0x1093 + 13'h1094: q = 8'h9b; // 0x1094 + 13'h1095: q = 8'h31; // 0x1095 + 13'h1096: q = 8'h8d; // 0x1096 + 13'h1097: q = 8'h07; // 0x1097 + 13'h1098: q = 8'h10; // 0x1098 + 13'h1099: q = 8'ha4; // 0x1099 + 13'h109a: q = 8'hb4; // 0x109a + 13'h109b: q = 8'h98; // 0x109b + 13'h109c: q = 8'hf0; // 0x109c + 13'h109d: q = 8'h0a; // 0x109d + 13'h109e: q = 8'hc6; // 0x109e + 13'h109f: q = 8'hb4; // 0x109f + 13'h10a0: q = 8'hb9; // 0x10a0 + 13'h10a1: q = 8'h7c; // 0x10a1 + 13'h10a2: q = 8'h31; // 0x10a2 + 13'h10a3: q = 8'h8d; // 0x10a3 + 13'h10a4: q = 8'h04; // 0x10a4 + 13'h10a5: q = 8'h10; // 0x10a5 + 13'h10a6: q = 8'ha9; // 0x10a6 + 13'h10a7: q = 8'h64; // 0x10a7 + 13'h10a8: q = 8'h8d; // 0x10a8 + 13'h10a9: q = 8'h05; // 0x10a9 + 13'h10aa: q = 8'h10; // 0x10aa + 13'h10ab: q = 8'ha4; // 0x10ab + 13'h10ac: q = 8'hb6; // 0x10ac + 13'h10ad: q = 8'hf0; // 0x10ad + 13'h10ae: q = 8'h28; // 0x10ae + 13'h10af: q = 8'ha5; // 0x10af + 13'h10b0: q = 8'h00; // 0x10b0 + 13'h10b1: q = 8'h29; // 0x10b1 + 13'h10b2: q = 8'h07; // 0x10b2 + 13'h10b3: q = 8'hd0; // 0x10b3 + 13'h10b4: q = 8'h73; // 0x10b4 + 13'h10b5: q = 8'hc6; // 0x10b5 + 13'h10b6: q = 8'hb6; // 0x10b6 + 13'h10b7: q = 8'h88; // 0x10b7 + 13'h10b8: q = 8'hf0; // 0x10b8 + 13'h10b9: q = 8'h1d; // 0x10b9 + 13'h10ba: q = 8'hb9; // 0x10ba + 13'h10bb: q = 8'haf; // 0x10bb + 13'h10bc: q = 8'h31; // 0x10bc + 13'h10bd: q = 8'h8d; // 0x10bd + 13'h10be: q = 8'h02; // 0x10be + 13'h10bf: q = 8'h10; // 0x10bf + 13'h10c0: q = 8'ha9; // 0x10c0 + 13'h10c1: q = 8'ha4; // 0x10c1 + 13'h10c2: q = 8'hd0; // 0x10c2 + 13'h10c3: q = 8'h61; // 0x10c3 + 13'h10c4: q = 8'ha4; // 0x10c4 + 13'h10c5: q = 8'hb8; // 0x10c5 + 13'h10c6: q = 8'h88; // 0x10c6 + 13'h10c7: q = 8'hd0; // 0x10c7 + 13'h10c8: q = 8'h02; // 0x10c8 + 13'h10c9: q = 8'ha0; // 0x10c9 + 13'h10ca: q = 8'h14; // 0x10ca + 13'h10cb: q = 8'h84; // 0x10cb + 13'h10cc: q = 8'hb8; // 0x10cc + 13'h10cd: q = 8'hb9; // 0x10cd + 13'h10ce: q = 8'hc0; // 0x10ce + 13'h10cf: q = 8'h31; // 0x10cf + 13'h10d0: q = 8'h8d; // 0x10d0 + 13'h10d1: q = 8'h02; // 0x10d1 + 13'h10d2: q = 8'h10; // 0x10d2 + 13'h10d3: q = 8'ha9; // 0x10d3 + 13'h10d4: q = 8'ha4; // 0x10d4 + 13'h10d5: q = 8'hd0; // 0x10d5 + 13'h10d6: q = 8'h4e; // 0x10d6 + 13'h10d7: q = 8'ha5; // 0x10d7 + 13'h10d8: q = 8'h70; // 0x10d8 + 13'h10d9: q = 8'h45; // 0x10d9 + 13'h10da: q = 8'hf0; // 0x10da + 13'h10db: q = 8'hc9; // 0x10db + 13'h10dc: q = 8'hf8; // 0x10dc + 13'h10dd: q = 8'hb0; // 0x10dd + 13'h10de: q = 8'h36; // 0x10de + 13'h10df: q = 8'ha5; // 0x10df + 13'h10e0: q = 8'h43; // 0x10e0 + 13'h10e1: q = 8'h29; // 0x10e1 + 13'h10e2: q = 8'haf; // 0x10e2 + 13'h10e3: q = 8'hd0; // 0x10e3 + 13'h10e4: q = 8'h30; // 0x10e4 + 13'h10e5: q = 8'ha5; // 0x10e5 + 13'h10e6: q = 8'h40; // 0x10e6 + 13'h10e7: q = 8'h45; // 0x10e7 + 13'h10e8: q = 8'hef; // 0x10e8 + 13'h10e9: q = 8'hc9; // 0x10e9 + 13'h10ea: q = 8'h34; // 0x10ea + 13'h10eb: q = 8'hb0; // 0x10eb + 13'h10ec: q = 8'h28; // 0x10ec + 13'h10ed: q = 8'hc9; // 0x10ed + 13'h10ee: q = 8'h20; // 0x10ee + 13'h10ef: q = 8'hb0; // 0x10ef + 13'h10f0: q = 8'hd3; // 0x10f0 + 13'h10f1: q = 8'ha5; // 0x10f1 + 13'h10f2: q = 8'h70; // 0x10f2 + 13'h10f3: q = 8'h45; // 0x10f3 + 13'h10f4: q = 8'hf4; // 0x10f4 + 13'h10f5: q = 8'h4a; // 0x10f5 + 13'h10f6: q = 8'h49; // 0x10f6 + 13'h10f7: q = 8'hff; // 0x10f7 + 13'h10f8: q = 8'h09; // 0x10f8 + 13'h10f9: q = 8'h80; // 0x10f9 + 13'h10fa: q = 8'h8d; // 0x10fa + 13'h10fb: q = 8'h02; // 0x10fb + 13'h10fc: q = 8'h10; // 0x10fc + 13'h10fd: q = 8'ha9; // 0x10fd + 13'h10fe: q = 8'ha4; // 0x10fe + 13'h10ff: q = 8'hd0; // 0x10ff + 13'h1100: q = 8'h24; // 0x1100 + 13'h1101: q = 8'ha4; // 0x1101 + 13'h1102: q = 8'hb2; // 0x1102 + 13'h1103: q = 8'h98; // 0x1103 + 13'h1104: q = 8'hf0; // 0x1104 + 13'h1105: q = 8'h0b; // 0x1105 + 13'h1106: q = 8'hc6; // 0x1106 + 13'h1107: q = 8'hb2; // 0x1107 + 13'h1108: q = 8'hb9; // 0x1108 + 13'h1109: q = 8'h48; // 0x1109 + 13'h110a: q = 8'h31; // 0x110a + 13'h110b: q = 8'h8d; // 0x110b + 13'h110c: q = 8'h00; // 0x110c + 13'h110d: q = 8'h10; // 0x110d + 13'h110e: q = 8'hb9; // 0x110e + 13'h110f: q = 8'h5b; // 0x110f + 13'h1110: q = 8'h31; // 0x1110 + 13'h1111: q = 8'h8d; // 0x1111 + 13'h1112: q = 8'h01; // 0x1112 + 13'h1113: q = 8'h10; // 0x1113 + 13'h1114: q = 8'h60; // 0x1114 + 13'h1115: q = 8'ha4; // 0x1115 + 13'h1116: q = 8'hb3; // 0x1116 + 13'h1117: q = 8'h98; // 0x1117 + 13'h1118: q = 8'hf0; // 0x1118 + 13'h1119: q = 8'h0b; // 0x1119 + 13'h111a: q = 8'hc6; // 0x111a + 13'h111b: q = 8'hb3; // 0x111b + 13'h111c: q = 8'hb9; // 0x111c + 13'h111d: q = 8'h6e; // 0x111d + 13'h111e: q = 8'h31; // 0x111e + 13'h111f: q = 8'h8d; // 0x111f + 13'h1120: q = 8'h02; // 0x1120 + 13'h1121: q = 8'h10; // 0x1121 + 13'h1122: q = 8'hb9; // 0x1122 + 13'h1123: q = 8'h75; // 0x1123 + 13'h1124: q = 8'h31; // 0x1124 + 13'h1125: q = 8'h8d; // 0x1125 + 13'h1126: q = 8'h03; // 0x1126 + 13'h1127: q = 8'h10; // 0x1127 + 13'h1128: q = 8'ha4; // 0x1128 + 13'h1129: q = 8'hb7; // 0x1129 + 13'h112a: q = 8'hf0; // 0x112a + 13'h112b: q = 8'hd5; // 0x112b + 13'h112c: q = 8'ha5; // 0x112c + 13'h112d: q = 8'h00; // 0x112d + 13'h112e: q = 8'h29; // 0x112e + 13'h112f: q = 8'h03; // 0x112f + 13'h1130: q = 8'hd0; // 0x1130 + 13'h1131: q = 8'h16; // 0x1131 + 13'h1132: q = 8'hc6; // 0x1132 + 13'h1133: q = 8'hb7; // 0x1133 + 13'h1134: q = 8'h88; // 0x1134 + 13'h1135: q = 8'hf0; // 0x1135 + 13'h1136: q = 8'h11; // 0x1136 + 13'h1137: q = 8'hb9; // 0x1137 + 13'h1138: q = 8'h48; // 0x1138 + 13'h1139: q = 8'h31; // 0x1139 + 13'h113a: q = 8'h8d; // 0x113a + 13'h113b: q = 8'h00; // 0x113b + 13'h113c: q = 8'h10; // 0x113c + 13'h113d: q = 8'hb9; // 0x113d + 13'h113e: q = 8'h5b; // 0x113e + 13'h113f: q = 8'h31; // 0x113f + 13'h1140: q = 8'hf0; // 0x1140 + 13'h1141: q = 8'h03; // 0x1141 + 13'h1142: q = 8'h18; // 0x1142 + 13'h1143: q = 8'h69; // 0x1143 + 13'h1144: q = 8'h02; // 0x1144 + 13'h1145: q = 8'h8d; // 0x1145 + 13'h1146: q = 8'h01; // 0x1146 + 13'h1147: q = 8'h10; // 0x1147 + 13'h1148: q = 8'h60; // 0x1148 + 13'h1149: q = 8'h00; // 0x1149 + 13'h114a: q = 8'h00; // 0x114a + 13'h114b: q = 8'h00; // 0x114b + 13'h114c: q = 8'h00; // 0x114c + 13'h114d: q = 8'hf0; // 0x114d + 13'h114e: q = 8'he0; // 0x114e + 13'h114f: q = 8'hd0; // 0x114f + 13'h1150: q = 8'hc0; // 0x1150 + 13'h1151: q = 8'hb0; // 0x1151 + 13'h1152: q = 8'ha0; // 0x1152 + 13'h1153: q = 8'h90; // 0x1153 + 13'h1154: q = 8'h80; // 0x1154 + 13'h1155: q = 8'h70; // 0x1155 + 13'h1156: q = 8'h60; // 0x1156 + 13'h1157: q = 8'h50; // 0x1157 + 13'h1158: q = 8'h40; // 0x1158 + 13'h1159: q = 8'h30; // 0x1159 + 13'h115a: q = 8'h20; // 0x115a + 13'h115b: q = 8'h10; // 0x115b + 13'h115c: q = 8'h00; // 0x115c + 13'h115d: q = 8'h00; // 0x115d + 13'h115e: q = 8'h00; // 0x115e + 13'h115f: q = 8'h00; // 0x115f + 13'h1160: q = 8'h81; // 0x1160 + 13'h1161: q = 8'h81; // 0x1161 + 13'h1162: q = 8'h81; // 0x1162 + 13'h1163: q = 8'h82; // 0x1163 + 13'h1164: q = 8'h82; // 0x1164 + 13'h1165: q = 8'h82; // 0x1165 + 13'h1166: q = 8'h82; // 0x1166 + 13'h1167: q = 8'h83; // 0x1167 + 13'h1168: q = 8'h83; // 0x1168 + 13'h1169: q = 8'h83; // 0x1169 + 13'h116a: q = 8'h83; // 0x116a + 13'h116b: q = 8'h84; // 0x116b + 13'h116c: q = 8'h84; // 0x116c + 13'h116d: q = 8'h84; // 0x116d + 13'h116e: q = 8'h84; // 0x116e + 13'h116f: q = 8'h70; // 0x116f + 13'h1170: q = 8'h00; // 0x1170 + 13'h1171: q = 8'h00; // 0x1171 + 13'h1172: q = 8'ha0; // 0x1172 + 13'h1173: q = 8'h00; // 0x1173 + 13'h1174: q = 8'hc0; // 0x1174 + 13'h1175: q = 8'he0; // 0x1175 + 13'h1176: q = 8'ha1; // 0x1176 + 13'h1177: q = 8'h00; // 0x1177 + 13'h1178: q = 8'h00; // 0x1178 + 13'h1179: q = 8'ha2; // 0x1179 + 13'h117a: q = 8'h00; // 0x117a + 13'h117b: q = 8'ha2; // 0x117b + 13'h117c: q = 8'ha4; // 0x117c + 13'h117d: q = 8'hf0; // 0x117d + 13'h117e: q = 8'he0; // 0x117e + 13'h117f: q = 8'hd0; // 0x117f + 13'h1180: q = 8'hc0; // 0x1180 + 13'h1181: q = 8'hb0; // 0x1181 + 13'h1182: q = 8'ha0; // 0x1182 + 13'h1183: q = 8'h90; // 0x1183 + 13'h1184: q = 8'h80; // 0x1184 + 13'h1185: q = 8'h70; // 0x1185 + 13'h1186: q = 8'h60; // 0x1186 + 13'h1187: q = 8'h50; // 0x1187 + 13'h1188: q = 8'h05; // 0x1188 + 13'h1189: q = 8'h05; // 0x1189 + 13'h118a: q = 8'h20; // 0x118a + 13'h118b: q = 8'h20; // 0x118b + 13'h118c: q = 8'h30; // 0x118c + 13'h118d: q = 8'h30; // 0x118d + 13'h118e: q = 8'h35; // 0x118e + 13'h118f: q = 8'h35; // 0x118f + 13'h1190: q = 8'h30; // 0x1190 + 13'h1191: q = 8'h30; // 0x1191 + 13'h1192: q = 8'h20; // 0x1192 + 13'h1193: q = 8'h20; // 0x1193 + 13'h1194: q = 8'h05; // 0x1194 + 13'h1195: q = 8'h05; // 0x1195 + 13'h1196: q = 8'h20; // 0x1196 + 13'h1197: q = 8'h20; // 0x1197 + 13'h1198: q = 8'h30; // 0x1198 + 13'h1199: q = 8'h30; // 0x1199 + 13'h119a: q = 8'h35; // 0x119a + 13'h119b: q = 8'h35; // 0x119b + 13'h119c: q = 8'ha1; // 0x119c + 13'h119d: q = 8'h00; // 0x119d + 13'h119e: q = 8'ha2; // 0x119e + 13'h119f: q = 8'h00; // 0x119f + 13'h11a0: q = 8'ha3; // 0x11a0 + 13'h11a1: q = 8'h00; // 0x11a1 + 13'h11a2: q = 8'ha4; // 0x11a2 + 13'h11a3: q = 8'h00; // 0x11a3 + 13'h11a4: q = 8'ha3; // 0x11a4 + 13'h11a5: q = 8'h00; // 0x11a5 + 13'h11a6: q = 8'ha2; // 0x11a6 + 13'h11a7: q = 8'h00; // 0x11a7 + 13'h11a8: q = 8'ha1; // 0x11a8 + 13'h11a9: q = 8'h00; // 0x11a9 + 13'h11aa: q = 8'ha2; // 0x11aa + 13'h11ab: q = 8'h00; // 0x11ab + 13'h11ac: q = 8'ha3; // 0x11ac + 13'h11ad: q = 8'h00; // 0x11ad + 13'h11ae: q = 8'ha2; // 0x11ae + 13'h11af: q = 8'h00; // 0x11af + 13'h11b0: q = 8'h28; // 0x11b0 + 13'h11b1: q = 8'h28; // 0x11b1 + 13'h11b2: q = 8'h30; // 0x11b2 + 13'h11b3: q = 8'h28; // 0x11b3 + 13'h11b4: q = 8'h28; // 0x11b4 + 13'h11b5: q = 8'h30; // 0x11b5 + 13'h11b6: q = 8'h3c; // 0x11b6 + 13'h11b7: q = 8'h51; // 0x11b7 + 13'h11b8: q = 8'h50; // 0x11b8 + 13'h11b9: q = 8'h50; // 0x11b9 + 13'h11ba: q = 8'h60; // 0x11ba + 13'h11bb: q = 8'h50; // 0x11bb + 13'h11bc: q = 8'h50; // 0x11bc + 13'h11bd: q = 8'h60; // 0x11bd + 13'h11be: q = 8'h74; // 0x11be + 13'h11bf: q = 8'ha2; // 0x11bf + 13'h11c0: q = 8'h00; // 0x11c0 + 13'h11c1: q = 8'h60; // 0x11c1 + 13'h11c2: q = 8'h60; // 0x11c2 + 13'h11c3: q = 8'h70; // 0x11c3 + 13'h11c4: q = 8'h70; // 0x11c4 + 13'h11c5: q = 8'h60; // 0x11c5 + 13'h11c6: q = 8'h60; // 0x11c6 + 13'h11c7: q = 8'h60; // 0x11c7 + 13'h11c8: q = 8'h70; // 0x11c8 + 13'h11c9: q = 8'h70; // 0x11c9 + 13'h11ca: q = 8'h70; // 0x11ca + 13'h11cb: q = 8'h50; // 0x11cb + 13'h11cc: q = 8'h50; // 0x11cc + 13'h11cd: q = 8'h80; // 0x11cd + 13'h11ce: q = 8'h80; // 0x11ce + 13'h11cf: q = 8'h50; // 0x11cf + 13'h11d0: q = 8'h50; // 0x11d0 + 13'h11d1: q = 8'h50; // 0x11d1 + 13'h11d2: q = 8'h80; // 0x11d2 + 13'h11d3: q = 8'h80; // 0x11d3 + 13'h11d4: q = 8'h80; // 0x11d4 + 13'h11d5: q = 8'ha0; // 0x11d5 + 13'h11d6: q = 8'h00; // 0x11d6 + 13'h11d7: q = 8'h84; // 0x11d7 + 13'h11d8: q = 8'h32; // 0x11d8 + 13'h11d9: q = 8'ha9; // 0x11d9 + 13'h11da: q = 8'h04; // 0x11da + 13'h11db: q = 8'h85; // 0x11db + 13'h11dc: q = 8'h33; // 0x11dc + 13'h11dd: q = 8'h84; // 0x11dd + 13'h11de: q = 8'h8d; // 0x11de + 13'h11df: q = 8'ha9; // 0x11df + 13'h11e0: q = 8'h00; // 0x11e0 + 13'h11e1: q = 8'h85; // 0x11e1 + 13'h11e2: q = 8'h8b; // 0x11e2 + 13'h11e3: q = 8'h84; // 0x11e3 + 13'h11e4: q = 8'h8e; // 0x11e4 + 13'h11e5: q = 8'ha2; // 0x11e5 + 13'h11e6: q = 8'h08; // 0x11e6 + 13'h11e7: q = 8'hb1; // 0x11e7 + 13'h11e8: q = 8'h32; // 0x11e8 + 13'h11e9: q = 8'h29; // 0x11e9 + 13'h11ea: q = 8'h3f; // 0x11ea + 13'h11eb: q = 8'hc9; // 0x11eb + 13'h11ec: q = 8'h38; // 0x11ec + 13'h11ed: q = 8'h26; // 0x11ed + 13'h11ee: q = 8'h8b; // 0x11ee + 13'h11ef: q = 8'hc8; // 0x11ef + 13'h11f0: q = 8'hca; // 0x11f0 + 13'h11f1: q = 8'hd0; // 0x11f1 + 13'h11f2: q = 8'hf4; // 0x11f2 + 13'h11f3: q = 8'ha6; // 0x11f3 + 13'h11f4: q = 8'h8d; // 0x11f4 + 13'h11f5: q = 8'hbd; // 0x11f5 + 13'h11f6: q = 8'h00; // 0x11f6 + 13'h11f7: q = 8'h01; // 0x11f7 + 13'h11f8: q = 8'he6; // 0x11f8 + 13'h11f9: q = 8'h8d; // 0x11f9 + 13'h11fa: q = 8'ha8; // 0x11fa + 13'h11fb: q = 8'ha5; // 0x11fb + 13'h11fc: q = 8'h8b; // 0x11fc + 13'h11fd: q = 8'h9d; // 0x11fd + 13'h11fe: q = 8'h00; // 0x11fe + 13'h11ff: q = 8'h01; // 0x11ff + 13'h1200: q = 8'h84; // 0x1200 + 13'h1201: q = 8'h8b; // 0x1201 + 13'h1202: q = 8'ha4; // 0x1202 + 13'h1203: q = 8'h8e; // 0x1203 + 13'h1204: q = 8'ha2; // 0x1204 + 13'h1205: q = 8'h08; // 0x1205 + 13'h1206: q = 8'ha9; // 0x1206 + 13'h1207: q = 8'h00; // 0x1207 + 13'h1208: q = 8'h26; // 0x1208 + 13'h1209: q = 8'h8b; // 0x1209 + 13'h120a: q = 8'h90; // 0x120a + 13'h120b: q = 8'h04; // 0x120b + 13'h120c: q = 8'ha9; // 0x120c + 13'h120d: q = 8'h3f; // 0x120d + 13'h120e: q = 8'h45; // 0x120e + 13'h120f: q = 8'hef; // 0x120f + 13'h1210: q = 8'h91; // 0x1210 + 13'h1211: q = 8'h32; // 0x1211 + 13'h1212: q = 8'hc8; // 0x1212 + 13'h1213: q = 8'hca; // 0x1213 + 13'h1214: q = 8'hd0; // 0x1214 + 13'h1215: q = 8'hf0; // 0x1215 + 13'h1216: q = 8'h98; // 0x1216 + 13'h1217: q = 8'hd0; // 0x1217 + 13'h1218: q = 8'h02; // 0x1218 + 13'h1219: q = 8'he6; // 0x1219 + 13'h121a: q = 8'h33; // 0x121a + 13'h121b: q = 8'hc0; // 0x121b + 13'h121c: q = 8'hc0; // 0x121c + 13'h121d: q = 8'hd0; // 0x121d + 13'h121e: q = 8'hc0; // 0x121e + 13'h121f: q = 8'ha5; // 0x121f + 13'h1220: q = 8'h33; // 0x1220 + 13'h1221: q = 8'hc9; // 0x1221 + 13'h1222: q = 8'h07; // 0x1222 + 13'h1223: q = 8'hd0; // 0x1223 + 13'h1224: q = 8'hba; // 0x1224 + 13'h1225: q = 8'h60; // 0x1225 + 13'h1226: q = 8'hc9; // 0x1226 + 13'h1227: q = 8'h08; // 0x1227 + 13'h1228: q = 8'h90; // 0x1228 + 13'h1229: q = 8'h0c; // 0x1229 + 13'h122a: q = 8'hc9; // 0x122a + 13'h122b: q = 8'hf8; // 0x122b + 13'h122c: q = 8'hb0; // 0x122c + 13'h122d: q = 8'h08; // 0x122d + 13'h122e: q = 8'hc9; // 0x122e + 13'h122f: q = 8'h80; // 0x122f + 13'h1230: q = 8'ha9; // 0x1230 + 13'h1231: q = 8'h08; // 0x1231 + 13'h1232: q = 8'h90; // 0x1232 + 13'h1233: q = 8'h02; // 0x1233 + 13'h1234: q = 8'ha9; // 0x1234 + 13'h1235: q = 8'hf8; // 0x1235 + 13'h1236: q = 8'hc9; // 0x1236 + 13'h1237: q = 8'h80; // 0x1237 + 13'h1238: q = 8'h6a; // 0x1238 + 13'h1239: q = 8'ha8; // 0x1239 + 13'h123a: q = 8'ha9; // 0x123a + 13'h123b: q = 8'h00; // 0x123b + 13'h123c: q = 8'h6a; // 0x123c + 13'h123d: q = 8'h60; // 0x123d + 13'h123e: q = 8'ha9; // 0x123e + 13'h123f: q = 8'hff; // 0x123f + 13'h1240: q = 8'ha2; // 0x1240 + 13'h1241: q = 8'h01; // 0x1241 + 13'h1242: q = 8'h85; // 0x1242 + 13'h1243: q = 8'hc1; // 0x1243 + 13'h1244: q = 8'h85; // 0x1244 + 13'h1245: q = 8'hc2; // 0x1245 + 13'h1246: q = 8'hf8; // 0x1246 + 13'h1247: q = 8'ha5; // 0x1247 + 13'h1248: q = 8'hfb; // 0x1248 + 13'h1249: q = 8'h18; // 0x1249 + 13'h124a: q = 8'h6d; // 0x124a + 13'h124b: q = 8'h8e; // 0x124b + 13'h124c: q = 8'h01; // 0x124c + 13'h124d: q = 8'h8d; // 0x124d + 13'h124e: q = 8'h8e; // 0x124e + 13'h124f: q = 8'h01; // 0x124f + 13'h1250: q = 8'ha5; // 0x1250 + 13'h1251: q = 8'hfc; // 0x1251 + 13'h1252: q = 8'h6d; // 0x1252 + 13'h1253: q = 8'h8f; // 0x1253 + 13'h1254: q = 8'h01; // 0x1254 + 13'h1255: q = 8'h8d; // 0x1255 + 13'h1256: q = 8'h8f; // 0x1256 + 13'h1257: q = 8'h01; // 0x1257 + 13'h1258: q = 8'had; // 0x1258 + 13'h1259: q = 8'h90; // 0x1259 + 13'h125a: q = 8'h01; // 0x125a + 13'h125b: q = 8'h69; // 0x125b + 13'h125c: q = 8'h00; // 0x125c + 13'h125d: q = 8'h8d; // 0x125d + 13'h125e: q = 8'h90; // 0x125e + 13'h125f: q = 8'h01; // 0x125f + 13'h1260: q = 8'had; // 0x1260 + 13'h1261: q = 8'h91; // 0x1261 + 13'h1262: q = 8'h01; // 0x1262 + 13'h1263: q = 8'h69; // 0x1263 + 13'h1264: q = 8'h00; // 0x1264 + 13'h1265: q = 8'hb0; // 0x1265 + 13'h1266: q = 8'h1c; // 0x1266 + 13'h1267: q = 8'h8d; // 0x1267 + 13'h1268: q = 8'h91; // 0x1268 + 13'h1269: q = 8'h01; // 0x1269 + 13'h126a: q = 8'had; // 0x126a + 13'h126b: q = 8'h8b; // 0x126b + 13'h126c: q = 8'h01; // 0x126c + 13'h126d: q = 8'h18; // 0x126d + 13'h126e: q = 8'h65; // 0x126e + 13'h126f: q = 8'h89; // 0x126f + 13'h1270: q = 8'h8d; // 0x1270 + 13'h1271: q = 8'h8b; // 0x1271 + 13'h1272: q = 8'h01; // 0x1272 + 13'h1273: q = 8'had; // 0x1273 + 13'h1274: q = 8'h8c; // 0x1274 + 13'h1275: q = 8'h01; // 0x1275 + 13'h1276: q = 8'h69; // 0x1276 + 13'h1277: q = 8'h00; // 0x1277 + 13'h1278: q = 8'h8d; // 0x1278 + 13'h1279: q = 8'h8c; // 0x1279 + 13'h127a: q = 8'h01; // 0x127a + 13'h127b: q = 8'had; // 0x127b + 13'h127c: q = 8'h8d; // 0x127c + 13'h127d: q = 8'h01; // 0x127d + 13'h127e: q = 8'h69; // 0x127e + 13'h127f: q = 8'h00; // 0x127f + 13'h1280: q = 8'h8d; // 0x1280 + 13'h1281: q = 8'h8d; // 0x1281 + 13'h1282: q = 8'h01; // 0x1282 + 13'h1283: q = 8'hd8; // 0x1283 + 13'h1284: q = 8'ha0; // 0x1284 + 13'h1285: q = 8'h00; // 0x1285 + 13'h1286: q = 8'hb9; // 0x1286 + 13'h1287: q = 8'h02; // 0x1287 + 13'h1288: q = 8'h00; // 0x1288 + 13'h1289: q = 8'hd5; // 0x1289 + 13'h128a: q = 8'ha8; // 0x128a + 13'h128b: q = 8'hb9; // 0x128b + 13'h128c: q = 8'h03; // 0x128c + 13'h128d: q = 8'h00; // 0x128d + 13'h128e: q = 8'hf5; // 0x128e + 13'h128f: q = 8'haa; // 0x128f + 13'h1290: q = 8'hb9; // 0x1290 + 13'h1291: q = 8'h04; // 0x1291 + 13'h1292: q = 8'h00; // 0x1292 + 13'h1293: q = 8'hf5; // 0x1293 + 13'h1294: q = 8'hac; // 0x1294 + 13'h1295: q = 8'h90; // 0x1295 + 13'h1296: q = 8'h2e; // 0x1296 + 13'h1297: q = 8'hc8; // 0x1297 + 13'h1298: q = 8'hc8; // 0x1298 + 13'h1299: q = 8'hc8; // 0x1299 + 13'h129a: q = 8'hc0; // 0x129a + 13'h129b: q = 8'h18; // 0x129b + 13'h129c: q = 8'h90; // 0x129c + 13'h129d: q = 8'he8; // 0x129d + 13'h129e: q = 8'hca; // 0x129e + 13'h129f: q = 8'h10; // 0x129f + 13'h12a0: q = 8'he3; // 0x12a0 + 13'h12a1: q = 8'ha5; // 0x12a1 + 13'h12a2: q = 8'hc2; // 0x12a2 + 13'h12a3: q = 8'h30; // 0x12a3 + 13'h12a4: q = 8'h0e; // 0x12a4 + 13'h12a5: q = 8'hc5; // 0x12a5 + 13'h12a6: q = 8'hc1; // 0x12a6 + 13'h12a7: q = 8'h90; // 0x12a7 + 13'h12a8: q = 8'h0a; // 0x12a8 + 13'h12a9: q = 8'h69; // 0x12a9 + 13'h12aa: q = 8'h02; // 0x12aa + 13'h12ab: q = 8'hc9; // 0x12ab + 13'h12ac: q = 8'h18; // 0x12ac + 13'h12ad: q = 8'h90; // 0x12ad + 13'h12ae: q = 8'h02; // 0x12ae + 13'h12af: q = 8'ha9; // 0x12af + 13'h12b0: q = 8'hff; // 0x12b0 + 13'h12b1: q = 8'h85; // 0x12b1 + 13'h12b2: q = 8'hc2; // 0x12b2 + 13'h12b3: q = 8'ha9; // 0x12b3 + 13'h12b4: q = 8'h00; // 0x12b4 + 13'h12b5: q = 8'h85; // 0x12b5 + 13'h12b6: q = 8'hc0; // 0x12b6 + 13'h12b7: q = 8'ha5; // 0x12b7 + 13'h12b8: q = 8'hc2; // 0x12b8 + 13'h12b9: q = 8'h25; // 0x12b9 + 13'h12ba: q = 8'hc1; // 0x12ba + 13'h12bb: q = 8'h10; // 0x12bb + 13'h12bc: q = 8'h07; // 0x12bc + 13'h12bd: q = 8'ha9; // 0x12bd + 13'h12be: q = 8'h00; // 0x12be + 13'h12bf: q = 8'h85; // 0x12bf + 13'h12c0: q = 8'h01; // 0x12c0 + 13'h12c1: q = 8'h20; // 0x12c1 + 13'h12c2: q = 8'h5c; // 0x12c2 + 13'h12c3: q = 8'h2d; // 0x12c3 + 13'h12c4: q = 8'h60; // 0x12c4 + 13'h12c5: q = 8'h86; // 0x12c5 + 13'h12c6: q = 8'h8d; // 0x12c6 + 13'h12c7: q = 8'h84; // 0x12c7 + 13'h12c8: q = 8'h8e; // 0x12c8 + 13'h12c9: q = 8'h94; // 0x12c9 + 13'h12ca: q = 8'hc1; // 0x12ca + 13'h12cb: q = 8'ha2; // 0x12cb + 13'h12cc: q = 8'h17; // 0x12cc + 13'h12cd: q = 8'hb5; // 0x12cd + 13'h12ce: q = 8'h17; // 0x12ce + 13'h12cf: q = 8'h95; // 0x12cf + 13'h12d0: q = 8'h1a; // 0x12d0 + 13'h12d1: q = 8'hbd; // 0x12d1 + 13'h12d2: q = 8'hff; // 0x12d2 + 13'h12d3: q = 8'hff; // 0x12d3 + 13'h12d4: q = 8'h95; // 0x12d4 + 13'h12d5: q = 8'h02; // 0x12d5 + 13'h12d6: q = 8'hca; // 0x12d6 + 13'h12d7: q = 8'he4; // 0x12d7 + 13'h12d8: q = 8'h8e; // 0x12d8 + 13'h12d9: q = 8'hd0; // 0x12d9 + 13'h12da: q = 8'hf2; // 0x12da + 13'h12db: q = 8'ha9; // 0x12db + 13'h12dc: q = 8'h01; // 0x12dc + 13'h12dd: q = 8'h95; // 0x12dd + 13'h12de: q = 8'h1a; // 0x12de + 13'h12df: q = 8'ha9; // 0x12df + 13'h12e0: q = 8'h00; // 0x12e0 + 13'h12e1: q = 8'h95; // 0x12e1 + 13'h12e2: q = 8'h1b; // 0x12e2 + 13'h12e3: q = 8'h95; // 0x12e3 + 13'h12e4: q = 8'h1c; // 0x12e4 + 13'h12e5: q = 8'h85; // 0x12e5 + 13'h12e6: q = 8'hb9; // 0x12e6 + 13'h12e7: q = 8'ha6; // 0x12e7 + 13'h12e8: q = 8'h8d; // 0x12e8 + 13'h12e9: q = 8'hb5; // 0x12e9 + 13'h12ea: q = 8'hac; // 0x12ea + 13'h12eb: q = 8'h99; // 0x12eb + 13'h12ec: q = 8'h04; // 0x12ec + 13'h12ed: q = 8'h00; // 0x12ed + 13'h12ee: q = 8'hb5; // 0x12ee + 13'h12ef: q = 8'haa; // 0x12ef + 13'h12f0: q = 8'h99; // 0x12f0 + 13'h12f1: q = 8'h03; // 0x12f1 + 13'h12f2: q = 8'h00; // 0x12f2 + 13'h12f3: q = 8'hb5; // 0x12f3 + 13'h12f4: q = 8'ha8; // 0x12f4 + 13'h12f5: q = 8'h99; // 0x12f5 + 13'h12f6: q = 8'h02; // 0x12f6 + 13'h12f7: q = 8'h00; // 0x12f7 + 13'h12f8: q = 8'ha9; // 0x12f8 + 13'h12f9: q = 8'hf0; // 0x12f9 + 13'h12fa: q = 8'h85; // 0x12fa + 13'h12fb: q = 8'h01; // 0x12fb + 13'h12fc: q = 8'hd0; // 0x12fc + 13'h12fd: q = 8'ha0; // 0x12fd + 13'h12fe: q = 8'ha9; // 0x12fe + 13'h12ff: q = 8'h1f; // 0x12ff + 13'h1300: q = 8'h45; // 0x1300 + 13'h1301: q = 8'hf5; // 0x1301 + 13'h1302: q = 8'h85; // 0x1302 + 13'h1303: q = 8'h91; // 0x1303 + 13'h1304: q = 8'ha9; // 0x1304 + 13'h1305: q = 8'h04; // 0x1305 + 13'h1306: q = 8'h45; // 0x1306 + 13'h1307: q = 8'hf7; // 0x1307 + 13'h1308: q = 8'h85; // 0x1308 + 13'h1309: q = 8'h92; // 0x1309 + 13'h130a: q = 8'ha5; // 0x130a + 13'h130b: q = 8'hac; // 0x130b + 13'h130c: q = 8'h38; // 0x130c + 13'h130d: q = 8'h20; // 0x130d + 13'h130e: q = 8'h4f; // 0x130e + 13'h130f: q = 8'h38; // 0x130f + 13'h1310: q = 8'ha5; // 0x1310 + 13'h1311: q = 8'haa; // 0x1311 + 13'h1312: q = 8'h20; // 0x1312 + 13'h1313: q = 8'h4f; // 0x1313 + 13'h1314: q = 8'h38; // 0x1314 + 13'h1315: q = 8'ha5; // 0x1315 + 13'h1316: q = 8'ha8; // 0x1316 + 13'h1317: q = 8'h18; // 0x1317 + 13'h1318: q = 8'h20; // 0x1318 + 13'h1319: q = 8'h4f; // 0x1319 + 13'h131a: q = 8'h38; // 0x131a + 13'h131b: q = 8'ha4; // 0x131b + 13'h131c: q = 8'h89; // 0x131c + 13'h131d: q = 8'h88; // 0x131d + 13'h131e: q = 8'hf0; // 0x131e + 13'h131f: q = 8'h1d; // 0x131f + 13'h1320: q = 8'ha9; // 0x1320 + 13'h1321: q = 8'h07; // 0x1321 + 13'h1322: q = 8'h45; // 0x1322 + 13'h1323: q = 8'hf7; // 0x1323 + 13'h1324: q = 8'h85; // 0x1324 + 13'h1325: q = 8'h92; // 0x1325 + 13'h1326: q = 8'ha9; // 0x1326 + 13'h1327: q = 8'h1f; // 0x1327 + 13'h1328: q = 8'h45; // 0x1328 + 13'h1329: q = 8'hf5; // 0x1329 + 13'h132a: q = 8'h85; // 0x132a + 13'h132b: q = 8'h91; // 0x132b + 13'h132c: q = 8'ha5; // 0x132c + 13'h132d: q = 8'had; // 0x132d + 13'h132e: q = 8'h38; // 0x132e + 13'h132f: q = 8'h20; // 0x132f + 13'h1330: q = 8'h4f; // 0x1330 + 13'h1331: q = 8'h38; // 0x1331 + 13'h1332: q = 8'ha5; // 0x1332 + 13'h1333: q = 8'hab; // 0x1333 + 13'h1334: q = 8'h20; // 0x1334 + 13'h1335: q = 8'h4f; // 0x1335 + 13'h1336: q = 8'h38; // 0x1336 + 13'h1337: q = 8'ha5; // 0x1337 + 13'h1338: q = 8'ha9; // 0x1338 + 13'h1339: q = 8'h18; // 0x1339 + 13'h133a: q = 8'h20; // 0x133a + 13'h133b: q = 8'h4f; // 0x133b + 13'h133c: q = 8'h38; // 0x133c + 13'h133d: q = 8'ha9; // 0x133d + 13'h133e: q = 8'h9f; // 0x133e + 13'h133f: q = 8'h45; // 0x133f + 13'h1340: q = 8'hf5; // 0x1340 + 13'h1341: q = 8'h85; // 0x1341 + 13'h1342: q = 8'h91; // 0x1342 + 13'h1343: q = 8'ha9; // 0x1343 + 13'h1344: q = 8'h05; // 0x1344 + 13'h1345: q = 8'h45; // 0x1345 + 13'h1346: q = 8'hf7; // 0x1346 + 13'h1347: q = 8'h85; // 0x1347 + 13'h1348: q = 8'h92; // 0x1348 + 13'h1349: q = 8'ha5; // 0x1349 + 13'h134a: q = 8'h04; // 0x134a + 13'h134b: q = 8'h38; // 0x134b + 13'h134c: q = 8'h20; // 0x134c + 13'h134d: q = 8'h4f; // 0x134d + 13'h134e: q = 8'h38; // 0x134e + 13'h134f: q = 8'ha5; // 0x134f + 13'h1350: q = 8'h03; // 0x1350 + 13'h1351: q = 8'h20; // 0x1351 + 13'h1352: q = 8'h4f; // 0x1352 + 13'h1353: q = 8'h38; // 0x1353 + 13'h1354: q = 8'ha5; // 0x1354 + 13'h1355: q = 8'h02; // 0x1355 + 13'h1356: q = 8'h18; // 0x1356 + 13'h1357: q = 8'h4c; // 0x1357 + 13'h1358: q = 8'h4f; // 0x1358 + 13'h1359: q = 8'h38; // 0x1359 + 13'h135a: q = 8'hff; // 0x135a + 13'h135b: q = 8'hff; // 0x135b + 13'h135c: q = 8'hff; // 0x135c + 13'h135d: q = 8'hf1; // 0x135d + 13'h135e: q = 8'ha2; // 0x135e + 13'h135f: q = 8'h02; // 0x135f + 13'h1360: q = 8'had; // 0x1360 + 13'h1361: q = 8'h01; // 0x1361 + 13'h1362: q = 8'h0c; // 0x1362 + 13'h1363: q = 8'he0; // 0x1363 + 13'h1364: q = 8'h01; // 0x1364 + 13'h1365: q = 8'hf0; // 0x1365 + 13'h1366: q = 8'h03; // 0x1366 + 13'h1367: q = 8'hb0; // 0x1367 + 13'h1368: q = 8'h02; // 0x1368 + 13'h1369: q = 8'h0a; // 0x1369 + 13'h136a: q = 8'h0a; // 0x136a + 13'h136b: q = 8'h0a; // 0x136b + 13'h136c: q = 8'hb5; // 0x136c + 13'h136d: q = 8'hcf; // 0x136d + 13'h136e: q = 8'h29; // 0x136e + 13'h136f: q = 8'h1f; // 0x136f + 13'h1370: q = 8'hb0; // 0x1370 + 13'h1371: q = 8'h37; // 0x1371 + 13'h1372: q = 8'hf0; // 0x1372 + 13'h1373: q = 8'h10; // 0x1373 + 13'h1374: q = 8'hc9; // 0x1374 + 13'h1375: q = 8'h1b; // 0x1375 + 13'h1376: q = 8'hb0; // 0x1376 + 13'h1377: q = 8'h0a; // 0x1377 + 13'h1378: q = 8'ha8; // 0x1378 + 13'h1379: q = 8'ha5; // 0x1379 + 13'h137a: q = 8'hd4; // 0x137a + 13'h137b: q = 8'h29; // 0x137b + 13'h137c: q = 8'h07; // 0x137c + 13'h137d: q = 8'hc9; // 0x137d + 13'h137e: q = 8'h07; // 0x137e + 13'h137f: q = 8'h98; // 0x137f + 13'h1380: q = 8'h90; // 0x1380 + 13'h1381: q = 8'h02; // 0x1381 + 13'h1382: q = 8'he9; // 0x1382 + 13'h1383: q = 8'h01; // 0x1383 + 13'h1384: q = 8'h95; // 0x1384 + 13'h1385: q = 8'hcf; // 0x1385 + 13'h1386: q = 8'had; // 0x1386 + 13'h1387: q = 8'h01; // 0x1387 + 13'h1388: q = 8'h0c; // 0x1388 + 13'h1389: q = 8'h29; // 0x1389 + 13'h138a: q = 8'h10; // 0x138a + 13'h138b: q = 8'hd0; // 0x138b + 13'h138c: q = 8'h04; // 0x138c + 13'h138d: q = 8'ha9; // 0x138d + 13'h138e: q = 8'hf0; // 0x138e + 13'h138f: q = 8'h85; // 0x138f + 13'h1390: q = 8'hd2; // 0x1390 + 13'h1391: q = 8'ha5; // 0x1391 + 13'h1392: q = 8'hd2; // 0x1392 + 13'h1393: q = 8'hf0; // 0x1393 + 13'h1394: q = 8'h08; // 0x1394 + 13'h1395: q = 8'hc6; // 0x1395 + 13'h1396: q = 8'hd2; // 0x1396 + 13'h1397: q = 8'ha9; // 0x1397 + 13'h1398: q = 8'h00; // 0x1398 + 13'h1399: q = 8'h95; // 0x1399 + 13'h139a: q = 8'hcf; // 0x139a + 13'h139b: q = 8'h95; // 0x139b + 13'h139c: q = 8'hcc; // 0x139c + 13'h139d: q = 8'h18; // 0x139d + 13'h139e: q = 8'hb5; // 0x139e + 13'h139f: q = 8'hcc; // 0x139f + 13'h13a0: q = 8'hf0; // 0x13a0 + 13'h13a1: q = 8'h23; // 0x13a1 + 13'h13a2: q = 8'hd6; // 0x13a2 + 13'h13a3: q = 8'hcc; // 0x13a3 + 13'h13a4: q = 8'hd0; // 0x13a4 + 13'h13a5: q = 8'h1f; // 0x13a5 + 13'h13a6: q = 8'h38; // 0x13a6 + 13'h13a7: q = 8'hb0; // 0x13a7 + 13'h13a8: q = 8'h1c; // 0x13a8 + 13'h13a9: q = 8'hc9; // 0x13a9 + 13'h13aa: q = 8'h1b; // 0x13aa + 13'h13ab: q = 8'hb0; // 0x13ab + 13'h13ac: q = 8'h09; // 0x13ac + 13'h13ad: q = 8'hb5; // 0x13ad + 13'h13ae: q = 8'hcf; // 0x13ae + 13'h13af: q = 8'h69; // 0x13af + 13'h13b0: q = 8'h20; // 0x13b0 + 13'h13b1: q = 8'h90; // 0x13b1 + 13'h13b2: q = 8'hd1; // 0x13b2 + 13'h13b3: q = 8'hf0; // 0x13b3 + 13'h13b4: q = 8'h01; // 0x13b4 + 13'h13b5: q = 8'h18; // 0x13b5 + 13'h13b6: q = 8'ha9; // 0x13b6 + 13'h13b7: q = 8'h1f; // 0x13b7 + 13'h13b8: q = 8'hb0; // 0x13b8 + 13'h13b9: q = 8'hca; // 0x13b9 + 13'h13ba: q = 8'h95; // 0x13ba + 13'h13bb: q = 8'hcf; // 0x13bb + 13'h13bc: q = 8'hb5; // 0x13bc + 13'h13bd: q = 8'hcc; // 0x13bd + 13'h13be: q = 8'hf0; // 0x13be + 13'h13bf: q = 8'h01; // 0x13bf + 13'h13c0: q = 8'h38; // 0x13c0 + 13'h13c1: q = 8'ha9; // 0x13c1 + 13'h13c2: q = 8'h78; // 0x13c2 + 13'h13c3: q = 8'h95; // 0x13c3 + 13'h13c4: q = 8'hcc; // 0x13c4 + 13'h13c5: q = 8'h90; // 0x13c5 + 13'h13c6: q = 8'h2a; // 0x13c6 + 13'h13c7: q = 8'ha9; // 0x13c7 + 13'h13c8: q = 8'h00; // 0x13c8 + 13'h13c9: q = 8'he0; // 0x13c9 + 13'h13ca: q = 8'h01; // 0x13ca + 13'h13cb: q = 8'h90; // 0x13cb + 13'h13cc: q = 8'h16; // 0x13cc + 13'h13cd: q = 8'hf0; // 0x13cd + 13'h13ce: q = 8'h0c; // 0x13ce + 13'h13cf: q = 8'ha5; // 0x13cf + 13'h13d0: q = 8'hd3; // 0x13d0 + 13'h13d1: q = 8'h29; // 0x13d1 + 13'h13d2: q = 8'h0c; // 0x13d2 + 13'h13d3: q = 8'h4a; // 0x13d3 + 13'h13d4: q = 8'h4a; // 0x13d4 + 13'h13d5: q = 8'hf0; // 0x13d5 + 13'h13d6: q = 8'h0c; // 0x13d6 + 13'h13d7: q = 8'h69; // 0x13d7 + 13'h13d8: q = 8'h02; // 0x13d8 + 13'h13d9: q = 8'hd0; // 0x13d9 + 13'h13da: q = 8'h08; // 0x13da + 13'h13db: q = 8'ha5; // 0x13db + 13'h13dc: q = 8'hd3; // 0x13dc + 13'h13dd: q = 8'h29; // 0x13dd + 13'h13de: q = 8'h10; // 0x13de + 13'h13df: q = 8'hf0; // 0x13df + 13'h13e0: q = 8'h02; // 0x13e0 + 13'h13e1: q = 8'ha9; // 0x13e1 + 13'h13e2: q = 8'h01; // 0x13e2 + 13'h13e3: q = 8'h38; // 0x13e3 + 13'h13e4: q = 8'h48; // 0x13e4 + 13'h13e5: q = 8'h65; // 0x13e5 + 13'h13e6: q = 8'hca; // 0x13e6 + 13'h13e7: q = 8'h85; // 0x13e7 + 13'h13e8: q = 8'hca; // 0x13e8 + 13'h13e9: q = 8'h68; // 0x13e9 + 13'h13ea: q = 8'h38; // 0x13ea + 13'h13eb: q = 8'h65; // 0x13eb + 13'h13ec: q = 8'hc9; // 0x13ec + 13'h13ed: q = 8'h85; // 0x13ed + 13'h13ee: q = 8'hc9; // 0x13ee + 13'h13ef: q = 8'hf6; // 0x13ef + 13'h13f0: q = 8'hc5; // 0x13f0 + 13'h13f1: q = 8'hca; // 0x13f1 + 13'h13f2: q = 8'h30; // 0x13f2 + 13'h13f3: q = 8'h03; // 0x13f3 + 13'h13f4: q = 8'h4c; // 0x13f4 + 13'h13f5: q = 8'h60; // 0x13f5 + 13'h13f6: q = 8'h33; // 0x13f6 + 13'h13f7: q = 8'ha5; // 0x13f7 + 13'h13f8: q = 8'hd3; // 0x13f8 + 13'h13f9: q = 8'h4a; // 0x13f9 + 13'h13fa: q = 8'h4a; // 0x13fa + 13'h13fb: q = 8'h4a; // 0x13fb + 13'h13fc: q = 8'h4a; // 0x13fc + 13'h13fd: q = 8'h4a; // 0x13fd + 13'h13fe: q = 8'ha8; // 0x13fe + 13'h13ff: q = 8'ha5; // 0x13ff + 13'h1400: q = 8'hca; // 0x1400 + 13'h1401: q = 8'h38; // 0x1401 + 13'h1402: q = 8'hf9; // 0x1402 + 13'h1403: q = 8'h13; // 0x1403 + 13'h1404: q = 8'h34; // 0x1404 + 13'h1405: q = 8'h30; // 0x1405 + 13'h1406: q = 8'h14; // 0x1406 + 13'h1407: q = 8'h85; // 0x1407 + 13'h1408: q = 8'hca; // 0x1408 + 13'h1409: q = 8'he6; // 0x1409 + 13'h140a: q = 8'hcb; // 0x140a + 13'h140b: q = 8'hc0; // 0x140b + 13'h140c: q = 8'h03; // 0x140c + 13'h140d: q = 8'hd0; // 0x140d + 13'h140e: q = 8'h0c; // 0x140e + 13'h140f: q = 8'he6; // 0x140f + 13'h1410: q = 8'hcb; // 0x1410 + 13'h1411: q = 8'hd0; // 0x1411 + 13'h1412: q = 8'h08; // 0x1412 + 13'h1413: q = 8'h7f; // 0x1413 + 13'h1414: q = 8'h02; // 0x1414 + 13'h1415: q = 8'h04; // 0x1415 + 13'h1416: q = 8'h04; // 0x1416 + 13'h1417: q = 8'h05; // 0x1417 + 13'h1418: q = 8'h03; // 0x1418 + 13'h1419: q = 8'h7f; // 0x1419 + 13'h141a: q = 8'h7f; // 0x141a + 13'h141b: q = 8'ha5; // 0x141b + 13'h141c: q = 8'hd3; // 0x141c + 13'h141d: q = 8'h29; // 0x141d + 13'h141e: q = 8'h03; // 0x141e + 13'h141f: q = 8'ha8; // 0x141f + 13'h1420: q = 8'hf0; // 0x1420 + 13'h1421: q = 8'h1a; // 0x1421 + 13'h1422: q = 8'h4a; // 0x1422 + 13'h1423: q = 8'h69; // 0x1423 + 13'h1424: q = 8'h00; // 0x1424 + 13'h1425: q = 8'h49; // 0x1425 + 13'h1426: q = 8'hff; // 0x1426 + 13'h1427: q = 8'h38; // 0x1427 + 13'h1428: q = 8'h65; // 0x1428 + 13'h1429: q = 8'hc9; // 0x1429 + 13'h142a: q = 8'hb0; // 0x142a + 13'h142b: q = 8'h08; // 0x142b + 13'h142c: q = 8'h65; // 0x142c + 13'h142d: q = 8'hcb; // 0x142d + 13'h142e: q = 8'h30; // 0x142e + 13'h142f: q = 8'h0e; // 0x142f + 13'h1430: q = 8'h85; // 0x1430 + 13'h1431: q = 8'hcb; // 0x1431 + 13'h1432: q = 8'ha9; // 0x1432 + 13'h1433: q = 8'h00; // 0x1433 + 13'h1434: q = 8'hc0; // 0x1434 + 13'h1435: q = 8'h02; // 0x1435 + 13'h1436: q = 8'hb0; // 0x1436 + 13'h1437: q = 8'h02; // 0x1437 + 13'h1438: q = 8'he6; // 0x1438 + 13'h1439: q = 8'hc8; // 0x1439 + 13'h143a: q = 8'he6; // 0x143a + 13'h143b: q = 8'hc8; // 0x143b + 13'h143c: q = 8'h85; // 0x143c + 13'h143d: q = 8'hc9; // 0x143d + 13'h143e: q = 8'he6; // 0x143e + 13'h143f: q = 8'hd4; // 0x143f + 13'h1440: q = 8'ha5; // 0x1440 + 13'h1441: q = 8'hd4; // 0x1441 + 13'h1442: q = 8'h4a; // 0x1442 + 13'h1443: q = 8'hb0; // 0x1443 + 13'h1444: q = 8'h27; // 0x1444 + 13'h1445: q = 8'ha0; // 0x1445 + 13'h1446: q = 8'h00; // 0x1446 + 13'h1447: q = 8'ha2; // 0x1447 + 13'h1448: q = 8'h02; // 0x1448 + 13'h1449: q = 8'hb5; // 0x1449 + 13'h144a: q = 8'hc5; // 0x144a + 13'h144b: q = 8'hf0; // 0x144b + 13'h144c: q = 8'h09; // 0x144c + 13'h144d: q = 8'hc9; // 0x144d + 13'h144e: q = 8'h10; // 0x144e + 13'h144f: q = 8'h90; // 0x144f + 13'h1450: q = 8'h05; // 0x1450 + 13'h1451: q = 8'h69; // 0x1451 + 13'h1452: q = 8'hef; // 0x1452 + 13'h1453: q = 8'hc8; // 0x1453 + 13'h1454: q = 8'h95; // 0x1454 + 13'h1455: q = 8'hc5; // 0x1455 + 13'h1456: q = 8'hca; // 0x1456 + 13'h1457: q = 8'h10; // 0x1457 + 13'h1458: q = 8'hf0; // 0x1458 + 13'h1459: q = 8'h98; // 0x1459 + 13'h145a: q = 8'hd0; // 0x145a + 13'h145b: q = 8'h10; // 0x145b + 13'h145c: q = 8'ha2; // 0x145c + 13'h145d: q = 8'h02; // 0x145d + 13'h145e: q = 8'hb5; // 0x145e + 13'h145f: q = 8'hc5; // 0x145f + 13'h1460: q = 8'hf0; // 0x1460 + 13'h1461: q = 8'h07; // 0x1461 + 13'h1462: q = 8'h18; // 0x1462 + 13'h1463: q = 8'h69; // 0x1463 + 13'h1464: q = 8'hef; // 0x1464 + 13'h1465: q = 8'h95; // 0x1465 + 13'h1466: q = 8'hc5; // 0x1466 + 13'h1467: q = 8'h30; // 0x1467 + 13'h1468: q = 8'h03; // 0x1468 + 13'h1469: q = 8'hca; // 0x1469 + 13'h146a: q = 8'h10; // 0x146a + 13'h146b: q = 8'hf2; // 0x146b + 13'h146c: q = 8'h60; // 0x146c + 13'h146d: q = 8'hc5; // 0x146d + 13'h146e: q = 8'h34; // 0x146e + 13'h146f: q = 8'hd0; // 0x146f + 13'h1470: q = 8'h34; // 0x1470 + 13'h1471: q = 8'hdc; // 0x1471 + 13'h1472: q = 8'h34; // 0x1472 + 13'h1473: q = 8'he7; // 0x1473 + 13'h1474: q = 8'h34; // 0x1474 + 13'h1475: q = 8'hf3; // 0x1475 + 13'h1476: q = 8'h34; // 0x1476 + 13'h1477: q = 8'h05; // 0x1477 + 13'h1478: q = 8'h35; // 0x1478 + 13'h1479: q = 8'h1a; // 0x1479 + 13'h147a: q = 8'h35; // 0x147a + 13'h147b: q = 8'h2f; // 0x147b + 13'h147c: q = 8'h35; // 0x147c + 13'h147d: q = 8'h43; // 0x147d + 13'h147e: q = 8'h35; // 0x147e + 13'h147f: q = 8'h54; // 0x147f + 13'h1480: q = 8'h35; // 0x1480 + 13'h1481: q = 8'h68; // 0x1481 + 13'h1482: q = 8'h35; // 0x1482 + 13'h1483: q = 8'h7c; // 0x1483 + 13'h1484: q = 8'h35; // 0x1484 + 13'h1485: q = 8'h8f; // 0x1485 + 13'h1486: q = 8'h35; // 0x1486 + 13'h1487: q = 8'ha1; // 0x1487 + 13'h1488: q = 8'h35; // 0x1488 + 13'h1489: q = 8'hb6; // 0x1489 + 13'h148a: q = 8'h35; // 0x148a + 13'h148b: q = 8'hcb; // 0x148b + 13'h148c: q = 8'h35; // 0x148c + 13'h148d: q = 8'hdf; // 0x148d + 13'h148e: q = 8'h35; // 0x148e + 13'h148f: q = 8'hec; // 0x148f + 13'h1490: q = 8'h35; // 0x1490 + 13'h1491: q = 8'hf9; // 0x1491 + 13'h1492: q = 8'h35; // 0x1492 + 13'h1493: q = 8'h0a; // 0x1493 + 13'h1494: q = 8'h36; // 0x1494 + 13'h1495: q = 8'h1d; // 0x1495 + 13'h1496: q = 8'h36; // 0x1496 + 13'h1497: q = 8'h34; // 0x1497 + 13'h1498: q = 8'h36; // 0x1498 + 13'h1499: q = 8'h54; // 0x1499 + 13'h149a: q = 8'h36; // 0x149a + 13'h149b: q = 8'h6c; // 0x149b + 13'h149c: q = 8'h36; // 0x149c + 13'h149d: q = 8'h83; // 0x149d + 13'h149e: q = 8'h36; // 0x149e + 13'h149f: q = 8'h93; // 0x149f + 13'h14a0: q = 8'h36; // 0x14a0 + 13'h14a1: q = 8'ha2; // 0x14a1 + 13'h14a2: q = 8'h36; // 0x14a2 + 13'h14a3: q = 8'hb3; // 0x14a3 + 13'h14a4: q = 8'h36; // 0x14a4 + 13'h14a5: q = 8'hc2; // 0x14a5 + 13'h14a6: q = 8'h36; // 0x14a6 + 13'h14a7: q = 8'hd1; // 0x14a7 + 13'h14a8: q = 8'h36; // 0x14a8 + 13'h14a9: q = 8'he6; // 0x14a9 + 13'h14aa: q = 8'h36; // 0x14aa + 13'h14ab: q = 8'hf9; // 0x14ab + 13'h14ac: q = 8'h36; // 0x14ac + 13'h14ad: q = 8'h04; // 0x14ad + 13'h14ae: q = 8'h37; // 0x14ae + 13'h14af: q = 8'h13; // 0x14af + 13'h14b0: q = 8'h37; // 0x14b0 + 13'h14b1: q = 8'h2c; // 0x14b1 + 13'h14b2: q = 8'h37; // 0x14b2 + 13'h14b3: q = 8'h3f; // 0x14b3 + 13'h14b4: q = 8'h37; // 0x14b4 + 13'h14b5: q = 8'h4f; // 0x14b5 + 13'h14b6: q = 8'h37; // 0x14b6 + 13'h14b7: q = 8'h5b; // 0x14b7 + 13'h14b8: q = 8'h37; // 0x14b8 + 13'h14b9: q = 8'h67; // 0x14b9 + 13'h14ba: q = 8'h37; // 0x14ba + 13'h14bb: q = 8'h73; // 0x14bb + 13'h14bc: q = 8'h37; // 0x14bc + 13'h14bd: q = 8'h80; // 0x14bd + 13'h14be: q = 8'h37; // 0x14be + 13'h14bf: q = 8'h94; // 0x14bf + 13'h14c0: q = 8'h37; // 0x14c0 + 13'h14c1: q = 8'hb0; // 0x14c1 + 13'h14c2: q = 8'h37; // 0x14c2 + 13'h14c3: q = 8'hc2; // 0x14c3 + 13'h14c4: q = 8'h37; // 0x14c4 + 13'h14c5: q = 8'h6e; // 0x14c5 + 13'h14c6: q = 8'h05; // 0x14c6 + 13'h14c7: q = 8'h51; // 0x14c7 + 13'h14c8: q = 8'h06; // 0x14c8 + 13'h14c9: q = 8'h50; // 0x14c9 + 13'h14ca: q = 8'h4c; // 0x14ca + 13'h14cb: q = 8'h41; // 0x14cb + 13'h14cc: q = 8'h59; // 0x14cc + 13'h14cd: q = 8'h45; // 0x14cd + 13'h14ce: q = 8'h52; // 0x14ce + 13'h14cf: q = 8'ha0; // 0x14cf + 13'h14d0: q = 8'h6e; // 0x14d0 + 13'h14d1: q = 8'h05; // 0x14d1 + 13'h14d2: q = 8'h51; // 0x14d2 + 13'h14d3: q = 8'h06; // 0x14d3 + 13'h14d4: q = 8'h53; // 0x14d4 + 13'h14d5: q = 8'h50; // 0x14d5 + 13'h14d6: q = 8'h49; // 0x14d6 + 13'h14d7: q = 8'h45; // 0x14d7 + 13'h14d8: q = 8'h4c; // 0x14d8 + 13'h14d9: q = 8'h45; // 0x14d9 + 13'h14da: q = 8'h52; // 0x14da + 13'h14db: q = 8'ha0; // 0x14db + 13'h14dc: q = 8'h6e; // 0x14dc + 13'h14dd: q = 8'h05; // 0x14dd + 13'h14de: q = 8'h51; // 0x14de + 13'h14df: q = 8'h06; // 0x14df + 13'h14e0: q = 8'h4a; // 0x14e0 + 13'h14e1: q = 8'h4f; // 0x14e1 + 13'h14e2: q = 8'h55; // 0x14e2 + 13'h14e3: q = 8'h45; // 0x14e3 + 13'h14e4: q = 8'h55; // 0x14e4 + 13'h14e5: q = 8'h52; // 0x14e5 + 13'h14e6: q = 8'ha0; // 0x14e6 + 13'h14e7: q = 8'h6e; // 0x14e7 + 13'h14e8: q = 8'h05; // 0x14e8 + 13'h14e9: q = 8'h51; // 0x14e9 + 13'h14ea: q = 8'h06; // 0x14ea + 13'h14eb: q = 8'h4a; // 0x14eb + 13'h14ec: q = 8'h55; // 0x14ec + 13'h14ed: q = 8'h47; // 0x14ed + 13'h14ee: q = 8'h41; // 0x14ee + 13'h14ef: q = 8'h44; // 0x14ef + 13'h14f0: q = 8'h4f; // 0x14f0 + 13'h14f1: q = 8'h52; // 0x14f1 + 13'h14f2: q = 8'ha0; // 0x14f2 + 13'h14f3: q = 8'h13; // 0x14f3 + 13'h14f4: q = 8'h05; // 0x14f4 + 13'h14f5: q = 8'hac; // 0x14f5 + 13'h14f6: q = 8'h06; // 0x14f6 + 13'h14f7: q = 8'h31; // 0x14f7 + 13'h14f8: q = 8'h20; // 0x14f8 + 13'h14f9: q = 8'h43; // 0x14f9 + 13'h14fa: q = 8'h4f; // 0x14fa + 13'h14fb: q = 8'h49; // 0x14fb + 13'h14fc: q = 8'h4e; // 0x14fc + 13'h14fd: q = 8'h20; // 0x14fd + 13'h14fe: q = 8'h32; // 0x14fe + 13'h14ff: q = 8'h20; // 0x14ff + 13'h1500: q = 8'h50; // 0x1500 + 13'h1501: q = 8'h4c; // 0x1501 + 13'h1502: q = 8'h41; // 0x1502 + 13'h1503: q = 8'h59; // 0x1503 + 13'h1504: q = 8'hd3; // 0x1504 + 13'h1505: q = 8'hf3; // 0x1505 + 13'h1506: q = 8'h04; // 0x1506 + 13'h1507: q = 8'hcc; // 0x1507 + 13'h1508: q = 8'h06; // 0x1508 + 13'h1509: q = 8'h31; // 0x1509 + 13'h150a: q = 8'h20; // 0x150a + 13'h150b: q = 8'h4d; // 0x150b + 13'h150c: q = 8'h55; // 0x150c + 13'h150d: q = 8'h45; // 0x150d + 13'h150e: q = 8'h4e; // 0x150e + 13'h150f: q = 8'h5a; // 0x150f + 13'h1510: q = 8'h45; // 0x1510 + 13'h1511: q = 8'h20; // 0x1511 + 13'h1512: q = 8'h32; // 0x1512 + 13'h1513: q = 8'h20; // 0x1513 + 13'h1514: q = 8'h53; // 0x1514 + 13'h1515: q = 8'h50; // 0x1515 + 13'h1516: q = 8'h49; // 0x1516 + 13'h1517: q = 8'h45; // 0x1517 + 13'h1518: q = 8'h4c; // 0x1518 + 13'h1519: q = 8'hc5; // 0x1519 + 13'h151a: q = 8'hf3; // 0x151a + 13'h151b: q = 8'h04; // 0x151b + 13'h151c: q = 8'hcc; // 0x151c + 13'h151d: q = 8'h06; // 0x151d + 13'h151e: q = 8'h31; // 0x151e + 13'h151f: q = 8'h20; // 0x151f + 13'h1520: q = 8'h50; // 0x1520 + 13'h1521: q = 8'h49; // 0x1521 + 13'h1522: q = 8'h45; // 0x1522 + 13'h1523: q = 8'h43; // 0x1523 + 13'h1524: q = 8'h45; // 0x1524 + 13'h1525: q = 8'h20; // 0x1525 + 13'h1526: q = 8'h32; // 0x1526 + 13'h1527: q = 8'h20; // 0x1527 + 13'h1528: q = 8'h4a; // 0x1528 + 13'h1529: q = 8'h4f; // 0x1529 + 13'h152a: q = 8'h55; // 0x152a + 13'h152b: q = 8'h45; // 0x152b + 13'h152c: q = 8'h55; // 0x152c + 13'h152d: q = 8'h52; // 0x152d + 13'h152e: q = 8'hd3; // 0x152e + 13'h152f: q = 8'hf3; // 0x152f + 13'h1530: q = 8'h04; // 0x1530 + 13'h1531: q = 8'hcc; // 0x1531 + 13'h1532: q = 8'h06; // 0x1532 + 13'h1533: q = 8'h31; // 0x1533 + 13'h1534: q = 8'h20; // 0x1534 + 13'h1535: q = 8'h46; // 0x1535 + 13'h1536: q = 8'h49; // 0x1536 + 13'h1537: q = 8'h43; // 0x1537 + 13'h1538: q = 8'h48; // 0x1538 + 13'h1539: q = 8'h41; // 0x1539 + 13'h153a: q = 8'h20; // 0x153a + 13'h153b: q = 8'h32; // 0x153b + 13'h153c: q = 8'h20; // 0x153c + 13'h153d: q = 8'h4a; // 0x153d + 13'h153e: q = 8'h55; // 0x153e + 13'h153f: q = 8'h45; // 0x153f + 13'h1540: q = 8'h47; // 0x1540 + 13'h1541: q = 8'h4f; // 0x1541 + 13'h1542: q = 8'hd3; // 0x1542 + 13'h1543: q = 8'h13; // 0x1543 + 13'h1544: q = 8'h05; // 0x1544 + 13'h1545: q = 8'hac; // 0x1545 + 13'h1546: q = 8'h06; // 0x1546 + 13'h1547: q = 8'h31; // 0x1547 + 13'h1548: q = 8'h20; // 0x1548 + 13'h1549: q = 8'h43; // 0x1549 + 13'h154a: q = 8'h4f; // 0x154a + 13'h154b: q = 8'h49; // 0x154b + 13'h154c: q = 8'h4e; // 0x154c + 13'h154d: q = 8'h20; // 0x154d + 13'h154e: q = 8'h31; // 0x154e + 13'h154f: q = 8'h20; // 0x154f + 13'h1550: q = 8'h50; // 0x1550 + 13'h1551: q = 8'h4c; // 0x1551 + 13'h1552: q = 8'h41; // 0x1552 + 13'h1553: q = 8'hd9; // 0x1553 + 13'h1554: q = 8'hf3; // 0x1554 + 13'h1555: q = 8'h04; // 0x1555 + 13'h1556: q = 8'hcc; // 0x1556 + 13'h1557: q = 8'h06; // 0x1557 + 13'h1558: q = 8'h31; // 0x1558 + 13'h1559: q = 8'h20; // 0x1559 + 13'h155a: q = 8'h4d; // 0x155a + 13'h155b: q = 8'h55; // 0x155b + 13'h155c: q = 8'h45; // 0x155c + 13'h155d: q = 8'h4e; // 0x155d + 13'h155e: q = 8'h5a; // 0x155e + 13'h155f: q = 8'h45; // 0x155f + 13'h1560: q = 8'h20; // 0x1560 + 13'h1561: q = 8'h31; // 0x1561 + 13'h1562: q = 8'h20; // 0x1562 + 13'h1563: q = 8'h53; // 0x1563 + 13'h1564: q = 8'h50; // 0x1564 + 13'h1565: q = 8'h49; // 0x1565 + 13'h1566: q = 8'h45; // 0x1566 + 13'h1567: q = 8'hcc; // 0x1567 + 13'h1568: q = 8'hf3; // 0x1568 + 13'h1569: q = 8'h04; // 0x1569 + 13'h156a: q = 8'hcc; // 0x156a + 13'h156b: q = 8'h06; // 0x156b + 13'h156c: q = 8'h31; // 0x156c + 13'h156d: q = 8'h20; // 0x156d + 13'h156e: q = 8'h50; // 0x156e + 13'h156f: q = 8'h49; // 0x156f + 13'h1570: q = 8'h45; // 0x1570 + 13'h1571: q = 8'h43; // 0x1571 + 13'h1572: q = 8'h45; // 0x1572 + 13'h1573: q = 8'h20; // 0x1573 + 13'h1574: q = 8'h31; // 0x1574 + 13'h1575: q = 8'h20; // 0x1575 + 13'h1576: q = 8'h4a; // 0x1576 + 13'h1577: q = 8'h4f; // 0x1577 + 13'h1578: q = 8'h55; // 0x1578 + 13'h1579: q = 8'h45; // 0x1579 + 13'h157a: q = 8'h55; // 0x157a + 13'h157b: q = 8'hd2; // 0x157b + 13'h157c: q = 8'hf3; // 0x157c + 13'h157d: q = 8'h04; // 0x157d + 13'h157e: q = 8'hcc; // 0x157e + 13'h157f: q = 8'h06; // 0x157f + 13'h1580: q = 8'h31; // 0x1580 + 13'h1581: q = 8'h20; // 0x1581 + 13'h1582: q = 8'h46; // 0x1582 + 13'h1583: q = 8'h49; // 0x1583 + 13'h1584: q = 8'h43; // 0x1584 + 13'h1585: q = 8'h48; // 0x1585 + 13'h1586: q = 8'h41; // 0x1586 + 13'h1587: q = 8'h20; // 0x1587 + 13'h1588: q = 8'h31; // 0x1588 + 13'h1589: q = 8'h20; // 0x1589 + 13'h158a: q = 8'h4a; // 0x158a + 13'h158b: q = 8'h55; // 0x158b + 13'h158c: q = 8'h45; // 0x158c + 13'h158d: q = 8'h47; // 0x158d + 13'h158e: q = 8'hcf; // 0x158e + 13'h158f: q = 8'h13; // 0x158f + 13'h1590: q = 8'h05; // 0x1590 + 13'h1591: q = 8'hac; // 0x1591 + 13'h1592: q = 8'h06; // 0x1592 + 13'h1593: q = 8'h32; // 0x1593 + 13'h1594: q = 8'h20; // 0x1594 + 13'h1595: q = 8'h43; // 0x1595 + 13'h1596: q = 8'h4f; // 0x1596 + 13'h1597: q = 8'h49; // 0x1597 + 13'h1598: q = 8'h4e; // 0x1598 + 13'h1599: q = 8'h53; // 0x1599 + 13'h159a: q = 8'h20; // 0x159a + 13'h159b: q = 8'h31; // 0x159b + 13'h159c: q = 8'h20; // 0x159c + 13'h159d: q = 8'h50; // 0x159d + 13'h159e: q = 8'h4c; // 0x159e + 13'h159f: q = 8'h41; // 0x159f + 13'h15a0: q = 8'hd9; // 0x15a0 + 13'h15a1: q = 8'hf3; // 0x15a1 + 13'h15a2: q = 8'h04; // 0x15a2 + 13'h15a3: q = 8'hcc; // 0x15a3 + 13'h15a4: q = 8'h06; // 0x15a4 + 13'h15a5: q = 8'h32; // 0x15a5 + 13'h15a6: q = 8'h20; // 0x15a6 + 13'h15a7: q = 8'h4d; // 0x15a7 + 13'h15a8: q = 8'h55; // 0x15a8 + 13'h15a9: q = 8'h45; // 0x15a9 + 13'h15aa: q = 8'h4e; // 0x15aa + 13'h15ab: q = 8'h5a; // 0x15ab + 13'h15ac: q = 8'h45; // 0x15ac + 13'h15ad: q = 8'h4e; // 0x15ad + 13'h15ae: q = 8'h20; // 0x15ae + 13'h15af: q = 8'h31; // 0x15af + 13'h15b0: q = 8'h20; // 0x15b0 + 13'h15b1: q = 8'h53; // 0x15b1 + 13'h15b2: q = 8'h50; // 0x15b2 + 13'h15b3: q = 8'h49; // 0x15b3 + 13'h15b4: q = 8'h45; // 0x15b4 + 13'h15b5: q = 8'hcc; // 0x15b5 + 13'h15b6: q = 8'hf3; // 0x15b6 + 13'h15b7: q = 8'h04; // 0x15b7 + 13'h15b8: q = 8'hcc; // 0x15b8 + 13'h15b9: q = 8'h06; // 0x15b9 + 13'h15ba: q = 8'h32; // 0x15ba + 13'h15bb: q = 8'h20; // 0x15bb + 13'h15bc: q = 8'h50; // 0x15bc + 13'h15bd: q = 8'h49; // 0x15bd + 13'h15be: q = 8'h45; // 0x15be + 13'h15bf: q = 8'h43; // 0x15bf + 13'h15c0: q = 8'h45; // 0x15c0 + 13'h15c1: q = 8'h53; // 0x15c1 + 13'h15c2: q = 8'h20; // 0x15c2 + 13'h15c3: q = 8'h31; // 0x15c3 + 13'h15c4: q = 8'h20; // 0x15c4 + 13'h15c5: q = 8'h4a; // 0x15c5 + 13'h15c6: q = 8'h4f; // 0x15c6 + 13'h15c7: q = 8'h55; // 0x15c7 + 13'h15c8: q = 8'h45; // 0x15c8 + 13'h15c9: q = 8'h55; // 0x15c9 + 13'h15ca: q = 8'hd2; // 0x15ca + 13'h15cb: q = 8'hf3; // 0x15cb + 13'h15cc: q = 8'h04; // 0x15cc + 13'h15cd: q = 8'hcc; // 0x15cd + 13'h15ce: q = 8'h06; // 0x15ce + 13'h15cf: q = 8'h32; // 0x15cf + 13'h15d0: q = 8'h20; // 0x15d0 + 13'h15d1: q = 8'h46; // 0x15d1 + 13'h15d2: q = 8'h49; // 0x15d2 + 13'h15d3: q = 8'h43; // 0x15d3 + 13'h15d4: q = 8'h48; // 0x15d4 + 13'h15d5: q = 8'h41; // 0x15d5 + 13'h15d6: q = 8'h53; // 0x15d6 + 13'h15d7: q = 8'h20; // 0x15d7 + 13'h15d8: q = 8'h31; // 0x15d8 + 13'h15d9: q = 8'h20; // 0x15d9 + 13'h15da: q = 8'h4a; // 0x15da + 13'h15db: q = 8'h55; // 0x15db + 13'h15dc: q = 8'h45; // 0x15dc + 13'h15dd: q = 8'h47; // 0x15dd + 13'h15de: q = 8'hcf; // 0x15de + 13'h15df: q = 8'h6f; // 0x15df + 13'h15e0: q = 8'h05; // 0x15e0 + 13'h15e1: q = 8'h50; // 0x15e1 + 13'h15e2: q = 8'h06; // 0x15e2 + 13'h15e3: q = 8'h47; // 0x15e3 + 13'h15e4: q = 8'h41; // 0x15e4 + 13'h15e5: q = 8'h4d; // 0x15e5 + 13'h15e6: q = 8'h45; // 0x15e6 + 13'h15e7: q = 8'h20; // 0x15e7 + 13'h15e8: q = 8'h4f; // 0x15e8 + 13'h15e9: q = 8'h56; // 0x15e9 + 13'h15ea: q = 8'h45; // 0x15ea + 13'h15eb: q = 8'hd2; // 0x15eb + 13'h15ec: q = 8'h6f; // 0x15ec + 13'h15ed: q = 8'h05; // 0x15ed + 13'h15ee: q = 8'h50; // 0x15ee + 13'h15ef: q = 8'h06; // 0x15ef + 13'h15f0: q = 8'h53; // 0x15f0 + 13'h15f1: q = 8'h50; // 0x15f1 + 13'h15f2: q = 8'h49; // 0x15f2 + 13'h15f3: q = 8'h45; // 0x15f3 + 13'h15f4: q = 8'h4c; // 0x15f4 + 13'h15f5: q = 8'h45; // 0x15f5 + 13'h15f6: q = 8'h4e; // 0x15f6 + 13'h15f7: q = 8'h44; // 0x15f7 + 13'h15f8: q = 8'hc5; // 0x15f8 + 13'h15f9: q = 8'h0f; // 0x15f9 + 13'h15fa: q = 8'h05; // 0x15fa + 13'h15fb: q = 8'hb0; // 0x15fb + 13'h15fc: q = 8'h06; // 0x15fc + 13'h15fd: q = 8'h46; // 0x15fd + 13'h15fe: q = 8'h49; // 0x15fe + 13'h15ff: q = 8'h4e; // 0x15ff + 13'h1600: q = 8'h20; // 0x1600 + 13'h1601: q = 8'h44; // 0x1601 + 13'h1602: q = 8'h45; // 0x1602 + 13'h1603: q = 8'h20; // 0x1603 + 13'h1604: q = 8'h50; // 0x1604 + 13'h1605: q = 8'h41; // 0x1605 + 13'h1606: q = 8'h52; // 0x1606 + 13'h1607: q = 8'h54; // 0x1607 + 13'h1608: q = 8'h49; // 0x1608 + 13'h1609: q = 8'hc5; // 0x1609 + 13'h160a: q = 8'hef; // 0x160a + 13'h160b: q = 8'h04; // 0x160b + 13'h160c: q = 8'hd0; // 0x160c + 13'h160d: q = 8'h06; // 0x160d + 13'h160e: q = 8'h4a; // 0x160e + 13'h160f: q = 8'h55; // 0x160f + 13'h1610: q = 8'h45; // 0x1610 + 13'h1611: q = 8'h47; // 0x1611 + 13'h1612: q = 8'h4f; // 0x1612 + 13'h1613: q = 8'h20; // 0x1613 + 13'h1614: q = 8'h54; // 0x1614 + 13'h1615: q = 8'h45; // 0x1615 + 13'h1616: q = 8'h52; // 0x1616 + 13'h1617: q = 8'h4d; // 0x1617 + 13'h1618: q = 8'h49; // 0x1618 + 13'h1619: q = 8'h4e; // 0x1619 + 13'h161a: q = 8'h41; // 0x161a + 13'h161b: q = 8'h44; // 0x161b + 13'h161c: q = 8'hcf; // 0x161c + 13'h161d: q = 8'hab; // 0x161d + 13'h161e: q = 8'h04; // 0x161e + 13'h161f: q = 8'h14; // 0x161f + 13'h1620: q = 8'h07; // 0x1620 + 13'h1621: q = 8'h45; // 0x1621 + 13'h1622: q = 8'h4e; // 0x1622 + 13'h1623: q = 8'h54; // 0x1623 + 13'h1624: q = 8'h45; // 0x1624 + 13'h1625: q = 8'h52; // 0x1625 + 13'h1626: q = 8'h20; // 0x1626 + 13'h1627: q = 8'h59; // 0x1627 + 13'h1628: q = 8'h4f; // 0x1628 + 13'h1629: q = 8'h55; // 0x1629 + 13'h162a: q = 8'h52; // 0x162a + 13'h162b: q = 8'h20; // 0x162b + 13'h162c: q = 8'h49; // 0x162c + 13'h162d: q = 8'h4e; // 0x162d + 13'h162e: q = 8'h49; // 0x162e + 13'h162f: q = 8'h54; // 0x162f + 13'h1630: q = 8'h49; // 0x1630 + 13'h1631: q = 8'h41; // 0x1631 + 13'h1632: q = 8'h4c; // 0x1632 + 13'h1633: q = 8'hd3; // 0x1633 + 13'h1634: q = 8'h2b; // 0x1634 + 13'h1635: q = 8'h04; // 0x1635 + 13'h1636: q = 8'h94; // 0x1636 + 13'h1637: q = 8'h07; // 0x1637 + 13'h1638: q = 8'h47; // 0x1638 + 13'h1639: q = 8'h45; // 0x1639 + 13'h163a: q = 8'h42; // 0x163a + 13'h163b: q = 8'h45; // 0x163b + 13'h163c: q = 8'h4e; // 0x163c + 13'h163d: q = 8'h20; // 0x163d + 13'h163e: q = 8'h53; // 0x163e + 13'h163f: q = 8'h49; // 0x163f + 13'h1640: q = 8'h45; // 0x1640 + 13'h1641: q = 8'h20; // 0x1641 + 13'h1642: q = 8'h49; // 0x1642 + 13'h1643: q = 8'h48; // 0x1643 + 13'h1644: q = 8'h52; // 0x1644 + 13'h1645: q = 8'h45; // 0x1645 + 13'h1646: q = 8'h20; // 0x1646 + 13'h1647: q = 8'h49; // 0x1647 + 13'h1648: q = 8'h4e; // 0x1648 + 13'h1649: q = 8'h49; // 0x1649 + 13'h164a: q = 8'h54; // 0x164a + 13'h164b: q = 8'h49; // 0x164b + 13'h164c: q = 8'h41; // 0x164c + 13'h164d: q = 8'h4c; // 0x164d + 13'h164e: q = 8'h45; // 0x164e + 13'h164f: q = 8'h4e; // 0x164f + 13'h1650: q = 8'h20; // 0x1650 + 13'h1651: q = 8'h45; // 0x1651 + 13'h1652: q = 8'h49; // 0x1652 + 13'h1653: q = 8'hce; // 0x1653 + 13'h1654: q = 8'h8b; // 0x1654 + 13'h1655: q = 8'h04; // 0x1655 + 13'h1656: q = 8'h34; // 0x1656 + 13'h1657: q = 8'h07; // 0x1657 + 13'h1658: q = 8'h45; // 0x1658 + 13'h1659: q = 8'h4e; // 0x1659 + 13'h165a: q = 8'h54; // 0x165a + 13'h165b: q = 8'h52; // 0x165b + 13'h165c: q = 8'h45; // 0x165c + 13'h165d: q = 8'h5a; // 0x165d + 13'h165e: q = 8'h20; // 0x165e + 13'h165f: q = 8'h56; // 0x165f + 13'h1660: q = 8'h4f; // 0x1660 + 13'h1661: q = 8'h53; // 0x1661 + 13'h1662: q = 8'h20; // 0x1662 + 13'h1663: q = 8'h49; // 0x1663 + 13'h1664: q = 8'h4e; // 0x1664 + 13'h1665: q = 8'h49; // 0x1665 + 13'h1666: q = 8'h54; // 0x1666 + 13'h1667: q = 8'h49; // 0x1667 + 13'h1668: q = 8'h41; // 0x1668 + 13'h1669: q = 8'h4c; // 0x1669 + 13'h166a: q = 8'h45; // 0x166a + 13'h166b: q = 8'hd3; // 0x166b + 13'h166c: q = 8'h8b; // 0x166c + 13'h166d: q = 8'h04; // 0x166d + 13'h166e: q = 8'h34; // 0x166e + 13'h166f: q = 8'h07; // 0x166f + 13'h1670: q = 8'h45; // 0x1670 + 13'h1671: q = 8'h4e; // 0x1671 + 13'h1672: q = 8'h54; // 0x1672 + 13'h1673: q = 8'h52; // 0x1673 + 13'h1674: q = 8'h45; // 0x1674 + 13'h1675: q = 8'h20; // 0x1675 + 13'h1676: q = 8'h53; // 0x1676 + 13'h1677: q = 8'h55; // 0x1677 + 13'h1678: q = 8'h53; // 0x1678 + 13'h1679: q = 8'h20; // 0x1679 + 13'h167a: q = 8'h49; // 0x167a + 13'h167b: q = 8'h4e; // 0x167b + 13'h167c: q = 8'h49; // 0x167c + 13'h167d: q = 8'h43; // 0x167d + 13'h167e: q = 8'h49; // 0x167e + 13'h167f: q = 8'h41; // 0x167f + 13'h1680: q = 8'h4c; // 0x1680 + 13'h1681: q = 8'h45; // 0x1681 + 13'h1682: q = 8'hd3; // 0x1682 + 13'h1683: q = 8'hf1; // 0x1683 + 13'h1684: q = 8'h04; // 0x1684 + 13'h1685: q = 8'hce; // 0x1685 + 13'h1686: q = 8'h06; // 0x1686 + 13'h1687: q = 8'h42; // 0x1687 + 13'h1688: q = 8'h4f; // 0x1688 + 13'h1689: q = 8'h4e; // 0x1689 + 13'h168a: q = 8'h55; // 0x168a + 13'h168b: q = 8'h53; // 0x168b + 13'h168c: q = 8'h20; // 0x168c + 13'h168d: q = 8'h45; // 0x168d + 13'h168e: q = 8'h56; // 0x168e + 13'h168f: q = 8'h45; // 0x168f + 13'h1690: q = 8'h52; // 0x1690 + 13'h1691: q = 8'h59; // 0x1691 + 13'h1692: q = 8'ha0; // 0x1692 + 13'h1693: q = 8'hf1; // 0x1693 + 13'h1694: q = 8'h04; // 0x1694 + 13'h1695: q = 8'hce; // 0x1695 + 13'h1696: q = 8'h06; // 0x1696 + 13'h1697: q = 8'h42; // 0x1697 + 13'h1698: q = 8'h4f; // 0x1698 + 13'h1699: q = 8'h4e; // 0x1699 + 13'h169a: q = 8'h55; // 0x169a + 13'h169b: q = 8'h53; // 0x169b + 13'h169c: q = 8'h20; // 0x169c + 13'h169d: q = 8'h4a; // 0x169d + 13'h169e: q = 8'h45; // 0x169e + 13'h169f: q = 8'h44; // 0x169f + 13'h16a0: q = 8'h45; // 0x16a0 + 13'h16a1: q = 8'ha0; // 0x16a1 + 13'h16a2: q = 8'hd1; // 0x16a2 + 13'h16a3: q = 8'h04; // 0x16a3 + 13'h16a4: q = 8'hee; // 0x16a4 + 13'h16a5: q = 8'h06; // 0x16a5 + 13'h16a6: q = 8'h42; // 0x16a6 + 13'h16a7: q = 8'h4f; // 0x16a7 + 13'h16a8: q = 8'h4e; // 0x16a8 + 13'h16a9: q = 8'h55; // 0x16a9 + 13'h16aa: q = 8'h53; // 0x16aa + 13'h16ab: q = 8'h20; // 0x16ab + 13'h16ac: q = 8'h43; // 0x16ac + 13'h16ad: q = 8'h48; // 0x16ad + 13'h16ae: q = 8'h41; // 0x16ae + 13'h16af: q = 8'h51; // 0x16af + 13'h16b0: q = 8'h55; // 0x16b0 + 13'h16b1: q = 8'h45; // 0x16b1 + 13'h16b2: q = 8'ha0; // 0x16b2 + 13'h16b3: q = 8'hf1; // 0x16b3 + 13'h16b4: q = 8'h04; // 0x16b4 + 13'h16b5: q = 8'hce; // 0x16b5 + 13'h16b6: q = 8'h06; // 0x16b6 + 13'h16b7: q = 8'h45; // 0x16b7 + 13'h16b8: q = 8'h58; // 0x16b8 + 13'h16b9: q = 8'h54; // 0x16b9 + 13'h16ba: q = 8'h52; // 0x16ba + 13'h16bb: q = 8'h41; // 0x16bb + 13'h16bc: q = 8'h20; // 0x16bc + 13'h16bd: q = 8'h43; // 0x16bd + 13'h16be: q = 8'h41; // 0x16be + 13'h16bf: q = 8'h44; // 0x16bf + 13'h16c0: q = 8'h41; // 0x16c0 + 13'h16c1: q = 8'ha0; // 0x16c1 + 13'h16c2: q = 8'h5d; // 0x16c2 + 13'h16c3: q = 8'h05; // 0x16c3 + 13'h16c4: q = 8'h62; // 0x16c4 + 13'h16c5: q = 8'h06; // 0x16c5 + 13'h16c6: q = 8'h48; // 0x16c6 + 13'h16c7: q = 8'h49; // 0x16c7 + 13'h16c8: q = 8'h47; // 0x16c8 + 13'h16c9: q = 8'h48; // 0x16c9 + 13'h16ca: q = 8'h20; // 0x16ca + 13'h16cb: q = 8'h53; // 0x16cb + 13'h16cc: q = 8'h43; // 0x16cc + 13'h16cd: q = 8'h4f; // 0x16cd + 13'h16ce: q = 8'h52; // 0x16ce + 13'h16cf: q = 8'h45; // 0x16cf + 13'h16d0: q = 8'hd3; // 0x16d0 + 13'h16d1: q = 8'hdd; // 0x16d1 + 13'h16d2: q = 8'h04; // 0x16d2 + 13'h16d3: q = 8'he2; // 0x16d3 + 13'h16d4: q = 8'h06; // 0x16d4 + 13'h16d5: q = 8'h48; // 0x16d5 + 13'h16d6: q = 8'h4f; // 0x16d6 + 13'h16d7: q = 8'h45; // 0x16d7 + 13'h16d8: q = 8'h43; // 0x16d8 + 13'h16d9: q = 8'h48; // 0x16d9 + 13'h16da: q = 8'h53; // 0x16da + 13'h16db: q = 8'h54; // 0x16db + 13'h16dc: q = 8'h45; // 0x16dc + 13'h16dd: q = 8'h52; // 0x16dd + 13'h16de: q = 8'h47; // 0x16de + 13'h16df: q = 8'h45; // 0x16df + 13'h16e0: q = 8'h42; // 0x16e0 + 13'h16e1: q = 8'h4e; // 0x16e1 + 13'h16e2: q = 8'h49; // 0x16e2 + 13'h16e3: q = 8'h53; // 0x16e3 + 13'h16e4: q = 8'h53; // 0x16e4 + 13'h16e5: q = 8'hc5; // 0x16e5 + 13'h16e6: q = 8'h1d; // 0x16e6 + 13'h16e7: q = 8'h05; // 0x16e7 + 13'h16e8: q = 8'ha2; // 0x16e8 + 13'h16e9: q = 8'h06; // 0x16e9 + 13'h16ea: q = 8'h4d; // 0x16ea + 13'h16eb: q = 8'h45; // 0x16eb + 13'h16ec: q = 8'h49; // 0x16ec + 13'h16ed: q = 8'h4c; // 0x16ed + 13'h16ee: q = 8'h4c; // 0x16ee + 13'h16ef: q = 8'h45; // 0x16ef + 13'h16f0: q = 8'h55; // 0x16f0 + 13'h16f1: q = 8'h52; // 0x16f1 + 13'h16f2: q = 8'h53; // 0x16f2 + 13'h16f3: q = 8'h20; // 0x16f3 + 13'h16f4: q = 8'h53; // 0x16f4 + 13'h16f5: q = 8'h43; // 0x16f5 + 13'h16f6: q = 8'h4f; // 0x16f6 + 13'h16f7: q = 8'h52; // 0x16f7 + 13'h16f8: q = 8'hc5; // 0x16f8 + 13'h16f9: q = 8'h9d; // 0x16f9 + 13'h16fa: q = 8'h05; // 0x16fa + 13'h16fb: q = 8'h22; // 0x16fb + 13'h16fc: q = 8'h06; // 0x16fc + 13'h16fd: q = 8'h52; // 0x16fd + 13'h16fe: q = 8'h45; // 0x16fe + 13'h16ff: q = 8'h43; // 0x16ff + 13'h1700: q = 8'h4f; // 0x1700 + 13'h1701: q = 8'h52; // 0x1701 + 13'h1702: q = 8'h44; // 0x1702 + 13'h1703: q = 8'hd3; // 0x1703 + 13'h1704: q = 8'h2c; // 0x1704 + 13'h1705: q = 8'h05; // 0x1705 + 13'h1706: q = 8'h93; // 0x1706 + 13'h1707: q = 8'h06; // 0x1707 + 13'h1708: q = 8'h47; // 0x1708 + 13'h1709: q = 8'h52; // 0x1709 + 13'h170a: q = 8'h45; // 0x170a + 13'h170b: q = 8'h41; // 0x170b + 13'h170c: q = 8'h54; // 0x170c + 13'h170d: q = 8'h20; // 0x170d + 13'h170e: q = 8'h53; // 0x170e + 13'h170f: q = 8'h43; // 0x170f + 13'h1710: q = 8'h4f; // 0x1710 + 13'h1711: q = 8'h52; // 0x1711 + 13'h1712: q = 8'hc5; // 0x1712 + 13'h1713: q = 8'h8c; // 0x1713 + 13'h1714: q = 8'h04; // 0x1714 + 13'h1715: q = 8'h33; // 0x1715 + 13'h1716: q = 8'h07; // 0x1716 + 13'h1717: q = 8'h47; // 0x1717 + 13'h1718: q = 8'h52; // 0x1718 + 13'h1719: q = 8'h4f; // 0x1719 + 13'h171a: q = 8'h53; // 0x171a + 13'h171b: q = 8'h53; // 0x171b + 13'h171c: q = 8'h41; // 0x171c + 13'h171d: q = 8'h52; // 0x171d + 13'h171e: q = 8'h54; // 0x171e + 13'h171f: q = 8'h49; // 0x171f + 13'h1720: q = 8'h47; // 0x1720 + 13'h1721: q = 8'h45; // 0x1721 + 13'h1722: q = 8'h53; // 0x1722 + 13'h1723: q = 8'h20; // 0x1723 + 13'h1724: q = 8'h45; // 0x1724 + 13'h1725: q = 8'h52; // 0x1725 + 13'h1726: q = 8'h47; // 0x1726 + 13'h1727: q = 8'h45; // 0x1727 + 13'h1728: q = 8'h42; // 0x1728 + 13'h1729: q = 8'h4e; // 0x1729 + 13'h172a: q = 8'h49; // 0x172a + 13'h172b: q = 8'hd3; // 0x172b + 13'h172c: q = 8'hec; // 0x172c + 13'h172d: q = 8'h04; // 0x172d + 13'h172e: q = 8'hd3; // 0x172e + 13'h172f: q = 8'h06; // 0x172f + 13'h1730: q = 8'h53; // 0x1730 + 13'h1731: q = 8'h50; // 0x1731 + 13'h1732: q = 8'h4c; // 0x1732 + 13'h1733: q = 8'h45; // 0x1733 + 13'h1734: q = 8'h4e; // 0x1734 + 13'h1735: q = 8'h44; // 0x1735 + 13'h1736: q = 8'h49; // 0x1736 + 13'h1737: q = 8'h44; // 0x1737 + 13'h1738: q = 8'h45; // 0x1738 + 13'h1739: q = 8'h20; // 0x1739 + 13'h173a: q = 8'h53; // 0x173a + 13'h173b: q = 8'h43; // 0x173b + 13'h173c: q = 8'h4f; // 0x173c + 13'h173d: q = 8'h52; // 0x173d + 13'h173e: q = 8'hc5; // 0x173e + 13'h173f: q = 8'h0c; // 0x173f + 13'h1740: q = 8'h05; // 0x1740 + 13'h1741: q = 8'hb3; // 0x1741 + 13'h1742: q = 8'h06; // 0x1742 + 13'h1743: q = 8'h47; // 0x1743 + 13'h1744: q = 8'h52; // 0x1744 + 13'h1745: q = 8'h41; // 0x1745 + 13'h1746: q = 8'h4e; // 0x1746 + 13'h1747: q = 8'h20; // 0x1747 + 13'h1748: q = 8'h50; // 0x1748 + 13'h1749: q = 8'h55; // 0x1749 + 13'h174a: q = 8'h4e; // 0x174a + 13'h174b: q = 8'h54; // 0x174b + 13'h174c: q = 8'h41; // 0x174c + 13'h174d: q = 8'h4a; // 0x174d + 13'h174e: q = 8'hc5; // 0x174e + 13'h174f: q = 8'h52; // 0x174f + 13'h1750: q = 8'h05; // 0x1750 + 13'h1751: q = 8'h6d; // 0x1751 + 13'h1752: q = 8'h06; // 0x1752 + 13'h1753: q = 8'h43; // 0x1753 + 13'h1754: q = 8'h52; // 0x1754 + 13'h1755: q = 8'h45; // 0x1755 + 13'h1756: q = 8'h44; // 0x1756 + 13'h1757: q = 8'h49; // 0x1757 + 13'h1758: q = 8'h54; // 0x1758 + 13'h1759: q = 8'h53; // 0x1759 + 13'h175a: q = 8'ha0; // 0x175a + 13'h175b: q = 8'h52; // 0x175b + 13'h175c: q = 8'h05; // 0x175c + 13'h175d: q = 8'h6d; // 0x175d + 13'h175e: q = 8'h06; // 0x175e + 13'h175f: q = 8'h4b; // 0x175f + 13'h1760: q = 8'h52; // 0x1760 + 13'h1761: q = 8'h45; // 0x1761 + 13'h1762: q = 8'h44; // 0x1762 + 13'h1763: q = 8'h49; // 0x1763 + 13'h1764: q = 8'h54; // 0x1764 + 13'h1765: q = 8'h45; // 0x1765 + 13'h1766: q = 8'ha0; // 0x1766 + 13'h1767: q = 8'h52; // 0x1767 + 13'h1768: q = 8'h05; // 0x1768 + 13'h1769: q = 8'h6d; // 0x1769 + 13'h176a: q = 8'h06; // 0x176a + 13'h176b: q = 8'h43; // 0x176b + 13'h176c: q = 8'h52; // 0x176c + 13'h176d: q = 8'h45; // 0x176d + 13'h176e: q = 8'h44; // 0x176e + 13'h176f: q = 8'h49; // 0x176f + 13'h1770: q = 8'h54; // 0x1770 + 13'h1771: q = 8'h53; // 0x1771 + 13'h1772: q = 8'ha0; // 0x1772 + 13'h1773: q = 8'h52; // 0x1773 + 13'h1774: q = 8'h05; // 0x1774 + 13'h1775: q = 8'h6d; // 0x1775 + 13'h1776: q = 8'h06; // 0x1776 + 13'h1777: q = 8'h43; // 0x1777 + 13'h1778: q = 8'h52; // 0x1778 + 13'h1779: q = 8'h45; // 0x1779 + 13'h177a: q = 8'h44; // 0x177a + 13'h177b: q = 8'h49; // 0x177b + 13'h177c: q = 8'h54; // 0x177c + 13'h177d: q = 8'h4f; // 0x177d + 13'h177e: q = 8'h53; // 0x177e + 13'h177f: q = 8'ha0; // 0x177f + 13'h1780: q = 8'hf0; // 0x1780 + 13'h1781: q = 8'h04; // 0x1781 + 13'h1782: q = 8'hcf; // 0x1782 + 13'h1783: q = 8'h06; // 0x1783 + 13'h1784: q = 8'h32; // 0x1784 + 13'h1785: q = 8'h20; // 0x1785 + 13'h1786: q = 8'h43; // 0x1786 + 13'h1787: q = 8'h52; // 0x1787 + 13'h1788: q = 8'h45; // 0x1788 + 13'h1789: q = 8'h44; // 0x1789 + 13'h178a: q = 8'h49; // 0x178a + 13'h178b: q = 8'h54; // 0x178b + 13'h178c: q = 8'h20; // 0x178c + 13'h178d: q = 8'h4d; // 0x178d + 13'h178e: q = 8'h49; // 0x178e + 13'h178f: q = 8'h4e; // 0x178f + 13'h1790: q = 8'h49; // 0x1790 + 13'h1791: q = 8'h4d; // 0x1791 + 13'h1792: q = 8'h55; // 0x1792 + 13'h1793: q = 8'hcd; // 0x1793 + 13'h1794: q = 8'h30; // 0x1794 + 13'h1795: q = 8'h04; // 0x1795 + 13'h1796: q = 8'h8f; // 0x1796 + 13'h1797: q = 8'h07; // 0x1797 + 13'h1798: q = 8'h47; // 0x1798 + 13'h1799: q = 8'h45; // 0x1799 + 13'h179a: q = 8'h4c; // 0x179a + 13'h179b: q = 8'h44; // 0x179b + 13'h179c: q = 8'h45; // 0x179c + 13'h179d: q = 8'h49; // 0x179d + 13'h179e: q = 8'h4e; // 0x179e + 13'h179f: q = 8'h57; // 0x179f + 13'h17a0: q = 8'h55; // 0x17a0 + 13'h17a1: q = 8'h52; // 0x17a1 + 13'h17a2: q = 8'h46; // 0x17a2 + 13'h17a3: q = 8'h20; // 0x17a3 + 13'h17a4: q = 8'h46; // 0x17a4 + 13'h17a5: q = 8'h55; // 0x17a5 + 13'h17a6: q = 8'h52; // 0x17a6 + 13'h17a7: q = 8'h20; // 0x17a7 + 13'h17a8: q = 8'h32; // 0x17a8 + 13'h17a9: q = 8'h20; // 0x17a9 + 13'h17aa: q = 8'h53; // 0x17aa + 13'h17ab: q = 8'h50; // 0x17ab + 13'h17ac: q = 8'h49; // 0x17ac + 13'h17ad: q = 8'h45; // 0x17ad + 13'h17ae: q = 8'h4c; // 0x17ae + 13'h17af: q = 8'hc5; // 0x17af + 13'h17b0: q = 8'hf0; // 0x17b0 + 13'h17b1: q = 8'h04; // 0x17b1 + 13'h17b2: q = 8'hcf; // 0x17b2 + 13'h17b3: q = 8'h06; // 0x17b3 + 13'h17b4: q = 8'h32; // 0x17b4 + 13'h17b5: q = 8'h20; // 0x17b5 + 13'h17b6: q = 8'h4a; // 0x17b6 + 13'h17b7: q = 8'h55; // 0x17b7 + 13'h17b8: q = 8'h45; // 0x17b8 + 13'h17b9: q = 8'h58; // 0x17b9 + 13'h17ba: q = 8'h20; // 0x17ba + 13'h17bb: q = 8'h4d; // 0x17bb + 13'h17bc: q = 8'h49; // 0x17bc + 13'h17bd: q = 8'h4e; // 0x17bd + 13'h17be: q = 8'h49; // 0x17be + 13'h17bf: q = 8'h4d; // 0x17bf + 13'h17c0: q = 8'h55; // 0x17c0 + 13'h17c1: q = 8'hcd; // 0x17c1 + 13'h17c2: q = 8'hf0; // 0x17c2 + 13'h17c3: q = 8'h04; // 0x17c3 + 13'h17c4: q = 8'hcf; // 0x17c4 + 13'h17c5: q = 8'h06; // 0x17c5 + 13'h17c6: q = 8'h32; // 0x17c6 + 13'h17c7: q = 8'h20; // 0x17c7 + 13'h17c8: q = 8'h4a; // 0x17c8 + 13'h17c9: q = 8'h55; // 0x17c9 + 13'h17ca: q = 8'h45; // 0x17ca + 13'h17cb: q = 8'h47; // 0x17cb + 13'h17cc: q = 8'h41; // 0x17cc + 13'h17cd: q = 8'h53; // 0x17cd + 13'h17ce: q = 8'h20; // 0x17ce + 13'h17cf: q = 8'h4d; // 0x17cf + 13'h17d0: q = 8'h49; // 0x17d0 + 13'h17d1: q = 8'h4e; // 0x17d1 + 13'h17d2: q = 8'h49; // 0x17d2 + 13'h17d3: q = 8'h4d; // 0x17d3 + 13'h17d4: q = 8'hb0; // 0x17d4 + 13'h17d5: q = 8'h0a; // 0x17d5 + 13'h17d6: q = 8'h66; // 0x17d6 + 13'h17d7: q = 8'h8c; // 0x17d7 + 13'h17d8: q = 8'ha8; // 0x17d8 + 13'h17d9: q = 8'h0a; // 0x17d9 + 13'h17da: q = 8'h85; // 0x17da + 13'h17db: q = 8'h8b; // 0x17db + 13'h17dc: q = 8'ha5; // 0x17dc + 13'h17dd: q = 8'hfd; // 0x17dd + 13'h17de: q = 8'h29; // 0x17de + 13'h17df: q = 8'h03; // 0x17df + 13'h17e0: q = 8'h05; // 0x17e0 + 13'h17e1: q = 8'h8b; // 0x17e1 + 13'h17e2: q = 8'h0a; // 0x17e2 + 13'h17e3: q = 8'haa; // 0x17e3 + 13'h17e4: q = 8'hbd; // 0x17e4 + 13'h17e5: q = 8'h6d; // 0x17e5 + 13'h17e6: q = 8'h34; // 0x17e6 + 13'h17e7: q = 8'h85; // 0x17e7 + 13'h17e8: q = 8'h93; // 0x17e8 + 13'h17e9: q = 8'hbd; // 0x17e9 + 13'h17ea: q = 8'h6e; // 0x17ea + 13'h17eb: q = 8'h34; // 0x17eb + 13'h17ec: q = 8'h85; // 0x17ec + 13'h17ed: q = 8'h94; // 0x17ed + 13'h17ee: q = 8'ha0; // 0x17ee + 13'h17ef: q = 8'h00; // 0x17ef + 13'h17f0: q = 8'ha6; // 0x17f0 + 13'h17f1: q = 8'hef; // 0x17f1 + 13'h17f2: q = 8'hf0; // 0x17f2 + 13'h17f3: q = 8'h02; // 0x17f3 + 13'h17f4: q = 8'ha0; // 0x17f4 + 13'h17f5: q = 8'h02; // 0x17f5 + 13'h17f6: q = 8'hb1; // 0x17f6 + 13'h17f7: q = 8'h93; // 0x17f7 + 13'h17f8: q = 8'h85; // 0x17f8 + 13'h17f9: q = 8'h91; // 0x17f9 + 13'h17fa: q = 8'hc8; // 0x17fa + 13'h17fb: q = 8'hb1; // 0x17fb + 13'h17fc: q = 8'h93; // 0x17fc + 13'h17fd: q = 8'h85; // 0x17fd + 13'h17fe: q = 8'h92; // 0x17fe + 13'h17ff: q = 8'ha0; // 0x17ff + // ../src/centiped3/136001-310.j1 + 13'h1800: q = 8'h04; // 0x1800 + 13'h1801: q = 8'h84; // 0x1801 + 13'h1802: q = 8'h8b; // 0x1802 + 13'h1803: q = 8'ha4; // 0x1803 + 13'h1804: q = 8'h8b; // 0x1804 + 13'h1805: q = 8'hb1; // 0x1805 + 13'h1806: q = 8'h93; // 0x1806 + 13'h1807: q = 8'h29; // 0x1807 + 13'h1808: q = 8'h3f; // 0x1808 + 13'h1809: q = 8'hc9; // 0x1809 + 13'h180a: q = 8'h20; // 0x180a + 13'h180b: q = 8'hf0; // 0x180b + 13'h180c: q = 8'h04; // 0x180c + 13'h180d: q = 8'ha6; // 0x180d + 13'h180e: q = 8'h8c; // 0x180e + 13'h180f: q = 8'h10; // 0x180f + 13'h1810: q = 8'h02; // 0x1810 + 13'h1811: q = 8'ha9; // 0x1811 + 13'h1812: q = 8'h00; // 0x1812 + 13'h1813: q = 8'hc9; // 0x1813 + 13'h1814: q = 8'h30; // 0x1814 + 13'h1815: q = 8'h90; // 0x1815 + 13'h1816: q = 8'h02; // 0x1816 + 13'h1817: q = 8'h29; // 0x1817 + 13'h1818: q = 8'h2f; // 0x1818 + 13'h1819: q = 8'h20; // 0x1819 + 13'h181a: q = 8'h36; // 0x181a + 13'h181b: q = 8'h38; // 0x181b + 13'h181c: q = 8'ha4; // 0x181c + 13'h181d: q = 8'h8b; // 0x181d + 13'h181e: q = 8'he6; // 0x181e + 13'h181f: q = 8'h8b; // 0x181f + 13'h1820: q = 8'hb1; // 0x1820 + 13'h1821: q = 8'h93; // 0x1821 + 13'h1822: q = 8'h10; // 0x1822 + 13'h1823: q = 8'hdf; // 0x1823 + 13'h1824: q = 8'h60; // 0x1824 + 13'h1825: q = 8'ha0; // 0x1825 + 13'h1826: q = 8'h00; // 0x1826 + 13'h1827: q = 8'h84; // 0x1827 + 13'h1828: q = 8'h8c; // 0x1828 + 13'h1829: q = 8'hf0; // 0x1829 + 13'h182a: q = 8'hd6; // 0x182a + 13'h182b: q = 8'h10; // 0x182b + 13'h182c: q = 8'h05; // 0x182c + 13'h182d: q = 8'h49; // 0x182d + 13'h182e: q = 8'hff; // 0x182e + 13'h182f: q = 8'h18; // 0x182f + 13'h1830: q = 8'h69; // 0x1830 + 13'h1831: q = 8'h01; // 0x1831 + 13'h1832: q = 8'h60; // 0x1832 + 13'h1833: q = 8'hb9; // 0x1833 + 13'h1834: q = 8'h1a; // 0x1834 + 13'h1835: q = 8'h00; // 0x1835 + 13'h1836: q = 8'ha8; // 0x1836 + 13'h1837: q = 8'hf0; // 0x1837 + 13'h1838: q = 8'h02; // 0x1838 + 13'h1839: q = 8'h45; // 0x1839 + 13'h183a: q = 8'hef; // 0x183a + 13'h183b: q = 8'ha0; // 0x183b + 13'h183c: q = 8'h00; // 0x183c + 13'h183d: q = 8'h91; // 0x183d + 13'h183e: q = 8'h91; // 0x183e + 13'h183f: q = 8'ha9; // 0x183f + 13'h1840: q = 8'h20; // 0x1840 + 13'h1841: q = 8'h45; // 0x1841 + 13'h1842: q = 8'hef; // 0x1842 + 13'h1843: q = 8'h18; // 0x1843 + 13'h1844: q = 8'h65; // 0x1844 + 13'h1845: q = 8'h91; // 0x1845 + 13'h1846: q = 8'h85; // 0x1846 + 13'h1847: q = 8'h91; // 0x1847 + 13'h1848: q = 8'ha5; // 0x1848 + 13'h1849: q = 8'hf3; // 0x1849 + 13'h184a: q = 8'h65; // 0x184a + 13'h184b: q = 8'h92; // 0x184b + 13'h184c: q = 8'h85; // 0x184c + 13'h184d: q = 8'h92; // 0x184d + 13'h184e: q = 8'h60; // 0x184e + 13'h184f: q = 8'h48; // 0x184f + 13'h1850: q = 8'h08; // 0x1850 + 13'h1851: q = 8'h4a; // 0x1851 + 13'h1852: q = 8'h4a; // 0x1852 + 13'h1853: q = 8'h4a; // 0x1853 + 13'h1854: q = 8'h4a; // 0x1854 + 13'h1855: q = 8'h28; // 0x1855 + 13'h1856: q = 8'h20; // 0x1856 + 13'h1857: q = 8'h5c; // 0x1857 + 13'h1858: q = 8'h38; // 0x1858 + 13'h1859: q = 8'h68; // 0x1859 + 13'h185a: q = 8'h29; // 0x185a + 13'h185b: q = 8'h0f; // 0x185b + 13'h185c: q = 8'h90; // 0x185c + 13'h185d: q = 8'h04; // 0x185d + 13'h185e: q = 8'h29; // 0x185e + 13'h185f: q = 8'h0f; // 0x185f + 13'h1860: q = 8'hf0; // 0x1860 + 13'h1861: q = 8'h03; // 0x1861 + 13'h1862: q = 8'h18; // 0x1862 + 13'h1863: q = 8'h09; // 0x1863 + 13'h1864: q = 8'h20; // 0x1864 + 13'h1865: q = 8'h08; // 0x1865 + 13'h1866: q = 8'hc9; // 0x1866 + 13'h1867: q = 8'h2a; // 0x1867 + 13'h1868: q = 8'h90; // 0x1868 + 13'h1869: q = 8'h02; // 0x1869 + 13'h186a: q = 8'he9; // 0x186a + 13'h186b: q = 8'h29; // 0x186b + 13'h186c: q = 8'h20; // 0x186c + 13'h186d: q = 8'h36; // 0x186d + 13'h186e: q = 8'h38; // 0x186e + 13'h186f: q = 8'h28; // 0x186f + 13'h1870: q = 8'h60; // 0x1870 + 13'h1871: q = 8'h48; // 0x1871 + 13'h1872: q = 8'h8a; // 0x1872 + 13'h1873: q = 8'h48; // 0x1873 + 13'h1874: q = 8'h98; // 0x1874 + 13'h1875: q = 8'h48; // 0x1875 + 13'h1876: q = 8'hd8; // 0x1876 + 13'h1877: q = 8'ha5; // 0x1877 + 13'h1878: q = 8'hd2; // 0x1878 + 13'h1879: q = 8'hf0; // 0x1879 + 13'h187a: q = 8'h0a; // 0x187a + 13'h187b: q = 8'ha9; // 0x187b + 13'h187c: q = 8'h10; // 0x187c + 13'h187d: q = 8'h8d; // 0x187d + 13'h187e: q = 8'h02; // 0x187e + 13'h187f: q = 8'h10; // 0x187f + 13'h1880: q = 8'ha9; // 0x1880 + 13'h1881: q = 8'haf; // 0x1881 + 13'h1882: q = 8'h8d; // 0x1882 + 13'h1883: q = 8'h03; // 0x1883 + 13'h1884: q = 8'h10; // 0x1884 + 13'h1885: q = 8'h2c; // 0x1885 + 13'h1886: q = 8'h00; // 0x1886 + 13'h1887: q = 8'h0c; // 0x1887 + 13'h1888: q = 8'h70; // 0x1888 + 13'h1889: q = 8'h03; // 0x1889 + 13'h188a: q = 8'h4c; // 0x188a + 13'h188b: q = 8'h6d; // 0x188b + 13'h188c: q = 8'h39; // 0x188c + 13'h188d: q = 8'he6; // 0x188d + 13'h188e: q = 8'h8a; // 0x188e + 13'h188f: q = 8'he6; // 0x188f + 13'h1890: q = 8'h00; // 0x1890 + 13'h1891: q = 8'hd0; // 0x1891 + 13'h1892: q = 8'h11; // 0x1892 + 13'h1893: q = 8'he6; // 0x1893 + 13'h1894: q = 8'h01; // 0x1894 + 13'h1895: q = 8'hf8; // 0x1895 + 13'h1896: q = 8'ha5; // 0x1896 + 13'h1897: q = 8'hfb; // 0x1897 + 13'h1898: q = 8'h18; // 0x1898 + 13'h1899: q = 8'h69; // 0x1899 + 13'h189a: q = 8'h01; // 0x189a + 13'h189b: q = 8'h85; // 0x189b + 13'h189c: q = 8'hfb; // 0x189c + 13'h189d: q = 8'ha5; // 0x189d + 13'h189e: q = 8'hfc; // 0x189e + 13'h189f: q = 8'h69; // 0x189f + 13'h18a0: q = 8'h00; // 0x18a0 + 13'h18a1: q = 8'h85; // 0x18a1 + 13'h18a2: q = 8'hfc; // 0x18a2 + 13'h18a3: q = 8'hd8; // 0x18a3 + 13'h18a4: q = 8'ha5; // 0x18a4 + 13'h18a5: q = 8'h8a; // 0x18a5 + 13'h18a6: q = 8'hc9; // 0x18a6 + 13'h18a7: q = 8'h08; // 0x18a7 + 13'h18a8: q = 8'hb0; // 0x18a8 + 13'h18a9: q = 8'hfe; // 0x18a9 + 13'h18aa: q = 8'ha5; // 0x18aa + 13'h18ab: q = 8'hc8; // 0x18ab + 13'h18ac: q = 8'hc9; // 0x18ac + 13'h18ad: q = 8'h25; // 0x18ad + 13'h18ae: q = 8'hb0; // 0x18ae + 13'h18af: q = 8'hfe; // 0x18af + 13'h18b0: q = 8'hc9; // 0x18b0 + 13'h18b1: q = 8'h13; // 0x18b1 + 13'h18b2: q = 8'h90; // 0x18b2 + 13'h18b3: q = 8'h04; // 0x18b3 + 13'h18b4: q = 8'ha9; // 0x18b4 + 13'h18b5: q = 8'h12; // 0x18b5 + 13'h18b6: q = 8'h85; // 0x18b6 + 13'h18b7: q = 8'hc8; // 0x18b7 + 13'h18b8: q = 8'ha6; // 0x18b8 + 13'h18b9: q = 8'h88; // 0x18b9 + 13'h18ba: q = 8'had; // 0x18ba + 13'h18bb: q = 8'h03; // 0x18bb + 13'h18bc: q = 8'h0c; // 0x18bc + 13'h18bd: q = 8'he0; // 0x18bd + 13'h18be: q = 8'h02; // 0x18be + 13'h18bf: q = 8'hd0; // 0x18bf + 13'h18c0: q = 8'h04; // 0x18c0 + 13'h18c1: q = 8'h0a; // 0x18c1 + 13'h18c2: q = 8'h0a; // 0x18c2 + 13'h18c3: q = 8'h0a; // 0x18c3 + 13'h18c4: q = 8'h0a; // 0x18c4 + 13'h18c5: q = 8'hac; // 0x18c5 + 13'h18c6: q = 8'hb8; // 0x18c6 + 13'h18c7: q = 8'h01; // 0x18c7 + 13'h18c8: q = 8'h20; // 0x18c8 + 13'h18c9: q = 8'hea; // 0x18c9 + 13'h18ca: q = 8'h39; // 0x18ca + 13'h18cb: q = 8'h8c; // 0x18cb + 13'h18cc: q = 8'hb8; // 0x18cc + 13'h18cd: q = 8'h01; // 0x18cd + 13'h18ce: q = 8'h48; // 0x18ce + 13'h18cf: q = 8'h98; // 0x18cf + 13'h18d0: q = 8'h18; // 0x18d0 + 13'h18d1: q = 8'h65; // 0x18d1 + 13'h18d2: q = 8'hb9; // 0x18d2 + 13'h18d3: q = 8'h85; // 0x18d3 + 13'h18d4: q = 8'hb9; // 0x18d4 + 13'h18d5: q = 8'h68; // 0x18d5 + 13'h18d6: q = 8'hac; // 0x18d6 + 13'h18d7: q = 8'hb9; // 0x18d7 + 13'h18d8: q = 8'h01; // 0x18d8 + 13'h18d9: q = 8'h20; // 0x18d9 + 13'h18da: q = 8'hea; // 0x18da + 13'h18db: q = 8'h39; // 0x18db + 13'h18dc: q = 8'h8c; // 0x18dc + 13'h18dd: q = 8'hb9; // 0x18dd + 13'h18de: q = 8'h01; // 0x18de + 13'h18df: q = 8'h98; // 0x18df + 13'h18e0: q = 8'h20; // 0x18e0 + 13'h18e1: q = 8'h2d; // 0x18e1 + 13'h18e2: q = 8'h38; // 0x18e2 + 13'h18e3: q = 8'h18; // 0x18e3 + 13'h18e4: q = 8'h65; // 0x18e4 + 13'h18e5: q = 8'hbb; // 0x18e5 + 13'h18e6: q = 8'h85; // 0x18e6 + 13'h18e7: q = 8'hbb; // 0x18e7 + 13'h18e8: q = 8'hb5; // 0x18e8 + 13'h18e9: q = 8'hc2; // 0x18e9 + 13'h18ea: q = 8'h30; // 0x18ea + 13'h18eb: q = 8'h08; // 0x18eb + 13'h18ec: q = 8'hc9; // 0x18ec + 13'h18ed: q = 8'h40; // 0x18ed + 13'h18ee: q = 8'h90; // 0x18ee + 13'h18ef: q = 8'h15; // 0x18ef + 13'h18f0: q = 8'h29; // 0x18f0 + 13'h18f1: q = 8'h3f; // 0x18f1 + 13'h18f2: q = 8'h10; // 0x18f2 + 13'h18f3: q = 8'h0b; // 0x18f3 + 13'h18f4: q = 8'h29; // 0x18f4 + 13'h18f5: q = 8'h3f; // 0x18f5 + 13'h18f6: q = 8'h18; // 0x18f6 + 13'h18f7: q = 8'h69; // 0x18f7 + 13'h18f8: q = 8'h03; // 0x18f8 + 13'h18f9: q = 8'hc9; // 0x18f9 + 13'h18fa: q = 8'h2a; // 0x18fa + 13'h18fb: q = 8'h90; // 0x18fb + 13'h18fc: q = 8'h02; // 0x18fc + 13'h18fd: q = 8'ha9; // 0x18fd + 13'h18fe: q = 8'h00; // 0x18fe + 13'h18ff: q = 8'h95; // 0x18ff + 13'h1900: q = 8'hc2; // 0x1900 + 13'h1901: q = 8'haa; // 0x1901 + 13'h1902: q = 8'h20; // 0x1902 + 13'h1903: q = 8'h56; // 0x1903 + 13'h1904: q = 8'h26; // 0x1904 + 13'h1905: q = 8'ha2; // 0x1905 + 13'h1906: q = 8'h0f; // 0x1906 + 13'h1907: q = 8'hb5; // 0x1907 + 13'h1908: q = 8'h64; // 0x1908 + 13'h1909: q = 8'h9d; // 0x1909 + 13'h190a: q = 8'he0; // 0x190a + 13'h190b: q = 8'h07; // 0x190b + 13'h190c: q = 8'hb5; // 0x190c + 13'h190d: q = 8'h54; // 0x190d + 13'h190e: q = 8'ha0; // 0x190e + 13'h190f: q = 8'h00; // 0x190f + 13'h1910: q = 8'he0; // 0x1910 + 13'h1911: q = 8'h0d; // 0x1911 + 13'h1912: q = 8'hf0; // 0x1912 + 13'h1913: q = 8'h07; // 0x1913 + 13'h1914: q = 8'hb4; // 0x1914 + 13'h1915: q = 8'h44; // 0x1915 + 13'h1916: q = 8'h10; // 0x1916 + 13'h1917: q = 8'h03; // 0x1917 + 13'h1918: q = 8'h18; // 0x1918 + 13'h1919: q = 8'h69; // 0x1919 + 13'h191a: q = 8'h01; // 0x191a + 13'h191b: q = 8'h9d; // 0x191b + 13'h191c: q = 8'hd0; // 0x191c + 13'h191d: q = 8'h07; // 0x191d + 13'h191e: q = 8'h98; // 0x191e + 13'h191f: q = 8'h29; // 0x191f + 13'h1920: q = 8'h80; // 0x1920 + 13'h1921: q = 8'h85; // 0x1921 + 13'h1922: q = 8'h99; // 0x1922 + 13'h1923: q = 8'had; // 0x1923 + 13'h1924: q = 8'h00; // 0x1924 + 13'h1925: q = 8'h0c; // 0x1925 + 13'h1926: q = 8'h29; // 0x1926 + 13'h1927: q = 8'h20; // 0x1927 + 13'h1928: q = 8'hd0; // 0x1928 + 13'h1929: q = 8'h05; // 0x1929 + 13'h192a: q = 8'hb5; // 0x192a + 13'h192b: q = 8'h34; // 0x192b + 13'h192c: q = 8'h4c; // 0x192c + 13'h192d: q = 8'h56; // 0x192d + 13'h192e: q = 8'h39; // 0x192e + 13'h192f: q = 8'hb5; // 0x192f + 13'h1930: q = 8'h34; // 0x1930 + 13'h1931: q = 8'he0; // 0x1931 + 13'h1932: q = 8'h0c; // 0x1932 + 13'h1933: q = 8'hb0; // 0x1933 + 13'h1934: q = 8'h1f; // 0x1934 + 13'h1935: q = 8'h29; // 0x1935 + 13'h1936: q = 8'h3f; // 0x1936 + 13'h1937: q = 8'hc9; // 0x1937 + 13'h1938: q = 8'h30; // 0x1938 + 13'h1939: q = 8'hb0; // 0x1939 + 13'h193a: q = 8'h19; // 0x193a + 13'h193b: q = 8'h29; // 0x193b + 13'h193c: q = 8'h0f; // 0x193c + 13'h193d: q = 8'h85; // 0x193d + 13'h193e: q = 8'h98; // 0x193e + 13'h193f: q = 8'hb5; // 0x193f + 13'h1940: q = 8'h64; // 0x1940 + 13'h1941: q = 8'h29; // 0x1941 + 13'h1942: q = 8'h07; // 0x1942 + 13'h1943: q = 8'hf0; // 0x1943 + 13'h1944: q = 8'h0d; // 0x1944 + 13'h1945: q = 8'ha8; // 0x1945 + 13'h1946: q = 8'ha9; // 0x1946 + 13'h1947: q = 8'h08; // 0x1947 + 13'h1948: q = 8'hc0; // 0x1948 + 13'h1949: q = 8'h06; // 0x1949 + 13'h194a: q = 8'hb0; // 0x194a + 13'h194b: q = 8'h06; // 0x194b + 13'h194c: q = 8'hc0; // 0x194c + 13'h194d: q = 8'h03; // 0x194d + 13'h194e: q = 8'h90; // 0x194e + 13'h194f: q = 8'h02; // 0x194f + 13'h1950: q = 8'ha9; // 0x1950 + 13'h1951: q = 8'h0c; // 0x1951 + 13'h1952: q = 8'h45; // 0x1952 + 13'h1953: q = 8'h98; // 0x1953 + 13'h1954: q = 8'h45; // 0x1954 + 13'h1955: q = 8'h99; // 0x1955 + 13'h1956: q = 8'h9d; // 0x1956 + 13'h1957: q = 8'hc0; // 0x1957 + 13'h1958: q = 8'h07; // 0x1958 + 13'h1959: q = 8'hb5; // 0x1959 + 13'h195a: q = 8'h34; // 0x195a + 13'h195b: q = 8'h29; // 0x195b + 13'h195c: q = 8'h40; // 0x195c + 13'h195d: q = 8'hf0; // 0x195d + 13'h195e: q = 8'h06; // 0x195e + 13'h195f: q = 8'he0; // 0x195f + 13'h1960: q = 8'h0c; // 0x1960 + 13'h1961: q = 8'hb0; // 0x1961 + 13'h1962: q = 8'h02; // 0x1962 + 13'h1963: q = 8'ha9; // 0x1963 + 13'h1964: q = 8'h0c; // 0x1964 + 13'h1965: q = 8'h09; // 0x1965 + 13'h1966: q = 8'h39; // 0x1966 + 13'h1967: q = 8'h9d; // 0x1967 + 13'h1968: q = 8'hf0; // 0x1968 + 13'h1969: q = 8'h07; // 0x1969 + 13'h196a: q = 8'hca; // 0x196a + 13'h196b: q = 8'h10; // 0x196b + 13'h196c: q = 8'h9a; // 0x196c + 13'h196d: q = 8'had; // 0x196d + 13'h196e: q = 8'h00; // 0x196e + 13'h196f: q = 8'h0c; // 0x196f + 13'h1970: q = 8'h29; // 0x1970 + 13'h1971: q = 8'h20; // 0x1971 + 13'h1972: q = 8'hd0; // 0x1972 + 13'h1973: q = 8'h1f; // 0x1973 + 13'h1974: q = 8'ha5; // 0x1974 + 13'h1975: q = 8'hd5; // 0x1975 + 13'h1976: q = 8'h30; // 0x1976 + 13'h1977: q = 8'h3b; // 0x1977 + 13'h1978: q = 8'he6; // 0x1978 + 13'h1979: q = 8'hd5; // 0x1979 + 13'h197a: q = 8'h2c; // 0x197a + 13'h197b: q = 8'h00; // 0x197b + 13'h197c: q = 8'h0c; // 0x197c + 13'h197d: q = 8'h50; // 0x197d + 13'h197e: q = 8'h04; // 0x197e + 13'h197f: q = 8'ha9; // 0x197f + 13'h1980: q = 8'h00; // 0x1980 + 13'h1981: q = 8'h85; // 0x1981 + 13'h1982: q = 8'hd5; // 0x1982 + 13'h1983: q = 8'ha5; // 0x1983 + 13'h1984: q = 8'hd5; // 0x1984 + 13'h1985: q = 8'h0a; // 0x1985 + 13'h1986: q = 8'h0a; // 0x1986 + 13'h1987: q = 8'ha2; // 0x1987 + 13'h1988: q = 8'h03; // 0x1988 + 13'h1989: q = 8'h9d; // 0x1989 + 13'h198a: q = 8'h04; // 0x198a + 13'h198b: q = 8'h14; // 0x198b + 13'h198c: q = 8'h69; // 0x198c + 13'h198d: q = 8'h01; // 0x198d + 13'h198e: q = 8'hca; // 0x198e + 13'h198f: q = 8'h10; // 0x198f + 13'h1990: q = 8'hf8; // 0x1990 + 13'h1991: q = 8'h30; // 0x1991 + 13'h1992: q = 8'h20; // 0x1992 + 13'h1993: q = 8'h20; // 0x1993 + 13'h1994: q = 8'h5e; // 0x1994 + 13'h1995: q = 8'h33; // 0x1995 + 13'h1996: q = 8'ha2; // 0x1996 + 13'h1997: q = 8'h02; // 0x1997 + 13'h1998: q = 8'hb5; // 0x1998 + 13'h1999: q = 8'hc5; // 0x1999 + 13'h199a: q = 8'h9d; // 0x199a + 13'h199b: q = 8'h00; // 0x199b + 13'h199c: q = 8'h1c; // 0x199c + 13'h199d: q = 8'hca; // 0x199d + 13'h199e: q = 8'h10; // 0x199e + 13'h199f: q = 8'hf8; // 0x199f + 13'h19a0: q = 8'ha2; // 0x19a0 + 13'h19a1: q = 8'h0a; // 0x19a1 + 13'h19a2: q = 8'ha9; // 0x19a2 + 13'h19a3: q = 8'hf4; // 0x19a3 + 13'h19a4: q = 8'h5d; // 0x19a4 + 13'h19a5: q = 8'h03; // 0x19a5 + 13'h19a6: q = 8'h20; // 0x19a6 + 13'h19a7: q = 8'hca; // 0x19a7 + 13'h19a8: q = 8'h10; // 0x19a8 + 13'h19a9: q = 8'hfa; // 0x19a9 + 13'h19aa: q = 8'haa; // 0x19aa + 13'h19ab: q = 8'hf0; // 0x19ab + 13'h19ac: q = 8'h06; // 0x19ac + 13'h19ad: q = 8'hba; // 0x19ad + 13'h19ae: q = 8'ha9; // 0x19ae + 13'h19af: q = 8'h03; // 0x19af + 13'h19b0: q = 8'h9d; // 0x19b0 + 13'h19b1: q = 8'h04; // 0x19b1 + 13'h19b2: q = 8'h01; // 0x19b2 + 13'h19b3: q = 8'ha2; // 0x19b3 + 13'h19b4: q = 8'h02; // 0x19b4 + 13'h19b5: q = 8'hbd; // 0x19b5 + 13'h19b6: q = 8'h00; // 0x19b6 + 13'h19b7: q = 8'h0c; // 0x19b7 + 13'h19b8: q = 8'ha8; // 0x19b8 + 13'h19b9: q = 8'h38; // 0x19b9 + 13'h19ba: q = 8'hf5; // 0x19ba + 13'h19bb: q = 8'hbd; // 0x19bb + 13'h19bc: q = 8'h94; // 0x19bc + 13'h19bd: q = 8'hbd; // 0x19bd + 13'h19be: q = 8'h29; // 0x19be + 13'h19bf: q = 8'h0f; // 0x19bf + 13'h19c0: q = 8'hc9; // 0x19c0 + 13'h19c1: q = 8'h08; // 0x19c1 + 13'h19c2: q = 8'h90; // 0x19c2 + 13'h19c3: q = 8'h02; // 0x19c3 + 13'h19c4: q = 8'h09; // 0x19c4 + 13'h19c5: q = 8'hf0; // 0x19c5 + 13'h19c6: q = 8'ha8; // 0x19c6 + 13'h19c7: q = 8'hf0; // 0x19c7 + 13'h19c8: q = 8'h14; // 0x19c8 + 13'h19c9: q = 8'h55; // 0x19c9 + 13'h19ca: q = 8'hba; // 0x19ca + 13'h19cb: q = 8'h10; // 0x19cb + 13'h19cc: q = 8'h08; // 0x19cc + 13'h19cd: q = 8'h98; // 0x19cd + 13'h19ce: q = 8'h5d; // 0x19ce + 13'h19cf: q = 8'h00; // 0x19cf + 13'h19d0: q = 8'h0c; // 0x19d0 + 13'h19d1: q = 8'h10; // 0x19d1 + 13'h19d2: q = 8'h02; // 0x19d2 + 13'h19d3: q = 8'hb4; // 0x19d3 + 13'h19d4: q = 8'hba; // 0x19d4 + 13'h19d5: q = 8'h98; // 0x19d5 + 13'h19d6: q = 8'h95; // 0x19d6 + 13'h19d7: q = 8'hba; // 0x19d7 + 13'h19d8: q = 8'h18; // 0x19d8 + 13'h19d9: q = 8'h75; // 0x19d9 + 13'h19da: q = 8'hb9; // 0x19da + 13'h19db: q = 8'h95; // 0x19db + 13'h19dc: q = 8'hb9; // 0x19dc + 13'h19dd: q = 8'hca; // 0x19dd + 13'h19de: q = 8'hca; // 0x19de + 13'h19df: q = 8'h10; // 0x19df + 13'h19e0: q = 8'hd4; // 0x19e0 + 13'h19e1: q = 8'h8d; // 0x19e1 + 13'h19e2: q = 8'h00; // 0x19e2 + 13'h19e3: q = 8'h18; // 0x19e3 + 13'h19e4: q = 8'h68; // 0x19e4 + 13'h19e5: q = 8'ha8; // 0x19e5 + 13'h19e6: q = 8'h68; // 0x19e6 + 13'h19e7: q = 8'haa; // 0x19e7 + 13'h19e8: q = 8'h68; // 0x19e8 + 13'h19e9: q = 8'h40; // 0x19e9 + 13'h19ea: q = 8'h0a; // 0x19ea + 13'h19eb: q = 8'h90; // 0x19eb + 13'h19ec: q = 8'h06; // 0x19ec + 13'h19ed: q = 8'h0a; // 0x19ed + 13'h19ee: q = 8'h90; // 0x19ee + 13'h19ef: q = 8'h0e; // 0x19ef + 13'h19f0: q = 8'ha0; // 0x19f0 + 13'h19f1: q = 8'h00; // 0x19f1 + 13'h19f2: q = 8'h60; // 0x19f2 + 13'h19f3: q = 8'hc0; // 0x19f3 + 13'h19f4: q = 8'hfa; // 0x19f4 + 13'h19f5: q = 8'hf0; // 0x19f5 + 13'h19f6: q = 8'h05; // 0x19f6 + 13'h19f7: q = 8'hb0; // 0x19f7 + 13'h19f8: q = 8'h02; // 0x19f8 + 13'h19f9: q = 8'ha0; // 0x19f9 + 13'h19fa: q = 8'h00; // 0x19fa + 13'h19fb: q = 8'h88; // 0x19fb + 13'h19fc: q = 8'h0a; // 0x19fc + 13'h19fd: q = 8'h60; // 0x19fd + 13'h19fe: q = 8'hc0; // 0x19fe + 13'h19ff: q = 8'h06; // 0x19ff + 13'h1a00: q = 8'hf0; // 0x1a00 + 13'h1a01: q = 8'h05; // 0x1a01 + 13'h1a02: q = 8'h90; // 0x1a02 + 13'h1a03: q = 8'h02; // 0x1a03 + 13'h1a04: q = 8'ha0; // 0x1a04 + 13'h1a05: q = 8'h00; // 0x1a05 + 13'h1a06: q = 8'hc8; // 0x1a06 + 13'h1a07: q = 8'h60; // 0x1a07 + 13'h1a08: q = 8'ha0; // 0x1a08 + 13'h1a09: q = 8'h3c; // 0x1a09 + 13'h1a0a: q = 8'ha9; // 0x1a0a + 13'h1a0b: q = 8'hff; // 0x1a0b + 13'h1a0c: q = 8'h59; // 0x1a0c + 13'h1a0d: q = 8'h78; // 0x1a0d + 13'h1a0e: q = 8'h01; // 0x1a0e + 13'h1a0f: q = 8'h88; // 0x1a0f + 13'h1a10: q = 8'h10; // 0x1a10 + 13'h1a11: q = 8'hfa; // 0x1a11 + 13'h1a12: q = 8'hac; // 0x1a12 + 13'h1a13: q = 8'hb5; // 0x1a13 + 13'h1a14: q = 8'h01; // 0x1a14 + 13'h1a15: q = 8'h8d; // 0x1a15 + 13'h1a16: q = 8'hb5; // 0x1a16 + 13'h1a17: q = 8'h01; // 0x1a17 + 13'h1a18: q = 8'h98; // 0x1a18 + 13'h1a19: q = 8'h4d; // 0x1a19 + 13'h1a1a: q = 8'hb5; // 0x1a1a + 13'h1a1b: q = 8'h01; // 0x1a1b + 13'h1a1c: q = 8'h60; // 0x1a1c + 13'h1a1d: q = 8'ha2; // 0x1a1d + 13'h1a1e: q = 8'h2f; // 0x1a1e + 13'h1a1f: q = 8'hbd; // 0x1a1f + 13'h1a20: q = 8'h69; // 0x1a20 + 13'h1a21: q = 8'h3a; // 0x1a21 + 13'h1a22: q = 8'h95; // 0x1a22 + 13'h1a23: q = 8'h02; // 0x1a23 + 13'h1a24: q = 8'hca; // 0x1a24 + 13'h1a25: q = 8'h10; // 0x1a25 + 13'h1a26: q = 8'hf8; // 0x1a26 + 13'h1a27: q = 8'h20; // 0x1a27 + 13'h1a28: q = 8'h08; // 0x1a28 + 13'h1a29: q = 8'h3a; // 0x1a29 + 13'h1a2a: q = 8'hd0; // 0x1a2a + 13'h1a2b: q = 8'h2b; // 0x1a2b + 13'h1a2c: q = 8'ha5; // 0x1a2c + 13'h1a2d: q = 8'hfd; // 0x1a2d + 13'h1a2e: q = 8'h29; // 0x1a2e + 13'h1a2f: q = 8'h7c; // 0x1a2f + 13'h1a30: q = 8'hcd; // 0x1a30 + 13'h1a31: q = 8'h8a; // 0x1a31 + 13'h1a32: q = 8'h01; // 0x1a32 + 13'h1a33: q = 8'h8d; // 0x1a33 + 13'h1a34: q = 8'h8a; // 0x1a34 + 13'h1a35: q = 8'h01; // 0x1a35 + 13'h1a36: q = 8'hd0; // 0x1a36 + 13'h1a37: q = 8'h1e; // 0x1a37 + 13'h1a38: q = 8'had; // 0x1a38 + 13'h1a39: q = 8'h7a; // 0x1a39 + 13'h1a3a: q = 8'h01; // 0x1a3a + 13'h1a3b: q = 8'hf0; // 0x1a3b + 13'h1a3c: q = 8'h1a; // 0x1a3c + 13'h1a3d: q = 8'ha2; // 0x1a3d + 13'h1a3e: q = 8'h08; // 0x1a3e + 13'h1a3f: q = 8'hbd; // 0x1a3f + 13'h1a40: q = 8'h78; // 0x1a40 + 13'h1a41: q = 8'h01; // 0x1a41 + 13'h1a42: q = 8'h95; // 0x1a42 + 13'h1a43: q = 8'h02; // 0x1a43 + 13'h1a44: q = 8'hc9; // 0x1a44 + 13'h1a45: q = 8'h9a; // 0x1a45 + 13'h1a46: q = 8'hb0; // 0x1a46 + 13'h1a47: q = 8'h0f; // 0x1a47 + 13'h1a48: q = 8'h29; // 0x1a48 + 13'h1a49: q = 8'h0f; // 0x1a49 + 13'h1a4a: q = 8'hc9; // 0x1a4a + 13'h1a4b: q = 8'h0a; // 0x1a4b + 13'h1a4c: q = 8'hb0; // 0x1a4c + 13'h1a4d: q = 8'h09; // 0x1a4d + 13'h1a4e: q = 8'hbd; // 0x1a4e + 13'h1a4f: q = 8'h81; // 0x1a4f + 13'h1a50: q = 8'h01; // 0x1a50 + 13'h1a51: q = 8'h95; // 0x1a51 + 13'h1a52: q = 8'h1a; // 0x1a52 + 13'h1a53: q = 8'hca; // 0x1a53 + 13'h1a54: q = 8'h10; // 0x1a54 + 13'h1a55: q = 8'he9; // 0x1a55 + 13'h1a56: q = 8'h60; // 0x1a56 + 13'h1a57: q = 8'ha9; // 0x1a57 + 13'h1a58: q = 8'h00; // 0x1a58 + 13'h1a59: q = 8'ha2; // 0x1a59 + 13'h1a5a: q = 8'h3e; // 0x1a5a + 13'h1a5b: q = 8'h9d; // 0x1a5b + 13'h1a5c: q = 8'h78; // 0x1a5c + 13'h1a5d: q = 8'h01; // 0x1a5d + 13'h1a5e: q = 8'hca; // 0x1a5e + 13'h1a5f: q = 8'h10; // 0x1a5f + 13'h1a60: q = 8'hfa; // 0x1a60 + 13'h1a61: q = 8'ha5; // 0x1a61 + 13'h1a62: q = 8'hfd; // 0x1a62 + 13'h1a63: q = 8'h29; // 0x1a63 + 13'h1a64: q = 8'h7c; // 0x1a64 + 13'h1a65: q = 8'h8d; // 0x1a65 + 13'h1a66: q = 8'h8a; // 0x1a66 + 13'h1a67: q = 8'h01; // 0x1a67 + 13'h1a68: q = 8'h60; // 0x1a68 + 13'h1a69: q = 8'h43; // 0x1a69 + 13'h1a6a: q = 8'h65; // 0x1a6a + 13'h1a6b: q = 8'h01; // 0x1a6b + 13'h1a6c: q = 8'h32; // 0x1a6c + 13'h1a6d: q = 8'h54; // 0x1a6d + 13'h1a6e: q = 8'h01; // 0x1a6e + 13'h1a6f: q = 8'h20; // 0x1a6f + 13'h1a70: q = 8'h43; // 0x1a70 + 13'h1a71: q = 8'h01; // 0x1a71 + 13'h1a72: q = 8'h10; // 0x1a72 + 13'h1a73: q = 8'h32; // 0x1a73 + 13'h1a74: q = 8'h01; // 0x1a74 + 13'h1a75: q = 8'h10; // 0x1a75 + 13'h1a76: q = 8'h30; // 0x1a76 + 13'h1a77: q = 8'h01; // 0x1a77 + 13'h1a78: q = 8'h05; // 0x1a78 + 13'h1a79: q = 8'h28; // 0x1a79 + 13'h1a7a: q = 8'h01; // 0x1a7a + 13'h1a7b: q = 8'h01; // 0x1a7b + 13'h1a7c: q = 8'h22; // 0x1a7c + 13'h1a7d: q = 8'h01; // 0x1a7d + 13'h1a7e: q = 8'h02; // 0x1a7e + 13'h1a7f: q = 8'h21; // 0x1a7f + 13'h1a80: q = 8'h01; // 0x1a80 + 13'h1a81: q = 8'h05; // 0x1a81 + 13'h1a82: q = 8'h0a; // 0x1a82 + 13'h1a83: q = 8'h04; // 0x1a83 + 13'h1a84: q = 8'h04; // 0x1a84 + 13'h1a85: q = 8'h06; // 0x1a85 + 13'h1a86: q = 8'h14; // 0x1a86 + 13'h1a87: q = 8'h03; // 0x1a87 + 13'h1a88: q = 8'h01; // 0x1a88 + 13'h1a89: q = 8'h04; // 0x1a89 + 13'h1a8a: q = 8'h04; // 0x1a8a + 13'h1a8b: q = 8'h03; // 0x1a8b + 13'h1a8c: q = 8'h02; // 0x1a8c + 13'h1a8d: q = 8'h05; // 0x1a8d + 13'h1a8e: q = 8'h04; // 0x1a8e + 13'h1a8f: q = 8'h00; // 0x1a8f + 13'h1a90: q = 8'h04; // 0x1a90 + 13'h1a91: q = 8'h05; // 0x1a91 + 13'h1a92: q = 8'h17; // 0x1a92 + 13'h1a93: q = 8'h04; // 0x1a93 + 13'h1a94: q = 8'h06; // 0x1a94 + 13'h1a95: q = 8'h17; // 0x1a95 + 13'h1a96: q = 8'h07; // 0x1a96 + 13'h1a97: q = 8'h0a; // 0x1a97 + 13'h1a98: q = 8'h12; // 0x1a98 + 13'h1a99: q = 8'ha2; // 0x1a99 + 13'h1a9a: q = 8'h3f; // 0x1a9a + 13'h1a9b: q = 8'h20; // 0x1a9b + 13'h1a9c: q = 8'ha7; // 0x1a9c + 13'h1a9d: q = 8'h3a; // 0x1a9d + 13'h1a9e: q = 8'h9d; // 0x1a9e + 13'h1a9f: q = 8'h78; // 0x1a9f + 13'h1aa0: q = 8'h01; // 0x1aa0 + 13'h1aa1: q = 8'hca; // 0x1aa1 + 13'h1aa2: q = 8'h10; // 0x1aa2 + 13'h1aa3: q = 8'hf7; // 0x1aa3 + 13'h1aa4: q = 8'h86; // 0x1aa4 + 13'h1aa5: q = 8'hf9; // 0x1aa5 + 13'h1aa6: q = 8'h60; // 0x1aa6 + 13'h1aa7: q = 8'h9d; // 0x1aa7 + 13'h1aa8: q = 8'h00; // 0x1aa8 + 13'h1aa9: q = 8'h16; // 0x1aa9 + 13'h1aaa: q = 8'ha0; // 0x1aaa + 13'h1aab: q = 8'h08; // 0x1aab + 13'h1aac: q = 8'h8c; // 0x1aac + 13'h1aad: q = 8'h80; // 0x1aad + 13'h1aae: q = 8'h16; // 0x1aae + 13'h1aaf: q = 8'hc8; // 0x1aaf + 13'h1ab0: q = 8'h8c; // 0x1ab0 + 13'h1ab1: q = 8'h80; // 0x1ab1 + 13'h1ab2: q = 8'h16; // 0x1ab2 + 13'h1ab3: q = 8'h88; // 0x1ab3 + 13'h1ab4: q = 8'h8c; // 0x1ab4 + 13'h1ab5: q = 8'h80; // 0x1ab5 + 13'h1ab6: q = 8'h16; // 0x1ab6 + 13'h1ab7: q = 8'ha0; // 0x1ab7 + 13'h1ab8: q = 8'h00; // 0x1ab8 + 13'h1ab9: q = 8'hbd; // 0x1ab9 + 13'h1aba: q = 8'h00; // 0x1aba + 13'h1abb: q = 8'h17; // 0x1abb + 13'h1abc: q = 8'h8c; // 0x1abc + 13'h1abd: q = 8'h80; // 0x1abd + 13'h1abe: q = 8'h16; // 0x1abe + 13'h1abf: q = 8'h60; // 0x1abf + 13'h1ac0: q = 8'ha5; // 0x1ac0 + 13'h1ac1: q = 8'h00; // 0x1ac1 + 13'h1ac2: q = 8'h29; // 0x1ac2 + 13'h1ac3: q = 8'h03; // 0x1ac3 + 13'h1ac4: q = 8'hd0; // 0x1ac4 + 13'h1ac5: q = 8'h17; // 0x1ac5 + 13'h1ac6: q = 8'h8d; // 0x1ac6 + 13'h1ac7: q = 8'h80; // 0x1ac7 + 13'h1ac8: q = 8'h16; // 0x1ac8 + 13'h1ac9: q = 8'ha6; // 0x1ac9 + 13'h1aca: q = 8'hf9; // 0x1aca + 13'h1acb: q = 8'h30; // 0x1acb + 13'h1acc: q = 8'h10; // 0x1acc + 13'h1acd: q = 8'h46; // 0x1acd + 13'h1ace: q = 8'hfa; // 0x1ace + 13'h1acf: q = 8'h90; // 0x1acf + 13'h1ad0: q = 8'h0d; // 0x1ad0 + 13'h1ad1: q = 8'ha9; // 0x1ad1 + 13'h1ad2: q = 8'h02; // 0x1ad2 + 13'h1ad3: q = 8'h8d; // 0x1ad3 + 13'h1ad4: q = 8'h80; // 0x1ad4 + 13'h1ad5: q = 8'h16; // 0x1ad5 + 13'h1ad6: q = 8'ha9; // 0x1ad6 + 13'h1ad7: q = 8'h0a; // 0x1ad7 + 13'h1ad8: q = 8'h8d; // 0x1ad8 + 13'h1ad9: q = 8'h80; // 0x1ad9 + 13'h1ada: q = 8'h16; // 0x1ada + 13'h1adb: q = 8'hc6; // 0x1adb + 13'h1adc: q = 8'hf9; // 0x1adc + 13'h1add: q = 8'h60; // 0x1add + 13'h1ade: q = 8'h78; // 0x1ade + 13'h1adf: q = 8'h20; // 0x1adf + 13'h1ae0: q = 8'ha7; // 0x1ae0 + 13'h1ae1: q = 8'h3a; // 0x1ae1 + 13'h1ae2: q = 8'hdd; // 0x1ae2 + 13'h1ae3: q = 8'h78; // 0x1ae3 + 13'h1ae4: q = 8'h01; // 0x1ae4 + 13'h1ae5: q = 8'hd0; // 0x1ae5 + 13'h1ae6: q = 8'h07; // 0x1ae6 + 13'h1ae7: q = 8'hca; // 0x1ae7 + 13'h1ae8: q = 8'h10; // 0x1ae8 + 13'h1ae9: q = 8'hf5; // 0x1ae9 + 13'h1aea: q = 8'h58; // 0x1aea + 13'h1aeb: q = 8'h86; // 0x1aeb + 13'h1aec: q = 8'hf9; // 0x1aec + 13'h1aed: q = 8'h60; // 0x1aed + 13'h1aee: q = 8'h58; // 0x1aee + 13'h1aef: q = 8'h86; // 0x1aef + 13'h1af0: q = 8'hf9; // 0x1af0 + 13'h1af1: q = 8'ha9; // 0x1af1 + 13'h1af2: q = 8'h06; // 0x1af2 + 13'h1af3: q = 8'h8d; // 0x1af3 + 13'h1af4: q = 8'h80; // 0x1af4 + 13'h1af5: q = 8'h16; // 0x1af5 + 13'h1af6: q = 8'hbd; // 0x1af6 + 13'h1af7: q = 8'h78; // 0x1af7 + 13'h1af8: q = 8'h01; // 0x1af8 + 13'h1af9: q = 8'h9d; // 0x1af9 + 13'h1afa: q = 8'h00; // 0x1afa + 13'h1afb: q = 8'h16; // 0x1afb + 13'h1afc: q = 8'ha9; // 0x1afc + 13'h1afd: q = 8'h0e; // 0x1afd + 13'h1afe: q = 8'h8d; // 0x1afe + 13'h1aff: q = 8'h80; // 0x1aff + 13'h1b00: q = 8'h16; // 0x1b00 + 13'h1b01: q = 8'he6; // 0x1b01 + 13'h1b02: q = 8'hfa; // 0x1b02 + 13'h1b03: q = 8'h60; // 0x1b03 + 13'h1b04: q = 8'hd8; // 0x1b04 + 13'h1b05: q = 8'ha2; // 0x1b05 + 13'h1b06: q = 8'hff; // 0x1b06 + 13'h1b07: q = 8'h9a; // 0x1b07 + 13'h1b08: q = 8'he8; // 0x1b08 + 13'h1b09: q = 8'h8a; // 0x1b09 + 13'h1b0a: q = 8'h95; // 0x1b0a + 13'h1b0b: q = 8'h00; // 0x1b0b + 13'h1b0c: q = 8'h9d; // 0x1b0c + 13'h1b0d: q = 8'h00; // 0x1b0d + 13'h1b0e: q = 8'h01; // 0x1b0e + 13'h1b0f: q = 8'h9d; // 0x1b0f + 13'h1b10: q = 8'h00; // 0x1b10 + 13'h1b11: q = 8'h04; // 0x1b11 + 13'h1b12: q = 8'h9d; // 0x1b12 + 13'h1b13: q = 8'h00; // 0x1b13 + 13'h1b14: q = 8'h05; // 0x1b14 + 13'h1b15: q = 8'h9d; // 0x1b15 + 13'h1b16: q = 8'h00; // 0x1b16 + 13'h1b17: q = 8'h06; // 0x1b17 + 13'h1b18: q = 8'h9d; // 0x1b18 + 13'h1b19: q = 8'h00; // 0x1b19 + 13'h1b1a: q = 8'h07; // 0x1b1a + 13'h1b1b: q = 8'hca; // 0x1b1b + 13'h1b1c: q = 8'hd0; // 0x1b1c + 13'h1b1d: q = 8'hec; // 0x1b1d + 13'h1b1e: q = 8'h8d; // 0x1b1e + 13'h1b1f: q = 8'h0f; // 0x1b1f + 13'h1b20: q = 8'h10; // 0x1b20 + 13'h1b21: q = 8'h8d; // 0x1b21 + 13'h1b22: q = 8'h08; // 0x1b22 + 13'h1b23: q = 8'h10; // 0x1b23 + 13'h1b24: q = 8'h8d; // 0x1b24 + 13'h1b25: q = 8'h00; // 0x1b25 + 13'h1b26: q = 8'h24; // 0x1b26 + 13'h1b27: q = 8'h8d; // 0x1b27 + 13'h1b28: q = 8'h07; // 0x1b28 + 13'h1b29: q = 8'h1c; // 0x1b29 + 13'h1b2a: q = 8'had; // 0x1b2a + 13'h1b2b: q = 8'h00; // 0x1b2b + 13'h1b2c: q = 8'h0c; // 0x1b2c + 13'h1b2d: q = 8'h29; // 0x1b2d + 13'h1b2e: q = 8'h20; // 0x1b2e + 13'h1b2f: q = 8'hf0; // 0x1b2f + 13'h1b30: q = 8'h19; // 0x1b30 + 13'h1b31: q = 8'had; // 0x1b31 + 13'h1b32: q = 8'h00; // 0x1b32 + 13'h1b33: q = 8'h08; // 0x1b33 + 13'h1b34: q = 8'h85; // 0x1b34 + 13'h1b35: q = 8'hfd; // 0x1b35 + 13'h1b36: q = 8'hca; // 0x1b36 + 13'h1b37: q = 8'h86; // 0x1b37 + 13'h1b38: q = 8'h86; // 0x1b38 + 13'h1b39: q = 8'h86; // 0x1b39 + 13'h1b3a: q = 8'hc1; // 0x1b3a + 13'h1b3b: q = 8'h86; // 0x1b3b + 13'h1b3c: q = 8'hc2; // 0x1b3c + 13'h1b3d: q = 8'ha9; // 0x1b3d + 13'h1b3e: q = 8'h01; // 0x1b3e + 13'h1b3f: q = 8'h85; // 0x1b3f + 13'h1b40: q = 8'hff; // 0x1b40 + 13'h1b41: q = 8'h20; // 0x1b41 + 13'h1b42: q = 8'h99; // 0x1b42 + 13'h1b43: q = 8'h3a; // 0x1b43 + 13'h1b44: q = 8'h20; // 0x1b44 + 13'h1b45: q = 8'h1d; // 0x1b45 + 13'h1b46: q = 8'h3a; // 0x1b46 + 13'h1b47: q = 8'h4c; // 0x1b47 + 13'h1b48: q = 8'h0e; // 0x1b48 + 13'h1b49: q = 8'h20; // 0x1b49 + 13'h1b4a: q = 8'h8e; // 0x1b4a + 13'h1b4b: q = 8'h04; // 0x1b4b + 13'h1b4c: q = 8'h14; // 0x1b4c + 13'h1b4d: q = 8'h8e; // 0x1b4d + 13'h1b4e: q = 8'h01; // 0x1b4e + 13'h1b4f: q = 8'h10; // 0x1b4f + 13'h1b50: q = 8'h8e; // 0x1b50 + 13'h1b51: q = 8'h03; // 0x1b51 + 13'h1b52: q = 8'h10; // 0x1b52 + 13'h1b53: q = 8'h8e; // 0x1b53 + 13'h1b54: q = 8'h05; // 0x1b54 + 13'h1b55: q = 8'h10; // 0x1b55 + 13'h1b56: q = 8'h8e; // 0x1b56 + 13'h1b57: q = 8'h07; // 0x1b57 + 13'h1b58: q = 8'h10; // 0x1b58 + 13'h1b59: q = 8'he8; // 0x1b59 + 13'h1b5a: q = 8'h8e; // 0x1b5a + 13'h1b5b: q = 8'h05; // 0x1b5b + 13'h1b5c: q = 8'h14; // 0x1b5c + 13'h1b5d: q = 8'h8e; // 0x1b5d + 13'h1b5e: q = 8'h0d; // 0x1b5e + 13'h1b5f: q = 8'h14; // 0x1b5f + 13'h1b60: q = 8'he8; // 0x1b60 + 13'h1b61: q = 8'h8e; // 0x1b61 + 13'h1b62: q = 8'h06; // 0x1b62 + 13'h1b63: q = 8'h14; // 0x1b63 + 13'h1b64: q = 8'h8e; // 0x1b64 + 13'h1b65: q = 8'h0e; // 0x1b65 + 13'h1b66: q = 8'h14; // 0x1b66 + 13'h1b67: q = 8'he8; // 0x1b67 + 13'h1b68: q = 8'h8e; // 0x1b68 + 13'h1b69: q = 8'h07; // 0x1b69 + 13'h1b6a: q = 8'h14; // 0x1b6a + 13'h1b6b: q = 8'h8e; // 0x1b6b + 13'h1b6c: q = 8'h0f; // 0x1b6c + 13'h1b6d: q = 8'h14; // 0x1b6d + 13'h1b6e: q = 8'ha2; // 0x1b6e + 13'h1b6f: q = 8'h00; // 0x1b6f + 13'h1b70: q = 8'hb5; // 0x1b70 + 13'h1b71: q = 8'h00; // 0x1b71 + 13'h1b72: q = 8'hd0; // 0x1b72 + 13'h1b73: q = 8'h43; // 0x1b73 + 13'h1b74: q = 8'ha9; // 0x1b74 + 13'h1b75: q = 8'h11; // 0x1b75 + 13'h1b76: q = 8'h95; // 0x1b76 + 13'h1b77: q = 8'h00; // 0x1b77 + 13'h1b78: q = 8'ha8; // 0x1b78 + 13'h1b79: q = 8'h55; // 0x1b79 + 13'h1b7a: q = 8'h00; // 0x1b7a + 13'h1b7b: q = 8'hd0; // 0x1b7b + 13'h1b7c: q = 8'h3a; // 0x1b7c + 13'h1b7d: q = 8'h98; // 0x1b7d + 13'h1b7e: q = 8'h0a; // 0x1b7e + 13'h1b7f: q = 8'h90; // 0x1b7f + 13'h1b80: q = 8'hf5; // 0x1b80 + 13'h1b81: q = 8'he8; // 0x1b81 + 13'h1b82: q = 8'hd0; // 0x1b82 + 13'h1b83: q = 8'hec; // 0x1b83 + 13'h1b84: q = 8'h8d; // 0x1b84 + 13'h1b85: q = 8'h00; // 0x1b85 + 13'h1b86: q = 8'h20; // 0x1b86 + 13'h1b87: q = 8'h8a; // 0x1b87 + 13'h1b88: q = 8'h85; // 0x1b88 + 13'h1b89: q = 8'h8b; // 0x1b89 + 13'h1b8a: q = 8'h2a; // 0x1b8a + 13'h1b8b: q = 8'h85; // 0x1b8b + 13'h1b8c: q = 8'h8c; // 0x1b8c + 13'h1b8d: q = 8'ha0; // 0x1b8d + 13'h1b8e: q = 8'h00; // 0x1b8e + 13'h1b8f: q = 8'ha2; // 0x1b8f + 13'h1b90: q = 8'h11; // 0x1b90 + 13'h1b91: q = 8'hb1; // 0x1b91 + 13'h1b92: q = 8'h8b; // 0x1b92 + 13'h1b93: q = 8'hd0; // 0x1b93 + 13'h1b94: q = 8'h28; // 0x1b94 + 13'h1b95: q = 8'h8a; // 0x1b95 + 13'h1b96: q = 8'h91; // 0x1b96 + 13'h1b97: q = 8'h8b; // 0x1b97 + 13'h1b98: q = 8'h51; // 0x1b98 + 13'h1b99: q = 8'h8b; // 0x1b99 + 13'h1b9a: q = 8'hd0; // 0x1b9a + 13'h1b9b: q = 8'h21; // 0x1b9b + 13'h1b9c: q = 8'h8a; // 0x1b9c + 13'h1b9d: q = 8'h0a; // 0x1b9d + 13'h1b9e: q = 8'haa; // 0x1b9e + 13'h1b9f: q = 8'h90; // 0x1b9f + 13'h1ba0: q = 8'hf4; // 0x1ba0 + 13'h1ba1: q = 8'hc8; // 0x1ba1 + 13'h1ba2: q = 8'hd0; // 0x1ba2 + 13'h1ba3: q = 8'heb; // 0x1ba3 + 13'h1ba4: q = 8'h8d; // 0x1ba4 + 13'h1ba5: q = 8'h00; // 0x1ba5 + 13'h1ba6: q = 8'h20; // 0x1ba6 + 13'h1ba7: q = 8'he6; // 0x1ba7 + 13'h1ba8: q = 8'h8c; // 0x1ba8 + 13'h1ba9: q = 8'ha5; // 0x1ba9 + 13'h1baa: q = 8'h8c; // 0x1baa + 13'h1bab: q = 8'hc9; // 0x1bab + 13'h1bac: q = 8'h02; // 0x1bac + 13'h1bad: q = 8'hd0; // 0x1bad + 13'h1bae: q = 8'h02; // 0x1bae + 13'h1baf: q = 8'ha9; // 0x1baf + 13'h1bb0: q = 8'h04; // 0x1bb0 + 13'h1bb1: q = 8'hc9; // 0x1bb1 + 13'h1bb2: q = 8'h08; // 0x1bb2 + 13'h1bb3: q = 8'h90; // 0x1bb3 + 13'h1bb4: q = 8'hd6; // 0x1bb4 + 13'h1bb5: q = 8'hb0; // 0x1bb5 + 13'h1bb6: q = 8'h5f; // 0x1bb6 + 13'h1bb7: q = 8'hc9; // 0x1bb7 + 13'h1bb8: q = 8'h10; // 0x1bb8 + 13'h1bb9: q = 8'ha9; // 0x1bb9 + 13'h1bba: q = 8'h00; // 0x1bba + 13'h1bbb: q = 8'h10; // 0x1bbb + 13'h1bbc: q = 8'h12; // 0x1bbc + 13'h1bbd: q = 8'ha6; // 0x1bbd + 13'h1bbe: q = 8'h8c; // 0x1bbe + 13'h1bbf: q = 8'he0; // 0x1bbf + 13'h1bc0: q = 8'h04; // 0x1bc0 + 13'h1bc1: q = 8'h90; // 0x1bc1 + 13'h1bc2: q = 8'hf4; // 0x1bc2 + 13'h1bc3: q = 8'haa; // 0x1bc3 + 13'h1bc4: q = 8'h98; // 0x1bc4 + 13'h1bc5: q = 8'h29; // 0x1bc5 + 13'h1bc6: q = 8'h30; // 0x1bc6 + 13'h1bc7: q = 8'h4a; // 0x1bc7 + 13'h1bc8: q = 8'h4a; // 0x1bc8 + 13'h1bc9: q = 8'h4a; // 0x1bc9 + 13'h1bca: q = 8'h4a; // 0x1bca + 13'h1bcb: q = 8'h69; // 0x1bcb + 13'h1bcc: q = 8'h01; // 0x1bcc + 13'h1bcd: q = 8'he0; // 0x1bcd + 13'h1bce: q = 8'h10; // 0x1bce + 13'h1bcf: q = 8'h2a; // 0x1bcf + 13'h1bd0: q = 8'ha8; // 0x1bd0 + 13'h1bd1: q = 8'ha9; // 0x1bd1 + 13'h1bd2: q = 8'h40; // 0x1bd2 + 13'h1bd3: q = 8'h8d; // 0x1bd3 + 13'h1bd4: q = 8'h00; // 0x1bd4 + 13'h1bd5: q = 8'h10; // 0x1bd5 + 13'h1bd6: q = 8'ha2; // 0x1bd6 + 13'h1bd7: q = 8'h03; // 0x1bd7 + 13'h1bd8: q = 8'h8e; // 0x1bd8 + 13'h1bd9: q = 8'h0f; // 0x1bd9 + 13'h1bda: q = 8'h10; // 0x1bda + 13'h1bdb: q = 8'ha2; // 0x1bdb + 13'h1bdc: q = 8'h10; // 0x1bdc + 13'h1bdd: q = 8'ha9; // 0x1bdd + 13'h1bde: q = 8'haf; // 0x1bde + 13'h1bdf: q = 8'h8d; // 0x1bdf + 13'h1be0: q = 8'h01; // 0x1be0 + 13'h1be1: q = 8'h10; // 0x1be1 + 13'h1be2: q = 8'h2c; // 0x1be2 + 13'h1be3: q = 8'h00; // 0x1be3 + 13'h1be4: q = 8'h0c; // 0x1be4 + 13'h1be5: q = 8'h50; // 0x1be5 + 13'h1be6: q = 8'hfb; // 0x1be6 + 13'h1be7: q = 8'h2c; // 0x1be7 + 13'h1be8: q = 8'h00; // 0x1be8 + 13'h1be9: q = 8'h0c; // 0x1be9 + 13'h1bea: q = 8'h70; // 0x1bea + 13'h1beb: q = 8'hfb; // 0x1beb + 13'h1bec: q = 8'h8d; // 0x1bec + 13'h1bed: q = 8'h00; // 0x1bed + 13'h1bee: q = 8'h20; // 0x1bee + 13'h1bef: q = 8'hca; // 0x1bef +// 13'h1bf0: q = 8'hd0; // 0x1bf0 +// 13'h1bf1: q = 8'hf0; // 0x1bf1 +13'h1bf0: q = 8'hea; // 0x1bf0 +13'h1bf1: q = 8'hea; // 0x1bf1 + 13'h1bf2: q = 8'h8e; // 0x1bf2 + 13'h1bf3: q = 8'h01; // 0x1bf3 + 13'h1bf4: q = 8'h10; // 0x1bf4 + 13'h1bf5: q = 8'ha2; // 0x1bf5 + 13'h1bf6: q = 8'h10; // 0x1bf6 + 13'h1bf7: q = 8'h2c; // 0x1bf7 + 13'h1bf8: q = 8'h00; // 0x1bf8 + 13'h1bf9: q = 8'h0c; // 0x1bf9 + 13'h1bfa: q = 8'h50; // 0x1bfa + 13'h1bfb: q = 8'hfb; // 0x1bfb + 13'h1bfc: q = 8'h2c; // 0x1bfc + 13'h1bfd: q = 8'h00; // 0x1bfd + 13'h1bfe: q = 8'h0c; // 0x1bfe + 13'h1bff: q = 8'h70; // 0x1bff + 13'h1c00: q = 8'hfb; // 0x1c00 + 13'h1c01: q = 8'h8d; // 0x1c01 + 13'h1c02: q = 8'h00; // 0x1c02 + 13'h1c03: q = 8'h20; // 0x1c03 + 13'h1c04: q = 8'hca; // 0x1c04 +// 13'h1c05: q = 8'hd0; // 0x1c05 +// 13'h1c06: q = 8'hf0; // 0x1c06 +13'h1c05: q = 8'hea; // 0x1c05 +13'h1c06: q = 8'hea; // 0x1c06 + 13'h1c07: q = 8'h88; // 0x1c07 +// 13'h1c08: q = 8'h10; // 0x1c08 +// 13'h1c09: q = 8'hd1; // 0x1c09 +13'h1c08: q = 8'hea; // 0x1c08 +13'h1c09: q = 8'hea; // 0x1c09 + 13'h1c0a: q = 8'h8d; // 0x1c0a + 13'h1c0b: q = 8'h00; // 0x1c0b + 13'h1c0c: q = 8'h20; // 0x1c0c + 13'h1c0d: q = 8'had; // 0x1c0d + 13'h1c0e: q = 8'h00; // 0x1c0e + 13'h1c0f: q = 8'h0c; // 0x1c0f + 13'h1c10: q = 8'h29; // 0x1c10 + 13'h1c11: q = 8'h20; // 0x1c11 + 13'h1c12: q = 8'hf0; // 0x1c12 + 13'h1c13: q = 8'hf6; // 0x1c13 + 13'h1c14: q = 8'hd0; // 0x1c14 + 13'h1c15: q = 8'hfe; // 0x1c15 + 13'h1c16: q = 8'had; // 0x1c16 + 13'h1c17: q = 8'h01; // 0x1c17 + 13'h1c18: q = 8'h0c; // 0x1c18 + 13'h1c19: q = 8'h29; // 0x1c19 + 13'h1c1a: q = 8'h10; // 0x1c1a + 13'h1c1b: q = 8'hf0; // 0x1c1b + 13'h1c1c: q = 8'h03; // 0x1c1c + 13'h1c1d: q = 8'h4c; // 0x1c1d + 13'h1c1e: q = 8'h97; // 0x1c1e + 13'h1c1f: q = 8'h3c; // 0x1c1f + 13'h1c20: q = 8'haa; // 0x1c20 + 13'h1c21: q = 8'h95; // 0x1c21 + 13'h1c22: q = 8'h00; // 0x1c22 + 13'h1c23: q = 8'he8; // 0x1c23 + 13'h1c24: q = 8'hd0; // 0x1c24 + 13'h1c25: q = 8'hfb; // 0x1c25 + 13'h1c26: q = 8'ha2; // 0x1c26 + 13'h1c27: q = 8'h0f; // 0x1c27 + 13'h1c28: q = 8'ha9; // 0x1c28 + 13'h1c29: q = 8'hf8; // 0x1c29 + 13'h1c2a: q = 8'h95; // 0x1c2a + 13'h1c2b: q = 8'h64; // 0x1c2b + 13'h1c2c: q = 8'hca; // 0x1c2c + 13'h1c2d: q = 8'h10; // 0x1c2d + 13'h1c2e: q = 8'hfb; // 0x1c2e + 13'h1c2f: q = 8'ha9; // 0x1c2f + 13'h1c30: q = 8'h07; // 0x1c30 + 13'h1c31: q = 8'h85; // 0x1c31 + 13'h1c32: q = 8'h8c; // 0x1c32 + 13'h1c33: q = 8'ha0; // 0x1c33 + 13'h1c34: q = 8'hbf; // 0x1c34 + 13'h1c35: q = 8'ha9; // 0x1c35 + 13'h1c36: q = 8'h2d; // 0x1c36 + 13'h1c37: q = 8'ha2; // 0x1c37 + 13'h1c38: q = 8'h08; // 0x1c38 + 13'h1c39: q = 8'h91; // 0x1c39 + 13'h1c3a: q = 8'h8b; // 0x1c3a + 13'h1c3b: q = 8'h88; // 0x1c3b + 13'h1c3c: q = 8'hca; // 0x1c3c + 13'h1c3d: q = 8'hd0; // 0x1c3d + 13'h1c3e: q = 8'hfa; // 0x1c3e + 13'h1c3f: q = 8'h38; // 0x1c3f + 13'h1c40: q = 8'he9; // 0x1c40 + 13'h1c41: q = 8'h01; // 0x1c41 + 13'h1c42: q = 8'hc9; // 0x1c42 + 13'h1c43: q = 8'h2a; // 0x1c43 + 13'h1c44: q = 8'hb0; // 0x1c44 + 13'h1c45: q = 8'hf1; // 0x1c45 + 13'h1c46: q = 8'hc0; // 0x1c46 + 13'h1c47: q = 8'hff; // 0x1c47 + 13'h1c48: q = 8'hd0; // 0x1c48 + 13'h1c49: q = 8'heb; // 0x1c49 + 13'h1c4a: q = 8'hc6; // 0x1c4a + 13'h1c4b: q = 8'h8c; // 0x1c4b + 13'h1c4c: q = 8'ha5; // 0x1c4c + 13'h1c4d: q = 8'h8c; // 0x1c4d + 13'h1c4e: q = 8'hc9; // 0x1c4e + 13'h1c4f: q = 8'h04; // 0x1c4f + 13'h1c50: q = 8'hb0; // 0x1c50 + 13'h1c51: q = 8'he3; // 0x1c51 + 13'h1c52: q = 8'h58; // 0x1c52 + 13'h1c53: q = 8'had; // 0x1c53 + 13'h1c54: q = 8'h00; // 0x1c54 + 13'h1c55: q = 8'h0c; // 0x1c55 + 13'h1c56: q = 8'h29; // 0x1c56 + 13'h1c57: q = 8'h20; // 0x1c57 + 13'h1c58: q = 8'hd0; // 0x1c58 + 13'h1c59: q = 8'hf9; // 0x1c59 + 13'h1c5a: q = 8'h46; // 0x1c5a + 13'h1c5b: q = 8'h8a; // 0x1c5b + 13'h1c5c: q = 8'h8d; // 0x1c5c + 13'h1c5d: q = 8'h00; // 0x1c5d + 13'h1c5e: q = 8'h20; // 0x1c5e + 13'h1c5f: q = 8'had; // 0x1c5f + 13'h1c60: q = 8'h01; // 0x1c60 + 13'h1c61: q = 8'h0c; // 0x1c61 + 13'h1c62: q = 8'h29; // 0x1c62 + 13'h1c63: q = 8'he0; // 0x1c63 + 13'h1c64: q = 8'h49; // 0x1c64 + 13'h1c65: q = 8'he0; // 0x1c65 + 13'h1c66: q = 8'hf0; // 0x1c66 + 13'h1c67: q = 8'heb; // 0x1c67 + 13'h1c68: q = 8'ha9; // 0x1c68 + 13'h1c69: q = 8'h1d; // 0x1c69 + 13'h1c6a: q = 8'h78; // 0x1c6a + 13'h1c6b: q = 8'h9d; // 0x1c6b + 13'h1c6c: q = 8'h00; // 0x1c6c + 13'h1c6d: q = 8'h04; // 0x1c6d + 13'h1c6e: q = 8'h9d; // 0x1c6e + 13'h1c6f: q = 8'h00; // 0x1c6f + 13'h1c70: q = 8'h05; // 0x1c70 + 13'h1c71: q = 8'h9d; // 0x1c71 + 13'h1c72: q = 8'h00; // 0x1c72 + 13'h1c73: q = 8'h06; // 0x1c73 + 13'h1c74: q = 8'he8; // 0x1c74 + 13'h1c75: q = 8'hd0; // 0x1c75 + 13'h1c76: q = 8'hf4; // 0x1c76 + 13'h1c77: q = 8'h9d; // 0x1c77 + 13'h1c78: q = 8'h00; // 0x1c78 + 13'h1c79: q = 8'h07; // 0x1c79 + 13'h1c7a: q = 8'he8; // 0x1c7a + 13'h1c7b: q = 8'he0; // 0x1c7b + 13'h1c7c: q = 8'hc0; // 0x1c7c + 13'h1c7d: q = 8'h90; // 0x1c7d + 13'h1c7e: q = 8'hf8; // 0x1c7e + 13'h1c7f: q = 8'ha2; // 0x1c7f + 13'h1c80: q = 8'h08; // 0x1c80 + 13'h1c81: q = 8'h8e; // 0x1c81 + 13'h1c82: q = 8'h05; // 0x1c82 + 13'h1c83: q = 8'h14; // 0x1c83 + 13'h1c84: q = 8'ha2; // 0x1c84 + 13'h1c85: q = 8'h0f; // 0x1c85 + 13'h1c86: q = 8'h8e; // 0x1c86 + 13'h1c87: q = 8'h04; // 0x1c87 + 13'h1c88: q = 8'h14; // 0x1c88 + 13'h1c89: q = 8'had; // 0x1c89 + 13'h1c8a: q = 8'h00; // 0x1c8a + 13'h1c8b: q = 8'h0c; // 0x1c8b + 13'h1c8c: q = 8'h29; // 0x1c8c + 13'h1c8d: q = 8'h20; // 0x1c8d + 13'h1c8e: q = 8'hd0; // 0x1c8e + 13'h1c8f: q = 8'hf9; // 0x1c8f + 13'h1c90: q = 8'h8d; // 0x1c90 + 13'h1c91: q = 8'h00; // 0x1c91 + 13'h1c92: q = 8'h20; // 0x1c92 + 13'h1c93: q = 8'h46; // 0x1c93 + 13'h1c94: q = 8'h8a; // 0x1c94 + 13'h1c95: q = 8'h10; // 0x1c95 + 13'h1c96: q = 8'hf2; // 0x1c96 + 13'h1c97: q = 8'ha2; // 0x1c97 + 13'h1c98: q = 8'h00; // 0x1c98 + 13'h1c99: q = 8'h8a; // 0x1c99 + 13'h1c9a: q = 8'h9d; // 0x1c9a + 13'h1c9b: q = 8'h00; // 0x1c9b + 13'h1c9c: q = 8'h07; // 0x1c9c + 13'h1c9d: q = 8'ha9; // 0x1c9d + 13'h1c9e: q = 8'h00; // 0x1c9e + 13'h1c9f: q = 8'h95; // 0x1c9f + 13'h1ca0: q = 8'h00; // 0x1ca0 + 13'h1ca1: q = 8'h9d; // 0x1ca1 + 13'h1ca2: q = 8'h00; // 0x1ca2 + 13'h1ca3: q = 8'h04; // 0x1ca3 + 13'h1ca4: q = 8'h9d; // 0x1ca4 + 13'h1ca5: q = 8'h00; // 0x1ca5 + 13'h1ca6: q = 8'h05; // 0x1ca6 + 13'h1ca7: q = 8'h9d; // 0x1ca7 + 13'h1ca8: q = 8'h00; // 0x1ca8 + 13'h1ca9: q = 8'h06; // 0x1ca9 + 13'h1caa: q = 8'he8; // 0x1caa + 13'h1cab: q = 8'hd0; // 0x1cab + 13'h1cac: q = 8'hec; // 0x1cac + 13'h1cad: q = 8'hca; // 0x1cad + 13'h1cae: q = 8'h86; // 0x1cae + 13'h1caf: q = 8'hd5; // 0x1caf + 13'h1cb0: q = 8'h86; // 0x1cb0 + 13'h1cb1: q = 8'he3; // 0x1cb1 + 13'h1cb2: q = 8'h8d; // 0x1cb2 + 13'h1cb3: q = 8'h03; // 0x1cb3 + 13'h1cb4: q = 8'h1c; // 0x1cb4 + 13'h1cb5: q = 8'h8d; // 0x1cb5 + 13'h1cb6: q = 8'h04; // 0x1cb6 + 13'h1cb7: q = 8'h1c; // 0x1cb7 + 13'h1cb8: q = 8'ha2; // 0x1cb8 + 13'h1cb9: q = 8'h0f; // 0x1cb9 + 13'h1cba: q = 8'h8a; // 0x1cba + 13'h1cbb: q = 8'h09; // 0x1cbb + 13'h1cbc: q = 8'h80; // 0x1cbc + 13'h1cbd: q = 8'h95; // 0x1cbd + 13'h1cbe: q = 8'h54; // 0x1cbe + 13'h1cbf: q = 8'h95; // 0x1cbf + 13'h1cc0: q = 8'h64; // 0x1cc0 + 13'h1cc1: q = 8'hca; // 0x1cc1 + 13'h1cc2: q = 8'h10; // 0x1cc2 + 13'h1cc3: q = 8'hf6; // 0x1cc3 + 13'h1cc4: q = 8'had; // 0x1cc4 + 13'h1cc5: q = 8'h0a; // 0x1cc5 + 13'h1cc6: q = 8'h10; // 0x1cc6 + 13'h1cc7: q = 8'h4d; // 0x1cc7 + 13'h1cc8: q = 8'h0a; // 0x1cc8 + 13'h1cc9: q = 8'h10; // 0x1cc9 + 13'h1cca: q = 8'h85; // 0x1cca + 13'h1ccb: q = 8'he5; // 0x1ccb + 13'h1ccc: q = 8'ha9; // 0x1ccc + 13'h1ccd: q = 8'h03; // 0x1ccd + 13'h1cce: q = 8'h8d; // 0x1cce + 13'h1ccf: q = 8'h0f; // 0x1ccf + 13'h1cd0: q = 8'h10; // 0x1cd0 + 13'h1cd1: q = 8'ha2; // 0x1cd1 + 13'h1cd2: q = 8'h00; // 0x1cd2 + 13'h1cd3: q = 8'h86; // 0x1cd3 + 13'h1cd4: q = 8'h8b; // 0x1cd4 + 13'h1cd5: q = 8'ha9; // 0x1cd5 + 13'h1cd6: q = 8'h20; // 0x1cd6 + 13'h1cd7: q = 8'h85; // 0x1cd7 + 13'h1cd8: q = 8'h8c; // 0x1cd8 + 13'h1cd9: q = 8'ha2; // 0x1cd9 + 13'h1cda: q = 8'h1f; // 0x1cda + 13'h1cdb: q = 8'ha9; // 0x1cdb + 13'h1cdc: q = 8'hff; // 0x1cdc + 13'h1cdd: q = 8'ha0; // 0x1cdd + 13'h1cde: q = 8'h00; // 0x1cde + 13'h1cdf: q = 8'h8e; // 0x1cdf + 13'h1ce0: q = 8'h00; // 0x1ce0 + 13'h1ce1: q = 8'h20; // 0x1ce1 + 13'h1ce2: q = 8'h51; // 0x1ce2 + 13'h1ce3: q = 8'h8b; // 0x1ce3 + 13'h1ce4: q = 8'hc8; // 0x1ce4 + 13'h1ce5: q = 8'hd0; // 0x1ce5 + 13'h1ce6: q = 8'hfb; // 0x1ce6 + 13'h1ce7: q = 8'ha8; // 0x1ce7 + 13'h1ce8: q = 8'h8a; // 0x1ce8 + 13'h1ce9: q = 8'h29; // 0x1ce9 + 13'h1cea: q = 8'h07; // 0x1cea + 13'h1ceb: q = 8'hc9; // 0x1ceb + 13'h1cec: q = 8'h01; // 0x1cec + 13'h1ced: q = 8'h98; // 0x1ced + 13'h1cee: q = 8'hb0; // 0x1cee + 13'h1cef: q = 8'h03; // 0x1cef + 13'h1cf0: q = 8'h48; // 0x1cf0 + 13'h1cf1: q = 8'ha9; // 0x1cf1 + 13'h1cf2: q = 8'hff; // 0x1cf2 + 13'h1cf3: q = 8'he6; // 0x1cf3 + 13'h1cf4: q = 8'h8c; // 0x1cf4 + 13'h1cf5: q = 8'hca; // 0x1cf5 + 13'h1cf6: q = 8'h10; // 0x1cf6 + 13'h1cf7: q = 8'he5; // 0x1cf7 + 13'h1cf8: q = 8'ha9; // 0x1cf8 + 13'h1cf9: q = 8'h04; // 0x1cf9 + 13'h1cfa: q = 8'h85; // 0x1cfa + 13'h1cfb: q = 8'h92; // 0x1cfb + 13'h1cfc: q = 8'ha2; // 0x1cfc + 13'h1cfd: q = 8'h03; // 0x1cfd + 13'h1cfe: q = 8'h8a; // 0x1cfe + 13'h1cff: q = 8'h49; // 0x1cff + 13'h1d00: q = 8'h3f; // 0x1d00 + 13'h1d01: q = 8'h85; // 0x1d01 + 13'h1d02: q = 8'h91; // 0x1d02 + 13'h1d03: q = 8'h68; // 0x1d03 + 13'h1d04: q = 8'hf0; // 0x1d04 + 13'h1d05: q = 8'h11; // 0x1d05 + 13'h1d06: q = 8'h48; // 0x1d06 + 13'h1d07: q = 8'h8a; // 0x1d07 + 13'h1d08: q = 8'h09; // 0x1d08 + 13'h1d09: q = 8'h20; // 0x1d09 + 13'h1d0a: q = 8'h20; // 0x1d0a + 13'h1d0b: q = 8'h36; // 0x1d0b + 13'h1d0c: q = 8'h38; // 0x1d0c + 13'h1d0d: q = 8'ha9; // 0x1d0d + 13'h1d0e: q = 8'h00; // 0x1d0e + 13'h1d0f: q = 8'h20; // 0x1d0f + 13'h1d10: q = 8'h36; // 0x1d10 + 13'h1d11: q = 8'h38; // 0x1d11 + 13'h1d12: q = 8'h68; // 0x1d12 + 13'h1d13: q = 8'h18; // 0x1d13 + 13'h1d14: q = 8'h20; // 0x1d14 + 13'h1d15: q = 8'h4f; // 0x1d15 + 13'h1d16: q = 8'h38; // 0x1d16 + 13'h1d17: q = 8'hca; // 0x1d17 + 13'h1d18: q = 8'h10; // 0x1d18 + 13'h1d19: q = 8'he4; // 0x1d19 + 13'h1d1a: q = 8'h20; // 0x1d1a + 13'h1d1b: q = 8'h99; // 0x1d1b + 13'h1d1c: q = 8'h3a; // 0x1d1c + 13'h1d1d: q = 8'ha0; // 0x1d1d + 13'h1d1e: q = 8'h06; // 0x1d1e + 13'h1d1f: q = 8'hb9; // 0x1d1f + 13'h1d20: q = 8'h8b; // 0x1d20 + 13'h1d21: q = 8'h01; // 0x1d21 + 13'h1d22: q = 8'h99; // 0x1d22 + 13'h1d23: q = 8'h8e; // 0x1d23 + 13'h1d24: q = 8'h00; // 0x1d24 + 13'h1d25: q = 8'h88; // 0x1d25 + 13'h1d26: q = 8'h10; // 0x1d26 + 13'h1d27: q = 8'hf7; // 0x1d27 + 13'h1d28: q = 8'hf8; // 0x1d28 + 13'h1d29: q = 8'had; // 0x1d29 + 13'h1d2a: q = 8'h8b; // 0x1d2a + 13'h1d2b: q = 8'h01; // 0x1d2b + 13'h1d2c: q = 8'h0d; // 0x1d2c + 13'h1d2d: q = 8'h8c; // 0x1d2d + 13'h1d2e: q = 8'h01; // 0x1d2e + 13'h1d2f: q = 8'h0d; // 0x1d2f + 13'h1d30: q = 8'h8d; // 0x1d30 + 13'h1d31: q = 8'h01; // 0x1d31 + 13'h1d32: q = 8'hf0; // 0x1d32 + 13'h1d33: q = 8'h1f; // 0x1d33 + 13'h1d34: q = 8'hc8; // 0x1d34 + 13'h1d35: q = 8'hc8; // 0x1d35 + 13'h1d36: q = 8'hf0; // 0x1d36 + 13'h1d37: q = 8'h1b; // 0x1d37 + 13'h1d38: q = 8'ha5; // 0x1d38 + 13'h1d39: q = 8'h91; // 0x1d39 + 13'h1d3a: q = 8'h38; // 0x1d3a + 13'h1d3b: q = 8'he5; // 0x1d3b + 13'h1d3c: q = 8'h8e; // 0x1d3c + 13'h1d3d: q = 8'h85; // 0x1d3d + 13'h1d3e: q = 8'h91; // 0x1d3e + 13'h1d3f: q = 8'ha5; // 0x1d3f + 13'h1d40: q = 8'h92; // 0x1d40 + 13'h1d41: q = 8'he5; // 0x1d41 + 13'h1d42: q = 8'h8f; // 0x1d42 + 13'h1d43: q = 8'h85; // 0x1d43 + 13'h1d44: q = 8'h92; // 0x1d44 + 13'h1d45: q = 8'ha5; // 0x1d45 + 13'h1d46: q = 8'h93; // 0x1d46 + 13'h1d47: q = 8'he5; // 0x1d47 + 13'h1d48: q = 8'h90; // 0x1d48 + 13'h1d49: q = 8'h85; // 0x1d49 + 13'h1d4a: q = 8'h93; // 0x1d4a + 13'h1d4b: q = 8'ha5; // 0x1d4b + 13'h1d4c: q = 8'h94; // 0x1d4c + 13'h1d4d: q = 8'he9; // 0x1d4d + 13'h1d4e: q = 8'h00; // 0x1d4e + 13'h1d4f: q = 8'h85; // 0x1d4f + 13'h1d50: q = 8'h94; // 0x1d50 + 13'h1d51: q = 8'h10; // 0x1d51 + 13'h1d52: q = 8'he2; // 0x1d52 + 13'h1d53: q = 8'hd8; // 0x1d53 + 13'h1d54: q = 8'h84; // 0x1d54 + 13'h1d55: q = 8'h8d; // 0x1d55 + 13'h1d56: q = 8'h58; // 0x1d56 + 13'h1d57: q = 8'h46; // 0x1d57 + 13'h1d58: q = 8'h8a; // 0x1d58 + 13'h1d59: q = 8'h90; // 0x1d59 + 13'h1d5a: q = 8'hfc; // 0x1d5a + 13'h1d5b: q = 8'had; // 0x1d5b + 13'h1d5c: q = 8'h00; // 0x1d5c + 13'h1d5d: q = 8'h0c; // 0x1d5d + 13'h1d5e: q = 8'h29; // 0x1d5e + 13'h1d5f: q = 8'h20; // 0x1d5f + 13'h1d60: q = 8'hd0; // 0x1d60 + 13'h1d61: q = 8'hfe; // 0x1d61 + 13'h1d62: q = 8'h8d; // 0x1d62 + 13'h1d63: q = 8'h00; // 0x1d63 + 13'h1d64: q = 8'h20; // 0x1d64 + 13'h1d65: q = 8'had; // 0x1d65 + 13'h1d66: q = 8'h01; // 0x1d66 + 13'h1d67: q = 8'h0c; // 0x1d67 + 13'h1d68: q = 8'h4a; // 0x1d68 + 13'h1d69: q = 8'h26; // 0x1d69 + 13'h1d6a: q = 8'hea; // 0x1d6a + 13'h1d6b: q = 8'ha5; // 0x1d6b + 13'h1d6c: q = 8'hea; // 0x1d6c + 13'h1d6d: q = 8'h29; // 0x1d6d + 13'h1d6e: q = 8'h03; // 0x1d6e + 13'h1d6f: q = 8'hc9; // 0x1d6f + 13'h1d70: q = 8'h02; // 0x1d70 + 13'h1d71: q = 8'hd0; // 0x1d71 + 13'h1d72: q = 8'h24; // 0x1d72 + 13'h1d73: q = 8'ha5; // 0x1d73 + 13'h1d74: q = 8'he6; // 0x1d74 + 13'h1d75: q = 8'haa; // 0x1d75 + 13'h1d76: q = 8'h18; // 0x1d76 + 13'h1d77: q = 8'h69; // 0x1d77 + 13'h1d78: q = 8'h02; // 0x1d78 + 13'h1d79: q = 8'h29; // 0x1d79 + 13'h1d7a: q = 8'h06; // 0x1d7a + 13'h1d7b: q = 8'h85; // 0x1d7b + 13'h1d7c: q = 8'he6; // 0x1d7c + 13'h1d7d: q = 8'ha9; // 0x1d7d + 13'h1d7e: q = 8'h00; // 0x1d7e + 13'h1d7f: q = 8'h9d; // 0x1d7f + 13'h1d80: q = 8'h01; // 0x1d80 + 13'h1d81: q = 8'h10; // 0x1d81 + 13'h1d82: q = 8'ha5; // 0x1d82 + 13'h1d83: q = 8'he7; // 0x1d83 + 13'h1d84: q = 8'h18; // 0x1d84 + 13'h1d85: q = 8'h69; // 0x1d85 + 13'h1d86: q = 8'h01; // 0x1d86 + 13'h1d87: q = 8'h29; // 0x1d87 + 13'h1d88: q = 8'h0f; // 0x1d88 + 13'h1d89: q = 8'h85; // 0x1d89 + 13'h1d8a: q = 8'he7; // 0x1d8a + 13'h1d8b: q = 8'ha6; // 0x1d8b + 13'h1d8c: q = 8'he8; // 0x1d8c + 13'h1d8d: q = 8'he8; // 0x1d8d + 13'h1d8e: q = 8'h8a; // 0x1d8e + 13'h1d8f: q = 8'h29; // 0x1d8f + 13'h1d90: q = 8'h0f; // 0x1d90 + 13'h1d91: q = 8'haa; // 0x1d91 + 13'h1d92: q = 8'h8e; // 0x1d92 + 13'h1d93: q = 8'h04; // 0x1d93 + 13'h1d94: q = 8'h14; // 0x1d94 + 13'h1d95: q = 8'h86; // 0x1d95 + 13'h1d96: q = 8'he8; // 0x1d96 + 13'h1d97: q = 8'had; // 0x1d97 + 13'h1d98: q = 8'h01; // 0x1d98 + 13'h1d99: q = 8'h0c; // 0x1d99 + 13'h1d9a: q = 8'h4a; // 0x1d9a + 13'h1d9b: q = 8'h4a; // 0x1d9b + 13'h1d9c: q = 8'h26; // 0x1d9c + 13'h1d9d: q = 8'heb; // 0x1d9d + 13'h1d9e: q = 8'ha5; // 0x1d9e + 13'h1d9f: q = 8'heb; // 0x1d9f + 13'h1da0: q = 8'h29; // 0x1da0 + 13'h1da1: q = 8'h03; // 0x1da1 + 13'h1da2: q = 8'hc9; // 0x1da2 + 13'h1da3: q = 8'h02; // 0x1da3 + 13'h1da4: q = 8'hd0; // 0x1da4 + 13'h1da5: q = 8'h16; // 0x1da5 + 13'h1da6: q = 8'he6; // 0x1da6 + 13'h1da7: q = 8'he9; // 0x1da7 + 13'h1da8: q = 8'ha5; // 0x1da8 + 13'h1da9: q = 8'he9; // 0x1da9 + 13'h1daa: q = 8'ha0; // 0x1daa + 13'h1dab: q = 8'h01; // 0x1dab + 13'h1dac: q = 8'h18; // 0x1dac + 13'h1dad: q = 8'h69; // 0x1dad + 13'h1dae: q = 8'h01; // 0x1dae + 13'h1daf: q = 8'h29; // 0x1daf + 13'h1db0: q = 8'h0f; // 0x1db0 + 13'h1db1: q = 8'h99; // 0x1db1 + 13'h1db2: q = 8'h04; // 0x1db2 + 13'h1db3: q = 8'h14; // 0x1db3 + 13'h1db4: q = 8'h99; // 0x1db4 + 13'h1db5: q = 8'h0c; // 0x1db5 + 13'h1db6: q = 8'h14; // 0x1db6 + 13'h1db7: q = 8'hc8; // 0x1db7 + 13'h1db8: q = 8'hc0; // 0x1db8 + 13'h1db9: q = 8'h04; // 0x1db9 + 13'h1dba: q = 8'h90; // 0x1dba + 13'h1dbb: q = 8'hf0; // 0x1dbb + 13'h1dbc: q = 8'had; // 0x1dbc + 13'h1dbd: q = 8'h01; // 0x1dbd + 13'h1dbe: q = 8'h0c; // 0x1dbe + 13'h1dbf: q = 8'h4a; // 0x1dbf + 13'h1dc0: q = 8'h4a; // 0x1dc0 + 13'h1dc1: q = 8'h4a; // 0x1dc1 + 13'h1dc2: q = 8'h26; // 0x1dc2 + 13'h1dc3: q = 8'hec; // 0x1dc3 + 13'h1dc4: q = 8'ha5; // 0x1dc4 + 13'h1dc5: q = 8'hec; // 0x1dc5 + 13'h1dc6: q = 8'h29; // 0x1dc6 + 13'h1dc7: q = 8'h03; // 0x1dc7 + 13'h1dc8: q = 8'h49; // 0x1dc8 + 13'h1dc9: q = 8'h02; // 0x1dc9 + 13'h1dca: q = 8'hd0; // 0x1dca + 13'h1dcb: q = 8'h15; // 0x1dcb + 13'h1dcc: q = 8'h85; // 0x1dcc + 13'h1dcd: q = 8'hbd; // 0x1dcd + 13'h1dce: q = 8'h85; // 0x1dce + 13'h1dcf: q = 8'hbf; // 0x1dcf + 13'h1dd0: q = 8'h8d; // 0x1dd0 + 13'h1dd1: q = 8'h00; // 0x1dd1 + 13'h1dd2: q = 8'h24; // 0x1dd2 + 13'h1dd3: q = 8'ha9; // 0x1dd3 + 13'h1dd4: q = 8'h01; // 0x1dd4 + 13'h1dd5: q = 8'h8d; // 0x1dd5 + 13'h1dd6: q = 8'h07; // 0x1dd6 + 13'h1dd7: q = 8'h1c; // 0x1dd7 + 13'h1dd8: q = 8'h85; // 0x1dd8 + 13'h1dd9: q = 8'h88; // 0x1dd9 + 13'h1dda: q = 8'ha2; // 0x1dda + 13'h1ddb: q = 8'h0f; // 0x1ddb + 13'h1ddc: q = 8'hf6; // 0x1ddc + 13'h1ddd: q = 8'h34; // 0x1ddd + 13'h1dde: q = 8'hca; // 0x1dde + 13'h1ddf: q = 8'h10; // 0x1ddf + 13'h1de0: q = 8'hfb; // 0x1de0 + 13'h1de1: q = 8'had; // 0x1de1 + 13'h1de2: q = 8'h01; // 0x1de2 + 13'h1de3: q = 8'h0c; // 0x1de3 + 13'h1de4: q = 8'h4a; // 0x1de4 + 13'h1de5: q = 8'h4a; // 0x1de5 + 13'h1de6: q = 8'h4a; // 0x1de6 + 13'h1de7: q = 8'h4a; // 0x1de7 + 13'h1de8: q = 8'h26; // 0x1de8 + 13'h1de9: q = 8'hed; // 0x1de9 + 13'h1dea: q = 8'ha5; // 0x1dea + 13'h1deb: q = 8'hed; // 0x1deb + 13'h1dec: q = 8'h29; // 0x1dec + 13'h1ded: q = 8'h03; // 0x1ded + 13'h1dee: q = 8'h49; // 0x1dee + 13'h1def: q = 8'h02; // 0x1def + 13'h1df0: q = 8'hd0; // 0x1df0 + 13'h1df1: q = 8'h10; // 0x1df1 + 13'h1df2: q = 8'h85; // 0x1df2 + 13'h1df3: q = 8'hbd; // 0x1df3 + 13'h1df4: q = 8'h85; // 0x1df4 + 13'h1df5: q = 8'hbf; // 0x1df5 + 13'h1df6: q = 8'h8d; // 0x1df6 + 13'h1df7: q = 8'h00; // 0x1df7 + 13'h1df8: q = 8'h24; // 0x1df8 + 13'h1df9: q = 8'ha9; // 0x1df9 + 13'h1dfa: q = 8'h02; // 0x1dfa + 13'h1dfb: q = 8'h85; // 0x1dfb + 13'h1dfc: q = 8'h88; // 0x1dfc + 13'h1dfd: q = 8'ha9; // 0x1dfd + 13'h1dfe: q = 8'hff; // 0x1dfe + 13'h1dff: q = 8'h8d; // 0x1dff + 13'h1e00: q = 8'h07; // 0x1e00 + 13'h1e01: q = 8'h1c; // 0x1e01 + 13'h1e02: q = 8'ha9; // 0x1e02 + 13'h1e03: q = 8'h05; // 0x1e03 + 13'h1e04: q = 8'h85; // 0x1e04 + 13'h1e05: q = 8'h92; // 0x1e05 + 13'h1e06: q = 8'ha9; // 0x1e06 + 13'h1e07: q = 8'h38; // 0x1e07 + 13'h1e08: q = 8'h85; // 0x1e08 + 13'h1e09: q = 8'h91; // 0x1e09 + 13'h1e0a: q = 8'had; // 0x1e0a + 13'h1e0b: q = 8'h00; // 0x1e0b + 13'h1e0c: q = 8'h08; // 0x1e0c + 13'h1e0d: q = 8'h29; // 0x1e0d + 13'h1e0e: q = 8'h0c; // 0x1e0e + 13'h1e0f: q = 8'h4a; // 0x1e0f + 13'h1e10: q = 8'h4a; // 0x1e10 + 13'h1e11: q = 8'h69; // 0x1e11 + 13'h1e12: q = 8'h01; // 0x1e12 + 13'h1e13: q = 8'h85; // 0x1e13 + 13'h1e14: q = 8'h8b; // 0x1e14 + 13'h1e15: q = 8'ha2; // 0x1e15 + 13'h1e16: q = 8'h05; // 0x1e16 + 13'h1e17: q = 8'ha9; // 0x1e17 + 13'h1e18: q = 8'h1f; // 0x1e18 + 13'h1e19: q = 8'h24; // 0x1e19 + 13'h1e1a: q = 8'h8b; // 0x1e1a + 13'h1e1b: q = 8'h10; // 0x1e1b + 13'h1e1c: q = 8'h02; // 0x1e1c + 13'h1e1d: q = 8'ha9; // 0x1e1d + 13'h1e1e: q = 8'h00; // 0x1e1e + 13'h1e1f: q = 8'h20; // 0x1e1f + 13'h1e20: q = 8'h36; // 0x1e20 + 13'h1e21: q = 8'h38; // 0x1e21 + 13'h1e22: q = 8'hc6; // 0x1e22 + 13'h1e23: q = 8'h8b; // 0x1e23 + 13'h1e24: q = 8'hca; // 0x1e24 + 13'h1e25: q = 8'hd0; // 0x1e25 + 13'h1e26: q = 8'hf0; // 0x1e26 + 13'h1e27: q = 8'ha9; // 0x1e27 + 13'h1e28: q = 8'h37; // 0x1e28 + 13'h1e29: q = 8'h85; // 0x1e29 + 13'h1e2a: q = 8'h91; // 0x1e2a + 13'h1e2b: q = 8'ha9; // 0x1e2b + 13'h1e2c: q = 8'h21; // 0x1e2c + 13'h1e2d: q = 8'h20; // 0x1e2d + 13'h1e2e: q = 8'h36; // 0x1e2e + 13'h1e2f: q = 8'h38; // 0x1e2f + 13'h1e30: q = 8'had; // 0x1e30 + 13'h1e31: q = 8'h01; // 0x1e31 + 13'h1e32: q = 8'h08; // 0x1e32 + 13'h1e33: q = 8'h29; // 0x1e33 + 13'h1e34: q = 8'h10; // 0x1e34 + 13'h1e35: q = 8'h4a; // 0x1e35 + 13'h1e36: q = 8'h4a; // 0x1e36 + 13'h1e37: q = 8'h4a; // 0x1e37 + 13'h1e38: q = 8'h4a; // 0x1e38 + 13'h1e39: q = 8'h69; // 0x1e39 + 13'h1e3a: q = 8'h01; // 0x1e3a + 13'h1e3b: q = 8'h09; // 0x1e3b + 13'h1e3c: q = 8'h20; // 0x1e3c + 13'h1e3d: q = 8'h20; // 0x1e3d + 13'h1e3e: q = 8'h36; // 0x1e3e + 13'h1e3f: q = 8'h38; // 0x1e3f + 13'h1e40: q = 8'had; // 0x1e40 + 13'h1e41: q = 8'h01; // 0x1e41 + 13'h1e42: q = 8'h08; // 0x1e42 + 13'h1e43: q = 8'h29; // 0x1e43 + 13'h1e44: q = 8'h0c; // 0x1e44 + 13'h1e45: q = 8'h4a; // 0x1e45 + 13'h1e46: q = 8'h4a; // 0x1e46 + 13'h1e47: q = 8'hd0; // 0x1e47 + 13'h1e48: q = 8'h02; // 0x1e48 + 13'h1e49: q = 8'ha9; // 0x1e49 + 13'h1e4a: q = 8'hfe; // 0x1e4a + 13'h1e4b: q = 8'h69; // 0x1e4b + 13'h1e4c: q = 8'h03; // 0x1e4c + 13'h1e4d: q = 8'h09; // 0x1e4d + 13'h1e4e: q = 8'h20; // 0x1e4e + 13'h1e4f: q = 8'h20; // 0x1e4f + 13'h1e50: q = 8'h36; // 0x1e50 + 13'h1e51: q = 8'h38; // 0x1e51 + 13'h1e52: q = 8'ha9; // 0x1e52 + 13'h1e53: q = 8'h36; // 0x1e53 + 13'h1e54: q = 8'h85; // 0x1e54 + 13'h1e55: q = 8'h91; // 0x1e55 + 13'h1e56: q = 8'ha9; // 0x1e56 + 13'h1e57: q = 8'h00; // 0x1e57 + 13'h1e58: q = 8'ha8; // 0x1e58 + 13'h1e59: q = 8'h91; // 0x1e59 + 13'h1e5a: q = 8'h91; // 0x1e5a + 13'h1e5b: q = 8'ha0; // 0x1e5b + 13'h1e5c: q = 8'h40; // 0x1e5c + 13'h1e5d: q = 8'h91; // 0x1e5d + 13'h1e5e: q = 8'h91; // 0x1e5e + 13'h1e5f: q = 8'had; // 0x1e5f + 13'h1e60: q = 8'h01; // 0x1e60 + 13'h1e61: q = 8'h08; // 0x1e61 + 13'h1e62: q = 8'h4a; // 0x1e62 + 13'h1e63: q = 8'h4a; // 0x1e63 + 13'h1e64: q = 8'h4a; // 0x1e64 + 13'h1e65: q = 8'h4a; // 0x1e65 + 13'h1e66: q = 8'h4a; // 0x1e66 + 13'h1e67: q = 8'hf0; // 0x1e67 + 13'h1e68: q = 8'h1b; // 0x1e68 + 13'h1e69: q = 8'haa; // 0x1e69 + 13'h1e6a: q = 8'hc9; // 0x1e6a + 13'h1e6b: q = 8'h06; // 0x1e6b + 13'h1e6c: q = 8'hb0; // 0x1e6c + 13'h1e6d: q = 8'h16; // 0x1e6d + 13'h1e6e: q = 8'hbd; // 0x1e6e + 13'h1e6f: q = 8'hd8; // 0x1e6f + 13'h1e70: q = 8'h3f; // 0x1e70 + 13'h1e71: q = 8'h20; // 0x1e71 + 13'h1e72: q = 8'h36; // 0x1e72 + 13'h1e73: q = 8'h38; // 0x1e73 + 13'h1e74: q = 8'ha9; // 0x1e74 + 13'h1e75: q = 8'h00; // 0x1e75 + 13'h1e76: q = 8'h20; // 0x1e76 + 13'h1e77: q = 8'h36; // 0x1e77 + 13'h1e78: q = 8'h38; // 0x1e78 + 13'h1e79: q = 8'ha9; // 0x1e79 + 13'h1e7a: q = 8'h21; // 0x1e7a + 13'h1e7b: q = 8'he0; // 0x1e7b + 13'h1e7c: q = 8'h03; // 0x1e7c + 13'h1e7d: q = 8'hd0; // 0x1e7d + 13'h1e7e: q = 8'h02; // 0x1e7e + 13'h1e7f: q = 8'ha9; // 0x1e7f + 13'h1e80: q = 8'h22; // 0x1e80 + 13'h1e81: q = 8'h20; // 0x1e81 + 13'h1e82: q = 8'h36; // 0x1e82 + 13'h1e83: q = 8'h38; // 0x1e83 + 13'h1e84: q = 8'ha9; // 0x1e84 + 13'h1e85: q = 8'h3f; // 0x1e85 + 13'h1e86: q = 8'h85; // 0x1e86 + 13'h1e87: q = 8'h94; // 0x1e87 + 13'h1e88: q = 8'ha9; // 0x1e88 + 13'h1e89: q = 8'hee; // 0x1e89 + 13'h1e8a: q = 8'h2c; // 0x1e8a + 13'h1e8b: q = 8'h00; // 0x1e8b + 13'h1e8c: q = 8'h08; // 0x1e8c + 13'h1e8d: q = 8'h50; // 0x1e8d + 13'h1e8e: q = 8'h02; // 0x1e8e + 13'h1e8f: q = 8'ha9; // 0x1e8f + 13'h1e90: q = 8'hf2; // 0x1e90 + 13'h1e91: q = 8'h85; // 0x1e91 + 13'h1e92: q = 8'h93; // 0x1e92 + 13'h1e93: q = 8'ha9; // 0x1e93 + 13'h1e94: q = 8'h35; // 0x1e94 + 13'h1e95: q = 8'h85; // 0x1e95 + 13'h1e96: q = 8'h91; // 0x1e96 + 13'h1e97: q = 8'h20; // 0x1e97 + 13'h1e98: q = 8'h25; // 0x1e98 + 13'h1e99: q = 8'h38; // 0x1e99 + 13'h1e9a: q = 8'had; // 0x1e9a + 13'h1e9b: q = 8'h01; // 0x1e9b + 13'h1e9c: q = 8'h0c; // 0x1e9c + 13'h1e9d: q = 8'h85; // 0x1e9d + 13'h1e9e: q = 8'hdf; // 0x1e9e + 13'h1e9f: q = 8'had; // 0x1e9f + 13'h1ea0: q = 8'h00; // 0x1ea0 + 13'h1ea1: q = 8'h08; // 0x1ea1 + 13'h1ea2: q = 8'h85; // 0x1ea2 + 13'h1ea3: q = 8'hdd; // 0x1ea3 + 13'h1ea4: q = 8'had; // 0x1ea4 + 13'h1ea5: q = 8'h01; // 0x1ea5 + 13'h1ea6: q = 8'h08; // 0x1ea6 + 13'h1ea7: q = 8'h85; // 0x1ea7 + 13'h1ea8: q = 8'hde; // 0x1ea8 + 13'h1ea9: q = 8'had; // 0x1ea9 + 13'h1eaa: q = 8'h00; // 0x1eaa + 13'h1eab: q = 8'h0c; // 0x1eab + 13'h1eac: q = 8'h29; // 0x1eac + 13'h1ead: q = 8'h8f; // 0x1ead + 13'h1eae: q = 8'h85; // 0x1eae + 13'h1eaf: q = 8'he0; // 0x1eaf + 13'h1eb0: q = 8'had; // 0x1eb0 + 13'h1eb1: q = 8'h02; // 0x1eb1 + 13'h1eb2: q = 8'h0c; // 0x1eb2 + 13'h1eb3: q = 8'h29; // 0x1eb3 + 13'h1eb4: q = 8'h8f; // 0x1eb4 + 13'h1eb5: q = 8'h85; // 0x1eb5 + 13'h1eb6: q = 8'he1; // 0x1eb6 + 13'h1eb7: q = 8'had; // 0x1eb7 + 13'h1eb8: q = 8'h03; // 0x1eb8 + 13'h1eb9: q = 8'h0c; // 0x1eb9 + 13'h1eba: q = 8'h85; // 0x1eba + 13'h1ebb: q = 8'he2; // 0x1ebb + 13'h1ebc: q = 8'had; // 0x1ebc + 13'h1ebd: q = 8'h0a; // 0x1ebd + 13'h1ebe: q = 8'h10; // 0x1ebe + 13'h1ebf: q = 8'h48; // 0x1ebf + 13'h1ec0: q = 8'h25; // 0x1ec0 + 13'h1ec1: q = 8'he3; // 0x1ec1 + 13'h1ec2: q = 8'h85; // 0x1ec2 + 13'h1ec3: q = 8'he3; // 0x1ec3 + 13'h1ec4: q = 8'h68; // 0x1ec4 + 13'h1ec5: q = 8'h05; // 0x1ec5 + 13'h1ec6: q = 8'he4; // 0x1ec6 + 13'h1ec7: q = 8'h85; // 0x1ec7 + 13'h1ec8: q = 8'he4; // 0x1ec8 + 13'h1ec9: q = 8'ha2; // 0x1ec9 + 13'h1eca: q = 8'h00; // 0x1eca + 13'h1ecb: q = 8'had; // 0x1ecb + 13'h1ecc: q = 8'h01; // 0x1ecc + 13'h1ecd: q = 8'h0c; // 0x1ecd + 13'h1ece: q = 8'h38; // 0x1ece + 13'h1ecf: q = 8'h2a; // 0x1ecf + 13'h1ed0: q = 8'hb0; // 0x1ed0 + 13'h1ed1: q = 8'h01; // 0x1ed1 + 13'h1ed2: q = 8'he8; // 0x1ed2 + 13'h1ed3: q = 8'h0a; // 0x1ed3 + 13'h1ed4: q = 8'hd0; // 0x1ed4 + 13'h1ed5: q = 8'hfa; // 0x1ed5 + 13'h1ed6: q = 8'h8a; // 0x1ed6 + 13'h1ed7: q = 8'ha4; // 0x1ed7 + 13'h1ed8: q = 8'he6; // 0x1ed8 + 13'h1ed9: q = 8'h0a; // 0x1ed9 + 13'h1eda: q = 8'h0a; // 0x1eda + 13'h1edb: q = 8'h0a; // 0x1edb + 13'h1edc: q = 8'h99; // 0x1edc + 13'h1edd: q = 8'h00; // 0x1edd + 13'h1ede: q = 8'h10; // 0x1ede + 13'h1edf: q = 8'h8a; // 0x1edf + 13'h1ee0: q = 8'h09; // 0x1ee0 + 13'h1ee1: q = 8'ha0; // 0x1ee1 + 13'h1ee2: q = 8'h99; // 0x1ee2 + 13'h1ee3: q = 8'h01; // 0x1ee3 + 13'h1ee4: q = 8'h10; // 0x1ee4 + 13'h1ee5: q = 8'ha6; // 0x1ee5 + 13'h1ee6: q = 8'he7; // 0x1ee6 + 13'h1ee7: q = 8'ha0; // 0x1ee7 + 13'h1ee8: q = 8'h00; // 0x1ee8 + 13'h1ee9: q = 8'ha5; // 0x1ee9 + 13'h1eea: q = 8'hb9; // 0x1eea + 13'h1eeb: q = 8'h84; // 0x1eeb + 13'h1eec: q = 8'hb9; // 0x1eec + 13'h1eed: q = 8'h18; // 0x1eed + 13'h1eee: q = 8'h75; // 0x1eee + 13'h1eef: q = 8'h54; // 0x1eef + 13'h1ef0: q = 8'h95; // 0x1ef0 + 13'h1ef1: q = 8'h54; // 0x1ef1 + 13'h1ef2: q = 8'hb5; // 0x1ef2 + 13'h1ef3: q = 8'h64; // 0x1ef3 + 13'h1ef4: q = 8'h38; // 0x1ef4 + 13'h1ef5: q = 8'he5; // 0x1ef5 + 13'h1ef6: q = 8'hbb; // 0x1ef6 + 13'h1ef7: q = 8'h84; // 0x1ef7 + 13'h1ef8: q = 8'hbb; // 0x1ef8 + 13'h1ef9: q = 8'h95; // 0x1ef9 + 13'h1efa: q = 8'h64; // 0x1efa + 13'h1efb: q = 8'ha0; // 0x1efb + 13'h1efc: q = 8'hd0; // 0x1efc + 13'h1efd: q = 8'ha2; // 0x1efd + 13'h1efe: q = 8'h05; // 0x1efe + 13'h1eff: q = 8'h9a; // 0x1eff + 13'h1f00: q = 8'ha2; // 0x1f00 + 13'h1f01: q = 8'h07; // 0x1f01 + 13'h1f02: q = 8'h8a; // 0x1f02 + 13'h1f03: q = 8'hba; // 0x1f03 + 13'h1f04: q = 8'h36; // 0x1f04 + 13'h1f05: q = 8'hdd; // 0x1f05 + 13'h1f06: q = 8'haa; // 0x1f06 + 13'h1f07: q = 8'ha9; // 0x1f07 + 13'h1f08: q = 8'h21; // 0x1f08 + 13'h1f09: q = 8'hb0; // 0x1f09 + 13'h1f0a: q = 8'h02; // 0x1f0a + 13'h1f0b: q = 8'ha9; // 0x1f0b + 13'h1f0c: q = 8'h20; // 0x1f0c + 13'h1f0d: q = 8'hc8; // 0x1f0d + 13'h1f0e: q = 8'h99; // 0x1f0e + 13'h1f0f: q = 8'h00; // 0x1f0f + 13'h1f10: q = 8'h04; // 0x1f10 + 13'h1f11: q = 8'hca; // 0x1f11 + 13'h1f12: q = 8'h10; // 0x1f12 + 13'h1f13: q = 8'hee; // 0x1f13 + 13'h1f14: q = 8'h98; // 0x1f14 + 13'h1f15: q = 8'h38; // 0x1f15 + 13'h1f16: q = 8'he9; // 0x1f16 + 13'h1f17: q = 8'h28; // 0x1f17 + 13'h1f18: q = 8'ha8; // 0x1f18 + 13'h1f19: q = 8'hba; // 0x1f19 + 13'h1f1a: q = 8'hca; // 0x1f1a + 13'h1f1b: q = 8'h10; // 0x1f1b + 13'h1f1c: q = 8'he2; // 0x1f1c + 13'h1f1d: q = 8'ha9; // 0x1f1d + 13'h1f1e: q = 8'h04; // 0x1f1e + 13'h1f1f: q = 8'h85; // 0x1f1f + 13'h1f20: q = 8'h92; // 0x1f20 + 13'h1f21: q = 8'ha9; // 0x1f21 + 13'h1f22: q = 8'h3a; // 0x1f22 + 13'h1f23: q = 8'h85; // 0x1f23 + 13'h1f24: q = 8'h91; // 0x1f24 + 13'h1f25: q = 8'ha5; // 0x1f25 + 13'h1f26: q = 8'he4; // 0x1f26 + 13'h1f27: q = 8'h49; // 0x1f27 + 13'h1f28: q = 8'hff; // 0x1f28 + 13'h1f29: q = 8'h05; // 0x1f29 + 13'h1f2a: q = 8'he3; // 0x1f2a + 13'h1f2b: q = 8'h05; // 0x1f2b + 13'h1f2c: q = 8'he5; // 0x1f2c + 13'h1f2d: q = 8'hf0; // 0x1f2d + 13'h1f2e: q = 8'h02; // 0x1f2e + 13'h1f2f: q = 8'ha9; // 0x1f2f + 13'h1f30: q = 8'h25; // 0x1f30 + 13'h1f31: q = 8'h20; // 0x1f31 + 13'h1f32: q = 8'h36; // 0x1f32 + 13'h1f33: q = 8'h38; // 0x1f33 + 13'h1f34: q = 8'h20; // 0x1f34 + 13'h1f35: q = 8'hc0; // 0x1f35 + 13'h1f36: q = 8'h3a; // 0x1f36 + 13'h1f37: q = 8'h20; // 0x1f37 + 13'h1f38: q = 8'h08; // 0x1f38 + 13'h1f39: q = 8'h3a; // 0x1f39 + 13'h1f3a: q = 8'h8c; // 0x1f3a + 13'h1f3b: q = 8'hb5; // 0x1f3b + 13'h1f3c: q = 8'h01; // 0x1f3c + 13'h1f3d: q = 8'hf0; // 0x1f3d + 13'h1f3e: q = 8'h16; // 0x1f3e + 13'h1f3f: q = 8'h48; // 0x1f3f + 13'h1f40: q = 8'ha9; // 0x1f40 + 13'h1f41: q = 8'h3b; // 0x1f41 + 13'h1f42: q = 8'h85; // 0x1f42 + 13'h1f43: q = 8'h91; // 0x1f43 + 13'h1f44: q = 8'ha9; // 0x1f44 + 13'h1f45: q = 8'h24; // 0x1f45 + 13'h1f46: q = 8'h20; // 0x1f46 + 13'h1f47: q = 8'h36; // 0x1f47 + 13'h1f48: q = 8'h38; // 0x1f48 + 13'h1f49: q = 8'ha9; // 0x1f49 + 13'h1f4a: q = 8'h00; // 0x1f4a + 13'h1f4b: q = 8'h20; // 0x1f4b + 13'h1f4c: q = 8'h36; // 0x1f4c + 13'h1f4d: q = 8'h38; // 0x1f4d + 13'h1f4e: q = 8'h68; // 0x1f4e + 13'h1f4f: q = 8'h20; // 0x1f4f + 13'h1f50: q = 8'h4f; // 0x1f50 + 13'h1f51: q = 8'h38; // 0x1f51 + 13'h1f52: q = 8'h4c; // 0x1f52 + 13'h1f53: q = 8'hd6; // 0x1f53 + 13'h1f54: q = 8'h3f; // 0x1f54 + 13'h1f55: q = 8'ha9; // 0x1f55 + 13'h1f56: q = 8'h04; // 0x1f56 + 13'h1f57: q = 8'h85; // 0x1f57 + 13'h1f58: q = 8'h92; // 0x1f58 + 13'h1f59: q = 8'ha9; // 0x1f59 + 13'h1f5a: q = 8'he9; // 0x1f5a + 13'h1f5b: q = 8'h85; // 0x1f5b + 13'h1f5c: q = 8'h91; // 0x1f5c + 13'h1f5d: q = 8'h38; // 0x1f5d + 13'h1f5e: q = 8'had; // 0x1f5e + 13'h1f5f: q = 8'h8d; // 0x1f5f + 13'h1f60: q = 8'h01; // 0x1f60 + 13'h1f61: q = 8'h20; // 0x1f61 + 13'h1f62: q = 8'h4f; // 0x1f62 + 13'h1f63: q = 8'h38; // 0x1f63 + 13'h1f64: q = 8'had; // 0x1f64 + 13'h1f65: q = 8'h8c; // 0x1f65 + 13'h1f66: q = 8'h01; // 0x1f66 + 13'h1f67: q = 8'h20; // 0x1f67 + 13'h1f68: q = 8'h4f; // 0x1f68 + 13'h1f69: q = 8'h38; // 0x1f69 + 13'h1f6a: q = 8'had; // 0x1f6a + 13'h1f6b: q = 8'h8b; // 0x1f6b + 13'h1f6c: q = 8'h01; // 0x1f6c + 13'h1f6d: q = 8'h18; // 0x1f6d + 13'h1f6e: q = 8'h20; // 0x1f6e + 13'h1f6f: q = 8'h4f; // 0x1f6f + 13'h1f70: q = 8'h38; // 0x1f70 + 13'h1f71: q = 8'ha9; // 0x1f71 + 13'h1f72: q = 8'hde; // 0x1f72 + 13'h1f73: q = 8'h85; // 0x1f73 + 13'h1f74: q = 8'h93; // 0x1f74 + 13'h1f75: q = 8'ha9; // 0x1f75 + 13'h1f76: q = 8'h3f; // 0x1f76 + 13'h1f77: q = 8'h85; // 0x1f77 + 13'h1f78: q = 8'h94; // 0x1f78 + 13'h1f79: q = 8'h20; // 0x1f79 + 13'h1f7a: q = 8'h25; // 0x1f7a + 13'h1f7b: q = 8'h38; // 0x1f7b + 13'h1f7c: q = 8'ha9; // 0x1f7c + 13'h1f7d: q = 8'h05; // 0x1f7d + 13'h1f7e: q = 8'h85; // 0x1f7e + 13'h1f7f: q = 8'h92; // 0x1f7f + 13'h1f80: q = 8'ha9; // 0x1f80 + 13'h1f81: q = 8'h08; // 0x1f81 + 13'h1f82: q = 8'h85; // 0x1f82 + 13'h1f83: q = 8'h91; // 0x1f83 + 13'h1f84: q = 8'ha5; // 0x1f84 + 13'h1f85: q = 8'h8d; // 0x1f85 + 13'h1f86: q = 8'h4a; // 0x1f86 + 13'h1f87: q = 8'h4a; // 0x1f87 + 13'h1f88: q = 8'h4a; // 0x1f88 + 13'h1f89: q = 8'h4a; // 0x1f89 + 13'h1f8a: q = 8'hf8; // 0x1f8a + 13'h1f8b: q = 8'h18; // 0x1f8b + 13'h1f8c: q = 8'h69; // 0x1f8c + 13'h1f8d: q = 8'h00; // 0x1f8d + 13'h1f8e: q = 8'hd8; // 0x1f8e + 13'h1f8f: q = 8'h38; // 0x1f8f + 13'h1f90: q = 8'h20; // 0x1f90 + 13'h1f91: q = 8'h4f; // 0x1f91 + 13'h1f92: q = 8'h38; // 0x1f92 + 13'h1f93: q = 8'ha9; // 0x1f93 + 13'h1f94: q = 8'h2e; // 0x1f94 + 13'h1f95: q = 8'h20; // 0x1f95 + 13'h1f96: q = 8'h36; // 0x1f96 + 13'h1f97: q = 8'h38; // 0x1f97 + 13'h1f98: q = 8'ha5; // 0x1f98 + 13'h1f99: q = 8'h8d; // 0x1f99 + 13'h1f9a: q = 8'h29; // 0x1f9a + 13'h1f9b: q = 8'h0f; // 0x1f9b + 13'h1f9c: q = 8'hf8; // 0x1f9c + 13'h1f9d: q = 8'h18; // 0x1f9d + 13'h1f9e: q = 8'h69; // 0x1f9e + 13'h1f9f: q = 8'h00; // 0x1f9f + 13'h1fa0: q = 8'h85; // 0x1fa0 + 13'h1fa1: q = 8'h8e; // 0x1fa1 + 13'h1fa2: q = 8'h65; // 0x1fa2 + 13'h1fa3: q = 8'h8e; // 0x1fa3 + 13'h1fa4: q = 8'h85; // 0x1fa4 + 13'h1fa5: q = 8'h8e; // 0x1fa5 + 13'h1fa6: q = 8'h65; // 0x1fa6 + 13'h1fa7: q = 8'h8e; // 0x1fa7 + 13'h1fa8: q = 8'hd8; // 0x1fa8 + 13'h1fa9: q = 8'hc9; // 0x1fa9 + 13'h1faa: q = 8'h60; // 0x1faa + 13'h1fab: q = 8'h90; // 0x1fab + 13'h1fac: q = 8'h02; // 0x1fac + 13'h1fad: q = 8'ha9; // 0x1fad + 13'h1fae: q = 8'h59; // 0x1fae + 13'h1faf: q = 8'h18; // 0x1faf + 13'h1fb0: q = 8'h20; // 0x1fb0 + 13'h1fb1: q = 8'h4f; // 0x1fb1 + 13'h1fb2: q = 8'h38; // 0x1fb2 + 13'h1fb3: q = 8'ha9; // 0x1fb3 + 13'h1fb4: q = 8'he4; // 0x1fb4 + 13'h1fb5: q = 8'h85; // 0x1fb5 + 13'h1fb6: q = 8'h93; // 0x1fb6 + 13'h1fb7: q = 8'ha9; // 0x1fb7 + 13'h1fb8: q = 8'h3f; // 0x1fb8 + 13'h1fb9: q = 8'h85; // 0x1fb9 + 13'h1fba: q = 8'h94; // 0x1fba + 13'h1fbb: q = 8'h20; // 0x1fbb + 13'h1fbc: q = 8'h25; // 0x1fbc + 13'h1fbd: q = 8'h38; // 0x1fbd + 13'h1fbe: q = 8'ha5; // 0x1fbe + 13'h1fbf: q = 8'hea; // 0x1fbf + 13'h1fc0: q = 8'h05; // 0x1fc0 + 13'h1fc1: q = 8'heb; // 0x1fc1 + 13'h1fc2: q = 8'h05; // 0x1fc2 + 13'h1fc3: q = 8'hec; // 0x1fc3 + 13'h1fc4: q = 8'hd0; // 0x1fc4 + 13'h1fc5: q = 8'h10; // 0x1fc5 + 13'h1fc6: q = 8'had; // 0x1fc6 + 13'h1fc7: q = 8'hb5; // 0x1fc7 + 13'h1fc8: q = 8'h01; // 0x1fc8 + 13'h1fc9: q = 8'h49; // 0x1fc9 + 13'h1fca: q = 8'hff; // 0x1fca + 13'h1fcb: q = 8'h8d; // 0x1fcb + 13'h1fcc: q = 8'hb5; // 0x1fcc + 13'h1fcd: q = 8'h01; // 0x1fcd + 13'h1fce: q = 8'ha9; // 0x1fce + 13'h1fcf: q = 8'h3d; // 0x1fcf + 13'h1fd0: q = 8'h85; // 0x1fd0 + 13'h1fd1: q = 8'hf9; // 0x1fd1 + 13'h1fd2: q = 8'ha9; // 0x1fd2 + 13'h1fd3: q = 8'h00; // 0x1fd3 + 13'h1fd4: q = 8'h85; // 0x1fd4 + 13'h1fd5: q = 8'hfa; // 0x1fd5 + 13'h1fd6: q = 8'h4c; // 0x1fd6 + 13'h1fd7: q = 8'h57; // 0x1fd7 + 13'h1fd8: q = 8'h3d; // 0x1fd8 + 13'h1fd9: q = 8'h22; // 0x1fd9 + 13'h1fda: q = 8'h24; // 0x1fda + 13'h1fdb: q = 8'h24; // 0x1fdb + 13'h1fdc: q = 8'h25; // 0x1fdc + 13'h1fdd: q = 8'h23; // 0x1fdd + 13'h1fde: q = 8'h20; // 0x1fde + 13'h1fdf: q = 8'h50; // 0x1fdf + 13'h1fe0: q = 8'h4c; // 0x1fe0 + 13'h1fe1: q = 8'h41; // 0x1fe1 + 13'h1fe2: q = 8'h59; // 0x1fe2 + 13'h1fe3: q = 8'hd3; // 0x1fe3 + 13'h1fe4: q = 8'h20; // 0x1fe4 + 13'h1fe5: q = 8'h47; // 0x1fe5 + 13'h1fe6: q = 8'h41; // 0x1fe6 + 13'h1fe7: q = 8'h4d; // 0x1fe7 + 13'h1fe8: q = 8'h45; // 0x1fe8 + 13'h1fe9: q = 8'h20; // 0x1fe9 + 13'h1fea: q = 8'h54; // 0x1fea + 13'h1feb: q = 8'h49; // 0x1feb + 13'h1fec: q = 8'h4d; // 0x1fec + 13'h1fed: q = 8'hc5; // 0x1fed + 13'h1fee: q = 8'h48; // 0x1fee + 13'h1fef: q = 8'h41; // 0x1fef + 13'h1ff0: q = 8'h52; // 0x1ff0 + 13'h1ff1: q = 8'hc4; // 0x1ff1 + 13'h1ff2: q = 8'h45; // 0x1ff2 + 13'h1ff3: q = 8'h41; // 0x1ff3 + 13'h1ff4: q = 8'h53; // 0x1ff4 + 13'h1ff5: q = 8'hd9; // 0x1ff5 + 13'h1ff6: q = 8'h4c; // 0x1ff6 + 13'h1ff7: q = 8'hf6; // 0x1ff7 + 13'h1ff8: q = 8'h3f; // 0x1ff8 + 13'h1ff9: q = 8'h0a; // 0x1ff9 + 13'h1ffa: q = 8'hf6; // 0x1ffa + 13'h1ffb: q = 8'h3f; // 0x1ffb + 13'h1ffc: q = 8'h04; // 0x1ffc + 13'h1ffd: q = 8'h3b; // 0x1ffd + 13'h1ffe: q = 8'h71; // 0x1ffe + 13'h1fff: q = 8'h38; // 0x1fff + endcase diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_f7_case.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_f7_case.v new file mode 100644 index 00000000..8583c570 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_f7_case.v @@ -0,0 +1,2051 @@ + // centipede + case (a) + 11'h000: q = 8'h00; // 0x000 + 11'h001: q = 8'h00; // 0x001 + 11'h002: q = 8'h00; // 0x002 + 11'h003: q = 8'h00; // 0x003 + 11'h004: q = 8'h3c; // 0x004 + 11'h005: q = 8'h18; // 0x005 + 11'h006: q = 8'h18; // 0x006 + 11'h007: q = 8'hff; // 0x007 + 11'h008: q = 8'h7e; // 0x008 + 11'h009: q = 8'h3c; // 0x009 + 11'h00a: q = 8'h18; // 0x00a + 11'h00b: q = 8'h00; // 0x00b + 11'h00c: q = 8'h00; // 0x00c + 11'h00d: q = 8'h00; // 0x00d + 11'h00e: q = 8'h00; // 0x00e + 11'h00f: q = 8'h00; // 0x00f + 11'h010: q = 8'h00; // 0x010 + 11'h011: q = 8'h00; // 0x011 + 11'h012: q = 8'h00; // 0x012 + 11'h013: q = 8'h00; // 0x013 + 11'h014: q = 8'h3c; // 0x014 + 11'h015: q = 8'h18; // 0x015 + 11'h016: q = 8'h18; // 0x016 + 11'h017: q = 8'h7e; // 0x017 + 11'h018: q = 8'h7e; // 0x018 + 11'h019: q = 8'hbd; // 0x019 + 11'h01a: q = 8'h18; // 0x01a + 11'h01b: q = 8'h00; // 0x01b + 11'h01c: q = 8'h00; // 0x01c + 11'h01d: q = 8'h00; // 0x01d + 11'h01e: q = 8'h00; // 0x01e + 11'h01f: q = 8'h00; // 0x01f + 11'h020: q = 8'h00; // 0x020 + 11'h021: q = 8'h00; // 0x021 + 11'h022: q = 8'h00; // 0x022 + 11'h023: q = 8'h00; // 0x023 + 11'h024: q = 8'h3c; // 0x024 + 11'h025: q = 8'h18; // 0x025 + 11'h026: q = 8'h18; // 0x026 + 11'h027: q = 8'hff; // 0x027 + 11'h028: q = 8'h7e; // 0x028 + 11'h029: q = 8'h3c; // 0x029 + 11'h02a: q = 8'h18; // 0x02a + 11'h02b: q = 8'h00; // 0x02b + 11'h02c: q = 8'h00; // 0x02c + 11'h02d: q = 8'h00; // 0x02d + 11'h02e: q = 8'h00; // 0x02e + 11'h02f: q = 8'h00; // 0x02f + 11'h030: q = 8'h00; // 0x030 + 11'h031: q = 8'h00; // 0x031 + 11'h032: q = 8'h00; // 0x032 + 11'h033: q = 8'h00; // 0x033 + 11'h034: q = 8'h3c; // 0x034 + 11'h035: q = 8'h99; // 0x035 + 11'h036: q = 8'h18; // 0x036 + 11'h037: q = 8'h7e; // 0x037 + 11'h038: q = 8'h7e; // 0x038 + 11'h039: q = 8'h3c; // 0x039 + 11'h03a: q = 8'h18; // 0x03a + 11'h03b: q = 8'h00; // 0x03b + 11'h03c: q = 8'h00; // 0x03c + 11'h03d: q = 8'h00; // 0x03d + 11'h03e: q = 8'h00; // 0x03e + 11'h03f: q = 8'h00; // 0x03f + 11'h040: q = 8'h00; // 0x040 + 11'h041: q = 8'h00; // 0x041 + 11'h042: q = 8'h00; // 0x042 + 11'h043: q = 8'h00; // 0x043 + 11'h044: q = 8'h0a; // 0x044 + 11'h045: q = 8'h4c; // 0x045 + 11'h046: q = 8'h3e; // 0x046 + 11'h047: q = 8'h3e; // 0x047 + 11'h048: q = 8'hfe; // 0x048 + 11'h049: q = 8'h7c; // 0x049 + 11'h04a: q = 8'hb8; // 0x04a + 11'h04b: q = 8'h00; // 0x04b + 11'h04c: q = 8'h00; // 0x04c + 11'h04d: q = 8'h00; // 0x04d + 11'h04e: q = 8'h00; // 0x04e + 11'h04f: q = 8'h00; // 0x04f + 11'h050: q = 8'h00; // 0x050 + 11'h051: q = 8'h00; // 0x051 + 11'h052: q = 8'h00; // 0x052 + 11'h053: q = 8'h00; // 0x053 + 11'h054: q = 8'h0a; // 0x054 + 11'h055: q = 8'h4c; // 0x055 + 11'h056: q = 8'h3e; // 0x056 + 11'h057: q = 8'h3e; // 0x057 + 11'h058: q = 8'hfe; // 0x058 + 11'h059: q = 8'h7c; // 0x059 + 11'h05a: q = 8'hb8; // 0x05a + 11'h05b: q = 8'h00; // 0x05b + 11'h05c: q = 8'h00; // 0x05c + 11'h05d: q = 8'h00; // 0x05d + 11'h05e: q = 8'h00; // 0x05e + 11'h05f: q = 8'h00; // 0x05f + 11'h060: q = 8'h00; // 0x060 + 11'h061: q = 8'h00; // 0x061 + 11'h062: q = 8'h00; // 0x062 + 11'h063: q = 8'h00; // 0x063 + 11'h064: q = 8'h10; // 0x064 + 11'h065: q = 8'h18; // 0x065 + 11'h066: q = 8'h9c; // 0x066 + 11'h067: q = 8'hfe; // 0x067 + 11'h068: q = 8'hfe; // 0x068 + 11'h069: q = 8'h9c; // 0x069 + 11'h06a: q = 8'h18; // 0x06a + 11'h06b: q = 8'h10; // 0x06b + 11'h06c: q = 8'h00; // 0x06c + 11'h06d: q = 8'h00; // 0x06d + 11'h06e: q = 8'h00; // 0x06e + 11'h06f: q = 8'h00; // 0x06f + 11'h070: q = 8'h00; // 0x070 + 11'h071: q = 8'h00; // 0x071 + 11'h072: q = 8'h00; // 0x072 + 11'h073: q = 8'h00; // 0x073 + 11'h074: q = 8'h10; // 0x074 + 11'h075: q = 8'h18; // 0x075 + 11'h076: q = 8'h9c; // 0x076 + 11'h077: q = 8'hfe; // 0x077 + 11'h078: q = 8'hfe; // 0x078 + 11'h079: q = 8'h9c; // 0x079 + 11'h07a: q = 8'h18; // 0x07a + 11'h07b: q = 8'h10; // 0x07b + 11'h07c: q = 8'h00; // 0x07c + 11'h07d: q = 8'h00; // 0x07d + 11'h07e: q = 8'h00; // 0x07e + 11'h07f: q = 8'h00; // 0x07f + 11'h080: q = 8'h00; // 0x080 + 11'h081: q = 8'h00; // 0x081 + 11'h082: q = 8'h00; // 0x082 + 11'h083: q = 8'h00; // 0x083 + 11'h084: q = 8'h18; // 0x084 + 11'h085: q = 8'h30; // 0x085 + 11'h086: q = 8'hf2; // 0x086 + 11'h087: q = 8'hff; // 0x087 + 11'h088: q = 8'hf2; // 0x088 + 11'h089: q = 8'h30; // 0x089 + 11'h08a: q = 8'h18; // 0x08a + 11'h08b: q = 8'h00; // 0x08b + 11'h08c: q = 8'h00; // 0x08c + 11'h08d: q = 8'h00; // 0x08d + 11'h08e: q = 8'h00; // 0x08e + 11'h08f: q = 8'h00; // 0x08f + 11'h090: q = 8'h00; // 0x090 + 11'h091: q = 8'h00; // 0x091 + 11'h092: q = 8'h00; // 0x092 + 11'h093: q = 8'h00; // 0x093 + 11'h094: q = 8'h00; // 0x094 + 11'h095: q = 8'h00; // 0x095 + 11'h096: q = 8'h00; // 0x096 + 11'h097: q = 8'h00; // 0x097 + 11'h098: q = 8'h00; // 0x098 + 11'h099: q = 8'h00; // 0x099 + 11'h09a: q = 8'h00; // 0x09a + 11'h09b: q = 8'h00; // 0x09b + 11'h09c: q = 8'h00; // 0x09c + 11'h09d: q = 8'h00; // 0x09d + 11'h09e: q = 8'h00; // 0x09e + 11'h09f: q = 8'h00; // 0x09f + 11'h0a0: q = 8'h44; // 0x0a0 + 11'h0a1: q = 8'h22; // 0x0a1 + 11'h0a2: q = 8'h11; // 0x0a2 + 11'h0a3: q = 8'h22; // 0x0a3 + 11'h0a4: q = 8'h44; // 0x0a4 + 11'h0a5: q = 8'h68; // 0x0a5 + 11'h0a6: q = 8'ha0; // 0x0a6 + 11'h0a7: q = 8'h3c; // 0x0a7 + 11'h0a8: q = 8'ha0; // 0x0a8 + 11'h0a9: q = 8'h68; // 0x0a9 + 11'h0aa: q = 8'h44; // 0x0aa + 11'h0ab: q = 8'h22; // 0x0ab + 11'h0ac: q = 8'h11; // 0x0ac + 11'h0ad: q = 8'h22; // 0x0ad + 11'h0ae: q = 8'h44; // 0x0ae + 11'h0af: q = 8'h00; // 0x0af + 11'h0b0: q = 8'h90; // 0x0b0 + 11'h0b1: q = 8'h48; // 0x0b1 + 11'h0b2: q = 8'h24; // 0x0b2 + 11'h0b3: q = 8'h24; // 0x0b3 + 11'h0b4: q = 8'h44; // 0x0b4 + 11'h0b5: q = 8'h68; // 0x0b5 + 11'h0b6: q = 8'he0; // 0x0b6 + 11'h0b7: q = 8'h3c; // 0x0b7 + 11'h0b8: q = 8'ha0; // 0x0b8 + 11'h0b9: q = 8'h68; // 0x0b9 + 11'h0ba: q = 8'h44; // 0x0ba + 11'h0bb: q = 8'h24; // 0x0bb + 11'h0bc: q = 8'h24; // 0x0bc + 11'h0bd: q = 8'h48; // 0x0bd + 11'h0be: q = 8'h90; // 0x0be + 11'h0bf: q = 8'h00; // 0x0bf + 11'h0c0: q = 8'h90; // 0x0c0 + 11'h0c1: q = 8'h48; // 0x0c1 + 11'h0c2: q = 8'h24; // 0x0c2 + 11'h0c3: q = 8'h24; // 0x0c3 + 11'h0c4: q = 8'h44; // 0x0c4 + 11'h0c5: q = 8'h68; // 0x0c5 + 11'h0c6: q = 8'ha0; // 0x0c6 + 11'h0c7: q = 8'h3c; // 0x0c7 + 11'h0c8: q = 8'ha0; // 0x0c8 + 11'h0c9: q = 8'h68; // 0x0c9 + 11'h0ca: q = 8'h44; // 0x0ca + 11'h0cb: q = 8'h24; // 0x0cb + 11'h0cc: q = 8'h24; // 0x0cc + 11'h0cd: q = 8'h48; // 0x0cd + 11'h0ce: q = 8'h90; // 0x0ce + 11'h0cf: q = 8'h00; // 0x0cf + 11'h0d0: q = 8'h10; // 0x0d0 + 11'h0d1: q = 8'h88; // 0x0d1 + 11'h0d2: q = 8'h44; // 0x0d2 + 11'h0d3: q = 8'h33; // 0x0d3 + 11'h0d4: q = 8'h44; // 0x0d4 + 11'h0d5: q = 8'h68; // 0x0d5 + 11'h0d6: q = 8'he0; // 0x0d6 + 11'h0d7: q = 8'h3c; // 0x0d7 + 11'h0d8: q = 8'ha0; // 0x0d8 + 11'h0d9: q = 8'h68; // 0x0d9 + 11'h0da: q = 8'h44; // 0x0da + 11'h0db: q = 8'h33; // 0x0db + 11'h0dc: q = 8'h44; // 0x0dc + 11'h0dd: q = 8'h88; // 0x0dd + 11'h0de: q = 8'h10; // 0x0de + 11'h0df: q = 8'h00; // 0x0df + 11'h0e0: q = 8'h00; // 0x0e0 + 11'h0e1: q = 8'h00; // 0x0e1 + 11'h0e2: q = 8'h00; // 0x0e2 + 11'h0e3: q = 8'h18; // 0x0e3 + 11'h0e4: q = 8'h18; // 0x0e4 + 11'h0e5: q = 8'h98; // 0x0e5 + 11'h0e6: q = 8'h7f; // 0x0e6 + 11'h0e7: q = 8'h8f; // 0x0e7 + 11'h0e8: q = 8'h7f; // 0x0e8 + 11'h0e9: q = 8'h1e; // 0x0e9 + 11'h0ea: q = 8'h7c; // 0x0ea + 11'h0eb: q = 8'hb8; // 0x0eb + 11'h0ec: q = 8'h00; // 0x0ec + 11'h0ed: q = 8'h00; // 0x0ed + 11'h0ee: q = 8'h00; // 0x0ee + 11'h0ef: q = 8'h00; // 0x0ef + 11'h0f0: q = 8'h00; // 0x0f0 + 11'h0f1: q = 8'h00; // 0x0f1 + 11'h0f2: q = 8'h00; // 0x0f2 + 11'h0f3: q = 8'h18; // 0x0f3 + 11'h0f4: q = 8'h18; // 0x0f4 + 11'h0f5: q = 8'h18; // 0x0f5 + 11'h0f6: q = 8'h6f; // 0x0f6 + 11'h0f7: q = 8'h9f; // 0x0f7 + 11'h0f8: q = 8'h2f; // 0x0f8 + 11'h0f9: q = 8'h5e; // 0x0f9 + 11'h0fa: q = 8'hbc; // 0x0fa + 11'h0fb: q = 8'h78; // 0x0fb + 11'h0fc: q = 8'h00; // 0x0fc + 11'h0fd: q = 8'h00; // 0x0fd + 11'h0fe: q = 8'h00; // 0x0fe + 11'h0ff: q = 8'h00; // 0x0ff + 11'h100: q = 8'h22; // 0x100 + 11'h101: q = 8'h55; // 0x101 + 11'h102: q = 8'hbe; // 0x102 + 11'h103: q = 8'h74; // 0x103 + 11'h104: q = 8'h02; // 0x104 + 11'h105: q = 8'h61; // 0x105 + 11'h106: q = 8'hc2; // 0x106 + 11'h107: q = 8'h74; // 0x107 + 11'h108: q = 8'h36; // 0x108 + 11'h109: q = 8'h43; // 0x109 + 11'h10a: q = 8'he0; // 0x10a + 11'h10b: q = 8'h40; // 0x10b + 11'h10c: q = 8'h36; // 0x10c + 11'h10d: q = 8'h7d; // 0x10d + 11'h10e: q = 8'hae; // 0x10e + 11'h10f: q = 8'h44; // 0x10f + 11'h110: q = 8'h14; // 0x110 + 11'h111: q = 8'h94; // 0x111 + 11'h112: q = 8'h42; // 0x112 + 11'h113: q = 8'hf1; // 0x113 + 11'h114: q = 8'h42; // 0x114 + 11'h115: q = 8'h94; // 0x115 + 11'h116: q = 8'h34; // 0x116 + 11'h117: q = 8'h3c; // 0x117 + 11'h118: q = 8'h3c; // 0x118 + 11'h119: q = 8'h34; // 0x119 + 11'h11a: q = 8'h94; // 0x11a + 11'h11b: q = 8'h42; // 0x11b + 11'h11c: q = 8'hf1; // 0x11c + 11'h11d: q = 8'h42; // 0x11d + 11'h11e: q = 8'h94; // 0x11e + 11'h11f: q = 8'h14; // 0x11f + 11'h120: q = 8'h00; // 0x120 + 11'h121: q = 8'h24; // 0x121 + 11'h122: q = 8'h4a; // 0x122 + 11'h123: q = 8'h34; // 0x123 + 11'h124: q = 8'h34; // 0x124 + 11'h125: q = 8'h0c; // 0x125 + 11'h126: q = 8'h3e; // 0x126 + 11'h127: q = 8'h75; // 0x127 + 11'h128: q = 8'h6d; // 0x128 + 11'h129: q = 8'h2a; // 0x129 + 11'h12a: q = 8'h1c; // 0x12a + 11'h12b: q = 8'h34; // 0x12b + 11'h12c: q = 8'h34; // 0x12c + 11'h12d: q = 8'h4a; // 0x12d + 11'h12e: q = 8'h24; // 0x12e + 11'h12f: q = 8'h00; // 0x12f + 11'h130: q = 8'h00; // 0x130 + 11'h131: q = 8'h00; // 0x131 + 11'h132: q = 8'h00; // 0x132 + 11'h133: q = 8'h00; // 0x133 + 11'h134: q = 8'h10; // 0x134 + 11'h135: q = 8'h00; // 0x135 + 11'h136: q = 8'h3c; // 0x136 + 11'h137: q = 8'h1c; // 0x137 + 11'h138: q = 8'h1c; // 0x138 + 11'h139: q = 8'h1e; // 0x139 + 11'h13a: q = 8'h00; // 0x13a + 11'h13b: q = 8'h04; // 0x13b + 11'h13c: q = 8'h00; // 0x13c + 11'h13d: q = 8'h00; // 0x13d + 11'h13e: q = 8'h00; // 0x13e + 11'h13f: q = 8'h00; // 0x13f + 11'h140: q = 8'h00; // 0x140 + 11'h141: q = 8'h00; // 0x141 + 11'h142: q = 8'h00; // 0x142 + 11'h143: q = 8'h00; // 0x143 + 11'h144: q = 8'h00; // 0x144 + 11'h145: q = 8'h00; // 0x145 + 11'h146: q = 8'h00; // 0x146 + 11'h147: q = 8'h00; // 0x147 + 11'h148: q = 8'h00; // 0x148 + 11'h149: q = 8'h00; // 0x149 + 11'h14a: q = 8'h00; // 0x14a + 11'h14b: q = 8'h00; // 0x14b + 11'h14c: q = 8'h00; // 0x14c + 11'h14d: q = 8'h00; // 0x14d + 11'h14e: q = 8'h00; // 0x14e + 11'h14f: q = 8'h00; // 0x14f + 11'h150: q = 8'h00; // 0x150 + 11'h151: q = 8'h00; // 0x151 + 11'h152: q = 8'h00; // 0x152 + 11'h153: q = 8'h00; // 0x153 + 11'h154: q = 8'h00; // 0x154 + 11'h155: q = 8'h00; // 0x155 + 11'h156: q = 8'h00; // 0x156 + 11'h157: q = 8'h00; // 0x157 + 11'h158: q = 8'h00; // 0x158 + 11'h159: q = 8'h00; // 0x159 + 11'h15a: q = 8'h00; // 0x15a + 11'h15b: q = 8'h00; // 0x15b + 11'h15c: q = 8'h00; // 0x15c + 11'h15d: q = 8'h00; // 0x15d + 11'h15e: q = 8'h00; // 0x15e + 11'h15f: q = 8'h00; // 0x15f + 11'h160: q = 8'h80; // 0x160 + 11'h161: q = 8'h98; // 0x161 + 11'h162: q = 8'h50; // 0x162 + 11'h163: q = 8'h34; // 0x163 + 11'h164: q = 8'h3c; // 0x164 + 11'h165: q = 8'h3c; // 0x165 + 11'h166: q = 8'h3c; // 0x166 + 11'h167: q = 8'h3f; // 0x167 + 11'h168: q = 8'h3e; // 0x168 + 11'h169: q = 8'h3c; // 0x169 + 11'h16a: q = 8'h7c; // 0x16a + 11'h16b: q = 8'hbc; // 0x16b + 11'h16c: q = 8'h3c; // 0x16c + 11'h16d: q = 8'h7c; // 0x16d + 11'h16e: q = 8'hb8; // 0x16e + 11'h16f: q = 8'h98; // 0x16f + 11'h170: q = 8'h00; // 0x170 + 11'h171: q = 8'h86; // 0x171 + 11'h172: q = 8'hfc; // 0x172 + 11'h173: q = 8'h05; // 0x173 + 11'h174: q = 8'h0f; // 0x174 + 11'h175: q = 8'h0f; // 0x175 + 11'h176: q = 8'h0f; // 0x176 + 11'h177: q = 8'h7f; // 0x177 + 11'h178: q = 8'h8f; // 0x178 + 11'h179: q = 8'h8f; // 0x179 + 11'h17a: q = 8'h0f; // 0x17a + 11'h17b: q = 8'h1f; // 0x17b + 11'h17c: q = 8'hef; // 0x17c + 11'h17d: q = 8'h8f; // 0x17d + 11'h17e: q = 8'h0e; // 0x17e + 11'h17f: q = 8'h06; // 0x17f + 11'h180: q = 8'h01; // 0x180 + 11'h181: q = 8'h06; // 0x181 + 11'h182: q = 8'h0d; // 0x182 + 11'h183: q = 8'h08; // 0x183 + 11'h184: q = 8'h08; // 0x184 + 11'h185: q = 8'h7c; // 0x185 + 11'h186: q = 8'hff; // 0x186 + 11'h187: q = 8'hfc; // 0x187 + 11'h188: q = 8'hf8; // 0x188 + 11'h189: q = 8'hc8; // 0x189 + 11'h18a: q = 8'hcd; // 0x18a + 11'h18b: q = 8'hc6; // 0x18b + 11'h18c: q = 8'hc1; // 0x18c + 11'h18d: q = 8'hcc; // 0x18d + 11'h18e: q = 8'he4; // 0x18e + 11'h18f: q = 8'h7c; // 0x18f + 11'h190: q = 8'h01; // 0x190 + 11'h191: q = 8'h06; // 0x191 + 11'h192: q = 8'h0d; // 0x192 + 11'h193: q = 8'h08; // 0x193 + 11'h194: q = 8'h7c; // 0x194 + 11'h195: q = 8'hff; // 0x195 + 11'h196: q = 8'hfc; // 0x196 + 11'h197: q = 8'hc8; // 0x197 + 11'h198: q = 8'hcd; // 0x198 + 11'h199: q = 8'hc6; // 0x199 + 11'h19a: q = 8'he1; // 0x19a + 11'h19b: q = 8'h60; // 0x19b + 11'h19c: q = 8'h30; // 0x19c + 11'h19d: q = 8'h18; // 0x19d + 11'h19e: q = 8'h44; // 0x19e + 11'h19f: q = 8'h3c; // 0x19f + 11'h1a0: q = 8'h00; // 0x1a0 + 11'h1a1: q = 8'h00; // 0x1a1 + 11'h1a2: q = 8'h00; // 0x1a2 + 11'h1a3: q = 8'h00; // 0x1a3 + 11'h1a4: q = 8'h00; // 0x1a4 + 11'h1a5: q = 8'h00; // 0x1a5 + 11'h1a6: q = 8'h00; // 0x1a6 + 11'h1a7: q = 8'h00; // 0x1a7 + 11'h1a8: q = 8'h00; // 0x1a8 + 11'h1a9: q = 8'h00; // 0x1a9 + 11'h1aa: q = 8'h00; // 0x1aa + 11'h1ab: q = 8'h00; // 0x1ab + 11'h1ac: q = 8'h00; // 0x1ac + 11'h1ad: q = 8'h00; // 0x1ad + 11'h1ae: q = 8'h00; // 0x1ae + 11'h1af: q = 8'h00; // 0x1af + 11'h1b0: q = 8'h00; // 0x1b0 + 11'h1b1: q = 8'h00; // 0x1b1 + 11'h1b2: q = 8'h00; // 0x1b2 + 11'h1b3: q = 8'hf8; // 0x1b3 + 11'h1b4: q = 8'h88; // 0x1b4 + 11'h1b5: q = 8'hf8; // 0x1b5 + 11'h1b6: q = 8'h00; // 0x1b6 + 11'h1b7: q = 8'hf8; // 0x1b7 + 11'h1b8: q = 8'h88; // 0x1b8 + 11'h1b9: q = 8'hf8; // 0x1b9 + 11'h1ba: q = 8'h00; // 0x1ba + 11'h1bb: q = 8'hf8; // 0x1bb + 11'h1bc: q = 8'ha8; // 0x1bc + 11'h1bd: q = 8'ha8; // 0x1bd + 11'h1be: q = 8'h00; // 0x1be + 11'h1bf: q = 8'h00; // 0x1bf + 11'h1c0: q = 8'h00; // 0x1c0 + 11'h1c1: q = 8'h00; // 0x1c1 + 11'h1c2: q = 8'h00; // 0x1c2 + 11'h1c3: q = 8'hf8; // 0x1c3 + 11'h1c4: q = 8'h88; // 0x1c4 + 11'h1c5: q = 8'hf8; // 0x1c5 + 11'h1c6: q = 8'h00; // 0x1c6 + 11'h1c7: q = 8'hf8; // 0x1c7 + 11'h1c8: q = 8'h88; // 0x1c8 + 11'h1c9: q = 8'hf8; // 0x1c9 + 11'h1ca: q = 8'h00; // 0x1ca + 11'h1cb: q = 8'he8; // 0x1cb + 11'h1cc: q = 8'ha8; // 0x1cc + 11'h1cd: q = 8'hf8; // 0x1cd + 11'h1ce: q = 8'h00; // 0x1ce + 11'h1cf: q = 8'h00; // 0x1cf + 11'h1d0: q = 8'h00; // 0x1d0 + 11'h1d1: q = 8'h00; // 0x1d1 + 11'h1d2: q = 8'h00; // 0x1d2 + 11'h1d3: q = 8'h00; // 0x1d3 + 11'h1d4: q = 8'h08; // 0x1d4 + 11'h1d5: q = 8'hb1; // 0x1d5 + 11'h1d6: q = 8'h42; // 0x1d6 + 11'h1d7: q = 8'h81; // 0x1d7 + 11'h1d8: q = 8'h02; // 0x1d8 + 11'h1d9: q = 8'h00; // 0x1d9 + 11'h1da: q = 8'h29; // 0x1da + 11'h1db: q = 8'h50; // 0x1db + 11'h1dc: q = 8'h00; // 0x1dc + 11'h1dd: q = 8'h00; // 0x1dd + 11'h1de: q = 8'h00; // 0x1de + 11'h1df: q = 8'h00; // 0x1df + 11'h1e0: q = 8'h00; // 0x1e0 + 11'h1e1: q = 8'h00; // 0x1e1 + 11'h1e2: q = 8'h00; // 0x1e2 + 11'h1e3: q = 8'h00; // 0x1e3 + 11'h1e4: q = 8'h59; // 0x1e4 + 11'h1e5: q = 8'h96; // 0x1e5 + 11'h1e6: q = 8'h01; // 0x1e6 + 11'h1e7: q = 8'h83; // 0x1e7 + 11'h1e8: q = 8'h82; // 0x1e8 + 11'h1e9: q = 8'h84; // 0x1e9 + 11'h1ea: q = 8'hea; // 0x1ea + 11'h1eb: q = 8'h31; // 0x1eb + 11'h1ec: q = 8'h00; // 0x1ec + 11'h1ed: q = 8'h00; // 0x1ed + 11'h1ee: q = 8'h00; // 0x1ee + 11'h1ef: q = 8'h00; // 0x1ef + 11'h1f0: q = 8'h00; // 0x1f0 + 11'h1f1: q = 8'h00; // 0x1f1 + 11'h1f2: q = 8'h00; // 0x1f2 + 11'h1f3: q = 8'h00; // 0x1f3 + 11'h1f4: q = 8'h7c; // 0x1f4 + 11'h1f5: q = 8'hfe; // 0x1f5 + 11'h1f6: q = 8'h7f; // 0x1f6 + 11'h1f7: q = 8'h3e; // 0x1f7 + 11'h1f8: q = 8'h7f; // 0x1f8 + 11'h1f9: q = 8'hfe; // 0x1f9 + 11'h1fa: q = 8'h7c; // 0x1fa + 11'h1fb: q = 8'h7e; // 0x1fb + 11'h1fc: q = 8'h00; // 0x1fc + 11'h1fd: q = 8'h00; // 0x1fd + 11'h1fe: q = 8'h00; // 0x1fe + 11'h1ff: q = 8'h00; // 0x1ff + 11'h200: q = 8'h00; // 0x200 + 11'h201: q = 8'h00; // 0x201 + 11'h202: q = 8'h00; // 0x202 + 11'h203: q = 8'h00; // 0x203 + 11'h204: q = 8'h00; // 0x204 + 11'h205: q = 8'h00; // 0x205 + 11'h206: q = 8'h00; // 0x206 + 11'h207: q = 8'h00; // 0x207 + 11'h208: q = 8'h00; // 0x208 + 11'h209: q = 8'h00; // 0x209 + 11'h20a: q = 8'h00; // 0x20a + 11'h20b: q = 8'h00; // 0x20b + 11'h20c: q = 8'h00; // 0x20c + 11'h20d: q = 8'h00; // 0x20d + 11'h20e: q = 8'h00; // 0x20e + 11'h20f: q = 8'h00; // 0x20f + 11'h210: q = 8'h00; // 0x210 + 11'h211: q = 8'h00; // 0x211 + 11'h212: q = 8'h00; // 0x212 + 11'h213: q = 8'h00; // 0x213 + 11'h214: q = 8'h00; // 0x214 + 11'h215: q = 8'h00; // 0x215 + 11'h216: q = 8'h00; // 0x216 + 11'h217: q = 8'h00; // 0x217 + 11'h218: q = 8'h00; // 0x218 + 11'h219: q = 8'h00; // 0x219 + 11'h21a: q = 8'h00; // 0x21a + 11'h21b: q = 8'h00; // 0x21b + 11'h21c: q = 8'h00; // 0x21c + 11'h21d: q = 8'h00; // 0x21d + 11'h21e: q = 8'h00; // 0x21e + 11'h21f: q = 8'h00; // 0x21f + 11'h220: q = 8'h00; // 0x220 + 11'h221: q = 8'h00; // 0x221 + 11'h222: q = 8'h00; // 0x222 + 11'h223: q = 8'h00; // 0x223 + 11'h224: q = 8'h00; // 0x224 + 11'h225: q = 8'h00; // 0x225 + 11'h226: q = 8'h00; // 0x226 + 11'h227: q = 8'h00; // 0x227 + 11'h228: q = 8'h00; // 0x228 + 11'h229: q = 8'h00; // 0x229 + 11'h22a: q = 8'h00; // 0x22a + 11'h22b: q = 8'h00; // 0x22b + 11'h22c: q = 8'h00; // 0x22c + 11'h22d: q = 8'h00; // 0x22d + 11'h22e: q = 8'h00; // 0x22e + 11'h22f: q = 8'h00; // 0x22f + 11'h230: q = 8'h00; // 0x230 + 11'h231: q = 8'h00; // 0x231 + 11'h232: q = 8'h00; // 0x232 + 11'h233: q = 8'h00; // 0x233 + 11'h234: q = 8'h00; // 0x234 + 11'h235: q = 8'h00; // 0x235 + 11'h236: q = 8'h00; // 0x236 + 11'h237: q = 8'h00; // 0x237 + 11'h238: q = 8'h00; // 0x238 + 11'h239: q = 8'h00; // 0x239 + 11'h23a: q = 8'h00; // 0x23a + 11'h23b: q = 8'h00; // 0x23b + 11'h23c: q = 8'h00; // 0x23c + 11'h23d: q = 8'h00; // 0x23d + 11'h23e: q = 8'h00; // 0x23e + 11'h23f: q = 8'h00; // 0x23f + 11'h240: q = 8'h00; // 0x240 + 11'h241: q = 8'h00; // 0x241 + 11'h242: q = 8'h00; // 0x242 + 11'h243: q = 8'h00; // 0x243 + 11'h244: q = 8'h00; // 0x244 + 11'h245: q = 8'h00; // 0x245 + 11'h246: q = 8'h00; // 0x246 + 11'h247: q = 8'h00; // 0x247 + 11'h248: q = 8'h00; // 0x248 + 11'h249: q = 8'h00; // 0x249 + 11'h24a: q = 8'h00; // 0x24a + 11'h24b: q = 8'h00; // 0x24b + 11'h24c: q = 8'h00; // 0x24c + 11'h24d: q = 8'h00; // 0x24d + 11'h24e: q = 8'h00; // 0x24e + 11'h24f: q = 8'h00; // 0x24f + 11'h250: q = 8'h00; // 0x250 + 11'h251: q = 8'h00; // 0x251 + 11'h252: q = 8'h00; // 0x252 + 11'h253: q = 8'h00; // 0x253 + 11'h254: q = 8'h00; // 0x254 + 11'h255: q = 8'h00; // 0x255 + 11'h256: q = 8'h00; // 0x256 + 11'h257: q = 8'h00; // 0x257 + 11'h258: q = 8'h00; // 0x258 + 11'h259: q = 8'h00; // 0x259 + 11'h25a: q = 8'h00; // 0x25a + 11'h25b: q = 8'h00; // 0x25b + 11'h25c: q = 8'h00; // 0x25c + 11'h25d: q = 8'h00; // 0x25d + 11'h25e: q = 8'h00; // 0x25e + 11'h25f: q = 8'h00; // 0x25f + 11'h260: q = 8'h00; // 0x260 + 11'h261: q = 8'h00; // 0x261 + 11'h262: q = 8'h00; // 0x262 + 11'h263: q = 8'h00; // 0x263 + 11'h264: q = 8'h00; // 0x264 + 11'h265: q = 8'h00; // 0x265 + 11'h266: q = 8'h00; // 0x266 + 11'h267: q = 8'h00; // 0x267 + 11'h268: q = 8'h00; // 0x268 + 11'h269: q = 8'h00; // 0x269 + 11'h26a: q = 8'h00; // 0x26a + 11'h26b: q = 8'h00; // 0x26b + 11'h26c: q = 8'h00; // 0x26c + 11'h26d: q = 8'h00; // 0x26d + 11'h26e: q = 8'h00; // 0x26e + 11'h26f: q = 8'h00; // 0x26f + 11'h270: q = 8'h00; // 0x270 + 11'h271: q = 8'h00; // 0x271 + 11'h272: q = 8'h00; // 0x272 + 11'h273: q = 8'h00; // 0x273 + 11'h274: q = 8'h00; // 0x274 + 11'h275: q = 8'h00; // 0x275 + 11'h276: q = 8'h00; // 0x276 + 11'h277: q = 8'h00; // 0x277 + 11'h278: q = 8'h00; // 0x278 + 11'h279: q = 8'h00; // 0x279 + 11'h27a: q = 8'h00; // 0x27a + 11'h27b: q = 8'h00; // 0x27b + 11'h27c: q = 8'h00; // 0x27c + 11'h27d: q = 8'h00; // 0x27d + 11'h27e: q = 8'h00; // 0x27e + 11'h27f: q = 8'h00; // 0x27f + 11'h280: q = 8'h00; // 0x280 + 11'h281: q = 8'h00; // 0x281 + 11'h282: q = 8'h00; // 0x282 + 11'h283: q = 8'h00; // 0x283 + 11'h284: q = 8'h00; // 0x284 + 11'h285: q = 8'h00; // 0x285 + 11'h286: q = 8'h00; // 0x286 + 11'h287: q = 8'h00; // 0x287 + 11'h288: q = 8'h00; // 0x288 + 11'h289: q = 8'h00; // 0x289 + 11'h28a: q = 8'h00; // 0x28a + 11'h28b: q = 8'h00; // 0x28b + 11'h28c: q = 8'h00; // 0x28c + 11'h28d: q = 8'h00; // 0x28d + 11'h28e: q = 8'h00; // 0x28e + 11'h28f: q = 8'h00; // 0x28f + 11'h290: q = 8'h00; // 0x290 + 11'h291: q = 8'h00; // 0x291 + 11'h292: q = 8'h00; // 0x292 + 11'h293: q = 8'h00; // 0x293 + 11'h294: q = 8'h00; // 0x294 + 11'h295: q = 8'h00; // 0x295 + 11'h296: q = 8'h00; // 0x296 + 11'h297: q = 8'h00; // 0x297 + 11'h298: q = 8'h00; // 0x298 + 11'h299: q = 8'h00; // 0x299 + 11'h29a: q = 8'h00; // 0x29a + 11'h29b: q = 8'h00; // 0x29b + 11'h29c: q = 8'h00; // 0x29c + 11'h29d: q = 8'h00; // 0x29d + 11'h29e: q = 8'h00; // 0x29e + 11'h29f: q = 8'h00; // 0x29f + 11'h2a0: q = 8'h00; // 0x2a0 + 11'h2a1: q = 8'h00; // 0x2a1 + 11'h2a2: q = 8'h00; // 0x2a2 + 11'h2a3: q = 8'h00; // 0x2a3 + 11'h2a4: q = 8'h00; // 0x2a4 + 11'h2a5: q = 8'h00; // 0x2a5 + 11'h2a6: q = 8'h00; // 0x2a6 + 11'h2a7: q = 8'h00; // 0x2a7 + 11'h2a8: q = 8'h00; // 0x2a8 + 11'h2a9: q = 8'h00; // 0x2a9 + 11'h2aa: q = 8'h00; // 0x2aa + 11'h2ab: q = 8'h00; // 0x2ab + 11'h2ac: q = 8'h00; // 0x2ac + 11'h2ad: q = 8'h00; // 0x2ad + 11'h2ae: q = 8'h00; // 0x2ae + 11'h2af: q = 8'h00; // 0x2af + 11'h2b0: q = 8'h00; // 0x2b0 + 11'h2b1: q = 8'h00; // 0x2b1 + 11'h2b2: q = 8'h00; // 0x2b2 + 11'h2b3: q = 8'h00; // 0x2b3 + 11'h2b4: q = 8'h00; // 0x2b4 + 11'h2b5: q = 8'h00; // 0x2b5 + 11'h2b6: q = 8'h00; // 0x2b6 + 11'h2b7: q = 8'h00; // 0x2b7 + 11'h2b8: q = 8'h00; // 0x2b8 + 11'h2b9: q = 8'h00; // 0x2b9 + 11'h2ba: q = 8'h00; // 0x2ba + 11'h2bb: q = 8'h00; // 0x2bb + 11'h2bc: q = 8'h00; // 0x2bc + 11'h2bd: q = 8'h00; // 0x2bd + 11'h2be: q = 8'h00; // 0x2be + 11'h2bf: q = 8'h00; // 0x2bf + 11'h2c0: q = 8'h00; // 0x2c0 + 11'h2c1: q = 8'h00; // 0x2c1 + 11'h2c2: q = 8'h00; // 0x2c2 + 11'h2c3: q = 8'h00; // 0x2c3 + 11'h2c4: q = 8'h00; // 0x2c4 + 11'h2c5: q = 8'h00; // 0x2c5 + 11'h2c6: q = 8'h00; // 0x2c6 + 11'h2c7: q = 8'h00; // 0x2c7 + 11'h2c8: q = 8'h00; // 0x2c8 + 11'h2c9: q = 8'h00; // 0x2c9 + 11'h2ca: q = 8'h00; // 0x2ca + 11'h2cb: q = 8'h00; // 0x2cb + 11'h2cc: q = 8'h00; // 0x2cc + 11'h2cd: q = 8'h00; // 0x2cd + 11'h2ce: q = 8'h00; // 0x2ce + 11'h2cf: q = 8'h00; // 0x2cf + 11'h2d0: q = 8'h00; // 0x2d0 + 11'h2d1: q = 8'h00; // 0x2d1 + 11'h2d2: q = 8'h00; // 0x2d2 + 11'h2d3: q = 8'h00; // 0x2d3 + 11'h2d4: q = 8'h00; // 0x2d4 + 11'h2d5: q = 8'h00; // 0x2d5 + 11'h2d6: q = 8'h00; // 0x2d6 + 11'h2d7: q = 8'h00; // 0x2d7 + 11'h2d8: q = 8'h3c; // 0x2d8 + 11'h2d9: q = 8'h42; // 0x2d9 + 11'h2da: q = 8'h81; // 0x2da + 11'h2db: q = 8'h81; // 0x2db + 11'h2dc: q = 8'h81; // 0x2dc + 11'h2dd: q = 8'h81; // 0x2dd + 11'h2de: q = 8'h42; // 0x2de + 11'h2df: q = 8'h3c; // 0x2df + 11'h2e0: q = 8'h3c; // 0x2e0 + 11'h2e1: q = 8'h42; // 0x2e1 + 11'h2e2: q = 8'h81; // 0x2e2 + 11'h2e3: q = 8'h81; // 0x2e3 + 11'h2e4: q = 8'h81; // 0x2e4 + 11'h2e5: q = 8'h81; // 0x2e5 + 11'h2e6: q = 8'h42; // 0x2e6 + 11'h2e7: q = 8'h3c; // 0x2e7 + 11'h2e8: q = 8'h00; // 0x2e8 + 11'h2e9: q = 8'h00; // 0x2e9 + 11'h2ea: q = 8'h00; // 0x2ea + 11'h2eb: q = 8'h00; // 0x2eb + 11'h2ec: q = 8'h08; // 0x2ec + 11'h2ed: q = 8'h00; // 0x2ed + 11'h2ee: q = 8'h00; // 0x2ee + 11'h2ef: q = 8'h00; // 0x2ef + 11'h2f0: q = 8'h00; // 0x2f0 + 11'h2f1: q = 8'h00; // 0x2f1 + 11'h2f2: q = 8'h00; // 0x2f2 + 11'h2f3: q = 8'h00; // 0x2f3 + 11'h2f4: q = 8'h00; // 0x2f4 + 11'h2f5: q = 8'h00; // 0x2f5 + 11'h2f6: q = 8'h00; // 0x2f6 + 11'h2f7: q = 8'h00; // 0x2f7 + 11'h2f8: q = 8'h18; // 0x2f8 + 11'h2f9: q = 8'h30; // 0x2f9 + 11'h2fa: q = 8'hf2; // 0x2fa + 11'h2fb: q = 8'hff; // 0x2fb + 11'h2fc: q = 8'hf2; // 0x2fc + 11'h2fd: q = 8'h30; // 0x2fd + 11'h2fe: q = 8'h18; // 0x2fe + 11'h2ff: q = 8'h00; // 0x2ff + 11'h300: q = 8'h00; // 0x300 + 11'h301: q = 8'h00; // 0x301 + 11'h302: q = 8'h00; // 0x302 + 11'h303: q = 8'h00; // 0x303 + 11'h304: q = 8'h00; // 0x304 + 11'h305: q = 8'h00; // 0x305 + 11'h306: q = 8'h00; // 0x306 + 11'h307: q = 8'h00; // 0x307 + 11'h308: q = 8'h00; // 0x308 + 11'h309: q = 8'h00; // 0x309 + 11'h30a: q = 8'h00; // 0x30a + 11'h30b: q = 8'h00; // 0x30b + 11'h30c: q = 8'h00; // 0x30c + 11'h30d: q = 8'h00; // 0x30d + 11'h30e: q = 8'h00; // 0x30e + 11'h30f: q = 8'h00; // 0x30f + 11'h310: q = 8'h00; // 0x310 + 11'h311: q = 8'h00; // 0x311 + 11'h312: q = 8'h00; // 0x312 + 11'h313: q = 8'h00; // 0x313 + 11'h314: q = 8'h00; // 0x314 + 11'h315: q = 8'h00; // 0x315 + 11'h316: q = 8'h00; // 0x316 + 11'h317: q = 8'h00; // 0x317 + 11'h318: q = 8'h00; // 0x318 + 11'h319: q = 8'h00; // 0x319 + 11'h31a: q = 8'h00; // 0x31a + 11'h31b: q = 8'h00; // 0x31b + 11'h31c: q = 8'h00; // 0x31c + 11'h31d: q = 8'h00; // 0x31d + 11'h31e: q = 8'h00; // 0x31e + 11'h31f: q = 8'h00; // 0x31f + 11'h320: q = 8'h00; // 0x320 + 11'h321: q = 8'h00; // 0x321 + 11'h322: q = 8'h00; // 0x322 + 11'h323: q = 8'h00; // 0x323 + 11'h324: q = 8'h00; // 0x324 + 11'h325: q = 8'h00; // 0x325 + 11'h326: q = 8'h00; // 0x326 + 11'h327: q = 8'h00; // 0x327 + 11'h328: q = 8'h00; // 0x328 + 11'h329: q = 8'h00; // 0x329 + 11'h32a: q = 8'h00; // 0x32a + 11'h32b: q = 8'h00; // 0x32b + 11'h32c: q = 8'h00; // 0x32c + 11'h32d: q = 8'h00; // 0x32d + 11'h32e: q = 8'h00; // 0x32e + 11'h32f: q = 8'h00; // 0x32f + 11'h330: q = 8'h00; // 0x330 + 11'h331: q = 8'h00; // 0x331 + 11'h332: q = 8'h00; // 0x332 + 11'h333: q = 8'h00; // 0x333 + 11'h334: q = 8'h00; // 0x334 + 11'h335: q = 8'h00; // 0x335 + 11'h336: q = 8'h00; // 0x336 + 11'h337: q = 8'h00; // 0x337 + 11'h338: q = 8'h00; // 0x338 + 11'h339: q = 8'h00; // 0x339 + 11'h33a: q = 8'h00; // 0x33a + 11'h33b: q = 8'h00; // 0x33b + 11'h33c: q = 8'h00; // 0x33c + 11'h33d: q = 8'h00; // 0x33d + 11'h33e: q = 8'h00; // 0x33e + 11'h33f: q = 8'h00; // 0x33f + 11'h340: q = 8'h00; // 0x340 + 11'h341: q = 8'h00; // 0x341 + 11'h342: q = 8'h00; // 0x342 + 11'h343: q = 8'h00; // 0x343 + 11'h344: q = 8'h00; // 0x344 + 11'h345: q = 8'h00; // 0x345 + 11'h346: q = 8'h00; // 0x346 + 11'h347: q = 8'h00; // 0x347 + 11'h348: q = 8'h00; // 0x348 + 11'h349: q = 8'h00; // 0x349 + 11'h34a: q = 8'h00; // 0x34a + 11'h34b: q = 8'h00; // 0x34b + 11'h34c: q = 8'h00; // 0x34c + 11'h34d: q = 8'h00; // 0x34d + 11'h34e: q = 8'h00; // 0x34e + 11'h34f: q = 8'h00; // 0x34f + 11'h350: q = 8'h00; // 0x350 + 11'h351: q = 8'h00; // 0x351 + 11'h352: q = 8'h00; // 0x352 + 11'h353: q = 8'h00; // 0x353 + 11'h354: q = 8'h00; // 0x354 + 11'h355: q = 8'h00; // 0x355 + 11'h356: q = 8'h00; // 0x356 + 11'h357: q = 8'h00; // 0x357 + 11'h358: q = 8'hff; // 0x358 + 11'h359: q = 8'hff; // 0x359 + 11'h35a: q = 8'hff; // 0x35a + 11'h35b: q = 8'hff; // 0x35b + 11'h35c: q = 8'hff; // 0x35c + 11'h35d: q = 8'hff; // 0x35d + 11'h35e: q = 8'hff; // 0x35e + 11'h35f: q = 8'hff; // 0x35f + 11'h360: q = 8'h00; // 0x360 + 11'h361: q = 8'h00; // 0x361 + 11'h362: q = 8'h00; // 0x362 + 11'h363: q = 8'h00; // 0x363 + 11'h364: q = 8'h00; // 0x364 + 11'h365: q = 8'h00; // 0x365 + 11'h366: q = 8'h00; // 0x366 + 11'h367: q = 8'h00; // 0x367 + 11'h368: q = 8'hff; // 0x368 + 11'h369: q = 8'hff; // 0x369 + 11'h36a: q = 8'hff; // 0x36a + 11'h36b: q = 8'hff; // 0x36b + 11'h36c: q = 8'hff; // 0x36c + 11'h36d: q = 8'hff; // 0x36d + 11'h36e: q = 8'hff; // 0x36e + 11'h36f: q = 8'hff; // 0x36f + 11'h370: q = 8'h00; // 0x370 + 11'h371: q = 8'h00; // 0x371 + 11'h372: q = 8'h00; // 0x372 + 11'h373: q = 8'h00; // 0x373 + 11'h374: q = 8'h00; // 0x374 + 11'h375: q = 8'h00; // 0x375 + 11'h376: q = 8'h00; // 0x376 + 11'h377: q = 8'h00; // 0x377 + 11'h378: q = 8'h00; // 0x378 + 11'h379: q = 8'h00; // 0x379 + 11'h37a: q = 8'h00; // 0x37a + 11'h37b: q = 8'h00; // 0x37b + 11'h37c: q = 8'h00; // 0x37c + 11'h37d: q = 8'h00; // 0x37d + 11'h37e: q = 8'h00; // 0x37e + 11'h37f: q = 8'h00; // 0x37f + 11'h380: q = 8'h00; // 0x380 + 11'h381: q = 8'h00; // 0x381 + 11'h382: q = 8'h00; // 0x382 + 11'h383: q = 8'h00; // 0x383 + 11'h384: q = 8'h00; // 0x384 + 11'h385: q = 8'h00; // 0x385 + 11'h386: q = 8'h00; // 0x386 + 11'h387: q = 8'h00; // 0x387 + 11'h388: q = 8'h00; // 0x388 + 11'h389: q = 8'h00; // 0x389 + 11'h38a: q = 8'h00; // 0x38a + 11'h38b: q = 8'h00; // 0x38b + 11'h38c: q = 8'h00; // 0x38c + 11'h38d: q = 8'h00; // 0x38d + 11'h38e: q = 8'h00; // 0x38e + 11'h38f: q = 8'h00; // 0x38f + 11'h390: q = 8'h00; // 0x390 + 11'h391: q = 8'h00; // 0x391 + 11'h392: q = 8'h00; // 0x392 + 11'h393: q = 8'h00; // 0x393 + 11'h394: q = 8'h00; // 0x394 + 11'h395: q = 8'h00; // 0x395 + 11'h396: q = 8'h00; // 0x396 + 11'h397: q = 8'h00; // 0x397 + 11'h398: q = 8'h00; // 0x398 + 11'h399: q = 8'h00; // 0x399 + 11'h39a: q = 8'h00; // 0x39a + 11'h39b: q = 8'h00; // 0x39b + 11'h39c: q = 8'h00; // 0x39c + 11'h39d: q = 8'h00; // 0x39d + 11'h39e: q = 8'h00; // 0x39e + 11'h39f: q = 8'h00; // 0x39f + 11'h3a0: q = 8'h00; // 0x3a0 + 11'h3a1: q = 8'h00; // 0x3a1 + 11'h3a2: q = 8'h00; // 0x3a2 + 11'h3a3: q = 8'h00; // 0x3a3 + 11'h3a4: q = 8'h00; // 0x3a4 + 11'h3a5: q = 8'h00; // 0x3a5 + 11'h3a6: q = 8'h00; // 0x3a6 + 11'h3a7: q = 8'h00; // 0x3a7 + 11'h3a8: q = 8'h00; // 0x3a8 + 11'h3a9: q = 8'h00; // 0x3a9 + 11'h3aa: q = 8'h00; // 0x3aa + 11'h3ab: q = 8'h00; // 0x3ab + 11'h3ac: q = 8'h00; // 0x3ac + 11'h3ad: q = 8'h00; // 0x3ad + 11'h3ae: q = 8'h00; // 0x3ae + 11'h3af: q = 8'h00; // 0x3af + 11'h3b0: q = 8'h00; // 0x3b0 + 11'h3b1: q = 8'h00; // 0x3b1 + 11'h3b2: q = 8'h00; // 0x3b2 + 11'h3b3: q = 8'h00; // 0x3b3 + 11'h3b4: q = 8'h00; // 0x3b4 + 11'h3b5: q = 8'h00; // 0x3b5 + 11'h3b6: q = 8'h00; // 0x3b6 + 11'h3b7: q = 8'h00; // 0x3b7 + 11'h3b8: q = 8'h00; // 0x3b8 + 11'h3b9: q = 8'h00; // 0x3b9 + 11'h3ba: q = 8'h00; // 0x3ba + 11'h3bb: q = 8'h00; // 0x3bb + 11'h3bc: q = 8'h00; // 0x3bc + 11'h3bd: q = 8'h00; // 0x3bd + 11'h3be: q = 8'h00; // 0x3be + 11'h3bf: q = 8'h00; // 0x3bf + 11'h3c0: q = 8'h0c; // 0x3c0 + 11'h3c1: q = 8'h06; // 0x3c1 + 11'h3c2: q = 8'h0f; // 0x3c2 + 11'h3c3: q = 8'h03; // 0x3c3 + 11'h3c4: q = 8'h0f; // 0x3c4 + 11'h3c5: q = 8'h07; // 0x3c5 + 11'h3c6: q = 8'h0e; // 0x3c6 + 11'h3c7: q = 8'h0c; // 0x3c7 + 11'h3c8: q = 8'h1c; // 0x3c8 + 11'h3c9: q = 8'h0e; // 0x3c9 + 11'h3ca: q = 8'h3f; // 0x3ca + 11'h3cb: q = 8'h0f; // 0x3cb + 11'h3cc: q = 8'h1f; // 0x3cc + 11'h3cd: q = 8'h0f; // 0x3cd + 11'h3ce: q = 8'h1e; // 0x3ce + 11'h3cf: q = 8'h0c; // 0x3cf + 11'h3d0: q = 8'h1c; // 0x3d0 + 11'h3d1: q = 8'h0e; // 0x3d1 + 11'h3d2: q = 8'h3f; // 0x3d2 + 11'h3d3: q = 8'h7f; // 0x3d3 + 11'h3d4: q = 8'h3f; // 0x3d4 + 11'h3d5: q = 8'h3f; // 0x3d5 + 11'h3d6: q = 8'h1e; // 0x3d6 + 11'h3d7: q = 8'h1c; // 0x3d7 + 11'h3d8: q = 8'h1c; // 0x3d8 + 11'h3d9: q = 8'h1e; // 0x3d9 + 11'h3da: q = 8'hff; // 0x3da + 11'h3db: q = 8'hff; // 0x3db + 11'h3dc: q = 8'hff; // 0x3dc + 11'h3dd: q = 8'hff; // 0x3dd + 11'h3de: q = 8'h1e; // 0x3de + 11'h3df: q = 8'h1c; // 0x3df + 11'h3e0: q = 8'h00; // 0x3e0 + 11'h3e1: q = 8'h04; // 0x3e1 + 11'h3e2: q = 8'h0e; // 0x3e2 + 11'h3e3: q = 8'h02; // 0x3e3 + 11'h3e4: q = 8'h0e; // 0x3e4 + 11'h3e5: q = 8'h06; // 0x3e5 + 11'h3e6: q = 8'h0c; // 0x3e6 + 11'h3e7: q = 8'h00; // 0x3e7 + 11'h3e8: q = 8'h00; // 0x3e8 + 11'h3e9: q = 8'h0c; // 0x3e9 + 11'h3ea: q = 8'h0e; // 0x3ea + 11'h3eb: q = 8'h0e; // 0x3eb + 11'h3ec: q = 8'h0e; // 0x3ec + 11'h3ed: q = 8'h0e; // 0x3ed + 11'h3ee: q = 8'h0c; // 0x3ee + 11'h3ef: q = 8'h00; // 0x3ef + 11'h3f0: q = 8'h00; // 0x3f0 + 11'h3f1: q = 8'h0c; // 0x3f1 + 11'h3f2: q = 8'h0e; // 0x3f2 + 11'h3f3: q = 8'h6e; // 0x3f3 + 11'h3f4: q = 8'h2e; // 0x3f4 + 11'h3f5: q = 8'h0e; // 0x3f5 + 11'h3f6: q = 8'h0c; // 0x3f6 + 11'h3f7: q = 8'h00; // 0x3f7 + 11'h3f8: q = 8'h00; // 0x3f8 + 11'h3f9: q = 8'h0c; // 0x3f9 + 11'h3fa: q = 8'h0e; // 0x3fa + 11'h3fb: q = 8'h6e; // 0x3fb + 11'h3fc: q = 8'h6e; // 0x3fc + 11'h3fd: q = 8'h0e; // 0x3fd + 11'h3fe: q = 8'h0c; // 0x3fe + 11'h3ff: q = 8'h00; // 0x3ff + 11'h400: q = 8'h00; // 0x400 + 11'h401: q = 8'h00; // 0x401 + 11'h402: q = 8'h00; // 0x402 + 11'h403: q = 8'h00; // 0x403 + 11'h404: q = 8'h3c; // 0x404 + 11'h405: q = 8'h18; // 0x405 + 11'h406: q = 8'h18; // 0x406 + 11'h407: q = 8'h7e; // 0x407 + 11'h408: q = 8'hff; // 0x408 + 11'h409: q = 8'h3c; // 0x409 + 11'h40a: q = 8'h18; // 0x40a + 11'h40b: q = 8'h00; // 0x40b + 11'h40c: q = 8'h00; // 0x40c + 11'h40d: q = 8'h00; // 0x40d + 11'h40e: q = 8'h00; // 0x40e + 11'h40f: q = 8'h00; // 0x40f + 11'h410: q = 8'h00; // 0x410 + 11'h411: q = 8'h00; // 0x411 + 11'h412: q = 8'h00; // 0x412 + 11'h413: q = 8'h00; // 0x413 + 11'h414: q = 8'h3c; // 0x414 + 11'h415: q = 8'h18; // 0x415 + 11'h416: q = 8'h18; // 0x416 + 11'h417: q = 8'h7e; // 0x417 + 11'h418: q = 8'hff; // 0x418 + 11'h419: q = 8'h3c; // 0x419 + 11'h41a: q = 8'h18; // 0x41a + 11'h41b: q = 8'h00; // 0x41b + 11'h41c: q = 8'h00; // 0x41c + 11'h41d: q = 8'h00; // 0x41d + 11'h41e: q = 8'h00; // 0x41e + 11'h41f: q = 8'h00; // 0x41f + 11'h420: q = 8'h00; // 0x420 + 11'h421: q = 8'h00; // 0x421 + 11'h422: q = 8'h00; // 0x422 + 11'h423: q = 8'h00; // 0x423 + 11'h424: q = 8'h3c; // 0x424 + 11'h425: q = 8'h18; // 0x425 + 11'h426: q = 8'h99; // 0x426 + 11'h427: q = 8'h7e; // 0x427 + 11'h428: q = 8'h7e; // 0x428 + 11'h429: q = 8'h3c; // 0x429 + 11'h42a: q = 8'h18; // 0x42a + 11'h42b: q = 8'h00; // 0x42b + 11'h42c: q = 8'h00; // 0x42c + 11'h42d: q = 8'h00; // 0x42d + 11'h42e: q = 8'h00; // 0x42e + 11'h42f: q = 8'h00; // 0x42f + 11'h430: q = 8'h00; // 0x430 + 11'h431: q = 8'h00; // 0x431 + 11'h432: q = 8'h00; // 0x432 + 11'h433: q = 8'h00; // 0x433 + 11'h434: q = 8'h3c; // 0x434 + 11'h435: q = 8'h18; // 0x435 + 11'h436: q = 8'h99; // 0x436 + 11'h437: q = 8'h7e; // 0x437 + 11'h438: q = 8'h7e; // 0x438 + 11'h439: q = 8'h3c; // 0x439 + 11'h43a: q = 8'h18; // 0x43a + 11'h43b: q = 8'h00; // 0x43b + 11'h43c: q = 8'h00; // 0x43c + 11'h43d: q = 8'h00; // 0x43d + 11'h43e: q = 8'h00; // 0x43e + 11'h43f: q = 8'h00; // 0x43f + 11'h440: q = 8'h00; // 0x440 + 11'h441: q = 8'h00; // 0x441 + 11'h442: q = 8'h00; // 0x442 + 11'h443: q = 8'h00; // 0x443 + 11'h444: q = 8'h08; // 0x444 + 11'h445: q = 8'h4d; // 0x445 + 11'h446: q = 8'h3e; // 0x446 + 11'h447: q = 8'h3e; // 0x447 + 11'h448: q = 8'hfe; // 0x448 + 11'h449: q = 8'h7c; // 0x449 + 11'h44a: q = 8'h38; // 0x44a + 11'h44b: q = 8'h40; // 0x44b + 11'h44c: q = 8'h00; // 0x44c + 11'h44d: q = 8'h00; // 0x44d + 11'h44e: q = 8'h00; // 0x44e + 11'h44f: q = 8'h00; // 0x44f + 11'h450: q = 8'h00; // 0x450 + 11'h451: q = 8'h00; // 0x451 + 11'h452: q = 8'h00; // 0x452 + 11'h453: q = 8'h00; // 0x453 + 11'h454: q = 8'h08; // 0x454 + 11'h455: q = 8'h4d; // 0x455 + 11'h456: q = 8'h3e; // 0x456 + 11'h457: q = 8'h3e; // 0x457 + 11'h458: q = 8'hfe; // 0x458 + 11'h459: q = 8'h7c; // 0x459 + 11'h45a: q = 8'h38; // 0x45a + 11'h45b: q = 8'h40; // 0x45b + 11'h45c: q = 8'h00; // 0x45c + 11'h45d: q = 8'h00; // 0x45d + 11'h45e: q = 8'h00; // 0x45e + 11'h45f: q = 8'h00; // 0x45f + 11'h460: q = 8'h00; // 0x460 + 11'h461: q = 8'h00; // 0x461 + 11'h462: q = 8'h00; // 0x462 + 11'h463: q = 8'h00; // 0x463 + 11'h464: q = 8'h04; // 0x464 + 11'h465: q = 8'h18; // 0x465 + 11'h466: q = 8'h9c; // 0x466 + 11'h467: q = 8'hfe; // 0x467 + 11'h468: q = 8'hfe; // 0x468 + 11'h469: q = 8'h9c; // 0x469 + 11'h46a: q = 8'h18; // 0x46a + 11'h46b: q = 8'h04; // 0x46b + 11'h46c: q = 8'h00; // 0x46c + 11'h46d: q = 8'h00; // 0x46d + 11'h46e: q = 8'h00; // 0x46e + 11'h46f: q = 8'h00; // 0x46f + 11'h470: q = 8'h00; // 0x470 + 11'h471: q = 8'h00; // 0x471 + 11'h472: q = 8'h00; // 0x472 + 11'h473: q = 8'h00; // 0x473 + 11'h474: q = 8'h40; // 0x474 + 11'h475: q = 8'h18; // 0x475 + 11'h476: q = 8'h9c; // 0x476 + 11'h477: q = 8'hfe; // 0x477 + 11'h478: q = 8'hfe; // 0x478 + 11'h479: q = 8'h9c; // 0x479 + 11'h47a: q = 8'h18; // 0x47a + 11'h47b: q = 8'h40; // 0x47b + 11'h47c: q = 8'h00; // 0x47c + 11'h47d: q = 8'h00; // 0x47d + 11'h47e: q = 8'h00; // 0x47e + 11'h47f: q = 8'h00; // 0x47f + 11'h480: q = 8'h00; // 0x480 + 11'h481: q = 8'h00; // 0x481 + 11'h482: q = 8'h00; // 0x482 + 11'h483: q = 8'h00; // 0x483 + 11'h484: q = 8'h00; // 0x484 + 11'h485: q = 8'h00; // 0x485 + 11'h486: q = 8'h00; // 0x486 + 11'h487: q = 8'h00; // 0x487 + 11'h488: q = 8'h00; // 0x488 + 11'h489: q = 8'h00; // 0x489 + 11'h48a: q = 8'h00; // 0x48a + 11'h48b: q = 8'h00; // 0x48b + 11'h48c: q = 8'h00; // 0x48c + 11'h48d: q = 8'h00; // 0x48d + 11'h48e: q = 8'h00; // 0x48e + 11'h48f: q = 8'h00; // 0x48f + 11'h490: q = 8'h00; // 0x490 + 11'h491: q = 8'h00; // 0x491 + 11'h492: q = 8'h00; // 0x492 + 11'h493: q = 8'h00; // 0x493 + 11'h494: q = 8'h00; // 0x494 + 11'h495: q = 8'h00; // 0x495 + 11'h496: q = 8'h00; // 0x496 + 11'h497: q = 8'h00; // 0x497 + 11'h498: q = 8'h00; // 0x498 + 11'h499: q = 8'h00; // 0x499 + 11'h49a: q = 8'h00; // 0x49a + 11'h49b: q = 8'h00; // 0x49b + 11'h49c: q = 8'h00; // 0x49c + 11'h49d: q = 8'h00; // 0x49d + 11'h49e: q = 8'h00; // 0x49e + 11'h49f: q = 8'h00; // 0x49f + 11'h4a0: q = 8'h44; // 0x4a0 + 11'h4a1: q = 8'h22; // 0x4a1 + 11'h4a2: q = 8'h22; // 0x4a2 + 11'h4a3: q = 8'h22; // 0x4a3 + 11'h4a4: q = 8'h44; // 0x4a4 + 11'h4a5: q = 8'h68; // 0x4a5 + 11'h4a6: q = 8'ha0; // 0x4a6 + 11'h4a7: q = 8'h3c; // 0x4a7 + 11'h4a8: q = 8'he0; // 0x4a8 + 11'h4a9: q = 8'h68; // 0x4a9 + 11'h4aa: q = 8'h44; // 0x4aa + 11'h4ab: q = 8'h22; // 0x4ab + 11'h4ac: q = 8'h22; // 0x4ac + 11'h4ad: q = 8'h22; // 0x4ad + 11'h4ae: q = 8'h44; // 0x4ae + 11'h4af: q = 8'h00; // 0x4af + 11'h4b0: q = 8'h40; // 0x4b0 + 11'h4b1: q = 8'h20; // 0x4b1 + 11'h4b2: q = 8'h90; // 0x4b2 + 11'h4b3: q = 8'h88; // 0x4b3 + 11'h4b4: q = 8'h68; // 0x4b4 + 11'h4b5: q = 8'h68; // 0x4b5 + 11'h4b6: q = 8'he0; // 0x4b6 + 11'h4b7: q = 8'h3c; // 0x4b7 + 11'h4b8: q = 8'he0; // 0x4b8 + 11'h4b9: q = 8'h68; // 0x4b9 + 11'h4ba: q = 8'h68; // 0x4ba + 11'h4bb: q = 8'h88; // 0x4bb + 11'h4bc: q = 8'h90; // 0x4bc + 11'h4bd: q = 8'h20; // 0x4bd + 11'h4be: q = 8'h40; // 0x4be + 11'h4bf: q = 8'h00; // 0x4bf + 11'h4c0: q = 8'h44; // 0x4c0 + 11'h4c1: q = 8'h22; // 0x4c1 + 11'h4c2: q = 8'h22; // 0x4c2 + 11'h4c3: q = 8'h22; // 0x4c3 + 11'h4c4: q = 8'h44; // 0x4c4 + 11'h4c5: q = 8'h68; // 0x4c5 + 11'h4c6: q = 8'ha0; // 0x4c6 + 11'h4c7: q = 8'h3c; // 0x4c7 + 11'h4c8: q = 8'he0; // 0x4c8 + 11'h4c9: q = 8'h68; // 0x4c9 + 11'h4ca: q = 8'h44; // 0x4ca + 11'h4cb: q = 8'h22; // 0x4cb + 11'h4cc: q = 8'h22; // 0x4cc + 11'h4cd: q = 8'h22; // 0x4cd + 11'h4ce: q = 8'h44; // 0x4ce + 11'h4cf: q = 8'h00; // 0x4cf + 11'h4d0: q = 8'h20; // 0x4d0 + 11'h4d1: q = 8'h10; // 0x4d1 + 11'h4d2: q = 8'h88; // 0x4d2 + 11'h4d3: q = 8'h64; // 0x4d3 + 11'h4d4: q = 8'h47; // 0x4d4 + 11'h4d5: q = 8'h68; // 0x4d5 + 11'h4d6: q = 8'he0; // 0x4d6 + 11'h4d7: q = 8'h3c; // 0x4d7 + 11'h4d8: q = 8'he0; // 0x4d8 + 11'h4d9: q = 8'h68; // 0x4d9 + 11'h4da: q = 8'h47; // 0x4da + 11'h4db: q = 8'h64; // 0x4db + 11'h4dc: q = 8'h88; // 0x4dc + 11'h4dd: q = 8'h10; // 0x4dd + 11'h4de: q = 8'h20; // 0x4de + 11'h4df: q = 8'h00; // 0x4df + 11'h4e0: q = 8'h00; // 0x4e0 + 11'h4e1: q = 8'h00; // 0x4e1 + 11'h4e2: q = 8'h00; // 0x4e2 + 11'h4e3: q = 8'h18; // 0x4e3 + 11'h4e4: q = 8'h18; // 0x4e4 + 11'h4e5: q = 8'hd8; // 0x4e5 + 11'h4e6: q = 8'h2f; // 0x4e6 + 11'h4e7: q = 8'h9f; // 0x4e7 + 11'h4e8: q = 8'h4f; // 0x4e8 + 11'h4e9: q = 8'h3e; // 0x4e9 + 11'h4ea: q = 8'hbc; // 0x4ea + 11'h4eb: q = 8'h78; // 0x4eb + 11'h4ec: q = 8'h00; // 0x4ec + 11'h4ed: q = 8'h00; // 0x4ed + 11'h4ee: q = 8'h00; // 0x4ee + 11'h4ef: q = 8'h00; // 0x4ef + 11'h4f0: q = 8'h00; // 0x4f0 + 11'h4f1: q = 8'h00; // 0x4f1 + 11'h4f2: q = 8'h00; // 0x4f2 + 11'h4f3: q = 8'h18; // 0x4f3 + 11'h4f4: q = 8'h18; // 0x4f4 + 11'h4f5: q = 8'h18; // 0x4f5 + 11'h4f6: q = 8'h7f; // 0x4f6 + 11'h4f7: q = 8'h8f; // 0x4f7 + 11'h4f8: q = 8'h3f; // 0x4f8 + 11'h4f9: q = 8'hde; // 0x4f9 + 11'h4fa: q = 8'h3c; // 0x4fa + 11'h4fb: q = 8'hf8; // 0x4fb + 11'h4fc: q = 8'h00; // 0x4fc + 11'h4fd: q = 8'h00; // 0x4fd + 11'h4fe: q = 8'h00; // 0x4fe + 11'h4ff: q = 8'h00; // 0x4ff + 11'h500: q = 8'h34; // 0x500 + 11'h501: q = 8'h42; // 0x501 + 11'h502: q = 8'he9; // 0x502 + 11'h503: q = 8'h42; // 0x503 + 11'h504: q = 8'h34; // 0x504 + 11'h505: q = 8'h1c; // 0x505 + 11'h506: q = 8'h36; // 0x506 + 11'h507: q = 8'h43; // 0x507 + 11'h508: q = 8'he9; // 0x508 + 11'h509: q = 8'h42; // 0x509 + 11'h50a: q = 8'h34; // 0x50a + 11'h50b: q = 8'h34; // 0x50b + 11'h50c: q = 8'h42; // 0x50c + 11'h50d: q = 8'he9; // 0x50d + 11'h50e: q = 8'h42; // 0x50e + 11'h50f: q = 8'h34; // 0x50f + 11'h510: q = 8'h28; // 0x510 + 11'h511: q = 8'h66; // 0x511 + 11'h512: q = 8'hda; // 0x512 + 11'h513: q = 8'h5d; // 0x513 + 11'h514: q = 8'hbe; // 0x514 + 11'h515: q = 8'h4c; // 0x515 + 11'h516: q = 8'h7b; // 0x516 + 11'h517: q = 8'h36; // 0x517 + 11'h518: q = 8'h36; // 0x518 + 11'h519: q = 8'h7b; // 0x519 + 11'h51a: q = 8'h4e; // 0x51a + 11'h51b: q = 8'hbe; // 0x51b + 11'h51c: q = 8'h1d; // 0x51c + 11'h51d: q = 8'hda; // 0x51d + 11'h51e: q = 8'h66; // 0x51e + 11'h51f: q = 8'h14; // 0x51f + 11'h520: q = 8'h00; // 0x520 + 11'h521: q = 8'h00; // 0x521 + 11'h522: q = 8'h08; // 0x522 + 11'h523: q = 8'h10; // 0x523 + 11'h524: q = 8'h1c; // 0x524 + 11'h525: q = 8'h3e; // 0x525 + 11'h526: q = 8'h31; // 0x526 + 11'h527: q = 8'h74; // 0x527 + 11'h528: q = 8'h2e; // 0x528 + 11'h529: q = 8'h1c; // 0x529 + 11'h52a: q = 8'h7c; // 0x52a + 11'h52b: q = 8'h38; // 0x52b + 11'h52c: q = 8'h08; // 0x52c + 11'h52d: q = 8'h10; // 0x52d + 11'h52e: q = 8'h00; // 0x52e + 11'h52f: q = 8'h00; // 0x52f + 11'h530: q = 8'h00; // 0x530 + 11'h531: q = 8'h00; // 0x531 + 11'h532: q = 8'h00; // 0x532 + 11'h533: q = 8'h00; // 0x533 + 11'h534: q = 8'h00; // 0x534 + 11'h535: q = 8'h00; // 0x535 + 11'h536: q = 8'h08; // 0x536 + 11'h537: q = 8'h30; // 0x537 + 11'h538: q = 8'h38; // 0x538 + 11'h539: q = 8'h00; // 0x539 + 11'h53a: q = 8'h00; // 0x53a + 11'h53b: q = 8'h00; // 0x53b + 11'h53c: q = 8'h00; // 0x53c + 11'h53d: q = 8'h00; // 0x53d + 11'h53e: q = 8'h00; // 0x53e + 11'h53f: q = 8'h00; // 0x53f + 11'h540: q = 8'h00; // 0x540 + 11'h541: q = 8'h00; // 0x541 + 11'h542: q = 8'h00; // 0x542 + 11'h543: q = 8'h00; // 0x543 + 11'h544: q = 8'h00; // 0x544 + 11'h545: q = 8'h00; // 0x545 + 11'h546: q = 8'h00; // 0x546 + 11'h547: q = 8'h00; // 0x547 + 11'h548: q = 8'h00; // 0x548 + 11'h549: q = 8'h00; // 0x549 + 11'h54a: q = 8'h00; // 0x54a + 11'h54b: q = 8'h00; // 0x54b + 11'h54c: q = 8'h00; // 0x54c + 11'h54d: q = 8'h00; // 0x54d + 11'h54e: q = 8'h00; // 0x54e + 11'h54f: q = 8'h00; // 0x54f + 11'h550: q = 8'h00; // 0x550 + 11'h551: q = 8'h00; // 0x551 + 11'h552: q = 8'h00; // 0x552 + 11'h553: q = 8'h00; // 0x553 + 11'h554: q = 8'h00; // 0x554 + 11'h555: q = 8'h00; // 0x555 + 11'h556: q = 8'h00; // 0x556 + 11'h557: q = 8'h00; // 0x557 + 11'h558: q = 8'h00; // 0x558 + 11'h559: q = 8'h00; // 0x559 + 11'h55a: q = 8'h00; // 0x55a + 11'h55b: q = 8'h00; // 0x55b + 11'h55c: q = 8'h00; // 0x55c + 11'h55d: q = 8'h00; // 0x55d + 11'h55e: q = 8'h00; // 0x55e + 11'h55f: q = 8'h00; // 0x55f + 11'h560: q = 8'h00; // 0x560 + 11'h561: q = 8'h8c; // 0x561 + 11'h562: q = 8'h68; // 0x562 + 11'h563: q = 8'h1a; // 0x563 + 11'h564: q = 8'h1e; // 0x564 + 11'h565: q = 8'h1e; // 0x565 + 11'h566: q = 8'h1e; // 0x566 + 11'h567: q = 8'h1f; // 0x567 + 11'h568: q = 8'h7e; // 0x568 + 11'h569: q = 8'h9e; // 0x569 + 11'h56a: q = 8'h9e; // 0x56a + 11'h56b: q = 8'h1e; // 0x56b + 11'h56c: q = 8'hfe; // 0x56c + 11'h56d: q = 8'h9e; // 0x56d + 11'h56e: q = 8'h9c; // 0x56e + 11'h56f: q = 8'h8c; // 0x56f + 11'h570: q = 8'h80; // 0x570 + 11'h571: q = 8'hb0; // 0x571 + 11'h572: q = 8'ha0; // 0x572 + 11'h573: q = 8'h68; // 0x573 + 11'h574: q = 8'h78; // 0x574 + 11'h575: q = 8'h78; // 0x575 + 11'h576: q = 8'h78; // 0x576 + 11'h577: q = 8'h7e; // 0x577 + 11'h578: q = 8'h7a; // 0x578 + 11'h579: q = 8'h7a; // 0x579 + 11'h57a: q = 8'hfc; // 0x57a + 11'h57b: q = 8'h78; // 0x57b + 11'h57c: q = 8'h78; // 0x57c + 11'h57d: q = 8'hf8; // 0x57d + 11'h57e: q = 8'hf8; // 0x57e + 11'h57f: q = 8'hb0; // 0x57f + 11'h580: q = 8'h01; // 0x580 + 11'h581: q = 8'h06; // 0x581 + 11'h582: q = 8'h0d; // 0x582 + 11'h583: q = 8'h18; // 0x583 + 11'h584: q = 8'h10; // 0x584 + 11'h585: q = 8'h7c; // 0x585 + 11'h586: q = 8'hff; // 0x586 + 11'h587: q = 8'hfc; // 0x587 + 11'h588: q = 8'hd0; // 0x588 + 11'h589: q = 8'hd8; // 0x589 + 11'h58a: q = 8'hcd; // 0x58a + 11'h58b: q = 8'hc6; // 0x58b + 11'h58c: q = 8'he1; // 0x58c + 11'h58d: q = 8'h7c; // 0x58d + 11'h58e: q = 8'h04; // 0x58e + 11'h58f: q = 8'h0c; // 0x58f + 11'h590: q = 8'h01; // 0x590 + 11'h591: q = 8'h06; // 0x591 + 11'h592: q = 8'h0d; // 0x592 + 11'h593: q = 8'h08; // 0x593 + 11'h594: q = 8'h7c; // 0x594 + 11'h595: q = 8'hff; // 0x595 + 11'h596: q = 8'hfc; // 0x596 + 11'h597: q = 8'hc8; // 0x597 + 11'h598: q = 8'hcd; // 0x598 + 11'h599: q = 8'hc6; // 0x599 + 11'h59a: q = 8'hc1; // 0x59a + 11'h59b: q = 8'hcc; // 0x59b + 11'h59c: q = 8'hd2; // 0x59c + 11'h59d: q = 8'hc4; // 0x59d + 11'h59e: q = 8'hcc; // 0x59e + 11'h59f: q = 8'h78; // 0x59f + 11'h5a0: q = 8'h00; // 0x5a0 + 11'h5a1: q = 8'h00; // 0x5a1 + 11'h5a2: q = 8'h00; // 0x5a2 + 11'h5a3: q = 8'h00; // 0x5a3 + 11'h5a4: q = 8'h00; // 0x5a4 + 11'h5a5: q = 8'h00; // 0x5a5 + 11'h5a6: q = 8'h00; // 0x5a6 + 11'h5a7: q = 8'h00; // 0x5a7 + 11'h5a8: q = 8'h00; // 0x5a8 + 11'h5a9: q = 8'h00; // 0x5a9 + 11'h5aa: q = 8'h00; // 0x5aa + 11'h5ab: q = 8'h00; // 0x5ab + 11'h5ac: q = 8'h00; // 0x5ac + 11'h5ad: q = 8'h00; // 0x5ad + 11'h5ae: q = 8'h00; // 0x5ae + 11'h5af: q = 8'h00; // 0x5af + 11'h5b0: q = 8'h00; // 0x5b0 + 11'h5b1: q = 8'h00; // 0x5b1 + 11'h5b2: q = 8'h00; // 0x5b2 + 11'h5b3: q = 8'hf8; // 0x5b3 + 11'h5b4: q = 8'h88; // 0x5b4 + 11'h5b5: q = 8'hf8; // 0x5b5 + 11'h5b6: q = 8'h00; // 0x5b6 + 11'h5b7: q = 8'hf8; // 0x5b7 + 11'h5b8: q = 8'h88; // 0x5b8 + 11'h5b9: q = 8'hf8; // 0x5b9 + 11'h5ba: q = 8'h00; // 0x5ba + 11'h5bb: q = 8'hf8; // 0x5bb + 11'h5bc: q = 8'ha8; // 0x5bc + 11'h5bd: q = 8'hb8; // 0x5bd + 11'h5be: q = 8'h00; // 0x5be + 11'h5bf: q = 8'h00; // 0x5bf + 11'h5c0: q = 8'h00; // 0x5c0 + 11'h5c1: q = 8'h00; // 0x5c1 + 11'h5c2: q = 8'h00; // 0x5c2 + 11'h5c3: q = 8'h00; // 0x5c3 + 11'h5c4: q = 8'h00; // 0x5c4 + 11'h5c5: q = 8'h00; // 0x5c5 + 11'h5c6: q = 8'h00; // 0x5c6 + 11'h5c7: q = 8'h00; // 0x5c7 + 11'h5c8: q = 8'h00; // 0x5c8 + 11'h5c9: q = 8'h00; // 0x5c9 + 11'h5ca: q = 8'h00; // 0x5ca + 11'h5cb: q = 8'h00; // 0x5cb + 11'h5cc: q = 8'h00; // 0x5cc + 11'h5cd: q = 8'h00; // 0x5cd + 11'h5ce: q = 8'h00; // 0x5ce + 11'h5cf: q = 8'h00; // 0x5cf + 11'h5d0: q = 8'h00; // 0x5d0 + 11'h5d1: q = 8'h00; // 0x5d1 + 11'h5d2: q = 8'h00; // 0x5d2 + 11'h5d3: q = 8'h00; // 0x5d3 + 11'h5d4: q = 8'h14; // 0x5d4 + 11'h5d5: q = 8'he5; // 0x5d5 + 11'h5d6: q = 8'h02; // 0x5d6 + 11'h5d7: q = 8'ha2; // 0x5d7 + 11'h5d8: q = 8'h85; // 0x5d8 + 11'h5d9: q = 8'h20; // 0x5d9 + 11'h5da: q = 8'h63; // 0x5da + 11'h5db: q = 8'h04; // 0x5db + 11'h5dc: q = 8'h00; // 0x5dc + 11'h5dd: q = 8'h00; // 0x5dd + 11'h5de: q = 8'h00; // 0x5de + 11'h5df: q = 8'h00; // 0x5df + 11'h5e0: q = 8'h00; // 0x5e0 + 11'h5e1: q = 8'h00; // 0x5e1 + 11'h5e2: q = 8'h00; // 0x5e2 + 11'h5e3: q = 8'h00; // 0x5e3 + 11'h5e4: q = 8'h36; // 0x5e4 + 11'h5e5: q = 8'hdd; // 0x5e5 + 11'h5e6: q = 8'hcf; // 0x5e6 + 11'h5e7: q = 8'h67; // 0x5e7 + 11'h5e8: q = 8'h46; // 0x5e8 + 11'h5e9: q = 8'hff; // 0x5e9 + 11'h5ea: q = 8'h6e; // 0x5ea + 11'h5eb: q = 8'ha8; // 0x5eb + 11'h5ec: q = 8'h00; // 0x5ec + 11'h5ed: q = 8'h00; // 0x5ed + 11'h5ee: q = 8'h00; // 0x5ee + 11'h5ef: q = 8'h00; // 0x5ef + 11'h5f0: q = 8'h00; // 0x5f0 + 11'h5f1: q = 8'h00; // 0x5f1 + 11'h5f2: q = 8'h00; // 0x5f2 + 11'h5f3: q = 8'h00; // 0x5f3 + 11'h5f4: q = 8'h20; // 0x5f4 + 11'h5f5: q = 8'h7e; // 0x5f5 + 11'h5f6: q = 8'hfe; // 0x5f6 + 11'h5f7: q = 8'h6c; // 0x5f7 + 11'h5f8: q = 8'h3e; // 0x5f8 + 11'h5f9: q = 8'h7c; // 0x5f9 + 11'h5fa: q = 8'h78; // 0x5fa + 11'h5fb: q = 8'ha0; // 0x5fb + 11'h5fc: q = 8'h00; // 0x5fc + 11'h5fd: q = 8'h00; // 0x5fd + 11'h5fe: q = 8'h00; // 0x5fe + 11'h5ff: q = 8'h00; // 0x5ff + 11'h600: q = 8'h00; // 0x600 + 11'h601: q = 8'h00; // 0x601 + 11'h602: q = 8'h00; // 0x602 + 11'h603: q = 8'h00; // 0x603 + 11'h604: q = 8'h00; // 0x604 + 11'h605: q = 8'h00; // 0x605 + 11'h606: q = 8'h00; // 0x606 + 11'h607: q = 8'h00; // 0x607 + 11'h608: q = 8'h00; // 0x608 + 11'h609: q = 8'h00; // 0x609 + 11'h60a: q = 8'h00; // 0x60a + 11'h60b: q = 8'h00; // 0x60b + 11'h60c: q = 8'h00; // 0x60c + 11'h60d: q = 8'h00; // 0x60d + 11'h60e: q = 8'h00; // 0x60e + 11'h60f: q = 8'h00; // 0x60f + 11'h610: q = 8'h00; // 0x610 + 11'h611: q = 8'h00; // 0x611 + 11'h612: q = 8'h00; // 0x612 + 11'h613: q = 8'h00; // 0x613 + 11'h614: q = 8'h00; // 0x614 + 11'h615: q = 8'h00; // 0x615 + 11'h616: q = 8'h00; // 0x616 + 11'h617: q = 8'h00; // 0x617 + 11'h618: q = 8'h00; // 0x618 + 11'h619: q = 8'h00; // 0x619 + 11'h61a: q = 8'h00; // 0x61a + 11'h61b: q = 8'h00; // 0x61b + 11'h61c: q = 8'h00; // 0x61c + 11'h61d: q = 8'h00; // 0x61d + 11'h61e: q = 8'h00; // 0x61e + 11'h61f: q = 8'h00; // 0x61f + 11'h620: q = 8'h00; // 0x620 + 11'h621: q = 8'h00; // 0x621 + 11'h622: q = 8'h00; // 0x622 + 11'h623: q = 8'h00; // 0x623 + 11'h624: q = 8'h00; // 0x624 + 11'h625: q = 8'h00; // 0x625 + 11'h626: q = 8'h00; // 0x626 + 11'h627: q = 8'h00; // 0x627 + 11'h628: q = 8'h00; // 0x628 + 11'h629: q = 8'h00; // 0x629 + 11'h62a: q = 8'h00; // 0x62a + 11'h62b: q = 8'h00; // 0x62b + 11'h62c: q = 8'h00; // 0x62c + 11'h62d: q = 8'h00; // 0x62d + 11'h62e: q = 8'h00; // 0x62e + 11'h62f: q = 8'h00; // 0x62f + 11'h630: q = 8'h00; // 0x630 + 11'h631: q = 8'h00; // 0x631 + 11'h632: q = 8'h00; // 0x632 + 11'h633: q = 8'h00; // 0x633 + 11'h634: q = 8'h00; // 0x634 + 11'h635: q = 8'h00; // 0x635 + 11'h636: q = 8'h00; // 0x636 + 11'h637: q = 8'h00; // 0x637 + 11'h638: q = 8'h00; // 0x638 + 11'h639: q = 8'h00; // 0x639 + 11'h63a: q = 8'h00; // 0x63a + 11'h63b: q = 8'h00; // 0x63b + 11'h63c: q = 8'h00; // 0x63c + 11'h63d: q = 8'h00; // 0x63d + 11'h63e: q = 8'h00; // 0x63e + 11'h63f: q = 8'h00; // 0x63f + 11'h640: q = 8'h00; // 0x640 + 11'h641: q = 8'h00; // 0x641 + 11'h642: q = 8'h00; // 0x642 + 11'h643: q = 8'h00; // 0x643 + 11'h644: q = 8'h00; // 0x644 + 11'h645: q = 8'h00; // 0x645 + 11'h646: q = 8'h00; // 0x646 + 11'h647: q = 8'h00; // 0x647 + 11'h648: q = 8'h00; // 0x648 + 11'h649: q = 8'h00; // 0x649 + 11'h64a: q = 8'h00; // 0x64a + 11'h64b: q = 8'h00; // 0x64b + 11'h64c: q = 8'h00; // 0x64c + 11'h64d: q = 8'h00; // 0x64d + 11'h64e: q = 8'h00; // 0x64e + 11'h64f: q = 8'h00; // 0x64f + 11'h650: q = 8'h00; // 0x650 + 11'h651: q = 8'h00; // 0x651 + 11'h652: q = 8'h00; // 0x652 + 11'h653: q = 8'h00; // 0x653 + 11'h654: q = 8'h00; // 0x654 + 11'h655: q = 8'h00; // 0x655 + 11'h656: q = 8'h00; // 0x656 + 11'h657: q = 8'h00; // 0x657 + 11'h658: q = 8'h00; // 0x658 + 11'h659: q = 8'h00; // 0x659 + 11'h65a: q = 8'h00; // 0x65a + 11'h65b: q = 8'h00; // 0x65b + 11'h65c: q = 8'h00; // 0x65c + 11'h65d: q = 8'h00; // 0x65d + 11'h65e: q = 8'h00; // 0x65e + 11'h65f: q = 8'h00; // 0x65f + 11'h660: q = 8'h00; // 0x660 + 11'h661: q = 8'h00; // 0x661 + 11'h662: q = 8'h00; // 0x662 + 11'h663: q = 8'h00; // 0x663 + 11'h664: q = 8'h00; // 0x664 + 11'h665: q = 8'h00; // 0x665 + 11'h666: q = 8'h00; // 0x666 + 11'h667: q = 8'h00; // 0x667 + 11'h668: q = 8'h00; // 0x668 + 11'h669: q = 8'h00; // 0x669 + 11'h66a: q = 8'h00; // 0x66a + 11'h66b: q = 8'h00; // 0x66b + 11'h66c: q = 8'h00; // 0x66c + 11'h66d: q = 8'h00; // 0x66d + 11'h66e: q = 8'h00; // 0x66e + 11'h66f: q = 8'h00; // 0x66f + 11'h670: q = 8'h00; // 0x670 + 11'h671: q = 8'h00; // 0x671 + 11'h672: q = 8'h00; // 0x672 + 11'h673: q = 8'h00; // 0x673 + 11'h674: q = 8'h00; // 0x674 + 11'h675: q = 8'h00; // 0x675 + 11'h676: q = 8'h00; // 0x676 + 11'h677: q = 8'h00; // 0x677 + 11'h678: q = 8'h00; // 0x678 + 11'h679: q = 8'h00; // 0x679 + 11'h67a: q = 8'h00; // 0x67a + 11'h67b: q = 8'h00; // 0x67b + 11'h67c: q = 8'h00; // 0x67c + 11'h67d: q = 8'h00; // 0x67d + 11'h67e: q = 8'h00; // 0x67e + 11'h67f: q = 8'h00; // 0x67f + 11'h680: q = 8'h00; // 0x680 + 11'h681: q = 8'h00; // 0x681 + 11'h682: q = 8'h00; // 0x682 + 11'h683: q = 8'h00; // 0x683 + 11'h684: q = 8'h00; // 0x684 + 11'h685: q = 8'h00; // 0x685 + 11'h686: q = 8'h00; // 0x686 + 11'h687: q = 8'h00; // 0x687 + 11'h688: q = 8'h00; // 0x688 + 11'h689: q = 8'h00; // 0x689 + 11'h68a: q = 8'h00; // 0x68a + 11'h68b: q = 8'h00; // 0x68b + 11'h68c: q = 8'h00; // 0x68c + 11'h68d: q = 8'h00; // 0x68d + 11'h68e: q = 8'h00; // 0x68e + 11'h68f: q = 8'h00; // 0x68f + 11'h690: q = 8'h00; // 0x690 + 11'h691: q = 8'h00; // 0x691 + 11'h692: q = 8'h00; // 0x692 + 11'h693: q = 8'h00; // 0x693 + 11'h694: q = 8'h00; // 0x694 + 11'h695: q = 8'h00; // 0x695 + 11'h696: q = 8'h00; // 0x696 + 11'h697: q = 8'h00; // 0x697 + 11'h698: q = 8'h00; // 0x698 + 11'h699: q = 8'h00; // 0x699 + 11'h69a: q = 8'h00; // 0x69a + 11'h69b: q = 8'h00; // 0x69b + 11'h69c: q = 8'h00; // 0x69c + 11'h69d: q = 8'h00; // 0x69d + 11'h69e: q = 8'h00; // 0x69e + 11'h69f: q = 8'h00; // 0x69f + 11'h6a0: q = 8'h00; // 0x6a0 + 11'h6a1: q = 8'h00; // 0x6a1 + 11'h6a2: q = 8'h00; // 0x6a2 + 11'h6a3: q = 8'h00; // 0x6a3 + 11'h6a4: q = 8'h00; // 0x6a4 + 11'h6a5: q = 8'h00; // 0x6a5 + 11'h6a6: q = 8'h00; // 0x6a6 + 11'h6a7: q = 8'h00; // 0x6a7 + 11'h6a8: q = 8'h00; // 0x6a8 + 11'h6a9: q = 8'h00; // 0x6a9 + 11'h6aa: q = 8'h00; // 0x6aa + 11'h6ab: q = 8'h00; // 0x6ab + 11'h6ac: q = 8'h00; // 0x6ac + 11'h6ad: q = 8'h00; // 0x6ad + 11'h6ae: q = 8'h00; // 0x6ae + 11'h6af: q = 8'h00; // 0x6af + 11'h6b0: q = 8'h00; // 0x6b0 + 11'h6b1: q = 8'h00; // 0x6b1 + 11'h6b2: q = 8'h00; // 0x6b2 + 11'h6b3: q = 8'h00; // 0x6b3 + 11'h6b4: q = 8'h00; // 0x6b4 + 11'h6b5: q = 8'h00; // 0x6b5 + 11'h6b6: q = 8'h00; // 0x6b6 + 11'h6b7: q = 8'h00; // 0x6b7 + 11'h6b8: q = 8'h00; // 0x6b8 + 11'h6b9: q = 8'h00; // 0x6b9 + 11'h6ba: q = 8'h00; // 0x6ba + 11'h6bb: q = 8'h00; // 0x6bb + 11'h6bc: q = 8'h00; // 0x6bc + 11'h6bd: q = 8'h00; // 0x6bd + 11'h6be: q = 8'h00; // 0x6be + 11'h6bf: q = 8'h00; // 0x6bf + 11'h6c0: q = 8'h00; // 0x6c0 + 11'h6c1: q = 8'h00; // 0x6c1 + 11'h6c2: q = 8'h00; // 0x6c2 + 11'h6c3: q = 8'h00; // 0x6c3 + 11'h6c4: q = 8'h00; // 0x6c4 + 11'h6c5: q = 8'h00; // 0x6c5 + 11'h6c6: q = 8'h00; // 0x6c6 + 11'h6c7: q = 8'h00; // 0x6c7 + 11'h6c8: q = 8'h00; // 0x6c8 + 11'h6c9: q = 8'h00; // 0x6c9 + 11'h6ca: q = 8'h00; // 0x6ca + 11'h6cb: q = 8'h00; // 0x6cb + 11'h6cc: q = 8'h00; // 0x6cc + 11'h6cd: q = 8'h00; // 0x6cd + 11'h6ce: q = 8'h00; // 0x6ce + 11'h6cf: q = 8'h00; // 0x6cf + 11'h6d0: q = 8'h00; // 0x6d0 + 11'h6d1: q = 8'h00; // 0x6d1 + 11'h6d2: q = 8'h00; // 0x6d2 + 11'h6d3: q = 8'h00; // 0x6d3 + 11'h6d4: q = 8'h00; // 0x6d4 + 11'h6d5: q = 8'h00; // 0x6d5 + 11'h6d6: q = 8'h00; // 0x6d6 + 11'h6d7: q = 8'h00; // 0x6d7 + 11'h6d8: q = 8'h00; // 0x6d8 + 11'h6d9: q = 8'h00; // 0x6d9 + 11'h6da: q = 8'h00; // 0x6da + 11'h6db: q = 8'h00; // 0x6db + 11'h6dc: q = 8'h00; // 0x6dc + 11'h6dd: q = 8'h00; // 0x6dd + 11'h6de: q = 8'h00; // 0x6de + 11'h6df: q = 8'h00; // 0x6df + 11'h6e0: q = 8'h00; // 0x6e0 + 11'h6e1: q = 8'h00; // 0x6e1 + 11'h6e2: q = 8'h00; // 0x6e2 + 11'h6e3: q = 8'h00; // 0x6e3 + 11'h6e4: q = 8'h00; // 0x6e4 + 11'h6e5: q = 8'h00; // 0x6e5 + 11'h6e6: q = 8'h00; // 0x6e6 + 11'h6e7: q = 8'h00; // 0x6e7 + 11'h6e8: q = 8'h00; // 0x6e8 + 11'h6e9: q = 8'h00; // 0x6e9 + 11'h6ea: q = 8'h00; // 0x6ea + 11'h6eb: q = 8'h00; // 0x6eb + 11'h6ec: q = 8'h00; // 0x6ec + 11'h6ed: q = 8'h00; // 0x6ed + 11'h6ee: q = 8'h00; // 0x6ee + 11'h6ef: q = 8'h00; // 0x6ef + 11'h6f0: q = 8'h00; // 0x6f0 + 11'h6f1: q = 8'h00; // 0x6f1 + 11'h6f2: q = 8'h00; // 0x6f2 + 11'h6f3: q = 8'h00; // 0x6f3 + 11'h6f4: q = 8'h00; // 0x6f4 + 11'h6f5: q = 8'h00; // 0x6f5 + 11'h6f6: q = 8'h00; // 0x6f6 + 11'h6f7: q = 8'h00; // 0x6f7 + 11'h6f8: q = 8'h00; // 0x6f8 + 11'h6f9: q = 8'h00; // 0x6f9 + 11'h6fa: q = 8'h00; // 0x6fa + 11'h6fb: q = 8'h00; // 0x6fb + 11'h6fc: q = 8'h00; // 0x6fc + 11'h6fd: q = 8'h00; // 0x6fd + 11'h6fe: q = 8'h00; // 0x6fe + 11'h6ff: q = 8'h00; // 0x6ff + 11'h700: q = 8'h00; // 0x700 + 11'h701: q = 8'h00; // 0x701 + 11'h702: q = 8'h00; // 0x702 + 11'h703: q = 8'h00; // 0x703 + 11'h704: q = 8'h00; // 0x704 + 11'h705: q = 8'h00; // 0x705 + 11'h706: q = 8'h00; // 0x706 + 11'h707: q = 8'h00; // 0x707 + 11'h708: q = 8'h00; // 0x708 + 11'h709: q = 8'h00; // 0x709 + 11'h70a: q = 8'h00; // 0x70a + 11'h70b: q = 8'h00; // 0x70b + 11'h70c: q = 8'h00; // 0x70c + 11'h70d: q = 8'h00; // 0x70d + 11'h70e: q = 8'h00; // 0x70e + 11'h70f: q = 8'h00; // 0x70f + 11'h710: q = 8'h00; // 0x710 + 11'h711: q = 8'h00; // 0x711 + 11'h712: q = 8'h00; // 0x712 + 11'h713: q = 8'h00; // 0x713 + 11'h714: q = 8'h00; // 0x714 + 11'h715: q = 8'h00; // 0x715 + 11'h716: q = 8'h00; // 0x716 + 11'h717: q = 8'h00; // 0x717 + 11'h718: q = 8'h00; // 0x718 + 11'h719: q = 8'h00; // 0x719 + 11'h71a: q = 8'h00; // 0x71a + 11'h71b: q = 8'h00; // 0x71b + 11'h71c: q = 8'h00; // 0x71c + 11'h71d: q = 8'h00; // 0x71d + 11'h71e: q = 8'h00; // 0x71e + 11'h71f: q = 8'h00; // 0x71f + 11'h720: q = 8'h00; // 0x720 + 11'h721: q = 8'h00; // 0x721 + 11'h722: q = 8'h00; // 0x722 + 11'h723: q = 8'h00; // 0x723 + 11'h724: q = 8'h00; // 0x724 + 11'h725: q = 8'h00; // 0x725 + 11'h726: q = 8'h00; // 0x726 + 11'h727: q = 8'h00; // 0x727 + 11'h728: q = 8'h00; // 0x728 + 11'h729: q = 8'h00; // 0x729 + 11'h72a: q = 8'h00; // 0x72a + 11'h72b: q = 8'h00; // 0x72b + 11'h72c: q = 8'h00; // 0x72c + 11'h72d: q = 8'h00; // 0x72d + 11'h72e: q = 8'h00; // 0x72e + 11'h72f: q = 8'h00; // 0x72f + 11'h730: q = 8'h00; // 0x730 + 11'h731: q = 8'h00; // 0x731 + 11'h732: q = 8'h00; // 0x732 + 11'h733: q = 8'h00; // 0x733 + 11'h734: q = 8'h00; // 0x734 + 11'h735: q = 8'h00; // 0x735 + 11'h736: q = 8'h00; // 0x736 + 11'h737: q = 8'h00; // 0x737 + 11'h738: q = 8'h00; // 0x738 + 11'h739: q = 8'h00; // 0x739 + 11'h73a: q = 8'h00; // 0x73a + 11'h73b: q = 8'h00; // 0x73b + 11'h73c: q = 8'h00; // 0x73c + 11'h73d: q = 8'h00; // 0x73d + 11'h73e: q = 8'h00; // 0x73e + 11'h73f: q = 8'h00; // 0x73f + 11'h740: q = 8'h00; // 0x740 + 11'h741: q = 8'h00; // 0x741 + 11'h742: q = 8'h00; // 0x742 + 11'h743: q = 8'h00; // 0x743 + 11'h744: q = 8'h00; // 0x744 + 11'h745: q = 8'h00; // 0x745 + 11'h746: q = 8'h00; // 0x746 + 11'h747: q = 8'h00; // 0x747 + 11'h748: q = 8'h00; // 0x748 + 11'h749: q = 8'h00; // 0x749 + 11'h74a: q = 8'h00; // 0x74a + 11'h74b: q = 8'h00; // 0x74b + 11'h74c: q = 8'h00; // 0x74c + 11'h74d: q = 8'h00; // 0x74d + 11'h74e: q = 8'h00; // 0x74e + 11'h74f: q = 8'h00; // 0x74f + 11'h750: q = 8'h00; // 0x750 + 11'h751: q = 8'h00; // 0x751 + 11'h752: q = 8'h00; // 0x752 + 11'h753: q = 8'h00; // 0x753 + 11'h754: q = 8'h00; // 0x754 + 11'h755: q = 8'h00; // 0x755 + 11'h756: q = 8'h00; // 0x756 + 11'h757: q = 8'h00; // 0x757 + 11'h758: q = 8'h00; // 0x758 + 11'h759: q = 8'h00; // 0x759 + 11'h75a: q = 8'h00; // 0x75a + 11'h75b: q = 8'h00; // 0x75b + 11'h75c: q = 8'h00; // 0x75c + 11'h75d: q = 8'h00; // 0x75d + 11'h75e: q = 8'h00; // 0x75e + 11'h75f: q = 8'h00; // 0x75f + 11'h760: q = 8'h00; // 0x760 + 11'h761: q = 8'h00; // 0x761 + 11'h762: q = 8'h00; // 0x762 + 11'h763: q = 8'h00; // 0x763 + 11'h764: q = 8'h00; // 0x764 + 11'h765: q = 8'h00; // 0x765 + 11'h766: q = 8'h00; // 0x766 + 11'h767: q = 8'h00; // 0x767 + 11'h768: q = 8'h00; // 0x768 + 11'h769: q = 8'h00; // 0x769 + 11'h76a: q = 8'h00; // 0x76a + 11'h76b: q = 8'h00; // 0x76b + 11'h76c: q = 8'h00; // 0x76c + 11'h76d: q = 8'h00; // 0x76d + 11'h76e: q = 8'h00; // 0x76e + 11'h76f: q = 8'h00; // 0x76f + 11'h770: q = 8'h00; // 0x770 + 11'h771: q = 8'h00; // 0x771 + 11'h772: q = 8'h00; // 0x772 + 11'h773: q = 8'h00; // 0x773 + 11'h774: q = 8'h00; // 0x774 + 11'h775: q = 8'h00; // 0x775 + 11'h776: q = 8'h00; // 0x776 + 11'h777: q = 8'h00; // 0x777 + 11'h778: q = 8'h00; // 0x778 + 11'h779: q = 8'h00; // 0x779 + 11'h77a: q = 8'h00; // 0x77a + 11'h77b: q = 8'h00; // 0x77b + 11'h77c: q = 8'h00; // 0x77c + 11'h77d: q = 8'h00; // 0x77d + 11'h77e: q = 8'h00; // 0x77e + 11'h77f: q = 8'h00; // 0x77f + 11'h780: q = 8'h00; // 0x780 + 11'h781: q = 8'h00; // 0x781 + 11'h782: q = 8'h00; // 0x782 + 11'h783: q = 8'h00; // 0x783 + 11'h784: q = 8'h00; // 0x784 + 11'h785: q = 8'h00; // 0x785 + 11'h786: q = 8'h00; // 0x786 + 11'h787: q = 8'h00; // 0x787 + 11'h788: q = 8'h00; // 0x788 + 11'h789: q = 8'h00; // 0x789 + 11'h78a: q = 8'h00; // 0x78a + 11'h78b: q = 8'h00; // 0x78b + 11'h78c: q = 8'h00; // 0x78c + 11'h78d: q = 8'h00; // 0x78d + 11'h78e: q = 8'h00; // 0x78e + 11'h78f: q = 8'h00; // 0x78f + 11'h790: q = 8'h00; // 0x790 + 11'h791: q = 8'h00; // 0x791 + 11'h792: q = 8'h00; // 0x792 + 11'h793: q = 8'h00; // 0x793 + 11'h794: q = 8'h00; // 0x794 + 11'h795: q = 8'h00; // 0x795 + 11'h796: q = 8'h00; // 0x796 + 11'h797: q = 8'h00; // 0x797 + 11'h798: q = 8'h00; // 0x798 + 11'h799: q = 8'h00; // 0x799 + 11'h79a: q = 8'h00; // 0x79a + 11'h79b: q = 8'h00; // 0x79b + 11'h79c: q = 8'h00; // 0x79c + 11'h79d: q = 8'h00; // 0x79d + 11'h79e: q = 8'h00; // 0x79e + 11'h79f: q = 8'h00; // 0x79f + 11'h7a0: q = 8'h00; // 0x7a0 + 11'h7a1: q = 8'h00; // 0x7a1 + 11'h7a2: q = 8'h00; // 0x7a2 + 11'h7a3: q = 8'h00; // 0x7a3 + 11'h7a4: q = 8'h00; // 0x7a4 + 11'h7a5: q = 8'h00; // 0x7a5 + 11'h7a6: q = 8'h00; // 0x7a6 + 11'h7a7: q = 8'h00; // 0x7a7 + 11'h7a8: q = 8'h00; // 0x7a8 + 11'h7a9: q = 8'h00; // 0x7a9 + 11'h7aa: q = 8'h00; // 0x7aa + 11'h7ab: q = 8'h00; // 0x7ab + 11'h7ac: q = 8'h00; // 0x7ac + 11'h7ad: q = 8'h00; // 0x7ad + 11'h7ae: q = 8'h00; // 0x7ae + 11'h7af: q = 8'h00; // 0x7af + 11'h7b0: q = 8'h00; // 0x7b0 + 11'h7b1: q = 8'h00; // 0x7b1 + 11'h7b2: q = 8'h00; // 0x7b2 + 11'h7b3: q = 8'h00; // 0x7b3 + 11'h7b4: q = 8'h00; // 0x7b4 + 11'h7b5: q = 8'h00; // 0x7b5 + 11'h7b6: q = 8'h00; // 0x7b6 + 11'h7b7: q = 8'h00; // 0x7b7 + 11'h7b8: q = 8'h00; // 0x7b8 + 11'h7b9: q = 8'h00; // 0x7b9 + 11'h7ba: q = 8'h00; // 0x7ba + 11'h7bb: q = 8'h00; // 0x7bb + 11'h7bc: q = 8'h00; // 0x7bc + 11'h7bd: q = 8'h00; // 0x7bd + 11'h7be: q = 8'h00; // 0x7be + 11'h7bf: q = 8'h00; // 0x7bf + 11'h7c0: q = 8'h00; // 0x7c0 + 11'h7c1: q = 8'h00; // 0x7c1 + 11'h7c2: q = 8'h00; // 0x7c2 + 11'h7c3: q = 8'h00; // 0x7c3 + 11'h7c4: q = 8'h00; // 0x7c4 + 11'h7c5: q = 8'h00; // 0x7c5 + 11'h7c6: q = 8'h00; // 0x7c6 + 11'h7c7: q = 8'h00; // 0x7c7 + 11'h7c8: q = 8'h00; // 0x7c8 + 11'h7c9: q = 8'h00; // 0x7c9 + 11'h7ca: q = 8'h00; // 0x7ca + 11'h7cb: q = 8'h00; // 0x7cb + 11'h7cc: q = 8'h00; // 0x7cc + 11'h7cd: q = 8'h00; // 0x7cd + 11'h7ce: q = 8'h00; // 0x7ce + 11'h7cf: q = 8'h00; // 0x7cf + 11'h7d0: q = 8'h00; // 0x7d0 + 11'h7d1: q = 8'h00; // 0x7d1 + 11'h7d2: q = 8'h00; // 0x7d2 + 11'h7d3: q = 8'h00; // 0x7d3 + 11'h7d4: q = 8'h00; // 0x7d4 + 11'h7d5: q = 8'h00; // 0x7d5 + 11'h7d6: q = 8'h00; // 0x7d6 + 11'h7d7: q = 8'h00; // 0x7d7 + 11'h7d8: q = 8'h00; // 0x7d8 + 11'h7d9: q = 8'h00; // 0x7d9 + 11'h7da: q = 8'h00; // 0x7da + 11'h7db: q = 8'h00; // 0x7db + 11'h7dc: q = 8'h00; // 0x7dc + 11'h7dd: q = 8'h00; // 0x7dd + 11'h7de: q = 8'h00; // 0x7de + 11'h7df: q = 8'h00; // 0x7df + 11'h7e0: q = 8'h00; // 0x7e0 + 11'h7e1: q = 8'h00; // 0x7e1 + 11'h7e2: q = 8'h00; // 0x7e2 + 11'h7e3: q = 8'h00; // 0x7e3 + 11'h7e4: q = 8'h00; // 0x7e4 + 11'h7e5: q = 8'h00; // 0x7e5 + 11'h7e6: q = 8'h00; // 0x7e6 + 11'h7e7: q = 8'h00; // 0x7e7 + 11'h7e8: q = 8'h00; // 0x7e8 + 11'h7e9: q = 8'h00; // 0x7e9 + 11'h7ea: q = 8'h00; // 0x7ea + 11'h7eb: q = 8'h00; // 0x7eb + 11'h7ec: q = 8'h00; // 0x7ec + 11'h7ed: q = 8'h00; // 0x7ed + 11'h7ee: q = 8'h00; // 0x7ee + 11'h7ef: q = 8'h00; // 0x7ef + 11'h7f0: q = 8'h00; // 0x7f0 + 11'h7f1: q = 8'h00; // 0x7f1 + 11'h7f2: q = 8'h00; // 0x7f2 + 11'h7f3: q = 8'h00; // 0x7f3 + 11'h7f4: q = 8'h00; // 0x7f4 + 11'h7f5: q = 8'h00; // 0x7f5 + 11'h7f6: q = 8'h00; // 0x7f6 + 11'h7f7: q = 8'h00; // 0x7f7 + 11'h7f8: q = 8'h00; // 0x7f8 + 11'h7f9: q = 8'h00; // 0x7f9 + 11'h7fa: q = 8'h00; // 0x7fa + 11'h7fb: q = 8'h00; // 0x7fb + 11'h7fc: q = 8'h00; // 0x7fc + 11'h7fd: q = 8'h00; // 0x7fd + 11'h7fe: q = 8'h00; // 0x7fe + 11'h7ff: q = 8'h00; // 0x7ff + endcase diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_hj7_case.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_hj7_case.v new file mode 100644 index 00000000..ad7f1b86 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/Neuer Ordner/rom_hj7_case.v @@ -0,0 +1,2051 @@ + // centipede + case (a) + 11'h000: q = 8'h00; // 0x000 + 11'h001: q = 8'h00; // 0x001 + 11'h002: q = 8'h00; // 0x002 + 11'h003: q = 8'h00; // 0x003 + 11'h004: q = 8'h3c; // 0x004 + 11'h005: q = 8'h7e; // 0x005 + 11'h006: q = 8'h7e; // 0x006 + 11'h007: q = 8'h7e; // 0x007 + 11'h008: q = 8'h7e; // 0x008 + 11'h009: q = 8'h3c; // 0x009 + 11'h00a: q = 8'h18; // 0x00a + 11'h00b: q = 8'h00; // 0x00b + 11'h00c: q = 8'h00; // 0x00c + 11'h00d: q = 8'h00; // 0x00d + 11'h00e: q = 8'h00; // 0x00e + 11'h00f: q = 8'h00; // 0x00f + 11'h010: q = 8'h00; // 0x010 + 11'h011: q = 8'h00; // 0x011 + 11'h012: q = 8'h00; // 0x012 + 11'h013: q = 8'h00; // 0x013 + 11'h014: q = 8'h3c; // 0x014 + 11'h015: q = 8'h7e; // 0x015 + 11'h016: q = 8'h7e; // 0x016 + 11'h017: q = 8'h7e; // 0x017 + 11'h018: q = 8'h7e; // 0x018 + 11'h019: q = 8'h3c; // 0x019 + 11'h01a: q = 8'h18; // 0x01a + 11'h01b: q = 8'h00; // 0x01b + 11'h01c: q = 8'h00; // 0x01c + 11'h01d: q = 8'h00; // 0x01d + 11'h01e: q = 8'h00; // 0x01e + 11'h01f: q = 8'h00; // 0x01f + 11'h020: q = 8'h00; // 0x020 + 11'h021: q = 8'h00; // 0x021 + 11'h022: q = 8'h00; // 0x022 + 11'h023: q = 8'h00; // 0x023 + 11'h024: q = 8'h3c; // 0x024 + 11'h025: q = 8'h7e; // 0x025 + 11'h026: q = 8'h7e; // 0x026 + 11'h027: q = 8'h7e; // 0x027 + 11'h028: q = 8'h7e; // 0x028 + 11'h029: q = 8'h3c; // 0x029 + 11'h02a: q = 8'h18; // 0x02a + 11'h02b: q = 8'h00; // 0x02b + 11'h02c: q = 8'h00; // 0x02c + 11'h02d: q = 8'h00; // 0x02d + 11'h02e: q = 8'h00; // 0x02e + 11'h02f: q = 8'h00; // 0x02f + 11'h030: q = 8'h00; // 0x030 + 11'h031: q = 8'h00; // 0x031 + 11'h032: q = 8'h00; // 0x032 + 11'h033: q = 8'h00; // 0x033 + 11'h034: q = 8'h3c; // 0x034 + 11'h035: q = 8'h7e; // 0x035 + 11'h036: q = 8'h7e; // 0x036 + 11'h037: q = 8'h7e; // 0x037 + 11'h038: q = 8'h7e; // 0x038 + 11'h039: q = 8'h3c; // 0x039 + 11'h03a: q = 8'h18; // 0x03a + 11'h03b: q = 8'h00; // 0x03b + 11'h03c: q = 8'h00; // 0x03c + 11'h03d: q = 8'h00; // 0x03d + 11'h03e: q = 8'h00; // 0x03e + 11'h03f: q = 8'h00; // 0x03f + 11'h040: q = 8'h00; // 0x040 + 11'h041: q = 8'h00; // 0x041 + 11'h042: q = 8'h00; // 0x042 + 11'h043: q = 8'h00; // 0x043 + 11'h044: q = 8'h38; // 0x044 + 11'h045: q = 8'h7c; // 0x045 + 11'h046: q = 8'hfe; // 0x046 + 11'h047: q = 8'hfe; // 0x047 + 11'h048: q = 8'hfe; // 0x048 + 11'h049: q = 8'h7c; // 0x049 + 11'h04a: q = 8'h38; // 0x04a + 11'h04b: q = 8'h00; // 0x04b + 11'h04c: q = 8'h00; // 0x04c + 11'h04d: q = 8'h00; // 0x04d + 11'h04e: q = 8'h00; // 0x04e + 11'h04f: q = 8'h00; // 0x04f + 11'h050: q = 8'h00; // 0x050 + 11'h051: q = 8'h00; // 0x051 + 11'h052: q = 8'h00; // 0x052 + 11'h053: q = 8'h00; // 0x053 + 11'h054: q = 8'h38; // 0x054 + 11'h055: q = 8'h7c; // 0x055 + 11'h056: q = 8'hfe; // 0x056 + 11'h057: q = 8'hfe; // 0x057 + 11'h058: q = 8'hfe; // 0x058 + 11'h059: q = 8'h7c; // 0x059 + 11'h05a: q = 8'h38; // 0x05a + 11'h05b: q = 8'h00; // 0x05b + 11'h05c: q = 8'h00; // 0x05c + 11'h05d: q = 8'h00; // 0x05d + 11'h05e: q = 8'h00; // 0x05e + 11'h05f: q = 8'h00; // 0x05f + 11'h060: q = 8'h00; // 0x060 + 11'h061: q = 8'h00; // 0x061 + 11'h062: q = 8'h00; // 0x062 + 11'h063: q = 8'h00; // 0x063 + 11'h064: q = 8'h00; // 0x064 + 11'h065: q = 8'h78; // 0x065 + 11'h066: q = 8'hfc; // 0x066 + 11'h067: q = 8'hfe; // 0x067 + 11'h068: q = 8'hfe; // 0x068 + 11'h069: q = 8'hfc; // 0x069 + 11'h06a: q = 8'h78; // 0x06a + 11'h06b: q = 8'h00; // 0x06b + 11'h06c: q = 8'h00; // 0x06c + 11'h06d: q = 8'h00; // 0x06d + 11'h06e: q = 8'h00; // 0x06e + 11'h06f: q = 8'h00; // 0x06f + 11'h070: q = 8'h00; // 0x070 + 11'h071: q = 8'h00; // 0x071 + 11'h072: q = 8'h00; // 0x072 + 11'h073: q = 8'h00; // 0x073 + 11'h074: q = 8'h00; // 0x074 + 11'h075: q = 8'h78; // 0x075 + 11'h076: q = 8'hfc; // 0x076 + 11'h077: q = 8'hfe; // 0x077 + 11'h078: q = 8'hfe; // 0x078 + 11'h079: q = 8'hfc; // 0x079 + 11'h07a: q = 8'h78; // 0x07a + 11'h07b: q = 8'h00; // 0x07b + 11'h07c: q = 8'h00; // 0x07c + 11'h07d: q = 8'h00; // 0x07d + 11'h07e: q = 8'h00; // 0x07e + 11'h07f: q = 8'h00; // 0x07f + 11'h080: q = 8'h00; // 0x080 + 11'h081: q = 8'h00; // 0x081 + 11'h082: q = 8'h00; // 0x082 + 11'h083: q = 8'h00; // 0x083 + 11'h084: q = 8'h00; // 0x084 + 11'h085: q = 8'h0c; // 0x085 + 11'h086: q = 8'h0c; // 0x086 + 11'h087: q = 8'h00; // 0x087 + 11'h088: q = 8'h0c; // 0x088 + 11'h089: q = 8'h0c; // 0x089 + 11'h08a: q = 8'h00; // 0x08a + 11'h08b: q = 8'h00; // 0x08b + 11'h08c: q = 8'h00; // 0x08c + 11'h08d: q = 8'h00; // 0x08d + 11'h08e: q = 8'h00; // 0x08e + 11'h08f: q = 8'h00; // 0x08f + 11'h090: q = 8'h00; // 0x090 + 11'h091: q = 8'h00; // 0x091 + 11'h092: q = 8'h00; // 0x092 + 11'h093: q = 8'h00; // 0x093 + 11'h094: q = 8'h00; // 0x094 + 11'h095: q = 8'h00; // 0x095 + 11'h096: q = 8'h00; // 0x096 + 11'h097: q = 8'h00; // 0x097 + 11'h098: q = 8'h00; // 0x098 + 11'h099: q = 8'h00; // 0x099 + 11'h09a: q = 8'h00; // 0x09a + 11'h09b: q = 8'h00; // 0x09b + 11'h09c: q = 8'h00; // 0x09c + 11'h09d: q = 8'h00; // 0x09d + 11'h09e: q = 8'h00; // 0x09e + 11'h09f: q = 8'h00; // 0x09f + 11'h0a0: q = 8'h00; // 0x0a0 + 11'h0a1: q = 8'h00; // 0x0a1 + 11'h0a2: q = 8'h00; // 0x0a2 + 11'h0a3: q = 8'h00; // 0x0a3 + 11'h0a4: q = 8'h00; // 0x0a4 + 11'h0a5: q = 8'h70; // 0x0a5 + 11'h0a6: q = 8'hf8; // 0x0a6 + 11'h0a7: q = 8'hfc; // 0x0a7 + 11'h0a8: q = 8'hf8; // 0x0a8 + 11'h0a9: q = 8'h70; // 0x0a9 + 11'h0aa: q = 8'h00; // 0x0aa + 11'h0ab: q = 8'h00; // 0x0ab + 11'h0ac: q = 8'h00; // 0x0ac + 11'h0ad: q = 8'h00; // 0x0ad + 11'h0ae: q = 8'h00; // 0x0ae + 11'h0af: q = 8'h00; // 0x0af + 11'h0b0: q = 8'h00; // 0x0b0 + 11'h0b1: q = 8'h00; // 0x0b1 + 11'h0b2: q = 8'h00; // 0x0b2 + 11'h0b3: q = 8'h00; // 0x0b3 + 11'h0b4: q = 8'h00; // 0x0b4 + 11'h0b5: q = 8'h70; // 0x0b5 + 11'h0b6: q = 8'hf8; // 0x0b6 + 11'h0b7: q = 8'hfc; // 0x0b7 + 11'h0b8: q = 8'hf8; // 0x0b8 + 11'h0b9: q = 8'h70; // 0x0b9 + 11'h0ba: q = 8'h00; // 0x0ba + 11'h0bb: q = 8'h00; // 0x0bb + 11'h0bc: q = 8'h00; // 0x0bc + 11'h0bd: q = 8'h00; // 0x0bd + 11'h0be: q = 8'h00; // 0x0be + 11'h0bf: q = 8'h00; // 0x0bf + 11'h0c0: q = 8'h00; // 0x0c0 + 11'h0c1: q = 8'h00; // 0x0c1 + 11'h0c2: q = 8'h00; // 0x0c2 + 11'h0c3: q = 8'h00; // 0x0c3 + 11'h0c4: q = 8'h00; // 0x0c4 + 11'h0c5: q = 8'h70; // 0x0c5 + 11'h0c6: q = 8'hf8; // 0x0c6 + 11'h0c7: q = 8'hfc; // 0x0c7 + 11'h0c8: q = 8'hf8; // 0x0c8 + 11'h0c9: q = 8'h70; // 0x0c9 + 11'h0ca: q = 8'h00; // 0x0ca + 11'h0cb: q = 8'h00; // 0x0cb + 11'h0cc: q = 8'h00; // 0x0cc + 11'h0cd: q = 8'h00; // 0x0cd + 11'h0ce: q = 8'h00; // 0x0ce + 11'h0cf: q = 8'h00; // 0x0cf + 11'h0d0: q = 8'h00; // 0x0d0 + 11'h0d1: q = 8'h00; // 0x0d1 + 11'h0d2: q = 8'h00; // 0x0d2 + 11'h0d3: q = 8'h00; // 0x0d3 + 11'h0d4: q = 8'h00; // 0x0d4 + 11'h0d5: q = 8'h70; // 0x0d5 + 11'h0d6: q = 8'hf8; // 0x0d6 + 11'h0d7: q = 8'hfc; // 0x0d7 + 11'h0d8: q = 8'hf8; // 0x0d8 + 11'h0d9: q = 8'h70; // 0x0d9 + 11'h0da: q = 8'h00; // 0x0da + 11'h0db: q = 8'h00; // 0x0db + 11'h0dc: q = 8'h00; // 0x0dc + 11'h0dd: q = 8'h00; // 0x0dd + 11'h0de: q = 8'h00; // 0x0de + 11'h0df: q = 8'h00; // 0x0df + 11'h0e0: q = 8'h00; // 0x0e0 + 11'h0e1: q = 8'h00; // 0x0e1 + 11'h0e2: q = 8'h00; // 0x0e2 + 11'h0e3: q = 8'h00; // 0x0e3 + 11'h0e4: q = 8'h04; // 0x0e4 + 11'h0e5: q = 8'h86; // 0x0e5 + 11'h0e6: q = 8'h70; // 0x0e6 + 11'h0e7: q = 8'h80; // 0x0e7 + 11'h0e8: q = 8'h70; // 0x0e8 + 11'h0e9: q = 8'h00; // 0x0e9 + 11'h0ea: q = 8'h40; // 0x0ea + 11'h0eb: q = 8'h80; // 0x0eb + 11'h0ec: q = 8'h00; // 0x0ec + 11'h0ed: q = 8'h00; // 0x0ed + 11'h0ee: q = 8'h00; // 0x0ee + 11'h0ef: q = 8'h00; // 0x0ef + 11'h0f0: q = 8'h00; // 0x0f0 + 11'h0f1: q = 8'h00; // 0x0f1 + 11'h0f2: q = 8'h00; // 0x0f2 + 11'h0f3: q = 8'h00; // 0x0f3 + 11'h0f4: q = 8'h04; // 0x0f4 + 11'h0f5: q = 8'h06; // 0x0f5 + 11'h0f6: q = 8'h60; // 0x0f6 + 11'h0f7: q = 8'h90; // 0x0f7 + 11'h0f8: q = 8'h20; // 0x0f8 + 11'h0f9: q = 8'h40; // 0x0f9 + 11'h0fa: q = 8'h80; // 0x0fa + 11'h0fb: q = 8'h40; // 0x0fb + 11'h0fc: q = 8'h00; // 0x0fc + 11'h0fd: q = 8'h00; // 0x0fd + 11'h0fe: q = 8'h00; // 0x0fe + 11'h0ff: q = 8'h00; // 0x0ff + 11'h100: q = 8'h22; // 0x100 + 11'h101: q = 8'h77; // 0x101 + 11'h102: q = 8'hea; // 0x102 + 11'h103: q = 8'h7c; // 0x103 + 11'h104: q = 8'h3e; // 0x104 + 11'h105: q = 8'h7f; // 0x105 + 11'h106: q = 8'hbe; // 0x106 + 11'h107: q = 8'h7c; // 0x107 + 11'h108: q = 8'h3e; // 0x108 + 11'h109: q = 8'h7f; // 0x109 + 11'h10a: q = 8'hbe; // 0x10a + 11'h10b: q = 8'h7c; // 0x10b + 11'h10c: q = 8'h1e; // 0x10c + 11'h10d: q = 8'h7f; // 0x10d + 11'h10e: q = 8'hea; // 0x10e + 11'h10f: q = 8'h44; // 0x10f + 11'h110: q = 8'h5c; // 0x110 + 11'h111: q = 8'hec; // 0x111 + 11'h112: q = 8'h7e; // 0x112 + 11'h113: q = 8'hff; // 0x113 + 11'h114: q = 8'h7e; // 0x114 + 11'h115: q = 8'hec; // 0x115 + 11'h116: q = 8'h5e; // 0x116 + 11'h117: q = 8'h3b; // 0x117 + 11'h118: q = 8'h3b; // 0x118 + 11'h119: q = 8'h5e; // 0x119 + 11'h11a: q = 8'hec; // 0x11a + 11'h11b: q = 8'h7e; // 0x11b + 11'h11c: q = 8'hff; // 0x11c + 11'h11d: q = 8'h7e; // 0x11d + 11'h11e: q = 8'hec; // 0x11e + 11'h11f: q = 8'h5c; // 0x11f + 11'h120: q = 8'h00; // 0x120 + 11'h121: q = 8'h24; // 0x121 + 11'h122: q = 8'h76; // 0x122 + 11'h123: q = 8'h2c; // 0x123 + 11'h124: q = 8'h3c; // 0x124 + 11'h125: q = 8'h14; // 0x125 + 11'h126: q = 8'h2e; // 0x126 + 11'h127: q = 8'h5f; // 0x127 + 11'h128: q = 8'h73; // 0x128 + 11'h129: q = 8'h3e; // 0x129 + 11'h12a: q = 8'h04; // 0x12a + 11'h12b: q = 8'h3c; // 0x12b + 11'h12c: q = 8'h2c; // 0x12c + 11'h12d: q = 8'h76; // 0x12d + 11'h12e: q = 8'h24; // 0x12e + 11'h12f: q = 8'h00; // 0x12f + 11'h130: q = 8'h00; // 0x130 + 11'h131: q = 8'h00; // 0x131 + 11'h132: q = 8'h00; // 0x132 + 11'h133: q = 8'h00; // 0x133 + 11'h134: q = 8'h18; // 0x134 + 11'h135: q = 8'h08; // 0x135 + 11'h136: q = 8'h2c; // 0x136 + 11'h137: q = 8'h12; // 0x137 + 11'h138: q = 8'h24; // 0x138 + 11'h139: q = 8'h1a; // 0x139 + 11'h13a: q = 8'h01; // 0x13a + 11'h13b: q = 8'h0c; // 0x13b + 11'h13c: q = 8'h00; // 0x13c + 11'h13d: q = 8'h00; // 0x13d + 11'h13e: q = 8'h00; // 0x13e + 11'h13f: q = 8'h00; // 0x13f + 11'h140: q = 8'h00; // 0x140 + 11'h141: q = 8'h00; // 0x141 + 11'h142: q = 8'h00; // 0x142 + 11'h143: q = 8'h00; // 0x143 + 11'h144: q = 8'h00; // 0x144 + 11'h145: q = 8'h00; // 0x145 + 11'h146: q = 8'h00; // 0x146 + 11'h147: q = 8'h00; // 0x147 + 11'h148: q = 8'h00; // 0x148 + 11'h149: q = 8'h00; // 0x149 + 11'h14a: q = 8'h00; // 0x14a + 11'h14b: q = 8'h00; // 0x14b + 11'h14c: q = 8'h00; // 0x14c + 11'h14d: q = 8'h00; // 0x14d + 11'h14e: q = 8'h00; // 0x14e + 11'h14f: q = 8'h00; // 0x14f + 11'h150: q = 8'h00; // 0x150 + 11'h151: q = 8'h00; // 0x151 + 11'h152: q = 8'h00; // 0x152 + 11'h153: q = 8'h00; // 0x153 + 11'h154: q = 8'h00; // 0x154 + 11'h155: q = 8'h00; // 0x155 + 11'h156: q = 8'h00; // 0x156 + 11'h157: q = 8'h00; // 0x157 + 11'h158: q = 8'h00; // 0x158 + 11'h159: q = 8'h00; // 0x159 + 11'h15a: q = 8'h00; // 0x15a + 11'h15b: q = 8'h00; // 0x15b + 11'h15c: q = 8'h00; // 0x15c + 11'h15d: q = 8'h00; // 0x15d + 11'h15e: q = 8'h00; // 0x15e + 11'h15f: q = 8'h00; // 0x15f + 11'h160: q = 8'h00; // 0x160 + 11'h161: q = 8'h18; // 0x161 + 11'h162: q = 8'h1c; // 0x162 + 11'h163: q = 8'h1c; // 0x163 + 11'h164: q = 8'h0c; // 0x164 + 11'h165: q = 8'h3c; // 0x165 + 11'h166: q = 8'h3c; // 0x166 + 11'h167: q = 8'h18; // 0x167 + 11'h168: q = 8'h2c; // 0x168 + 11'h169: q = 8'h18; // 0x169 + 11'h16a: q = 8'h34; // 0x16a + 11'h16b: q = 8'h2c; // 0x16b + 11'h16c: q = 8'h1c; // 0x16c + 11'h16d: q = 8'h3c; // 0x16d + 11'h16e: q = 8'h38; // 0x16e + 11'h16f: q = 8'h18; // 0x16f + 11'h170: q = 8'h00; // 0x170 + 11'h171: q = 8'h06; // 0x171 + 11'h172: q = 8'h07; // 0x172 + 11'h173: q = 8'h07; // 0x173 + 11'h174: q = 8'h0f; // 0x174 + 11'h175: q = 8'h0f; // 0x175 + 11'h176: q = 8'h0f; // 0x176 + 11'h177: q = 8'h04; // 0x177 + 11'h178: q = 8'h0d; // 0x178 + 11'h179: q = 8'h0b; // 0x179 + 11'h17a: q = 8'h07; // 0x17a + 11'h17b: q = 8'h0f; // 0x17b + 11'h17c: q = 8'h0f; // 0x17c + 11'h17d: q = 8'h0f; // 0x17d + 11'h17e: q = 8'h0e; // 0x17e + 11'h17f: q = 8'h06; // 0x17f + 11'h180: q = 8'h00; // 0x180 + 11'h181: q = 8'h00; // 0x181 + 11'h182: q = 8'h00; // 0x182 + 11'h183: q = 8'h00; // 0x183 + 11'h184: q = 8'h02; // 0x184 + 11'h185: q = 8'h03; // 0x185 + 11'h186: q = 8'h00; // 0x186 + 11'h187: q = 8'h03; // 0x187 + 11'h188: q = 8'h02; // 0x188 + 11'h189: q = 8'h00; // 0x189 + 11'h18a: q = 8'h00; // 0x18a + 11'h18b: q = 8'h00; // 0x18b + 11'h18c: q = 8'h00; // 0x18c + 11'h18d: q = 8'h00; // 0x18d + 11'h18e: q = 8'h00; // 0x18e + 11'h18f: q = 8'h00; // 0x18f + 11'h190: q = 8'h00; // 0x190 + 11'h191: q = 8'h00; // 0x191 + 11'h192: q = 8'h00; // 0x192 + 11'h193: q = 8'h02; // 0x193 + 11'h194: q = 8'h03; // 0x194 + 11'h195: q = 8'h00; // 0x195 + 11'h196: q = 8'h03; // 0x196 + 11'h197: q = 8'h02; // 0x197 + 11'h198: q = 8'h00; // 0x198 + 11'h199: q = 8'h00; // 0x199 + 11'h19a: q = 8'h00; // 0x19a + 11'h19b: q = 8'h00; // 0x19b + 11'h19c: q = 8'h00; // 0x19c + 11'h19d: q = 8'h00; // 0x19d + 11'h19e: q = 8'h00; // 0x19e + 11'h19f: q = 8'h00; // 0x19f + 11'h1a0: q = 8'h00; // 0x1a0 + 11'h1a1: q = 8'h00; // 0x1a1 + 11'h1a2: q = 8'h00; // 0x1a2 + 11'h1a3: q = 8'h00; // 0x1a3 + 11'h1a4: q = 8'h00; // 0x1a4 + 11'h1a5: q = 8'h00; // 0x1a5 + 11'h1a6: q = 8'h00; // 0x1a6 + 11'h1a7: q = 8'h00; // 0x1a7 + 11'h1a8: q = 8'h00; // 0x1a8 + 11'h1a9: q = 8'h00; // 0x1a9 + 11'h1aa: q = 8'h00; // 0x1aa + 11'h1ab: q = 8'h00; // 0x1ab + 11'h1ac: q = 8'h00; // 0x1ac + 11'h1ad: q = 8'h00; // 0x1ad + 11'h1ae: q = 8'h00; // 0x1ae + 11'h1af: q = 8'h00; // 0x1af + 11'h1b0: q = 8'h00; // 0x1b0 + 11'h1b1: q = 8'h00; // 0x1b1 + 11'h1b2: q = 8'h00; // 0x1b2 + 11'h1b3: q = 8'h00; // 0x1b3 + 11'h1b4: q = 8'h00; // 0x1b4 + 11'h1b5: q = 8'h00; // 0x1b5 + 11'h1b6: q = 8'h00; // 0x1b6 + 11'h1b7: q = 8'h00; // 0x1b7 + 11'h1b8: q = 8'h00; // 0x1b8 + 11'h1b9: q = 8'h00; // 0x1b9 + 11'h1ba: q = 8'h00; // 0x1ba + 11'h1bb: q = 8'h00; // 0x1bb + 11'h1bc: q = 8'h00; // 0x1bc + 11'h1bd: q = 8'h00; // 0x1bd + 11'h1be: q = 8'h00; // 0x1be + 11'h1bf: q = 8'h00; // 0x1bf + 11'h1c0: q = 8'h00; // 0x1c0 + 11'h1c1: q = 8'h00; // 0x1c1 + 11'h1c2: q = 8'h00; // 0x1c2 + 11'h1c3: q = 8'h00; // 0x1c3 + 11'h1c4: q = 8'h00; // 0x1c4 + 11'h1c5: q = 8'h00; // 0x1c5 + 11'h1c6: q = 8'h00; // 0x1c6 + 11'h1c7: q = 8'h00; // 0x1c7 + 11'h1c8: q = 8'h00; // 0x1c8 + 11'h1c9: q = 8'h00; // 0x1c9 + 11'h1ca: q = 8'h00; // 0x1ca + 11'h1cb: q = 8'h00; // 0x1cb + 11'h1cc: q = 8'h00; // 0x1cc + 11'h1cd: q = 8'h00; // 0x1cd + 11'h1ce: q = 8'h00; // 0x1ce + 11'h1cf: q = 8'h00; // 0x1cf + 11'h1d0: q = 8'h00; // 0x1d0 + 11'h1d1: q = 8'h00; // 0x1d1 + 11'h1d2: q = 8'h00; // 0x1d2 + 11'h1d3: q = 8'h00; // 0x1d3 + 11'h1d4: q = 8'h4a; // 0x1d4 + 11'h1d5: q = 8'h00; // 0x1d5 + 11'h1d6: q = 8'h42; // 0x1d6 + 11'h1d7: q = 8'h01; // 0x1d7 + 11'h1d8: q = 8'h80; // 0x1d8 + 11'h1d9: q = 8'h02; // 0x1d9 + 11'h1da: q = 8'h89; // 0x1da + 11'h1db: q = 8'h52; // 0x1db + 11'h1dc: q = 8'h00; // 0x1dc + 11'h1dd: q = 8'h00; // 0x1dd + 11'h1de: q = 8'h00; // 0x1de + 11'h1df: q = 8'h00; // 0x1df + 11'h1e0: q = 8'h00; // 0x1e0 + 11'h1e1: q = 8'h00; // 0x1e1 + 11'h1e2: q = 8'h00; // 0x1e2 + 11'h1e3: q = 8'h00; // 0x1e3 + 11'h1e4: q = 8'h9d; // 0x1e4 + 11'h1e5: q = 8'hb4; // 0x1e5 + 11'h1e6: q = 8'h49; // 0x1e6 + 11'h1e7: q = 8'ha6; // 0x1e7 + 11'h1e8: q = 8'hc2; // 0x1e8 + 11'h1e9: q = 8'ha1; // 0x1e9 + 11'h1ea: q = 8'h6a; // 0x1ea + 11'h1eb: q = 8'h45; // 0x1eb + 11'h1ec: q = 8'h00; // 0x1ec + 11'h1ed: q = 8'h00; // 0x1ed + 11'h1ee: q = 8'h00; // 0x1ee + 11'h1ef: q = 8'h00; // 0x1ef + 11'h1f0: q = 8'h00; // 0x1f0 + 11'h1f1: q = 8'h00; // 0x1f1 + 11'h1f2: q = 8'h00; // 0x1f2 + 11'h1f3: q = 8'h00; // 0x1f3 + 11'h1f4: q = 8'h00; // 0x1f4 + 11'h1f5: q = 8'hfe; // 0x1f5 + 11'h1f6: q = 8'h7f; // 0x1f6 + 11'h1f7: q = 8'he7; // 0x1f7 + 11'h1f8: q = 8'h67; // 0x1f8 + 11'h1f9: q = 8'hfe; // 0x1f9 + 11'h1fa: q = 8'h7f; // 0x1fa + 11'h1fb: q = 8'h2a; // 0x1fb + 11'h1fc: q = 8'h00; // 0x1fc + 11'h1fd: q = 8'h00; // 0x1fd + 11'h1fe: q = 8'h00; // 0x1fe + 11'h1ff: q = 8'h00; // 0x1ff + 11'h200: q = 8'h00; // 0x200 + 11'h201: q = 8'h00; // 0x201 + 11'h202: q = 8'h00; // 0x202 + 11'h203: q = 8'h00; // 0x203 + 11'h204: q = 8'h00; // 0x204 + 11'h205: q = 8'h00; // 0x205 + 11'h206: q = 8'h00; // 0x206 + 11'h207: q = 8'h00; // 0x207 + 11'h208: q = 8'hf8; // 0x208 + 11'h209: q = 8'hfc; // 0x209 + 11'h20a: q = 8'h26; // 0x20a + 11'h20b: q = 8'h22; // 0x20b + 11'h20c: q = 8'h26; // 0x20c + 11'h20d: q = 8'hfc; // 0x20d + 11'h20e: q = 8'hf8; // 0x20e + 11'h20f: q = 8'h00; // 0x20f + 11'h210: q = 8'hfe; // 0x210 + 11'h211: q = 8'hfe; // 0x211 + 11'h212: q = 8'h92; // 0x212 + 11'h213: q = 8'h92; // 0x213 + 11'h214: q = 8'h92; // 0x214 + 11'h215: q = 8'hfe; // 0x215 + 11'h216: q = 8'h6c; // 0x216 + 11'h217: q = 8'h00; // 0x217 + 11'h218: q = 8'h38; // 0x218 + 11'h219: q = 8'h7c; // 0x219 + 11'h21a: q = 8'hc6; // 0x21a + 11'h21b: q = 8'h82; // 0x21b + 11'h21c: q = 8'h82; // 0x21c + 11'h21d: q = 8'hc6; // 0x21d + 11'h21e: q = 8'h44; // 0x21e + 11'h21f: q = 8'h00; // 0x21f + 11'h220: q = 8'hfe; // 0x220 + 11'h221: q = 8'hfe; // 0x221 + 11'h222: q = 8'h82; // 0x222 + 11'h223: q = 8'h82; // 0x223 + 11'h224: q = 8'hc6; // 0x224 + 11'h225: q = 8'h7c; // 0x225 + 11'h226: q = 8'h38; // 0x226 + 11'h227: q = 8'h00; // 0x227 + 11'h228: q = 8'hfe; // 0x228 + 11'h229: q = 8'hfe; // 0x229 + 11'h22a: q = 8'h92; // 0x22a + 11'h22b: q = 8'h92; // 0x22b + 11'h22c: q = 8'h92; // 0x22c + 11'h22d: q = 8'h82; // 0x22d + 11'h22e: q = 8'h80; // 0x22e + 11'h22f: q = 8'h00; // 0x22f + 11'h230: q = 8'hfe; // 0x230 + 11'h231: q = 8'hfe; // 0x231 + 11'h232: q = 8'h12; // 0x232 + 11'h233: q = 8'h12; // 0x233 + 11'h234: q = 8'h12; // 0x234 + 11'h235: q = 8'h12; // 0x235 + 11'h236: q = 8'h02; // 0x236 + 11'h237: q = 8'h00; // 0x237 + 11'h238: q = 8'h38; // 0x238 + 11'h239: q = 8'h7c; // 0x239 + 11'h23a: q = 8'hc6; // 0x23a + 11'h23b: q = 8'h82; // 0x23b + 11'h23c: q = 8'h92; // 0x23c + 11'h23d: q = 8'hf2; // 0x23d + 11'h23e: q = 8'hf2; // 0x23e + 11'h23f: q = 8'h00; // 0x23f + 11'h240: q = 8'hfe; // 0x240 + 11'h241: q = 8'hfe; // 0x241 + 11'h242: q = 8'h10; // 0x242 + 11'h243: q = 8'h10; // 0x243 + 11'h244: q = 8'h10; // 0x244 + 11'h245: q = 8'hfe; // 0x245 + 11'h246: q = 8'hfe; // 0x246 + 11'h247: q = 8'h00; // 0x247 + 11'h248: q = 8'h82; // 0x248 + 11'h249: q = 8'h82; // 0x249 + 11'h24a: q = 8'hfe; // 0x24a + 11'h24b: q = 8'hfe; // 0x24b + 11'h24c: q = 8'h82; // 0x24c + 11'h24d: q = 8'h82; // 0x24d + 11'h24e: q = 8'h00; // 0x24e + 11'h24f: q = 8'h00; // 0x24f + 11'h250: q = 8'h40; // 0x250 + 11'h251: q = 8'hc0; // 0x251 + 11'h252: q = 8'h80; // 0x252 + 11'h253: q = 8'h80; // 0x253 + 11'h254: q = 8'h80; // 0x254 + 11'h255: q = 8'hfe; // 0x255 + 11'h256: q = 8'h7e; // 0x256 + 11'h257: q = 8'h00; // 0x257 + 11'h258: q = 8'hfe; // 0x258 + 11'h259: q = 8'hfe; // 0x259 + 11'h25a: q = 8'h30; // 0x25a + 11'h25b: q = 8'h78; // 0x25b + 11'h25c: q = 8'hec; // 0x25c + 11'h25d: q = 8'hc6; // 0x25d + 11'h25e: q = 8'h82; // 0x25e + 11'h25f: q = 8'h00; // 0x25f + 11'h260: q = 8'hfe; // 0x260 + 11'h261: q = 8'hfe; // 0x261 + 11'h262: q = 8'h80; // 0x262 + 11'h263: q = 8'h80; // 0x263 + 11'h264: q = 8'h80; // 0x264 + 11'h265: q = 8'h80; // 0x265 + 11'h266: q = 8'h80; // 0x266 + 11'h267: q = 8'h00; // 0x267 + 11'h268: q = 8'hfe; // 0x268 + 11'h269: q = 8'hfe; // 0x269 + 11'h26a: q = 8'h1c; // 0x26a + 11'h26b: q = 8'h38; // 0x26b + 11'h26c: q = 8'h1c; // 0x26c + 11'h26d: q = 8'hfe; // 0x26d + 11'h26e: q = 8'hfe; // 0x26e + 11'h26f: q = 8'h00; // 0x26f + 11'h270: q = 8'hfe; // 0x270 + 11'h271: q = 8'hfe; // 0x271 + 11'h272: q = 8'h1c; // 0x272 + 11'h273: q = 8'h38; // 0x273 + 11'h274: q = 8'h70; // 0x274 + 11'h275: q = 8'hfe; // 0x275 + 11'h276: q = 8'hfe; // 0x276 + 11'h277: q = 8'h00; // 0x277 + 11'h278: q = 8'h7c; // 0x278 + 11'h279: q = 8'hfe; // 0x279 + 11'h27a: q = 8'h82; // 0x27a + 11'h27b: q = 8'h82; // 0x27b + 11'h27c: q = 8'h82; // 0x27c + 11'h27d: q = 8'hfe; // 0x27d + 11'h27e: q = 8'h7c; // 0x27e + 11'h27f: q = 8'h00; // 0x27f + 11'h280: q = 8'hfe; // 0x280 + 11'h281: q = 8'hfe; // 0x281 + 11'h282: q = 8'h22; // 0x282 + 11'h283: q = 8'h22; // 0x283 + 11'h284: q = 8'h22; // 0x284 + 11'h285: q = 8'h3e; // 0x285 + 11'h286: q = 8'h1c; // 0x286 + 11'h287: q = 8'h00; // 0x287 + 11'h288: q = 8'h7c; // 0x288 + 11'h289: q = 8'hfe; // 0x289 + 11'h28a: q = 8'h82; // 0x28a + 11'h28b: q = 8'ha2; // 0x28b + 11'h28c: q = 8'he2; // 0x28c + 11'h28d: q = 8'h7e; // 0x28d + 11'h28e: q = 8'hbc; // 0x28e + 11'h28f: q = 8'h00; // 0x28f + 11'h290: q = 8'hfe; // 0x290 + 11'h291: q = 8'hfe; // 0x291 + 11'h292: q = 8'h22; // 0x292 + 11'h293: q = 8'h62; // 0x293 + 11'h294: q = 8'hf2; // 0x294 + 11'h295: q = 8'hde; // 0x295 + 11'h296: q = 8'h8c; // 0x296 + 11'h297: q = 8'h00; // 0x297 + 11'h298: q = 8'h4c; // 0x298 + 11'h299: q = 8'hde; // 0x299 + 11'h29a: q = 8'h92; // 0x29a + 11'h29b: q = 8'h92; // 0x29b + 11'h29c: q = 8'h96; // 0x29c + 11'h29d: q = 8'hf4; // 0x29d + 11'h29e: q = 8'h60; // 0x29e + 11'h29f: q = 8'h00; // 0x29f + 11'h2a0: q = 8'h02; // 0x2a0 + 11'h2a1: q = 8'h02; // 0x2a1 + 11'h2a2: q = 8'hfe; // 0x2a2 + 11'h2a3: q = 8'hfe; // 0x2a3 + 11'h2a4: q = 8'h02; // 0x2a4 + 11'h2a5: q = 8'h02; // 0x2a5 + 11'h2a6: q = 8'h00; // 0x2a6 + 11'h2a7: q = 8'h00; // 0x2a7 + 11'h2a8: q = 8'h7e; // 0x2a8 + 11'h2a9: q = 8'hfe; // 0x2a9 + 11'h2aa: q = 8'h80; // 0x2aa + 11'h2ab: q = 8'h80; // 0x2ab + 11'h2ac: q = 8'h80; // 0x2ac + 11'h2ad: q = 8'hfe; // 0x2ad + 11'h2ae: q = 8'h7e; // 0x2ae + 11'h2af: q = 8'h00; // 0x2af + 11'h2b0: q = 8'h1e; // 0x2b0 + 11'h2b1: q = 8'h3e; // 0x2b1 + 11'h2b2: q = 8'h70; // 0x2b2 + 11'h2b3: q = 8'he0; // 0x2b3 + 11'h2b4: q = 8'h70; // 0x2b4 + 11'h2b5: q = 8'h3e; // 0x2b5 + 11'h2b6: q = 8'h1e; // 0x2b6 + 11'h2b7: q = 8'h00; // 0x2b7 + 11'h2b8: q = 8'hfe; // 0x2b8 + 11'h2b9: q = 8'hfe; // 0x2b9 + 11'h2ba: q = 8'h70; // 0x2ba + 11'h2bb: q = 8'h38; // 0x2bb + 11'h2bc: q = 8'h70; // 0x2bc + 11'h2bd: q = 8'hfe; // 0x2bd + 11'h2be: q = 8'hfe; // 0x2be + 11'h2bf: q = 8'h00; // 0x2bf + 11'h2c0: q = 8'hc6; // 0x2c0 + 11'h2c1: q = 8'hee; // 0x2c1 + 11'h2c2: q = 8'h7c; // 0x2c2 + 11'h2c3: q = 8'h38; // 0x2c3 + 11'h2c4: q = 8'h7c; // 0x2c4 + 11'h2c5: q = 8'hee; // 0x2c5 + 11'h2c6: q = 8'hc6; // 0x2c6 + 11'h2c7: q = 8'h00; // 0x2c7 + 11'h2c8: q = 8'h0e; // 0x2c8 + 11'h2c9: q = 8'h1e; // 0x2c9 + 11'h2ca: q = 8'hf0; // 0x2ca + 11'h2cb: q = 8'hf0; // 0x2cb + 11'h2cc: q = 8'h1e; // 0x2cc + 11'h2cd: q = 8'h0e; // 0x2cd + 11'h2ce: q = 8'h00; // 0x2ce + 11'h2cf: q = 8'h00; // 0x2cf + 11'h2d0: q = 8'hc2; // 0x2d0 + 11'h2d1: q = 8'he2; // 0x2d1 + 11'h2d2: q = 8'hf2; // 0x2d2 + 11'h2d3: q = 8'hba; // 0x2d3 + 11'h2d4: q = 8'h9e; // 0x2d4 + 11'h2d5: q = 8'h8e; // 0x2d5 + 11'h2d6: q = 8'h86; // 0x2d6 + 11'h2d7: q = 8'h00; // 0x2d7 + 11'h2d8: q = 8'h3c; // 0x2d8 + 11'h2d9: q = 8'h42; // 0x2d9 + 11'h2da: q = 8'hbd; // 0x2da + 11'h2db: q = 8'hc3; // 0x2db + 11'h2dc: q = 8'hc3; // 0x2dc + 11'h2dd: q = 8'ha5; // 0x2dd + 11'h2de: q = 8'h42; // 0x2de + 11'h2df: q = 8'h3c; // 0x2df + 11'h2e0: q = 8'h3c; // 0x2e0 + 11'h2e1: q = 8'h42; // 0x2e1 + 11'h2e2: q = 8'hfd; // 0x2e2 + 11'h2e3: q = 8'h93; // 0x2e3 + 11'h2e4: q = 8'h93; // 0x2e4 + 11'h2e5: q = 8'h8d; // 0x2e5 + 11'h2e6: q = 8'h42; // 0x2e6 + 11'h2e7: q = 8'h3c; // 0x2e7 + 11'h2e8: q = 8'h00; // 0x2e8 + 11'h2e9: q = 8'h00; // 0x2e9 + 11'h2ea: q = 8'h00; // 0x2ea + 11'h2eb: q = 8'h00; // 0x2eb + 11'h2ec: q = 8'h00; // 0x2ec + 11'h2ed: q = 8'h00; // 0x2ed + 11'h2ee: q = 8'h00; // 0x2ee + 11'h2ef: q = 8'h00; // 0x2ef + 11'h2f0: q = 8'h2e; // 0x2f0 + 11'h2f1: q = 8'h10; // 0x2f1 + 11'h2f2: q = 8'h08; // 0x2f2 + 11'h2f3: q = 8'h94; // 0x2f3 + 11'h2f4: q = 8'hca; // 0x2f4 + 11'h2f5: q = 8'ha8; // 0x2f5 + 11'h2f6: q = 8'h90; // 0x2f6 + 11'h2f7: q = 8'h00; // 0x2f7 + 11'h2f8: q = 8'h18; // 0x2f8 + 11'h2f9: q = 8'h3c; // 0x2f9 + 11'h2fa: q = 8'hfe; // 0x2fa + 11'h2fb: q = 8'hff; // 0x2fb + 11'h2fc: q = 8'hfe; // 0x2fc + 11'h2fd: q = 8'h3c; // 0x2fd + 11'h2fe: q = 8'h18; // 0x2fe + 11'h2ff: q = 8'h00; // 0x2ff + 11'h300: q = 8'h38; // 0x300 + 11'h301: q = 8'h7c; // 0x301 + 11'h302: q = 8'hc2; // 0x302 + 11'h303: q = 8'h82; // 0x303 + 11'h304: q = 8'h86; // 0x304 + 11'h305: q = 8'h7c; // 0x305 + 11'h306: q = 8'h38; // 0x306 + 11'h307: q = 8'h00; // 0x307 + 11'h308: q = 8'h80; // 0x308 + 11'h309: q = 8'h84; // 0x309 + 11'h30a: q = 8'hfe; // 0x30a + 11'h30b: q = 8'hfe; // 0x30b + 11'h30c: q = 8'h80; // 0x30c + 11'h30d: q = 8'h80; // 0x30d + 11'h30e: q = 8'h00; // 0x30e + 11'h30f: q = 8'h00; // 0x30f + 11'h310: q = 8'hc4; // 0x310 + 11'h311: q = 8'he6; // 0x311 + 11'h312: q = 8'hf2; // 0x312 + 11'h313: q = 8'hb2; // 0x313 + 11'h314: q = 8'hba; // 0x314 + 11'h315: q = 8'h9e; // 0x315 + 11'h316: q = 8'h8c; // 0x316 + 11'h317: q = 8'h00; // 0x317 + 11'h318: q = 8'h40; // 0x318 + 11'h319: q = 8'hc2; // 0x319 + 11'h31a: q = 8'h92; // 0x31a + 11'h31b: q = 8'h9a; // 0x31b + 11'h31c: q = 8'h9e; // 0x31c + 11'h31d: q = 8'hf6; // 0x31d + 11'h31e: q = 8'h62; // 0x31e + 11'h31f: q = 8'h00; // 0x31f + 11'h320: q = 8'h30; // 0x320 + 11'h321: q = 8'h38; // 0x321 + 11'h322: q = 8'h2c; // 0x322 + 11'h323: q = 8'h26; // 0x323 + 11'h324: q = 8'hfe; // 0x324 + 11'h325: q = 8'hfe; // 0x325 + 11'h326: q = 8'h20; // 0x326 + 11'h327: q = 8'h00; // 0x327 + 11'h328: q = 8'h4e; // 0x328 + 11'h329: q = 8'hce; // 0x329 + 11'h32a: q = 8'h8a; // 0x32a + 11'h32b: q = 8'h8a; // 0x32b + 11'h32c: q = 8'h8a; // 0x32c + 11'h32d: q = 8'hfa; // 0x32d + 11'h32e: q = 8'h70; // 0x32e + 11'h32f: q = 8'h00; // 0x32f + 11'h330: q = 8'h78; // 0x330 + 11'h331: q = 8'hfc; // 0x331 + 11'h332: q = 8'h96; // 0x332 + 11'h333: q = 8'h92; // 0x333 + 11'h334: q = 8'h92; // 0x334 + 11'h335: q = 8'hf2; // 0x335 + 11'h336: q = 8'h60; // 0x336 + 11'h337: q = 8'h00; // 0x337 + 11'h338: q = 8'h06; // 0x338 + 11'h339: q = 8'h06; // 0x339 + 11'h33a: q = 8'he2; // 0x33a + 11'h33b: q = 8'hf2; // 0x33b + 11'h33c: q = 8'h1a; // 0x33c + 11'h33d: q = 8'h0e; // 0x33d + 11'h33e: q = 8'h06; // 0x33e + 11'h33f: q = 8'h00; // 0x33f + 11'h340: q = 8'h6c; // 0x340 + 11'h341: q = 8'h9e; // 0x341 + 11'h342: q = 8'h9a; // 0x342 + 11'h343: q = 8'hb2; // 0x343 + 11'h344: q = 8'hb2; // 0x344 + 11'h345: q = 8'hec; // 0x345 + 11'h346: q = 8'h60; // 0x346 + 11'h347: q = 8'h00; // 0x347 + 11'h348: q = 8'h0c; // 0x348 + 11'h349: q = 8'h9e; // 0x349 + 11'h34a: q = 8'h92; // 0x34a + 11'h34b: q = 8'h92; // 0x34b + 11'h34c: q = 8'hd2; // 0x34c + 11'h34d: q = 8'h7e; // 0x34d + 11'h34e: q = 8'h3c; // 0x34e + 11'h34f: q = 8'h00; // 0x34f + 11'h350: q = 8'h00; // 0x350 + 11'h351: q = 8'h00; // 0x351 + 11'h352: q = 8'h00; // 0x352 + 11'h353: q = 8'h00; // 0x353 + 11'h354: q = 8'h00; // 0x354 + 11'h355: q = 8'h00; // 0x355 + 11'h356: q = 8'h00; // 0x356 + 11'h357: q = 8'h00; // 0x357 + 11'h358: q = 8'h00; // 0x358 + 11'h359: q = 8'h00; // 0x359 + 11'h35a: q = 8'h00; // 0x35a + 11'h35b: q = 8'h00; // 0x35b + 11'h35c: q = 8'h00; // 0x35c + 11'h35d: q = 8'h00; // 0x35d + 11'h35e: q = 8'h00; // 0x35e + 11'h35f: q = 8'h00; // 0x35f + 11'h360: q = 8'hff; // 0x360 + 11'h361: q = 8'hff; // 0x361 + 11'h362: q = 8'hff; // 0x362 + 11'h363: q = 8'hff; // 0x363 + 11'h364: q = 8'hff; // 0x364 + 11'h365: q = 8'hff; // 0x365 + 11'h366: q = 8'hff; // 0x366 + 11'h367: q = 8'hff; // 0x367 + 11'h368: q = 8'hff; // 0x368 + 11'h369: q = 8'hff; // 0x369 + 11'h36a: q = 8'hff; // 0x36a + 11'h36b: q = 8'hff; // 0x36b + 11'h36c: q = 8'hff; // 0x36c + 11'h36d: q = 8'hff; // 0x36d + 11'h36e: q = 8'hff; // 0x36e + 11'h36f: q = 8'hff; // 0x36f + 11'h370: q = 8'h00; // 0x370 + 11'h371: q = 8'h00; // 0x371 + 11'h372: q = 8'h00; // 0x372 + 11'h373: q = 8'h66; // 0x373 + 11'h374: q = 8'h66; // 0x374 + 11'h375: q = 8'h00; // 0x375 + 11'h376: q = 8'h00; // 0x376 + 11'h377: q = 8'h00; // 0x377 + 11'h378: q = 8'h00; // 0x378 + 11'h379: q = 8'h00; // 0x379 + 11'h37a: q = 8'h00; // 0x37a + 11'h37b: q = 8'h00; // 0x37b + 11'h37c: q = 8'h00; // 0x37c + 11'h37d: q = 8'h00; // 0x37d + 11'h37e: q = 8'h00; // 0x37e + 11'h37f: q = 8'h00; // 0x37f + 11'h380: q = 8'h00; // 0x380 + 11'h381: q = 8'h00; // 0x381 + 11'h382: q = 8'h00; // 0x382 + 11'h383: q = 8'h00; // 0x383 + 11'h384: q = 8'h00; // 0x384 + 11'h385: q = 8'h00; // 0x385 + 11'h386: q = 8'h00; // 0x386 + 11'h387: q = 8'h00; // 0x387 + 11'h388: q = 8'h00; // 0x388 + 11'h389: q = 8'h00; // 0x389 + 11'h38a: q = 8'h00; // 0x38a + 11'h38b: q = 8'h00; // 0x38b + 11'h38c: q = 8'h00; // 0x38c + 11'h38d: q = 8'h00; // 0x38d + 11'h38e: q = 8'h00; // 0x38e + 11'h38f: q = 8'h00; // 0x38f + 11'h390: q = 8'h00; // 0x390 + 11'h391: q = 8'h00; // 0x391 + 11'h392: q = 8'h00; // 0x392 + 11'h393: q = 8'h00; // 0x393 + 11'h394: q = 8'h00; // 0x394 + 11'h395: q = 8'h00; // 0x395 + 11'h396: q = 8'h00; // 0x396 + 11'h397: q = 8'h00; // 0x397 + 11'h398: q = 8'h00; // 0x398 + 11'h399: q = 8'h00; // 0x399 + 11'h39a: q = 8'h00; // 0x39a + 11'h39b: q = 8'h00; // 0x39b + 11'h39c: q = 8'h00; // 0x39c + 11'h39d: q = 8'h00; // 0x39d + 11'h39e: q = 8'h00; // 0x39e + 11'h39f: q = 8'h00; // 0x39f + 11'h3a0: q = 8'h00; // 0x3a0 + 11'h3a1: q = 8'h00; // 0x3a1 + 11'h3a2: q = 8'h00; // 0x3a2 + 11'h3a3: q = 8'h00; // 0x3a3 + 11'h3a4: q = 8'h00; // 0x3a4 + 11'h3a5: q = 8'h00; // 0x3a5 + 11'h3a6: q = 8'h00; // 0x3a6 + 11'h3a7: q = 8'h00; // 0x3a7 + 11'h3a8: q = 8'h00; // 0x3a8 + 11'h3a9: q = 8'h00; // 0x3a9 + 11'h3aa: q = 8'h00; // 0x3aa + 11'h3ab: q = 8'h00; // 0x3ab + 11'h3ac: q = 8'h00; // 0x3ac + 11'h3ad: q = 8'h00; // 0x3ad + 11'h3ae: q = 8'h00; // 0x3ae + 11'h3af: q = 8'h00; // 0x3af + 11'h3b0: q = 8'h00; // 0x3b0 + 11'h3b1: q = 8'h00; // 0x3b1 + 11'h3b2: q = 8'h00; // 0x3b2 + 11'h3b3: q = 8'h00; // 0x3b3 + 11'h3b4: q = 8'h00; // 0x3b4 + 11'h3b5: q = 8'h00; // 0x3b5 + 11'h3b6: q = 8'h00; // 0x3b6 + 11'h3b7: q = 8'h00; // 0x3b7 + 11'h3b8: q = 8'h00; // 0x3b8 + 11'h3b9: q = 8'h00; // 0x3b9 + 11'h3ba: q = 8'h00; // 0x3ba + 11'h3bb: q = 8'h00; // 0x3bb + 11'h3bc: q = 8'h00; // 0x3bc + 11'h3bd: q = 8'h00; // 0x3bd + 11'h3be: q = 8'h00; // 0x3be + 11'h3bf: q = 8'h00; // 0x3bf + 11'h3c0: q = 8'h00; // 0x3c0 + 11'h3c1: q = 8'h04; // 0x3c1 + 11'h3c2: q = 8'h0e; // 0x3c2 + 11'h3c3: q = 8'h02; // 0x3c3 + 11'h3c4: q = 8'h0e; // 0x3c4 + 11'h3c5: q = 8'h06; // 0x3c5 + 11'h3c6: q = 8'h0c; // 0x3c6 + 11'h3c7: q = 8'h00; // 0x3c7 + 11'h3c8: q = 8'h00; // 0x3c8 + 11'h3c9: q = 8'h0c; // 0x3c9 + 11'h3ca: q = 8'h0e; // 0x3ca + 11'h3cb: q = 8'h0e; // 0x3cb + 11'h3cc: q = 8'h0e; // 0x3cc + 11'h3cd: q = 8'h0e; // 0x3cd + 11'h3ce: q = 8'h0c; // 0x3ce + 11'h3cf: q = 8'h00; // 0x3cf + 11'h3d0: q = 8'h00; // 0x3d0 + 11'h3d1: q = 8'h0c; // 0x3d1 + 11'h3d2: q = 8'h0e; // 0x3d2 + 11'h3d3: q = 8'h6e; // 0x3d3 + 11'h3d4: q = 8'h2e; // 0x3d4 + 11'h3d5: q = 8'h0e; // 0x3d5 + 11'h3d6: q = 8'h0c; // 0x3d6 + 11'h3d7: q = 8'h00; // 0x3d7 + 11'h3d8: q = 8'h00; // 0x3d8 + 11'h3d9: q = 8'h0c; // 0x3d9 + 11'h3da: q = 8'h0e; // 0x3da + 11'h3db: q = 8'h6e; // 0x3db + 11'h3dc: q = 8'h6e; // 0x3dc + 11'h3dd: q = 8'h0e; // 0x3dd + 11'h3de: q = 8'h0c; // 0x3de + 11'h3df: q = 8'h00; // 0x3df + 11'h3e0: q = 8'h0c; // 0x3e0 + 11'h3e1: q = 8'h02; // 0x3e1 + 11'h3e2: q = 8'h01; // 0x3e2 + 11'h3e3: q = 8'h01; // 0x3e3 + 11'h3e4: q = 8'h01; // 0x3e4 + 11'h3e5: q = 8'h01; // 0x3e5 + 11'h3e6: q = 8'h02; // 0x3e6 + 11'h3e7: q = 8'h0c; // 0x3e7 + 11'h3e8: q = 8'h1c; // 0x3e8 + 11'h3e9: q = 8'h02; // 0x3e9 + 11'h3ea: q = 8'h31; // 0x3ea + 11'h3eb: q = 8'h01; // 0x3eb + 11'h3ec: q = 8'h11; // 0x3ec + 11'h3ed: q = 8'h01; // 0x3ed + 11'h3ee: q = 8'h12; // 0x3ee + 11'h3ef: q = 8'h0c; // 0x3ef + 11'h3f0: q = 8'h1c; // 0x3f0 + 11'h3f1: q = 8'h02; // 0x3f1 + 11'h3f2: q = 8'h31; // 0x3f2 + 11'h3f3: q = 8'h11; // 0x3f3 + 11'h3f4: q = 8'h11; // 0x3f4 + 11'h3f5: q = 8'h31; // 0x3f5 + 11'h3f6: q = 8'h12; // 0x3f6 + 11'h3f7: q = 8'h1c; // 0x3f7 + 11'h3f8: q = 8'h1c; // 0x3f8 + 11'h3f9: q = 8'h12; // 0x3f9 + 11'h3fa: q = 8'hf1; // 0x3fa + 11'h3fb: q = 8'h91; // 0x3fb + 11'h3fc: q = 8'h91; // 0x3fc + 11'h3fd: q = 8'hf1; // 0x3fd + 11'h3fe: q = 8'h12; // 0x3fe + 11'h3ff: q = 8'h1c; // 0x3ff + 11'h400: q = 8'h00; // 0x400 + 11'h401: q = 8'h00; // 0x401 + 11'h402: q = 8'h00; // 0x402 + 11'h403: q = 8'h00; // 0x403 + 11'h404: q = 8'h3c; // 0x404 + 11'h405: q = 8'h7e; // 0x405 + 11'h406: q = 8'h7e; // 0x406 + 11'h407: q = 8'h7e; // 0x407 + 11'h408: q = 8'h7e; // 0x408 + 11'h409: q = 8'h3c; // 0x409 + 11'h40a: q = 8'h18; // 0x40a + 11'h40b: q = 8'h00; // 0x40b + 11'h40c: q = 8'h00; // 0x40c + 11'h40d: q = 8'h00; // 0x40d + 11'h40e: q = 8'h00; // 0x40e + 11'h40f: q = 8'h00; // 0x40f + 11'h410: q = 8'h00; // 0x410 + 11'h411: q = 8'h00; // 0x411 + 11'h412: q = 8'h00; // 0x412 + 11'h413: q = 8'h00; // 0x413 + 11'h414: q = 8'h3c; // 0x414 + 11'h415: q = 8'h7e; // 0x415 + 11'h416: q = 8'h7e; // 0x416 + 11'h417: q = 8'h7e; // 0x417 + 11'h418: q = 8'h7e; // 0x418 + 11'h419: q = 8'h3c; // 0x419 + 11'h41a: q = 8'h18; // 0x41a + 11'h41b: q = 8'h00; // 0x41b + 11'h41c: q = 8'h00; // 0x41c + 11'h41d: q = 8'h00; // 0x41d + 11'h41e: q = 8'h00; // 0x41e + 11'h41f: q = 8'h00; // 0x41f + 11'h420: q = 8'h00; // 0x420 + 11'h421: q = 8'h00; // 0x421 + 11'h422: q = 8'h00; // 0x422 + 11'h423: q = 8'h00; // 0x423 + 11'h424: q = 8'h3c; // 0x424 + 11'h425: q = 8'h7e; // 0x425 + 11'h426: q = 8'h7e; // 0x426 + 11'h427: q = 8'h7e; // 0x427 + 11'h428: q = 8'h7e; // 0x428 + 11'h429: q = 8'h3c; // 0x429 + 11'h42a: q = 8'h18; // 0x42a + 11'h42b: q = 8'h00; // 0x42b + 11'h42c: q = 8'h00; // 0x42c + 11'h42d: q = 8'h00; // 0x42d + 11'h42e: q = 8'h00; // 0x42e + 11'h42f: q = 8'h00; // 0x42f + 11'h430: q = 8'h00; // 0x430 + 11'h431: q = 8'h00; // 0x431 + 11'h432: q = 8'h00; // 0x432 + 11'h433: q = 8'h00; // 0x433 + 11'h434: q = 8'h3c; // 0x434 + 11'h435: q = 8'h7e; // 0x435 + 11'h436: q = 8'h7e; // 0x436 + 11'h437: q = 8'h7e; // 0x437 + 11'h438: q = 8'h7e; // 0x438 + 11'h439: q = 8'h3c; // 0x439 + 11'h43a: q = 8'h18; // 0x43a + 11'h43b: q = 8'h00; // 0x43b + 11'h43c: q = 8'h00; // 0x43c + 11'h43d: q = 8'h00; // 0x43d + 11'h43e: q = 8'h00; // 0x43e + 11'h43f: q = 8'h00; // 0x43f + 11'h440: q = 8'h00; // 0x440 + 11'h441: q = 8'h00; // 0x441 + 11'h442: q = 8'h00; // 0x442 + 11'h443: q = 8'h00; // 0x443 + 11'h444: q = 8'h38; // 0x444 + 11'h445: q = 8'h7c; // 0x445 + 11'h446: q = 8'hfe; // 0x446 + 11'h447: q = 8'hfe; // 0x447 + 11'h448: q = 8'hfe; // 0x448 + 11'h449: q = 8'h7c; // 0x449 + 11'h44a: q = 8'h38; // 0x44a + 11'h44b: q = 8'h00; // 0x44b + 11'h44c: q = 8'h00; // 0x44c + 11'h44d: q = 8'h00; // 0x44d + 11'h44e: q = 8'h00; // 0x44e + 11'h44f: q = 8'h00; // 0x44f + 11'h450: q = 8'h00; // 0x450 + 11'h451: q = 8'h00; // 0x451 + 11'h452: q = 8'h00; // 0x452 + 11'h453: q = 8'h00; // 0x453 + 11'h454: q = 8'h38; // 0x454 + 11'h455: q = 8'h7c; // 0x455 + 11'h456: q = 8'hfe; // 0x456 + 11'h457: q = 8'hfe; // 0x457 + 11'h458: q = 8'hfe; // 0x458 + 11'h459: q = 8'h7c; // 0x459 + 11'h45a: q = 8'h38; // 0x45a + 11'h45b: q = 8'h00; // 0x45b + 11'h45c: q = 8'h00; // 0x45c + 11'h45d: q = 8'h00; // 0x45d + 11'h45e: q = 8'h00; // 0x45e + 11'h45f: q = 8'h00; // 0x45f + 11'h460: q = 8'h00; // 0x460 + 11'h461: q = 8'h00; // 0x461 + 11'h462: q = 8'h00; // 0x462 + 11'h463: q = 8'h00; // 0x463 + 11'h464: q = 8'h00; // 0x464 + 11'h465: q = 8'h78; // 0x465 + 11'h466: q = 8'hfc; // 0x466 + 11'h467: q = 8'hfe; // 0x467 + 11'h468: q = 8'hfe; // 0x468 + 11'h469: q = 8'hfc; // 0x469 + 11'h46a: q = 8'h78; // 0x46a + 11'h46b: q = 8'h00; // 0x46b + 11'h46c: q = 8'h00; // 0x46c + 11'h46d: q = 8'h00; // 0x46d + 11'h46e: q = 8'h00; // 0x46e + 11'h46f: q = 8'h00; // 0x46f + 11'h470: q = 8'h00; // 0x470 + 11'h471: q = 8'h00; // 0x471 + 11'h472: q = 8'h00; // 0x472 + 11'h473: q = 8'h00; // 0x473 + 11'h474: q = 8'h00; // 0x474 + 11'h475: q = 8'h78; // 0x475 + 11'h476: q = 8'hfc; // 0x476 + 11'h477: q = 8'hfe; // 0x477 + 11'h478: q = 8'hfe; // 0x478 + 11'h479: q = 8'hfc; // 0x479 + 11'h47a: q = 8'h78; // 0x47a + 11'h47b: q = 8'h00; // 0x47b + 11'h47c: q = 8'h00; // 0x47c + 11'h47d: q = 8'h00; // 0x47d + 11'h47e: q = 8'h00; // 0x47e + 11'h47f: q = 8'h00; // 0x47f + 11'h480: q = 8'h00; // 0x480 + 11'h481: q = 8'h00; // 0x481 + 11'h482: q = 8'h00; // 0x482 + 11'h483: q = 8'h00; // 0x483 + 11'h484: q = 8'h00; // 0x484 + 11'h485: q = 8'h00; // 0x485 + 11'h486: q = 8'h00; // 0x486 + 11'h487: q = 8'hfc; // 0x487 + 11'h488: q = 8'h00; // 0x488 + 11'h489: q = 8'h00; // 0x489 + 11'h48a: q = 8'h00; // 0x48a + 11'h48b: q = 8'h00; // 0x48b + 11'h48c: q = 8'h00; // 0x48c + 11'h48d: q = 8'h00; // 0x48d + 11'h48e: q = 8'h00; // 0x48e + 11'h48f: q = 8'h00; // 0x48f + 11'h490: q = 8'h00; // 0x490 + 11'h491: q = 8'h00; // 0x491 + 11'h492: q = 8'h00; // 0x492 + 11'h493: q = 8'h00; // 0x493 + 11'h494: q = 8'h00; // 0x494 + 11'h495: q = 8'h00; // 0x495 + 11'h496: q = 8'h00; // 0x496 + 11'h497: q = 8'h00; // 0x497 + 11'h498: q = 8'h00; // 0x498 + 11'h499: q = 8'h00; // 0x499 + 11'h49a: q = 8'h00; // 0x49a + 11'h49b: q = 8'h00; // 0x49b + 11'h49c: q = 8'h00; // 0x49c + 11'h49d: q = 8'h00; // 0x49d + 11'h49e: q = 8'h00; // 0x49e + 11'h49f: q = 8'h00; // 0x49f + 11'h4a0: q = 8'h00; // 0x4a0 + 11'h4a1: q = 8'h00; // 0x4a1 + 11'h4a2: q = 8'h00; // 0x4a2 + 11'h4a3: q = 8'h00; // 0x4a3 + 11'h4a4: q = 8'h00; // 0x4a4 + 11'h4a5: q = 8'h70; // 0x4a5 + 11'h4a6: q = 8'hf8; // 0x4a6 + 11'h4a7: q = 8'hfc; // 0x4a7 + 11'h4a8: q = 8'hf8; // 0x4a8 + 11'h4a9: q = 8'h70; // 0x4a9 + 11'h4aa: q = 8'h00; // 0x4aa + 11'h4ab: q = 8'h00; // 0x4ab + 11'h4ac: q = 8'h00; // 0x4ac + 11'h4ad: q = 8'h00; // 0x4ad + 11'h4ae: q = 8'h00; // 0x4ae + 11'h4af: q = 8'h00; // 0x4af + 11'h4b0: q = 8'h00; // 0x4b0 + 11'h4b1: q = 8'h00; // 0x4b1 + 11'h4b2: q = 8'h00; // 0x4b2 + 11'h4b3: q = 8'h00; // 0x4b3 + 11'h4b4: q = 8'h00; // 0x4b4 + 11'h4b5: q = 8'h70; // 0x4b5 + 11'h4b6: q = 8'hf8; // 0x4b6 + 11'h4b7: q = 8'hfc; // 0x4b7 + 11'h4b8: q = 8'hf8; // 0x4b8 + 11'h4b9: q = 8'h70; // 0x4b9 + 11'h4ba: q = 8'h00; // 0x4ba + 11'h4bb: q = 8'h00; // 0x4bb + 11'h4bc: q = 8'h00; // 0x4bc + 11'h4bd: q = 8'h00; // 0x4bd + 11'h4be: q = 8'h00; // 0x4be + 11'h4bf: q = 8'h00; // 0x4bf + 11'h4c0: q = 8'h00; // 0x4c0 + 11'h4c1: q = 8'h00; // 0x4c1 + 11'h4c2: q = 8'h00; // 0x4c2 + 11'h4c3: q = 8'h00; // 0x4c3 + 11'h4c4: q = 8'h00; // 0x4c4 + 11'h4c5: q = 8'h70; // 0x4c5 + 11'h4c6: q = 8'hf8; // 0x4c6 + 11'h4c7: q = 8'hfc; // 0x4c7 + 11'h4c8: q = 8'hf8; // 0x4c8 + 11'h4c9: q = 8'h70; // 0x4c9 + 11'h4ca: q = 8'h00; // 0x4ca + 11'h4cb: q = 8'h00; // 0x4cb + 11'h4cc: q = 8'h00; // 0x4cc + 11'h4cd: q = 8'h00; // 0x4cd + 11'h4ce: q = 8'h00; // 0x4ce + 11'h4cf: q = 8'h00; // 0x4cf + 11'h4d0: q = 8'h00; // 0x4d0 + 11'h4d1: q = 8'h00; // 0x4d1 + 11'h4d2: q = 8'h00; // 0x4d2 + 11'h4d3: q = 8'h00; // 0x4d3 + 11'h4d4: q = 8'h00; // 0x4d4 + 11'h4d5: q = 8'h70; // 0x4d5 + 11'h4d6: q = 8'hf8; // 0x4d6 + 11'h4d7: q = 8'hfc; // 0x4d7 + 11'h4d8: q = 8'hf8; // 0x4d8 + 11'h4d9: q = 8'h70; // 0x4d9 + 11'h4da: q = 8'h00; // 0x4da + 11'h4db: q = 8'h00; // 0x4db + 11'h4dc: q = 8'h00; // 0x4dc + 11'h4dd: q = 8'h00; // 0x4dd + 11'h4de: q = 8'h00; // 0x4de + 11'h4df: q = 8'h00; // 0x4df + 11'h4e0: q = 8'h00; // 0x4e0 + 11'h4e1: q = 8'h00; // 0x4e1 + 11'h4e2: q = 8'h00; // 0x4e2 + 11'h4e3: q = 8'h00; // 0x4e3 + 11'h4e4: q = 8'h04; // 0x4e4 + 11'h4e5: q = 8'hc6; // 0x4e5 + 11'h4e6: q = 8'h20; // 0x4e6 + 11'h4e7: q = 8'h90; // 0x4e7 + 11'h4e8: q = 8'h40; // 0x4e8 + 11'h4e9: q = 8'h20; // 0x4e9 + 11'h4ea: q = 8'h80; // 0x4ea + 11'h4eb: q = 8'h40; // 0x4eb + 11'h4ec: q = 8'h00; // 0x4ec + 11'h4ed: q = 8'h00; // 0x4ed + 11'h4ee: q = 8'h00; // 0x4ee + 11'h4ef: q = 8'h00; // 0x4ef + 11'h4f0: q = 8'h00; // 0x4f0 + 11'h4f1: q = 8'h00; // 0x4f1 + 11'h4f2: q = 8'h00; // 0x4f2 + 11'h4f3: q = 8'h00; // 0x4f3 + 11'h4f4: q = 8'h04; // 0x4f4 + 11'h4f5: q = 8'h06; // 0x4f5 + 11'h4f6: q = 8'h70; // 0x4f6 + 11'h4f7: q = 8'h80; // 0x4f7 + 11'h4f8: q = 8'h30; // 0x4f8 + 11'h4f9: q = 8'hc0; // 0x4f9 + 11'h4fa: q = 8'h00; // 0x4fa + 11'h4fb: q = 8'hc0; // 0x4fb + 11'h4fc: q = 8'h00; // 0x4fc + 11'h4fd: q = 8'h00; // 0x4fd + 11'h4fe: q = 8'h00; // 0x4fe + 11'h4ff: q = 8'h00; // 0x4ff + 11'h500: q = 8'h3c; // 0x500 + 11'h501: q = 8'h7e; // 0x501 + 11'h502: q = 8'hf7; // 0x502 + 11'h503: q = 8'h7e; // 0x503 + 11'h504: q = 8'h3c; // 0x504 + 11'h505: q = 8'h1c; // 0x505 + 11'h506: q = 8'h3e; // 0x506 + 11'h507: q = 8'h7f; // 0x507 + 11'h508: q = 8'hf7; // 0x508 + 11'h509: q = 8'h7e; // 0x509 + 11'h50a: q = 8'h3c; // 0x50a + 11'h50b: q = 8'h3c; // 0x50b + 11'h50c: q = 8'h7e; // 0x50c + 11'h50d: q = 8'hf7; // 0x50d + 11'h50e: q = 8'h7e; // 0x50e + 11'h50f: q = 8'h3c; // 0x50f + 11'h510: q = 8'h28; // 0x510 + 11'h511: q = 8'h7e; // 0x511 + 11'h512: q = 8'hfe; // 0x512 + 11'h513: q = 8'h37; // 0x513 + 11'h514: q = 8'hea; // 0x514 + 11'h515: q = 8'h74; // 0x515 + 11'h516: q = 8'h5f; // 0x516 + 11'h517: q = 8'h6e; // 0x517 + 11'h518: q = 8'h6e; // 0x518 + 11'h519: q = 8'h5f; // 0x519 + 11'h51a: q = 8'h74; // 0x51a + 11'h51b: q = 8'hea; // 0x51b + 11'h51c: q = 8'h37; // 0x51c + 11'h51d: q = 8'hfe; // 0x51d + 11'h51e: q = 8'h7e; // 0x51e + 11'h51f: q = 8'h14; // 0x51f + 11'h520: q = 8'h00; // 0x520 + 11'h521: q = 8'h00; // 0x521 + 11'h522: q = 8'h18; // 0x522 + 11'h523: q = 8'h18; // 0x523 + 11'h524: q = 8'h34; // 0x524 + 11'h525: q = 8'h52; // 0x525 + 11'h526: q = 8'h34; // 0x526 + 11'h527: q = 8'h4a; // 0x527 + 11'h528: q = 8'h52; // 0x528 + 11'h529: q = 8'h2c; // 0x529 + 11'h52a: q = 8'h4a; // 0x52a + 11'h52b: q = 8'h2c; // 0x52b + 11'h52c: q = 8'h18; // 0x52c + 11'h52d: q = 8'h18; // 0x52d + 11'h52e: q = 8'h00; // 0x52e + 11'h52f: q = 8'h00; // 0x52f + 11'h530: q = 8'h00; // 0x530 + 11'h531: q = 8'h00; // 0x531 + 11'h532: q = 8'h00; // 0x532 + 11'h533: q = 8'h00; // 0x533 + 11'h534: q = 8'h00; // 0x534 + 11'h535: q = 8'h10; // 0x535 + 11'h536: q = 8'h38; // 0x536 + 11'h537: q = 8'h30; // 0x537 + 11'h538: q = 8'h28; // 0x538 + 11'h539: q = 8'h10; // 0x539 + 11'h53a: q = 8'h00; // 0x53a + 11'h53b: q = 8'h00; // 0x53b + 11'h53c: q = 8'h00; // 0x53c + 11'h53d: q = 8'h00; // 0x53d + 11'h53e: q = 8'h00; // 0x53e + 11'h53f: q = 8'h00; // 0x53f + 11'h540: q = 8'h00; // 0x540 + 11'h541: q = 8'h00; // 0x541 + 11'h542: q = 8'h00; // 0x542 + 11'h543: q = 8'h00; // 0x543 + 11'h544: q = 8'h00; // 0x544 + 11'h545: q = 8'h00; // 0x545 + 11'h546: q = 8'h00; // 0x546 + 11'h547: q = 8'h00; // 0x547 + 11'h548: q = 8'h00; // 0x548 + 11'h549: q = 8'h00; // 0x549 + 11'h54a: q = 8'h00; // 0x54a + 11'h54b: q = 8'h00; // 0x54b + 11'h54c: q = 8'h00; // 0x54c + 11'h54d: q = 8'h00; // 0x54d + 11'h54e: q = 8'h00; // 0x54e + 11'h54f: q = 8'h00; // 0x54f + 11'h550: q = 8'h00; // 0x550 + 11'h551: q = 8'h00; // 0x551 + 11'h552: q = 8'h00; // 0x552 + 11'h553: q = 8'h00; // 0x553 + 11'h554: q = 8'h00; // 0x554 + 11'h555: q = 8'h00; // 0x555 + 11'h556: q = 8'h00; // 0x556 + 11'h557: q = 8'h00; // 0x557 + 11'h558: q = 8'h00; // 0x558 + 11'h559: q = 8'h00; // 0x559 + 11'h55a: q = 8'h00; // 0x55a + 11'h55b: q = 8'h00; // 0x55b + 11'h55c: q = 8'h00; // 0x55c + 11'h55d: q = 8'h00; // 0x55d + 11'h55e: q = 8'h00; // 0x55e + 11'h55f: q = 8'h00; // 0x55f + 11'h560: q = 8'h00; // 0x560 + 11'h561: q = 8'h0c; // 0x561 + 11'h562: q = 8'h0e; // 0x562 + 11'h563: q = 8'h06; // 0x563 + 11'h564: q = 8'h1e; // 0x564 + 11'h565: q = 8'h1e; // 0x565 + 11'h566: q = 8'h1e; // 0x566 + 11'h567: q = 8'h08; // 0x567 + 11'h568: q = 8'h0c; // 0x568 + 11'h569: q = 8'h1a; // 0x569 + 11'h56a: q = 8'h16; // 0x56a + 11'h56b: q = 8'h0e; // 0x56b + 11'h56c: q = 8'h1e; // 0x56c + 11'h56d: q = 8'h1e; // 0x56d + 11'h56e: q = 8'h1c; // 0x56e + 11'h56f: q = 8'h0c; // 0x56f + 11'h570: q = 8'h00; // 0x570 + 11'h571: q = 8'h30; // 0x571 + 11'h572: q = 8'h38; // 0x572 + 11'h573: q = 8'h38; // 0x573 + 11'h574: q = 8'h58; // 0x574 + 11'h575: q = 8'h78; // 0x575 + 11'h576: q = 8'h58; // 0x576 + 11'h577: q = 8'h50; // 0x577 + 11'h578: q = 8'h58; // 0x578 + 11'h579: q = 8'h38; // 0x579 + 11'h57a: q = 8'h78; // 0x57a + 11'h57b: q = 8'h70; // 0x57b + 11'h57c: q = 8'h68; // 0x57c + 11'h57d: q = 8'h18; // 0x57d + 11'h57e: q = 8'h78; // 0x57e + 11'h57f: q = 8'h30; // 0x57f + 11'h580: q = 8'h00; // 0x580 + 11'h581: q = 8'h00; // 0x581 + 11'h582: q = 8'h00; // 0x582 + 11'h583: q = 8'h00; // 0x583 + 11'h584: q = 8'h02; // 0x584 + 11'h585: q = 8'h03; // 0x585 + 11'h586: q = 8'h00; // 0x586 + 11'h587: q = 8'h03; // 0x587 + 11'h588: q = 8'h02; // 0x588 + 11'h589: q = 8'h00; // 0x589 + 11'h58a: q = 8'h00; // 0x58a + 11'h58b: q = 8'h00; // 0x58b + 11'h58c: q = 8'h00; // 0x58c + 11'h58d: q = 8'h00; // 0x58d + 11'h58e: q = 8'h00; // 0x58e + 11'h58f: q = 8'h00; // 0x58f + 11'h590: q = 8'h00; // 0x590 + 11'h591: q = 8'h00; // 0x591 + 11'h592: q = 8'h00; // 0x592 + 11'h593: q = 8'h02; // 0x593 + 11'h594: q = 8'h03; // 0x594 + 11'h595: q = 8'h00; // 0x595 + 11'h596: q = 8'h03; // 0x596 + 11'h597: q = 8'h02; // 0x597 + 11'h598: q = 8'h00; // 0x598 + 11'h599: q = 8'h00; // 0x599 + 11'h59a: q = 8'h00; // 0x59a + 11'h59b: q = 8'h00; // 0x59b + 11'h59c: q = 8'h00; // 0x59c + 11'h59d: q = 8'h00; // 0x59d + 11'h59e: q = 8'h00; // 0x59e + 11'h59f: q = 8'h00; // 0x59f + 11'h5a0: q = 8'h00; // 0x5a0 + 11'h5a1: q = 8'h00; // 0x5a1 + 11'h5a2: q = 8'h00; // 0x5a2 + 11'h5a3: q = 8'h00; // 0x5a3 + 11'h5a4: q = 8'h00; // 0x5a4 + 11'h5a5: q = 8'h00; // 0x5a5 + 11'h5a6: q = 8'h00; // 0x5a6 + 11'h5a7: q = 8'h00; // 0x5a7 + 11'h5a8: q = 8'h00; // 0x5a8 + 11'h5a9: q = 8'h00; // 0x5a9 + 11'h5aa: q = 8'h00; // 0x5aa + 11'h5ab: q = 8'h00; // 0x5ab + 11'h5ac: q = 8'h00; // 0x5ac + 11'h5ad: q = 8'h00; // 0x5ad + 11'h5ae: q = 8'h00; // 0x5ae + 11'h5af: q = 8'h00; // 0x5af + 11'h5b0: q = 8'h00; // 0x5b0 + 11'h5b1: q = 8'h00; // 0x5b1 + 11'h5b2: q = 8'h00; // 0x5b2 + 11'h5b3: q = 8'h00; // 0x5b3 + 11'h5b4: q = 8'h00; // 0x5b4 + 11'h5b5: q = 8'h00; // 0x5b5 + 11'h5b6: q = 8'h00; // 0x5b6 + 11'h5b7: q = 8'h00; // 0x5b7 + 11'h5b8: q = 8'h00; // 0x5b8 + 11'h5b9: q = 8'h00; // 0x5b9 + 11'h5ba: q = 8'h00; // 0x5ba + 11'h5bb: q = 8'h00; // 0x5bb + 11'h5bc: q = 8'h00; // 0x5bc + 11'h5bd: q = 8'h00; // 0x5bd + 11'h5be: q = 8'h00; // 0x5be + 11'h5bf: q = 8'h00; // 0x5bf + 11'h5c0: q = 8'h00; // 0x5c0 + 11'h5c1: q = 8'h00; // 0x5c1 + 11'h5c2: q = 8'h00; // 0x5c2 + 11'h5c3: q = 8'h00; // 0x5c3 + 11'h5c4: q = 8'h00; // 0x5c4 + 11'h5c5: q = 8'h00; // 0x5c5 + 11'h5c6: q = 8'h00; // 0x5c6 + 11'h5c7: q = 8'h00; // 0x5c7 + 11'h5c8: q = 8'h00; // 0x5c8 + 11'h5c9: q = 8'h00; // 0x5c9 + 11'h5ca: q = 8'h00; // 0x5ca + 11'h5cb: q = 8'h00; // 0x5cb + 11'h5cc: q = 8'h00; // 0x5cc + 11'h5cd: q = 8'h00; // 0x5cd + 11'h5ce: q = 8'h00; // 0x5ce + 11'h5cf: q = 8'h00; // 0x5cf + 11'h5d0: q = 8'h00; // 0x5d0 + 11'h5d1: q = 8'h00; // 0x5d1 + 11'h5d2: q = 8'h00; // 0x5d2 + 11'h5d3: q = 8'h00; // 0x5d3 + 11'h5d4: q = 8'h54; // 0x5d4 + 11'h5d5: q = 8'hcb; // 0x5d5 + 11'h5d6: q = 8'h50; // 0x5d6 + 11'h5d7: q = 8'ha2; // 0x5d7 + 11'h5d8: q = 8'h05; // 0x5d8 + 11'h5d9: q = 8'hb2; // 0x5d9 + 11'h5da: q = 8'h4b; // 0x5da + 11'h5db: q = 8'h10; // 0x5db + 11'h5dc: q = 8'h00; // 0x5dc + 11'h5dd: q = 8'h00; // 0x5dd + 11'h5de: q = 8'h00; // 0x5de + 11'h5df: q = 8'h00; // 0x5df + 11'h5e0: q = 8'h00; // 0x5e0 + 11'h5e1: q = 8'h00; // 0x5e1 + 11'h5e2: q = 8'h00; // 0x5e2 + 11'h5e3: q = 8'h00; // 0x5e3 + 11'h5e4: q = 8'h7e; // 0x5e4 + 11'h5e5: q = 8'h7d; // 0x5e5 + 11'h5e6: q = 8'he6; // 0x5e6 + 11'h5e7: q = 8'h63; // 0x5e7 + 11'h5e8: q = 8'h67; // 0x5e8 + 11'h5e9: q = 8'hfb; // 0x5e9 + 11'h5ea: q = 8'h6e; // 0x5ea + 11'h5eb: q = 8'h2a; // 0x5eb + 11'h5ec: q = 8'h00; // 0x5ec + 11'h5ed: q = 8'h00; // 0x5ed + 11'h5ee: q = 8'h00; // 0x5ee + 11'h5ef: q = 8'h00; // 0x5ef + 11'h5f0: q = 8'h00; // 0x5f0 + 11'h5f1: q = 8'h00; // 0x5f1 + 11'h5f2: q = 8'h00; // 0x5f2 + 11'h5f3: q = 8'h00; // 0x5f3 + 11'h5f4: q = 8'h18; // 0x5f4 + 11'h5f5: q = 8'hbc; // 0x5f5 + 11'h5f6: q = 8'h7f; // 0x5f6 + 11'h5f7: q = 8'hef; // 0x5f7 + 11'h5f8: q = 8'h7e; // 0x5f8 + 11'h5f9: q = 8'hfd; // 0x5f9 + 11'h5fa: q = 8'h14; // 0x5fa + 11'h5fb: q = 8'ha0; // 0x5fb + 11'h5fc: q = 8'h00; // 0x5fc + 11'h5fd: q = 8'h00; // 0x5fd + 11'h5fe: q = 8'h00; // 0x5fe + 11'h5ff: q = 8'h00; // 0x5ff + 11'h600: q = 8'h00; // 0x600 + 11'h601: q = 8'h00; // 0x601 + 11'h602: q = 8'h00; // 0x602 + 11'h603: q = 8'h00; // 0x603 + 11'h604: q = 8'h00; // 0x604 + 11'h605: q = 8'h00; // 0x605 + 11'h606: q = 8'h00; // 0x606 + 11'h607: q = 8'h00; // 0x607 + 11'h608: q = 8'h00; // 0x608 + 11'h609: q = 8'h00; // 0x609 + 11'h60a: q = 8'h00; // 0x60a + 11'h60b: q = 8'h00; // 0x60b + 11'h60c: q = 8'h00; // 0x60c + 11'h60d: q = 8'h00; // 0x60d + 11'h60e: q = 8'h00; // 0x60e + 11'h60f: q = 8'h00; // 0x60f + 11'h610: q = 8'h00; // 0x610 + 11'h611: q = 8'h00; // 0x611 + 11'h612: q = 8'h00; // 0x612 + 11'h613: q = 8'h00; // 0x613 + 11'h614: q = 8'h00; // 0x614 + 11'h615: q = 8'h00; // 0x615 + 11'h616: q = 8'h00; // 0x616 + 11'h617: q = 8'h00; // 0x617 + 11'h618: q = 8'h00; // 0x618 + 11'h619: q = 8'h00; // 0x619 + 11'h61a: q = 8'h00; // 0x61a + 11'h61b: q = 8'h00; // 0x61b + 11'h61c: q = 8'h00; // 0x61c + 11'h61d: q = 8'h00; // 0x61d + 11'h61e: q = 8'h00; // 0x61e + 11'h61f: q = 8'h00; // 0x61f + 11'h620: q = 8'h00; // 0x620 + 11'h621: q = 8'h00; // 0x621 + 11'h622: q = 8'h00; // 0x622 + 11'h623: q = 8'h00; // 0x623 + 11'h624: q = 8'h00; // 0x624 + 11'h625: q = 8'h00; // 0x625 + 11'h626: q = 8'h00; // 0x626 + 11'h627: q = 8'h00; // 0x627 + 11'h628: q = 8'h00; // 0x628 + 11'h629: q = 8'h00; // 0x629 + 11'h62a: q = 8'h00; // 0x62a + 11'h62b: q = 8'h00; // 0x62b + 11'h62c: q = 8'h00; // 0x62c + 11'h62d: q = 8'h00; // 0x62d + 11'h62e: q = 8'h00; // 0x62e + 11'h62f: q = 8'h00; // 0x62f + 11'h630: q = 8'h00; // 0x630 + 11'h631: q = 8'h00; // 0x631 + 11'h632: q = 8'h00; // 0x632 + 11'h633: q = 8'h00; // 0x633 + 11'h634: q = 8'h00; // 0x634 + 11'h635: q = 8'h00; // 0x635 + 11'h636: q = 8'h00; // 0x636 + 11'h637: q = 8'h00; // 0x637 + 11'h638: q = 8'h00; // 0x638 + 11'h639: q = 8'h00; // 0x639 + 11'h63a: q = 8'h00; // 0x63a + 11'h63b: q = 8'h00; // 0x63b + 11'h63c: q = 8'h00; // 0x63c + 11'h63d: q = 8'h00; // 0x63d + 11'h63e: q = 8'h00; // 0x63e + 11'h63f: q = 8'h00; // 0x63f + 11'h640: q = 8'h00; // 0x640 + 11'h641: q = 8'h00; // 0x641 + 11'h642: q = 8'h00; // 0x642 + 11'h643: q = 8'h00; // 0x643 + 11'h644: q = 8'h00; // 0x644 + 11'h645: q = 8'h00; // 0x645 + 11'h646: q = 8'h00; // 0x646 + 11'h647: q = 8'h00; // 0x647 + 11'h648: q = 8'h00; // 0x648 + 11'h649: q = 8'h00; // 0x649 + 11'h64a: q = 8'h00; // 0x64a + 11'h64b: q = 8'h00; // 0x64b + 11'h64c: q = 8'h00; // 0x64c + 11'h64d: q = 8'h00; // 0x64d + 11'h64e: q = 8'h00; // 0x64e + 11'h64f: q = 8'h00; // 0x64f + 11'h650: q = 8'h00; // 0x650 + 11'h651: q = 8'h00; // 0x651 + 11'h652: q = 8'h00; // 0x652 + 11'h653: q = 8'h00; // 0x653 + 11'h654: q = 8'h00; // 0x654 + 11'h655: q = 8'h00; // 0x655 + 11'h656: q = 8'h00; // 0x656 + 11'h657: q = 8'h00; // 0x657 + 11'h658: q = 8'h00; // 0x658 + 11'h659: q = 8'h00; // 0x659 + 11'h65a: q = 8'h00; // 0x65a + 11'h65b: q = 8'h00; // 0x65b + 11'h65c: q = 8'h00; // 0x65c + 11'h65d: q = 8'h00; // 0x65d + 11'h65e: q = 8'h00; // 0x65e + 11'h65f: q = 8'h00; // 0x65f + 11'h660: q = 8'h00; // 0x660 + 11'h661: q = 8'h00; // 0x661 + 11'h662: q = 8'h00; // 0x662 + 11'h663: q = 8'h00; // 0x663 + 11'h664: q = 8'h00; // 0x664 + 11'h665: q = 8'h00; // 0x665 + 11'h666: q = 8'h00; // 0x666 + 11'h667: q = 8'h00; // 0x667 + 11'h668: q = 8'h00; // 0x668 + 11'h669: q = 8'h00; // 0x669 + 11'h66a: q = 8'h00; // 0x66a + 11'h66b: q = 8'h00; // 0x66b + 11'h66c: q = 8'h00; // 0x66c + 11'h66d: q = 8'h00; // 0x66d + 11'h66e: q = 8'h00; // 0x66e + 11'h66f: q = 8'h00; // 0x66f + 11'h670: q = 8'h00; // 0x670 + 11'h671: q = 8'h00; // 0x671 + 11'h672: q = 8'h00; // 0x672 + 11'h673: q = 8'h00; // 0x673 + 11'h674: q = 8'h00; // 0x674 + 11'h675: q = 8'h00; // 0x675 + 11'h676: q = 8'h00; // 0x676 + 11'h677: q = 8'h00; // 0x677 + 11'h678: q = 8'h00; // 0x678 + 11'h679: q = 8'h00; // 0x679 + 11'h67a: q = 8'h00; // 0x67a + 11'h67b: q = 8'h00; // 0x67b + 11'h67c: q = 8'h00; // 0x67c + 11'h67d: q = 8'h00; // 0x67d + 11'h67e: q = 8'h00; // 0x67e + 11'h67f: q = 8'h00; // 0x67f + 11'h680: q = 8'h00; // 0x680 + 11'h681: q = 8'h00; // 0x681 + 11'h682: q = 8'h00; // 0x682 + 11'h683: q = 8'h00; // 0x683 + 11'h684: q = 8'h00; // 0x684 + 11'h685: q = 8'h00; // 0x685 + 11'h686: q = 8'h00; // 0x686 + 11'h687: q = 8'h00; // 0x687 + 11'h688: q = 8'h00; // 0x688 + 11'h689: q = 8'h00; // 0x689 + 11'h68a: q = 8'h00; // 0x68a + 11'h68b: q = 8'h00; // 0x68b + 11'h68c: q = 8'h00; // 0x68c + 11'h68d: q = 8'h00; // 0x68d + 11'h68e: q = 8'h00; // 0x68e + 11'h68f: q = 8'h00; // 0x68f + 11'h690: q = 8'h00; // 0x690 + 11'h691: q = 8'h00; // 0x691 + 11'h692: q = 8'h00; // 0x692 + 11'h693: q = 8'h00; // 0x693 + 11'h694: q = 8'h00; // 0x694 + 11'h695: q = 8'h00; // 0x695 + 11'h696: q = 8'h00; // 0x696 + 11'h697: q = 8'h00; // 0x697 + 11'h698: q = 8'h00; // 0x698 + 11'h699: q = 8'h00; // 0x699 + 11'h69a: q = 8'h00; // 0x69a + 11'h69b: q = 8'h00; // 0x69b + 11'h69c: q = 8'h00; // 0x69c + 11'h69d: q = 8'h00; // 0x69d + 11'h69e: q = 8'h00; // 0x69e + 11'h69f: q = 8'h00; // 0x69f + 11'h6a0: q = 8'h00; // 0x6a0 + 11'h6a1: q = 8'h00; // 0x6a1 + 11'h6a2: q = 8'h00; // 0x6a2 + 11'h6a3: q = 8'h00; // 0x6a3 + 11'h6a4: q = 8'h00; // 0x6a4 + 11'h6a5: q = 8'h00; // 0x6a5 + 11'h6a6: q = 8'h00; // 0x6a6 + 11'h6a7: q = 8'h00; // 0x6a7 + 11'h6a8: q = 8'h00; // 0x6a8 + 11'h6a9: q = 8'h00; // 0x6a9 + 11'h6aa: q = 8'h00; // 0x6aa + 11'h6ab: q = 8'h00; // 0x6ab + 11'h6ac: q = 8'h00; // 0x6ac + 11'h6ad: q = 8'h00; // 0x6ad + 11'h6ae: q = 8'h00; // 0x6ae + 11'h6af: q = 8'h00; // 0x6af + 11'h6b0: q = 8'h00; // 0x6b0 + 11'h6b1: q = 8'h00; // 0x6b1 + 11'h6b2: q = 8'h00; // 0x6b2 + 11'h6b3: q = 8'h00; // 0x6b3 + 11'h6b4: q = 8'h00; // 0x6b4 + 11'h6b5: q = 8'h00; // 0x6b5 + 11'h6b6: q = 8'h00; // 0x6b6 + 11'h6b7: q = 8'h00; // 0x6b7 + 11'h6b8: q = 8'h00; // 0x6b8 + 11'h6b9: q = 8'h00; // 0x6b9 + 11'h6ba: q = 8'h00; // 0x6ba + 11'h6bb: q = 8'h00; // 0x6bb + 11'h6bc: q = 8'h00; // 0x6bc + 11'h6bd: q = 8'h00; // 0x6bd + 11'h6be: q = 8'h00; // 0x6be + 11'h6bf: q = 8'h00; // 0x6bf + 11'h6c0: q = 8'h00; // 0x6c0 + 11'h6c1: q = 8'h00; // 0x6c1 + 11'h6c2: q = 8'h00; // 0x6c2 + 11'h6c3: q = 8'h00; // 0x6c3 + 11'h6c4: q = 8'h00; // 0x6c4 + 11'h6c5: q = 8'h00; // 0x6c5 + 11'h6c6: q = 8'h00; // 0x6c6 + 11'h6c7: q = 8'h00; // 0x6c7 + 11'h6c8: q = 8'h00; // 0x6c8 + 11'h6c9: q = 8'h00; // 0x6c9 + 11'h6ca: q = 8'h00; // 0x6ca + 11'h6cb: q = 8'h00; // 0x6cb + 11'h6cc: q = 8'h00; // 0x6cc + 11'h6cd: q = 8'h00; // 0x6cd + 11'h6ce: q = 8'h00; // 0x6ce + 11'h6cf: q = 8'h00; // 0x6cf + 11'h6d0: q = 8'h00; // 0x6d0 + 11'h6d1: q = 8'h00; // 0x6d1 + 11'h6d2: q = 8'h00; // 0x6d2 + 11'h6d3: q = 8'h00; // 0x6d3 + 11'h6d4: q = 8'h00; // 0x6d4 + 11'h6d5: q = 8'h00; // 0x6d5 + 11'h6d6: q = 8'h00; // 0x6d6 + 11'h6d7: q = 8'h00; // 0x6d7 + 11'h6d8: q = 8'h00; // 0x6d8 + 11'h6d9: q = 8'h00; // 0x6d9 + 11'h6da: q = 8'h00; // 0x6da + 11'h6db: q = 8'h00; // 0x6db + 11'h6dc: q = 8'h00; // 0x6dc + 11'h6dd: q = 8'h00; // 0x6dd + 11'h6de: q = 8'h00; // 0x6de + 11'h6df: q = 8'h00; // 0x6df + 11'h6e0: q = 8'h00; // 0x6e0 + 11'h6e1: q = 8'h00; // 0x6e1 + 11'h6e2: q = 8'h00; // 0x6e2 + 11'h6e3: q = 8'h00; // 0x6e3 + 11'h6e4: q = 8'h00; // 0x6e4 + 11'h6e5: q = 8'h00; // 0x6e5 + 11'h6e6: q = 8'h00; // 0x6e6 + 11'h6e7: q = 8'h00; // 0x6e7 + 11'h6e8: q = 8'h00; // 0x6e8 + 11'h6e9: q = 8'h00; // 0x6e9 + 11'h6ea: q = 8'h00; // 0x6ea + 11'h6eb: q = 8'h00; // 0x6eb + 11'h6ec: q = 8'h00; // 0x6ec + 11'h6ed: q = 8'h00; // 0x6ed + 11'h6ee: q = 8'h00; // 0x6ee + 11'h6ef: q = 8'h00; // 0x6ef + 11'h6f0: q = 8'h00; // 0x6f0 + 11'h6f1: q = 8'h00; // 0x6f1 + 11'h6f2: q = 8'h00; // 0x6f2 + 11'h6f3: q = 8'h00; // 0x6f3 + 11'h6f4: q = 8'h00; // 0x6f4 + 11'h6f5: q = 8'h00; // 0x6f5 + 11'h6f6: q = 8'h00; // 0x6f6 + 11'h6f7: q = 8'h00; // 0x6f7 + 11'h6f8: q = 8'h00; // 0x6f8 + 11'h6f9: q = 8'h00; // 0x6f9 + 11'h6fa: q = 8'h00; // 0x6fa + 11'h6fb: q = 8'h00; // 0x6fb + 11'h6fc: q = 8'h00; // 0x6fc + 11'h6fd: q = 8'h00; // 0x6fd + 11'h6fe: q = 8'h00; // 0x6fe + 11'h6ff: q = 8'h00; // 0x6ff + 11'h700: q = 8'h00; // 0x700 + 11'h701: q = 8'h00; // 0x701 + 11'h702: q = 8'h00; // 0x702 + 11'h703: q = 8'h00; // 0x703 + 11'h704: q = 8'h00; // 0x704 + 11'h705: q = 8'h00; // 0x705 + 11'h706: q = 8'h00; // 0x706 + 11'h707: q = 8'h00; // 0x707 + 11'h708: q = 8'h00; // 0x708 + 11'h709: q = 8'h00; // 0x709 + 11'h70a: q = 8'h00; // 0x70a + 11'h70b: q = 8'h00; // 0x70b + 11'h70c: q = 8'h00; // 0x70c + 11'h70d: q = 8'h00; // 0x70d + 11'h70e: q = 8'h00; // 0x70e + 11'h70f: q = 8'h00; // 0x70f + 11'h710: q = 8'h00; // 0x710 + 11'h711: q = 8'h00; // 0x711 + 11'h712: q = 8'h00; // 0x712 + 11'h713: q = 8'h00; // 0x713 + 11'h714: q = 8'h00; // 0x714 + 11'h715: q = 8'h00; // 0x715 + 11'h716: q = 8'h00; // 0x716 + 11'h717: q = 8'h00; // 0x717 + 11'h718: q = 8'h00; // 0x718 + 11'h719: q = 8'h00; // 0x719 + 11'h71a: q = 8'h00; // 0x71a + 11'h71b: q = 8'h00; // 0x71b + 11'h71c: q = 8'h00; // 0x71c + 11'h71d: q = 8'h00; // 0x71d + 11'h71e: q = 8'h00; // 0x71e + 11'h71f: q = 8'h00; // 0x71f + 11'h720: q = 8'h00; // 0x720 + 11'h721: q = 8'h00; // 0x721 + 11'h722: q = 8'h00; // 0x722 + 11'h723: q = 8'h00; // 0x723 + 11'h724: q = 8'h00; // 0x724 + 11'h725: q = 8'h00; // 0x725 + 11'h726: q = 8'h00; // 0x726 + 11'h727: q = 8'h00; // 0x727 + 11'h728: q = 8'h00; // 0x728 + 11'h729: q = 8'h00; // 0x729 + 11'h72a: q = 8'h00; // 0x72a + 11'h72b: q = 8'h00; // 0x72b + 11'h72c: q = 8'h00; // 0x72c + 11'h72d: q = 8'h00; // 0x72d + 11'h72e: q = 8'h00; // 0x72e + 11'h72f: q = 8'h00; // 0x72f + 11'h730: q = 8'h00; // 0x730 + 11'h731: q = 8'h00; // 0x731 + 11'h732: q = 8'h00; // 0x732 + 11'h733: q = 8'h00; // 0x733 + 11'h734: q = 8'h00; // 0x734 + 11'h735: q = 8'h00; // 0x735 + 11'h736: q = 8'h00; // 0x736 + 11'h737: q = 8'h00; // 0x737 + 11'h738: q = 8'h00; // 0x738 + 11'h739: q = 8'h00; // 0x739 + 11'h73a: q = 8'h00; // 0x73a + 11'h73b: q = 8'h00; // 0x73b + 11'h73c: q = 8'h00; // 0x73c + 11'h73d: q = 8'h00; // 0x73d + 11'h73e: q = 8'h00; // 0x73e + 11'h73f: q = 8'h00; // 0x73f + 11'h740: q = 8'h00; // 0x740 + 11'h741: q = 8'h00; // 0x741 + 11'h742: q = 8'h00; // 0x742 + 11'h743: q = 8'h00; // 0x743 + 11'h744: q = 8'h00; // 0x744 + 11'h745: q = 8'h00; // 0x745 + 11'h746: q = 8'h00; // 0x746 + 11'h747: q = 8'h00; // 0x747 + 11'h748: q = 8'h00; // 0x748 + 11'h749: q = 8'h00; // 0x749 + 11'h74a: q = 8'h00; // 0x74a + 11'h74b: q = 8'h00; // 0x74b + 11'h74c: q = 8'h00; // 0x74c + 11'h74d: q = 8'h00; // 0x74d + 11'h74e: q = 8'h00; // 0x74e + 11'h74f: q = 8'h00; // 0x74f + 11'h750: q = 8'h00; // 0x750 + 11'h751: q = 8'h00; // 0x751 + 11'h752: q = 8'h00; // 0x752 + 11'h753: q = 8'h00; // 0x753 + 11'h754: q = 8'h00; // 0x754 + 11'h755: q = 8'h00; // 0x755 + 11'h756: q = 8'h00; // 0x756 + 11'h757: q = 8'h00; // 0x757 + 11'h758: q = 8'h00; // 0x758 + 11'h759: q = 8'h00; // 0x759 + 11'h75a: q = 8'h00; // 0x75a + 11'h75b: q = 8'h00; // 0x75b + 11'h75c: q = 8'h00; // 0x75c + 11'h75d: q = 8'h00; // 0x75d + 11'h75e: q = 8'h00; // 0x75e + 11'h75f: q = 8'h00; // 0x75f + 11'h760: q = 8'h00; // 0x760 + 11'h761: q = 8'h00; // 0x761 + 11'h762: q = 8'h00; // 0x762 + 11'h763: q = 8'h00; // 0x763 + 11'h764: q = 8'h00; // 0x764 + 11'h765: q = 8'h00; // 0x765 + 11'h766: q = 8'h00; // 0x766 + 11'h767: q = 8'h00; // 0x767 + 11'h768: q = 8'h00; // 0x768 + 11'h769: q = 8'h00; // 0x769 + 11'h76a: q = 8'h00; // 0x76a + 11'h76b: q = 8'h00; // 0x76b + 11'h76c: q = 8'h00; // 0x76c + 11'h76d: q = 8'h00; // 0x76d + 11'h76e: q = 8'h00; // 0x76e + 11'h76f: q = 8'h00; // 0x76f + 11'h770: q = 8'h00; // 0x770 + 11'h771: q = 8'h00; // 0x771 + 11'h772: q = 8'h00; // 0x772 + 11'h773: q = 8'h00; // 0x773 + 11'h774: q = 8'h00; // 0x774 + 11'h775: q = 8'h00; // 0x775 + 11'h776: q = 8'h00; // 0x776 + 11'h777: q = 8'h00; // 0x777 + 11'h778: q = 8'h00; // 0x778 + 11'h779: q = 8'h00; // 0x779 + 11'h77a: q = 8'h00; // 0x77a + 11'h77b: q = 8'h00; // 0x77b + 11'h77c: q = 8'h00; // 0x77c + 11'h77d: q = 8'h00; // 0x77d + 11'h77e: q = 8'h00; // 0x77e + 11'h77f: q = 8'h00; // 0x77f + 11'h780: q = 8'h00; // 0x780 + 11'h781: q = 8'h00; // 0x781 + 11'h782: q = 8'h00; // 0x782 + 11'h783: q = 8'h00; // 0x783 + 11'h784: q = 8'h00; // 0x784 + 11'h785: q = 8'h00; // 0x785 + 11'h786: q = 8'h00; // 0x786 + 11'h787: q = 8'h00; // 0x787 + 11'h788: q = 8'h00; // 0x788 + 11'h789: q = 8'h00; // 0x789 + 11'h78a: q = 8'h00; // 0x78a + 11'h78b: q = 8'h00; // 0x78b + 11'h78c: q = 8'h00; // 0x78c + 11'h78d: q = 8'h00; // 0x78d + 11'h78e: q = 8'h00; // 0x78e + 11'h78f: q = 8'h00; // 0x78f + 11'h790: q = 8'h00; // 0x790 + 11'h791: q = 8'h00; // 0x791 + 11'h792: q = 8'h00; // 0x792 + 11'h793: q = 8'h00; // 0x793 + 11'h794: q = 8'h00; // 0x794 + 11'h795: q = 8'h00; // 0x795 + 11'h796: q = 8'h00; // 0x796 + 11'h797: q = 8'h00; // 0x797 + 11'h798: q = 8'h00; // 0x798 + 11'h799: q = 8'h00; // 0x799 + 11'h79a: q = 8'h00; // 0x79a + 11'h79b: q = 8'h00; // 0x79b + 11'h79c: q = 8'h00; // 0x79c + 11'h79d: q = 8'h00; // 0x79d + 11'h79e: q = 8'h00; // 0x79e + 11'h79f: q = 8'h00; // 0x79f + 11'h7a0: q = 8'h00; // 0x7a0 + 11'h7a1: q = 8'h00; // 0x7a1 + 11'h7a2: q = 8'h00; // 0x7a2 + 11'h7a3: q = 8'h00; // 0x7a3 + 11'h7a4: q = 8'h00; // 0x7a4 + 11'h7a5: q = 8'h00; // 0x7a5 + 11'h7a6: q = 8'h00; // 0x7a6 + 11'h7a7: q = 8'h00; // 0x7a7 + 11'h7a8: q = 8'h00; // 0x7a8 + 11'h7a9: q = 8'h00; // 0x7a9 + 11'h7aa: q = 8'h00; // 0x7aa + 11'h7ab: q = 8'h00; // 0x7ab + 11'h7ac: q = 8'h00; // 0x7ac + 11'h7ad: q = 8'h00; // 0x7ad + 11'h7ae: q = 8'h00; // 0x7ae + 11'h7af: q = 8'h00; // 0x7af + 11'h7b0: q = 8'h00; // 0x7b0 + 11'h7b1: q = 8'h00; // 0x7b1 + 11'h7b2: q = 8'h00; // 0x7b2 + 11'h7b3: q = 8'h00; // 0x7b3 + 11'h7b4: q = 8'h00; // 0x7b4 + 11'h7b5: q = 8'h00; // 0x7b5 + 11'h7b6: q = 8'h00; // 0x7b6 + 11'h7b7: q = 8'h00; // 0x7b7 + 11'h7b8: q = 8'h00; // 0x7b8 + 11'h7b9: q = 8'h00; // 0x7b9 + 11'h7ba: q = 8'h00; // 0x7ba + 11'h7bb: q = 8'h00; // 0x7bb + 11'h7bc: q = 8'h00; // 0x7bc + 11'h7bd: q = 8'h00; // 0x7bd + 11'h7be: q = 8'h00; // 0x7be + 11'h7bf: q = 8'h00; // 0x7bf + 11'h7c0: q = 8'h00; // 0x7c0 + 11'h7c1: q = 8'h00; // 0x7c1 + 11'h7c2: q = 8'h00; // 0x7c2 + 11'h7c3: q = 8'h00; // 0x7c3 + 11'h7c4: q = 8'h00; // 0x7c4 + 11'h7c5: q = 8'h00; // 0x7c5 + 11'h7c6: q = 8'h00; // 0x7c6 + 11'h7c7: q = 8'h00; // 0x7c7 + 11'h7c8: q = 8'h00; // 0x7c8 + 11'h7c9: q = 8'h00; // 0x7c9 + 11'h7ca: q = 8'h00; // 0x7ca + 11'h7cb: q = 8'h00; // 0x7cb + 11'h7cc: q = 8'h00; // 0x7cc + 11'h7cd: q = 8'h00; // 0x7cd + 11'h7ce: q = 8'h00; // 0x7ce + 11'h7cf: q = 8'h00; // 0x7cf + 11'h7d0: q = 8'h00; // 0x7d0 + 11'h7d1: q = 8'h00; // 0x7d1 + 11'h7d2: q = 8'h00; // 0x7d2 + 11'h7d3: q = 8'h00; // 0x7d3 + 11'h7d4: q = 8'h00; // 0x7d4 + 11'h7d5: q = 8'h00; // 0x7d5 + 11'h7d6: q = 8'h00; // 0x7d6 + 11'h7d7: q = 8'h00; // 0x7d7 + 11'h7d8: q = 8'h00; // 0x7d8 + 11'h7d9: q = 8'h00; // 0x7d9 + 11'h7da: q = 8'h00; // 0x7da + 11'h7db: q = 8'h00; // 0x7db + 11'h7dc: q = 8'h00; // 0x7dc + 11'h7dd: q = 8'h00; // 0x7dd + 11'h7de: q = 8'h00; // 0x7de + 11'h7df: q = 8'h00; // 0x7df + 11'h7e0: q = 8'h00; // 0x7e0 + 11'h7e1: q = 8'h00; // 0x7e1 + 11'h7e2: q = 8'h00; // 0x7e2 + 11'h7e3: q = 8'h00; // 0x7e3 + 11'h7e4: q = 8'h00; // 0x7e4 + 11'h7e5: q = 8'h00; // 0x7e5 + 11'h7e6: q = 8'h00; // 0x7e6 + 11'h7e7: q = 8'h00; // 0x7e7 + 11'h7e8: q = 8'h00; // 0x7e8 + 11'h7e9: q = 8'h00; // 0x7e9 + 11'h7ea: q = 8'h00; // 0x7ea + 11'h7eb: q = 8'h00; // 0x7eb + 11'h7ec: q = 8'h00; // 0x7ec + 11'h7ed: q = 8'h00; // 0x7ed + 11'h7ee: q = 8'h00; // 0x7ee + 11'h7ef: q = 8'h00; // 0x7ef + 11'h7f0: q = 8'h00; // 0x7f0 + 11'h7f1: q = 8'h00; // 0x7f1 + 11'h7f2: q = 8'h00; // 0x7f2 + 11'h7f3: q = 8'h00; // 0x7f3 + 11'h7f4: q = 8'h00; // 0x7f4 + 11'h7f5: q = 8'h00; // 0x7f5 + 11'h7f6: q = 8'h00; // 0x7f6 + 11'h7f7: q = 8'h00; // 0x7f7 + 11'h7f8: q = 8'h00; // 0x7f8 + 11'h7f9: q = 8'h00; // 0x7f9 + 11'h7fa: q = 8'h00; // 0x7fa + 11'h7fb: q = 8'h00; // 0x7fb + 11'h7fc: q = 8'h00; // 0x7fc + 11'h7fd: q = 8'h00; // 0x7fd + 11'h7fe: q = 8'h00; // 0x7fe + 11'h7ff: q = 8'h00; // 0x7ff + endcase diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/swap.exe b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/swap.exe new file mode 100644 index 00000000..206d6afc Binary files /dev/null and b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/roms/swap.exe differ diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/scandoubler.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/scandoubler.v new file mode 100644 index 00000000..422336c4 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/scandoubler.v @@ -0,0 +1,190 @@ +// +// scandoubler.v +// +// Copyright (c) 2015 Till Harbaum +// Copyright (c) 2017 Sorgelig +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +// TODO: Delay vsync one line + +module scandoubler #(parameter LENGTH, parameter HALF_DEPTH) +( + // system interface + input clk_sys, + input ce_pix, + output ce_pix_out, + + input hq2x, + + // shifter video interface + input hs_in, + input vs_in, + input hb_in, + input vb_in, + + input [DWIDTH:0] r_in, + input [DWIDTH:0] g_in, + input [DWIDTH:0] b_in, + input mono, + + // output interface + output reg hs_out, + output vs_out, + output hb_out, + output vb_out, + output [DWIDTH:0] r_out, + output [DWIDTH:0] g_out, + output [DWIDTH:0] b_out +); + + +localparam DWIDTH = HALF_DEPTH ? 3 : 7; + +assign vs_out = vso[3]; +assign ce_pix_out = hq2x ? ce_x4 : ce_x2; + +//Compensate picture shift after HQ2x +assign vb_out = vbo[2]; +assign hb_out = hq2x ? hbo[4] : hbo[2]; + +reg [7:0] pix_len = 0; +wire [7:0] pl = pix_len + 1'b1; + +reg ce_x1, ce_x4, ce_x2; +reg req_line_reset; +always @(negedge clk_sys) begin + reg old_ce; + reg [2:0] ce_cnt; + + reg [7:0] pixsz2, pixsz4 = 0; + + old_ce <= ce_pix; + if(~&pix_len) pix_len <= pix_len + 1'd1; + + ce_x4 <= 0; + ce_x2 <= 0; + ce_x1 <= 0; + + // use such odd comparison to place ce_x4 evenly if master clock isn't multiple 4. + if((pl == pixsz4) || (pl == pixsz2) || (pl == (pixsz2+pixsz4))) begin + ce_x4 <= 1; + end + + if(pl == pixsz2) begin + ce_x2 <= 1; + end + + if(~old_ce & ce_pix) begin + pixsz2 <= {1'b0, pl[7:1]}; + pixsz4 <= {2'b00, pl[7:2]}; + ce_x1 <= 1; + ce_x2 <= 1; + ce_x4 <= 1; + pix_len <= 0; + req_line_reset <= 0; + + if(hb_in) req_line_reset <= 1; + end +end + +Hq2x #(.LENGTH(LENGTH), .HALF_DEPTH(HALF_DEPTH)) Hq2x +( + .clk(clk_sys), + .ce_x4(ce_x4), + .inputpixel({b_d,g_d,r_d}), + .mono(mono), + .disable_hq2x(~hq2x), + .reset_frame(vs_in), + .reset_line(req_line_reset), + .read_y(sd_line), + .hblank(hbo[0]), + .outpixel({b_out,g_out,r_out}) +); + +reg [1:0] sd_line; +reg [2:0] vbo; +reg [4:0] hbo; + +reg [DWIDTH:0] r_d; +reg [DWIDTH:0] g_d; +reg [DWIDTH:0] b_d; + +reg [3:0] vso; + +always @(posedge clk_sys) begin + + reg [11:0] hs_max,hs_rise; + reg [10:0] hcnt; + reg [11:0] sd_hcnt; + reg [11:0] hde_start, hde_end; + + reg hs, hs2, vs, hb; + + if(ce_x1) begin + hs <= hs_in; + hb <= hb_in; + + r_d <= r_in; + g_d <= g_in; + b_d <= b_in; + + if(hb && !hb_in) begin + hde_start <= {hcnt,1'b0}; + vbo <= {vbo[1:0], vb_in}; + end + if(!hb && hb_in) hde_end <= {hcnt,1'b0}; + + // falling edge of hsync indicates start of line + if(hs && !hs_in) begin + vso <= (vso<<1) | vs_in; + hs_max <= {hcnt,1'b1}; + hcnt <= 0; + end else begin + hcnt <= hcnt + 1'd1; + end + + // save position of rising edge + if(!hs && hs_in) hs_rise <= {hcnt,1'b1}; + + vs <= vs_in; + if(vs && ~vs_in) sd_line <= 0; + end + + if(ce_x4) begin + hs2 <= hs_in; + hbo[4:1] <= hbo[3:0]; + + // output counter synchronous to input and at twice the rate + sd_hcnt <= sd_hcnt + 1'd1; + + if(hs2 && !hs_in) sd_hcnt <= hs_max; + if(sd_hcnt == hs_max) sd_hcnt <= 0; + + + //prepare to read in advance + if(sd_hcnt == (hde_start-2)) begin + sd_line <= sd_line + 1'd1; + end + + if(sd_hcnt == hde_start) hbo[0] <= 0; + if(sd_hcnt == hde_end) hbo[0] <= 1; + + // replicate horizontal sync at twice the speed + if(sd_hcnt == hs_max) hs_out <= 0; + if(sd_hcnt == hs_rise) hs_out <= 1; + end +end + +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/sigma_delta_dac.v b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/sigma_delta_dac.v new file mode 100644 index 00000000..bba2c552 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/sigma_delta_dac.v @@ -0,0 +1,33 @@ +// +// PWM DAC +// +// MSBI is the highest bit number. NOT amount of bits! +// +module sigma_delta_dac #(parameter MSBI=7) +( + output reg DACout, //Average Output feeding analog lowpass + input [MSBI:0] DACin, //DAC input (excess 2**MSBI) + input CLK, + input RESET +); + +reg [MSBI+2:0] DeltaAdder; //Output of Delta Adder +reg [MSBI+2:0] SigmaAdder; //Output of Sigma Adder +reg [MSBI+2:0] SigmaLatch; //Latches output of Sigma Adder +reg [MSBI+2:0] DeltaB; //B input of Delta Adder + +always @(*) DeltaB = {SigmaLatch[MSBI+2], SigmaLatch[MSBI+2]} << (MSBI+1); +always @(*) DeltaAdder = DACin + DeltaB; +always @(*) SigmaAdder = DeltaAdder + SigmaLatch; + +always @(posedge CLK or posedge RESET) begin + if(RESET) begin + SigmaLatch <= 1'b1 << (MSBI+1); + DACout <= 1; + end else begin + SigmaLatch <= SigmaAdder; + DACout <= ~SigmaLatch[MSBI+2]; + end +end + +endmodule diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/spram.vhd b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/spram.vhd new file mode 100644 index 00000000..d8043481 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/spram.vhd @@ -0,0 +1,55 @@ +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.altera_mf_components.all; + +ENTITY spram IS + generic ( + addr_width_g : integer := 8; + data_width_g : integer := 8 + ); + PORT + ( + address : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0); + clken : IN STD_LOGIC := '1'; + clock : IN STD_LOGIC := '1'; + data : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0); + wren : IN STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0) + ); +END spram; + + +ARCHITECTURE SYN OF spram IS + +BEGIN + altsyncram_component : altsyncram + GENERIC MAP ( + clock_enable_input_a => "NORMAL", + clock_enable_output_a => "BYPASS", + intended_device_family => "Cyclone III", + lpm_hint => "ENABLE_RUNTIME_MOD=NO", + lpm_type => "altsyncram", + numwords_a => 2**addr_width_g, + operation_mode => "SINGLE_PORT", + outdata_aclr_a => "NONE", + outdata_reg_a => "UNREGISTERED", + power_up_uninitialized => "FALSE", + read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ", + widthad_a => addr_width_g, + width_a => data_width_g, + width_byteena_a => 1 + ) + PORT MAP ( + address_a => address, + clock0 => clock, + clocken0 => clken, + data_a => data, + wren_a => wren, + q_a => q + ); + + + +END SYN; diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/sprom.vhd b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/sprom.vhd new file mode 100644 index 00000000..a81ac959 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/sprom.vhd @@ -0,0 +1,82 @@ +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY sprom IS + GENERIC + ( + init_file : string := ""; + widthad_a : natural; + width_a : natural := 8; + outdata_reg_a : string := "UNREGISTERED" + ); + PORT + ( + address : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); + clock : IN STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) + ); +END sprom; + + +ARCHITECTURE SYN OF sprom IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + + + + COMPONENT altsyncram + GENERIC ( + address_aclr_a : STRING; + clock_enable_input_a : STRING; + clock_enable_output_a : STRING; + init_file : STRING; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + numwords_a : NATURAL; + operation_mode : STRING; + outdata_aclr_a : STRING; + outdata_reg_a : STRING; + widthad_a : NATURAL; + width_a : NATURAL; + width_byteena_a : NATURAL + ); + PORT ( + clock0 : IN STD_LOGIC ; + address_a : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); + q_a : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) + ); + END COMPONENT; + +BEGIN + q <= sub_wire0(width_a-1 DOWNTO 0); + + altsyncram_component : altsyncram + GENERIC MAP ( + address_aclr_a => "NONE", + clock_enable_input_a => "BYPASS", + clock_enable_output_a => "BYPASS", + init_file => init_file, + intended_device_family => "Cyclone III", + lpm_hint => "ENABLE_RUNTIME_MOD=NO", + lpm_type => "altsyncram", + numwords_a => 2**widthad_a, + operation_mode => "ROM", + outdata_aclr_a => "NONE", + outdata_reg_a => outdata_reg_a, + widthad_a => widthad_a, + width_a => width_a, + width_byteena_a => 1 + ) + PORT MAP ( + clock0 => clock, + address_a => address, + q_a => sub_wire0 + ); + + + +END SYN; diff --git a/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/video_mixer.sv b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/video_mixer.sv new file mode 100644 index 00000000..22f27933 --- /dev/null +++ b/Arcade_MiST/Atari-Hardware/Centipede_MiST/rtl/video_mixer.sv @@ -0,0 +1,191 @@ +// +// +// Copyright (c) 2017 Sorgelig +// +// This program is GPL Licensed. See COPYING for the full license. +// +// +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +`timescale 1ns / 1ps + +// +// LINE_LENGTH: Length of display line in pixels +// Usually it's length from HSync to HSync. +// May be less if line_start is used. +// +// HALF_DEPTH: If =1 then color dept is 4 bits per component +// For half depth 8 bits monochrome is available with +// mono signal enabled and color = {G, R} + +module video_mixer +#( + parameter LINE_LENGTH = 768, + parameter HALF_DEPTH = 0 +) +( + // master clock + // it should be multiple by (ce_pix*4). + input clk_sys, + + // Pixel clock or clock_enable (both are accepted). + input ce_pix, + output ce_pix_out, + + input scandoubler, + + // scanlines (00-none 01-25% 10-50% 11-75%) + input [1:0] scanlines, + + // High quality 2x scaling + input hq2x, + + // color + input [DWIDTH:0] R, + input [DWIDTH:0] G, + input [DWIDTH:0] B, + + // Monochrome mode (for HALF_DEPTH only) + input mono, + input ypbpr, + + // Positive pulses. + input HSync, + input VSync, + input HBlank, + input VBlank, + + input SPI_SCK, + input SPI_SS3, + input SPI_DI, + + // video output signals + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output reg VGA_VS, + output reg VGA_HS, + output reg VGA_DE +); + +localparam DWIDTH = HALF_DEPTH ? 3 : 7; + +wire [DWIDTH:0] R_sd; +wire [DWIDTH:0] G_sd; +wire [DWIDTH:0] B_sd; +wire hs_sd, vs_sd, hb_sd, vb_sd, ce_pix_sd; + +scandoubler #(.LENGTH(LINE_LENGTH), .HALF_DEPTH(HALF_DEPTH)) sd +( + .*, + .hs_in(HSync), + .vs_in(VSync), + .hb_in(HBlank), + .vb_in(VBlank), + .r_in(R), + .g_in(G), + .b_in(B), + + .ce_pix_out(ce_pix_sd), + .hs_out(hs_sd), + .vs_out(vs_sd), + .hb_out(hb_sd), + .vb_out(vb_sd), + .r_out(R_sd), + .g_out(G_sd), + .b_out(B_sd) +); + +wire [DWIDTH:0] rt = (scandoubler ? R_sd : R); +wire [DWIDTH:0] gt = (scandoubler ? G_sd : G); +wire [DWIDTH:0] bt = (scandoubler ? B_sd : B); + +generate + if(HALF_DEPTH) begin + wire [7:0] r = mono ? {gt,rt} : {rt,rt}; + wire [7:0] g = mono ? {gt,rt} : {gt,gt}; + wire [7:0] b = mono ? {gt,rt} : {bt,bt}; + end else begin + wire [7:0] r = rt; + wire [7:0] g = gt; + wire [7:0] b = bt; + end +endgenerate + +wire hs = (scandoubler ? hs_sd : HSync); +wire vs = (scandoubler ? vs_sd : VSync); + +assign ce_pix_out = scandoubler ? ce_pix_sd : ce_pix; + +reg scanline = 0; +always @(posedge clk_sys) begin + reg old_hs, old_vs; + + old_hs <= hs; + old_vs <= vs; + + if(old_hs && ~hs) scanline <= ~scanline; + if(old_vs && ~vs) scanline <= 0; +end + +wire hde = scandoubler ? ~hb_sd : ~HBlank; +wire vde = scandoubler ? ~vb_sd : ~VBlank; + +reg hsync, vsync; + +reg [7:0] R_in,G_in,B_in; +always @(posedge clk_sys) begin + reg old_hde; + + case(scanlines & {scanline, scanline}) + 1: begin // reduce 25% = 1/2 + 1/4 + R_in <= {1'b0, r[7:1]} + {2'b00, r[7:2]}; + G_in <= {1'b0, g[7:1]} + {2'b00, g[7:2]}; + B_in <= {1'b0, b[7:1]} + {2'b00, b[7:2]}; + end + + 2: begin // reduce 50% = 1/2 + R_in <= {1'b0, r[7:1]}; + G_in <= {1'b0, g[7:1]}; + B_in <= {1'b0, b[7:1]}; + end + + 3: begin // reduce 75% = 1/4 + R_in <= {2'b00, r[7:2]}; + G_in <= {2'b00, g[7:2]}; + B_in <= {2'b00, b[7:2]}; + end + + default: begin + R_in <= r; + G_in <= g; + B_in <= b; + end + endcase + + vsync <= vs; + hsync <= hs; + + old_hde <= hde; + if(~old_hde && hde) VGA_DE <= vde; + if(old_hde && ~hde) VGA_DE <= 0; +end + +assign VGA_VS = (~scandoubler | ypbpr) ? 1'b1 : ~vsync; +assign VGA_HS = (~scandoubler | ypbpr) ? ~(vsync ^ hsync) : ~hsync; + +wire [5:0] R_out,G_out,B_out; +osd osd +( + .*, + .R_in(VGA_DE ? R_in[7:2] : 6'd0), + .G_in(VGA_DE ? G_in[7:2] : 6'd0), + .B_in(VGA_DE ? B_in[7:2] : 6'd0), + .R_out(VGA_R), + .G_out(VGA_G), + .B_out(VGA_B), + .HSync(hsync), + .VSync(vsync) +); + +endmodule diff --git a/Arcade_MiST/Konami Classic/Time_Pilot_MiST/time_pilot_mist.qsf b/Arcade_MiST/Konami Classic/Time_Pilot_MiST/time_pilot_mist.qsf index 14700b3e..91879fd5 100644 --- a/Arcade_MiST/Konami Classic/Time_Pilot_MiST/time_pilot_mist.qsf +++ b/Arcade_MiST/Konami Classic/Time_Pilot_MiST/time_pilot_mist.qsf @@ -117,6 +117,7 @@ set_location_assignment PIN_80 -to AUDIO_R set_location_assignment PIN_105 -to SPI_DO set_location_assignment PIN_88 -to SPI_DI set_location_assignment PIN_126 -to SPI_SCK +set_location_assignment PIN_127 -to SPI_SS2 set_location_assignment PIN_91 -to SPI_SS3 set_location_assignment PIN_13 -to CONF_DATA0