1 /* z80_ddfdcb.c Z80 {DD,FD}CBxx opcodes 2 Copyright (c) 1999-2003 Philip Kendall 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along 15 with this program; if not, write to the Free Software Foundation, Inc., 16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 18 Author contact information: 19 20 E-mail: philip-fuse@shadowmagic.org.uk 21 22 */ 23 24 /* NB: this file is autogenerated by './z80/z80.pl' from 'opcodes_ddfdcb.dat', 25 and included in 'z80_ops.c' */ 26 27 case 0x00: /* LD B,RLC (REGISTER+dd) */ 28 B=readbyte(z80.memptr.w); 29 contend_read_no_mreq( z80.memptr.w, 1 ); 30 RLC(B); 31 writebyte(z80.memptr.w, B); 32 break; 33 case 0x01: /* LD C,RLC (REGISTER+dd) */ 34 C=readbyte(z80.memptr.w); 35 contend_read_no_mreq( z80.memptr.w, 1 ); 36 RLC(C); 37 writebyte(z80.memptr.w, C); 38 break; 39 case 0x02: /* LD D,RLC (REGISTER+dd) */ 40 D=readbyte(z80.memptr.w); 41 contend_read_no_mreq( z80.memptr.w, 1 ); 42 RLC(D); 43 writebyte(z80.memptr.w, D); 44 break; 45 case 0x03: /* LD E,RLC (REGISTER+dd) */ 46 E=readbyte(z80.memptr.w); 47 contend_read_no_mreq( z80.memptr.w, 1 ); 48 RLC(E); 49 writebyte(z80.memptr.w, E); 50 break; 51 case 0x04: /* LD H,RLC (REGISTER+dd) */ 52 H=readbyte(z80.memptr.w); 53 contend_read_no_mreq( z80.memptr.w, 1 ); 54 RLC(H); 55 writebyte(z80.memptr.w, H); 56 break; 57 case 0x05: /* LD L,RLC (REGISTER+dd) */ 58 L=readbyte(z80.memptr.w); 59 contend_read_no_mreq( z80.memptr.w, 1 ); 60 RLC(L); 61 writebyte(z80.memptr.w, L); 62 break; 63 case 0x06: /* RLC (REGISTER+dd) */ 64 { 65 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 66 contend_read_no_mreq( z80.memptr.w, 1 ); 67 RLC(bytetemp); 68 writebyte(z80.memptr.w,bytetemp); 69 } 70 break; 71 case 0x07: /* LD A,RLC (REGISTER+dd) */ 72 A=readbyte(z80.memptr.w); 73 contend_read_no_mreq( z80.memptr.w, 1 ); 74 RLC(A); 75 writebyte(z80.memptr.w, A); 76 break; 77 case 0x08: /* LD B,RRC (REGISTER+dd) */ 78 B=readbyte(z80.memptr.w); 79 contend_read_no_mreq( z80.memptr.w, 1 ); 80 RRC(B); 81 writebyte(z80.memptr.w, B); 82 break; 83 case 0x09: /* LD C,RRC (REGISTER+dd) */ 84 C=readbyte(z80.memptr.w); 85 contend_read_no_mreq( z80.memptr.w, 1 ); 86 RRC(C); 87 writebyte(z80.memptr.w, C); 88 break; 89 case 0x0a: /* LD D,RRC (REGISTER+dd) */ 90 D=readbyte(z80.memptr.w); 91 contend_read_no_mreq( z80.memptr.w, 1 ); 92 RRC(D); 93 writebyte(z80.memptr.w, D); 94 break; 95 case 0x0b: /* LD E,RRC (REGISTER+dd) */ 96 E=readbyte(z80.memptr.w); 97 contend_read_no_mreq( z80.memptr.w, 1 ); 98 RRC(E); 99 writebyte(z80.memptr.w, E); 100 break; 101 case 0x0c: /* LD H,RRC (REGISTER+dd) */ 102 H=readbyte(z80.memptr.w); 103 contend_read_no_mreq( z80.memptr.w, 1 ); 104 RRC(H); 105 writebyte(z80.memptr.w, H); 106 break; 107 case 0x0d: /* LD L,RRC (REGISTER+dd) */ 108 L=readbyte(z80.memptr.w); 109 contend_read_no_mreq( z80.memptr.w, 1 ); 110 RRC(L); 111 writebyte(z80.memptr.w, L); 112 break; 113 case 0x0e: /* RRC (REGISTER+dd) */ 114 { 115 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 116 contend_read_no_mreq( z80.memptr.w, 1 ); 117 RRC(bytetemp); 118 writebyte(z80.memptr.w,bytetemp); 119 } 120 break; 121 case 0x0f: /* LD A,RRC (REGISTER+dd) */ 122 A=readbyte(z80.memptr.w); 123 contend_read_no_mreq( z80.memptr.w, 1 ); 124 RRC(A); 125 writebyte(z80.memptr.w, A); 126 break; 127 case 0x10: /* LD B,RL (REGISTER+dd) */ 128 B=readbyte(z80.memptr.w); 129 contend_read_no_mreq( z80.memptr.w, 1 ); 130 RL(B); 131 writebyte(z80.memptr.w, B); 132 break; 133 case 0x11: /* LD C,RL (REGISTER+dd) */ 134 C=readbyte(z80.memptr.w); 135 contend_read_no_mreq( z80.memptr.w, 1 ); 136 RL(C); 137 writebyte(z80.memptr.w, C); 138 break; 139 case 0x12: /* LD D,RL (REGISTER+dd) */ 140 D=readbyte(z80.memptr.w); 141 contend_read_no_mreq( z80.memptr.w, 1 ); 142 RL(D); 143 writebyte(z80.memptr.w, D); 144 break; 145 case 0x13: /* LD E,RL (REGISTER+dd) */ 146 E=readbyte(z80.memptr.w); 147 contend_read_no_mreq( z80.memptr.w, 1 ); 148 RL(E); 149 writebyte(z80.memptr.w, E); 150 break; 151 case 0x14: /* LD H,RL (REGISTER+dd) */ 152 H=readbyte(z80.memptr.w); 153 contend_read_no_mreq( z80.memptr.w, 1 ); 154 RL(H); 155 writebyte(z80.memptr.w, H); 156 break; 157 case 0x15: /* LD L,RL (REGISTER+dd) */ 158 L=readbyte(z80.memptr.w); 159 contend_read_no_mreq( z80.memptr.w, 1 ); 160 RL(L); 161 writebyte(z80.memptr.w, L); 162 break; 163 case 0x16: /* RL (REGISTER+dd) */ 164 { 165 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 166 contend_read_no_mreq( z80.memptr.w, 1 ); 167 RL(bytetemp); 168 writebyte(z80.memptr.w,bytetemp); 169 } 170 break; 171 case 0x17: /* LD A,RL (REGISTER+dd) */ 172 A=readbyte(z80.memptr.w); 173 contend_read_no_mreq( z80.memptr.w, 1 ); 174 RL(A); 175 writebyte(z80.memptr.w, A); 176 break; 177 case 0x18: /* LD B,RR (REGISTER+dd) */ 178 B=readbyte(z80.memptr.w); 179 contend_read_no_mreq( z80.memptr.w, 1 ); 180 RR(B); 181 writebyte(z80.memptr.w, B); 182 break; 183 case 0x19: /* LD C,RR (REGISTER+dd) */ 184 C=readbyte(z80.memptr.w); 185 contend_read_no_mreq( z80.memptr.w, 1 ); 186 RR(C); 187 writebyte(z80.memptr.w, C); 188 break; 189 case 0x1a: /* LD D,RR (REGISTER+dd) */ 190 D=readbyte(z80.memptr.w); 191 contend_read_no_mreq( z80.memptr.w, 1 ); 192 RR(D); 193 writebyte(z80.memptr.w, D); 194 break; 195 case 0x1b: /* LD E,RR (REGISTER+dd) */ 196 E=readbyte(z80.memptr.w); 197 contend_read_no_mreq( z80.memptr.w, 1 ); 198 RR(E); 199 writebyte(z80.memptr.w, E); 200 break; 201 case 0x1c: /* LD H,RR (REGISTER+dd) */ 202 H=readbyte(z80.memptr.w); 203 contend_read_no_mreq( z80.memptr.w, 1 ); 204 RR(H); 205 writebyte(z80.memptr.w, H); 206 break; 207 case 0x1d: /* LD L,RR (REGISTER+dd) */ 208 L=readbyte(z80.memptr.w); 209 contend_read_no_mreq( z80.memptr.w, 1 ); 210 RR(L); 211 writebyte(z80.memptr.w, L); 212 break; 213 case 0x1e: /* RR (REGISTER+dd) */ 214 { 215 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 216 contend_read_no_mreq( z80.memptr.w, 1 ); 217 RR(bytetemp); 218 writebyte(z80.memptr.w,bytetemp); 219 } 220 break; 221 case 0x1f: /* LD A,RR (REGISTER+dd) */ 222 A=readbyte(z80.memptr.w); 223 contend_read_no_mreq( z80.memptr.w, 1 ); 224 RR(A); 225 writebyte(z80.memptr.w, A); 226 break; 227 case 0x20: /* LD B,SLA (REGISTER+dd) */ 228 B=readbyte(z80.memptr.w); 229 contend_read_no_mreq( z80.memptr.w, 1 ); 230 SLA(B); 231 writebyte(z80.memptr.w, B); 232 break; 233 case 0x21: /* LD C,SLA (REGISTER+dd) */ 234 C=readbyte(z80.memptr.w); 235 contend_read_no_mreq( z80.memptr.w, 1 ); 236 SLA(C); 237 writebyte(z80.memptr.w, C); 238 break; 239 case 0x22: /* LD D,SLA (REGISTER+dd) */ 240 D=readbyte(z80.memptr.w); 241 contend_read_no_mreq( z80.memptr.w, 1 ); 242 SLA(D); 243 writebyte(z80.memptr.w, D); 244 break; 245 case 0x23: /* LD E,SLA (REGISTER+dd) */ 246 E=readbyte(z80.memptr.w); 247 contend_read_no_mreq( z80.memptr.w, 1 ); 248 SLA(E); 249 writebyte(z80.memptr.w, E); 250 break; 251 case 0x24: /* LD H,SLA (REGISTER+dd) */ 252 H=readbyte(z80.memptr.w); 253 contend_read_no_mreq( z80.memptr.w, 1 ); 254 SLA(H); 255 writebyte(z80.memptr.w, H); 256 break; 257 case 0x25: /* LD L,SLA (REGISTER+dd) */ 258 L=readbyte(z80.memptr.w); 259 contend_read_no_mreq( z80.memptr.w, 1 ); 260 SLA(L); 261 writebyte(z80.memptr.w, L); 262 break; 263 case 0x26: /* SLA (REGISTER+dd) */ 264 { 265 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 266 contend_read_no_mreq( z80.memptr.w, 1 ); 267 SLA(bytetemp); 268 writebyte(z80.memptr.w,bytetemp); 269 } 270 break; 271 case 0x27: /* LD A,SLA (REGISTER+dd) */ 272 A=readbyte(z80.memptr.w); 273 contend_read_no_mreq( z80.memptr.w, 1 ); 274 SLA(A); 275 writebyte(z80.memptr.w, A); 276 break; 277 case 0x28: /* LD B,SRA (REGISTER+dd) */ 278 B=readbyte(z80.memptr.w); 279 contend_read_no_mreq( z80.memptr.w, 1 ); 280 SRA(B); 281 writebyte(z80.memptr.w, B); 282 break; 283 case 0x29: /* LD C,SRA (REGISTER+dd) */ 284 C=readbyte(z80.memptr.w); 285 contend_read_no_mreq( z80.memptr.w, 1 ); 286 SRA(C); 287 writebyte(z80.memptr.w, C); 288 break; 289 case 0x2a: /* LD D,SRA (REGISTER+dd) */ 290 D=readbyte(z80.memptr.w); 291 contend_read_no_mreq( z80.memptr.w, 1 ); 292 SRA(D); 293 writebyte(z80.memptr.w, D); 294 break; 295 case 0x2b: /* LD E,SRA (REGISTER+dd) */ 296 E=readbyte(z80.memptr.w); 297 contend_read_no_mreq( z80.memptr.w, 1 ); 298 SRA(E); 299 writebyte(z80.memptr.w, E); 300 break; 301 case 0x2c: /* LD H,SRA (REGISTER+dd) */ 302 H=readbyte(z80.memptr.w); 303 contend_read_no_mreq( z80.memptr.w, 1 ); 304 SRA(H); 305 writebyte(z80.memptr.w, H); 306 break; 307 case 0x2d: /* LD L,SRA (REGISTER+dd) */ 308 L=readbyte(z80.memptr.w); 309 contend_read_no_mreq( z80.memptr.w, 1 ); 310 SRA(L); 311 writebyte(z80.memptr.w, L); 312 break; 313 case 0x2e: /* SRA (REGISTER+dd) */ 314 { 315 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 316 contend_read_no_mreq( z80.memptr.w, 1 ); 317 SRA(bytetemp); 318 writebyte(z80.memptr.w,bytetemp); 319 } 320 break; 321 case 0x2f: /* LD A,SRA (REGISTER+dd) */ 322 A=readbyte(z80.memptr.w); 323 contend_read_no_mreq( z80.memptr.w, 1 ); 324 SRA(A); 325 writebyte(z80.memptr.w, A); 326 break; 327 case 0x30: /* LD B,SLL (REGISTER+dd) */ 328 B=readbyte(z80.memptr.w); 329 contend_read_no_mreq( z80.memptr.w, 1 ); 330 SLL(B); 331 writebyte(z80.memptr.w, B); 332 break; 333 case 0x31: /* LD C,SLL (REGISTER+dd) */ 334 C=readbyte(z80.memptr.w); 335 contend_read_no_mreq( z80.memptr.w, 1 ); 336 SLL(C); 337 writebyte(z80.memptr.w, C); 338 break; 339 case 0x32: /* LD D,SLL (REGISTER+dd) */ 340 D=readbyte(z80.memptr.w); 341 contend_read_no_mreq( z80.memptr.w, 1 ); 342 SLL(D); 343 writebyte(z80.memptr.w, D); 344 break; 345 case 0x33: /* LD E,SLL (REGISTER+dd) */ 346 E=readbyte(z80.memptr.w); 347 contend_read_no_mreq( z80.memptr.w, 1 ); 348 SLL(E); 349 writebyte(z80.memptr.w, E); 350 break; 351 case 0x34: /* LD H,SLL (REGISTER+dd) */ 352 H=readbyte(z80.memptr.w); 353 contend_read_no_mreq( z80.memptr.w, 1 ); 354 SLL(H); 355 writebyte(z80.memptr.w, H); 356 break; 357 case 0x35: /* LD L,SLL (REGISTER+dd) */ 358 L=readbyte(z80.memptr.w); 359 contend_read_no_mreq( z80.memptr.w, 1 ); 360 SLL(L); 361 writebyte(z80.memptr.w, L); 362 break; 363 case 0x36: /* SLL (REGISTER+dd) */ 364 { 365 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 366 contend_read_no_mreq( z80.memptr.w, 1 ); 367 SLL(bytetemp); 368 writebyte(z80.memptr.w,bytetemp); 369 } 370 break; 371 case 0x37: /* LD A,SLL (REGISTER+dd) */ 372 A=readbyte(z80.memptr.w); 373 contend_read_no_mreq( z80.memptr.w, 1 ); 374 SLL(A); 375 writebyte(z80.memptr.w, A); 376 break; 377 case 0x38: /* LD B,SRL (REGISTER+dd) */ 378 B=readbyte(z80.memptr.w); 379 contend_read_no_mreq( z80.memptr.w, 1 ); 380 SRL(B); 381 writebyte(z80.memptr.w, B); 382 break; 383 case 0x39: /* LD C,SRL (REGISTER+dd) */ 384 C=readbyte(z80.memptr.w); 385 contend_read_no_mreq( z80.memptr.w, 1 ); 386 SRL(C); 387 writebyte(z80.memptr.w, C); 388 break; 389 case 0x3a: /* LD D,SRL (REGISTER+dd) */ 390 D=readbyte(z80.memptr.w); 391 contend_read_no_mreq( z80.memptr.w, 1 ); 392 SRL(D); 393 writebyte(z80.memptr.w, D); 394 break; 395 case 0x3b: /* LD E,SRL (REGISTER+dd) */ 396 E=readbyte(z80.memptr.w); 397 contend_read_no_mreq( z80.memptr.w, 1 ); 398 SRL(E); 399 writebyte(z80.memptr.w, E); 400 break; 401 case 0x3c: /* LD H,SRL (REGISTER+dd) */ 402 H=readbyte(z80.memptr.w); 403 contend_read_no_mreq( z80.memptr.w, 1 ); 404 SRL(H); 405 writebyte(z80.memptr.w, H); 406 break; 407 case 0x3d: /* LD L,SRL (REGISTER+dd) */ 408 L=readbyte(z80.memptr.w); 409 contend_read_no_mreq( z80.memptr.w, 1 ); 410 SRL(L); 411 writebyte(z80.memptr.w, L); 412 break; 413 case 0x3e: /* SRL (REGISTER+dd) */ 414 { 415 libspectrum_byte bytetemp = readbyte(z80.memptr.w); 416 contend_read_no_mreq( z80.memptr.w, 1 ); 417 SRL(bytetemp); 418 writebyte(z80.memptr.w,bytetemp); 419 } 420 break; 421 case 0x3f: /* LD A,SRL (REGISTER+dd) */ 422 A=readbyte(z80.memptr.w); 423 contend_read_no_mreq( z80.memptr.w, 1 ); 424 SRL(A); 425 writebyte(z80.memptr.w, A); 426 break; 427 case 0x40: 428 case 0x41: 429 case 0x42: 430 case 0x43: 431 case 0x44: 432 case 0x45: 433 case 0x46: 434 case 0x47: /* BIT 0,(REGISTER+dd) */ 435 { 436 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 437 contend_read_no_mreq( z80.memptr.w, 1 ); 438 BIT_MEMPTR( 0, bytetemp ); 439 } 440 break; 441 case 0x48: 442 case 0x49: 443 case 0x4a: 444 case 0x4b: 445 case 0x4c: 446 case 0x4d: 447 case 0x4e: 448 case 0x4f: /* BIT 1,(REGISTER+dd) */ 449 { 450 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 451 contend_read_no_mreq( z80.memptr.w, 1 ); 452 BIT_MEMPTR( 1, bytetemp ); 453 } 454 break; 455 case 0x50: 456 case 0x51: 457 case 0x52: 458 case 0x53: 459 case 0x54: 460 case 0x55: 461 case 0x56: 462 case 0x57: /* BIT 2,(REGISTER+dd) */ 463 { 464 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 465 contend_read_no_mreq( z80.memptr.w, 1 ); 466 BIT_MEMPTR( 2, bytetemp ); 467 } 468 break; 469 case 0x58: 470 case 0x59: 471 case 0x5a: 472 case 0x5b: 473 case 0x5c: 474 case 0x5d: 475 case 0x5e: 476 case 0x5f: /* BIT 3,(REGISTER+dd) */ 477 { 478 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 479 contend_read_no_mreq( z80.memptr.w, 1 ); 480 BIT_MEMPTR( 3, bytetemp ); 481 } 482 break; 483 case 0x60: 484 case 0x61: 485 case 0x62: 486 case 0x63: 487 case 0x64: 488 case 0x65: 489 case 0x66: 490 case 0x67: /* BIT 4,(REGISTER+dd) */ 491 { 492 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 493 contend_read_no_mreq( z80.memptr.w, 1 ); 494 BIT_MEMPTR( 4, bytetemp ); 495 } 496 break; 497 case 0x68: 498 case 0x69: 499 case 0x6a: 500 case 0x6b: 501 case 0x6c: 502 case 0x6d: 503 case 0x6e: 504 case 0x6f: /* BIT 5,(REGISTER+dd) */ 505 { 506 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 507 contend_read_no_mreq( z80.memptr.w, 1 ); 508 BIT_MEMPTR( 5, bytetemp ); 509 } 510 break; 511 case 0x70: 512 case 0x71: 513 case 0x72: 514 case 0x73: 515 case 0x74: 516 case 0x75: 517 case 0x76: 518 case 0x77: /* BIT 6,(REGISTER+dd) */ 519 { 520 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 521 contend_read_no_mreq( z80.memptr.w, 1 ); 522 BIT_MEMPTR( 6, bytetemp ); 523 } 524 break; 525 case 0x78: 526 case 0x79: 527 case 0x7a: 528 case 0x7b: 529 case 0x7c: 530 case 0x7d: 531 case 0x7e: 532 case 0x7f: /* BIT 7,(REGISTER+dd) */ 533 { 534 libspectrum_byte bytetemp = readbyte( z80.memptr.w ); 535 contend_read_no_mreq( z80.memptr.w, 1 ); 536 BIT_MEMPTR( 7, bytetemp ); 537 } 538 break; 539 case 0x80: /* LD B,RES 0,(REGISTER+dd) */ 540 B = readbyte(z80.memptr.w) & 0xfe; 541 contend_read_no_mreq( z80.memptr.w, 1 ); 542 writebyte(z80.memptr.w, B); 543 break; 544 case 0x81: /* LD C,RES 0,(REGISTER+dd) */ 545 C = readbyte(z80.memptr.w) & 0xfe; 546 contend_read_no_mreq( z80.memptr.w, 1 ); 547 writebyte(z80.memptr.w, C); 548 break; 549 case 0x82: /* LD D,RES 0,(REGISTER+dd) */ 550 D = readbyte(z80.memptr.w) & 0xfe; 551 contend_read_no_mreq( z80.memptr.w, 1 ); 552 writebyte(z80.memptr.w, D); 553 break; 554 case 0x83: /* LD E,RES 0,(REGISTER+dd) */ 555 E = readbyte(z80.memptr.w) & 0xfe; 556 contend_read_no_mreq( z80.memptr.w, 1 ); 557 writebyte(z80.memptr.w, E); 558 break; 559 case 0x84: /* LD H,RES 0,(REGISTER+dd) */ 560 H = readbyte(z80.memptr.w) & 0xfe; 561 contend_read_no_mreq( z80.memptr.w, 1 ); 562 writebyte(z80.memptr.w, H); 563 break; 564 case 0x85: /* LD L,RES 0,(REGISTER+dd) */ 565 L = readbyte(z80.memptr.w) & 0xfe; 566 contend_read_no_mreq( z80.memptr.w, 1 ); 567 writebyte(z80.memptr.w, L); 568 break; 569 case 0x86: /* RES 0,(REGISTER+dd) */ 570 { 571 libspectrum_byte bytetemp; 572 bytetemp = readbyte( z80.memptr.w ); 573 contend_read_no_mreq( z80.memptr.w, 1 ); 574 writebyte( z80.memptr.w, bytetemp & 0xfe ); 575 } 576 break; 577 case 0x87: /* LD A,RES 0,(REGISTER+dd) */ 578 A = readbyte(z80.memptr.w) & 0xfe; 579 contend_read_no_mreq( z80.memptr.w, 1 ); 580 writebyte(z80.memptr.w, A); 581 break; 582 case 0x88: /* LD B,RES 1,(REGISTER+dd) */ 583 B = readbyte(z80.memptr.w) & 0xfd; 584 contend_read_no_mreq( z80.memptr.w, 1 ); 585 writebyte(z80.memptr.w, B); 586 break; 587 case 0x89: /* LD C,RES 1,(REGISTER+dd) */ 588 C = readbyte(z80.memptr.w) & 0xfd; 589 contend_read_no_mreq( z80.memptr.w, 1 ); 590 writebyte(z80.memptr.w, C); 591 break; 592 case 0x8a: /* LD D,RES 1,(REGISTER+dd) */ 593 D = readbyte(z80.memptr.w) & 0xfd; 594 contend_read_no_mreq( z80.memptr.w, 1 ); 595 writebyte(z80.memptr.w, D); 596 break; 597 case 0x8b: /* LD E,RES 1,(REGISTER+dd) */ 598 E = readbyte(z80.memptr.w) & 0xfd; 599 contend_read_no_mreq( z80.memptr.w, 1 ); 600 writebyte(z80.memptr.w, E); 601 break; 602 case 0x8c: /* LD H,RES 1,(REGISTER+dd) */ 603 H = readbyte(z80.memptr.w) & 0xfd; 604 contend_read_no_mreq( z80.memptr.w, 1 ); 605 writebyte(z80.memptr.w, H); 606 break; 607 case 0x8d: /* LD L,RES 1,(REGISTER+dd) */ 608 L = readbyte(z80.memptr.w) & 0xfd; 609 contend_read_no_mreq( z80.memptr.w, 1 ); 610 writebyte(z80.memptr.w, L); 611 break; 612 case 0x8e: /* RES 1,(REGISTER+dd) */ 613 { 614 libspectrum_byte bytetemp; 615 bytetemp = readbyte( z80.memptr.w ); 616 contend_read_no_mreq( z80.memptr.w, 1 ); 617 writebyte( z80.memptr.w, bytetemp & 0xfd ); 618 } 619 break; 620 case 0x8f: /* LD A,RES 1,(REGISTER+dd) */ 621 A = readbyte(z80.memptr.w) & 0xfd; 622 contend_read_no_mreq( z80.memptr.w, 1 ); 623 writebyte(z80.memptr.w, A); 624 break; 625 case 0x90: /* LD B,RES 2,(REGISTER+dd) */ 626 B = readbyte(z80.memptr.w) & 0xfb; 627 contend_read_no_mreq( z80.memptr.w, 1 ); 628 writebyte(z80.memptr.w, B); 629 break; 630 case 0x91: /* LD C,RES 2,(REGISTER+dd) */ 631 C = readbyte(z80.memptr.w) & 0xfb; 632 contend_read_no_mreq( z80.memptr.w, 1 ); 633 writebyte(z80.memptr.w, C); 634 break; 635 case 0x92: /* LD D,RES 2,(REGISTER+dd) */ 636 D = readbyte(z80.memptr.w) & 0xfb; 637 contend_read_no_mreq( z80.memptr.w, 1 ); 638 writebyte(z80.memptr.w, D); 639 break; 640 case 0x93: /* LD E,RES 2,(REGISTER+dd) */ 641 E = readbyte(z80.memptr.w) & 0xfb; 642 contend_read_no_mreq( z80.memptr.w, 1 ); 643 writebyte(z80.memptr.w, E); 644 break; 645 case 0x94: /* LD H,RES 2,(REGISTER+dd) */ 646 H = readbyte(z80.memptr.w) & 0xfb; 647 contend_read_no_mreq( z80.memptr.w, 1 ); 648 writebyte(z80.memptr.w, H); 649 break; 650 case 0x95: /* LD L,RES 2,(REGISTER+dd) */ 651 L = readbyte(z80.memptr.w) & 0xfb; 652 contend_read_no_mreq( z80.memptr.w, 1 ); 653 writebyte(z80.memptr.w, L); 654 break; 655 case 0x96: /* RES 2,(REGISTER+dd) */ 656 { 657 libspectrum_byte bytetemp; 658 bytetemp = readbyte( z80.memptr.w ); 659 contend_read_no_mreq( z80.memptr.w, 1 ); 660 writebyte( z80.memptr.w, bytetemp & 0xfb ); 661 } 662 break; 663 case 0x97: /* LD A,RES 2,(REGISTER+dd) */ 664 A = readbyte(z80.memptr.w) & 0xfb; 665 contend_read_no_mreq( z80.memptr.w, 1 ); 666 writebyte(z80.memptr.w, A); 667 break; 668 case 0x98: /* LD B,RES 3,(REGISTER+dd) */ 669 B = readbyte(z80.memptr.w) & 0xf7; 670 contend_read_no_mreq( z80.memptr.w, 1 ); 671 writebyte(z80.memptr.w, B); 672 break; 673 case 0x99: /* LD C,RES 3,(REGISTER+dd) */ 674 C = readbyte(z80.memptr.w) & 0xf7; 675 contend_read_no_mreq( z80.memptr.w, 1 ); 676 writebyte(z80.memptr.w, C); 677 break; 678 case 0x9a: /* LD D,RES 3,(REGISTER+dd) */ 679 D = readbyte(z80.memptr.w) & 0xf7; 680 contend_read_no_mreq( z80.memptr.w, 1 ); 681 writebyte(z80.memptr.w, D); 682 break; 683 case 0x9b: /* LD E,RES 3,(REGISTER+dd) */ 684 E = readbyte(z80.memptr.w) & 0xf7; 685 contend_read_no_mreq( z80.memptr.w, 1 ); 686 writebyte(z80.memptr.w, E); 687 break; 688 case 0x9c: /* LD H,RES 3,(REGISTER+dd) */ 689 H = readbyte(z80.memptr.w) & 0xf7; 690 contend_read_no_mreq( z80.memptr.w, 1 ); 691 writebyte(z80.memptr.w, H); 692 break; 693 case 0x9d: /* LD L,RES 3,(REGISTER+dd) */ 694 L = readbyte(z80.memptr.w) & 0xf7; 695 contend_read_no_mreq( z80.memptr.w, 1 ); 696 writebyte(z80.memptr.w, L); 697 break; 698 case 0x9e: /* RES 3,(REGISTER+dd) */ 699 { 700 libspectrum_byte bytetemp; 701 bytetemp = readbyte( z80.memptr.w ); 702 contend_read_no_mreq( z80.memptr.w, 1 ); 703 writebyte( z80.memptr.w, bytetemp & 0xf7 ); 704 } 705 break; 706 case 0x9f: /* LD A,RES 3,(REGISTER+dd) */ 707 A = readbyte(z80.memptr.w) & 0xf7; 708 contend_read_no_mreq( z80.memptr.w, 1 ); 709 writebyte(z80.memptr.w, A); 710 break; 711 case 0xa0: /* LD B,RES 4,(REGISTER+dd) */ 712 B = readbyte(z80.memptr.w) & 0xef; 713 contend_read_no_mreq( z80.memptr.w, 1 ); 714 writebyte(z80.memptr.w, B); 715 break; 716 case 0xa1: /* LD C,RES 4,(REGISTER+dd) */ 717 C = readbyte(z80.memptr.w) & 0xef; 718 contend_read_no_mreq( z80.memptr.w, 1 ); 719 writebyte(z80.memptr.w, C); 720 break; 721 case 0xa2: /* LD D,RES 4,(REGISTER+dd) */ 722 D = readbyte(z80.memptr.w) & 0xef; 723 contend_read_no_mreq( z80.memptr.w, 1 ); 724 writebyte(z80.memptr.w, D); 725 break; 726 case 0xa3: /* LD E,RES 4,(REGISTER+dd) */ 727 E = readbyte(z80.memptr.w) & 0xef; 728 contend_read_no_mreq( z80.memptr.w, 1 ); 729 writebyte(z80.memptr.w, E); 730 break; 731 case 0xa4: /* LD H,RES 4,(REGISTER+dd) */ 732 H = readbyte(z80.memptr.w) & 0xef; 733 contend_read_no_mreq( z80.memptr.w, 1 ); 734 writebyte(z80.memptr.w, H); 735 break; 736 case 0xa5: /* LD L,RES 4,(REGISTER+dd) */ 737 L = readbyte(z80.memptr.w) & 0xef; 738 contend_read_no_mreq( z80.memptr.w, 1 ); 739 writebyte(z80.memptr.w, L); 740 break; 741 case 0xa6: /* RES 4,(REGISTER+dd) */ 742 { 743 libspectrum_byte bytetemp; 744 bytetemp = readbyte( z80.memptr.w ); 745 contend_read_no_mreq( z80.memptr.w, 1 ); 746 writebyte( z80.memptr.w, bytetemp & 0xef ); 747 } 748 break; 749 case 0xa7: /* LD A,RES 4,(REGISTER+dd) */ 750 A = readbyte(z80.memptr.w) & 0xef; 751 contend_read_no_mreq( z80.memptr.w, 1 ); 752 writebyte(z80.memptr.w, A); 753 break; 754 case 0xa8: /* LD B,RES 5,(REGISTER+dd) */ 755 B = readbyte(z80.memptr.w) & 0xdf; 756 contend_read_no_mreq( z80.memptr.w, 1 ); 757 writebyte(z80.memptr.w, B); 758 break; 759 case 0xa9: /* LD C,RES 5,(REGISTER+dd) */ 760 C = readbyte(z80.memptr.w) & 0xdf; 761 contend_read_no_mreq( z80.memptr.w, 1 ); 762 writebyte(z80.memptr.w, C); 763 break; 764 case 0xaa: /* LD D,RES 5,(REGISTER+dd) */ 765 D = readbyte(z80.memptr.w) & 0xdf; 766 contend_read_no_mreq( z80.memptr.w, 1 ); 767 writebyte(z80.memptr.w, D); 768 break; 769 case 0xab: /* LD E,RES 5,(REGISTER+dd) */ 770 E = readbyte(z80.memptr.w) & 0xdf; 771 contend_read_no_mreq( z80.memptr.w, 1 ); 772 writebyte(z80.memptr.w, E); 773 break; 774 case 0xac: /* LD H,RES 5,(REGISTER+dd) */ 775 H = readbyte(z80.memptr.w) & 0xdf; 776 contend_read_no_mreq( z80.memptr.w, 1 ); 777 writebyte(z80.memptr.w, H); 778 break; 779 case 0xad: /* LD L,RES 5,(REGISTER+dd) */ 780 L = readbyte(z80.memptr.w) & 0xdf; 781 contend_read_no_mreq( z80.memptr.w, 1 ); 782 writebyte(z80.memptr.w, L); 783 break; 784 case 0xae: /* RES 5,(REGISTER+dd) */ 785 { 786 libspectrum_byte bytetemp; 787 bytetemp = readbyte( z80.memptr.w ); 788 contend_read_no_mreq( z80.memptr.w, 1 ); 789 writebyte( z80.memptr.w, bytetemp & 0xdf ); 790 } 791 break; 792 case 0xaf: /* LD A,RES 5,(REGISTER+dd) */ 793 A = readbyte(z80.memptr.w) & 0xdf; 794 contend_read_no_mreq( z80.memptr.w, 1 ); 795 writebyte(z80.memptr.w, A); 796 break; 797 case 0xb0: /* LD B,RES 6,(REGISTER+dd) */ 798 B = readbyte(z80.memptr.w) & 0xbf; 799 contend_read_no_mreq( z80.memptr.w, 1 ); 800 writebyte(z80.memptr.w, B); 801 break; 802 case 0xb1: /* LD C,RES 6,(REGISTER+dd) */ 803 C = readbyte(z80.memptr.w) & 0xbf; 804 contend_read_no_mreq( z80.memptr.w, 1 ); 805 writebyte(z80.memptr.w, C); 806 break; 807 case 0xb2: /* LD D,RES 6,(REGISTER+dd) */ 808 D = readbyte(z80.memptr.w) & 0xbf; 809 contend_read_no_mreq( z80.memptr.w, 1 ); 810 writebyte(z80.memptr.w, D); 811 break; 812 case 0xb3: /* LD E,RES 6,(REGISTER+dd) */ 813 E = readbyte(z80.memptr.w) & 0xbf; 814 contend_read_no_mreq( z80.memptr.w, 1 ); 815 writebyte(z80.memptr.w, E); 816 break; 817 case 0xb4: /* LD H,RES 6,(REGISTER+dd) */ 818 H = readbyte(z80.memptr.w) & 0xbf; 819 contend_read_no_mreq( z80.memptr.w, 1 ); 820 writebyte(z80.memptr.w, H); 821 break; 822 case 0xb5: /* LD L,RES 6,(REGISTER+dd) */ 823 L = readbyte(z80.memptr.w) & 0xbf; 824 contend_read_no_mreq( z80.memptr.w, 1 ); 825 writebyte(z80.memptr.w, L); 826 break; 827 case 0xb6: /* RES 6,(REGISTER+dd) */ 828 { 829 libspectrum_byte bytetemp; 830 bytetemp = readbyte( z80.memptr.w ); 831 contend_read_no_mreq( z80.memptr.w, 1 ); 832 writebyte( z80.memptr.w, bytetemp & 0xbf ); 833 } 834 break; 835 case 0xb7: /* LD A,RES 6,(REGISTER+dd) */ 836 A = readbyte(z80.memptr.w) & 0xbf; 837 contend_read_no_mreq( z80.memptr.w, 1 ); 838 writebyte(z80.memptr.w, A); 839 break; 840 case 0xb8: /* LD B,RES 7,(REGISTER+dd) */ 841 B = readbyte(z80.memptr.w) & 0x7f; 842 contend_read_no_mreq( z80.memptr.w, 1 ); 843 writebyte(z80.memptr.w, B); 844 break; 845 case 0xb9: /* LD C,RES 7,(REGISTER+dd) */ 846 C = readbyte(z80.memptr.w) & 0x7f; 847 contend_read_no_mreq( z80.memptr.w, 1 ); 848 writebyte(z80.memptr.w, C); 849 break; 850 case 0xba: /* LD D,RES 7,(REGISTER+dd) */ 851 D = readbyte(z80.memptr.w) & 0x7f; 852 contend_read_no_mreq( z80.memptr.w, 1 ); 853 writebyte(z80.memptr.w, D); 854 break; 855 case 0xbb: /* LD E,RES 7,(REGISTER+dd) */ 856 E = readbyte(z80.memptr.w) & 0x7f; 857 contend_read_no_mreq( z80.memptr.w, 1 ); 858 writebyte(z80.memptr.w, E); 859 break; 860 case 0xbc: /* LD H,RES 7,(REGISTER+dd) */ 861 H = readbyte(z80.memptr.w) & 0x7f; 862 contend_read_no_mreq( z80.memptr.w, 1 ); 863 writebyte(z80.memptr.w, H); 864 break; 865 case 0xbd: /* LD L,RES 7,(REGISTER+dd) */ 866 L = readbyte(z80.memptr.w) & 0x7f; 867 contend_read_no_mreq( z80.memptr.w, 1 ); 868 writebyte(z80.memptr.w, L); 869 break; 870 case 0xbe: /* RES 7,(REGISTER+dd) */ 871 { 872 libspectrum_byte bytetemp; 873 bytetemp = readbyte( z80.memptr.w ); 874 contend_read_no_mreq( z80.memptr.w, 1 ); 875 writebyte( z80.memptr.w, bytetemp & 0x7f ); 876 } 877 break; 878 case 0xbf: /* LD A,RES 7,(REGISTER+dd) */ 879 A = readbyte(z80.memptr.w) & 0x7f; 880 contend_read_no_mreq( z80.memptr.w, 1 ); 881 writebyte(z80.memptr.w, A); 882 break; 883 case 0xc0: /* LD B,SET 0,(REGISTER+dd) */ 884 B = readbyte(z80.memptr.w) | 0x01; 885 contend_read_no_mreq( z80.memptr.w, 1 ); 886 writebyte(z80.memptr.w, B); 887 break; 888 case 0xc1: /* LD C,SET 0,(REGISTER+dd) */ 889 C = readbyte(z80.memptr.w) | 0x01; 890 contend_read_no_mreq( z80.memptr.w, 1 ); 891 writebyte(z80.memptr.w, C); 892 break; 893 case 0xc2: /* LD D,SET 0,(REGISTER+dd) */ 894 D = readbyte(z80.memptr.w) | 0x01; 895 contend_read_no_mreq( z80.memptr.w, 1 ); 896 writebyte(z80.memptr.w, D); 897 break; 898 case 0xc3: /* LD E,SET 0,(REGISTER+dd) */ 899 E = readbyte(z80.memptr.w) | 0x01; 900 contend_read_no_mreq( z80.memptr.w, 1 ); 901 writebyte(z80.memptr.w, E); 902 break; 903 case 0xc4: /* LD H,SET 0,(REGISTER+dd) */ 904 H = readbyte(z80.memptr.w) | 0x01; 905 contend_read_no_mreq( z80.memptr.w, 1 ); 906 writebyte(z80.memptr.w, H); 907 break; 908 case 0xc5: /* LD L,SET 0,(REGISTER+dd) */ 909 L = readbyte(z80.memptr.w) | 0x01; 910 contend_read_no_mreq( z80.memptr.w, 1 ); 911 writebyte(z80.memptr.w, L); 912 break; 913 case 0xc6: /* SET 0,(REGISTER+dd) */ 914 { 915 libspectrum_byte bytetemp; 916 bytetemp = readbyte( z80.memptr.w ); 917 contend_read_no_mreq( z80.memptr.w, 1 ); 918 writebyte( z80.memptr.w, bytetemp | 0x01 ); 919 } 920 break; 921 case 0xc7: /* LD A,SET 0,(REGISTER+dd) */ 922 A = readbyte(z80.memptr.w) | 0x01; 923 contend_read_no_mreq( z80.memptr.w, 1 ); 924 writebyte(z80.memptr.w, A); 925 break; 926 case 0xc8: /* LD B,SET 1,(REGISTER+dd) */ 927 B = readbyte(z80.memptr.w) | 0x02; 928 contend_read_no_mreq( z80.memptr.w, 1 ); 929 writebyte(z80.memptr.w, B); 930 break; 931 case 0xc9: /* LD C,SET 1,(REGISTER+dd) */ 932 C = readbyte(z80.memptr.w) | 0x02; 933 contend_read_no_mreq( z80.memptr.w, 1 ); 934 writebyte(z80.memptr.w, C); 935 break; 936 case 0xca: /* LD D,SET 1,(REGISTER+dd) */ 937 D = readbyte(z80.memptr.w) | 0x02; 938 contend_read_no_mreq( z80.memptr.w, 1 ); 939 writebyte(z80.memptr.w, D); 940 break; 941 case 0xcb: /* LD E,SET 1,(REGISTER+dd) */ 942 E = readbyte(z80.memptr.w) | 0x02; 943 contend_read_no_mreq( z80.memptr.w, 1 ); 944 writebyte(z80.memptr.w, E); 945 break; 946 case 0xcc: /* LD H,SET 1,(REGISTER+dd) */ 947 H = readbyte(z80.memptr.w) | 0x02; 948 contend_read_no_mreq( z80.memptr.w, 1 ); 949 writebyte(z80.memptr.w, H); 950 break; 951 case 0xcd: /* LD L,SET 1,(REGISTER+dd) */ 952 L = readbyte(z80.memptr.w) | 0x02; 953 contend_read_no_mreq( z80.memptr.w, 1 ); 954 writebyte(z80.memptr.w, L); 955 break; 956 case 0xce: /* SET 1,(REGISTER+dd) */ 957 { 958 libspectrum_byte bytetemp; 959 bytetemp = readbyte( z80.memptr.w ); 960 contend_read_no_mreq( z80.memptr.w, 1 ); 961 writebyte( z80.memptr.w, bytetemp | 0x02 ); 962 } 963 break; 964 case 0xcf: /* LD A,SET 1,(REGISTER+dd) */ 965 A = readbyte(z80.memptr.w) | 0x02; 966 contend_read_no_mreq( z80.memptr.w, 1 ); 967 writebyte(z80.memptr.w, A); 968 break; 969 case 0xd0: /* LD B,SET 2,(REGISTER+dd) */ 970 B = readbyte(z80.memptr.w) | 0x04; 971 contend_read_no_mreq( z80.memptr.w, 1 ); 972 writebyte(z80.memptr.w, B); 973 break; 974 case 0xd1: /* LD C,SET 2,(REGISTER+dd) */ 975 C = readbyte(z80.memptr.w) | 0x04; 976 contend_read_no_mreq( z80.memptr.w, 1 ); 977 writebyte(z80.memptr.w, C); 978 break; 979 case 0xd2: /* LD D,SET 2,(REGISTER+dd) */ 980 D = readbyte(z80.memptr.w) | 0x04; 981 contend_read_no_mreq( z80.memptr.w, 1 ); 982 writebyte(z80.memptr.w, D); 983 break; 984 case 0xd3: /* LD E,SET 2,(REGISTER+dd) */ 985 E = readbyte(z80.memptr.w) | 0x04; 986 contend_read_no_mreq( z80.memptr.w, 1 ); 987 writebyte(z80.memptr.w, E); 988 break; 989 case 0xd4: /* LD H,SET 2,(REGISTER+dd) */ 990 H = readbyte(z80.memptr.w) | 0x04; 991 contend_read_no_mreq( z80.memptr.w, 1 ); 992 writebyte(z80.memptr.w, H); 993 break; 994 case 0xd5: /* LD L,SET 2,(REGISTER+dd) */ 995 L = readbyte(z80.memptr.w) | 0x04; 996 contend_read_no_mreq( z80.memptr.w, 1 ); 997 writebyte(z80.memptr.w, L); 998 break; 999 case 0xd6: /* SET 2,(REGISTER+dd) */ 1000 { 1001 libspectrum_byte bytetemp; 1002 bytetemp = readbyte( z80.memptr.w ); 1003 contend_read_no_mreq( z80.memptr.w, 1 ); 1004 writebyte( z80.memptr.w, bytetemp | 0x04 ); 1005 } 1006 break; 1007 case 0xd7: /* LD A,SET 2,(REGISTER+dd) */ 1008 A = readbyte(z80.memptr.w) | 0x04; 1009 contend_read_no_mreq( z80.memptr.w, 1 ); 1010 writebyte(z80.memptr.w, A); 1011 break; 1012 case 0xd8: /* LD B,SET 3,(REGISTER+dd) */ 1013 B = readbyte(z80.memptr.w) | 0x08; 1014 contend_read_no_mreq( z80.memptr.w, 1 ); 1015 writebyte(z80.memptr.w, B); 1016 break; 1017 case 0xd9: /* LD C,SET 3,(REGISTER+dd) */ 1018 C = readbyte(z80.memptr.w) | 0x08; 1019 contend_read_no_mreq( z80.memptr.w, 1 ); 1020 writebyte(z80.memptr.w, C); 1021 break; 1022 case 0xda: /* LD D,SET 3,(REGISTER+dd) */ 1023 D = readbyte(z80.memptr.w) | 0x08; 1024 contend_read_no_mreq( z80.memptr.w, 1 ); 1025 writebyte(z80.memptr.w, D); 1026 break; 1027 case 0xdb: /* LD E,SET 3,(REGISTER+dd) */ 1028 E = readbyte(z80.memptr.w) | 0x08; 1029 contend_read_no_mreq( z80.memptr.w, 1 ); 1030 writebyte(z80.memptr.w, E); 1031 break; 1032 case 0xdc: /* LD H,SET 3,(REGISTER+dd) */ 1033 H = readbyte(z80.memptr.w) | 0x08; 1034 contend_read_no_mreq( z80.memptr.w, 1 ); 1035 writebyte(z80.memptr.w, H); 1036 break; 1037 case 0xdd: /* LD L,SET 3,(REGISTER+dd) */ 1038 L = readbyte(z80.memptr.w) | 0x08; 1039 contend_read_no_mreq( z80.memptr.w, 1 ); 1040 writebyte(z80.memptr.w, L); 1041 break; 1042 case 0xde: /* SET 3,(REGISTER+dd) */ 1043 { 1044 libspectrum_byte bytetemp; 1045 bytetemp = readbyte( z80.memptr.w ); 1046 contend_read_no_mreq( z80.memptr.w, 1 ); 1047 writebyte( z80.memptr.w, bytetemp | 0x08 ); 1048 } 1049 break; 1050 case 0xdf: /* LD A,SET 3,(REGISTER+dd) */ 1051 A = readbyte(z80.memptr.w) | 0x08; 1052 contend_read_no_mreq( z80.memptr.w, 1 ); 1053 writebyte(z80.memptr.w, A); 1054 break; 1055 case 0xe0: /* LD B,SET 4,(REGISTER+dd) */ 1056 B = readbyte(z80.memptr.w) | 0x10; 1057 contend_read_no_mreq( z80.memptr.w, 1 ); 1058 writebyte(z80.memptr.w, B); 1059 break; 1060 case 0xe1: /* LD C,SET 4,(REGISTER+dd) */ 1061 C = readbyte(z80.memptr.w) | 0x10; 1062 contend_read_no_mreq( z80.memptr.w, 1 ); 1063 writebyte(z80.memptr.w, C); 1064 break; 1065 case 0xe2: /* LD D,SET 4,(REGISTER+dd) */ 1066 D = readbyte(z80.memptr.w) | 0x10; 1067 contend_read_no_mreq( z80.memptr.w, 1 ); 1068 writebyte(z80.memptr.w, D); 1069 break; 1070 case 0xe3: /* LD E,SET 4,(REGISTER+dd) */ 1071 E = readbyte(z80.memptr.w) | 0x10; 1072 contend_read_no_mreq( z80.memptr.w, 1 ); 1073 writebyte(z80.memptr.w, E); 1074 break; 1075 case 0xe4: /* LD H,SET 4,(REGISTER+dd) */ 1076 H = readbyte(z80.memptr.w) | 0x10; 1077 contend_read_no_mreq( z80.memptr.w, 1 ); 1078 writebyte(z80.memptr.w, H); 1079 break; 1080 case 0xe5: /* LD L,SET 4,(REGISTER+dd) */ 1081 L = readbyte(z80.memptr.w) | 0x10; 1082 contend_read_no_mreq( z80.memptr.w, 1 ); 1083 writebyte(z80.memptr.w, L); 1084 break; 1085 case 0xe6: /* SET 4,(REGISTER+dd) */ 1086 { 1087 libspectrum_byte bytetemp; 1088 bytetemp = readbyte( z80.memptr.w ); 1089 contend_read_no_mreq( z80.memptr.w, 1 ); 1090 writebyte( z80.memptr.w, bytetemp | 0x10 ); 1091 } 1092 break; 1093 case 0xe7: /* LD A,SET 4,(REGISTER+dd) */ 1094 A = readbyte(z80.memptr.w) | 0x10; 1095 contend_read_no_mreq( z80.memptr.w, 1 ); 1096 writebyte(z80.memptr.w, A); 1097 break; 1098 case 0xe8: /* LD B,SET 5,(REGISTER+dd) */ 1099 B = readbyte(z80.memptr.w) | 0x20; 1100 contend_read_no_mreq( z80.memptr.w, 1 ); 1101 writebyte(z80.memptr.w, B); 1102 break; 1103 case 0xe9: /* LD C,SET 5,(REGISTER+dd) */ 1104 C = readbyte(z80.memptr.w) | 0x20; 1105 contend_read_no_mreq( z80.memptr.w, 1 ); 1106 writebyte(z80.memptr.w, C); 1107 break; 1108 case 0xea: /* LD D,SET 5,(REGISTER+dd) */ 1109 D = readbyte(z80.memptr.w) | 0x20; 1110 contend_read_no_mreq( z80.memptr.w, 1 ); 1111 writebyte(z80.memptr.w, D); 1112 break; 1113 case 0xeb: /* LD E,SET 5,(REGISTER+dd) */ 1114 E = readbyte(z80.memptr.w) | 0x20; 1115 contend_read_no_mreq( z80.memptr.w, 1 ); 1116 writebyte(z80.memptr.w, E); 1117 break; 1118 case 0xec: /* LD H,SET 5,(REGISTER+dd) */ 1119 H = readbyte(z80.memptr.w) | 0x20; 1120 contend_read_no_mreq( z80.memptr.w, 1 ); 1121 writebyte(z80.memptr.w, H); 1122 break; 1123 case 0xed: /* LD L,SET 5,(REGISTER+dd) */ 1124 L = readbyte(z80.memptr.w) | 0x20; 1125 contend_read_no_mreq( z80.memptr.w, 1 ); 1126 writebyte(z80.memptr.w, L); 1127 break; 1128 case 0xee: /* SET 5,(REGISTER+dd) */ 1129 { 1130 libspectrum_byte bytetemp; 1131 bytetemp = readbyte( z80.memptr.w ); 1132 contend_read_no_mreq( z80.memptr.w, 1 ); 1133 writebyte( z80.memptr.w, bytetemp | 0x20 ); 1134 } 1135 break; 1136 case 0xef: /* LD A,SET 5,(REGISTER+dd) */ 1137 A = readbyte(z80.memptr.w) | 0x20; 1138 contend_read_no_mreq( z80.memptr.w, 1 ); 1139 writebyte(z80.memptr.w, A); 1140 break; 1141 case 0xf0: /* LD B,SET 6,(REGISTER+dd) */ 1142 B = readbyte(z80.memptr.w) | 0x40; 1143 contend_read_no_mreq( z80.memptr.w, 1 ); 1144 writebyte(z80.memptr.w, B); 1145 break; 1146 case 0xf1: /* LD C,SET 6,(REGISTER+dd) */ 1147 C = readbyte(z80.memptr.w) | 0x40; 1148 contend_read_no_mreq( z80.memptr.w, 1 ); 1149 writebyte(z80.memptr.w, C); 1150 break; 1151 case 0xf2: /* LD D,SET 6,(REGISTER+dd) */ 1152 D = readbyte(z80.memptr.w) | 0x40; 1153 contend_read_no_mreq( z80.memptr.w, 1 ); 1154 writebyte(z80.memptr.w, D); 1155 break; 1156 case 0xf3: /* LD E,SET 6,(REGISTER+dd) */ 1157 E = readbyte(z80.memptr.w) | 0x40; 1158 contend_read_no_mreq( z80.memptr.w, 1 ); 1159 writebyte(z80.memptr.w, E); 1160 break; 1161 case 0xf4: /* LD H,SET 6,(REGISTER+dd) */ 1162 H = readbyte(z80.memptr.w) | 0x40; 1163 contend_read_no_mreq( z80.memptr.w, 1 ); 1164 writebyte(z80.memptr.w, H); 1165 break; 1166 case 0xf5: /* LD L,SET 6,(REGISTER+dd) */ 1167 L = readbyte(z80.memptr.w) | 0x40; 1168 contend_read_no_mreq( z80.memptr.w, 1 ); 1169 writebyte(z80.memptr.w, L); 1170 break; 1171 case 0xf6: /* SET 6,(REGISTER+dd) */ 1172 { 1173 libspectrum_byte bytetemp; 1174 bytetemp = readbyte( z80.memptr.w ); 1175 contend_read_no_mreq( z80.memptr.w, 1 ); 1176 writebyte( z80.memptr.w, bytetemp | 0x40 ); 1177 } 1178 break; 1179 case 0xf7: /* LD A,SET 6,(REGISTER+dd) */ 1180 A = readbyte(z80.memptr.w) | 0x40; 1181 contend_read_no_mreq( z80.memptr.w, 1 ); 1182 writebyte(z80.memptr.w, A); 1183 break; 1184 case 0xf8: /* LD B,SET 7,(REGISTER+dd) */ 1185 B = readbyte(z80.memptr.w) | 0x80; 1186 contend_read_no_mreq( z80.memptr.w, 1 ); 1187 writebyte(z80.memptr.w, B); 1188 break; 1189 case 0xf9: /* LD C,SET 7,(REGISTER+dd) */ 1190 C = readbyte(z80.memptr.w) | 0x80; 1191 contend_read_no_mreq( z80.memptr.w, 1 ); 1192 writebyte(z80.memptr.w, C); 1193 break; 1194 case 0xfa: /* LD D,SET 7,(REGISTER+dd) */ 1195 D = readbyte(z80.memptr.w) | 0x80; 1196 contend_read_no_mreq( z80.memptr.w, 1 ); 1197 writebyte(z80.memptr.w, D); 1198 break; 1199 case 0xfb: /* LD E,SET 7,(REGISTER+dd) */ 1200 E = readbyte(z80.memptr.w) | 0x80; 1201 contend_read_no_mreq( z80.memptr.w, 1 ); 1202 writebyte(z80.memptr.w, E); 1203 break; 1204 case 0xfc: /* LD H,SET 7,(REGISTER+dd) */ 1205 H = readbyte(z80.memptr.w) | 0x80; 1206 contend_read_no_mreq( z80.memptr.w, 1 ); 1207 writebyte(z80.memptr.w, H); 1208 break; 1209 case 0xfd: /* LD L,SET 7,(REGISTER+dd) */ 1210 L = readbyte(z80.memptr.w) | 0x80; 1211 contend_read_no_mreq( z80.memptr.w, 1 ); 1212 writebyte(z80.memptr.w, L); 1213 break; 1214 case 0xfe: /* SET 7,(REGISTER+dd) */ 1215 { 1216 libspectrum_byte bytetemp; 1217 bytetemp = readbyte( z80.memptr.w ); 1218 contend_read_no_mreq( z80.memptr.w, 1 ); 1219 writebyte( z80.memptr.w, bytetemp | 0x80 ); 1220 } 1221 break; 1222 case 0xff: /* LD A,SET 7,(REGISTER+dd) */ 1223 A = readbyte(z80.memptr.w) | 0x80; 1224 contend_read_no_mreq( z80.memptr.w, 1 ); 1225 writebyte(z80.memptr.w, A); 1226 break; 1227