/*! z80.jscpp: z80 supplementary functions
   Copyright (c) 1999-2008 Philip Kendall, Matthew Westcott

	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 3 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, see <http://www.gnu.org/licenses/>.
	
	Contact details: <matthew@west.co.tt>
	Matthew Westcott, 14 Daisy Hill Drive, Adlington, Chorley, Lancs PR6 9NE UNITED KINGDOM
*/
var halfcarry_add_table=[0,16,16,16,0,0,0,16];var halfcarry_sub_table=[0,0,16,0,16,0,16,16];var overflow_add_table=[0,0,0,4,4,0,0,0];var overflow_sub_table=[0,4,0,0,0,0,4,0];var sz53_table=[];var parity_table=[];var sz53p_table=[];var z80={a:0,f:0,b:0,c:0,d:0,e:0,h:0,l:0,a_:0,f_:0,b_:0,c_:0,d_:0,e_:0,h_:0,l_:0,ixh:0,ixl:0,iyh:0,iyl:0,i:0,r:0,r7:0,sp:0,pc:0,iff1:0,iff2:0,im:0,halted:false};function z80_init(){z80_init_tables();z80_clear_breakpoint()}function z80_init_tables(){var c,b,a;var d;for(c=0;c<256;c++){sz53_table[c]=c&(8|32|128);b=c;d=0;for(a=0;a<8;a++){d^=b&1;b>>=1}parity_table[c]=(d?0:4);sz53p_table[c]=sz53_table[c]|parity_table[c]}sz53_table[0]|=64;sz53p_table[0]|=64}function z80_reset(){z80.a=z80.f=z80.b=z80.c=z80.d=z80.e=z80.h=z80.l=0;z80.a_=z80.f_=z80.b_=z80.c_=z80.d_=z80.e_=z80.h_=z80.l_=0;z80.ixh=z80.ixl=z80.iyh=z80.iyl=0;z80.i=z80.r=z80.r7=0;z80.sp=z80.pc=0;z80.iff1=z80.iff2=z80.im=0;z80.halted=0;z80_clear_breakpoint()}function z80_interrupt(){if(z80.iff1){if(z80.halted){z80.pc++;z80.pc&=65535;z80.halted=false}z80.iff1=z80.iff2=0;z80.sp=(z80.sp-1)&65535;writebyte_internal(z80.sp,(z80.pc>>8));z80.sp=(z80.sp-1)&65535;writebyte_internal(z80.sp,(z80.pc&255));z80.r=(z80.r+1)&127;switch(z80.im){case 0:z80.pc=56;tstates+=12;break;case 1:z80.pc=56;tstates+=13;break;case 2:var b=(256*z80.i)+255;var a=readbyte_internal(b++);b&=4095;var c=readbyte_internal(b);z80.pc=a|(c<<8);tstates+=19;break;default:ui_error(UI_ERROR_ERROR,"Unknown interrupt mode %d",z80.im);fuse_abort()}}}function z80_nmi(){z80.iff1=0;z80.sp=(z80.sp-1)&65535;writebyte_internal(z80.sp,(z80.pc>>8));z80.sp=(z80.sp-1)&65535;writebyte_internal(z80.sp,(z80.pc&255));tstates+=11;z80.pc=102}function sign_extend(a){return a<128?a:a-256}function z80_set_breakpoint(a,b){z80.breakpoint=a;z80.breakpoint_handler=b}function z80_clear_breakpoint(){z80.breakpoint=-1;z80.breakpoint_handler=null}function z80_ret(){tstates+=(3);var b=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var a=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=b|(a<<8)}function z80_do_opcodes(){while(tstates<event_next_event){var L;if(z80.pc==z80.breakpoint){z80.breakpoint_handler()}tstates+=(4);z80.r=(z80.r+1)&127;L=readbyte_internal(z80.pc++);z80.pc&=65535;switch(L){case 0:break;case 1:tstates+=(3);z80.c=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);z80.b=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 2:tstates+=(3);writebyte_internal((z80.c|(z80.b<<8)),z80.a);break;case 3:tstates+=2;var n=((z80.c|(z80.b<<8))+1)&65535;z80.b=n>>8;z80.c=n&255;break;case 4:(z80.b)=((z80.b)+1)&255;z80.f=(z80.f&1)|((z80.b)==128?4:0)|((z80.b)&15?0:16)|sz53_table[(z80.b)];break;case 5:z80.f=(z80.f&1)|((z80.b)&15?0:16)|2;(z80.b)=((z80.b)-1)&255;z80.f|=((z80.b)==127?4:0)|sz53_table[z80.b];break;case 6:tstates+=(3);z80.b=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 7:z80.a=((z80.a&127)<<1)|(z80.a>>7);z80.f=(z80.f&(4|64|128))|(z80.a&(1|8|32));break;case 8:if(z80.pc==1233||z80.pc==119){if(tape_save_trap()==0){break}}var y=z80.a;var u=z80.f;z80.a=z80.a_;z80.f=z80.f_;z80.a_=y;z80.f_=u;break;case 9:var d=((z80.l|(z80.h<<8)))+((z80.c|(z80.b<<8)));var j=((((z80.l|(z80.h<<8)))&2048)>>11)|((((z80.c|(z80.b<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.h)=(d>>8)&255;(z80.l)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 10:tstates+=(3);z80.a=readbyte_internal((z80.c|(z80.b<<8)));break;case 11:tstates+=2;var n=((z80.c|(z80.b<<8))-1)&65535;z80.b=n>>8;z80.c=n&255;break;case 12:(z80.c)=((z80.c)+1)&255;z80.f=(z80.f&1)|((z80.c)==128?4:0)|((z80.c)&15?0:16)|sz53_table[(z80.c)];break;case 13:z80.f=(z80.f&1)|((z80.c)&15?0:16)|2;(z80.c)=((z80.c)-1)&255;z80.f|=((z80.c)==127?4:0)|sz53_table[z80.c];break;case 14:tstates+=(3);z80.c=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 15:z80.f=(z80.f&(4|64|128))|(z80.a&1);z80.a=(z80.a>>1)|((z80.a&1)<<7);z80.f|=(z80.a&(8|32));break;case 16:tstates++;tstates+=(3);z80.b=(z80.b-1)&255;if(z80.b){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc+=sign_extend(readbyte_internal(z80.pc));z80.pc&=65535}z80.pc++;z80.pc&=65535;break;case 17:tstates+=(3);z80.e=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);z80.d=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 18:tstates+=(3);writebyte_internal((z80.e|(z80.d<<8)),z80.a);break;case 19:tstates+=2;var n=((z80.e|(z80.d<<8))+1)&65535;z80.d=n>>8;z80.e=n&255;break;case 20:(z80.d)=((z80.d)+1)&255;z80.f=(z80.f&1)|((z80.d)==128?4:0)|((z80.d)&15?0:16)|sz53_table[(z80.d)];break;case 21:z80.f=(z80.f&1)|((z80.d)&15?0:16)|2;(z80.d)=((z80.d)-1)&255;z80.f|=((z80.d)==127?4:0)|sz53_table[z80.d];break;case 22:tstates+=(3);z80.d=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 23:var v=z80.a;z80.a=((z80.a&127)<<1)|(z80.f&1);z80.f=(z80.f&(4|64|128))|(z80.a&(8|32))|(v>>7);break;case 24:tstates+=(3);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc+=sign_extend(readbyte_internal(z80.pc));z80.pc&=65535;z80.pc++;z80.pc&=65535;break;case 25:var d=((z80.l|(z80.h<<8)))+((z80.e|(z80.d<<8)));var j=((((z80.l|(z80.h<<8)))&2048)>>11)|((((z80.e|(z80.d<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.h)=(d>>8)&255;(z80.l)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 26:tstates+=(3);z80.a=readbyte_internal((z80.e|(z80.d<<8)));break;case 27:tstates+=2;var n=((z80.e|(z80.d<<8))-1)&65535;z80.d=n>>8;z80.e=n&255;break;case 28:(z80.e)=((z80.e)+1)&255;z80.f=(z80.f&1)|((z80.e)==128?4:0)|((z80.e)&15?0:16)|sz53_table[(z80.e)];break;case 29:z80.f=(z80.f&1)|((z80.e)&15?0:16)|2;(z80.e)=((z80.e)-1)&255;z80.f|=((z80.e)==127?4:0)|sz53_table[z80.e];break;case 30:tstates+=(3);z80.e=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 31:var v=z80.a;z80.a=(z80.a>>1)|((z80.f&1)<<7);z80.f=(z80.f&(4|64|128))|(z80.a&(8|32))|(v&1);break;case 32:tstates+=(3);if(!(z80.f&64)){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc+=sign_extend(readbyte_internal(z80.pc));z80.pc&=65535}z80.pc++;z80.pc&=65535;break;case 33:tstates+=(3);z80.l=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);z80.h=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 34:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,(z80.l));F&=65535;tstates+=(3);writebyte_internal(F,(z80.h));break;break;case 35:tstates+=2;var n=((z80.l|(z80.h<<8))+1)&65535;z80.h=n>>8;z80.l=n&255;break;case 36:(z80.h)=((z80.h)+1)&255;z80.f=(z80.f&1)|((z80.h)==128?4:0)|((z80.h)&15?0:16)|sz53_table[(z80.h)];break;case 37:z80.f=(z80.f&1)|((z80.h)&15?0:16)|2;(z80.h)=((z80.h)-1)&255;z80.f|=((z80.h)==127?4:0)|sz53_table[z80.h];break;case 38:tstates+=(3);z80.h=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 39:var e=0,b=(z80.f&1);if((z80.f&16)||((z80.a&15)>9)){e=6}if(b||(z80.a>153)){e|=96}if(z80.a>153){b=1}if(z80.f&2){var a=z80.a-(e);var j=((z80.a&136)>>3)|(((e)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a]}else{var K=z80.a+(e);var j=((z80.a&136)>>3)|(((e)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a]}z80.f=(z80.f&~(1|4))|b|parity_table[z80.a];break;case 40:tstates+=(3);if(z80.f&64){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc+=sign_extend(readbyte_internal(z80.pc));z80.pc&=65535}z80.pc++;z80.pc&=65535;break;case 41:var d=((z80.l|(z80.h<<8)))+((z80.l|(z80.h<<8)));var j=((((z80.l|(z80.h<<8)))&2048)>>11)|((((z80.l|(z80.h<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.h)=(d>>8)&255;(z80.l)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 42:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);(z80.l)=readbyte_internal(F++);F&=65535;tstates+=(3);(z80.h)=readbyte_internal(F);break;break;case 43:tstates+=2;var n=((z80.l|(z80.h<<8))-1)&65535;z80.h=n>>8;z80.l=n&255;break;case 44:(z80.l)=((z80.l)+1)&255;z80.f=(z80.f&1)|((z80.l)==128?4:0)|((z80.l)&15?0:16)|sz53_table[(z80.l)];break;case 45:z80.f=(z80.f&1)|((z80.l)&15?0:16)|2;(z80.l)=((z80.l)-1)&255;z80.f|=((z80.l)==127?4:0)|sz53_table[z80.l];break;case 46:tstates+=(3);z80.l=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 47:z80.a^=255;z80.f=(z80.f&(1|4|64|128))|(z80.a&(8|32))|(2|16);break;case 48:tstates+=(3);if(!(z80.f&1)){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc+=sign_extend(readbyte_internal(z80.pc));z80.pc&=65535}z80.pc++;z80.pc&=65535;break;case 49:tstates+=(3);var E=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);var D=readbyte_internal(z80.pc++);z80.sp=E|(D<<8);z80.pc&=65535;break;case 50:tstates+=(3);var n=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);n|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(n,z80.a);break;case 51:tstates+=2;z80.sp=(z80.sp+1)&65535;break;case 52:tstates+=(4);var v=readbyte_internal((z80.l|(z80.h<<8)));(v)=((v)+1)&255;z80.f=(z80.f&1)|((v)==128?4:0)|((v)&15?0:16)|sz53_table[(v)];tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),v);break;case 53:tstates+=(4);var v=readbyte_internal((z80.l|(z80.h<<8)));z80.f=(z80.f&1)|((v)&15?0:16)|2;(v)=((v)-1)&255;z80.f|=((v)==127?4:0)|sz53_table[v];tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),v);break;case 54:tstates+=(3);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal(z80.pc++));z80.pc&=65535;break;case 55:z80.f=(z80.f&(4|64|128))|(z80.a&(8|32))|1;break;case 56:tstates+=(3);if(z80.f&1){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc+=sign_extend(readbyte_internal(z80.pc));z80.pc&=65535}z80.pc++;z80.pc&=65535;break;case 57:var d=((z80.l|(z80.h<<8)))+(z80.sp);var j=((((z80.l|(z80.h<<8)))&2048)>>11)|(((z80.sp)&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.h)=(d>>8)&255;(z80.l)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 58:var n;tstates+=(3);n=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);n|=(readbyte_internal(z80.pc++)<<8);z80.pc&=65535;tstates+=(3);z80.a=readbyte_internal(n);break;case 59:tstates+=2;z80.sp=(z80.sp-1)&65535;break;case 60:(z80.a)=((z80.a)+1)&255;z80.f=(z80.f&1)|((z80.a)==128?4:0)|((z80.a)&15?0:16)|sz53_table[(z80.a)];break;case 61:z80.f=(z80.f&1)|((z80.a)&15?0:16)|2;(z80.a)=((z80.a)-1)&255;z80.f|=((z80.a)==127?4:0)|sz53_table[z80.a];break;case 62:tstates+=(3);z80.a=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 63:z80.f=(z80.f&(4|64|128))|((z80.f&1)?16:1)|(z80.a&(8|32));break;case 64:break;case 65:z80.b=z80.c;break;case 66:z80.b=z80.d;break;case 67:z80.b=z80.e;break;case 68:z80.b=z80.h;break;case 69:z80.b=z80.l;break;case 70:tstates+=(3);z80.b=readbyte_internal((z80.l|(z80.h<<8)));break;case 71:z80.b=z80.a;break;case 72:z80.c=z80.b;break;case 73:break;case 74:z80.c=z80.d;break;case 75:z80.c=z80.e;break;case 76:z80.c=z80.h;break;case 77:z80.c=z80.l;break;case 78:tstates+=(3);z80.c=readbyte_internal((z80.l|(z80.h<<8)));break;case 79:z80.c=z80.a;break;case 80:z80.d=z80.b;break;case 81:z80.d=z80.c;break;case 82:break;case 83:z80.d=z80.e;break;case 84:z80.d=z80.h;break;case 85:z80.d=z80.l;break;case 86:tstates+=(3);z80.d=readbyte_internal((z80.l|(z80.h<<8)));break;case 87:z80.d=z80.a;break;case 88:z80.e=z80.b;break;case 89:z80.e=z80.c;break;case 90:z80.e=z80.d;break;case 91:break;case 92:z80.e=z80.h;break;case 93:z80.e=z80.l;break;case 94:tstates+=(3);z80.e=readbyte_internal((z80.l|(z80.h<<8)));break;case 95:z80.e=z80.a;break;case 96:z80.h=z80.b;break;case 97:z80.h=z80.c;break;case 98:z80.h=z80.d;break;case 99:z80.h=z80.e;break;case 100:break;case 101:z80.h=z80.l;break;case 102:tstates+=(3);z80.h=readbyte_internal((z80.l|(z80.h<<8)));break;case 103:z80.h=z80.a;break;case 104:z80.l=z80.b;break;case 105:z80.l=z80.c;break;case 106:z80.l=z80.d;break;case 107:z80.l=z80.e;break;case 108:z80.l=z80.h;break;case 109:break;case 110:tstates+=(3);z80.l=readbyte_internal((z80.l|(z80.h<<8)));break;case 111:z80.l=z80.a;break;case 112:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.b);break;case 113:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.c);break;case 114:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.d);break;case 115:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.e);break;case 116:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.h);break;case 117:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.l);break;case 118:z80.halted=1;z80.pc--;z80.pc&=65535;break;case 119:tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),z80.a);break;case 120:z80.a=z80.b;break;case 121:z80.a=z80.c;break;case 122:z80.a=z80.d;break;case 123:z80.a=z80.e;break;case 124:z80.a=z80.h;break;case 125:z80.a=z80.l;break;case 126:tstates+=(3);z80.a=readbyte_internal((z80.l|(z80.h<<8)));break;case 127:break;case 128:var K=z80.a+(z80.b);var j=((z80.a&136)>>3)|(((z80.b)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 129:var K=z80.a+(z80.c);var j=((z80.a&136)>>3)|(((z80.c)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 130:var K=z80.a+(z80.d);var j=((z80.a&136)>>3)|(((z80.d)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 131:var K=z80.a+(z80.e);var j=((z80.a&136)>>3)|(((z80.e)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 132:var K=z80.a+(z80.h);var j=((z80.a&136)>>3)|(((z80.h)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 133:var K=z80.a+(z80.l);var j=((z80.a&136)>>3)|(((z80.l)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 134:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));var K=z80.a+(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 135:var K=z80.a+(z80.a);var j=((z80.a&136)>>3)|(((z80.a)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 136:var O=z80.a+(z80.b)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.b)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 137:var O=z80.a+(z80.c)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.c)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 138:var O=z80.a+(z80.d)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.d)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 139:var O=z80.a+(z80.e)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.e)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 140:var O=z80.a+(z80.h)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.h)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 141:var O=z80.a+(z80.l)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.l)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 142:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));var O=z80.a+(v)+(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 143:var O=z80.a+(z80.a)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.a)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 144:var a=z80.a-(z80.b);var j=((z80.a&136)>>3)|(((z80.b)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 145:var a=z80.a-(z80.c);var j=((z80.a&136)>>3)|(((z80.c)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 146:var a=z80.a-(z80.d);var j=((z80.a&136)>>3)|(((z80.d)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 147:var a=z80.a-(z80.e);var j=((z80.a&136)>>3)|(((z80.e)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 148:var a=z80.a-(z80.h);var j=((z80.a&136)>>3)|(((z80.h)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 149:var a=z80.a-(z80.l);var j=((z80.a&136)>>3)|(((z80.l)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 150:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));var a=z80.a-(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 151:var a=z80.a-(z80.a);var j=((z80.a&136)>>3)|(((z80.a)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 152:var P=z80.a-(z80.b)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.b)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 153:var P=z80.a-(z80.c)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.c)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 154:var P=z80.a-(z80.d)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.d)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 155:var P=z80.a-(z80.e)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.e)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 156:var P=z80.a-(z80.h)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.h)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 157:var P=z80.a-(z80.l)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.l)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 158:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));var P=z80.a-(v)-(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 159:var P=z80.a-(z80.a)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.a)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 160:z80.a&=(z80.b);z80.f=16|sz53p_table[z80.a];break;case 161:z80.a&=(z80.c);z80.f=16|sz53p_table[z80.a];break;case 162:z80.a&=(z80.d);z80.f=16|sz53p_table[z80.a];break;case 163:z80.a&=(z80.e);z80.f=16|sz53p_table[z80.a];break;case 164:z80.a&=(z80.h);z80.f=16|sz53p_table[z80.a];break;case 165:z80.a&=(z80.l);z80.f=16|sz53p_table[z80.a];break;case 166:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));z80.a&=(v);z80.f=16|sz53p_table[z80.a];break;case 167:z80.a&=(z80.a);z80.f=16|sz53p_table[z80.a];break;case 168:z80.a^=(z80.b);z80.f=sz53p_table[z80.a];break;case 169:z80.a^=(z80.c);z80.f=sz53p_table[z80.a];break;case 170:z80.a^=(z80.d);z80.f=sz53p_table[z80.a];break;case 171:z80.a^=(z80.e);z80.f=sz53p_table[z80.a];break;case 172:z80.a^=(z80.h);z80.f=sz53p_table[z80.a];break;case 173:z80.a^=(z80.l);z80.f=sz53p_table[z80.a];break;case 174:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));z80.a^=(v);z80.f=sz53p_table[z80.a];break;case 175:z80.a^=(z80.a);z80.f=sz53p_table[z80.a];break;case 176:z80.a|=(z80.b);z80.f=sz53p_table[z80.a];break;case 177:z80.a|=(z80.c);z80.f=sz53p_table[z80.a];break;case 178:z80.a|=(z80.d);z80.f=sz53p_table[z80.a];break;case 179:z80.a|=(z80.e);z80.f=sz53p_table[z80.a];break;case 180:z80.a|=(z80.h);z80.f=sz53p_table[z80.a];break;case 181:z80.a|=(z80.l);z80.f=sz53p_table[z80.a];break;case 182:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));z80.a|=(v);z80.f=sz53p_table[z80.a];break;case 183:z80.a|=(z80.a);z80.f=sz53p_table[z80.a];break;case 184:var H=z80.a-z80.b;var j=((z80.a&136)>>3)|(((z80.b)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.b&(8|32))|(H&128);break;case 185:var H=z80.a-z80.c;var j=((z80.a&136)>>3)|(((z80.c)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.c&(8|32))|(H&128);break;case 186:var H=z80.a-z80.d;var j=((z80.a&136)>>3)|(((z80.d)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.d&(8|32))|(H&128);break;case 187:var H=z80.a-z80.e;var j=((z80.a&136)>>3)|(((z80.e)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.e&(8|32))|(H&128);break;case 188:var H=z80.a-z80.h;var j=((z80.a&136)>>3)|(((z80.h)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.h&(8|32))|(H&128);break;case 189:var H=z80.a-z80.l;var j=((z80.a&136)>>3)|(((z80.l)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.l&(8|32))|(H&128);break;case 190:tstates+=(3);var v=readbyte_internal((z80.l|(z80.h<<8)));var H=z80.a-v;var j=((z80.a&136)>>3)|(((v)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(v&(8|32))|(H&128);break;case 191:var H=z80.a-z80.a;var j=((z80.a&136)>>3)|(((z80.a)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.a&(8|32))|(H&128);break;case 192:tstates++;if(z80.pc==1388||z80.pc==274){loadTapeBlock();break}if(!(z80.f&64)){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 193:tstates+=(3);(z80.c)=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);(z80.b)=readbyte_internal(z80.sp++);z80.sp&=65535;break;case 194:tstates+=(3);tstates+=(3);if(!(z80.f&64)){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 195:tstates+=(3);tstates+=(3);var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8);break;case 196:tstates+=(3);tstates+=(3);if(!(z80.f&64)){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 197:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.b));z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.c));break;case 198:tstates+=(3);var v=readbyte_internal(z80.pc++);var K=z80.a+(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 199:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(0);break;case 200:tstates++;if(z80.f&64){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 201:tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8);break;case 202:tstates+=(3);tstates+=(3);if(z80.f&64){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 203:var C;tstates+=(4);C=readbyte_internal(z80.pc++);z80.pc&=65535;z80.r=(z80.r+1)&127;switch(C){case 0:(z80.b)=(((z80.b)&127)<<1)|((z80.b)>>7);z80.f=((z80.b)&1)|sz53p_table[(z80.b)];break;case 1:(z80.c)=(((z80.c)&127)<<1)|((z80.c)>>7);z80.f=((z80.c)&1)|sz53p_table[(z80.c)];break;case 2:(z80.d)=(((z80.d)&127)<<1)|((z80.d)>>7);z80.f=((z80.d)&1)|sz53p_table[(z80.d)];break;case 3:(z80.e)=(((z80.e)&127)<<1)|((z80.e)>>7);z80.f=((z80.e)&1)|sz53p_table[(z80.e)];break;case 4:(z80.h)=(((z80.h)&127)<<1)|((z80.h)>>7);z80.f=((z80.h)&1)|sz53p_table[(z80.h)];break;case 5:(z80.l)=(((z80.l)&127)<<1)|((z80.l)>>7);z80.f=((z80.l)&1)|sz53p_table[(z80.l)];break;case 6:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);(v)=(((v)&127)<<1)|((v)>>7);z80.f=((v)&1)|sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 7:(z80.a)=(((z80.a)&127)<<1)|((z80.a)>>7);z80.f=((z80.a)&1)|sz53p_table[(z80.a)];break;case 8:z80.f=(z80.b)&1;(z80.b)=((z80.b)>>1)|(((z80.b)&1)<<7);z80.f|=sz53p_table[(z80.b)];break;case 9:z80.f=(z80.c)&1;(z80.c)=((z80.c)>>1)|(((z80.c)&1)<<7);z80.f|=sz53p_table[(z80.c)];break;case 10:z80.f=(z80.d)&1;(z80.d)=((z80.d)>>1)|(((z80.d)&1)<<7);z80.f|=sz53p_table[(z80.d)];break;case 11:z80.f=(z80.e)&1;(z80.e)=((z80.e)>>1)|(((z80.e)&1)<<7);z80.f|=sz53p_table[(z80.e)];break;case 12:z80.f=(z80.h)&1;(z80.h)=((z80.h)>>1)|(((z80.h)&1)<<7);z80.f|=sz53p_table[(z80.h)];break;case 13:z80.f=(z80.l)&1;(z80.l)=((z80.l)>>1)|(((z80.l)&1)<<7);z80.f|=sz53p_table[(z80.l)];break;case 14:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);z80.f=(v)&1;(v)=((v)>>1)|(((v)&1)<<7);z80.f|=sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 15:z80.f=(z80.a)&1;(z80.a)=((z80.a)>>1)|(((z80.a)&1)<<7);z80.f|=sz53p_table[(z80.a)];break;case 16:var z=(z80.b);(z80.b)=(((z80.b)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.b)];break;case 17:var z=(z80.c);(z80.c)=(((z80.c)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.c)];break;case 18:var z=(z80.d);(z80.d)=(((z80.d)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.d)];break;case 19:var z=(z80.e);(z80.e)=(((z80.e)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.e)];break;case 20:var z=(z80.h);(z80.h)=(((z80.h)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.h)];break;case 21:var z=(z80.l);(z80.l)=(((z80.l)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.l)];break;case 22:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);var z=(v);(v)=(((v)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 23:var z=(z80.a);(z80.a)=(((z80.a)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.a)];break;case 24:var N=(z80.b);(z80.b)=((z80.b)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.b)];break;case 25:var N=(z80.c);(z80.c)=((z80.c)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.c)];break;case 26:var N=(z80.d);(z80.d)=((z80.d)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.d)];break;case 27:var N=(z80.e);(z80.e)=((z80.e)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.e)];break;case 28:var N=(z80.h);(z80.h)=((z80.h)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.h)];break;case 29:var N=(z80.l);(z80.l)=((z80.l)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.l)];break;case 30:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);var N=(v);(v)=((v)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 31:var N=(z80.a);(z80.a)=((z80.a)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.a)];break;case 32:z80.f=(z80.b)>>7;(z80.b)<<=1;(z80.b)&=255;z80.f|=sz53p_table[(z80.b)];break;case 33:z80.f=(z80.c)>>7;(z80.c)<<=1;(z80.c)&=255;z80.f|=sz53p_table[(z80.c)];break;case 34:z80.f=(z80.d)>>7;(z80.d)<<=1;(z80.d)&=255;z80.f|=sz53p_table[(z80.d)];break;case 35:z80.f=(z80.e)>>7;(z80.e)<<=1;(z80.e)&=255;z80.f|=sz53p_table[(z80.e)];break;case 36:z80.f=(z80.h)>>7;(z80.h)<<=1;(z80.h)&=255;z80.f|=sz53p_table[(z80.h)];break;case 37:z80.f=(z80.l)>>7;(z80.l)<<=1;(z80.l)&=255;z80.f|=sz53p_table[(z80.l)];break;case 38:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);z80.f=(v)>>7;(v)<<=1;(v)&=255;z80.f|=sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 39:z80.f=(z80.a)>>7;(z80.a)<<=1;(z80.a)&=255;z80.f|=sz53p_table[(z80.a)];break;case 40:z80.f=(z80.b)&1;(z80.b)=((z80.b)&128)|((z80.b)>>1);z80.f|=sz53p_table[(z80.b)];break;case 41:z80.f=(z80.c)&1;(z80.c)=((z80.c)&128)|((z80.c)>>1);z80.f|=sz53p_table[(z80.c)];break;case 42:z80.f=(z80.d)&1;(z80.d)=((z80.d)&128)|((z80.d)>>1);z80.f|=sz53p_table[(z80.d)];break;case 43:z80.f=(z80.e)&1;(z80.e)=((z80.e)&128)|((z80.e)>>1);z80.f|=sz53p_table[(z80.e)];break;case 44:z80.f=(z80.h)&1;(z80.h)=((z80.h)&128)|((z80.h)>>1);z80.f|=sz53p_table[(z80.h)];break;case 45:z80.f=(z80.l)&1;(z80.l)=((z80.l)&128)|((z80.l)>>1);z80.f|=sz53p_table[(z80.l)];break;case 46:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);z80.f=(v)&1;(v)=((v)&128)|((v)>>1);z80.f|=sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 47:z80.f=(z80.a)&1;(z80.a)=((z80.a)&128)|((z80.a)>>1);z80.f|=sz53p_table[(z80.a)];break;case 48:z80.f=(z80.b)>>7;(z80.b)=((z80.b)<<1)|1;(z80.b)&=255;z80.f|=sz53p_table[(z80.b)];break;case 49:z80.f=(z80.c)>>7;(z80.c)=((z80.c)<<1)|1;(z80.c)&=255;z80.f|=sz53p_table[(z80.c)];break;case 50:z80.f=(z80.d)>>7;(z80.d)=((z80.d)<<1)|1;(z80.d)&=255;z80.f|=sz53p_table[(z80.d)];break;case 51:z80.f=(z80.e)>>7;(z80.e)=((z80.e)<<1)|1;(z80.e)&=255;z80.f|=sz53p_table[(z80.e)];break;case 52:z80.f=(z80.h)>>7;(z80.h)=((z80.h)<<1)|1;(z80.h)&=255;z80.f|=sz53p_table[(z80.h)];break;case 53:z80.f=(z80.l)>>7;(z80.l)=((z80.l)<<1)|1;(z80.l)&=255;z80.f|=sz53p_table[(z80.l)];break;case 54:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);z80.f=(v)>>7;(v)=((v)<<1)|1;(v)&=255;z80.f|=sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 55:z80.f=(z80.a)>>7;(z80.a)=((z80.a)<<1)|1;(z80.a)&=255;z80.f|=sz53p_table[(z80.a)];break;case 56:z80.f=(z80.b)&1;(z80.b)>>=1;z80.f|=sz53p_table[(z80.b)];break;case 57:z80.f=(z80.c)&1;(z80.c)>>=1;z80.f|=sz53p_table[(z80.c)];break;case 58:z80.f=(z80.d)&1;(z80.d)>>=1;z80.f|=sz53p_table[(z80.d)];break;case 59:z80.f=(z80.e)&1;(z80.e)>>=1;z80.f|=sz53p_table[(z80.e)];break;case 60:z80.f=(z80.h)&1;(z80.h)>>=1;z80.f|=sz53p_table[(z80.h)];break;case 61:z80.f=(z80.l)&1;(z80.l)>>=1;z80.f|=sz53p_table[(z80.l)];break;case 62:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);tstates+=(3);z80.f=(v)&1;(v)>>=1;z80.f|=sz53p_table[(v)];writebyte_internal((z80.l|(z80.h<<8)),v);break;case 63:z80.f=(z80.a)&1;(z80.a)>>=1;z80.f|=sz53p_table[(z80.a)];break;case 64:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.b)&128){z80.f|=128}break;case 65:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.c)&128){z80.f|=128}break;case 66:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.d)&128){z80.f|=128}break;case 67:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.e)&128){z80.f|=128}break;case 68:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.h)&128){z80.f|=128}break;case 69:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.l)&128){z80.f|=128}break;case 70:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(v)&128){z80.f|=128}break;case 71:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(z80.a)&128){z80.f|=128}break;case 72:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.b)&128){z80.f|=128}break;case 73:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.c)&128){z80.f|=128}break;case 74:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.d)&128){z80.f|=128}break;case 75:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.e)&128){z80.f|=128}break;case 76:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.h)&128){z80.f|=128}break;case 77:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.l)&128){z80.f|=128}break;case 78:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(v)&128){z80.f|=128}break;case 79:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(z80.a)&128){z80.f|=128}break;case 80:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.b)&128){z80.f|=128}break;case 81:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.c)&128){z80.f|=128}break;case 82:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.d)&128){z80.f|=128}break;case 83:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.e)&128){z80.f|=128}break;case 84:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.h)&128){z80.f|=128}break;case 85:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.l)&128){z80.f|=128}break;case 86:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(v)&128){z80.f|=128}break;case 87:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(z80.a)&128){z80.f|=128}break;case 88:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.b)&128){z80.f|=128}break;case 89:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.c)&128){z80.f|=128}break;case 90:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.d)&128){z80.f|=128}break;case 91:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.e)&128){z80.f|=128}break;case 92:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.h)&128){z80.f|=128}break;case 93:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.l)&128){z80.f|=128}break;case 94:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(v)&128){z80.f|=128}break;case 95:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(z80.a)&128){z80.f|=128}break;case 96:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.b)&128){z80.f|=128}break;case 97:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.c)&128){z80.f|=128}break;case 98:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.d)&128){z80.f|=128}break;case 99:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.e)&128){z80.f|=128}break;case 100:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.h)&128){z80.f|=128}break;case 101:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.l)&128){z80.f|=128}break;case 102:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(v)&128){z80.f|=128}break;case 103:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(z80.a)&128){z80.f|=128}break;case 104:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.b)&128){z80.f|=128}break;case 105:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.c)&128){z80.f|=128}break;case 106:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.d)&128){z80.f|=128}break;case 107:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.e)&128){z80.f|=128}break;case 108:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.h)&128){z80.f|=128}break;case 109:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.l)&128){z80.f|=128}break;case 110:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(v)&128){z80.f|=128}break;case 111:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(z80.a)&128){z80.f|=128}break;case 112:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.b)&128){z80.f|=128}break;case 113:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.c)&128){z80.f|=128}break;case 114:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.d)&128){z80.f|=128}break;case 115:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.e)&128){z80.f|=128}break;case 116:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.h)&128){z80.f|=128}break;case 117:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.l)&128){z80.f|=128}break;case 118:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(v)&128){z80.f|=128}break;case 119:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(z80.a)&128){z80.f|=128}break;case 120:z80.f=(z80.f&1)|16|(z80.b&(8|32));if(!((z80.b)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.b)&128){z80.f|=128}break;case 121:z80.f=(z80.f&1)|16|(z80.c&(8|32));if(!((z80.c)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.c)&128){z80.f|=128}break;case 122:z80.f=(z80.f&1)|16|(z80.d&(8|32));if(!((z80.d)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.d)&128){z80.f|=128}break;case 123:z80.f=(z80.f&1)|16|(z80.e&(8|32));if(!((z80.e)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.e)&128){z80.f|=128}break;case 124:z80.f=(z80.f&1)|16|(z80.h&(8|32));if(!((z80.h)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.h)&128){z80.f|=128}break;case 125:z80.f=(z80.f&1)|16|(z80.l&(8|32));if(!((z80.l)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.l)&128){z80.f|=128}break;case 126:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(4);z80.f=(z80.f&1)|16|(v&(8|32));if(!((v)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(v)&128){z80.f|=128}break;case 127:z80.f=(z80.f&1)|16|(z80.a&(8|32));if(!((z80.a)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(z80.a)&128){z80.f|=128}break;case 128:z80.b&=254;break;case 129:z80.c&=254;break;case 130:z80.d&=254;break;case 131:z80.e&=254;break;case 132:z80.h&=254;break;case 133:z80.l&=254;break;case 134:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&254);break;case 135:z80.a&=254;break;case 136:z80.b&=253;break;case 137:z80.c&=253;break;case 138:z80.d&=253;break;case 139:z80.e&=253;break;case 140:z80.h&=253;break;case 141:z80.l&=253;break;case 142:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&253);break;case 143:z80.a&=253;break;case 144:z80.b&=251;break;case 145:z80.c&=251;break;case 146:z80.d&=251;break;case 147:z80.e&=251;break;case 148:z80.h&=251;break;case 149:z80.l&=251;break;case 150:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&251);break;case 151:z80.a&=251;break;case 152:z80.b&=247;break;case 153:z80.c&=247;break;case 154:z80.d&=247;break;case 155:z80.e&=247;break;case 156:z80.h&=247;break;case 157:z80.l&=247;break;case 158:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&247);break;case 159:z80.a&=247;break;case 160:z80.b&=239;break;case 161:z80.c&=239;break;case 162:z80.d&=239;break;case 163:z80.e&=239;break;case 164:z80.h&=239;break;case 165:z80.l&=239;break;case 166:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&239);break;case 167:z80.a&=239;break;case 168:z80.b&=223;break;case 169:z80.c&=223;break;case 170:z80.d&=223;break;case 171:z80.e&=223;break;case 172:z80.h&=223;break;case 173:z80.l&=223;break;case 174:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&223);break;case 175:z80.a&=223;break;case 176:z80.b&=191;break;case 177:z80.c&=191;break;case 178:z80.d&=191;break;case 179:z80.e&=191;break;case 180:z80.h&=191;break;case 181:z80.l&=191;break;case 182:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&191);break;case 183:z80.a&=191;break;case 184:z80.b&=127;break;case 185:z80.c&=127;break;case 186:z80.d&=127;break;case 187:z80.e&=127;break;case 188:z80.h&=127;break;case 189:z80.l&=127;break;case 190:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))&127);break;case 191:z80.a&=127;break;case 192:z80.b|=1;break;case 193:z80.c|=1;break;case 194:z80.d|=1;break;case 195:z80.e|=1;break;case 196:z80.h|=1;break;case 197:z80.l|=1;break;case 198:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|1);break;case 199:z80.a|=1;break;case 200:z80.b|=2;break;case 201:z80.c|=2;break;case 202:z80.d|=2;break;case 203:z80.e|=2;break;case 204:z80.h|=2;break;case 205:z80.l|=2;break;case 206:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|2);break;case 207:z80.a|=2;break;case 208:z80.b|=4;break;case 209:z80.c|=4;break;case 210:z80.d|=4;break;case 211:z80.e|=4;break;case 212:z80.h|=4;break;case 213:z80.l|=4;break;case 214:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|4);break;case 215:z80.a|=4;break;case 216:z80.b|=8;break;case 217:z80.c|=8;break;case 218:z80.d|=8;break;case 219:z80.e|=8;break;case 220:z80.h|=8;break;case 221:z80.l|=8;break;case 222:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|8);break;case 223:z80.a|=8;break;case 224:z80.b|=16;break;case 225:z80.c|=16;break;case 226:z80.d|=16;break;case 227:z80.e|=16;break;case 228:z80.h|=16;break;case 229:z80.l|=16;break;case 230:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|16);break;case 231:z80.a|=16;break;case 232:z80.b|=32;break;case 233:z80.c|=32;break;case 234:z80.d|=32;break;case 235:z80.e|=32;break;case 236:z80.h|=32;break;case 237:z80.l|=32;break;case 238:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|32);break;case 239:z80.a|=32;break;case 240:z80.b|=64;break;case 241:z80.c|=64;break;case 242:z80.d|=64;break;case 243:z80.e|=64;break;case 244:z80.h|=64;break;case 245:z80.l|=64;break;case 246:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|64);break;case 247:z80.a|=64;break;case 248:z80.b|=128;break;case 249:z80.c|=128;break;case 250:z80.d|=128;break;case 251:z80.e|=128;break;case 252:z80.h|=128;break;case 253:z80.l|=128;break;case 254:tstates+=(4);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),readbyte_internal((z80.l|(z80.h<<8)))|128);break;case 255:z80.a|=128;break}break;case 204:tstates+=(3);tstates+=(3);if(z80.f&64){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 205:tstates+=(3);tstates+=(3);var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8);break;case 206:tstates+=(3);var v=readbyte_internal(z80.pc++);var O=z80.a+(v)+(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 207:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(8);break;case 208:tstates++;if(!(z80.f&1)){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 209:tstates+=(3);(z80.e)=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);(z80.d)=readbyte_internal(z80.sp++);z80.sp&=65535;break;case 210:tstates+=(3);tstates+=(3);if(!(z80.f&1)){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 211:var g;tstates+=(4);g=readbyte_internal(z80.pc++)+(z80.a<<8);z80.pc&=65535;tstates+=(3);writeport(g,z80.a);break;case 212:tstates+=(3);tstates+=(3);if(!(z80.f&1)){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 213:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.d));z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.e));break;case 214:tstates+=(3);var v=readbyte_internal(z80.pc++);var a=z80.a-(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 215:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(16);break;case 216:tstates++;if(z80.f&1){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 217:var v;v=z80.b;z80.b=z80.b_;z80.b_=v;v=z80.c;z80.c=z80.c_;z80.c_=v;v=z80.d;z80.d=z80.d_;z80.d_=v;v=z80.e;z80.e=z80.e_;z80.e_=v;v=z80.h;z80.h=z80.h_;z80.h_=v;v=z80.l;z80.l=z80.l_;z80.l_=v;break;case 218:tstates+=(3);tstates+=(3);if(z80.f&1){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 219:var o;tstates+=(4);o=readbyte_internal(z80.pc++)+(z80.a<<8);z80.pc&=65535;tstates+=(3);z80.a=readport(o);break;case 220:tstates+=(3);tstates+=(3);if(z80.f&1){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 221:var C;tstates+=(4);C=readbyte_internal(z80.pc++);z80.pc&=65535;z80.r=(z80.r+1)&127;switch(C){case 9:var d=((z80.ixl|(z80.ixh<<8)))+((z80.c|(z80.b<<8)));var j=((((z80.ixl|(z80.ixh<<8)))&2048)>>11)|((((z80.c|(z80.b<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.ixh)=(d>>8)&255;(z80.ixl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 25:var d=((z80.ixl|(z80.ixh<<8)))+((z80.e|(z80.d<<8)));var j=((((z80.ixl|(z80.ixh<<8)))&2048)>>11)|((((z80.e|(z80.d<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.ixh)=(d>>8)&255;(z80.ixl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 33:tstates+=(3);z80.ixl=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);z80.ixh=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 34:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,(z80.ixl));F&=65535;tstates+=(3);writebyte_internal(F,(z80.ixh));break;break;case 35:tstates+=2;var n=((z80.ixl|(z80.ixh<<8))+1)&65535;z80.ixh=n>>8;z80.ixl=n&255;break;case 36:(z80.ixh)=((z80.ixh)+1)&255;z80.f=(z80.f&1)|((z80.ixh)==128?4:0)|((z80.ixh)&15?0:16)|sz53_table[(z80.ixh)];break;case 37:z80.f=(z80.f&1)|((z80.ixh)&15?0:16)|2;(z80.ixh)=((z80.ixh)-1)&255;z80.f|=((z80.ixh)==127?4:0)|sz53_table[z80.ixh];break;case 38:tstates+=(3);z80.ixh=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 41:var d=((z80.ixl|(z80.ixh<<8)))+((z80.ixl|(z80.ixh<<8)));var j=((((z80.ixl|(z80.ixh<<8)))&2048)>>11)|((((z80.ixl|(z80.ixh<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.ixh)=(d>>8)&255;(z80.ixl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 42:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);(z80.ixl)=readbyte_internal(F++);F&=65535;tstates+=(3);(z80.ixh)=readbyte_internal(F);break;break;case 43:tstates+=2;var n=((z80.ixl|(z80.ixh<<8))-1)&65535;z80.ixh=n>>8;z80.ixl=n&255;break;case 44:(z80.ixl)=((z80.ixl)+1)&255;z80.f=(z80.f&1)|((z80.ixl)==128?4:0)|((z80.ixl)&15?0:16)|sz53_table[(z80.ixl)];break;case 45:z80.f=(z80.f&1)|((z80.ixl)&15?0:16)|2;(z80.ixl)=((z80.ixl)-1)&255;z80.f|=((z80.ixl)==127?4:0)|sz53_table[z80.ixl];break;case 46:tstates+=(3);z80.ixl=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 52:tstates+=15;var n=((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535;z80.pc&=65535;var v=readbyte_internal(n);(v)=((v)+1)&255;z80.f=(z80.f&1)|((v)==128?4:0)|((v)&15?0:16)|sz53_table[(v)];writebyte_internal(n,v);break;case 53:tstates+=15;var n=((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535;z80.pc&=65535;var v=readbyte_internal(n);z80.f=(z80.f&1)|((v)&15?0:16)|2;(v)=((v)-1)&255;z80.f|=((v)==127?4:0)|sz53_table[v];writebyte_internal(n,v);break;case 54:tstates+=11;var n=((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535;z80.pc&=65535;writebyte_internal(n,readbyte_internal(z80.pc++));z80.pc&=65535;break;case 57:var d=((z80.ixl|(z80.ixh<<8)))+(z80.sp);var j=((((z80.ixl|(z80.ixh<<8)))&2048)>>11)|(((z80.sp)&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.ixh)=(d>>8)&255;(z80.ixl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 68:z80.b=z80.ixh;break;case 69:z80.b=z80.ixl;break;case 70:tstates+=11;z80.b=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 76:z80.c=z80.ixh;break;case 77:z80.c=z80.ixl;break;case 78:tstates+=11;z80.c=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 84:z80.d=z80.ixh;break;case 85:z80.d=z80.ixl;break;case 86:tstates+=11;z80.d=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 92:z80.e=z80.ixh;break;case 93:z80.e=z80.ixl;break;case 94:tstates+=11;z80.e=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 96:z80.ixh=z80.b;break;case 97:z80.ixh=z80.c;break;case 98:z80.ixh=z80.d;break;case 99:z80.ixh=z80.e;break;case 100:break;case 101:z80.ixh=z80.ixl;break;case 102:tstates+=11;z80.h=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 103:z80.ixh=z80.a;break;case 104:z80.ixl=z80.b;break;case 105:z80.ixl=z80.c;break;case 106:z80.ixl=z80.d;break;case 107:z80.ixl=z80.e;break;case 108:z80.ixl=z80.ixh;break;case 109:break;case 110:tstates+=11;z80.l=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 111:z80.ixl=z80.a;break;case 112:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.b);z80.pc&=65535;break;case 113:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.c);z80.pc&=65535;break;case 114:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.d);z80.pc&=65535;break;case 115:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.e);z80.pc&=65535;break;case 116:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.h);z80.pc&=65535;break;case 117:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.l);z80.pc&=65535;break;case 119:tstates+=11;writebyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.a);z80.pc&=65535;break;case 124:z80.a=z80.ixh;break;case 125:z80.a=z80.ixl;break;case 126:tstates+=11;z80.a=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 132:var K=z80.a+(z80.ixh);var j=((z80.a&136)>>3)|(((z80.ixh)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 133:var K=z80.a+(z80.ixl);var j=((z80.a&136)>>3)|(((z80.ixl)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 134:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var K=z80.a+(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 140:var O=z80.a+(z80.ixh)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.ixh)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 141:var O=z80.a+(z80.ixl)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.ixl)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 142:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var O=z80.a+(v)+(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 148:var a=z80.a-(z80.ixh);var j=((z80.a&136)>>3)|(((z80.ixh)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 149:var a=z80.a-(z80.ixl);var j=((z80.a&136)>>3)|(((z80.ixl)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 150:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var a=z80.a-(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 156:var P=z80.a-(z80.ixh)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.ixh)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 157:var P=z80.a-(z80.ixl)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.ixl)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 158:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var P=z80.a-(v)-(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 164:z80.a&=(z80.ixh);z80.f=16|sz53p_table[z80.a];break;case 165:z80.a&=(z80.ixl);z80.f=16|sz53p_table[z80.a];break;case 166:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;z80.a&=(v);z80.f=16|sz53p_table[z80.a];break;case 172:z80.a^=(z80.ixh);z80.f=sz53p_table[z80.a];break;case 173:z80.a^=(z80.ixl);z80.f=sz53p_table[z80.a];break;case 174:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;z80.a^=(v);z80.f=sz53p_table[z80.a];break;case 180:z80.a|=(z80.ixh);z80.f=sz53p_table[z80.a];break;case 181:z80.a|=(z80.ixl);z80.f=sz53p_table[z80.a];break;case 182:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;z80.a|=(v);z80.f=sz53p_table[z80.a];break;case 188:var H=z80.a-z80.ixh;var j=((z80.a&136)>>3)|(((z80.ixh)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.ixh&(8|32))|(H&128);break;case 189:var H=z80.a-z80.ixl;var j=((z80.a&136)>>3)|(((z80.ixl)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.ixl&(8|32))|(H&128);break;case 190:tstates+=11;var v=readbyte_internal(((z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var H=z80.a-v;var j=((z80.a&136)>>3)|(((v)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(v&(8|32))|(H&128);break;case 203:var s;var B;tstates+=(3);s=(z80.ixl|(z80.ixh<<8))+sign_extend(readbyte_internal(z80.pc++));z80.pc&=65535;tstates+=(4);B=readbyte_internal(z80.pc++);z80.pc&=65535;switch(B){case 0:tstates+=8;z80.b=readbyte_internal(s);(z80.b)=(((z80.b)&127)<<1)|((z80.b)>>7);z80.f=((z80.b)&1)|sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 1:tstates+=8;z80.c=readbyte_internal(s);(z80.c)=(((z80.c)&127)<<1)|((z80.c)>>7);z80.f=((z80.c)&1)|sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 2:tstates+=8;z80.d=readbyte_internal(s);(z80.d)=(((z80.d)&127)<<1)|((z80.d)>>7);z80.f=((z80.d)&1)|sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 3:tstates+=8;z80.e=readbyte_internal(s);(z80.e)=(((z80.e)&127)<<1)|((z80.e)>>7);z80.f=((z80.e)&1)|sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 4:tstates+=8;z80.h=readbyte_internal(s);(z80.h)=(((z80.h)&127)<<1)|((z80.h)>>7);z80.f=((z80.h)&1)|sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 5:tstates+=8;z80.l=readbyte_internal(s);(z80.l)=(((z80.l)&127)<<1)|((z80.l)>>7);z80.f=((z80.l)&1)|sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 6:tstates+=8;var v=readbyte_internal(s);(v)=(((v)&127)<<1)|((v)>>7);z80.f=((v)&1)|sz53p_table[(v)];writebyte_internal(s,v);break;case 7:tstates+=8;z80.a=readbyte_internal(s);(z80.a)=(((z80.a)&127)<<1)|((z80.a)>>7);z80.f=((z80.a)&1)|sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 8:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)&1;(z80.b)=((z80.b)>>1)|(((z80.b)&1)<<7);z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 9:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)&1;(z80.c)=((z80.c)>>1)|(((z80.c)&1)<<7);z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 10:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)&1;(z80.d)=((z80.d)>>1)|(((z80.d)&1)<<7);z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 11:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)&1;(z80.e)=((z80.e)>>1)|(((z80.e)&1)<<7);z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 12:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)&1;(z80.h)=((z80.h)>>1)|(((z80.h)&1)<<7);z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 13:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)&1;(z80.l)=((z80.l)>>1)|(((z80.l)&1)<<7);z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 14:tstates+=8;var v=readbyte_internal(s);z80.f=(v)&1;(v)=((v)>>1)|(((v)&1)<<7);z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 15:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)&1;(z80.a)=((z80.a)>>1)|(((z80.a)&1)<<7);z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 16:tstates+=8;z80.b=readbyte_internal(s);var z=(z80.b);(z80.b)=(((z80.b)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 17:tstates+=8;z80.c=readbyte_internal(s);var z=(z80.c);(z80.c)=(((z80.c)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 18:tstates+=8;z80.d=readbyte_internal(s);var z=(z80.d);(z80.d)=(((z80.d)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 19:tstates+=8;z80.e=readbyte_internal(s);var z=(z80.e);(z80.e)=(((z80.e)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 20:tstates+=8;z80.h=readbyte_internal(s);var z=(z80.h);(z80.h)=(((z80.h)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 21:tstates+=8;z80.l=readbyte_internal(s);var z=(z80.l);(z80.l)=(((z80.l)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 22:tstates+=8;var v=readbyte_internal(s);var z=(v);(v)=(((v)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(v)];writebyte_internal(s,v);break;case 23:tstates+=8;z80.a=readbyte_internal(s);var z=(z80.a);(z80.a)=(((z80.a)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 24:tstates+=8;z80.b=readbyte_internal(s);var N=(z80.b);(z80.b)=((z80.b)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 25:tstates+=8;z80.c=readbyte_internal(s);var N=(z80.c);(z80.c)=((z80.c)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 26:tstates+=8;z80.d=readbyte_internal(s);var N=(z80.d);(z80.d)=((z80.d)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 27:tstates+=8;z80.e=readbyte_internal(s);var N=(z80.e);(z80.e)=((z80.e)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 28:tstates+=8;z80.h=readbyte_internal(s);var N=(z80.h);(z80.h)=((z80.h)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 29:tstates+=8;z80.l=readbyte_internal(s);var N=(z80.l);(z80.l)=((z80.l)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 30:tstates+=8;var v=readbyte_internal(s);var N=(v);(v)=((v)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(v)];writebyte_internal(s,v);break;case 31:tstates+=8;z80.a=readbyte_internal(s);var N=(z80.a);(z80.a)=((z80.a)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 32:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)>>7;(z80.b)<<=1;(z80.b)&=255;z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 33:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)>>7;(z80.c)<<=1;(z80.c)&=255;z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 34:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)>>7;(z80.d)<<=1;(z80.d)&=255;z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 35:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)>>7;(z80.e)<<=1;(z80.e)&=255;z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 36:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)>>7;(z80.h)<<=1;(z80.h)&=255;z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 37:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)>>7;(z80.l)<<=1;(z80.l)&=255;z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 38:tstates+=8;var v=readbyte_internal(s);z80.f=(v)>>7;(v)<<=1;(v)&=255;z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 39:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)>>7;(z80.a)<<=1;(z80.a)&=255;z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 40:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)&1;(z80.b)=((z80.b)&128)|((z80.b)>>1);z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 41:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)&1;(z80.c)=((z80.c)&128)|((z80.c)>>1);z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 42:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)&1;(z80.d)=((z80.d)&128)|((z80.d)>>1);z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 43:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)&1;(z80.e)=((z80.e)&128)|((z80.e)>>1);z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 44:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)&1;(z80.h)=((z80.h)&128)|((z80.h)>>1);z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 45:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)&1;(z80.l)=((z80.l)&128)|((z80.l)>>1);z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 46:tstates+=8;var v=readbyte_internal(s);z80.f=(v)&1;(v)=((v)&128)|((v)>>1);z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 47:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)&1;(z80.a)=((z80.a)&128)|((z80.a)>>1);z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 48:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)>>7;(z80.b)=((z80.b)<<1)|1;(z80.b)&=255;z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 49:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)>>7;(z80.c)=((z80.c)<<1)|1;(z80.c)&=255;z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 50:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)>>7;(z80.d)=((z80.d)<<1)|1;(z80.d)&=255;z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 51:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)>>7;(z80.e)=((z80.e)<<1)|1;(z80.e)&=255;z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 52:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)>>7;(z80.h)=((z80.h)<<1)|1;(z80.h)&=255;z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 53:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)>>7;(z80.l)=((z80.l)<<1)|1;(z80.l)&=255;z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 54:tstates+=8;var v=readbyte_internal(s);z80.f=(v)>>7;(v)=((v)<<1)|1;(v)&=255;z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 55:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)>>7;(z80.a)=((z80.a)<<1)|1;(z80.a)&=255;z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 56:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)&1;(z80.b)>>=1;z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 57:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)&1;(z80.c)>>=1;z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 58:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)&1;(z80.d)>>=1;z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 59:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)&1;(z80.e)>>=1;z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 60:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)&1;(z80.h)>>=1;z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 61:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)&1;(z80.l)>>=1;z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 62:tstates+=8;var v=readbyte_internal(s);z80.f=(v)&1;(v)>>=1;z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 63:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)&1;(z80.a)>>=1;z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(v)&128){z80.f|=128}break;case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(v)&128){z80.f|=128}break;case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(v)&128){z80.f|=128}break;case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(v)&128){z80.f|=128}break;case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(v)&128){z80.f|=128}break;case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(v)&128){z80.f|=128}break;case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(v)&128){z80.f|=128}break;case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 127:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(v)&128){z80.f|=128}break;case 128:tstates+=8;z80.b=readbyte_internal(s)&254;writebyte_internal(s,z80.b);break;case 129:tstates+=8;z80.c=readbyte_internal(s)&254;writebyte_internal(s,z80.c);break;case 130:tstates+=8;z80.d=readbyte_internal(s)&254;writebyte_internal(s,z80.d);break;case 131:tstates+=8;z80.e=readbyte_internal(s)&254;writebyte_internal(s,z80.e);break;case 132:tstates+=8;z80.h=readbyte_internal(s)&254;writebyte_internal(s,z80.h);break;case 133:tstates+=8;z80.l=readbyte_internal(s)&254;writebyte_internal(s,z80.l);break;case 134:tstates+=8;writebyte_internal(s,readbyte_internal(s)&254);break;case 135:tstates+=8;z80.a=readbyte_internal(s)&254;writebyte_internal(s,z80.a);break;case 136:tstates+=8;z80.b=readbyte_internal(s)&253;writebyte_internal(s,z80.b);break;case 137:tstates+=8;z80.c=readbyte_internal(s)&253;writebyte_internal(s,z80.c);break;case 138:tstates+=8;z80.d=readbyte_internal(s)&253;writebyte_internal(s,z80.d);break;case 139:tstates+=8;z80.e=readbyte_internal(s)&253;writebyte_internal(s,z80.e);break;case 140:tstates+=8;z80.h=readbyte_internal(s)&253;writebyte_internal(s,z80.h);break;case 141:tstates+=8;z80.l=readbyte_internal(s)&253;writebyte_internal(s,z80.l);break;case 142:tstates+=8;writebyte_internal(s,readbyte_internal(s)&253);break;case 143:tstates+=8;z80.a=readbyte_internal(s)&253;writebyte_internal(s,z80.a);break;case 144:tstates+=8;z80.b=readbyte_internal(s)&251;writebyte_internal(s,z80.b);break;case 145:tstates+=8;z80.c=readbyte_internal(s)&251;writebyte_internal(s,z80.c);break;case 146:tstates+=8;z80.d=readbyte_internal(s)&251;writebyte_internal(s,z80.d);break;case 147:tstates+=8;z80.e=readbyte_internal(s)&251;writebyte_internal(s,z80.e);break;case 148:tstates+=8;z80.h=readbyte_internal(s)&251;writebyte_internal(s,z80.h);break;case 149:tstates+=8;z80.l=readbyte_internal(s)&251;writebyte_internal(s,z80.l);break;case 150:tstates+=8;writebyte_internal(s,readbyte_internal(s)&251);break;case 151:tstates+=8;z80.a=readbyte_internal(s)&251;writebyte_internal(s,z80.a);break;case 152:tstates+=8;z80.b=readbyte_internal(s)&247;writebyte_internal(s,z80.b);break;case 153:tstates+=8;z80.c=readbyte_internal(s)&247;writebyte_internal(s,z80.c);break;case 154:tstates+=8;z80.d=readbyte_internal(s)&247;writebyte_internal(s,z80.d);break;case 155:tstates+=8;z80.e=readbyte_internal(s)&247;writebyte_internal(s,z80.e);break;case 156:tstates+=8;z80.h=readbyte_internal(s)&247;writebyte_internal(s,z80.h);break;case 157:tstates+=8;z80.l=readbyte_internal(s)&247;writebyte_internal(s,z80.l);break;case 158:tstates+=8;writebyte_internal(s,readbyte_internal(s)&247);break;case 159:tstates+=8;z80.a=readbyte_internal(s)&247;writebyte_internal(s,z80.a);break;case 160:tstates+=8;z80.b=readbyte_internal(s)&239;writebyte_internal(s,z80.b);break;case 161:tstates+=8;z80.c=readbyte_internal(s)&239;writebyte_internal(s,z80.c);break;case 162:tstates+=8;z80.d=readbyte_internal(s)&239;writebyte_internal(s,z80.d);break;case 163:tstates+=8;z80.e=readbyte_internal(s)&239;writebyte_internal(s,z80.e);break;case 164:tstates+=8;z80.h=readbyte_internal(s)&239;writebyte_internal(s,z80.h);break;case 165:tstates+=8;z80.l=readbyte_internal(s)&239;writebyte_internal(s,z80.l);break;case 166:tstates+=8;writebyte_internal(s,readbyte_internal(s)&239);break;case 167:tstates+=8;z80.a=readbyte_internal(s)&239;writebyte_internal(s,z80.a);break;case 168:tstates+=8;z80.b=readbyte_internal(s)&223;writebyte_internal(s,z80.b);break;case 169:tstates+=8;z80.c=readbyte_internal(s)&223;writebyte_internal(s,z80.c);break;case 170:tstates+=8;z80.d=readbyte_internal(s)&223;writebyte_internal(s,z80.d);break;case 171:tstates+=8;z80.e=readbyte_internal(s)&223;writebyte_internal(s,z80.e);break;case 172:tstates+=8;z80.h=readbyte_internal(s)&223;writebyte_internal(s,z80.h);break;case 173:tstates+=8;z80.l=readbyte_internal(s)&223;writebyte_internal(s,z80.l);break;case 174:tstates+=8;writebyte_internal(s,readbyte_internal(s)&223);break;case 175:tstates+=8;z80.a=readbyte_internal(s)&223;writebyte_internal(s,z80.a);break;case 176:tstates+=8;z80.b=readbyte_internal(s)&191;writebyte_internal(s,z80.b);break;case 177:tstates+=8;z80.c=readbyte_internal(s)&191;writebyte_internal(s,z80.c);break;case 178:tstates+=8;z80.d=readbyte_internal(s)&191;writebyte_internal(s,z80.d);break;case 179:tstates+=8;z80.e=readbyte_internal(s)&191;writebyte_internal(s,z80.e);break;case 180:tstates+=8;z80.h=readbyte_internal(s)&191;writebyte_internal(s,z80.h);break;case 181:tstates+=8;z80.l=readbyte_internal(s)&191;writebyte_internal(s,z80.l);break;case 182:tstates+=8;writebyte_internal(s,readbyte_internal(s)&191);break;case 183:tstates+=8;z80.a=readbyte_internal(s)&191;writebyte_internal(s,z80.a);break;case 184:tstates+=8;z80.b=readbyte_internal(s)&127;writebyte_internal(s,z80.b);break;case 185:tstates+=8;z80.c=readbyte_internal(s)&127;writebyte_internal(s,z80.c);break;case 186:tstates+=8;z80.d=readbyte_internal(s)&127;writebyte_internal(s,z80.d);break;case 187:tstates+=8;z80.e=readbyte_internal(s)&127;writebyte_internal(s,z80.e);break;case 188:tstates+=8;z80.h=readbyte_internal(s)&127;writebyte_internal(s,z80.h);break;case 189:tstates+=8;z80.l=readbyte_internal(s)&127;writebyte_internal(s,z80.l);break;case 190:tstates+=8;writebyte_internal(s,readbyte_internal(s)&127);break;case 191:tstates+=8;z80.a=readbyte_internal(s)&127;writebyte_internal(s,z80.a);break;case 192:tstates+=8;z80.b=readbyte_internal(s)|1;writebyte_internal(s,z80.b);break;case 193:tstates+=8;z80.c=readbyte_internal(s)|1;writebyte_internal(s,z80.c);break;case 194:tstates+=8;z80.d=readbyte_internal(s)|1;writebyte_internal(s,z80.d);break;case 195:tstates+=8;z80.e=readbyte_internal(s)|1;writebyte_internal(s,z80.e);break;case 196:tstates+=8;z80.h=readbyte_internal(s)|1;writebyte_internal(s,z80.h);break;case 197:tstates+=8;z80.l=readbyte_internal(s)|1;writebyte_internal(s,z80.l);break;case 198:tstates+=8;writebyte_internal(s,readbyte_internal(s)|1);break;case 199:tstates+=8;z80.a=readbyte_internal(s)|1;writebyte_internal(s,z80.a);break;case 200:tstates+=8;z80.b=readbyte_internal(s)|2;writebyte_internal(s,z80.b);break;case 201:tstates+=8;z80.c=readbyte_internal(s)|2;writebyte_internal(s,z80.c);break;case 202:tstates+=8;z80.d=readbyte_internal(s)|2;writebyte_internal(s,z80.d);break;case 203:tstates+=8;z80.e=readbyte_internal(s)|2;writebyte_internal(s,z80.e);break;case 204:tstates+=8;z80.h=readbyte_internal(s)|2;writebyte_internal(s,z80.h);break;case 205:tstates+=8;z80.l=readbyte_internal(s)|2;writebyte_internal(s,z80.l);break;case 206:tstates+=8;writebyte_internal(s,readbyte_internal(s)|2);break;case 207:tstates+=8;z80.a=readbyte_internal(s)|2;writebyte_internal(s,z80.a);break;case 208:tstates+=8;z80.b=readbyte_internal(s)|4;writebyte_internal(s,z80.b);break;case 209:tstates+=8;z80.c=readbyte_internal(s)|4;writebyte_internal(s,z80.c);break;case 210:tstates+=8;z80.d=readbyte_internal(s)|4;writebyte_internal(s,z80.d);break;case 211:tstates+=8;z80.e=readbyte_internal(s)|4;writebyte_internal(s,z80.e);break;case 212:tstates+=8;z80.h=readbyte_internal(s)|4;writebyte_internal(s,z80.h);break;case 213:tstates+=8;z80.l=readbyte_internal(s)|4;writebyte_internal(s,z80.l);break;case 214:tstates+=8;writebyte_internal(s,readbyte_internal(s)|4);break;case 215:tstates+=8;z80.a=readbyte_internal(s)|4;writebyte_internal(s,z80.a);break;case 216:tstates+=8;z80.b=readbyte_internal(s)|8;writebyte_internal(s,z80.b);break;case 217:tstates+=8;z80.c=readbyte_internal(s)|8;writebyte_internal(s,z80.c);break;case 218:tstates+=8;z80.d=readbyte_internal(s)|8;writebyte_internal(s,z80.d);break;case 219:tstates+=8;z80.e=readbyte_internal(s)|8;writebyte_internal(s,z80.e);break;case 220:tstates+=8;z80.h=readbyte_internal(s)|8;writebyte_internal(s,z80.h);break;case 221:tstates+=8;z80.l=readbyte_internal(s)|8;writebyte_internal(s,z80.l);break;case 222:tstates+=8;writebyte_internal(s,readbyte_internal(s)|8);break;case 223:tstates+=8;z80.a=readbyte_internal(s)|8;writebyte_internal(s,z80.a);break;case 224:tstates+=8;z80.b=readbyte_internal(s)|16;writebyte_internal(s,z80.b);break;case 225:tstates+=8;z80.c=readbyte_internal(s)|16;writebyte_internal(s,z80.c);break;case 226:tstates+=8;z80.d=readbyte_internal(s)|16;writebyte_internal(s,z80.d);break;case 227:tstates+=8;z80.e=readbyte_internal(s)|16;writebyte_internal(s,z80.e);break;case 228:tstates+=8;z80.h=readbyte_internal(s)|16;writebyte_internal(s,z80.h);break;case 229:tstates+=8;z80.l=readbyte_internal(s)|16;writebyte_internal(s,z80.l);break;case 230:tstates+=8;writebyte_internal(s,readbyte_internal(s)|16);break;case 231:tstates+=8;z80.a=readbyte_internal(s)|16;writebyte_internal(s,z80.a);break;case 232:tstates+=8;z80.b=readbyte_internal(s)|32;writebyte_internal(s,z80.b);break;case 233:tstates+=8;z80.c=readbyte_internal(s)|32;writebyte_internal(s,z80.c);break;case 234:tstates+=8;z80.d=readbyte_internal(s)|32;writebyte_internal(s,z80.d);break;case 235:tstates+=8;z80.e=readbyte_internal(s)|32;writebyte_internal(s,z80.e);break;case 236:tstates+=8;z80.h=readbyte_internal(s)|32;writebyte_internal(s,z80.h);break;case 237:tstates+=8;z80.l=readbyte_internal(s)|32;writebyte_internal(s,z80.l);break;case 238:tstates+=8;writebyte_internal(s,readbyte_internal(s)|32);break;case 239:tstates+=8;z80.a=readbyte_internal(s)|32;writebyte_internal(s,z80.a);break;case 240:tstates+=8;z80.b=readbyte_internal(s)|64;writebyte_internal(s,z80.b);break;case 241:tstates+=8;z80.c=readbyte_internal(s)|64;writebyte_internal(s,z80.c);break;case 242:tstates+=8;z80.d=readbyte_internal(s)|64;writebyte_internal(s,z80.d);break;case 243:tstates+=8;z80.e=readbyte_internal(s)|64;writebyte_internal(s,z80.e);break;case 244:tstates+=8;z80.h=readbyte_internal(s)|64;writebyte_internal(s,z80.h);break;case 245:tstates+=8;z80.l=readbyte_internal(s)|64;writebyte_internal(s,z80.l);break;case 246:tstates+=8;writebyte_internal(s,readbyte_internal(s)|64);break;case 247:tstates+=8;z80.a=readbyte_internal(s)|64;writebyte_internal(s,z80.a);break;case 248:tstates+=8;z80.b=readbyte_internal(s)|128;writebyte_internal(s,z80.b);break;case 249:tstates+=8;z80.c=readbyte_internal(s)|128;writebyte_internal(s,z80.c);break;case 250:tstates+=8;z80.d=readbyte_internal(s)|128;writebyte_internal(s,z80.d);break;case 251:tstates+=8;z80.e=readbyte_internal(s)|128;writebyte_internal(s,z80.e);break;case 252:tstates+=8;z80.h=readbyte_internal(s)|128;writebyte_internal(s,z80.h);break;case 253:tstates+=8;z80.l=readbyte_internal(s)|128;writebyte_internal(s,z80.l);break;case 254:tstates+=8;writebyte_internal(s,readbyte_internal(s)|128);break;case 255:tstates+=8;z80.a=readbyte_internal(s)|128;writebyte_internal(s,z80.a);break}break;case 225:tstates+=(3);(z80.ixl)=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);(z80.ixh)=readbyte_internal(z80.sp++);z80.sp&=65535;break;case 227:var c=readbyte_internal(z80.sp),h=readbyte_internal(z80.sp+1);tstates+=(3);tstates+=(4);tstates+=(3);tstates+=(5);writebyte_internal(z80.sp+1,z80.ixh);writebyte_internal(z80.sp,z80.ixl);z80.ixl=c;z80.ixh=h;break;case 229:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.ixh));z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.ixl));break;case 233:z80.pc=(z80.ixl|(z80.ixh<<8));break;case 249:tstates+=2;z80.sp=(z80.ixl|(z80.ixh<<8));break;default:z80.pc--;z80.pc&=65535;z80.r--;z80.r&=127;break}break;case 222:tstates+=(3);var v=readbyte_internal(z80.pc++);var P=z80.a-(v)-(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 223:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(24);break;case 224:tstates++;if(!(z80.f&4)){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 225:tstates+=(3);(z80.l)=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);(z80.h)=readbyte_internal(z80.sp++);z80.sp&=65535;break;case 226:tstates+=(3);tstates+=(3);if(!(z80.f&4)){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 227:var c=readbyte_internal(z80.sp),h=readbyte_internal(z80.sp+1);tstates+=(3);tstates+=(4);tstates+=(3);tstates+=(5);writebyte_internal(z80.sp+1,z80.h);writebyte_internal(z80.sp,z80.l);z80.l=c;z80.h=h;break;case 228:tstates+=(3);tstates+=(3);if(!(z80.f&4)){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 229:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.h));z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.l));break;case 230:tstates+=(3);var v=readbyte_internal(z80.pc++);z80.a&=(v);z80.f=16|sz53p_table[z80.a];break;case 231:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(32);break;case 232:tstates++;if(z80.f&4){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 233:z80.pc=(z80.l|(z80.h<<8));break;case 234:tstates+=(3);tstates+=(3);if(z80.f&4){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 235:var v;v=z80.d;z80.d=z80.h;z80.h=v;v=z80.e;z80.e=z80.l;z80.l=v;break;case 236:tstates+=(3);tstates+=(3);if(z80.f&4){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 237:var C;tstates+=(4);C=readbyte_internal(z80.pc++);z80.pc&=65535;z80.r=(z80.r+1)&127;switch(C){case 64:tstates+=1;tstates+=(3);(z80.b)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.b)];break;case 65:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.b);break;case 66:tstates+=7;var f=(z80.l|(z80.h<<8))-((z80.c|(z80.b<<8)))-(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|((((z80.c|(z80.b<<8)))&34816)>>10)|((f&34816)>>9);z80.h=(f>>8)&255;z80.l=f&255;z80.f=(f&65536?1:0)|2|overflow_sub_table[j>>4]|(z80.h&(8|32|128))|halfcarry_sub_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 67:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,(z80.c));F&=65535;tstates+=(3);writebyte_internal(F,(z80.b));break;break;case 68:case 76:case 84:case 92:case 100:case 108:case 116:case 124:var v=z80.a;z80.a=0;var a=z80.a-(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 69:case 77:case 85:case 93:case 101:case 109:case 117:case 125:z80.iff1=z80.iff2;tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8);break;case 70:case 78:case 102:case 110:z80.im=0;break;case 71:tstates+=1;z80.i=z80.a;break;case 72:tstates+=1;tstates+=(3);(z80.c)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.c)];break;case 73:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.c);break;case 74:tstates+=7;var d=(z80.l|(z80.h<<8))+((z80.c|(z80.b<<8)))+(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|((((z80.c|(z80.b<<8)))&34816)>>10)|((d&34816)>>9);z80.h=(d>>8)&255;z80.l=d&255;z80.f=(d&65536?1:0)|overflow_add_table[j>>4]|(z80.h&(8|32|128))|halfcarry_add_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 75:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);(z80.c)=readbyte_internal(F++);F&=65535;tstates+=(3);(z80.b)=readbyte_internal(F);break;break;case 79:tstates+=1;z80.r=z80.r7=z80.a;break;case 80:tstates+=1;tstates+=(3);(z80.d)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.d)];break;case 81:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.d);break;case 82:tstates+=7;var f=(z80.l|(z80.h<<8))-((z80.e|(z80.d<<8)))-(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|((((z80.e|(z80.d<<8)))&34816)>>10)|((f&34816)>>9);z80.h=(f>>8)&255;z80.l=f&255;z80.f=(f&65536?1:0)|2|overflow_sub_table[j>>4]|(z80.h&(8|32|128))|halfcarry_sub_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 83:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,(z80.e));F&=65535;tstates+=(3);writebyte_internal(F,(z80.d));break;break;case 86:case 118:z80.im=1;break;case 87:tstates+=1;z80.a=z80.i;z80.f=(z80.f&1)|sz53_table[z80.a]|(z80.iff2?4:0);break;case 88:tstates+=1;tstates+=(3);(z80.e)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.e)];break;case 89:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.e);break;case 90:tstates+=7;var d=(z80.l|(z80.h<<8))+((z80.e|(z80.d<<8)))+(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|((((z80.e|(z80.d<<8)))&34816)>>10)|((d&34816)>>9);z80.h=(d>>8)&255;z80.l=d&255;z80.f=(d&65536?1:0)|overflow_add_table[j>>4]|(z80.h&(8|32|128))|halfcarry_add_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 91:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);(z80.e)=readbyte_internal(F++);F&=65535;tstates+=(3);(z80.d)=readbyte_internal(F);break;break;case 94:case 126:z80.im=2;break;case 95:tstates+=1;z80.a=(z80.r&127)|(z80.r7&128);z80.f=(z80.f&1)|sz53_table[z80.a]|(z80.iff2?4:0);break;case 96:tstates+=1;tstates+=(3);(z80.h)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.h)];break;case 97:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.h);break;case 98:tstates+=7;var f=(z80.l|(z80.h<<8))-((z80.l|(z80.h<<8)))-(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|((((z80.l|(z80.h<<8)))&34816)>>10)|((f&34816)>>9);z80.h=(f>>8)&255;z80.l=f&255;z80.f=(f&65536?1:0)|2|overflow_sub_table[j>>4]|(z80.h&(8|32|128))|halfcarry_sub_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 99:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,(z80.l));F&=65535;tstates+=(3);writebyte_internal(F,(z80.h));break;break;case 103:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(7);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),((z80.a&15)<<4)|(v>>4));z80.a=(z80.a&240)|(v&15);z80.f=(z80.f&1)|sz53p_table[z80.a];break;case 104:tstates+=1;tstates+=(3);(z80.l)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.l)];break;case 105:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.l);break;case 106:tstates+=7;var d=(z80.l|(z80.h<<8))+((z80.l|(z80.h<<8)))+(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|((((z80.l|(z80.h<<8)))&34816)>>10)|((d&34816)>>9);z80.h=(d>>8)&255;z80.l=d&255;z80.f=(d&65536?1:0)|overflow_add_table[j>>4]|(z80.h&(8|32|128))|halfcarry_add_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 107:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);(z80.l)=readbyte_internal(F++);F&=65535;tstates+=(3);(z80.h)=readbyte_internal(F);break;break;case 111:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(7);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),((v&15)<<4)|(z80.a&15));z80.a=(z80.a&240)|(v>>4);z80.f=(z80.f&1)|sz53p_table[z80.a];break;case 112:tstates+=1;var v;tstates+=(3);(v)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(v)];break;case 113:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),0);break;case 114:tstates+=7;var f=(z80.l|(z80.h<<8))-(z80.sp)-(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|(((z80.sp)&34816)>>10)|((f&34816)>>9);z80.h=(f>>8)&255;z80.l=f&255;z80.f=(f&65536?1:0)|2|overflow_sub_table[j>>4]|(z80.h&(8|32|128))|halfcarry_sub_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 115:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,((z80.sp&255)));F&=65535;tstates+=(3);writebyte_internal(F,((z80.sp>>8)));break;break;case 120:tstates+=1;tstates+=(3);(z80.a)=readport(((z80.c|(z80.b<<8))));z80.f=(z80.f&1)|sz53p_table[(z80.a)];break;case 121:tstates+=1;tstates+=(3);writeport((z80.c|(z80.b<<8)),z80.a);break;case 122:tstates+=7;var d=(z80.l|(z80.h<<8))+(z80.sp)+(z80.f&1);var j=(((z80.l|(z80.h<<8))&34816)>>11)|(((z80.sp)&34816)>>10)|((d&34816)>>9);z80.h=(d>>8)&255;z80.l=d&255;z80.f=(d&65536?1:0)|overflow_add_table[j>>4]|(z80.h&(8|32|128))|halfcarry_add_table[j&7]|((z80.l|(z80.h<<8))?0:64);break;case 123:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);var t=readbyte_internal(F++);F&=65535;tstates+=(3);var w=readbyte_internal(F);z80.sp=t|(w<<8);break;break;case 160:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(3);tstates+=(3);tstates+=(1);tstates+=(1);var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;writebyte_internal((z80.e|(z80.d<<8)),v);var i=((z80.e|(z80.d<<8))+1)&65535;z80.d=i>>8;z80.e=i&255;var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;v=(v+z80.a)&255;z80.f=(z80.f&(1|64|128))|((z80.c|(z80.b<<8))?4:0)|(v&8)|((v&2)?32:0);break;case 161:var M=readbyte_internal((z80.l|(z80.h<<8))),v=(z80.a-M)&255,j=((z80.a&8)>>3)|(((M)&8)>>2)|((v&8)>>1);tstates+=(3);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;z80.f=(z80.f&1)|((z80.c|(z80.b<<8))?(4|2):2)|halfcarry_sub_table[j]|(v?0:64)|(v&128);if(z80.f&16){v--}z80.f|=(v&8)|((v&2)?32:0);break;case 162:var A=readport((z80.c|(z80.b<<8)));tstates+=2;tstates+=(3);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),A);z80.b=(z80.b-1)&255;var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;z80.f=(A&128?2:0)|sz53_table[z80.b];break;case 163:var q=readbyte_internal((z80.l|(z80.h<<8)));z80.b=(z80.b-1)&255;tstates++;tstates+=(4);tstates+=(3);var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;writeport((z80.c|(z80.b<<8)),q);z80.f=(q&128?2:0)|sz53_table[z80.b];break;case 168:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(3);tstates+=(3);tstates+=(1);tstates+=(1);var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;writebyte_internal((z80.e|(z80.d<<8)),v);var i=((z80.e|(z80.d<<8))-1)&65535;z80.d=i>>8;z80.e=i&255;var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;v=(v+z80.a)&255;z80.f=(z80.f&(1|64|128))|((z80.c|(z80.b<<8))?4:0)|(v&8)|((v&2)?32:0);break;case 169:var M=readbyte_internal((z80.l|(z80.h<<8))),v=(z80.a-M)&255,j=((z80.a&8)>>3)|(((M)&8)>>2)|((v&8)>>1);tstates+=(3);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;z80.f=(z80.f&1)|((z80.c|(z80.b<<8))?(4|2):2)|halfcarry_sub_table[j]|(v?0:64)|(v&128);if(z80.f&16){v--}z80.f|=(v&8)|((v&2)?32:0);break;case 170:var A=readport((z80.c|(z80.b<<8)));tstates+=2;tstates+=(3);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),A);z80.b=(z80.b-1)&255;var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;z80.f=(A&128?2:0)|sz53_table[z80.b];break;case 171:var q=readbyte_internal((z80.l|(z80.h<<8)));z80.b=(z80.b-1)&255;tstates++;tstates+=(4);tstates+=(3);var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;writeport((z80.c|(z80.b<<8)),q);z80.f=(q&128?2:0)|sz53_table[z80.b];break;case 176:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(3);tstates+=(3);tstates+=(1);tstates+=(1);writebyte_internal((z80.e|(z80.d<<8)),v);var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;var i=((z80.e|(z80.d<<8))+1)&65535;z80.d=i>>8;z80.e=i&255;var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;v=(v+z80.a)&255;z80.f=(z80.f&(1|64|128))|((z80.c|(z80.b<<8))?4:0)|(v&8)|((v&2)?32:0);if((z80.c|(z80.b<<8))){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}break;case 177:var M=readbyte_internal((z80.l|(z80.h<<8))),v=(z80.a-M)&255,j=((z80.a&8)>>3)|(((M)&8)>>2)|((v&8)>>1);tstates+=(3);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;z80.f=(z80.f&1)|((z80.c|(z80.b<<8))?(4|2):2)|halfcarry_sub_table[j]|(v?0:64)|(v&128);if(z80.f&16){v--}z80.f|=(v&8)|((v&2)?32:0);if((z80.f&(4|64))==4){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}break;case 178:var A=readport((z80.c|(z80.b<<8)));tstates+=2;tstates+=(3);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),A);z80.b=(z80.b-1)&255;var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;z80.f=(A&128?2:0)|sz53_table[z80.b];if(z80.b){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}break;case 179:var q=readbyte_internal((z80.l|(z80.h<<8)));tstates++;tstates+=(4);z80.b=(z80.b-1)&255;var p=((z80.l|(z80.h<<8))+1)&65535;z80.h=p>>8;z80.l=p&255;writeport((z80.c|(z80.b<<8)),q);z80.f=(q&128?2:0)|sz53_table[z80.b];if(z80.b){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}else{tstates+=(3)}break;case 184:var v=readbyte_internal((z80.l|(z80.h<<8)));tstates+=(3);tstates+=(3);tstates+=(1);tstates+=(1);writebyte_internal((z80.e|(z80.d<<8)),v);var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;var i=((z80.e|(z80.d<<8))-1)&65535;z80.d=i>>8;z80.e=i&255;var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;v=(v+z80.a)&255;z80.f=(z80.f&(1|64|128))|((z80.c|(z80.b<<8))?4:0)|(v&8)|((v&2)?32:0);if((z80.c|(z80.b<<8))){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}break;case 185:var M=readbyte_internal((z80.l|(z80.h<<8))),v=(z80.a-M)&255,j=((z80.a&8)>>3)|(((M)&8)>>2)|((v&8)>>1);tstates+=(3);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;var J=((z80.c|(z80.b<<8))-1)&65535;z80.b=J>>8;z80.c=J&255;z80.f=(z80.f&1)|((z80.c|(z80.b<<8))?(4|2):2)|halfcarry_sub_table[j]|(v?0:64)|(v&128);if(z80.f&16){v--}z80.f|=(v&8)|((v&2)?32:0);if((z80.f&(4|64))==4){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}break;case 186:var A=readport((z80.c|(z80.b<<8)));tstates+=2;tstates+=(3);tstates+=(3);writebyte_internal((z80.l|(z80.h<<8)),A);z80.b=(z80.b-1)&255;var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;z80.f=(A&128?2:0)|sz53_table[z80.b];if(z80.b){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}break;case 187:var q=readbyte_internal((z80.l|(z80.h<<8)));tstates++;tstates+=(4);z80.b=(z80.b-1)&255;var p=((z80.l|(z80.h<<8))-1)&65535;z80.h=p>>8;z80.l=p&255;writeport((z80.c|(z80.b<<8)),q);z80.f=(q&128?2:0)|sz53_table[z80.b];if(z80.b){tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);tstates+=(1);z80.pc-=2}else{tstates+=(3)}break;default:break}break;case 238:tstates+=(3);var v=readbyte_internal(z80.pc++);z80.a^=(v);z80.f=sz53p_table[z80.a];break;case 239:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(40);break;case 240:tstates++;if(!(z80.f&128)){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 241:tstates+=(3);(z80.f)=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);(z80.a)=readbyte_internal(z80.sp++);z80.sp&=65535;break;case 242:tstates+=(3);tstates+=(3);if(!(z80.f&128)){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 243:z80.iff1=z80.iff2=0;break;case 244:tstates+=(3);tstates+=(3);if(!(z80.f&128)){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 245:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.a));z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.f));break;case 246:tstates+=(3);var v=readbyte_internal(z80.pc++);z80.a|=(v);z80.f=sz53p_table[z80.a];break;case 247:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(48);break;case 248:tstates++;if(z80.f&128){tstates+=(3);var r=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);var x=readbyte_internal(z80.sp++);z80.sp&=65535;(z80.pc)=r|(x<<8)}break;case 249:tstates+=2;z80.sp=(z80.l|(z80.h<<8));break;case 250:tstates+=(3);tstates+=(3);if(z80.f&128){var l=z80.pc;var G=readbyte_internal(l++);l&=65535;var I=readbyte_internal(l);z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 251:z80.iff1=z80.iff2=1;break;case 252:tstates+=(3);tstates+=(3);if(z80.f&128){var k,m;k=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(1);m=readbyte_internal(z80.pc++);z80.pc&=65535;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);var G=k;var I=m;z80.pc=G|(I<<8)}else{z80.pc+=2}break;case 253:var C;tstates+=(4);C=readbyte_internal(z80.pc++);z80.pc&=65535;z80.r=(z80.r+1)&127;switch(C){case 9:var d=((z80.iyl|(z80.iyh<<8)))+((z80.c|(z80.b<<8)));var j=((((z80.iyl|(z80.iyh<<8)))&2048)>>11)|((((z80.c|(z80.b<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.iyh)=(d>>8)&255;(z80.iyl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 25:var d=((z80.iyl|(z80.iyh<<8)))+((z80.e|(z80.d<<8)));var j=((((z80.iyl|(z80.iyh<<8)))&2048)>>11)|((((z80.e|(z80.d<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.iyh)=(d>>8)&255;(z80.iyl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 33:tstates+=(3);z80.iyl=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);z80.iyh=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 34:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);writebyte_internal(F++,(z80.iyl));F&=65535;tstates+=(3);writebyte_internal(F,(z80.iyh));break;break;case 35:tstates+=2;var n=((z80.iyl|(z80.iyh<<8))+1)&65535;z80.iyh=n>>8;z80.iyl=n&255;break;case 36:(z80.iyh)=((z80.iyh)+1)&255;z80.f=(z80.f&1)|((z80.iyh)==128?4:0)|((z80.iyh)&15?0:16)|sz53_table[(z80.iyh)];break;case 37:z80.f=(z80.f&1)|((z80.iyh)&15?0:16)|2;(z80.iyh)=((z80.iyh)-1)&255;z80.f|=((z80.iyh)==127?4:0)|sz53_table[z80.iyh];break;case 38:tstates+=(3);z80.iyh=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 41:var d=((z80.iyl|(z80.iyh<<8)))+((z80.iyl|(z80.iyh<<8)));var j=((((z80.iyl|(z80.iyh<<8)))&2048)>>11)|((((z80.iyl|(z80.iyh<<8)))&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.iyh)=(d>>8)&255;(z80.iyl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 42:var F;tstates+=(3);F=readbyte_internal(z80.pc++);z80.pc&=65535;tstates+=(3);F|=readbyte_internal(z80.pc++)<<8;z80.pc&=65535;tstates+=(3);(z80.iyl)=readbyte_internal(F++);F&=65535;tstates+=(3);(z80.iyh)=readbyte_internal(F);break;break;case 43:tstates+=2;var n=((z80.iyl|(z80.iyh<<8))-1)&65535;z80.iyh=n>>8;z80.iyl=n&255;break;case 44:(z80.iyl)=((z80.iyl)+1)&255;z80.f=(z80.f&1)|((z80.iyl)==128?4:0)|((z80.iyl)&15?0:16)|sz53_table[(z80.iyl)];break;case 45:z80.f=(z80.f&1)|((z80.iyl)&15?0:16)|2;(z80.iyl)=((z80.iyl)-1)&255;z80.f|=((z80.iyl)==127?4:0)|sz53_table[z80.iyl];break;case 46:tstates+=(3);z80.iyl=readbyte_internal(z80.pc++);z80.pc&=65535;break;case 52:tstates+=15;var n=((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535;z80.pc&=65535;var v=readbyte_internal(n);(v)=((v)+1)&255;z80.f=(z80.f&1)|((v)==128?4:0)|((v)&15?0:16)|sz53_table[(v)];writebyte_internal(n,v);break;case 53:tstates+=15;var n=((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535;z80.pc&=65535;var v=readbyte_internal(n);z80.f=(z80.f&1)|((v)&15?0:16)|2;(v)=((v)-1)&255;z80.f|=((v)==127?4:0)|sz53_table[v];writebyte_internal(n,v);break;case 54:tstates+=11;var n=((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535;z80.pc&=65535;writebyte_internal(n,readbyte_internal(z80.pc++));z80.pc&=65535;break;case 57:var d=((z80.iyl|(z80.iyh<<8)))+(z80.sp);var j=((((z80.iyl|(z80.iyh<<8)))&2048)>>11)|(((z80.sp)&2048)>>10)|((d&2048)>>9);tstates+=7;(z80.iyh)=(d>>8)&255;(z80.iyl)=d&255;z80.f=(z80.f&(4|64|128))|(d&65536?1:0)|((d>>8)&(8|32))|halfcarry_add_table[j];break;case 68:z80.b=z80.iyh;break;case 69:z80.b=z80.iyl;break;case 70:tstates+=11;z80.b=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 76:z80.c=z80.iyh;break;case 77:z80.c=z80.iyl;break;case 78:tstates+=11;z80.c=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 84:z80.d=z80.iyh;break;case 85:z80.d=z80.iyl;break;case 86:tstates+=11;z80.d=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 92:z80.e=z80.iyh;break;case 93:z80.e=z80.iyl;break;case 94:tstates+=11;z80.e=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 96:z80.iyh=z80.b;break;case 97:z80.iyh=z80.c;break;case 98:z80.iyh=z80.d;break;case 99:z80.iyh=z80.e;break;case 100:break;case 101:z80.iyh=z80.iyl;break;case 102:tstates+=11;z80.h=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 103:z80.iyh=z80.a;break;case 104:z80.iyl=z80.b;break;case 105:z80.iyl=z80.c;break;case 106:z80.iyl=z80.d;break;case 107:z80.iyl=z80.e;break;case 108:z80.iyl=z80.iyh;break;case 109:break;case 110:tstates+=11;z80.l=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 111:z80.iyl=z80.a;break;case 112:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.b);z80.pc&=65535;break;case 113:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.c);z80.pc&=65535;break;case 114:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.d);z80.pc&=65535;break;case 115:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.e);z80.pc&=65535;break;case 116:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.h);z80.pc&=65535;break;case 117:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.l);z80.pc&=65535;break;case 119:tstates+=11;writebyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535,z80.a);z80.pc&=65535;break;case 124:z80.a=z80.iyh;break;case 125:z80.a=z80.iyl;break;case 126:tstates+=11;z80.a=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;break;case 132:var K=z80.a+(z80.iyh);var j=((z80.a&136)>>3)|(((z80.iyh)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 133:var K=z80.a+(z80.iyl);var j=((z80.a&136)>>3)|(((z80.iyl)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 134:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var K=z80.a+(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((K&136)>>1);z80.a=K&255;z80.f=(K&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 140:var O=z80.a+(z80.iyh)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.iyh)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 141:var O=z80.a+(z80.iyl)+(z80.f&1);var j=((z80.a&136)>>3)|(((z80.iyl)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 142:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var O=z80.a+(v)+(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((O&136)>>1);z80.a=O&255;z80.f=(O&256?1:0)|halfcarry_add_table[j&7]|overflow_add_table[j>>4]|sz53_table[z80.a];break;case 148:var a=z80.a-(z80.iyh);var j=((z80.a&136)>>3)|(((z80.iyh)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 149:var a=z80.a-(z80.iyl);var j=((z80.a&136)>>3)|(((z80.iyl)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 150:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var a=z80.a-(v);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((a&136)>>1);z80.a=a&255;z80.f=(a&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 156:var P=z80.a-(z80.iyh)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.iyh)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 157:var P=z80.a-(z80.iyl)-(z80.f&1);var j=((z80.a&136)>>3)|(((z80.iyl)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 158:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var P=z80.a-(v)-(z80.f&1);var j=((z80.a&136)>>3)|(((v)&136)>>2)|((P&136)>>1);z80.a=P&255;z80.f=(P&256?1:0)|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|sz53_table[z80.a];break;case 164:z80.a&=(z80.iyh);z80.f=16|sz53p_table[z80.a];break;case 165:z80.a&=(z80.iyl);z80.f=16|sz53p_table[z80.a];break;case 166:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;z80.a&=(v);z80.f=16|sz53p_table[z80.a];break;case 172:z80.a^=(z80.iyh);z80.f=sz53p_table[z80.a];break;case 173:z80.a^=(z80.iyl);z80.f=sz53p_table[z80.a];break;case 174:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;z80.a^=(v);z80.f=sz53p_table[z80.a];break;case 180:z80.a|=(z80.iyh);z80.f=sz53p_table[z80.a];break;case 181:z80.a|=(z80.iyl);z80.f=sz53p_table[z80.a];break;case 182:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;z80.a|=(v);z80.f=sz53p_table[z80.a];break;case 188:var H=z80.a-z80.iyh;var j=((z80.a&136)>>3)|(((z80.iyh)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.iyh&(8|32))|(H&128);break;case 189:var H=z80.a-z80.iyl;var j=((z80.a&136)>>3)|(((z80.iyl)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(z80.iyl&(8|32))|(H&128);break;case 190:tstates+=11;var v=readbyte_internal(((z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++)))&65535);z80.pc&=65535;var H=z80.a-v;var j=((z80.a&136)>>3)|(((v)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(v&(8|32))|(H&128);break;case 203:var s;var B;tstates+=(3);s=(z80.iyl|(z80.iyh<<8))+sign_extend(readbyte_internal(z80.pc++));z80.pc&=65535;tstates+=(4);B=readbyte_internal(z80.pc++);z80.pc&=65535;switch(B){case 0:tstates+=8;z80.b=readbyte_internal(s);(z80.b)=(((z80.b)&127)<<1)|((z80.b)>>7);z80.f=((z80.b)&1)|sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 1:tstates+=8;z80.c=readbyte_internal(s);(z80.c)=(((z80.c)&127)<<1)|((z80.c)>>7);z80.f=((z80.c)&1)|sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 2:tstates+=8;z80.d=readbyte_internal(s);(z80.d)=(((z80.d)&127)<<1)|((z80.d)>>7);z80.f=((z80.d)&1)|sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 3:tstates+=8;z80.e=readbyte_internal(s);(z80.e)=(((z80.e)&127)<<1)|((z80.e)>>7);z80.f=((z80.e)&1)|sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 4:tstates+=8;z80.h=readbyte_internal(s);(z80.h)=(((z80.h)&127)<<1)|((z80.h)>>7);z80.f=((z80.h)&1)|sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 5:tstates+=8;z80.l=readbyte_internal(s);(z80.l)=(((z80.l)&127)<<1)|((z80.l)>>7);z80.f=((z80.l)&1)|sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 6:tstates+=8;var v=readbyte_internal(s);(v)=(((v)&127)<<1)|((v)>>7);z80.f=((v)&1)|sz53p_table[(v)];writebyte_internal(s,v);break;case 7:tstates+=8;z80.a=readbyte_internal(s);(z80.a)=(((z80.a)&127)<<1)|((z80.a)>>7);z80.f=((z80.a)&1)|sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 8:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)&1;(z80.b)=((z80.b)>>1)|(((z80.b)&1)<<7);z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 9:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)&1;(z80.c)=((z80.c)>>1)|(((z80.c)&1)<<7);z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 10:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)&1;(z80.d)=((z80.d)>>1)|(((z80.d)&1)<<7);z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 11:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)&1;(z80.e)=((z80.e)>>1)|(((z80.e)&1)<<7);z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 12:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)&1;(z80.h)=((z80.h)>>1)|(((z80.h)&1)<<7);z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 13:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)&1;(z80.l)=((z80.l)>>1)|(((z80.l)&1)<<7);z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 14:tstates+=8;var v=readbyte_internal(s);z80.f=(v)&1;(v)=((v)>>1)|(((v)&1)<<7);z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 15:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)&1;(z80.a)=((z80.a)>>1)|(((z80.a)&1)<<7);z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 16:tstates+=8;z80.b=readbyte_internal(s);var z=(z80.b);(z80.b)=(((z80.b)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 17:tstates+=8;z80.c=readbyte_internal(s);var z=(z80.c);(z80.c)=(((z80.c)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 18:tstates+=8;z80.d=readbyte_internal(s);var z=(z80.d);(z80.d)=(((z80.d)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 19:tstates+=8;z80.e=readbyte_internal(s);var z=(z80.e);(z80.e)=(((z80.e)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 20:tstates+=8;z80.h=readbyte_internal(s);var z=(z80.h);(z80.h)=(((z80.h)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 21:tstates+=8;z80.l=readbyte_internal(s);var z=(z80.l);(z80.l)=(((z80.l)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 22:tstates+=8;var v=readbyte_internal(s);var z=(v);(v)=(((v)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(v)];writebyte_internal(s,v);break;case 23:tstates+=8;z80.a=readbyte_internal(s);var z=(z80.a);(z80.a)=(((z80.a)&127)<<1)|(z80.f&1);z80.f=(z>>7)|sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 24:tstates+=8;z80.b=readbyte_internal(s);var N=(z80.b);(z80.b)=((z80.b)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 25:tstates+=8;z80.c=readbyte_internal(s);var N=(z80.c);(z80.c)=((z80.c)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 26:tstates+=8;z80.d=readbyte_internal(s);var N=(z80.d);(z80.d)=((z80.d)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 27:tstates+=8;z80.e=readbyte_internal(s);var N=(z80.e);(z80.e)=((z80.e)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 28:tstates+=8;z80.h=readbyte_internal(s);var N=(z80.h);(z80.h)=((z80.h)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 29:tstates+=8;z80.l=readbyte_internal(s);var N=(z80.l);(z80.l)=((z80.l)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 30:tstates+=8;var v=readbyte_internal(s);var N=(v);(v)=((v)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(v)];writebyte_internal(s,v);break;case 31:tstates+=8;z80.a=readbyte_internal(s);var N=(z80.a);(z80.a)=((z80.a)>>1)|((z80.f&1)<<7);z80.f=(N&1)|sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 32:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)>>7;(z80.b)<<=1;(z80.b)&=255;z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 33:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)>>7;(z80.c)<<=1;(z80.c)&=255;z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 34:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)>>7;(z80.d)<<=1;(z80.d)&=255;z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 35:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)>>7;(z80.e)<<=1;(z80.e)&=255;z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 36:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)>>7;(z80.h)<<=1;(z80.h)&=255;z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 37:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)>>7;(z80.l)<<=1;(z80.l)&=255;z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 38:tstates+=8;var v=readbyte_internal(s);z80.f=(v)>>7;(v)<<=1;(v)&=255;z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 39:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)>>7;(z80.a)<<=1;(z80.a)&=255;z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 40:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)&1;(z80.b)=((z80.b)&128)|((z80.b)>>1);z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 41:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)&1;(z80.c)=((z80.c)&128)|((z80.c)>>1);z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 42:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)&1;(z80.d)=((z80.d)&128)|((z80.d)>>1);z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 43:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)&1;(z80.e)=((z80.e)&128)|((z80.e)>>1);z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 44:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)&1;(z80.h)=((z80.h)&128)|((z80.h)>>1);z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 45:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)&1;(z80.l)=((z80.l)&128)|((z80.l)>>1);z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 46:tstates+=8;var v=readbyte_internal(s);z80.f=(v)&1;(v)=((v)&128)|((v)>>1);z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 47:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)&1;(z80.a)=((z80.a)&128)|((z80.a)>>1);z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 48:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)>>7;(z80.b)=((z80.b)<<1)|1;(z80.b)&=255;z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 49:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)>>7;(z80.c)=((z80.c)<<1)|1;(z80.c)&=255;z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 50:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)>>7;(z80.d)=((z80.d)<<1)|1;(z80.d)&=255;z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 51:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)>>7;(z80.e)=((z80.e)<<1)|1;(z80.e)&=255;z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 52:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)>>7;(z80.h)=((z80.h)<<1)|1;(z80.h)&=255;z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 53:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)>>7;(z80.l)=((z80.l)<<1)|1;(z80.l)&=255;z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 54:tstates+=8;var v=readbyte_internal(s);z80.f=(v)>>7;(v)=((v)<<1)|1;(v)&=255;z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 55:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)>>7;(z80.a)=((z80.a)<<1)|1;(z80.a)&=255;z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 56:tstates+=8;z80.b=readbyte_internal(s);z80.f=(z80.b)&1;(z80.b)>>=1;z80.f|=sz53p_table[(z80.b)];writebyte_internal(s,z80.b);break;case 57:tstates+=8;z80.c=readbyte_internal(s);z80.f=(z80.c)&1;(z80.c)>>=1;z80.f|=sz53p_table[(z80.c)];writebyte_internal(s,z80.c);break;case 58:tstates+=8;z80.d=readbyte_internal(s);z80.f=(z80.d)&1;(z80.d)>>=1;z80.f|=sz53p_table[(z80.d)];writebyte_internal(s,z80.d);break;case 59:tstates+=8;z80.e=readbyte_internal(s);z80.f=(z80.e)&1;(z80.e)>>=1;z80.f|=sz53p_table[(z80.e)];writebyte_internal(s,z80.e);break;case 60:tstates+=8;z80.h=readbyte_internal(s);z80.f=(z80.h)&1;(z80.h)>>=1;z80.f|=sz53p_table[(z80.h)];writebyte_internal(s,z80.h);break;case 61:tstates+=8;z80.l=readbyte_internal(s);z80.f=(z80.l)&1;(z80.l)>>=1;z80.f|=sz53p_table[(z80.l)];writebyte_internal(s,z80.l);break;case 62:tstates+=8;var v=readbyte_internal(s);z80.f=(v)&1;(v)>>=1;z80.f|=sz53p_table[(v)];writebyte_internal(s,v);break;case 63:tstates+=8;z80.a=readbyte_internal(s);z80.f=(z80.a)&1;(z80.a)>>=1;z80.f|=sz53p_table[(z80.a)];writebyte_internal(s,z80.a);break;case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(0)))){z80.f|=4|64}if((0)==7&&(v)&128){z80.f|=128}break;case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(1)))){z80.f|=4|64}if((1)==7&&(v)&128){z80.f|=128}break;case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(2)))){z80.f|=4|64}if((2)==7&&(v)&128){z80.f|=128}break;case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(3)))){z80.f|=4|64}if((3)==7&&(v)&128){z80.f|=128}break;case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(4)))){z80.f|=4|64}if((4)==7&&(v)&128){z80.f|=128}break;case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(5)))){z80.f|=4|64}if((5)==7&&(v)&128){z80.f|=128}break;case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(6)))){z80.f|=4|64}if((6)==7&&(v)&128){z80.f|=128}break;case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 127:tstates+=5;var v=readbyte_internal(s);z80.f=(z80.f&1)|16|((s>>8)&(8|32));if(!((v)&(1<<(7)))){z80.f|=4|64}if((7)==7&&(v)&128){z80.f|=128}break;case 128:tstates+=8;z80.b=readbyte_internal(s)&254;writebyte_internal(s,z80.b);break;case 129:tstates+=8;z80.c=readbyte_internal(s)&254;writebyte_internal(s,z80.c);break;case 130:tstates+=8;z80.d=readbyte_internal(s)&254;writebyte_internal(s,z80.d);break;case 131:tstates+=8;z80.e=readbyte_internal(s)&254;writebyte_internal(s,z80.e);break;case 132:tstates+=8;z80.h=readbyte_internal(s)&254;writebyte_internal(s,z80.h);break;case 133:tstates+=8;z80.l=readbyte_internal(s)&254;writebyte_internal(s,z80.l);break;case 134:tstates+=8;writebyte_internal(s,readbyte_internal(s)&254);break;case 135:tstates+=8;z80.a=readbyte_internal(s)&254;writebyte_internal(s,z80.a);break;case 136:tstates+=8;z80.b=readbyte_internal(s)&253;writebyte_internal(s,z80.b);break;case 137:tstates+=8;z80.c=readbyte_internal(s)&253;writebyte_internal(s,z80.c);break;case 138:tstates+=8;z80.d=readbyte_internal(s)&253;writebyte_internal(s,z80.d);break;case 139:tstates+=8;z80.e=readbyte_internal(s)&253;writebyte_internal(s,z80.e);break;case 140:tstates+=8;z80.h=readbyte_internal(s)&253;writebyte_internal(s,z80.h);break;case 141:tstates+=8;z80.l=readbyte_internal(s)&253;writebyte_internal(s,z80.l);break;case 142:tstates+=8;writebyte_internal(s,readbyte_internal(s)&253);break;case 143:tstates+=8;z80.a=readbyte_internal(s)&253;writebyte_internal(s,z80.a);break;case 144:tstates+=8;z80.b=readbyte_internal(s)&251;writebyte_internal(s,z80.b);break;case 145:tstates+=8;z80.c=readbyte_internal(s)&251;writebyte_internal(s,z80.c);break;case 146:tstates+=8;z80.d=readbyte_internal(s)&251;writebyte_internal(s,z80.d);break;case 147:tstates+=8;z80.e=readbyte_internal(s)&251;writebyte_internal(s,z80.e);break;case 148:tstates+=8;z80.h=readbyte_internal(s)&251;writebyte_internal(s,z80.h);break;case 149:tstates+=8;z80.l=readbyte_internal(s)&251;writebyte_internal(s,z80.l);break;case 150:tstates+=8;writebyte_internal(s,readbyte_internal(s)&251);break;case 151:tstates+=8;z80.a=readbyte_internal(s)&251;writebyte_internal(s,z80.a);break;case 152:tstates+=8;z80.b=readbyte_internal(s)&247;writebyte_internal(s,z80.b);break;case 153:tstates+=8;z80.c=readbyte_internal(s)&247;writebyte_internal(s,z80.c);break;case 154:tstates+=8;z80.d=readbyte_internal(s)&247;writebyte_internal(s,z80.d);break;case 155:tstates+=8;z80.e=readbyte_internal(s)&247;writebyte_internal(s,z80.e);break;case 156:tstates+=8;z80.h=readbyte_internal(s)&247;writebyte_internal(s,z80.h);break;case 157:tstates+=8;z80.l=readbyte_internal(s)&247;writebyte_internal(s,z80.l);break;case 158:tstates+=8;writebyte_internal(s,readbyte_internal(s)&247);break;case 159:tstates+=8;z80.a=readbyte_internal(s)&247;writebyte_internal(s,z80.a);break;case 160:tstates+=8;z80.b=readbyte_internal(s)&239;writebyte_internal(s,z80.b);break;case 161:tstates+=8;z80.c=readbyte_internal(s)&239;writebyte_internal(s,z80.c);break;case 162:tstates+=8;z80.d=readbyte_internal(s)&239;writebyte_internal(s,z80.d);break;case 163:tstates+=8;z80.e=readbyte_internal(s)&239;writebyte_internal(s,z80.e);break;case 164:tstates+=8;z80.h=readbyte_internal(s)&239;writebyte_internal(s,z80.h);break;case 165:tstates+=8;z80.l=readbyte_internal(s)&239;writebyte_internal(s,z80.l);break;case 166:tstates+=8;writebyte_internal(s,readbyte_internal(s)&239);break;case 167:tstates+=8;z80.a=readbyte_internal(s)&239;writebyte_internal(s,z80.a);break;case 168:tstates+=8;z80.b=readbyte_internal(s)&223;writebyte_internal(s,z80.b);break;case 169:tstates+=8;z80.c=readbyte_internal(s)&223;writebyte_internal(s,z80.c);break;case 170:tstates+=8;z80.d=readbyte_internal(s)&223;writebyte_internal(s,z80.d);break;case 171:tstates+=8;z80.e=readbyte_internal(s)&223;writebyte_internal(s,z80.e);break;case 172:tstates+=8;z80.h=readbyte_internal(s)&223;writebyte_internal(s,z80.h);break;case 173:tstates+=8;z80.l=readbyte_internal(s)&223;writebyte_internal(s,z80.l);break;case 174:tstates+=8;writebyte_internal(s,readbyte_internal(s)&223);break;case 175:tstates+=8;z80.a=readbyte_internal(s)&223;writebyte_internal(s,z80.a);break;case 176:tstates+=8;z80.b=readbyte_internal(s)&191;writebyte_internal(s,z80.b);break;case 177:tstates+=8;z80.c=readbyte_internal(s)&191;writebyte_internal(s,z80.c);break;case 178:tstates+=8;z80.d=readbyte_internal(s)&191;writebyte_internal(s,z80.d);break;case 179:tstates+=8;z80.e=readbyte_internal(s)&191;writebyte_internal(s,z80.e);break;case 180:tstates+=8;z80.h=readbyte_internal(s)&191;writebyte_internal(s,z80.h);break;case 181:tstates+=8;z80.l=readbyte_internal(s)&191;writebyte_internal(s,z80.l);break;case 182:tstates+=8;writebyte_internal(s,readbyte_internal(s)&191);break;case 183:tstates+=8;z80.a=readbyte_internal(s)&191;writebyte_internal(s,z80.a);break;case 184:tstates+=8;z80.b=readbyte_internal(s)&127;writebyte_internal(s,z80.b);break;case 185:tstates+=8;z80.c=readbyte_internal(s)&127;writebyte_internal(s,z80.c);break;case 186:tstates+=8;z80.d=readbyte_internal(s)&127;writebyte_internal(s,z80.d);break;case 187:tstates+=8;z80.e=readbyte_internal(s)&127;writebyte_internal(s,z80.e);break;case 188:tstates+=8;z80.h=readbyte_internal(s)&127;writebyte_internal(s,z80.h);break;case 189:tstates+=8;z80.l=readbyte_internal(s)&127;writebyte_internal(s,z80.l);break;case 190:tstates+=8;writebyte_internal(s,readbyte_internal(s)&127);break;case 191:tstates+=8;z80.a=readbyte_internal(s)&127;writebyte_internal(s,z80.a);break;case 192:tstates+=8;z80.b=readbyte_internal(s)|1;writebyte_internal(s,z80.b);break;case 193:tstates+=8;z80.c=readbyte_internal(s)|1;writebyte_internal(s,z80.c);break;case 194:tstates+=8;z80.d=readbyte_internal(s)|1;writebyte_internal(s,z80.d);break;case 195:tstates+=8;z80.e=readbyte_internal(s)|1;writebyte_internal(s,z80.e);break;case 196:tstates+=8;z80.h=readbyte_internal(s)|1;writebyte_internal(s,z80.h);break;case 197:tstates+=8;z80.l=readbyte_internal(s)|1;writebyte_internal(s,z80.l);break;case 198:tstates+=8;writebyte_internal(s,readbyte_internal(s)|1);break;case 199:tstates+=8;z80.a=readbyte_internal(s)|1;writebyte_internal(s,z80.a);break;case 200:tstates+=8;z80.b=readbyte_internal(s)|2;writebyte_internal(s,z80.b);break;case 201:tstates+=8;z80.c=readbyte_internal(s)|2;writebyte_internal(s,z80.c);break;case 202:tstates+=8;z80.d=readbyte_internal(s)|2;writebyte_internal(s,z80.d);break;case 203:tstates+=8;z80.e=readbyte_internal(s)|2;writebyte_internal(s,z80.e);break;case 204:tstates+=8;z80.h=readbyte_internal(s)|2;writebyte_internal(s,z80.h);break;case 205:tstates+=8;z80.l=readbyte_internal(s)|2;writebyte_internal(s,z80.l);break;case 206:tstates+=8;writebyte_internal(s,readbyte_internal(s)|2);break;case 207:tstates+=8;z80.a=readbyte_internal(s)|2;writebyte_internal(s,z80.a);break;case 208:tstates+=8;z80.b=readbyte_internal(s)|4;writebyte_internal(s,z80.b);break;case 209:tstates+=8;z80.c=readbyte_internal(s)|4;writebyte_internal(s,z80.c);break;case 210:tstates+=8;z80.d=readbyte_internal(s)|4;writebyte_internal(s,z80.d);break;case 211:tstates+=8;z80.e=readbyte_internal(s)|4;writebyte_internal(s,z80.e);break;case 212:tstates+=8;z80.h=readbyte_internal(s)|4;writebyte_internal(s,z80.h);break;case 213:tstates+=8;z80.l=readbyte_internal(s)|4;writebyte_internal(s,z80.l);break;case 214:tstates+=8;writebyte_internal(s,readbyte_internal(s)|4);break;case 215:tstates+=8;z80.a=readbyte_internal(s)|4;writebyte_internal(s,z80.a);break;case 216:tstates+=8;z80.b=readbyte_internal(s)|8;writebyte_internal(s,z80.b);break;case 217:tstates+=8;z80.c=readbyte_internal(s)|8;writebyte_internal(s,z80.c);break;case 218:tstates+=8;z80.d=readbyte_internal(s)|8;writebyte_internal(s,z80.d);break;case 219:tstates+=8;z80.e=readbyte_internal(s)|8;writebyte_internal(s,z80.e);break;case 220:tstates+=8;z80.h=readbyte_internal(s)|8;writebyte_internal(s,z80.h);break;case 221:tstates+=8;z80.l=readbyte_internal(s)|8;writebyte_internal(s,z80.l);break;case 222:tstates+=8;writebyte_internal(s,readbyte_internal(s)|8);break;case 223:tstates+=8;z80.a=readbyte_internal(s)|8;writebyte_internal(s,z80.a);break;case 224:tstates+=8;z80.b=readbyte_internal(s)|16;writebyte_internal(s,z80.b);break;case 225:tstates+=8;z80.c=readbyte_internal(s)|16;writebyte_internal(s,z80.c);break;case 226:tstates+=8;z80.d=readbyte_internal(s)|16;writebyte_internal(s,z80.d);break;case 227:tstates+=8;z80.e=readbyte_internal(s)|16;writebyte_internal(s,z80.e);break;case 228:tstates+=8;z80.h=readbyte_internal(s)|16;writebyte_internal(s,z80.h);break;case 229:tstates+=8;z80.l=readbyte_internal(s)|16;writebyte_internal(s,z80.l);break;case 230:tstates+=8;writebyte_internal(s,readbyte_internal(s)|16);break;case 231:tstates+=8;z80.a=readbyte_internal(s)|16;writebyte_internal(s,z80.a);break;case 232:tstates+=8;z80.b=readbyte_internal(s)|32;writebyte_internal(s,z80.b);break;case 233:tstates+=8;z80.c=readbyte_internal(s)|32;writebyte_internal(s,z80.c);break;case 234:tstates+=8;z80.d=readbyte_internal(s)|32;writebyte_internal(s,z80.d);break;case 235:tstates+=8;z80.e=readbyte_internal(s)|32;writebyte_internal(s,z80.e);break;case 236:tstates+=8;z80.h=readbyte_internal(s)|32;writebyte_internal(s,z80.h);break;case 237:tstates+=8;z80.l=readbyte_internal(s)|32;writebyte_internal(s,z80.l);break;case 238:tstates+=8;writebyte_internal(s,readbyte_internal(s)|32);break;case 239:tstates+=8;z80.a=readbyte_internal(s)|32;writebyte_internal(s,z80.a);break;case 240:tstates+=8;z80.b=readbyte_internal(s)|64;writebyte_internal(s,z80.b);break;case 241:tstates+=8;z80.c=readbyte_internal(s)|64;writebyte_internal(s,z80.c);break;case 242:tstates+=8;z80.d=readbyte_internal(s)|64;writebyte_internal(s,z80.d);break;case 243:tstates+=8;z80.e=readbyte_internal(s)|64;writebyte_internal(s,z80.e);break;case 244:tstates+=8;z80.h=readbyte_internal(s)|64;writebyte_internal(s,z80.h);break;case 245:tstates+=8;z80.l=readbyte_internal(s)|64;writebyte_internal(s,z80.l);break;case 246:tstates+=8;writebyte_internal(s,readbyte_internal(s)|64);break;case 247:tstates+=8;z80.a=readbyte_internal(s)|64;writebyte_internal(s,z80.a);break;case 248:tstates+=8;z80.b=readbyte_internal(s)|128;writebyte_internal(s,z80.b);break;case 249:tstates+=8;z80.c=readbyte_internal(s)|128;writebyte_internal(s,z80.c);break;case 250:tstates+=8;z80.d=readbyte_internal(s)|128;writebyte_internal(s,z80.d);break;case 251:tstates+=8;z80.e=readbyte_internal(s)|128;writebyte_internal(s,z80.e);break;case 252:tstates+=8;z80.h=readbyte_internal(s)|128;writebyte_internal(s,z80.h);break;case 253:tstates+=8;z80.l=readbyte_internal(s)|128;writebyte_internal(s,z80.l);break;case 254:tstates+=8;writebyte_internal(s,readbyte_internal(s)|128);break;case 255:tstates+=8;z80.a=readbyte_internal(s)|128;writebyte_internal(s,z80.a);break}break;case 225:tstates+=(3);(z80.iyl)=readbyte_internal(z80.sp++);z80.sp&=65535;tstates+=(3);(z80.iyh)=readbyte_internal(z80.sp++);z80.sp&=65535;break;case 227:var c=readbyte_internal(z80.sp),h=readbyte_internal(z80.sp+1);tstates+=(3);tstates+=(4);tstates+=(3);tstates+=(5);writebyte_internal(z80.sp+1,z80.iyh);writebyte_internal(z80.sp,z80.iyl);z80.iyl=c;z80.iyh=h;break;case 229:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.iyh));z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.iyl));break;case 233:z80.pc=(z80.iyl|(z80.iyh<<8));break;case 249:tstates+=2;z80.sp=(z80.iyl|(z80.iyh<<8));break;default:z80.pc--;z80.pc&=65535;z80.r--;z80.r&=127;break}break;case 254:tstates+=(3);var v=readbyte_internal(z80.pc++);var H=z80.a-v;var j=((z80.a&136)>>3)|(((v)&136)>>2)|((H&136)>>1);z80.f=(H&256?1:(H?0:64))|2|halfcarry_sub_table[j&7]|overflow_sub_table[j>>4]|(v&(8|32))|(H&128);break;case 255:tstates++;z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)>>8);z80.sp--;z80.sp&=65535;tstates+=(3);writebyte_internal(z80.sp,(z80.pc)&255);z80.pc=(56);break}}};
