public void handler() {
            /*UINT8*/
            int ireg2 = ROP_ARG(konami.pc);
            konami.pc = konami.pc + 1 & 0xFFFF;

            switch (ireg2) {
                //	case 0x00: EA=0; break; /* auto increment */
                //	case 0x01: EA=0; break; /* double auto increment */
                //	case 0x02: EA=0; break; /* auto decrement */
                //	case 0x03: EA=0; break; /* double auto decrement */
                //	case 0x04: EA=0; break; /* postbyte offs */
                //	case 0x05: EA=0; break; /* postword offs */
                //	case 0x06: EA=0; break; /* normal */
                case 0x07:
                    ea = 0;
                    konami_extended[konami.ireg].handler();
                    konami_ICount[0] -= 2;
                    return;
                //	case 0x08: EA=0; break; /* indirect - auto increment */
                //	case 0x09: EA=0; break; /* indirect - double auto increment */
                //	case 0x0a: EA=0; break; /* indirect - auto decrement */
                //	case 0x0b: EA=0; break; /* indirect - double auto decrement */
                //	case 0x0c: EA=0; break; /* indirect - postbyte offs */
                //	case 0x0d: EA=0; break; /* indirect - postword offs */
                //	case 0x0e: EA=0; break; /* indirect - normal */
                case 0x0f:				/* indirect - extended */

                    ea = IMMWORD();
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                //	case 0x10: EA=0; break; /* auto increment */
                //	case 0x11: EA=0; break; /* double auto increment */
                //	case 0x12: EA=0; break; /* auto decrement */
                //	case 0x13: EA=0; break; /* double auto decrement */
                //	case 0x14: EA=0; break; /* postbyte offs */
                //	case 0x15: EA=0; break; /* postword offs */
                //	case 0x16: EA=0; break; /* normal */
                //	case 0x17: EA=0; break; /* extended */
                //	case 0x18: EA=0; break; /* indirect - auto increment */
                //	case 0x19: EA=0; break; /* indirect - double auto increment */
                //	case 0x1a: EA=0; break; /* indirect - auto decrement */
                //	case 0x1b: EA=0; break; /* indirect - double auto decrement */
                //	case 0x1c: EA=0; break; /* indirect - postbyte offs */
                //	case 0x1d: EA=0; break; /* indirect - postword offs */
                //	case 0x1e: EA=0; break; /* indirect - normal */
                //	case 0x1f: EA=0; break; /* indirect - extended */

                /* base X */
                case 0x20:              /* auto increment */

                    ea = konami.x & 0xFFFF;
                    konami.x = (konami.x + 1) & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x21:				/* double auto increment */

                    ea = konami.x & 0xFFFF;
                    konami.x = (konami.x + 2) & 0xFFFF;
                    konami_ICount[0] -= 3;
                    break;
                case 0x22:				/* auto decrement */

                    konami.x = konami.x - 1 & 0xFFFF;
                    ea = konami.x;
                    konami_ICount[0] -= 2;
                    break;
                case 0x23:				/* double auto decrement */

                    konami.x = konami.x - 2 & 0xFFFF;
                    ea = konami.x;
                    konami_ICount[0] -= 3;
                    break;
                case 0x24:				/* postbyte offs */

                    ea = IMMBYTE();
                    ea = (konami.x + ((byte) ea & 0xFFFF)) & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x25:				/* postword offs */

                    ea = IMMWORD();
                    ea = (ea + konami.x) & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0x26:				/* normal */

                    ea = konami.x & 0xFFFF;
                    break;
                //	case 0x27: EA=0; break; /* extended */
                case 0x28:				/* indirect - auto increment */

                    ea = konami.x;
                    konami.x = konami.x + 1 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x29:				/* indirect - double auto increment */

                    ea = konami.x;
                    konami.x = konami.x + 2 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x2a:				/* indirect - auto decrement */

                    konami.x = konami.x - 1 & 0xFFFF;
                    ea = konami.x;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x2b:				/* indirect - double auto decrement */

                    konami.x = konami.x - 2 & 0xFFFF;
                    ea = konami.x;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x2c:				/* indirect - postbyte offs */

                    ea = IMMBYTE();
                    ea = konami.x + (byte) ea & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0x2d:				/* indirect - postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.x & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0x2e:				/* indirect - normal */

                    ea = konami.x;
                    ea = RM16(ea);
                    konami_ICount[0] -= 3;
                    break;
                //	case 0x2f: EA=0; break; /* indirect - extended */

                /* base Y */
                case 0x30:              /* auto increment */

                    ea = konami.y & 0xFFFF;
                    konami.y = (konami.y + 1) & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x31:				/* double auto increment */

                    ea = konami.y;
                    konami.y = konami.y + 2 & 0xFFFF;
                    konami_ICount[0] -= 3;
                    break;
                case 0x32:				/* auto decrement */

                    konami.y = konami.y - 1 & 0xFFFF;
                    ea = konami.y;
                    konami_ICount[0] -= 2;
                    break;
                case 0x33:				/* double auto decrement */

                    konami.y = konami.y - 2 & 0xFFFF;
                    ea = konami.y;
                    konami_ICount[0] -= 3;
                    break;
                case 0x34:				/* postbyte offs */

                    ea = IMMBYTE();
                    ea = (konami.y + ((byte) ea & 0xFFFF)) & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x35:				/* postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.y & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0x36:				/* normal */

                    ea = konami.y;
                    break;
                //	case 0x37: EA=0; break; /* extended */
                case 0x38:				/* indirect - auto increment */

                    ea = konami.y;
                    konami.y = konami.y + 1 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x39:				/* indirect - double auto increment */

                    ea = konami.y;
                    konami.y = konami.y + 2 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x3a:				/* indirect - auto decrement */

                    konami.y = konami.y - 1 & 0xFFFF;
                    ea = konami.y;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x3b:				/* indirect - double auto decrement */

                    konami.y = konami.y - 2 & 0xFFFF;
                    ea = konami.y;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x3c:				/* indirect - postbyte offs */

                    ea = IMMBYTE();
                    ea = konami.y + (byte) ea & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0x3d:				/* indirect - postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.y & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0x3e:				/* indirect - normal */

                    ea = konami.y;
                    ea = RM16(ea);
                    konami_ICount[0] -= 3;
                    break;
        //	case 0x3f: EA=0; break; /* indirect - extended */

                //  case 0x40: EA=0; break; /* auto increment */
                //	case 0x41: EA=0; break; /* double auto increment */
                //	case 0x42: EA=0; break; /* auto decrement */
                //	case 0x43: EA=0; break; /* double auto decrement */
                //	case 0x44: EA=0; break; /* postbyte offs */
                //	case 0x45: EA=0; break; /* postword offs */
                //	case 0x46: EA=0; break; /* normal */
                //	case 0x47: EA=0; break; /* extended */
                //	case 0x48: EA=0; break; /* indirect - auto increment */
                //	case 0x49: EA=0; break; /* indirect - double auto increment */
                //	case 0x4a: EA=0; break; /* indirect - auto decrement */
                //	case 0x4b: EA=0; break; /* indirect - double auto decrement */
                //	case 0x4c: EA=0; break; /* indirect - postbyte offs */
                //	case 0x4d: EA=0; break; /* indirect - postword offs */
                //	case 0x4e: EA=0; break; /* indirect - normal */
                //	case 0x4f: EA=0; break; /* indirect - extended */

                /* base U */
                case 0x50:              /* auto increment */

                    ea = konami.u & 0xFFFF;
                    konami.u = (konami.u + 1) & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x51:				/* double auto increment */

                    ea = konami.u & 0xFFFF;
                    konami.u = (konami.u + 2) & 0xFFFF;
                    konami_ICount[0] -= 3;
                    break;
                case 0x52:				/* auto decrement */

                    konami.u = konami.u - 1 & 0xFFFF;
                    ea = konami.u;
                    konami_ICount[0] -= 2;
                    break;
                case 0x53:				/* double auto decrement */

                    konami.u = konami.u - 2 & 0xFFFF;
                    ea = konami.u;
                    konami_ICount[0] -= 3;
                    break;
                case 0x54:				/* postbyte offs */

                    ea = IMMBYTE();
                    ea = (konami.u + ((byte) ea & 0xFFFF)) & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x55:				/* postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.u & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0x56:				/* normal */

                    ea = konami.u & 0xFFFF;
                    break;
                //	case 0x57: EA=0; break; /* extended */
                case 0x58:				/* indirect - auto increment */

                    ea = konami.u;
                    konami.u = konami.u + 1 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x59:				/* indirect - double auto increment */

                    ea = konami.u;
                    konami.u = konami.u + 2 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x5a:				/* indirect - auto decrement */

                    konami.u = konami.u - 1 & 0xFFFF;
                    ea = konami.u;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x5b:				/* indirect - double auto decrement */

                    konami.u = konami.u - 2 & 0xFFFF;
                    ea = konami.u;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x5c:				/* indirect - postbyte offs */

                    ea = IMMBYTE();
                    ea = konami.u + (byte) ea & 0xFFFF;
                    ;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0x5d:				/* indirect - postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.u & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0x5e:				/* indirect - normal */

                    ea = konami.u;
                    ea = RM16(ea);
                    konami_ICount[0] -= 3;
                    break;
                //	case 0x5f: EA=0; break; /* indirect - extended */

                /* base S */
                case 0x60:              /* auto increment */

                    ea = konami.s;
                    konami.s = konami.s + 1 & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x61:				/* double auto increment */

                    ea = konami.s;
                    konami.s = konami.s + 2 & 0xFFFF;
                    konami_ICount[0] -= 3;
                    break;
                case 0x62:				/* auto decrement */

                    konami.s = konami.s - 1 & 0xFFFF;
                    ea = konami.s;
                    konami_ICount[0] -= 2;
                    break;
                case 0x63:				/* double auto decrement */

                    konami.s = konami.s - 2 & 0xFFFF;
                    ea = konami.s;
                    konami_ICount[0] -= 3;
                    break;
                case 0x64:				/* postbyte offs */

                    ea = IMMBYTE();
                    ea = konami.s + (byte) ea & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x65:				/* postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.s & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0x66:				/* normal */

                    ea = konami.s;
                    break;
                //	case 0x67: EA=0; break; /* extended */
                case 0x68:				/* indirect - auto increment */

                    ea = konami.s;
                    konami.s = konami.s + 1 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x69:				/* indirect - double auto increment */

                    ea = konami.s;
                    konami.s = konami.s + 2 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x6a:				/* indirect - auto decrement */

                    konami.s = konami.s - 1 & 0xFFFF;
                    ea = konami.s;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x6b:				/* indirect - double auto decrement */

                    konami.s = konami.s - 2 & 0xFFFF;
                    ea = konami.s;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x6c:				/* indirect - postbyte offs */

                    ea = IMMBYTE();
                    ea = konami.s + (byte) ea & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0x6d:				/* indirect - postword offs */

                    ea = IMMWORD();
                    ea = ea + konami.s & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0x6e:				/* indirect - normal */

                    ea = konami.s;
                    ea = RM16(ea);
                    konami_ICount[0] -= 3;
                    break;
                //	case 0x6f: EA=0; break; /* indirect - extended */

                /* base PC */
                case 0x70:              /* auto increment */

                    ea = konami.pc;
                    konami.pc = konami.pc + 1 & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x71:				/* double auto increment */

                    ea = konami.pc;
                    konami.pc = konami.pc + 2 & 0xFFFF;
                    konami_ICount[0] -= 3;
                    break;
                case 0x72:				/* auto decrement */

                    konami.pc = konami.pc - 1 & 0xFFFF;
                    ea = konami.pc;
                    konami_ICount[0] -= 2;
                    break;
                case 0x73:				/* double auto decrement */

                    konami.pc = konami.pc - 2 & 0xFFFF;
                    ea = konami.pc;
                    konami_ICount[0] -= 3;
                    break;
                case 0x74:				/* postbyte offs */

                    ea = IMMBYTE();
                    ea = konami.pc - 1 + (byte) ea & 0xFFFF;
                    konami_ICount[0] -= 2;
                    break;
                case 0x75:				/* postword offs */

                    ea = IMMWORD();
                    ea = ea + (konami.pc - 2) & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0x76:				/* normal */

                    ea = konami.pc;
                    break;
                //	case 0x77: EA=0; break; /* extended */
                case 0x78:				/* indirect - auto increment */

                    ea = konami.pc;
                    konami.pc = konami.pc + 1 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x79:				/* indirect - double auto increment */

                    ea = konami.pc;
                    konami.pc = konami.pc + 2 & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x7a:				/* indirect - auto decrement */

                    konami.pc = konami.pc - 1 & 0xFFFF;
                    ea = konami.pc;
                    ea = RM16(ea);
                    konami_ICount[0] -= 5;
                    break;
                case 0x7b:				/* indirect - double auto decrement */

                    konami.pc = konami.pc - 2 & 0xFFFF;
                    ea = konami.pc;
                    ea = RM16(ea);
                    konami_ICount[0] -= 6;
                    break;
                case 0x7c:				/* indirect - postbyte offs */

                    ea = IMMBYTE();
                    ea = (konami.pc - 1) + (byte) ea & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0x7d:				/* indirect - postword offs */

                    ea = IMMWORD();
                    ea = ea + (konami.pc - 2) & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0x7e:				/* indirect - normal */

                    ea = konami.pc;
                    ea = RM16(ea);
                    konami_ICount[0] -= 3;
                    break;
        //	case 0x7f: EA=0; break; /* indirect - extended */

                //  case 0x80: EA=0; break; /* register a */
                //	case 0x81: EA=0; break; /* register b */
                //	case 0x82: EA=0; break; /* ???? */
                //	case 0x83: EA=0; break; /* ???? */
                //	case 0x84: EA=0; break; /* ???? */
                //	case 0x85: EA=0; break; /* ???? */
                //	case 0x86: EA=0; break; /* ???? */
                //	case 0x87: EA=0; break; /* register d */
                //	case 0x88: EA=0; break; /* indirect - register a */
                //	case 0x89: EA=0; break; /* indirect - register b */
                //	case 0x8a: EA=0; break; /* indirect - ???? */
                //	case 0x8b: EA=0; break; /* indirect - ???? */
                //	case 0x8c: EA=0; break; /* indirect - ???? */
                //	case 0x8d: EA=0; break; /* indirect - ???? */
                //	case 0x8e: EA=0; break; /* indirect - register d */
                //	case 0x8f: EA=0; break; /* indirect - ???? */
                //	case 0x90: EA=0; break; /* register a */
                //	case 0x91: EA=0; break; /* register b */
                //	case 0x92: EA=0; break; /* ???? */
                //	case 0x93: EA=0; break; /* ???? */
                //	case 0x94: EA=0; break; /* ???? */
                //	case 0x95: EA=0; break; /* ???? */
                //	case 0x96: EA=0; break; /* ???? */
                //	case 0x97: EA=0; break; /* register d */
                //	case 0x98: EA=0; break; /* indirect - register a */
                //	case 0x99: EA=0; break; /* indirect - register b */
                //	case 0x9a: EA=0; break; /* indirect - ???? */
                //	case 0x9b: EA=0; break; /* indirect - ???? */
                //	case 0x9c: EA=0; break; /* indirect - ???? */
                //	case 0x9d: EA=0; break; /* indirect - ???? */
                //	case 0x9e: EA=0; break; /* indirect - register d */
                //	case 0x9f: EA=0; break; /* indirect - ???? */
                case 0xa0:				/* register a */

                    ea = konami.x + (byte) A() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                case 0xa1:				/* register b */

                    ea = konami.x + (byte) B() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                //	case 0xa2: EA=0; break; /* ???? */
                //	case 0xa3: EA=0; break; /* ???? */
                //	case 0xa4: EA=0; break; /* ???? */
                //	case 0xa5: EA=0; break; /* ???? */
                //	case 0xa6: EA=0; break; /* ???? */
                case 0xa7:				/* register d */

                    ea = konami.x + konami.d & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0xa8:				/* indirect - register a */

                    ea = konami.x + (byte) A() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0xa9:				/* indirect - register b */

                    ea = konami.x + (byte) B() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                //	case 0xaa: EA=0; break; /* indirect - ???? */
                //	case 0xab: EA=0; break; /* indirect - ???? */
                //	case 0xac: EA=0; break; /* indirect - ???? */
                //	case 0xad: EA=0; break; /* indirect - ???? */
                //	case 0xae: EA=0; break; /* indirect - ???? */
                case 0xaf:				/* indirect - register d */

                    ea = konami.x + konami.d & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0xb0:				/* register a */

                    ea = konami.y + (byte) A() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                case 0xb1:				/* register b */

                    ea = konami.y + (byte) B() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                //	case 0xb2: EA=0; break; /* ???? */
                //	case 0xb3: EA=0; break; /* ???? */
                //	case 0xb4: EA=0; break; /* ???? */
                //	case 0xb5: EA=0; break; /* ???? */
                //	case 0xb6: EA=0; break; /* ???? */
                case 0xb7:				/* register d */

                    ea = konami.y + konami.d & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0xb8:				/* indirect - register a */

                    ea = konami.y + (byte) A() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0xb9:				/* indirect - register b */

                    ea = konami.y + (byte) B() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                //	case 0xba: EA=0; break; /* indirect - ???? */
                //	case 0xbb: EA=0; break; /* indirect - ???? */
                //	case 0xbc: EA=0; break; /* indirect - ???? */
                //	case 0xbd: EA=0; break; /* indirect - ???? */
                //	case 0xbe: EA=0; break; /* indirect - ???? */
                case 0xbf:				/* indirect - register d */

                    ea = konami.y + konami.d & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                //	case 0xc0: EA=0; break; /* register a */
                //	case 0xc1: EA=0; break; /* register b */
                //	case 0xc2: EA=0; break; /* ???? */
                //	case 0xc3: EA=0; break; /* ???? */
                case 0xc4:
                    ea = 0;
                    konami_direct[konami.ireg].handler();
                    konami_ICount[0] -= 1;
                    return;
                //	case 0xc5: EA=0; break; /* ???? */
                //	case 0xc6: EA=0; break; /* ???? */
                //	case 0xc7: EA=0; break; /* register d */
                //	case 0xc8: EA=0; break; /* indirect - register a */
                //	case 0xc9: EA=0; break; /* indirect - register b */
                //	case 0xca: EA=0; break; /* indirect - ???? */
                //	case 0xcb: EA=0; break; /* indirect - ???? */
                case 0xcc:				/* indirect - direct */

                    ea = DIRWORD();
                    konami_ICount[0] -= 4;
                    break;
                //	case 0xcd: EA=0; break; /* indirect - ???? */
                //	case 0xce: EA=0; break; /* indirect - register d */
                //	case 0xcf: EA=0; break; /* indirect - ???? */
                case 0xd0:				/* register a */

                    ea = konami.u + (byte) A() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                case 0xd1:				/* register b */

                    ea = konami.u + (byte) B() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                //	case 0xd2: EA=0; break; /* ???? */
                //	case 0xd3: EA=0; break; /* ???? */
                //	case 0xd4: EA=0; break; /* ???? */
                //	case 0xd5: EA=0; break; /* ???? */
                //	case 0xd6: EA=0; break; /* ???? */
                case 0xd7:				/* register d */

                    ea = konami.u + konami.d & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0xd8:				/* indirect - register a */

                    ea = konami.u + (byte) A() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0xd9:				/* indirect - register b */

                    ea = konami.u + (byte) B() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                //	case 0xda: EA=0; break; /* indirect - ???? */
                //	case 0xdb: EA=0; break; /* indirect - ???? */
                //	case 0xdc: EA=0; break; /* indirect - ???? */
                //	case 0xdd: EA=0; break; /* indirect - ???? */
                //	case 0xde: EA=0; break; /* indirect - ???? */
                case 0xdf:				/* indirect - register d */

                    ea = konami.u + konami.d & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0xe0:				/* register a */

                    ea = konami.s + (byte) A() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                case 0xe1:				/* register b */

                    ea = konami.s + (byte) B() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                //	case 0xe2: EA=0; break; /* ???? */
                //	case 0xe3: EA=0; break; /* ???? */
                //	case 0xe4: EA=0; break; /* ???? */
                //	case 0xe5: EA=0; break; /* ???? */
                //	case 0xe6: EA=0; break; /* ???? */
                case 0xe7:				/* register d */

                    ea = konami.s + konami.d & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0xe8:				/* indirect - register a */

                    ea = konami.s + (byte) A() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0xe9:				/* indirect - register b */

                    ea = konami.s + (byte) B() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                //	case 0xea: EA=0; break; /* indirect - ???? */
                //	case 0xeb: EA=0; break; /* indirect - ???? */
                //	case 0xec: EA=0; break; /* indirect - ???? */
                //	case 0xed: EA=0; break; /* indirect - ???? */
                //	case 0xee: EA=0; break; /* indirect - ???? */
                case 0xef:				/* indirect - register d */

                    ea = konami.s + konami.d & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                case 0xf0:				/* register a */

                    ea = konami.pc + (byte) A() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                case 0xf1:				/* register b */

                    ea = konami.pc + (byte) B() & 0xFFFF;
                    konami_ICount[0] -= 1;
                    break;
                //	case 0xf2: EA=0; break; /* ???? */
                //	case 0xf3: EA=0; break; /* ???? */
                //	case 0xf4: EA=0; break; /* ???? */
                //	case 0xf5: EA=0; break; /* ???? */
                //	case 0xf6: EA=0; break; /* ???? */
                case 0xf7:				/* register d */

                    ea = konami.pc + konami.d & 0xFFFF;
                    konami_ICount[0] -= 4;
                    break;
                case 0xf8:				/* indirect - register a */

                    ea = konami.pc + (byte) A() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                case 0xf9:				/* indirect - register b */

                    ea = konami.pc + (byte) B() & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 4;
                    break;
                //	case 0xfa: EA=0; break; /* indirect - ???? */
                //	case 0xfb: EA=0; break; /* indirect - ???? */
                //	case 0xfc: EA=0; break; /* indirect - ???? */
                //	case 0xfd: EA=0; break; /* indirect - ???? */
                //	case 0xfe: EA=0; break; /* indirect - ???? */
                case 0xff:				/* indirect - register d */

                    ea = konami.pc + konami.d & 0xFFFF;
                    ea = RM16(ea);
                    konami_ICount[0] -= 7;
                    break;
                default:
                    if (errorlog != null) {
                        fprintf(errorlog, "KONAMI: Unknown/Invalid postbyte at PC = %04x\n", konami.pc - 1);
                    }
                    ea = 0;
            }
            if (konamilog != null) {
                switch (ireg2) {
                    case 0x20:
                    case 0x21:
                    case 0x24:
                    case 0x25:
                    case 0x26:
                    case 0x30:
                    case 0x34:
                    case 0x50:
                    case 0x51:
                    case 0x54:
                    case 0x56:
                        break;
                    default:
                        fprintf(konamilog, "konami#%d opcode2 : ireg2:%d,PC:%d,PPC:%d,A:%d,B:%d,D:%d,DP:%d,U:%d,S:%d,X:%d,Y:%d,CC:%d,EA:%d\n", cpu_getactivecpu(), ireg2, konami.pc, konami.ppc, A(), B(), konami.d, konami.dp, konami.u, konami.s, konami.x, konami.y, konami.cc, ea);
                }

            }
            konami_indexed[konami.ireg].handler();
        }