/** VGB: portable GameBoy emulator ***************************/
/**                                                         **/
/**                 CPUFunctions_CB.c                       **/
/**                                                         **/
/** This file contains implementation for the CB table of   **/
/** Z80 commands.                                           **/
/**                                                         **/
/** Copyright (C) Matthias Bethke 1995                      **/
/** Based on the file Codes_CB.h from the original VGB      **/
/** distribution by Marat Fayzullin                         **/
/**     You are not allowed to distribute this software     **/
/**     commercially. Please, notify me, if you make any    **/
/**     changes to this file.                               **/
/*************************************************************/

#include "GB.h"
#include "Z80_Defs.h"

extern byte I;
extern pair J;
extern reg R;
extern byte *RAM;
extern word Cnt;


void f_SLL_B(void) {  R.BC.B.h=(R.BC.B.h>>4)|(R.BC.B.h<<4); }
void f_SLL_C(void) {  R.BC.B.l=(R.BC.B.l>>4)|(R.BC.B.l<<4); }
void f_SLL_D(void) {  R.DE.B.h=(R.DE.B.h>>4)|(R.DE.B.h<<4); }
void f_SLL_E(void) {  R.DE.B.l=(R.DE.B.l>>4)|(R.DE.B.l<<4); }
void f_SLL_H(void) {  R.HL.B.h=(R.HL.B.h>>4)|(R.HL.B.h<<4); }
void f_SLL_L(void) {  R.HL.B.l=(R.HL.B.l>>4)|(R.HL.B.l<<4); }
void f_SLL_xHL(void) {  I=*(RAM+R.HL.W);M_WRMEM(R.HL.W,(I>>4)|(I<<4)); }
void f_SLL_A(void) {  R.AF.B.h=(R.AF.B.h>>4)|(R.AF.B.h<<4); }

void f_RLC_B(void) { M_RLC(R.BC.B.h); }
void f_RLC_C(void) { M_RLC(R.BC.B.l); }
void f_RLC_D(void) { M_RLC(R.DE.B.h); }
void f_RLC_E(void) { M_RLC(R.DE.B.l); }
void f_RLC_H(void) { M_RLC(R.HL.B.h); }
void f_RLC_L(void) { M_RLC(R.HL.B.l); }
void f_RLC_xHL(void) { I=*(RAM+R.HL.W);M_RLC(I);M_WRMEM(R.HL.W,I); }
void f_RLC_A(void) { M_RLC(R.AF.B.h); }

void f_RRC_B(void) { M_RRC(R.BC.B.h); }
void f_RRC_C(void) { M_RRC(R.BC.B.l); }
void f_RRC_D(void) { M_RRC(R.DE.B.h); }
void f_RRC_E(void) { M_RRC(R.DE.B.l); }
void f_RRC_H(void) { M_RRC(R.HL.B.h); }
void f_RRC_L(void) { M_RRC(R.HL.B.l); }
void f_RRC_xHL(void) { I=*(RAM+R.HL.W);M_RRC(I);M_WRMEM(R.HL.W,I); }
void f_RRC_A(void) { M_RRC(R.AF.B.h); }

void f_RL_B(void) { M_RL(R.BC.B.h); }
void f_RL_C(void) { M_RL(R.BC.B.l); }
void f_RL_D(void) { M_RL(R.DE.B.h); }
void f_RL_E(void) { M_RL(R.DE.B.l); }
void f_RL_H(void) { M_RL(R.HL.B.h); }
void f_RL_L(void) { M_RL(R.HL.B.l); }
void f_RL_xHL(void) { I=*(RAM+R.HL.W);M_RL(I);M_WRMEM(R.HL.W,I); }
void f_RL_A(void) { M_RL(R.AF.B.h); }

void f_RR_B(void) { M_RR(R.BC.B.h); }
void f_RR_C(void) { M_RR(R.BC.B.l); }
void f_RR_D(void) { M_RR(R.DE.B.h); }
void f_RR_E(void) { M_RR(R.DE.B.l); }
void f_RR_H(void) { M_RR(R.HL.B.h); }
void f_RR_L(void) { M_RR(R.HL.B.l); }
void f_RR_xHL(void) { I=*(RAM+R.HL.W);M_RR(I);M_WRMEM(R.HL.W,I); }
void f_RR_A(void) { M_RR(R.AF.B.h); }

void f_SLA_B(void) { M_SLA(R.BC.B.h); }
void f_SLA_C(void) { M_SLA(R.BC.B.l); }
void f_SLA_D(void) { M_SLA(R.DE.B.h); }
void f_SLA_E(void) { M_SLA(R.DE.B.l); }
void f_SLA_H(void) { M_SLA(R.HL.B.h); }
void f_SLA_L(void) { M_SLA(R.HL.B.l); }
void f_SLA_xHL(void) { I=*(RAM+R.HL.W);M_SLA(I);M_WRMEM(R.HL.W,I); }
void f_SLA_A(void) { M_SLA(R.AF.B.h); }

void f_SRA_B(void) { M_SRA(R.BC.B.h); }
void f_SRA_C(void) { M_SRA(R.BC.B.l); }
void f_SRA_D(void) { M_SRA(R.DE.B.h); }
void f_SRA_E(void) { M_SRA(R.DE.B.l); }
void f_SRA_H(void) { M_SRA(R.HL.B.h); }
void f_SRA_L(void) { M_SRA(R.HL.B.l); }
void f_SRA_xHL(void) { I=*(RAM+R.HL.W);M_SRA(I);M_WRMEM(R.HL.W,I); }
void f_SRA_A(void) { M_SRA(R.AF.B.h); }

void f_SRL_B(void) { M_SRL(R.BC.B.h); }
void f_SRL_C(void) { M_SRL(R.BC.B.l); }
void f_SRL_D(void) { M_SRL(R.DE.B.h); }
void f_SRL_E(void) { M_SRL(R.DE.B.l); }
void f_SRL_H(void) { M_SRL(R.HL.B.h); }
void f_SRL_L(void) { M_SRL(R.HL.B.l); }
void f_SRL_xHL(void) { I=*(RAM+R.HL.W);M_SRL(I);M_WRMEM(R.HL.W,I); }
void f_SRL_A(void) { M_SRL(R.AF.B.h); }
    
void f_BIT0_B(void) { M_BIT(0,R.BC.B.h); }
void f_BIT0_C(void) { M_BIT(0,R.BC.B.l); }
void f_BIT0_D(void) { M_BIT(0,R.DE.B.h); }
void f_BIT0_E(void) { M_BIT(0,R.DE.B.l); }
void f_BIT0_H(void) { M_BIT(0,R.HL.B.h); }
void f_BIT0_L(void) { M_BIT(0,R.HL.B.l); }
void f_BIT0_xHL(void) { I=*(RAM+R.HL.W);M_BIT(0,I); }
void f_BIT0_A(void) { M_BIT(0,R.AF.B.h); }

void f_BIT1_B(void) { M_BIT(1,R.BC.B.h); }
void f_BIT1_C(void) { M_BIT(1,R.BC.B.l); }
void f_BIT1_D(void) { M_BIT(1,R.DE.B.h); }
void f_BIT1_E(void) { M_BIT(1,R.DE.B.l); }
void f_BIT1_H(void) { M_BIT(1,R.HL.B.h); }
void f_BIT1_L(void) { M_BIT(1,R.HL.B.l); }
void f_BIT1_xHL(void) { I=*(RAM+R.HL.W);M_BIT(1,I); }
void f_BIT1_A(void) { M_BIT(1,R.AF.B.h); }

void f_BIT2_B(void) { M_BIT(2,R.BC.B.h); }
void f_BIT2_C(void) { M_BIT(2,R.BC.B.l); }
void f_BIT2_D(void) { M_BIT(2,R.DE.B.h); }
void f_BIT2_E(void) { M_BIT(2,R.DE.B.l); }
void f_BIT2_H(void) { M_BIT(2,R.HL.B.h); }
void f_BIT2_L(void) { M_BIT(2,R.HL.B.l); }
void f_BIT2_xHL(void) { I=*(RAM+R.HL.W);M_BIT(2,I); }
void f_BIT2_A(void) { M_BIT(2,R.AF.B.h); }

void f_BIT3_B(void) { M_BIT(3,R.BC.B.h); }
void f_BIT3_C(void) { M_BIT(3,R.BC.B.l); }
void f_BIT3_D(void) { M_BIT(3,R.DE.B.h); }
void f_BIT3_E(void) { M_BIT(3,R.DE.B.l); }
void f_BIT3_H(void) { M_BIT(3,R.HL.B.h); }
void f_BIT3_L(void) { M_BIT(3,R.HL.B.l); }
void f_BIT3_xHL(void) { I=*(RAM+R.HL.W);M_BIT(3,I); }
void f_BIT3_A(void) { M_BIT(3,R.AF.B.h); }

void f_BIT4_B(void) { M_BIT(4,R.BC.B.h); }
void f_BIT4_C(void) { M_BIT(4,R.BC.B.l); }
void f_BIT4_D(void) { M_BIT(4,R.DE.B.h); }
void f_BIT4_E(void) { M_BIT(4,R.DE.B.l); }
void f_BIT4_H(void) { M_BIT(4,R.HL.B.h); }
void f_BIT4_L(void) { M_BIT(4,R.HL.B.l); }
void f_BIT4_xHL(void) { I=*(RAM+R.HL.W);M_BIT(4,I); }
void f_BIT4_A(void) { M_BIT(4,R.AF.B.h); }

void f_BIT5_B(void) { M_BIT(5,R.BC.B.h); }
void f_BIT5_C(void) { M_BIT(5,R.BC.B.l); }
void f_BIT5_D(void) { M_BIT(5,R.DE.B.h); }
void f_BIT5_E(void) { M_BIT(5,R.DE.B.l); }
void f_BIT5_H(void) { M_BIT(5,R.HL.B.h); }
void f_BIT5_L(void) { M_BIT(5,R.HL.B.l); }
void f_BIT5_xHL(void) { I=*(RAM+R.HL.W);M_BIT(5,I); }
void f_BIT5_A(void) { M_BIT(5,R.AF.B.h); }

void f_BIT6_B(void) { M_BIT(6,R.BC.B.h); }
void f_BIT6_C(void) { M_BIT(6,R.BC.B.l); }
void f_BIT6_D(void) { M_BIT(6,R.DE.B.h); }
void f_BIT6_E(void) { M_BIT(6,R.DE.B.l); }
void f_BIT6_H(void) { M_BIT(6,R.HL.B.h); }
void f_BIT6_L(void) { M_BIT(6,R.HL.B.l); }
void f_BIT6_xHL(void) { I=*(RAM+R.HL.W);M_BIT(6,I); }
void f_BIT6_A(void) { M_BIT(6,R.AF.B.h); }

void f_BIT7_B(void) { M_BIT(7,R.BC.B.h); }
void f_BIT7_C(void) { M_BIT(7,R.BC.B.l); }
void f_BIT7_D(void) { M_BIT(7,R.DE.B.h); }
void f_BIT7_E(void) { M_BIT(7,R.DE.B.l); }
void f_BIT7_H(void) { M_BIT(7,R.HL.B.h); }
void f_BIT7_L(void) { M_BIT(7,R.HL.B.l); }
void f_BIT7_xHL(void) { I=*(RAM+R.HL.W);M_BIT(7,I); }
void f_BIT7_A(void) { M_BIT(7,R.AF.B.h); }

void f_RES0_B(void) { M_RES(0,R.BC.B.h); }
void f_RES0_C(void) { M_RES(0,R.BC.B.l); }
void f_RES0_D(void) { M_RES(0,R.DE.B.h); }
void f_RES0_E(void) { M_RES(0,R.DE.B.l); }
void f_RES0_H(void) { M_RES(0,R.HL.B.h); }
void f_RES0_L(void) { M_RES(0,R.HL.B.l); }
void f_RES0_xHL(void) { I=*(RAM+R.HL.W);M_RES(0,I);M_WRMEM(R.HL.W,I); }
void f_RES0_A(void) { M_RES(0,R.AF.B.h); }

void f_RES1_B(void) { M_RES(1,R.BC.B.h); }
void f_RES1_C(void) { M_RES(1,R.BC.B.l); }
void f_RES1_D(void) { M_RES(1,R.DE.B.h); }
void f_RES1_E(void) { M_RES(1,R.DE.B.l); }
void f_RES1_H(void) { M_RES(1,R.HL.B.h); }
void f_RES1_L(void) { M_RES(1,R.HL.B.l); }
void f_RES1_xHL(void) { I=*(RAM+R.HL.W);M_RES(1,I);M_WRMEM(R.HL.W,I); }
void f_RES1_A(void) { M_RES(1,R.AF.B.h); }

void f_RES2_B(void) { M_RES(2,R.BC.B.h); }
void f_RES2_C(void) { M_RES(2,R.BC.B.l); }
void f_RES2_D(void) { M_RES(2,R.DE.B.h); }
void f_RES2_E(void) { M_RES(2,R.DE.B.l); }
void f_RES2_H(void) { M_RES(2,R.HL.B.h); }
void f_RES2_L(void) { M_RES(2,R.HL.B.l); }
void f_RES2_xHL(void) { I=*(RAM+R.HL.W);M_RES(2,I);M_WRMEM(R.HL.W,I); }
void f_RES2_A(void) { M_RES(2,R.AF.B.h); }

void f_RES3_B(void) { M_RES(3,R.BC.B.h); }
void f_RES3_C(void) { M_RES(3,R.BC.B.l); }
void f_RES3_D(void) { M_RES(3,R.DE.B.h); }
void f_RES3_E(void) { M_RES(3,R.DE.B.l); }
void f_RES3_H(void) { M_RES(3,R.HL.B.h); }
void f_RES3_L(void) { M_RES(3,R.HL.B.l); }
void f_RES3_xHL(void) { I=*(RAM+R.HL.W);M_RES(3,I);M_WRMEM(R.HL.W,I); }
void f_RES3_A(void) { M_RES(3,R.AF.B.h); }

void f_RES4_B(void) { M_RES(4,R.BC.B.h); }
void f_RES4_C(void) { M_RES(4,R.BC.B.l); }
void f_RES4_D(void) { M_RES(4,R.DE.B.h); }
void f_RES4_E(void) { M_RES(4,R.DE.B.l); }
void f_RES4_H(void) { M_RES(4,R.HL.B.h); }
void f_RES4_L(void) { M_RES(4,R.HL.B.l); }
void f_RES4_xHL(void) { I=*(RAM+R.HL.W);M_RES(4,I);M_WRMEM(R.HL.W,I); }
void f_RES4_A(void) { M_RES(4,R.AF.B.h); }

void f_RES5_B(void) { M_RES(5,R.BC.B.h); }
void f_RES5_C(void) { M_RES(5,R.BC.B.l); }
void f_RES5_D(void) { M_RES(5,R.DE.B.h); }
void f_RES5_E(void) { M_RES(5,R.DE.B.l); }
void f_RES5_H(void) { M_RES(5,R.HL.B.h); }
void f_RES5_L(void) { M_RES(5,R.HL.B.l); }
void f_RES5_xHL(void) { I=*(RAM+R.HL.W);M_RES(5,I);M_WRMEM(R.HL.W,I); }
void f_RES5_A(void) { M_RES(5,R.AF.B.h); }

void f_RES6_B(void) { M_RES(6,R.BC.B.h); }
void f_RES6_C(void) { M_RES(6,R.BC.B.l); }
void f_RES6_D(void) { M_RES(6,R.DE.B.h); }
void f_RES6_E(void) { M_RES(6,R.DE.B.l); }
void f_RES6_H(void) { M_RES(6,R.HL.B.h); }
void f_RES6_L(void) { M_RES(6,R.HL.B.l); }
void f_RES6_xHL(void) { I=*(RAM+R.HL.W);M_RES(6,I);M_WRMEM(R.HL.W,I); }
void f_RES6_A(void) { M_RES(6,R.AF.B.h); }

void f_RES7_B(void) { M_RES(7,R.BC.B.h); }
void f_RES7_C(void) { M_RES(7,R.BC.B.l); }
void f_RES7_D(void) { M_RES(7,R.DE.B.h); }
void f_RES7_E(void) { M_RES(7,R.DE.B.l); }
void f_RES7_H(void) { M_RES(7,R.HL.B.h); }
void f_RES7_L(void) { M_RES(7,R.HL.B.l); }
void f_RES7_xHL(void) { I=*(RAM+R.HL.W);M_RES(7,I);M_WRMEM(R.HL.W,I); }
void f_RES7_A(void) { M_RES(7,R.AF.B.h); }

void f_SET0_B(void) { M_SET(0,R.BC.B.h); }
void f_SET0_C(void) { M_SET(0,R.BC.B.l); }
void f_SET0_D(void) { M_SET(0,R.DE.B.h); }
void f_SET0_E(void) { M_SET(0,R.DE.B.l); }
void f_SET0_H(void) { M_SET(0,R.HL.B.h); }
void f_SET0_L(void) { M_SET(0,R.HL.B.l); }
void f_SET0_xHL(void) { I=*(RAM+R.HL.W);M_SET(0,I);M_WRMEM(R.HL.W,I); }
void f_SET0_A(void) { M_SET(0,R.AF.B.h); }

void f_SET1_B(void) { M_SET(1,R.BC.B.h); }
void f_SET1_C(void) { M_SET(1,R.BC.B.l); }
void f_SET1_D(void) { M_SET(1,R.DE.B.h); }
void f_SET1_E(void) { M_SET(1,R.DE.B.l); }
void f_SET1_H(void) { M_SET(1,R.HL.B.h); }
void f_SET1_L(void) { M_SET(1,R.HL.B.l); }
void f_SET1_xHL(void) { I=*(RAM+R.HL.W);M_SET(1,I);M_WRMEM(R.HL.W,I); }
void f_SET1_A(void) { M_SET(1,R.AF.B.h); }

void f_SET2_B(void) { M_SET(2,R.BC.B.h); }
void f_SET2_C(void) { M_SET(2,R.BC.B.l); }
void f_SET2_D(void) { M_SET(2,R.DE.B.h); }
void f_SET2_E(void) { M_SET(2,R.DE.B.l); }
void f_SET2_H(void) { M_SET(2,R.HL.B.h); }
void f_SET2_L(void) { M_SET(2,R.HL.B.l); }
void f_SET2_xHL(void) { I=*(RAM+R.HL.W);M_SET(2,I);M_WRMEM(R.HL.W,I); }
void f_SET2_A(void) { M_SET(2,R.AF.B.h); }

void f_SET3_B(void) { M_SET(3,R.BC.B.h); }
void f_SET3_C(void) { M_SET(3,R.BC.B.l); }
void f_SET3_D(void) { M_SET(3,R.DE.B.h); }
void f_SET3_E(void) { M_SET(3,R.DE.B.l); }
void f_SET3_H(void) { M_SET(3,R.HL.B.h); }
void f_SET3_L(void) { M_SET(3,R.HL.B.l); }
void f_SET3_xHL(void) { I=*(RAM+R.HL.W);M_SET(3,I);M_WRMEM(R.HL.W,I); }
void f_SET3_A(void) { M_SET(3,R.AF.B.h); }

void f_SET4_B(void) { M_SET(4,R.BC.B.h); }
void f_SET4_C(void) { M_SET(4,R.BC.B.l); }
void f_SET4_D(void) { M_SET(4,R.DE.B.h); }
void f_SET4_E(void) { M_SET(4,R.DE.B.l); }
void f_SET4_H(void) { M_SET(4,R.HL.B.h); }
void f_SET4_L(void) { M_SET(4,R.HL.B.l); }
void f_SET4_xHL(void) { I=*(RAM+R.HL.W);M_SET(4,I);M_WRMEM(R.HL.W,I); }
void f_SET4_A(void) { M_SET(4,R.AF.B.h); }

void f_SET5_B(void) { M_SET(5,R.BC.B.h); }
void f_SET5_C(void) { M_SET(5,R.BC.B.l); }
void f_SET5_D(void) { M_SET(5,R.DE.B.h); }
void f_SET5_E(void) { M_SET(5,R.DE.B.l); }
void f_SET5_H(void) { M_SET(5,R.HL.B.h); }
void f_SET5_L(void) { M_SET(5,R.HL.B.l); }
void f_SET5_xHL(void) { I=*(RAM+R.HL.W);M_SET(5,I);M_WRMEM(R.HL.W,I); }
void f_SET5_A(void) { M_SET(5,R.AF.B.h); }

void f_SET6_B(void) { M_SET(6,R.BC.B.h); }
void f_SET6_C(void) { M_SET(6,R.BC.B.l); }
void f_SET6_D(void) { M_SET(6,R.DE.B.h); }
void f_SET6_E(void) { M_SET(6,R.DE.B.l); }
void f_SET6_H(void) { M_SET(6,R.HL.B.h); }
void f_SET6_L(void) { M_SET(6,R.HL.B.l); }
void f_SET6_xHL(void) { I=*(RAM+R.HL.W);M_SET(6,I);M_WRMEM(R.HL.W,I); }
void f_SET6_A(void) { M_SET(6,R.AF.B.h); }

void f_SET7_B(void) { M_SET(7,R.BC.B.h); }
void f_SET7_C(void) { M_SET(7,R.BC.B.l); }
void f_SET7_D(void) { M_SET(7,R.DE.B.h); }
void f_SET7_E(void) { M_SET(7,R.DE.B.l); }
void f_SET7_H(void) { M_SET(7,R.HL.B.h); }
void f_SET7_L(void) { M_SET(7,R.HL.B.l); }
void f_SET7_xHL(void) { I=*(RAM+R.HL.W);M_SET(7,I);M_WRMEM(R.HL.W,I); }
void f_SET7_A(void) { M_SET(7,R.AF.B.h); }


void (*(JumpTabCB[]))(void) =
{
  &f_RLC_B,&f_RLC_C,&f_RLC_D,&f_RLC_E,&f_RLC_H,&f_RLC_L,&f_RLC_xHL,&f_RLC_A,
  &f_RRC_B,&f_RRC_C,&f_RRC_D,&f_RRC_E,&f_RRC_H,&f_RRC_L,&f_RRC_xHL,&f_RRC_A,
  &f_RL_B,&f_RL_C,&f_RL_D,&f_RL_E,&f_RL_H,&f_RL_L,&f_RL_xHL,&f_RL_A,
  &f_RR_B,&f_RR_C,&f_RR_D,&f_RR_E,&f_RR_H,&f_RR_L,&f_RR_xHL,&f_RR_A,
  &f_SLA_B,&f_SLA_C,&f_SLA_D,&f_SLA_E,&f_SLA_H,&f_SLA_L,&f_SLA_xHL,&f_SLA_A,
  &f_SRA_B,&f_SRA_C,&f_SRA_D,&f_SRA_E,&f_SRA_H,&f_SRA_L,&f_SRA_xHL,&f_SRA_A,
  &f_SLL_B,&f_SLL_C,&f_SLL_D,&f_SLL_E,&f_SLL_H,&f_SLL_L,&f_SLL_xHL,&f_SLL_A,
  &f_SRL_B,&f_SRL_C,&f_SRL_D,&f_SRL_E,&f_SRL_H,&f_SRL_L,&f_SRL_xHL,&f_SRL_A,
  &f_BIT0_B,&f_BIT0_C,&f_BIT0_D,&f_BIT0_E,&f_BIT0_H,&f_BIT0_L,&f_BIT0_xHL,&f_BIT0_A,
  &f_BIT1_B,&f_BIT1_C,&f_BIT1_D,&f_BIT1_E,&f_BIT1_H,&f_BIT1_L,&f_BIT1_xHL,&f_BIT1_A,
  &f_BIT2_B,&f_BIT2_C,&f_BIT2_D,&f_BIT2_E,&f_BIT2_H,&f_BIT2_L,&f_BIT2_xHL,&f_BIT2_A,
  &f_BIT3_B,&f_BIT3_C,&f_BIT3_D,&f_BIT3_E,&f_BIT3_H,&f_BIT3_L,&f_BIT3_xHL,&f_BIT3_A,
  &f_BIT4_B,&f_BIT4_C,&f_BIT4_D,&f_BIT4_E,&f_BIT4_H,&f_BIT4_L,&f_BIT4_xHL,&f_BIT4_A,
  &f_BIT5_B,&f_BIT5_C,&f_BIT5_D,&f_BIT5_E,&f_BIT5_H,&f_BIT5_L,&f_BIT5_xHL,&f_BIT5_A,
  &f_BIT6_B,&f_BIT6_C,&f_BIT6_D,&f_BIT6_E,&f_BIT6_H,&f_BIT6_L,&f_BIT6_xHL,&f_BIT6_A,
  &f_BIT7_B,&f_BIT7_C,&f_BIT7_D,&f_BIT7_E,&f_BIT7_H,&f_BIT7_L,&f_BIT7_xHL,&f_BIT7_A,
  &f_RES0_B,&f_RES0_C,&f_RES0_D,&f_RES0_E,&f_RES0_H,&f_RES0_L,&f_RES0_xHL,&f_RES0_A,
  &f_RES1_B,&f_RES1_C,&f_RES1_D,&f_RES1_E,&f_RES1_H,&f_RES1_L,&f_RES1_xHL,&f_RES1_A,
  &f_RES2_B,&f_RES2_C,&f_RES2_D,&f_RES2_E,&f_RES2_H,&f_RES2_L,&f_RES2_xHL,&f_RES2_A,
  &f_RES3_B,&f_RES3_C,&f_RES3_D,&f_RES3_E,&f_RES3_H,&f_RES3_L,&f_RES3_xHL,&f_RES3_A,
  &f_RES4_B,&f_RES4_C,&f_RES4_D,&f_RES4_E,&f_RES4_H,&f_RES4_L,&f_RES4_xHL,&f_RES4_A,
  &f_RES5_B,&f_RES5_C,&f_RES5_D,&f_RES5_E,&f_RES5_H,&f_RES5_L,&f_RES5_xHL,&f_RES5_A,
  &f_RES6_B,&f_RES6_C,&f_RES6_D,&f_RES6_E,&f_RES6_H,&f_RES6_L,&f_RES6_xHL,&f_RES6_A,
  &f_RES7_B,&f_RES7_C,&f_RES7_D,&f_RES7_E,&f_RES7_H,&f_RES7_L,&f_RES7_xHL,&f_RES7_A,  
  &f_SET0_B,&f_SET0_C,&f_SET0_D,&f_SET0_E,&f_SET0_H,&f_SET0_L,&f_SET0_xHL,&f_SET0_A,
  &f_SET1_B,&f_SET1_C,&f_SET1_D,&f_SET1_E,&f_SET1_H,&f_SET1_L,&f_SET1_xHL,&f_SET1_A,
  &f_SET2_B,&f_SET2_C,&f_SET2_D,&f_SET2_E,&f_SET2_H,&f_SET2_L,&f_SET2_xHL,&f_SET2_A,
  &f_SET3_B,&f_SET3_C,&f_SET3_D,&f_SET3_E,&f_SET3_H,&f_SET3_L,&f_SET3_xHL,&f_SET3_A,
  &f_SET4_B,&f_SET4_C,&f_SET4_D,&f_SET4_E,&f_SET4_H,&f_SET4_L,&f_SET4_xHL,&f_SET4_A,
  &f_SET5_B,&f_SET5_C,&f_SET5_D,&f_SET5_E,&f_SET5_H,&f_SET5_L,&f_SET5_xHL,&f_SET5_A,
  &f_SET6_B,&f_SET6_C,&f_SET6_D,&f_SET6_E,&f_SET6_H,&f_SET6_L,&f_SET6_xHL,&f_SET6_A,
  &f_SET7_B,&f_SET7_C,&f_SET7_D,&f_SET7_E,&f_SET7_H,&f_SET7_L,&f_SET7_xHL,&f_SET7_A
};
