Changeset 7 for trunk/Z80/Z80.pas
- Timestamp:
- Apr 19, 2026, 12:16:19 PM (8 days ago)
- File:
-
- 1 edited
-
trunk/Z80/Z80.pas (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Z80/Z80.pas
r6 r7 65 65 procedure Djnz; 66 66 procedure Jp(Condition: Boolean); 67 procedure Halt; 68 procedure Ret(Condition: Boolean); 67 //procedure Halt; 68 procedure RetCond(Condition: Boolean); 69 procedure NotImplemented; 70 69 71 // Instruction methods 70 72 procedure NOP; 71 procedure LD_HL_nn; 72 procedure LD_BC_nn; 73 procedure LD_DE_nn; 74 procedure LD_SP_nn; 75 procedure JP_nn; 76 procedure LD_A_n; 77 procedure LD_B_n; 78 procedure LD_A_C; 79 procedure LD_HL_Indirect_n; 80 procedure LD_nn_Indirect_A; 73 procedure LD_BC_NN; 74 procedure LD_BC_Indirect_A; 75 procedure INC_BC; 76 procedure INC_B; 77 procedure DEC_B; 78 procedure LD_B_N; 79 procedure RLCA; 80 procedure EX_AF_AF_Pair; 81 procedure ADD_HL_BC; 82 procedure LD_A_BC_Indirect; 83 procedure DEC_BC; 84 procedure INC_C; 85 procedure DEC_C; 86 procedure LD_C_N; 87 procedure RRCA; 88 procedure DJNZ_D; 89 procedure LD_DE_NN; 90 procedure LD_DE_Indirect_A; 91 procedure INC_DE; 92 procedure INC_D; 93 procedure DEC_D; 94 procedure LD_D_N; 95 procedure RLA; 96 procedure JR_D; 97 procedure ADD_HL_DE; 98 procedure LD_A_DE_Indirect; 99 procedure DEC_DE; 100 procedure INC_E; 101 procedure DEC_E; 102 procedure LD_E_N; 103 procedure RRA; 104 procedure JR_NZ_D; 105 procedure LD_HL_NN; 106 procedure LD_NN_Indirect_HL; 107 procedure INC_HL; 108 procedure INC_H; 109 procedure DEC_H; 110 procedure LD_H_N; 111 procedure DAA; 112 procedure JR_Z_D; 113 procedure ADD_HL_HL; 114 procedure LD_HL_NN_Indirect; 115 procedure DEC_HL; 116 procedure INC_L; 117 procedure DEC_L; 118 procedure LD_L_N; 119 procedure CPL; 120 procedure JR_NC_D; 121 procedure LD_SP_NN; 122 procedure LD_NN_Indirect_A; 123 procedure INC_SP; 124 procedure INC_HL_Indirect; 125 procedure DEC_HL_Indirect; 126 procedure LD_HL_Indirect_N; 127 procedure SCF; 128 procedure JR_C_D; 129 procedure ADD_HL_SP; 130 procedure LD_A_NN_Indirect; 131 procedure DEC_SP; 132 procedure INC_A; 133 procedure DEC_A; 134 procedure LD_A_N; 135 procedure CCF; 136 procedure LD_B_B; 137 procedure LD_B_C; 138 procedure LD_B_D; 139 procedure LD_B_E; 140 procedure LD_B_H; 141 procedure LD_B_L; 142 procedure LD_B_HL_Indirect; 143 procedure LD_B_A; 144 procedure LD_C_B; 145 procedure LD_C_C; 146 procedure LD_C_D; 147 procedure LD_C_E; 148 procedure LD_C_H; 149 procedure LD_C_L; 150 procedure LD_C_HL_Indirect; 151 procedure LD_C_A; 152 procedure LD_D_B; 153 procedure LD_D_C; 154 procedure LD_D_D; 155 procedure LD_D_E; 156 procedure LD_D_H; 157 procedure LD_D_L; 158 procedure LD_D_HL_Indirect; 159 procedure LD_D_A; 160 procedure LD_E_B; 161 procedure LD_E_C; 162 procedure LD_E_D; 163 procedure LD_E_E; 164 procedure LD_E_H; 165 procedure LD_E_L; 166 procedure LD_E_HL_Indirect; 167 procedure LD_E_A; 168 procedure LD_H_B; 169 procedure LD_H_C; 170 procedure LD_H_D; 171 procedure LD_H_E; 172 procedure LD_H_H; 173 procedure LD_H_L; 174 procedure LD_H_HL_Indirect; 175 procedure LD_H_A; 176 procedure LD_L_B; 177 procedure LD_L_C; 178 procedure LD_L_D; 179 procedure LD_L_E; 180 procedure LD_L_H; 181 procedure LD_L_L; 182 procedure LD_L_HL_Indirect; 183 procedure LD_L_A; 184 procedure LD_HL_Indirect_B; 185 procedure LD_HL_Indirect_C; 81 186 procedure LD_HL_Indirect_D; 82 187 procedure LD_HL_Indirect_E; 83 procedure LD_C_HL_Indirect; 188 procedure LD_HL_Indirect_H; 189 procedure LD_HL_Indirect_L; 190 procedure HALT; 191 procedure LD_HL_Indirect_A; 192 procedure LD_A_B; 193 procedure LD_A_C; 194 procedure LD_A_D; 195 procedure LD_A_E; 196 procedure LD_A_H; 197 procedure LD_A_L; 84 198 procedure LD_A_HL_Indirect; 85 procedure LD_BC_Indirect_A; 199 procedure LD_A_A; 200 procedure ADD_A_B; 201 procedure ADD_A_C; 202 procedure ADD_A_D; 203 procedure ADD_A_E; 204 procedure ADD_A_H; 205 procedure ADD_A_L; 206 procedure ADD_A_HL_Indirect; 207 procedure ADD_A_A; 208 procedure ADC_A_B; 209 procedure ADC_A_C; 210 procedure ADC_A_D; 211 procedure ADC_A_E; 212 procedure ADC_A_H; 213 procedure ADC_A_L; 214 procedure ADC_A_HL_Indirect; 215 procedure ADC_A_A; 216 procedure SUB_B; 217 procedure SUB_C; 218 procedure SUB_D; 219 procedure SUB_E; 220 procedure SUB_H; 221 procedure SUB_L; 222 procedure SUB_HL_Indirect; 223 procedure SUB_A; 224 procedure SBC_A_B; 225 procedure SBC_A_C; 226 procedure SBC_A_D; 227 procedure SBC_A_E; 228 procedure SBC_A_H; 229 procedure SBC_A_L; 230 procedure SBC_A_HL_Indirect; 231 procedure SBC_A_A; 232 procedure AND_B; 233 procedure AND_C; 234 procedure AND_D; 235 procedure AND_E; 236 procedure AND_H; 237 procedure AND_L; 238 procedure AND_HL_Indirect; 239 procedure AND_A; 240 procedure XOR_B; 241 procedure XOR_C; 242 procedure XOR_D; 243 procedure XOR_E; 244 procedure XOR_H; 245 procedure XOR_L; 246 procedure XOR_HL_Indirect; 247 procedure XOR_A; 248 procedure OR_B; 249 procedure OR_C; 250 procedure OR_D; 251 procedure OR_E; 252 procedure OR_H; 253 procedure OR_L; 254 procedure OR_HL_Indirect; 255 procedure OR_A; 256 procedure CP_B; 257 procedure CP_C; 258 procedure CP_D; 259 procedure CP_E; 260 procedure CP_H; 261 procedure CP_L; 262 procedure CP_HL_Indirect; 263 procedure CP_A; 264 procedure RET_NZ; 265 procedure POP_BC; 266 procedure JP_NZ_NN; 267 procedure JP_NN; 268 procedure CALL_NZ_NN; 269 procedure PUSH_BC; 270 procedure ADD_A_N; 271 procedure RST_00H; 272 procedure RET_Z; 273 procedure RET; 274 procedure JP_Z_NN; 275 procedure CALL_Z_NN; 276 procedure CALL_NN; 277 procedure ADC_A_N; 278 procedure RST_08H; 279 procedure RET_NC; 280 procedure POP_DE; 281 procedure JP_NC_NN; 282 procedure OUT_N_Indirect_A; 283 procedure CALL_NC_NN; 284 procedure PUSH_DE; 285 procedure SUB_N; 286 procedure RST_10H; 287 procedure RET_C; 288 procedure EXX; 289 procedure JP_C_NN; 290 procedure IN_A_N_Indirect; 291 procedure CALL_C_NN; 292 procedure SBC_A_N; 293 procedure RST_18H; 294 procedure RET_PO; 295 procedure POP_HL; 296 procedure JP_PO_NN; 297 procedure EX_SP_Indirect_HL; 298 procedure CALL_PO_NN; 299 procedure PUSH_HL; 300 procedure AND_N; 301 procedure RST_20H; 302 procedure RET_PE; 303 procedure JP_HL_Indirect; 304 procedure JP_PE_NN; 305 procedure EX_DE_HL; 306 procedure CALL_PE_NN; 307 procedure XOR_N; 308 procedure RST_28H; 309 procedure RET_P; 310 procedure POP_AF; 311 procedure JP_P_NN; 312 procedure DI; 313 procedure CALL_P_NN; 314 procedure PUSH_AF; 315 procedure OR_N; 316 procedure RST_30H; 317 procedure RET_M; 318 procedure LD_SP_HL; 319 procedure JP_M_NN; 320 procedure EI; 321 procedure CALL_M_NN; 322 procedure CP_N; 323 procedure RST_38H; 324 procedure IN_B_C_Indirect; 325 procedure OUT_C_Indirect_B; 326 procedure SBC_HL_BC; 327 procedure LD_NN_Indirect_BC; 328 procedure NEG; 329 procedure RETN; 330 procedure IM_0; 331 procedure LD_I_A; 332 procedure IN_C_C_Indirect; 333 procedure OUT_C_Indirect_C; 334 procedure ADC_HL_BC; 335 procedure LD_BC_NN_Indirect; 336 procedure RETI; 337 procedure LD_R_A; 338 procedure IN_D_C_Indirect; 339 procedure OUT_C_Indirect_D; 340 procedure SBC_HL_DE; 341 procedure LD_NN_Indirect_DE; 342 procedure IM_1; 343 procedure LD_A_I; 344 procedure IN_E_C_Indirect; 345 procedure OUT_C_Indirect_E; 346 procedure ADC_HL_DE; 347 procedure LD_DE_NN_Indirect; 348 procedure IM_2; 349 procedure LD_A_R; 350 procedure IN_H_C_Indirect; 351 procedure OUT_C_Indirect_H; 352 procedure SBC_HL_HL; 353 procedure RRD; 354 procedure IN_L_C_Indirect; 355 procedure OUT_C_Indirect_L; 356 procedure ADC_HL_HL; 357 procedure RLD; 358 procedure SBC_HL_SP; 359 procedure LD_NN_Indirect_SP; 360 procedure IN_A_C_Indirect; 361 procedure OUT_C_Indirect_A; 362 procedure ADC_HL_SP; 363 procedure LD_SP_NN_Indirect; 364 procedure LDI; 365 procedure CPI; 366 procedure INI; 367 procedure OUTI; 368 procedure LDD; 369 procedure CPD; 370 procedure IND; 371 procedure OUTD; 372 procedure LDIR; 373 procedure CPIR; 374 procedure INIR; 375 procedure OTIR; 376 procedure LDDR; 377 procedure CPDR; 378 procedure INDR; 379 procedure OTDR; 380 procedure RLC_B; 381 procedure RLC_C; 382 procedure RLC_D; 383 procedure RLC_E; 384 procedure RLC_H; 385 procedure RLC_L; 386 procedure RLC_HL_Indirect; 387 procedure RLC_A; 388 procedure RRC_B; 389 procedure RRC_C; 390 procedure RRC_D; 391 procedure RRC_E; 392 procedure RRC_H; 393 procedure RRC_L; 394 procedure RRC_HL_Indirect; 395 procedure RRC_A; 396 procedure RL_B; 397 procedure RL_C; 398 procedure RL_D; 399 procedure RL_E; 400 procedure RL_H; 401 procedure RL_L; 402 procedure RL_HL_Indirect; 403 procedure RL_A; 404 procedure RR_B; 405 procedure RR_C; 406 procedure RR_D; 407 procedure RR_E; 408 procedure RR_H; 409 procedure RR_L; 410 procedure RR_HL_Indirect; 411 procedure RR_A; 412 procedure SLA_B; 413 procedure SLA_C; 414 procedure SLA_D; 415 procedure SLA_E; 416 procedure SLA_H; 417 procedure SLA_L; 418 procedure SLA_HL_Indirect; 419 procedure SLA_A; 420 procedure SRA_B; 421 procedure SRA_C; 422 procedure SRA_D; 423 procedure SRA_E; 424 procedure SRA_H; 425 procedure SRA_L; 426 procedure SRA_HL_Indirect; 427 procedure SRA_A; 428 procedure SRL_B; 429 procedure SRL_C; 430 procedure SRL_D; 431 procedure SRL_E; 432 procedure SRL_H; 433 procedure SRL_L; 434 procedure SRL_HL_Indirect; 435 procedure SRL_A; 436 procedure BIT_0_B; 437 procedure BIT_0_C; 438 procedure BIT_0_D; 439 procedure BIT_0_E; 440 procedure BIT_0_H; 441 procedure BIT_0_L; 442 procedure BIT_0_HL_Indirect; 443 procedure BIT_0_A; 444 procedure BIT_1_B; 445 procedure BIT_1_C; 446 procedure BIT_1_D; 447 procedure BIT_1_E; 448 procedure BIT_1_H; 449 procedure BIT_1_L; 450 procedure BIT_1_HL_Indirect; 451 procedure BIT_1_A; 452 procedure BIT_2_B; 453 procedure BIT_2_C; 454 procedure BIT_2_D; 455 procedure BIT_2_E; 456 procedure BIT_2_H; 457 procedure BIT_2_L; 458 procedure BIT_2_HL_Indirect; 459 procedure BIT_2_A; 460 procedure BIT_3_B; 461 procedure BIT_3_C; 462 procedure BIT_3_D; 463 procedure BIT_3_E; 464 procedure BIT_3_H; 465 procedure BIT_3_L; 466 procedure BIT_3_HL_Indirect; 467 procedure BIT_3_A; 468 procedure BIT_4_B; 469 procedure BIT_4_C; 470 procedure BIT_4_D; 471 procedure BIT_4_E; 472 procedure BIT_4_H; 473 procedure BIT_4_L; 474 procedure BIT_4_HL_Indirect; 475 procedure BIT_4_A; 476 procedure BIT_5_B; 477 procedure BIT_5_C; 478 procedure BIT_5_D; 479 procedure BIT_5_E; 480 procedure BIT_5_H; 481 procedure BIT_5_L; 482 procedure BIT_5_HL_Indirect; 483 procedure BIT_5_A; 484 procedure BIT_6_B; 485 procedure BIT_6_C; 486 procedure BIT_6_D; 487 procedure BIT_6_E; 488 procedure BIT_6_H; 489 procedure BIT_6_L; 490 procedure BIT_6_HL_Indirect; 491 procedure BIT_6_A; 492 procedure BIT_7_B; 493 procedure BIT_7_C; 494 procedure BIT_7_D; 495 procedure BIT_7_E; 496 procedure BIT_7_H; 497 procedure BIT_7_L; 498 procedure BIT_7_HL_Indirect; 499 procedure BIT_7_A; 500 procedure RES_0_B; 501 procedure RES_0_C; 502 procedure RES_0_D; 503 procedure RES_0_E; 504 procedure RES_0_H; 505 procedure RES_0_L; 506 procedure RES_0_HL_Indirect; 507 procedure RES_0_A; 508 procedure RES_1_B; 509 procedure RES_1_C; 510 procedure RES_1_D; 511 procedure RES_1_E; 512 procedure RES_1_H; 513 procedure RES_1_L; 514 procedure RES_1_HL_Indirect; 515 procedure RES_1_A; 516 procedure RES_2_B; 517 procedure RES_2_C; 518 procedure RES_2_D; 519 procedure RES_2_E; 520 procedure RES_2_H; 521 procedure RES_2_L; 522 procedure RES_2_HL_Indirect; 523 procedure RES_2_A; 524 procedure RES_3_B; 525 procedure RES_3_C; 526 procedure RES_3_D; 527 procedure RES_3_E; 528 procedure RES_3_H; 529 procedure RES_3_L; 530 procedure RES_3_HL_Indirect; 531 procedure RES_3_A; 532 procedure RES_4_B; 533 procedure RES_4_C; 534 procedure RES_4_D; 535 procedure RES_4_E; 536 procedure RES_4_H; 537 procedure RES_4_L; 538 procedure RES_4_HL_Indirect; 539 procedure RES_4_A; 540 procedure RES_5_B; 541 procedure RES_5_C; 542 procedure RES_5_D; 543 procedure RES_5_E; 544 procedure RES_5_H; 545 procedure RES_5_L; 546 procedure RES_5_HL_Indirect; 547 procedure RES_5_A; 548 procedure RES_6_B; 549 procedure RES_6_C; 550 procedure RES_6_D; 551 procedure RES_6_E; 552 procedure RES_6_H; 553 procedure RES_6_L; 554 procedure RES_6_HL_Indirect; 555 procedure RES_6_A; 556 procedure RES_7_B; 557 procedure RES_7_C; 558 procedure RES_7_D; 559 procedure RES_7_E; 560 procedure RES_7_H; 561 procedure RES_7_L; 562 procedure RES_7_HL_Indirect; 563 procedure RES_7_A; 564 procedure SET_0_B; 565 procedure SET_0_C; 566 procedure SET_0_D; 567 procedure SET_0_E; 568 procedure SET_0_H; 569 procedure SET_0_L; 570 procedure SET_0_HL_Indirect; 571 procedure SET_0_A; 572 procedure SET_1_B; 573 procedure SET_1_C; 574 procedure SET_1_D; 575 procedure SET_1_E; 576 procedure SET_1_H; 577 procedure SET_1_L; 578 procedure SET_1_HL_Indirect; 579 procedure SET_1_A; 580 procedure SET_2_B; 581 procedure SET_2_C; 582 procedure SET_2_D; 583 procedure SET_2_E; 584 procedure SET_2_H; 585 procedure SET_2_L; 586 procedure SET_2_HL_Indirect; 587 procedure SET_2_A; 588 procedure SET_3_B; 589 procedure SET_3_C; 590 procedure SET_3_D; 591 procedure SET_3_E; 592 procedure SET_3_H; 593 procedure SET_3_L; 594 procedure SET_3_HL_Indirect; 595 procedure SET_3_A; 596 procedure SET_4_B; 597 procedure SET_4_C; 598 procedure SET_4_D; 599 procedure SET_4_E; 600 procedure SET_4_H; 601 procedure SET_4_L; 602 procedure SET_4_HL_Indirect; 603 procedure SET_4_A; 604 procedure SET_5_B; 605 procedure SET_5_C; 606 procedure SET_5_D; 607 procedure SET_5_E; 608 procedure SET_5_H; 609 procedure SET_5_L; 610 procedure SET_5_HL_Indirect; 611 procedure SET_5_A; 612 procedure SET_6_B; 613 procedure SET_6_C; 614 procedure SET_6_D; 615 procedure SET_6_E; 616 procedure SET_6_H; 617 procedure SET_6_L; 618 procedure SET_6_HL_Indirect; 619 procedure SET_6_A; 620 procedure SET_7_B; 621 procedure SET_7_C; 622 procedure SET_7_D; 623 procedure SET_7_E; 624 procedure SET_7_H; 625 procedure SET_7_L; 626 procedure SET_7_HL_Indirect; 627 procedure SET_7_A; 628 procedure ADD_IX_BC; 629 procedure ADD_IX_DE; 630 procedure LD_IX_NN; 631 procedure LD_NN_Indirect_IX; 632 procedure INC_IX; 633 procedure ADD_IX_IX; 634 procedure LD_IX_NN_Indirect; 635 procedure DEC_IX; 636 procedure INC_IX_Plus_D_Indirect; 637 procedure DEC_IX_Plus_D_Indirect; 638 procedure LD_IX_Plus_D_Indirect_N; 639 procedure ADD_IX_SP; 640 procedure LD_B_IX_Plus_D_Indirect; 641 procedure LD_C_IX_Plus_D_Indirect; 642 procedure LD_D_IX_Plus_D_Indirect; 643 procedure LD_E_IX_Plus_D_Indirect; 644 procedure LD_H_IX_Plus_D_Indirect; 645 procedure LD_L_IX_Plus_D_Indirect; 646 procedure LD_IX_Plus_D_Indirect_B; 647 procedure LD_IX_Plus_D_Indirect_C; 648 procedure LD_IX_Plus_D_Indirect_D; 649 procedure LD_IX_Plus_D_Indirect_E; 650 procedure LD_IX_Plus_D_Indirect_H; 651 procedure LD_IX_Plus_D_Indirect_L; 652 procedure LD_IX_Plus_D_Indirect_A; 653 procedure LD_A_IX_Plus_D_Indirect; 654 procedure ADD_A_IX_Plus_D_Indirect; 655 procedure ADC_A_IX_Plus_D_Indirect; 656 procedure SUB_IX_Plus_D_Indirect; 657 procedure SBC_A_IX_Plus_D_Indirect; 658 procedure AND_IX_Plus_D_Indirect; 659 procedure XOR_IX_Plus_D_Indirect; 660 procedure OR_IX_Plus_D_Indirect; 661 procedure CP_IX_Plus_D_Indirect; 662 procedure POP_IX; 663 procedure EX_SP_Indirect_IX; 664 procedure PUSH_IX; 665 procedure JP_IX_Indirect; 666 procedure LD_SP_IX; 667 procedure RLC_IX_Plus_D_Indirect; 668 procedure RRC_IX_Plus_D_Indirect; 669 procedure RL_IX_Plus_D_Indirect; 670 procedure RR_IX_Plus_D_Indirect; 671 procedure SLA_IX_Plus_D_Indirect; 672 procedure SRA_IX_Plus_D_Indirect; 673 procedure SRL_IX_Plus_D_Indirect; 674 procedure BIT_0_IX_Plus_D_Indirect; 675 procedure BIT_1_IX_Plus_D_Indirect; 676 procedure BIT_2_IX_Plus_D_Indirect; 677 procedure BIT_3_IX_Plus_D_Indirect; 678 procedure BIT_4_IX_Plus_D_Indirect; 679 procedure BIT_5_IX_Plus_D_Indirect; 680 procedure BIT_6_IX_Plus_D_Indirect; 681 procedure BIT_7_IX_Plus_D_Indirect; 682 procedure RES_0_IX_Plus_D_Indirect; 683 procedure RES_1_IX_Plus_D_Indirect; 684 procedure RES_2_IX_Plus_D_Indirect; 685 procedure RES_3_IX_Plus_D_Indirect; 686 procedure RES_4_IX_Plus_D_Indirect; 687 procedure RES_5_IX_Plus_D_Indirect; 688 procedure RES_6_IX_Plus_D_Indirect; 689 procedure RES_7_IX_Plus_D_Indirect; 690 procedure SET_0_IX_Plus_D_Indirect; 691 procedure SET_1_IX_Plus_D_Indirect; 692 procedure SET_2_IX_Plus_D_Indirect; 693 procedure SET_3_IX_Plus_D_Indirect; 694 procedure SET_4_IX_Plus_D_Indirect; 695 procedure SET_5_IX_Plus_D_Indirect; 696 procedure SET_6_IX_Plus_D_Indirect; 697 procedure SET_7_IX_Plus_D_Indirect; 698 procedure ADD_IY_BC; 699 procedure ADD_IY_DE; 700 procedure LD_IY_NN; 701 procedure LD_NN_Indirect_IY; 702 procedure INC_IY; 703 procedure ADD_IY_IY; 704 procedure LD_IY_NN_Indirect; 705 procedure DEC_IY; 706 procedure INC_IY_Plus_D_Indirect; 707 procedure DEC_IY_Plus_D_Indirect; 708 procedure LD_IY_Plus_D_Indirect_N; 709 procedure ADD_IY_SP; 710 procedure LD_B_IY_Plus_D_Indirect; 711 procedure LD_C_IY_Plus_D_Indirect; 712 procedure LD_D_IY_Plus_D_Indirect; 713 procedure LD_E_IY_Plus_D_Indirect; 714 procedure LD_H_IY_Plus_D_Indirect; 715 procedure LD_L_IY_Plus_D_Indirect; 716 procedure LD_IY_Plus_D_Indirect_B; 717 procedure LD_IY_Plus_D_Indirect_C; 718 procedure LD_IY_Plus_D_Indirect_D; 719 procedure LD_IY_Plus_D_Indirect_E; 720 procedure LD_IY_Plus_D_Indirect_H; 721 procedure LD_IY_Plus_D_Indirect_L; 722 procedure LD_IY_Plus_D_Indirect_A; 723 procedure LD_A_IY_Plus_D_Indirect; 724 procedure ADD_A_IY_Plus_D_Indirect; 725 procedure ADC_A_IY_Plus_D_Indirect; 726 procedure SUB_IY_Plus_D_Indirect; 727 procedure SBC_A_IY_Plus_D_Indirect; 728 procedure AND_IY_Plus_D_Indirect; 729 procedure XOR_IY_Plus_D_Indirect; 730 procedure OR_IY_Plus_D_Indirect; 731 procedure CP_IY_Plus_D_Indirect; 732 procedure POP_IY; 733 procedure EX_SP_Indirect_IY; 734 procedure PUSH_IY; 735 procedure JP_IY_Indirect; 736 procedure LD_SP_IY; 737 procedure RLC_IY_Plus_D_Indirect; 738 procedure RRC_IY_Plus_D_Indirect; 739 procedure RL_IY_Plus_D_Indirect; 740 procedure RR_IY_Plus_D_Indirect; 741 procedure SLA_IY_Plus_D_Indirect; 742 procedure SRA_IY_Plus_D_Indirect; 743 procedure SRL_IY_Plus_D_Indirect; 744 procedure BIT_0_IY_Plus_D_Indirect; 745 procedure BIT_1_IY_Plus_D_Indirect; 746 procedure BIT_2_IY_Plus_D_Indirect; 747 procedure BIT_3_IY_Plus_D_Indirect; 748 procedure BIT_4_IY_Plus_D_Indirect; 749 procedure BIT_5_IY_Plus_D_Indirect; 750 procedure BIT_6_IY_Plus_D_Indirect; 751 procedure BIT_7_IY_Plus_D_Indirect; 752 procedure RES_0_IY_Plus_D_Indirect; 753 procedure RES_1_IY_Plus_D_Indirect; 754 procedure RES_2_IY_Plus_D_Indirect; 755 procedure RES_3_IY_Plus_D_Indirect; 756 procedure RES_4_IY_Plus_D_Indirect; 757 procedure RES_5_IY_Plus_D_Indirect; 758 procedure RES_6_IY_Plus_D_Indirect; 759 procedure RES_7_IY_Plus_D_Indirect; 760 procedure SET_0_IY_Plus_D_Indirect; 761 procedure SET_1_IY_Plus_D_Indirect; 762 procedure SET_2_IY_Plus_D_Indirect; 763 procedure SET_3_IY_Plus_D_Indirect; 764 procedure SET_4_IY_Plus_D_Indirect; 765 procedure SET_5_IY_Plus_D_Indirect; 766 procedure SET_6_IY_Plus_D_Indirect; 767 procedure SET_7_IY_Plus_D_Indirect; 768 86 769 procedure InitInstructions; 87 770 public … … 252 935 end; 253 936 254 procedure TCpuZ80.Halt; 255 begin 256 FThread.Terminate; 257 end; 258 259 procedure TCpuZ80.Ret(Condition: Boolean); 937 procedure TCpuZ80.RetCond(Condition: Boolean); 260 938 begin 261 939 if Condition then begin … … 268 946 end; 269 947 948 procedure TCpuZ80.NotImplemented; 949 begin 950 Dec(PC); 951 DoMessage('Not implemented instruction ' + IntToHex(Word(Instruction), 4) + 952 ' on address ' + IntToHex(Word(PC), 4)); 953 Halt; 954 end; 955 270 956 procedure TCpuZ80.InitInstructions; 271 957 begin 272 958 Instructions[in_NOP] := NOP; 273 Instructions[in_HALT] := Halt; 274 Instructions[in_LD_HL_nn] := LD_HL_nn; 275 Instructions[in_LD_BC_nn] := LD_BC_nn; 276 Instructions[in_LD_DE_nn] := LD_DE_nn; 277 Instructions[in_LD_SP_nn] := LD_SP_nn; 278 Instructions[in_JP_nn] := JP_nn; 279 Instructions[in_LD_A_n] := LD_A_n; 280 Instructions[in_LD_B_n] := LD_B_n; 281 Instructions[in_LD_A_C] := LD_A_C; 282 Instructions[in_LD_HL_Indirect_n] := LD_HL_Indirect_n; 283 Instructions[in_LD_nn_Indirect_A] := LD_nn_Indirect_A; 959 Instructions[in_LD_BC_NN] := LD_BC_NN; 960 Instructions[in_LD_BC_Indirect_A] := LD_BC_Indirect_A; 961 Instructions[in_INC_BC] := INC_BC; 962 Instructions[in_INC_B] := INC_B; 963 Instructions[in_DEC_B] := DEC_B; 964 Instructions[in_LD_B_N] := LD_B_N; 965 Instructions[in_RLCA] := RLCA; 966 Instructions[in_EX_AF_AF_Pair] := EX_AF_AF_Pair; 967 Instructions[in_ADD_HL_BC] := ADD_HL_BC; 968 Instructions[in_LD_A_BC_Indirect] := LD_A_BC_Indirect; 969 Instructions[in_DEC_BC] := DEC_BC; 970 Instructions[in_INC_C] := INC_C; 971 Instructions[in_DEC_C] := DEC_C; 972 Instructions[in_LD_C_N] := LD_C_N; 973 Instructions[in_RRCA] := RRCA; 974 Instructions[in_DJNZ_D] := DJNZ_D; 975 Instructions[in_LD_DE_NN] := LD_DE_NN; 976 Instructions[in_LD_DE_Indirect_A] := LD_DE_Indirect_A; 977 Instructions[in_INC_DE] := INC_DE; 978 Instructions[in_INC_D] := INC_D; 979 Instructions[in_DEC_D] := DEC_D; 980 Instructions[in_LD_D_N] := LD_D_N; 981 Instructions[in_RLA] := RLA; 982 Instructions[in_JR_D] := JR_D; 983 Instructions[in_ADD_HL_DE] := ADD_HL_DE; 984 Instructions[in_LD_A_DE_Indirect] := LD_A_DE_Indirect; 985 Instructions[in_DEC_DE] := DEC_DE; 986 Instructions[in_INC_E] := INC_E; 987 Instructions[in_DEC_E] := DEC_E; 988 Instructions[in_LD_E_N] := LD_E_N; 989 Instructions[in_RRA] := RRA; 990 Instructions[in_JR_NZ_D] := JR_NZ_D; 991 Instructions[in_LD_HL_NN] := LD_HL_NN; 992 Instructions[in_LD_NN_Indirect_HL] := LD_NN_Indirect_HL; 993 Instructions[in_INC_HL] := INC_HL; 994 Instructions[in_INC_H] := INC_H; 995 Instructions[in_DEC_H] := DEC_H; 996 Instructions[in_LD_H_N] := LD_H_N; 997 Instructions[in_DAA] := DAA; 998 Instructions[in_JR_Z_D] := JR_Z_D; 999 Instructions[in_ADD_HL_HL] := ADD_HL_HL; 1000 Instructions[in_LD_HL_NN_Indirect] := LD_HL_NN_Indirect; 1001 Instructions[in_DEC_HL] := DEC_HL; 1002 Instructions[in_INC_L] := INC_L; 1003 Instructions[in_DEC_L] := DEC_L; 1004 Instructions[in_LD_L_N] := LD_L_N; 1005 Instructions[in_CPL] := CPL; 1006 Instructions[in_JR_NC_D] := JR_NC_D; 1007 Instructions[in_LD_SP_NN] := LD_SP_NN; 1008 Instructions[in_LD_NN_Indirect_A] := LD_NN_Indirect_A; 1009 Instructions[in_INC_SP] := INC_SP; 1010 Instructions[in_INC_HL_Indirect] := INC_HL_Indirect; 1011 Instructions[in_DEC_HL_Indirect] := DEC_HL_Indirect; 1012 Instructions[in_LD_HL_Indirect_N] := LD_HL_Indirect_N; 1013 Instructions[in_SCF] := SCF; 1014 Instructions[in_JR_C_D] := JR_C_D; 1015 Instructions[in_ADD_HL_SP] := ADD_HL_SP; 1016 Instructions[in_LD_A_NN_Indirect] := LD_A_NN_Indirect; 1017 Instructions[in_DEC_SP] := DEC_SP; 1018 Instructions[in_INC_A] := INC_A; 1019 Instructions[in_DEC_A] := DEC_A; 1020 Instructions[in_LD_A_N] := LD_A_N; 1021 Instructions[in_CCF] := CCF; 1022 Instructions[in_LD_B_B] := LD_B_B; 1023 Instructions[in_LD_B_C] := LD_B_C; 1024 Instructions[in_LD_B_D] := LD_B_D; 1025 Instructions[in_LD_B_E] := LD_B_E; 1026 Instructions[in_LD_B_H] := LD_B_H; 1027 Instructions[in_LD_B_L] := LD_B_L; 1028 Instructions[in_LD_B_HL_Indirect] := LD_B_HL_Indirect; 1029 Instructions[in_LD_B_A] := LD_B_A; 1030 Instructions[in_LD_C_B] := LD_C_B; 1031 Instructions[in_LD_C_C] := LD_C_C; 1032 Instructions[in_LD_C_D] := LD_C_D; 1033 Instructions[in_LD_C_E] := LD_C_E; 1034 Instructions[in_LD_C_H] := LD_C_H; 1035 Instructions[in_LD_C_L] := LD_C_L; 1036 Instructions[in_LD_C_HL_Indirect] := LD_C_HL_Indirect; 1037 Instructions[in_LD_C_A] := LD_C_A; 1038 Instructions[in_LD_D_B] := LD_D_B; 1039 Instructions[in_LD_D_C] := LD_D_C; 1040 Instructions[in_LD_D_D] := LD_D_D; 1041 Instructions[in_LD_D_E] := LD_D_E; 1042 Instructions[in_LD_D_H] := LD_D_H; 1043 Instructions[in_LD_D_L] := LD_D_L; 1044 Instructions[in_LD_D_HL_Indirect] := LD_D_HL_Indirect; 1045 Instructions[in_LD_D_A] := LD_D_A; 1046 Instructions[in_LD_E_B] := LD_E_B; 1047 Instructions[in_LD_E_C] := LD_E_C; 1048 Instructions[in_LD_E_D] := LD_E_D; 1049 Instructions[in_LD_E_E] := LD_E_E; 1050 Instructions[in_LD_E_H] := LD_E_H; 1051 Instructions[in_LD_E_L] := LD_E_L; 1052 Instructions[in_LD_E_HL_Indirect] := LD_E_HL_Indirect; 1053 Instructions[in_LD_E_A] := LD_E_A; 1054 Instructions[in_LD_H_B] := LD_H_B; 1055 Instructions[in_LD_H_C] := LD_H_C; 1056 Instructions[in_LD_H_D] := LD_H_D; 1057 Instructions[in_LD_H_E] := LD_H_E; 1058 Instructions[in_LD_H_H] := LD_H_H; 1059 Instructions[in_LD_H_L] := LD_H_L; 1060 Instructions[in_LD_H_HL_Indirect] := LD_H_HL_Indirect; 1061 Instructions[in_LD_H_A] := LD_H_A; 1062 Instructions[in_LD_L_B] := LD_L_B; 1063 Instructions[in_LD_L_C] := LD_L_C; 1064 Instructions[in_LD_L_D] := LD_L_D; 1065 Instructions[in_LD_L_E] := LD_L_E; 1066 Instructions[in_LD_L_H] := LD_L_H; 1067 Instructions[in_LD_L_L] := LD_L_L; 1068 Instructions[in_LD_L_HL_Indirect] := LD_L_HL_Indirect; 1069 Instructions[in_LD_L_A] := LD_L_A; 1070 Instructions[in_LD_HL_Indirect_B] := LD_HL_Indirect_B; 1071 Instructions[in_LD_HL_Indirect_C] := LD_HL_Indirect_C; 284 1072 Instructions[in_LD_HL_Indirect_D] := LD_HL_Indirect_D; 285 1073 Instructions[in_LD_HL_Indirect_E] := LD_HL_Indirect_E; 286 Instructions[in_LD_C_HL_Indirect] := LD_C_HL_Indirect; 1074 Instructions[in_LD_HL_Indirect_H] := LD_HL_Indirect_H; 1075 Instructions[in_LD_HL_Indirect_L] := LD_HL_Indirect_L; 1076 Instructions[in_HALT] := HALT; 1077 Instructions[in_LD_HL_Indirect_A] := LD_HL_Indirect_A; 1078 Instructions[in_LD_A_B] := LD_A_B; 1079 Instructions[in_LD_A_C] := LD_A_C; 1080 Instructions[in_LD_A_D] := LD_A_D; 1081 Instructions[in_LD_A_E] := LD_A_E; 1082 Instructions[in_LD_A_H] := LD_A_H; 1083 Instructions[in_LD_A_L] := LD_A_L; 287 1084 Instructions[in_LD_A_HL_Indirect] := LD_A_HL_Indirect; 288 Instructions[in_LD_BC_Indirect_A] := LD_BC_Indirect_A; 289 { 290 : 291 in_LD_HL_Indirect_nn: begin 292 TempWord := ReadWord; 293 DoWrite(HL.Value, TempWord and $ff); 294 DoWrite(HL.Value + 1, TempWord shr 8); 295 end; 296 in_JP_ZN_nn: Jp(not Zero); 297 in_CP_N: Cp(ReadByte); 298 in_CP_D: Cp(DE.D); 299 in_CP_E: Cp(DE.E); 300 in_CALL_nn: begin 301 TempWord := ReadWord; 302 if DebugMode = dmStepOver then begin 303 DebugStopAddress := PC; 304 DebugMode := dmStopAddress; 305 end; 306 Call(TempWord); 307 end; 308 in_RET: Ret(True); 309 in_RET_Z: Ret(Zero); 310 in_RST_00: Call($00); 311 in_RST_08: Call($08); 312 in_RST_10: Call($10); 313 in_RST_18: Call($18); 314 in_RST_20: Call($20); 315 in_RST_28: Call($28); 316 in_RST_30: Call($30); 317 in_RST_38: Call($38); 318 in_DI: InterruptEnabled := False; 319 in_EI: InterruptEnabled := True; 320 in_IM1: InterruptMode := 1; 321 in_OUT_N_A: DoOutput(ReadByte, A); 322 in_XOR_A: A := A xor A; 323 in_PUSH_BC: PushWord(BC.Value); 324 in_PUSH_DE: PushWord(DE.Value); 325 in_PUSH_HL: PushWord(HL.Value); 326 in_SBC_HL_DE: HL.Value := HL.Value - DE.Value; 327 in_EX_DE_HL: begin 328 TempWord := DE.Value; 329 DE.Value := HL.Value; 330 HL.Value := TempWord; 331 end; 332 in_DEC_HL: Dec(HL.Value); 333 in_INC_HL: Inc(HL.Value); 334 in_INC_BC: Inc(BC.Value); 335 in_INC_B: Inc(BC.B); 336 in_DEC_B: Dec(BC.B); 337 in_JR_NZ_d: Jr(not Zero); 338 in_JR_NC_d: Jr(not Carry); 339 in_DJNZ_d: Djnz; 340 in_LD_H_B: HL.H := BC.B; 341 in_LD_L_C: HL.L := BC.C; 342 in_JR_d: Jr(True); 343 in_LD_A_nn_Indirect: A := DoRead(ReadWord); 344 in_OR_A: A := A or A; 345 in_PUSH_AF: PushWord(A shl 8); 346 in_LD_B_A: BC.B := A; 347 in_AND_n: A := A and ReadByte; 348 in_XOR_B: A := A xor BC.B; 349 in_RLCA: begin 350 Carry := (A and $80) <> 0; 351 A := A shl 1; 352 end; 353 in_LD_C_A: BC.C := A; 354 in_ADD_HL_BC: HL.Value := HL.Value + BC.Value; 355 } 1085 Instructions[in_LD_A_A] := LD_A_A; 1086 Instructions[in_ADD_A_B] := ADD_A_B; 1087 Instructions[in_ADD_A_C] := ADD_A_C; 1088 Instructions[in_ADD_A_D] := ADD_A_D; 1089 Instructions[in_ADD_A_E] := ADD_A_E; 1090 Instructions[in_ADD_A_H] := ADD_A_H; 1091 Instructions[in_ADD_A_L] := ADD_A_L; 1092 Instructions[in_ADD_A_HL_Indirect] := ADD_A_HL_Indirect; 1093 Instructions[in_ADD_A_A] := ADD_A_A; 1094 Instructions[in_ADC_A_B] := ADC_A_B; 1095 Instructions[in_ADC_A_C] := ADC_A_C; 1096 Instructions[in_ADC_A_D] := ADC_A_D; 1097 Instructions[in_ADC_A_E] := ADC_A_E; 1098 Instructions[in_ADC_A_H] := ADC_A_H; 1099 Instructions[in_ADC_A_L] := ADC_A_L; 1100 Instructions[in_ADC_A_HL_Indirect] := ADC_A_HL_Indirect; 1101 Instructions[in_ADC_A_A] := ADC_A_A; 1102 Instructions[in_SUB_B] := SUB_B; 1103 Instructions[in_SUB_C] := SUB_C; 1104 Instructions[in_SUB_D] := SUB_D; 1105 Instructions[in_SUB_E] := SUB_E; 1106 Instructions[in_SUB_H] := SUB_H; 1107 Instructions[in_SUB_L] := SUB_L; 1108 Instructions[in_SUB_HL_Indirect] := SUB_HL_Indirect; 1109 Instructions[in_SUB_A] := SUB_A; 1110 Instructions[in_SBC_A_B] := SBC_A_B; 1111 Instructions[in_SBC_A_C] := SBC_A_C; 1112 Instructions[in_SBC_A_D] := SBC_A_D; 1113 Instructions[in_SBC_A_E] := SBC_A_E; 1114 Instructions[in_SBC_A_H] := SBC_A_H; 1115 Instructions[in_SBC_A_L] := SBC_A_L; 1116 Instructions[in_SBC_A_HL_Indirect] := SBC_A_HL_Indirect; 1117 Instructions[in_SBC_A_A] := SBC_A_A; 1118 Instructions[in_AND_B] := AND_B; 1119 Instructions[in_AND_C] := AND_C; 1120 Instructions[in_AND_D] := AND_D; 1121 Instructions[in_AND_E] := AND_E; 1122 Instructions[in_AND_H] := AND_H; 1123 Instructions[in_AND_L] := AND_L; 1124 Instructions[in_AND_HL_Indirect] := AND_HL_Indirect; 1125 Instructions[in_AND_A] := AND_A; 1126 Instructions[in_XOR_B] := XOR_B; 1127 Instructions[in_XOR_C] := XOR_C; 1128 Instructions[in_XOR_D] := XOR_D; 1129 Instructions[in_XOR_E] := XOR_E; 1130 Instructions[in_XOR_H] := XOR_H; 1131 Instructions[in_XOR_L] := XOR_L; 1132 Instructions[in_XOR_HL_Indirect] := XOR_HL_Indirect; 1133 Instructions[in_XOR_A] := XOR_A; 1134 Instructions[in_OR_B] := OR_B; 1135 Instructions[in_OR_C] := OR_C; 1136 Instructions[in_OR_D] := OR_D; 1137 Instructions[in_OR_E] := OR_E; 1138 Instructions[in_OR_H] := OR_H; 1139 Instructions[in_OR_L] := OR_L; 1140 Instructions[in_OR_HL_Indirect] := OR_HL_Indirect; 1141 Instructions[in_OR_A] := OR_A; 1142 Instructions[in_CP_B] := CP_B; 1143 Instructions[in_CP_C] := CP_C; 1144 Instructions[in_CP_D] := CP_D; 1145 Instructions[in_CP_E] := CP_E; 1146 Instructions[in_CP_H] := CP_H; 1147 Instructions[in_CP_L] := CP_L; 1148 Instructions[in_CP_HL_Indirect] := CP_HL_Indirect; 1149 Instructions[in_CP_A] := CP_A; 1150 Instructions[in_RET_NZ] := RET_NZ; 1151 Instructions[in_POP_BC] := POP_BC; 1152 Instructions[in_JP_NZ_NN] := JP_NZ_NN; 1153 Instructions[in_JP_NN] := JP_NN; 1154 Instructions[in_CALL_NZ_NN] := CALL_NZ_NN; 1155 Instructions[in_PUSH_BC] := PUSH_BC; 1156 Instructions[in_ADD_A_N] := ADD_A_N; 1157 Instructions[in_RST_00H] := RST_00H; 1158 Instructions[in_RET_Z] := RET_Z; 1159 Instructions[in_RET] := RET; 1160 Instructions[in_JP_Z_NN] := JP_Z_NN; 1161 Instructions[in_CALL_Z_NN] := CALL_Z_NN; 1162 Instructions[in_CALL_NN] := CALL_NN; 1163 Instructions[in_ADC_A_N] := ADC_A_N; 1164 Instructions[in_RST_08H] := RST_08H; 1165 Instructions[in_RET_NC] := RET_NC; 1166 Instructions[in_POP_DE] := POP_DE; 1167 Instructions[in_JP_NC_NN] := JP_NC_NN; 1168 Instructions[in_OUT_N_Indirect_A] := OUT_N_Indirect_A; 1169 Instructions[in_CALL_NC_NN] := CALL_NC_NN; 1170 Instructions[in_PUSH_DE] := PUSH_DE; 1171 Instructions[in_SUB_N] := SUB_N; 1172 Instructions[in_RST_10H] := RST_10H; 1173 Instructions[in_RET_C] := RET_C; 1174 Instructions[in_EXX] := EXX; 1175 Instructions[in_JP_C_NN] := JP_C_NN; 1176 Instructions[in_IN_A_N_Indirect] := IN_A_N_Indirect; 1177 Instructions[in_CALL_C_NN] := CALL_C_NN; 1178 Instructions[in_SBC_A_N] := SBC_A_N; 1179 Instructions[in_RST_18H] := RST_18H; 1180 Instructions[in_RET_PO] := RET_PO; 1181 Instructions[in_POP_HL] := POP_HL; 1182 Instructions[in_JP_PO_NN] := JP_PO_NN; 1183 Instructions[in_EX_SP_Indirect_HL] := EX_SP_Indirect_HL; 1184 Instructions[in_CALL_PO_NN] := CALL_PO_NN; 1185 Instructions[in_PUSH_HL] := PUSH_HL; 1186 Instructions[in_AND_N] := AND_N; 1187 Instructions[in_RST_20H] := RST_20H; 1188 Instructions[in_RET_PE] := RET_PE; 1189 Instructions[in_JP_HL_Indirect] := JP_HL_Indirect; 1190 Instructions[in_JP_PE_NN] := JP_PE_NN; 1191 Instructions[in_EX_DE_HL] := EX_DE_HL; 1192 Instructions[in_CALL_PE_NN] := CALL_PE_NN; 1193 Instructions[in_XOR_N] := XOR_N; 1194 Instructions[in_RST_28H] := RST_28H; 1195 Instructions[in_RET_P] := RET_P; 1196 Instructions[in_POP_AF] := POP_AF; 1197 Instructions[in_JP_P_NN] := JP_P_NN; 1198 Instructions[in_DI] := DI; 1199 Instructions[in_CALL_P_NN] := CALL_P_NN; 1200 Instructions[in_PUSH_AF] := PUSH_AF; 1201 Instructions[in_OR_N] := OR_N; 1202 Instructions[in_RST_30H] := RST_30H; 1203 Instructions[in_RET_M] := RET_M; 1204 Instructions[in_LD_SP_HL] := LD_SP_HL; 1205 Instructions[in_JP_M_NN] := JP_M_NN; 1206 Instructions[in_EI] := EI; 1207 Instructions[in_CALL_M_NN] := CALL_M_NN; 1208 Instructions[in_CP_N] := CP_N; 1209 Instructions[in_RST_38H] := RST_38H; 1210 Instructions[in_IN_B_C_Indirect] := IN_B_C_Indirect; 1211 Instructions[in_OUT_C_Indirect_B] := OUT_C_Indirect_B; 1212 Instructions[in_SBC_HL_BC] := SBC_HL_BC; 1213 Instructions[in_LD_NN_Indirect_BC] := LD_NN_Indirect_BC; 1214 Instructions[in_NEG] := NEG; 1215 Instructions[in_RETN] := RETN; 1216 Instructions[in_IM_0] := IM_0; 1217 Instructions[in_LD_I_A] := LD_I_A; 1218 Instructions[in_IN_C_C_Indirect] := IN_C_C_Indirect; 1219 Instructions[in_OUT_C_Indirect_C] := OUT_C_Indirect_C; 1220 Instructions[in_ADC_HL_BC] := ADC_HL_BC; 1221 Instructions[in_LD_BC_NN_Indirect] := LD_BC_NN_Indirect; 1222 Instructions[in_RETI] := RETI; 1223 Instructions[in_LD_R_A] := LD_R_A; 1224 Instructions[in_IN_D_C_Indirect] := IN_D_C_Indirect; 1225 Instructions[in_OUT_C_Indirect_D] := OUT_C_Indirect_D; 1226 Instructions[in_SBC_HL_DE] := SBC_HL_DE; 1227 Instructions[in_LD_NN_Indirect_DE] := LD_NN_Indirect_DE; 1228 Instructions[in_IM_1] := IM_1; 1229 Instructions[in_LD_A_I] := LD_A_I; 1230 Instructions[in_IN_E_C_Indirect] := IN_E_C_Indirect; 1231 Instructions[in_OUT_C_Indirect_E] := OUT_C_Indirect_E; 1232 Instructions[in_ADC_HL_DE] := ADC_HL_DE; 1233 Instructions[in_LD_DE_NN_Indirect] := LD_DE_NN_Indirect; 1234 Instructions[in_IM_2] := IM_2; 1235 Instructions[in_LD_A_R] := LD_A_R; 1236 Instructions[in_IN_H_C_Indirect] := IN_H_C_Indirect; 1237 Instructions[in_OUT_C_Indirect_H] := OUT_C_Indirect_H; 1238 Instructions[in_SBC_HL_HL] := SBC_HL_HL; 1239 Instructions[in_RRD] := RRD; 1240 Instructions[in_IN_L_C_Indirect] := IN_L_C_Indirect; 1241 Instructions[in_OUT_C_Indirect_L] := OUT_C_Indirect_L; 1242 Instructions[in_ADC_HL_HL] := ADC_HL_HL; 1243 Instructions[in_RLD] := RLD; 1244 Instructions[in_SBC_HL_SP] := SBC_HL_SP; 1245 Instructions[in_LD_NN_Indirect_SP] := LD_NN_Indirect_SP; 1246 Instructions[in_IN_A_C_Indirect] := IN_A_C_Indirect; 1247 Instructions[in_OUT_C_Indirect_A] := OUT_C_Indirect_A; 1248 Instructions[in_ADC_HL_SP] := ADC_HL_SP; 1249 Instructions[in_LD_SP_NN_Indirect] := LD_SP_NN_Indirect; 1250 Instructions[in_LDI] := LDI; 1251 Instructions[in_CPI] := CPI; 1252 Instructions[in_INI] := INI; 1253 Instructions[in_OUTI] := OUTI; 1254 Instructions[in_LDD] := LDD; 1255 Instructions[in_CPD] := CPD; 1256 Instructions[in_IND] := IND; 1257 Instructions[in_OUTD] := OUTD; 1258 Instructions[in_LDIR] := LDIR; 1259 Instructions[in_CPIR] := CPIR; 1260 Instructions[in_INIR] := INIR; 1261 Instructions[in_OTIR] := OTIR; 1262 Instructions[in_LDDR] := LDDR; 1263 Instructions[in_CPDR] := CPDR; 1264 Instructions[in_INDR] := INDR; 1265 Instructions[in_OTDR] := OTDR; 1266 Instructions[in_RLC_B] := RLC_B; 1267 Instructions[in_RLC_C] := RLC_C; 1268 Instructions[in_RLC_D] := RLC_D; 1269 Instructions[in_RLC_E] := RLC_E; 1270 Instructions[in_RLC_H] := RLC_H; 1271 Instructions[in_RLC_L] := RLC_L; 1272 Instructions[in_RLC_HL_Indirect] := RLC_HL_Indirect; 1273 Instructions[in_RLC_A] := RLC_A; 1274 Instructions[in_RRC_B] := RRC_B; 1275 Instructions[in_RRC_C] := RRC_C; 1276 Instructions[in_RRC_D] := RRC_D; 1277 Instructions[in_RRC_E] := RRC_E; 1278 Instructions[in_RRC_H] := RRC_H; 1279 Instructions[in_RRC_L] := RRC_L; 1280 Instructions[in_RRC_HL_Indirect] := RRC_HL_Indirect; 1281 Instructions[in_RRC_A] := RRC_A; 1282 Instructions[in_RL_B] := RL_B; 1283 Instructions[in_RL_C] := RL_C; 1284 Instructions[in_RL_D] := RL_D; 1285 Instructions[in_RL_E] := RL_E; 1286 Instructions[in_RL_H] := RL_H; 1287 Instructions[in_RL_L] := RL_L; 1288 Instructions[in_RL_HL_Indirect] := RL_HL_Indirect; 1289 Instructions[in_RL_A] := RL_A; 1290 Instructions[in_RR_B] := RR_B; 1291 Instructions[in_RR_C] := RR_C; 1292 Instructions[in_RR_D] := RR_D; 1293 Instructions[in_RR_E] := RR_E; 1294 Instructions[in_RR_H] := RR_H; 1295 Instructions[in_RR_L] := RR_L; 1296 Instructions[in_RR_HL_Indirect] := RR_HL_Indirect; 1297 Instructions[in_RR_A] := RR_A; 1298 Instructions[in_SLA_B] := SLA_B; 1299 Instructions[in_SLA_C] := SLA_C; 1300 Instructions[in_SLA_D] := SLA_D; 1301 Instructions[in_SLA_E] := SLA_E; 1302 Instructions[in_SLA_H] := SLA_H; 1303 Instructions[in_SLA_L] := SLA_L; 1304 Instructions[in_SLA_HL_Indirect] := SLA_HL_Indirect; 1305 Instructions[in_SLA_A] := SLA_A; 1306 Instructions[in_SRA_B] := SRA_B; 1307 Instructions[in_SRA_C] := SRA_C; 1308 Instructions[in_SRA_D] := SRA_D; 1309 Instructions[in_SRA_E] := SRA_E; 1310 Instructions[in_SRA_H] := SRA_H; 1311 Instructions[in_SRA_L] := SRA_L; 1312 Instructions[in_SRA_HL_Indirect] := SRA_HL_Indirect; 1313 Instructions[in_SRA_A] := SRA_A; 1314 Instructions[in_SRL_B] := SRL_B; 1315 Instructions[in_SRL_C] := SRL_C; 1316 Instructions[in_SRL_D] := SRL_D; 1317 Instructions[in_SRL_E] := SRL_E; 1318 Instructions[in_SRL_H] := SRL_H; 1319 Instructions[in_SRL_L] := SRL_L; 1320 Instructions[in_SRL_HL_Indirect] := SRL_HL_Indirect; 1321 Instructions[in_SRL_A] := SRL_A; 1322 Instructions[in_BIT_0_B] := BIT_0_B; 1323 Instructions[in_BIT_0_C] := BIT_0_C; 1324 Instructions[in_BIT_0_D] := BIT_0_D; 1325 Instructions[in_BIT_0_E] := BIT_0_E; 1326 Instructions[in_BIT_0_H] := BIT_0_H; 1327 Instructions[in_BIT_0_L] := BIT_0_L; 1328 Instructions[in_BIT_0_HL_Indirect] := BIT_0_HL_Indirect; 1329 Instructions[in_BIT_0_A] := BIT_0_A; 1330 Instructions[in_BIT_1_B] := BIT_1_B; 1331 Instructions[in_BIT_1_C] := BIT_1_C; 1332 Instructions[in_BIT_1_D] := BIT_1_D; 1333 Instructions[in_BIT_1_E] := BIT_1_E; 1334 Instructions[in_BIT_1_H] := BIT_1_H; 1335 Instructions[in_BIT_1_L] := BIT_1_L; 1336 Instructions[in_BIT_1_HL_Indirect] := BIT_1_HL_Indirect; 1337 Instructions[in_BIT_1_A] := BIT_1_A; 1338 Instructions[in_BIT_2_B] := BIT_2_B; 1339 Instructions[in_BIT_2_C] := BIT_2_C; 1340 Instructions[in_BIT_2_D] := BIT_2_D; 1341 Instructions[in_BIT_2_E] := BIT_2_E; 1342 Instructions[in_BIT_2_H] := BIT_2_H; 1343 Instructions[in_BIT_2_L] := BIT_2_L; 1344 Instructions[in_BIT_2_HL_Indirect] := BIT_2_HL_Indirect; 1345 Instructions[in_BIT_2_A] := BIT_2_A; 1346 Instructions[in_BIT_3_B] := BIT_3_B; 1347 Instructions[in_BIT_3_C] := BIT_3_C; 1348 Instructions[in_BIT_3_D] := BIT_3_D; 1349 Instructions[in_BIT_3_E] := BIT_3_E; 1350 Instructions[in_BIT_3_H] := BIT_3_H; 1351 Instructions[in_BIT_3_L] := BIT_3_L; 1352 Instructions[in_BIT_3_HL_Indirect] := BIT_3_HL_Indirect; 1353 Instructions[in_BIT_3_A] := BIT_3_A; 1354 Instructions[in_BIT_4_B] := BIT_4_B; 1355 Instructions[in_BIT_4_C] := BIT_4_C; 1356 Instructions[in_BIT_4_D] := BIT_4_D; 1357 Instructions[in_BIT_4_E] := BIT_4_E; 1358 Instructions[in_BIT_4_H] := BIT_4_H; 1359 Instructions[in_BIT_4_L] := BIT_4_L; 1360 Instructions[in_BIT_4_HL_Indirect] := BIT_4_HL_Indirect; 1361 Instructions[in_BIT_4_A] := BIT_4_A; 1362 Instructions[in_BIT_5_B] := BIT_5_B; 1363 Instructions[in_BIT_5_C] := BIT_5_C; 1364 Instructions[in_BIT_5_D] := BIT_5_D; 1365 Instructions[in_BIT_5_E] := BIT_5_E; 1366 Instructions[in_BIT_5_H] := BIT_5_H; 1367 Instructions[in_BIT_5_L] := BIT_5_L; 1368 Instructions[in_BIT_5_HL_Indirect] := BIT_5_HL_Indirect; 1369 Instructions[in_BIT_5_A] := BIT_5_A; 1370 Instructions[in_BIT_6_B] := BIT_6_B; 1371 Instructions[in_BIT_6_C] := BIT_6_C; 1372 Instructions[in_BIT_6_D] := BIT_6_D; 1373 Instructions[in_BIT_6_E] := BIT_6_E; 1374 Instructions[in_BIT_6_H] := BIT_6_H; 1375 Instructions[in_BIT_6_L] := BIT_6_L; 1376 Instructions[in_BIT_6_HL_Indirect] := BIT_6_HL_Indirect; 1377 Instructions[in_BIT_6_A] := BIT_6_A; 1378 Instructions[in_BIT_7_B] := BIT_7_B; 1379 Instructions[in_BIT_7_C] := BIT_7_C; 1380 Instructions[in_BIT_7_D] := BIT_7_D; 1381 Instructions[in_BIT_7_E] := BIT_7_E; 1382 Instructions[in_BIT_7_H] := BIT_7_H; 1383 Instructions[in_BIT_7_L] := BIT_7_L; 1384 Instructions[in_BIT_7_HL_Indirect] := BIT_7_HL_Indirect; 1385 Instructions[in_BIT_7_A] := BIT_7_A; 1386 Instructions[in_RES_0_B] := RES_0_B; 1387 Instructions[in_RES_0_C] := RES_0_C; 1388 Instructions[in_RES_0_D] := RES_0_D; 1389 Instructions[in_RES_0_E] := RES_0_E; 1390 Instructions[in_RES_0_H] := RES_0_H; 1391 Instructions[in_RES_0_L] := RES_0_L; 1392 Instructions[in_RES_0_HL_Indirect] := RES_0_HL_Indirect; 1393 Instructions[in_RES_0_A] := RES_0_A; 1394 Instructions[in_RES_1_B] := RES_1_B; 1395 Instructions[in_RES_1_C] := RES_1_C; 1396 Instructions[in_RES_1_D] := RES_1_D; 1397 Instructions[in_RES_1_E] := RES_1_E; 1398 Instructions[in_RES_1_H] := RES_1_H; 1399 Instructions[in_RES_1_L] := RES_1_L; 1400 Instructions[in_RES_1_HL_Indirect] := RES_1_HL_Indirect; 1401 Instructions[in_RES_1_A] := RES_1_A; 1402 Instructions[in_RES_2_B] := RES_2_B; 1403 Instructions[in_RES_2_C] := RES_2_C; 1404 Instructions[in_RES_2_D] := RES_2_D; 1405 Instructions[in_RES_2_E] := RES_2_E; 1406 Instructions[in_RES_2_H] := RES_2_H; 1407 Instructions[in_RES_2_L] := RES_2_L; 1408 Instructions[in_RES_2_HL_Indirect] := RES_2_HL_Indirect; 1409 Instructions[in_RES_2_A] := RES_2_A; 1410 Instructions[in_RES_3_B] := RES_3_B; 1411 Instructions[in_RES_3_C] := RES_3_C; 1412 Instructions[in_RES_3_D] := RES_3_D; 1413 Instructions[in_RES_3_E] := RES_3_E; 1414 Instructions[in_RES_3_H] := RES_3_H; 1415 Instructions[in_RES_3_L] := RES_3_L; 1416 Instructions[in_RES_3_HL_Indirect] := RES_3_HL_Indirect; 1417 Instructions[in_RES_3_A] := RES_3_A; 1418 Instructions[in_RES_4_B] := RES_4_B; 1419 Instructions[in_RES_4_C] := RES_4_C; 1420 Instructions[in_RES_4_D] := RES_4_D; 1421 Instructions[in_RES_4_E] := RES_4_E; 1422 Instructions[in_RES_4_H] := RES_4_H; 1423 Instructions[in_RES_4_L] := RES_4_L; 1424 Instructions[in_RES_4_HL_Indirect] := RES_4_HL_Indirect; 1425 Instructions[in_RES_4_A] := RES_4_A; 1426 Instructions[in_RES_5_B] := RES_5_B; 1427 Instructions[in_RES_5_C] := RES_5_C; 1428 Instructions[in_RES_5_D] := RES_5_D; 1429 Instructions[in_RES_5_E] := RES_5_E; 1430 Instructions[in_RES_5_H] := RES_5_H; 1431 Instructions[in_RES_5_L] := RES_5_L; 1432 Instructions[in_RES_5_HL_Indirect] := RES_5_HL_Indirect; 1433 Instructions[in_RES_5_A] := RES_5_A; 1434 Instructions[in_RES_6_B] := RES_6_B; 1435 Instructions[in_RES_6_C] := RES_6_C; 1436 Instructions[in_RES_6_D] := RES_6_D; 1437 Instructions[in_RES_6_E] := RES_6_E; 1438 Instructions[in_RES_6_H] := RES_6_H; 1439 Instructions[in_RES_6_L] := RES_6_L; 1440 Instructions[in_RES_6_HL_Indirect] := RES_6_HL_Indirect; 1441 Instructions[in_RES_6_A] := RES_6_A; 1442 Instructions[in_RES_7_B] := RES_7_B; 1443 Instructions[in_RES_7_C] := RES_7_C; 1444 Instructions[in_RES_7_D] := RES_7_D; 1445 Instructions[in_RES_7_E] := RES_7_E; 1446 Instructions[in_RES_7_H] := RES_7_H; 1447 Instructions[in_RES_7_L] := RES_7_L; 1448 Instructions[in_RES_7_HL_Indirect] := RES_7_HL_Indirect; 1449 Instructions[in_RES_7_A] := RES_7_A; 1450 Instructions[in_SET_0_B] := SET_0_B; 1451 Instructions[in_SET_0_C] := SET_0_C; 1452 Instructions[in_SET_0_D] := SET_0_D; 1453 Instructions[in_SET_0_E] := SET_0_E; 1454 Instructions[in_SET_0_H] := SET_0_H; 1455 Instructions[in_SET_0_L] := SET_0_L; 1456 Instructions[in_SET_0_HL_Indirect] := SET_0_HL_Indirect; 1457 Instructions[in_SET_0_A] := SET_0_A; 1458 Instructions[in_SET_1_B] := SET_1_B; 1459 Instructions[in_SET_1_C] := SET_1_C; 1460 Instructions[in_SET_1_D] := SET_1_D; 1461 Instructions[in_SET_1_E] := SET_1_E; 1462 Instructions[in_SET_1_H] := SET_1_H; 1463 Instructions[in_SET_1_L] := SET_1_L; 1464 Instructions[in_SET_1_HL_Indirect] := SET_1_HL_Indirect; 1465 Instructions[in_SET_1_A] := SET_1_A; 1466 Instructions[in_SET_2_B] := SET_2_B; 1467 Instructions[in_SET_2_C] := SET_2_C; 1468 Instructions[in_SET_2_D] := SET_2_D; 1469 Instructions[in_SET_2_E] := SET_2_E; 1470 Instructions[in_SET_2_H] := SET_2_H; 1471 Instructions[in_SET_2_L] := SET_2_L; 1472 Instructions[in_SET_2_HL_Indirect] := SET_2_HL_Indirect; 1473 Instructions[in_SET_2_A] := SET_2_A; 1474 Instructions[in_SET_3_B] := SET_3_B; 1475 Instructions[in_SET_3_C] := SET_3_C; 1476 Instructions[in_SET_3_D] := SET_3_D; 1477 Instructions[in_SET_3_E] := SET_3_E; 1478 Instructions[in_SET_3_H] := SET_3_H; 1479 Instructions[in_SET_3_L] := SET_3_L; 1480 Instructions[in_SET_3_HL_Indirect] := SET_3_HL_Indirect; 1481 Instructions[in_SET_3_A] := SET_3_A; 1482 Instructions[in_SET_4_B] := SET_4_B; 1483 Instructions[in_SET_4_C] := SET_4_C; 1484 Instructions[in_SET_4_D] := SET_4_D; 1485 Instructions[in_SET_4_E] := SET_4_E; 1486 Instructions[in_SET_4_H] := SET_4_H; 1487 Instructions[in_SET_4_L] := SET_4_L; 1488 Instructions[in_SET_4_HL_Indirect] := SET_4_HL_Indirect; 1489 Instructions[in_SET_4_A] := SET_4_A; 1490 Instructions[in_SET_5_B] := SET_5_B; 1491 Instructions[in_SET_5_C] := SET_5_C; 1492 Instructions[in_SET_5_D] := SET_5_D; 1493 Instructions[in_SET_5_E] := SET_5_E; 1494 Instructions[in_SET_5_H] := SET_5_H; 1495 Instructions[in_SET_5_L] := SET_5_L; 1496 Instructions[in_SET_5_HL_Indirect] := SET_5_HL_Indirect; 1497 Instructions[in_SET_5_A] := SET_5_A; 1498 Instructions[in_SET_6_B] := SET_6_B; 1499 Instructions[in_SET_6_C] := SET_6_C; 1500 Instructions[in_SET_6_D] := SET_6_D; 1501 Instructions[in_SET_6_E] := SET_6_E; 1502 Instructions[in_SET_6_H] := SET_6_H; 1503 Instructions[in_SET_6_L] := SET_6_L; 1504 Instructions[in_SET_6_HL_Indirect] := SET_6_HL_Indirect; 1505 Instructions[in_SET_6_A] := SET_6_A; 1506 Instructions[in_SET_7_B] := SET_7_B; 1507 Instructions[in_SET_7_C] := SET_7_C; 1508 Instructions[in_SET_7_D] := SET_7_D; 1509 Instructions[in_SET_7_E] := SET_7_E; 1510 Instructions[in_SET_7_H] := SET_7_H; 1511 Instructions[in_SET_7_L] := SET_7_L; 1512 Instructions[in_SET_7_HL_Indirect] := SET_7_HL_Indirect; 1513 Instructions[in_SET_7_A] := SET_7_A; 1514 Instructions[in_ADD_IX_BC] := ADD_IX_BC; 1515 Instructions[in_ADD_IX_DE] := ADD_IX_DE; 1516 Instructions[in_LD_IX_NN] := LD_IX_NN; 1517 Instructions[in_LD_NN_Indirect_IX] := LD_NN_Indirect_IX; 1518 Instructions[in_INC_IX] := INC_IX; 1519 Instructions[in_ADD_IX_IX] := ADD_IX_IX; 1520 Instructions[in_LD_IX_NN_Indirect] := LD_IX_NN_Indirect; 1521 Instructions[in_DEC_IX] := DEC_IX; 1522 Instructions[in_INC_IX_Plus_D_Indirect] := INC_IX_Plus_D_Indirect; 1523 Instructions[in_DEC_IX_Plus_D_Indirect] := DEC_IX_Plus_D_Indirect; 1524 Instructions[in_LD_IX_Plus_D_Indirect_N] := LD_IX_Plus_D_Indirect_N; 1525 Instructions[in_ADD_IX_SP] := ADD_IX_SP; 1526 Instructions[in_LD_B_IX_Plus_D_Indirect] := LD_B_IX_Plus_D_Indirect; 1527 Instructions[in_LD_C_IX_Plus_D_Indirect] := LD_C_IX_Plus_D_Indirect; 1528 Instructions[in_LD_D_IX_Plus_D_Indirect] := LD_D_IX_Plus_D_Indirect; 1529 Instructions[in_LD_E_IX_Plus_D_Indirect] := LD_E_IX_Plus_D_Indirect; 1530 Instructions[in_LD_H_IX_Plus_D_Indirect] := LD_H_IX_Plus_D_Indirect; 1531 Instructions[in_LD_L_IX_Plus_D_Indirect] := LD_L_IX_Plus_D_Indirect; 1532 Instructions[in_LD_IX_Plus_D_Indirect_B] := LD_IX_Plus_D_Indirect_B; 1533 Instructions[in_LD_IX_Plus_D_Indirect_C] := LD_IX_Plus_D_Indirect_C; 1534 Instructions[in_LD_IX_Plus_D_Indirect_D] := LD_IX_Plus_D_Indirect_D; 1535 Instructions[in_LD_IX_Plus_D_Indirect_E] := LD_IX_Plus_D_Indirect_E; 1536 Instructions[in_LD_IX_Plus_D_Indirect_H] := LD_IX_Plus_D_Indirect_H; 1537 Instructions[in_LD_IX_Plus_D_Indirect_L] := LD_IX_Plus_D_Indirect_L; 1538 Instructions[in_LD_IX_Plus_D_Indirect_A] := LD_IX_Plus_D_Indirect_A; 1539 Instructions[in_LD_A_IX_Plus_D_Indirect] := LD_A_IX_Plus_D_Indirect; 1540 Instructions[in_ADD_A_IX_Plus_D_Indirect] := ADD_A_IX_Plus_D_Indirect; 1541 Instructions[in_ADC_A_IX_Plus_D_Indirect] := ADC_A_IX_Plus_D_Indirect; 1542 Instructions[in_SUB_IX_Plus_D_Indirect] := SUB_IX_Plus_D_Indirect; 1543 Instructions[in_SBC_A_IX_Plus_D_Indirect] := SBC_A_IX_Plus_D_Indirect; 1544 Instructions[in_AND_IX_Plus_D_Indirect] := AND_IX_Plus_D_Indirect; 1545 Instructions[in_XOR_IX_Plus_D_Indirect] := XOR_IX_Plus_D_Indirect; 1546 Instructions[in_OR_IX_Plus_D_Indirect] := OR_IX_Plus_D_Indirect; 1547 Instructions[in_CP_IX_Plus_D_Indirect] := CP_IX_Plus_D_Indirect; 1548 Instructions[in_POP_IX] := POP_IX; 1549 Instructions[in_EX_SP_Indirect_IX] := EX_SP_Indirect_IX; 1550 Instructions[in_PUSH_IX] := PUSH_IX; 1551 Instructions[in_JP_IX_Indirect] := JP_IX_Indirect; 1552 Instructions[in_LD_SP_IX] := LD_SP_IX; 1553 Instructions[in_RLC_IX_Plus_D_Indirect] := RLC_IX_Plus_D_Indirect; 1554 Instructions[in_RRC_IX_Plus_D_Indirect] := RRC_IX_Plus_D_Indirect; 1555 Instructions[in_RL_IX_Plus_D_Indirect] := RL_IX_Plus_D_Indirect; 1556 Instructions[in_RR_IX_Plus_D_Indirect] := RR_IX_Plus_D_Indirect; 1557 Instructions[in_SLA_IX_Plus_D_Indirect] := SLA_IX_Plus_D_Indirect; 1558 Instructions[in_SRA_IX_Plus_D_Indirect] := SRA_IX_Plus_D_Indirect; 1559 Instructions[in_SRL_IX_Plus_D_Indirect] := SRL_IX_Plus_D_Indirect; 1560 Instructions[in_BIT_0_IX_Plus_D_Indirect] := BIT_0_IX_Plus_D_Indirect; 1561 Instructions[in_BIT_1_IX_Plus_D_Indirect] := BIT_1_IX_Plus_D_Indirect; 1562 Instructions[in_BIT_2_IX_Plus_D_Indirect] := BIT_2_IX_Plus_D_Indirect; 1563 Instructions[in_BIT_3_IX_Plus_D_Indirect] := BIT_3_IX_Plus_D_Indirect; 1564 Instructions[in_BIT_4_IX_Plus_D_Indirect] := BIT_4_IX_Plus_D_Indirect; 1565 Instructions[in_BIT_5_IX_Plus_D_Indirect] := BIT_5_IX_Plus_D_Indirect; 1566 Instructions[in_BIT_6_IX_Plus_D_Indirect] := BIT_6_IX_Plus_D_Indirect; 1567 Instructions[in_BIT_7_IX_Plus_D_Indirect] := BIT_7_IX_Plus_D_Indirect; 1568 Instructions[in_RES_0_IX_Plus_D_Indirect] := RES_0_IX_Plus_D_Indirect; 1569 Instructions[in_RES_1_IX_Plus_D_Indirect] := RES_1_IX_Plus_D_Indirect; 1570 Instructions[in_RES_2_IX_Plus_D_Indirect] := RES_2_IX_Plus_D_Indirect; 1571 Instructions[in_RES_3_IX_Plus_D_Indirect] := RES_3_IX_Plus_D_Indirect; 1572 Instructions[in_RES_4_IX_Plus_D_Indirect] := RES_4_IX_Plus_D_Indirect; 1573 Instructions[in_RES_5_IX_Plus_D_Indirect] := RES_5_IX_Plus_D_Indirect; 1574 Instructions[in_RES_6_IX_Plus_D_Indirect] := RES_6_IX_Plus_D_Indirect; 1575 Instructions[in_RES_7_IX_Plus_D_Indirect] := RES_7_IX_Plus_D_Indirect; 1576 Instructions[in_SET_0_IX_Plus_D_Indirect] := SET_0_IX_Plus_D_Indirect; 1577 Instructions[in_SET_1_IX_Plus_D_Indirect] := SET_1_IX_Plus_D_Indirect; 1578 Instructions[in_SET_2_IX_Plus_D_Indirect] := SET_2_IX_Plus_D_Indirect; 1579 Instructions[in_SET_3_IX_Plus_D_Indirect] := SET_3_IX_Plus_D_Indirect; 1580 Instructions[in_SET_4_IX_Plus_D_Indirect] := SET_4_IX_Plus_D_Indirect; 1581 Instructions[in_SET_5_IX_Plus_D_Indirect] := SET_5_IX_Plus_D_Indirect; 1582 Instructions[in_SET_6_IX_Plus_D_Indirect] := SET_6_IX_Plus_D_Indirect; 1583 Instructions[in_SET_7_IX_Plus_D_Indirect] := SET_7_IX_Plus_D_Indirect; 1584 Instructions[in_ADD_IY_BC] := ADD_IY_BC; 1585 Instructions[in_ADD_IY_DE] := ADD_IY_DE; 1586 Instructions[in_LD_IY_NN] := LD_IY_NN; 1587 Instructions[in_LD_NN_Indirect_IY] := LD_NN_Indirect_IY; 1588 Instructions[in_INC_IY] := INC_IY; 1589 Instructions[in_ADD_IY_IY] := ADD_IY_IY; 1590 Instructions[in_LD_IY_NN_Indirect] := LD_IY_NN_Indirect; 1591 Instructions[in_DEC_IY] := DEC_IY; 1592 Instructions[in_INC_IY_Plus_D_Indirect] := INC_IY_Plus_D_Indirect; 1593 Instructions[in_DEC_IY_Plus_D_Indirect] := DEC_IY_Plus_D_Indirect; 1594 Instructions[in_LD_IY_Plus_D_Indirect_N] := LD_IY_Plus_D_Indirect_N; 1595 Instructions[in_ADD_IY_SP] := ADD_IY_SP; 1596 Instructions[in_LD_B_IY_Plus_D_Indirect] := LD_B_IY_Plus_D_Indirect; 1597 Instructions[in_LD_C_IY_Plus_D_Indirect] := LD_C_IY_Plus_D_Indirect; 1598 Instructions[in_LD_D_IY_Plus_D_Indirect] := LD_D_IY_Plus_D_Indirect; 1599 Instructions[in_LD_E_IY_Plus_D_Indirect] := LD_E_IY_Plus_D_Indirect; 1600 Instructions[in_LD_H_IY_Plus_D_Indirect] := LD_H_IY_Plus_D_Indirect; 1601 Instructions[in_LD_L_IY_Plus_D_Indirect] := LD_L_IY_Plus_D_Indirect; 1602 Instructions[in_LD_IY_Plus_D_Indirect_B] := LD_IY_Plus_D_Indirect_B; 1603 Instructions[in_LD_IY_Plus_D_Indirect_C] := LD_IY_Plus_D_Indirect_C; 1604 Instructions[in_LD_IY_Plus_D_Indirect_D] := LD_IY_Plus_D_Indirect_D; 1605 Instructions[in_LD_IY_Plus_D_Indirect_E] := LD_IY_Plus_D_Indirect_E; 1606 Instructions[in_LD_IY_Plus_D_Indirect_H] := LD_IY_Plus_D_Indirect_H; 1607 Instructions[in_LD_IY_Plus_D_Indirect_L] := LD_IY_Plus_D_Indirect_L; 1608 Instructions[in_LD_IY_Plus_D_Indirect_A] := LD_IY_Plus_D_Indirect_A; 1609 Instructions[in_LD_A_IY_Plus_D_Indirect] := LD_A_IY_Plus_D_Indirect; 1610 Instructions[in_ADD_A_IY_Plus_D_Indirect] := ADD_A_IY_Plus_D_Indirect; 1611 Instructions[in_ADC_A_IY_Plus_D_Indirect] := ADC_A_IY_Plus_D_Indirect; 1612 Instructions[in_SUB_IY_Plus_D_Indirect] := SUB_IY_Plus_D_Indirect; 1613 Instructions[in_SBC_A_IY_Plus_D_Indirect] := SBC_A_IY_Plus_D_Indirect; 1614 Instructions[in_AND_IY_Plus_D_Indirect] := AND_IY_Plus_D_Indirect; 1615 Instructions[in_XOR_IY_Plus_D_Indirect] := XOR_IY_Plus_D_Indirect; 1616 Instructions[in_OR_IY_Plus_D_Indirect] := OR_IY_Plus_D_Indirect; 1617 Instructions[in_CP_IY_Plus_D_Indirect] := CP_IY_Plus_D_Indirect; 1618 Instructions[in_POP_IY] := POP_IY; 1619 Instructions[in_EX_SP_Indirect_IY] := EX_SP_Indirect_IY; 1620 Instructions[in_PUSH_IY] := PUSH_IY; 1621 Instructions[in_JP_IY_Indirect] := JP_IY_Indirect; 1622 Instructions[in_LD_SP_IY] := LD_SP_IY; 1623 Instructions[in_RLC_IY_Plus_D_Indirect] := RLC_IY_Plus_D_Indirect; 1624 Instructions[in_RRC_IY_Plus_D_Indirect] := RRC_IY_Plus_D_Indirect; 1625 Instructions[in_RL_IY_Plus_D_Indirect] := RL_IY_Plus_D_Indirect; 1626 Instructions[in_RR_IY_Plus_D_Indirect] := RR_IY_Plus_D_Indirect; 1627 Instructions[in_SLA_IY_Plus_D_Indirect] := SLA_IY_Plus_D_Indirect; 1628 Instructions[in_SRA_IY_Plus_D_Indirect] := SRA_IY_Plus_D_Indirect; 1629 Instructions[in_SRL_IY_Plus_D_Indirect] := SRL_IY_Plus_D_Indirect; 1630 Instructions[in_BIT_0_IY_Plus_D_Indirect] := BIT_0_IY_Plus_D_Indirect; 1631 Instructions[in_BIT_1_IY_Plus_D_Indirect] := BIT_1_IY_Plus_D_Indirect; 1632 Instructions[in_BIT_2_IY_Plus_D_Indirect] := BIT_2_IY_Plus_D_Indirect; 1633 Instructions[in_BIT_3_IY_Plus_D_Indirect] := BIT_3_IY_Plus_D_Indirect; 1634 Instructions[in_BIT_4_IY_Plus_D_Indirect] := BIT_4_IY_Plus_D_Indirect; 1635 Instructions[in_BIT_5_IY_Plus_D_Indirect] := BIT_5_IY_Plus_D_Indirect; 1636 Instructions[in_BIT_6_IY_Plus_D_Indirect] := BIT_6_IY_Plus_D_Indirect; 1637 Instructions[in_BIT_7_IY_Plus_D_Indirect] := BIT_7_IY_Plus_D_Indirect; 1638 Instructions[in_RES_0_IY_Plus_D_Indirect] := RES_0_IY_Plus_D_Indirect; 1639 Instructions[in_RES_1_IY_Plus_D_Indirect] := RES_1_IY_Plus_D_Indirect; 1640 Instructions[in_RES_2_IY_Plus_D_Indirect] := RES_2_IY_Plus_D_Indirect; 1641 Instructions[in_RES_3_IY_Plus_D_Indirect] := RES_3_IY_Plus_D_Indirect; 1642 Instructions[in_RES_4_IY_Plus_D_Indirect] := RES_4_IY_Plus_D_Indirect; 1643 Instructions[in_RES_5_IY_Plus_D_Indirect] := RES_5_IY_Plus_D_Indirect; 1644 Instructions[in_RES_6_IY_Plus_D_Indirect] := RES_6_IY_Plus_D_Indirect; 1645 Instructions[in_RES_7_IY_Plus_D_Indirect] := RES_7_IY_Plus_D_Indirect; 1646 Instructions[in_SET_0_IY_Plus_D_Indirect] := SET_0_IY_Plus_D_Indirect; 1647 Instructions[in_SET_1_IY_Plus_D_Indirect] := SET_1_IY_Plus_D_Indirect; 1648 Instructions[in_SET_2_IY_Plus_D_Indirect] := SET_2_IY_Plus_D_Indirect; 1649 Instructions[in_SET_3_IY_Plus_D_Indirect] := SET_3_IY_Plus_D_Indirect; 1650 Instructions[in_SET_4_IY_Plus_D_Indirect] := SET_4_IY_Plus_D_Indirect; 1651 Instructions[in_SET_5_IY_Plus_D_Indirect] := SET_5_IY_Plus_D_Indirect; 1652 Instructions[in_SET_6_IY_Plus_D_Indirect] := SET_6_IY_Plus_D_Indirect; 1653 Instructions[in_SET_7_IY_Plus_D_Indirect] := SET_7_IY_Plus_D_Indirect; 356 1654 end; 357 1655 358 1656 procedure TCpuZ80.NOP; 359 1657 begin 360 // No operation 361 end; 362 363 procedure TCpuZ80.LD_HL_nn; 1658 // No opearation 1659 end; 1660 1661 procedure TCpuZ80.LD_BC_NN; 1662 begin 1663 BC.Value := ReadWord; 1664 end; 1665 1666 procedure TCpuZ80.LD_BC_Indirect_A; 1667 begin 1668 DoWrite(BC.Value, A); 1669 end; 1670 1671 procedure TCpuZ80.INC_BC; 1672 begin 1673 Inc(BC.Value); 1674 end; 1675 1676 procedure TCpuZ80.INC_B; 1677 begin 1678 Inc(BC.B); 1679 end; 1680 1681 procedure TCpuZ80.DEC_B; 1682 begin 1683 Dec(BC.B); 1684 end; 1685 1686 procedure TCpuZ80.LD_B_N; 1687 begin 1688 BC.B := ReadByte; 1689 end; 1690 1691 procedure TCpuZ80.RLCA; 1692 begin 1693 Carry := (A and $80) <> 0; 1694 A := A shl 1; 1695 end; 1696 1697 procedure TCpuZ80.EX_AF_AF_Pair; 1698 begin 1699 NotImplemented; 1700 end; 1701 1702 procedure TCpuZ80.ADD_HL_BC; 1703 begin 1704 HL.Value := HL.Value + BC.Value; 1705 end; 1706 1707 procedure TCpuZ80.LD_A_BC_Indirect; 1708 begin 1709 NotImplemented; 1710 end; 1711 1712 procedure TCpuZ80.DEC_BC; 1713 begin 1714 NotImplemented; 1715 end; 1716 1717 procedure TCpuZ80.INC_C; 1718 begin 1719 NotImplemented; 1720 end; 1721 1722 procedure TCpuZ80.DEC_C; 1723 begin 1724 NotImplemented; 1725 end; 1726 1727 procedure TCpuZ80.LD_C_N; 1728 begin 1729 NotImplemented; 1730 end; 1731 1732 procedure TCpuZ80.RRCA; 1733 begin 1734 NotImplemented; 1735 end; 1736 1737 procedure TCpuZ80.DJNZ_D; 1738 begin 1739 Djnz; 1740 end; 1741 1742 procedure TCpuZ80.LD_DE_NN; 1743 begin 1744 DE.Value := ReadWord; 1745 end; 1746 1747 procedure TCpuZ80.LD_DE_Indirect_A; 1748 begin 1749 NotImplemented; 1750 end; 1751 1752 procedure TCpuZ80.INC_DE; 1753 begin 1754 NotImplemented; 1755 end; 1756 1757 procedure TCpuZ80.INC_D; 1758 begin 1759 NotImplemented; 1760 end; 1761 1762 procedure TCpuZ80.DEC_D; 1763 begin 1764 NotImplemented; 1765 end; 1766 1767 procedure TCpuZ80.LD_D_N; 1768 begin 1769 NotImplemented; 1770 end; 1771 1772 procedure TCpuZ80.RLA; 1773 begin 1774 NotImplemented; 1775 end; 1776 1777 procedure TCpuZ80.JR_D; 1778 begin 1779 Jr(True); 1780 end; 1781 1782 procedure TCpuZ80.ADD_HL_DE; 1783 begin 1784 NotImplemented; 1785 end; 1786 1787 procedure TCpuZ80.LD_A_DE_Indirect; 1788 begin 1789 NotImplemented; 1790 end; 1791 1792 procedure TCpuZ80.DEC_DE; 1793 begin 1794 NotImplemented; 1795 end; 1796 1797 procedure TCpuZ80.INC_E; 1798 begin 1799 NotImplemented; 1800 end; 1801 1802 procedure TCpuZ80.DEC_E; 1803 begin 1804 NotImplemented; 1805 end; 1806 1807 procedure TCpuZ80.LD_E_N; 1808 begin 1809 NotImplemented; 1810 end; 1811 1812 procedure TCpuZ80.RRA; 1813 begin 1814 NotImplemented; 1815 end; 1816 1817 procedure TCpuZ80.JR_NZ_D; 1818 begin 1819 Jr(not Zero) 1820 end; 1821 1822 procedure TCpuZ80.LD_HL_NN; 364 1823 begin 365 1824 HL.Value := ReadWord; 366 1825 end; 367 1826 368 procedure TCpuZ80.LD_BC_nn; 369 begin 370 BC.Value := ReadWord; 371 end; 372 373 procedure TCpuZ80.LD_DE_nn; 374 begin 375 DE.Value := ReadWord; 376 end; 377 378 procedure TCpuZ80.LD_SP_nn; 1827 procedure TCpuZ80.LD_NN_Indirect_HL; 1828 begin 1829 NotImplemented; 1830 end; 1831 1832 procedure TCpuZ80.INC_HL; 1833 begin 1834 Inc(HL.Value); 1835 end; 1836 1837 procedure TCpuZ80.INC_H; 1838 begin 1839 NotImplemented; 1840 end; 1841 1842 procedure TCpuZ80.DEC_H; 1843 begin 1844 NotImplemented; 1845 end; 1846 1847 procedure TCpuZ80.LD_H_N; 1848 begin 1849 NotImplemented; 1850 end; 1851 1852 procedure TCpuZ80.DAA; 1853 begin 1854 NotImplemented; 1855 end; 1856 1857 procedure TCpuZ80.JR_Z_D; 1858 begin 1859 NotImplemented; 1860 end; 1861 1862 procedure TCpuZ80.ADD_HL_HL; 1863 begin 1864 NotImplemented; 1865 end; 1866 1867 procedure TCpuZ80.LD_HL_NN_Indirect; 1868 begin 1869 NotImplemented; 1870 end; 1871 1872 procedure TCpuZ80.DEC_HL; 1873 begin 1874 Dec(HL.Value); 1875 end; 1876 1877 procedure TCpuZ80.INC_L; 1878 begin 1879 NotImplemented; 1880 end; 1881 1882 procedure TCpuZ80.DEC_L; 1883 begin 1884 NotImplemented; 1885 end; 1886 1887 procedure TCpuZ80.LD_L_N; 1888 begin 1889 NotImplemented; 1890 end; 1891 1892 procedure TCpuZ80.CPL; 1893 begin 1894 NotImplemented; 1895 end; 1896 1897 procedure TCpuZ80.JR_NC_D; 1898 begin 1899 Jr(not Carry); 1900 end; 1901 1902 procedure TCpuZ80.LD_SP_NN; 379 1903 begin 380 1904 SP := ReadWord; 381 1905 end; 382 1906 383 procedure TCpuZ80.JP_nn; 1907 procedure TCpuZ80.LD_NN_Indirect_A; 1908 begin 1909 DoWrite(ReadWord, A); 1910 end; 1911 1912 procedure TCpuZ80.INC_SP; 1913 begin 1914 NotImplemented; 1915 end; 1916 1917 procedure TCpuZ80.INC_HL_Indirect; 1918 begin 1919 NotImplemented; 1920 end; 1921 1922 procedure TCpuZ80.DEC_HL_Indirect; 1923 begin 1924 NotImplemented; 1925 end; 1926 1927 procedure TCpuZ80.LD_HL_Indirect_N; 1928 begin 1929 DoWrite(HL.Value, ReadByte); 1930 end; 1931 1932 procedure TCpuZ80.SCF; 1933 begin 1934 NotImplemented; 1935 end; 1936 1937 procedure TCpuZ80.JR_C_D; 1938 begin 1939 NotImplemented; 1940 end; 1941 1942 procedure TCpuZ80.ADD_HL_SP; 1943 begin 1944 NotImplemented; 1945 end; 1946 1947 procedure TCpuZ80.LD_A_NN_Indirect; 1948 begin 1949 A := DoRead(ReadWord); 1950 end; 1951 1952 procedure TCpuZ80.DEC_SP; 1953 begin 1954 NotImplemented; 1955 end; 1956 1957 procedure TCpuZ80.INC_A; 1958 begin 1959 NotImplemented; 1960 end; 1961 1962 procedure TCpuZ80.DEC_A; 1963 begin 1964 NotImplemented; 1965 end; 1966 1967 procedure TCpuZ80.LD_A_N; 1968 begin 1969 A := ReadByte; 1970 end; 1971 1972 procedure TCpuZ80.CCF; 1973 begin 1974 NotImplemented; 1975 end; 1976 1977 procedure TCpuZ80.LD_B_B; 1978 begin 1979 NotImplemented; 1980 end; 1981 1982 procedure TCpuZ80.LD_B_C; 1983 begin 1984 NotImplemented; 1985 end; 1986 1987 procedure TCpuZ80.LD_B_D; 1988 begin 1989 NotImplemented; 1990 end; 1991 1992 procedure TCpuZ80.LD_B_E; 1993 begin 1994 NotImplemented; 1995 end; 1996 1997 procedure TCpuZ80.LD_B_H; 1998 begin 1999 NotImplemented; 2000 end; 2001 2002 procedure TCpuZ80.LD_B_L; 2003 begin 2004 NotImplemented; 2005 end; 2006 2007 procedure TCpuZ80.LD_B_HL_Indirect; 2008 begin 2009 NotImplemented; 2010 end; 2011 2012 procedure TCpuZ80.LD_B_A; 2013 begin 2014 BC.B := A; 2015 end; 2016 2017 procedure TCpuZ80.LD_C_B; 2018 begin 2019 NotImplemented; 2020 end; 2021 2022 procedure TCpuZ80.LD_C_C; 2023 begin 2024 NotImplemented; 2025 end; 2026 2027 procedure TCpuZ80.LD_C_D; 2028 begin 2029 NotImplemented; 2030 end; 2031 2032 procedure TCpuZ80.LD_C_E; 2033 begin 2034 NotImplemented; 2035 end; 2036 2037 procedure TCpuZ80.LD_C_H; 2038 begin 2039 NotImplemented; 2040 end; 2041 2042 procedure TCpuZ80.LD_C_L; 2043 begin 2044 NotImplemented; 2045 end; 2046 2047 procedure TCpuZ80.LD_C_HL_Indirect; 2048 begin 2049 BC.C := DoRead(HL.Value); 2050 end; 2051 2052 procedure TCpuZ80.LD_C_A; 2053 begin 2054 BC.C := A; 2055 end; 2056 2057 procedure TCpuZ80.LD_D_B; 2058 begin 2059 NotImplemented; 2060 end; 2061 2062 procedure TCpuZ80.LD_D_C; 2063 begin 2064 NotImplemented; 2065 end; 2066 2067 procedure TCpuZ80.LD_D_D; 2068 begin 2069 NotImplemented; 2070 end; 2071 2072 procedure TCpuZ80.LD_D_E; 2073 begin 2074 NotImplemented; 2075 end; 2076 2077 procedure TCpuZ80.LD_D_H; 2078 begin 2079 NotImplemented; 2080 end; 2081 2082 procedure TCpuZ80.LD_D_L; 2083 begin 2084 NotImplemented; 2085 end; 2086 2087 procedure TCpuZ80.LD_D_HL_Indirect; 2088 begin 2089 NotImplemented; 2090 end; 2091 2092 procedure TCpuZ80.LD_D_A; 2093 begin 2094 NotImplemented; 2095 end; 2096 2097 procedure TCpuZ80.LD_E_B; 2098 begin 2099 NotImplemented; 2100 end; 2101 2102 procedure TCpuZ80.LD_E_C; 2103 begin 2104 NotImplemented; 2105 end; 2106 2107 procedure TCpuZ80.LD_E_D; 2108 begin 2109 NotImplemented; 2110 end; 2111 2112 procedure TCpuZ80.LD_E_E; 2113 begin 2114 NotImplemented; 2115 end; 2116 2117 procedure TCpuZ80.LD_E_H; 2118 begin 2119 NotImplemented; 2120 end; 2121 2122 procedure TCpuZ80.LD_E_L; 2123 begin 2124 NotImplemented; 2125 end; 2126 2127 procedure TCpuZ80.LD_E_HL_Indirect; 2128 begin 2129 NotImplemented; 2130 end; 2131 2132 procedure TCpuZ80.LD_E_A; 2133 begin 2134 NotImplemented; 2135 end; 2136 2137 procedure TCpuZ80.LD_H_B; 2138 begin 2139 HL.H := BC.B; 2140 end; 2141 2142 procedure TCpuZ80.LD_H_C; 2143 begin 2144 NotImplemented; 2145 end; 2146 2147 procedure TCpuZ80.LD_H_D; 2148 begin 2149 NotImplemented; 2150 end; 2151 2152 procedure TCpuZ80.LD_H_E; 2153 begin 2154 NotImplemented; 2155 end; 2156 2157 procedure TCpuZ80.LD_H_H; 2158 begin 2159 NotImplemented; 2160 end; 2161 2162 procedure TCpuZ80.LD_H_L; 2163 begin 2164 NotImplemented; 2165 end; 2166 2167 procedure TCpuZ80.LD_H_HL_Indirect; 2168 begin 2169 NotImplemented; 2170 end; 2171 2172 procedure TCpuZ80.LD_H_A; 2173 begin 2174 NotImplemented; 2175 end; 2176 2177 procedure TCpuZ80.LD_L_B; 2178 begin 2179 NotImplemented; 2180 end; 2181 2182 procedure TCpuZ80.LD_L_C; 2183 begin 2184 HL.L := BC.C; 2185 end; 2186 2187 procedure TCpuZ80.LD_L_D; 2188 begin 2189 NotImplemented; 2190 end; 2191 2192 procedure TCpuZ80.LD_L_E; 2193 begin 2194 NotImplemented; 2195 end; 2196 2197 procedure TCpuZ80.LD_L_H; 2198 begin 2199 NotImplemented; 2200 end; 2201 2202 procedure TCpuZ80.LD_L_L; 2203 begin 2204 NotImplemented; 2205 end; 2206 2207 procedure TCpuZ80.LD_L_HL_Indirect; 2208 begin 2209 NotImplemented; 2210 end; 2211 2212 procedure TCpuZ80.LD_L_A; 2213 begin 2214 NotImplemented; 2215 end; 2216 2217 procedure TCpuZ80.LD_HL_Indirect_B; 2218 begin 2219 NotImplemented; 2220 end; 2221 2222 procedure TCpuZ80.LD_HL_Indirect_C; 2223 begin 2224 NotImplemented; 2225 end; 2226 2227 procedure TCpuZ80.LD_HL_Indirect_D; 2228 begin 2229 DoWrite(HL.Value, DE.D); 2230 end; 2231 2232 procedure TCpuZ80.LD_HL_Indirect_E; 2233 begin 2234 DoWrite(HL.Value, DE.E); 2235 end; 2236 2237 procedure TCpuZ80.LD_HL_Indirect_H; 2238 begin 2239 NotImplemented; 2240 end; 2241 2242 procedure TCpuZ80.LD_HL_Indirect_L; 2243 begin 2244 NotImplemented; 2245 end; 2246 2247 procedure TCpuZ80.HALT; 2248 begin 2249 FThread.Terminate; 2250 end; 2251 2252 procedure TCpuZ80.LD_HL_Indirect_A; 2253 begin 2254 NotImplemented; 2255 end; 2256 2257 procedure TCpuZ80.LD_A_B; 2258 begin 2259 NotImplemented; 2260 end; 2261 2262 procedure TCpuZ80.LD_A_C; 2263 begin 2264 A := BC.C; 2265 end; 2266 2267 procedure TCpuZ80.LD_A_D; 2268 begin 2269 NotImplemented; 2270 end; 2271 2272 procedure TCpuZ80.LD_A_E; 2273 begin 2274 NotImplemented; 2275 end; 2276 2277 procedure TCpuZ80.LD_A_H; 2278 begin 2279 NotImplemented; 2280 end; 2281 2282 procedure TCpuZ80.LD_A_L; 2283 begin 2284 NotImplemented; 2285 end; 2286 2287 procedure TCpuZ80.LD_A_HL_Indirect; 2288 begin 2289 A := DoRead(HL.Value); 2290 end; 2291 2292 procedure TCpuZ80.LD_A_A; 2293 begin 2294 NotImplemented; 2295 end; 2296 2297 procedure TCpuZ80.ADD_A_B; 2298 begin 2299 NotImplemented; 2300 end; 2301 2302 procedure TCpuZ80.ADD_A_C; 2303 begin 2304 NotImplemented; 2305 end; 2306 2307 procedure TCpuZ80.ADD_A_D; 2308 begin 2309 NotImplemented; 2310 end; 2311 2312 procedure TCpuZ80.ADD_A_E; 2313 begin 2314 NotImplemented; 2315 end; 2316 2317 procedure TCpuZ80.ADD_A_H; 2318 begin 2319 NotImplemented; 2320 end; 2321 2322 procedure TCpuZ80.ADD_A_L; 2323 begin 2324 NotImplemented; 2325 end; 2326 2327 procedure TCpuZ80.ADD_A_HL_Indirect; 2328 begin 2329 NotImplemented; 2330 end; 2331 2332 procedure TCpuZ80.ADD_A_A; 2333 begin 2334 NotImplemented; 2335 end; 2336 2337 procedure TCpuZ80.ADC_A_B; 2338 begin 2339 NotImplemented; 2340 end; 2341 2342 procedure TCpuZ80.ADC_A_C; 2343 begin 2344 NotImplemented; 2345 end; 2346 2347 procedure TCpuZ80.ADC_A_D; 2348 begin 2349 NotImplemented; 2350 end; 2351 2352 procedure TCpuZ80.ADC_A_E; 2353 begin 2354 NotImplemented; 2355 end; 2356 2357 procedure TCpuZ80.ADC_A_H; 2358 begin 2359 NotImplemented; 2360 end; 2361 2362 procedure TCpuZ80.ADC_A_L; 2363 begin 2364 NotImplemented; 2365 end; 2366 2367 procedure TCpuZ80.ADC_A_HL_Indirect; 2368 begin 2369 NotImplemented; 2370 end; 2371 2372 procedure TCpuZ80.ADC_A_A; 2373 begin 2374 NotImplemented; 2375 end; 2376 2377 procedure TCpuZ80.SUB_B; 2378 begin 2379 NotImplemented; 2380 end; 2381 2382 procedure TCpuZ80.SUB_C; 2383 begin 2384 NotImplemented; 2385 end; 2386 2387 procedure TCpuZ80.SUB_D; 2388 begin 2389 NotImplemented; 2390 end; 2391 2392 procedure TCpuZ80.SUB_E; 2393 begin 2394 NotImplemented; 2395 end; 2396 2397 procedure TCpuZ80.SUB_H; 2398 begin 2399 NotImplemented; 2400 end; 2401 2402 procedure TCpuZ80.SUB_L; 2403 begin 2404 NotImplemented; 2405 end; 2406 2407 procedure TCpuZ80.SUB_HL_Indirect; 2408 begin 2409 NotImplemented; 2410 end; 2411 2412 procedure TCpuZ80.SUB_A; 2413 begin 2414 NotImplemented; 2415 end; 2416 2417 procedure TCpuZ80.SBC_A_B; 2418 begin 2419 NotImplemented; 2420 end; 2421 2422 procedure TCpuZ80.SBC_A_C; 2423 begin 2424 NotImplemented; 2425 end; 2426 2427 procedure TCpuZ80.SBC_A_D; 2428 begin 2429 NotImplemented; 2430 end; 2431 2432 procedure TCpuZ80.SBC_A_E; 2433 begin 2434 NotImplemented; 2435 end; 2436 2437 procedure TCpuZ80.SBC_A_H; 2438 begin 2439 NotImplemented; 2440 end; 2441 2442 procedure TCpuZ80.SBC_A_L; 2443 begin 2444 NotImplemented; 2445 end; 2446 2447 procedure TCpuZ80.SBC_A_HL_Indirect; 2448 begin 2449 NotImplemented; 2450 end; 2451 2452 procedure TCpuZ80.SBC_A_A; 2453 begin 2454 NotImplemented; 2455 end; 2456 2457 procedure TCpuZ80.AND_B; 2458 begin 2459 NotImplemented; 2460 end; 2461 2462 procedure TCpuZ80.AND_C; 2463 begin 2464 NotImplemented; 2465 end; 2466 2467 procedure TCpuZ80.AND_D; 2468 begin 2469 NotImplemented; 2470 end; 2471 2472 procedure TCpuZ80.AND_E; 2473 begin 2474 NotImplemented; 2475 end; 2476 2477 procedure TCpuZ80.AND_H; 2478 begin 2479 NotImplemented; 2480 end; 2481 2482 procedure TCpuZ80.AND_L; 2483 begin 2484 NotImplemented; 2485 end; 2486 2487 procedure TCpuZ80.AND_HL_Indirect; 2488 begin 2489 NotImplemented; 2490 end; 2491 2492 procedure TCpuZ80.AND_A; 2493 begin 2494 NotImplemented; 2495 end; 2496 2497 procedure TCpuZ80.XOR_B; 2498 begin 2499 A := A xor BC.B; 2500 end; 2501 2502 procedure TCpuZ80.XOR_C; 2503 begin 2504 NotImplemented; 2505 end; 2506 2507 procedure TCpuZ80.XOR_D; 2508 begin 2509 NotImplemented; 2510 end; 2511 2512 procedure TCpuZ80.XOR_E; 2513 begin 2514 NotImplemented; 2515 end; 2516 2517 procedure TCpuZ80.XOR_H; 2518 begin 2519 NotImplemented; 2520 end; 2521 2522 procedure TCpuZ80.XOR_L; 2523 begin 2524 NotImplemented; 2525 end; 2526 2527 procedure TCpuZ80.XOR_HL_Indirect; 2528 begin 2529 NotImplemented; 2530 end; 2531 2532 procedure TCpuZ80.XOR_A; 2533 begin 2534 A := A xor A; 2535 end; 2536 2537 procedure TCpuZ80.OR_B; 2538 begin 2539 NotImplemented; 2540 end; 2541 2542 procedure TCpuZ80.OR_C; 2543 begin 2544 NotImplemented; 2545 end; 2546 2547 procedure TCpuZ80.OR_D; 2548 begin 2549 NotImplemented; 2550 end; 2551 2552 procedure TCpuZ80.OR_E; 2553 begin 2554 NotImplemented; 2555 end; 2556 2557 procedure TCpuZ80.OR_H; 2558 begin 2559 NotImplemented; 2560 end; 2561 2562 procedure TCpuZ80.OR_L; 2563 begin 2564 NotImplemented; 2565 end; 2566 2567 procedure TCpuZ80.OR_HL_Indirect; 2568 begin 2569 NotImplemented; 2570 end; 2571 2572 procedure TCpuZ80.OR_A; 2573 begin 2574 A := A or A; 2575 end; 2576 2577 procedure TCpuZ80.CP_B; 2578 begin 2579 NotImplemented; 2580 end; 2581 2582 procedure TCpuZ80.CP_C; 2583 begin 2584 NotImplemented; 2585 end; 2586 2587 procedure TCpuZ80.CP_D; 2588 begin 2589 Cp(DE.D); 2590 end; 2591 2592 procedure TCpuZ80.CP_E; 2593 begin 2594 Cp(DE.E); 2595 end; 2596 2597 procedure TCpuZ80.CP_H; 2598 begin 2599 NotImplemented; 2600 end; 2601 2602 procedure TCpuZ80.CP_L; 2603 begin 2604 NotImplemented; 2605 end; 2606 2607 procedure TCpuZ80.CP_HL_Indirect; 2608 begin 2609 NotImplemented; 2610 end; 2611 2612 procedure TCpuZ80.CP_A; 2613 begin 2614 NotImplemented; 2615 end; 2616 2617 procedure TCpuZ80.RET_NZ; 2618 begin 2619 NotImplemented; 2620 end; 2621 2622 procedure TCpuZ80.POP_BC; 2623 begin 2624 NotImplemented; 2625 end; 2626 2627 procedure TCpuZ80.JP_NZ_NN; 2628 begin 2629 Jp(not Zero); 2630 end; 2631 2632 procedure TCpuZ80.JP_NN; 384 2633 begin 385 2634 PC := ReadWord; 386 2635 end; 387 2636 388 procedure TCpuZ80.LD_A_n; 389 begin 390 A := ReadByte; 391 end; 392 393 procedure TCpuZ80.LD_B_n; 394 begin 395 BC.B := ReadByte; 396 end; 397 398 procedure TCpuZ80.LD_A_C; 399 begin 400 A := BC.C; 401 end; 402 403 procedure TCpuZ80.LD_HL_Indirect_n; 404 begin 405 DoWrite(HL.Value, ReadByte); 406 end; 407 408 procedure TCpuZ80.LD_nn_Indirect_A; 409 begin 410 DoWrite(ReadWord, A); 411 end; 412 413 procedure TCpuZ80.LD_HL_Indirect_D; 414 begin 415 DoWrite(HL.Value, DE.D); 416 end; 417 418 procedure TCpuZ80.LD_HL_Indirect_E; 419 begin 420 DoWrite(HL.Value, DE.E); 421 end; 422 423 procedure TCpuZ80.LD_C_HL_Indirect; 424 begin 425 BC.C := DoRead(HL.Value); 426 end; 427 428 procedure TCpuZ80.LD_A_HL_Indirect; 429 begin 430 A := DoRead(HL.Value); 431 end; 432 433 procedure TCpuZ80.LD_BC_Indirect_A; 434 begin 435 DoWrite(BC.Value, A); 2637 procedure TCpuZ80.CALL_NZ_NN; 2638 begin 2639 NotImplemented; 2640 end; 2641 2642 procedure TCpuZ80.PUSH_BC; 2643 begin 2644 PushWord(BC.Value) 2645 end; 2646 2647 procedure TCpuZ80.ADD_A_N; 2648 begin 2649 NotImplemented; 2650 end; 2651 2652 procedure TCpuZ80.RST_00H; 2653 begin 2654 Call($00); 2655 end; 2656 2657 procedure TCpuZ80.RET_Z; 2658 begin 2659 RetCond(Zero); 2660 end; 2661 2662 procedure TCpuZ80.RET; 2663 begin 2664 RetCond(True); 2665 end; 2666 2667 procedure TCpuZ80.JP_Z_NN; 2668 begin 2669 NotImplemented; 2670 end; 2671 2672 procedure TCpuZ80.CALL_Z_NN; 2673 begin 2674 NotImplemented; 2675 end; 2676 2677 procedure TCpuZ80.CALL_NN; 2678 var 2679 TempWord: Word; 2680 begin 2681 TempWord := ReadWord; 2682 if DebugMode = dmStepOver then begin 2683 DebugStopAddress := PC; 2684 DebugMode := dmStopAddress; 2685 end; 2686 Call(TempWord); 2687 end; 2688 2689 procedure TCpuZ80.ADC_A_N; 2690 begin 2691 NotImplemented; 2692 end; 2693 2694 procedure TCpuZ80.RST_08H; 2695 begin 2696 Call($08); 2697 end; 2698 2699 procedure TCpuZ80.RET_NC; 2700 begin 2701 NotImplemented; 2702 end; 2703 2704 procedure TCpuZ80.POP_DE; 2705 begin 2706 NotImplemented; 2707 end; 2708 2709 procedure TCpuZ80.JP_NC_NN; 2710 begin 2711 NotImplemented; 2712 end; 2713 2714 procedure TCpuZ80.OUT_N_Indirect_A; 2715 begin 2716 DoOutput(ReadByte, A); 2717 end; 2718 2719 procedure TCpuZ80.CALL_NC_NN; 2720 begin 2721 NotImplemented; 2722 end; 2723 2724 procedure TCpuZ80.PUSH_DE; 2725 begin 2726 PushWord(DE.Value); 2727 end; 2728 2729 procedure TCpuZ80.SUB_N; 2730 begin 2731 NotImplemented; 2732 end; 2733 2734 procedure TCpuZ80.RST_10H; 2735 begin 2736 Call($10); 2737 end; 2738 2739 procedure TCpuZ80.RET_C; 2740 begin 2741 NotImplemented; 2742 end; 2743 2744 procedure TCpuZ80.EXX; 2745 begin 2746 NotImplemented; 2747 end; 2748 2749 procedure TCpuZ80.JP_C_NN; 2750 begin 2751 NotImplemented; 2752 end; 2753 2754 procedure TCpuZ80.IN_A_N_Indirect; 2755 begin 2756 NotImplemented; 2757 end; 2758 2759 procedure TCpuZ80.CALL_C_NN; 2760 begin 2761 NotImplemented; 2762 end; 2763 2764 procedure TCpuZ80.SBC_A_N; 2765 begin 2766 NotImplemented; 2767 end; 2768 2769 procedure TCpuZ80.RST_18H; 2770 begin 2771 Call($18); 2772 end; 2773 2774 procedure TCpuZ80.RET_PO; 2775 begin 2776 NotImplemented; 2777 end; 2778 2779 procedure TCpuZ80.POP_HL; 2780 begin 2781 NotImplemented; 2782 end; 2783 2784 procedure TCpuZ80.JP_PO_NN; 2785 begin 2786 NotImplemented; 2787 end; 2788 2789 procedure TCpuZ80.EX_SP_Indirect_HL; 2790 begin 2791 NotImplemented; 2792 end; 2793 2794 procedure TCpuZ80.CALL_PO_NN; 2795 begin 2796 NotImplemented; 2797 end; 2798 2799 procedure TCpuZ80.PUSH_HL; 2800 begin 2801 PushWord(HL.Value); 2802 end; 2803 2804 procedure TCpuZ80.AND_N; 2805 begin 2806 A := A and ReadByte; 2807 end; 2808 2809 procedure TCpuZ80.RST_20H; 2810 begin 2811 Call($20); 2812 end; 2813 2814 procedure TCpuZ80.RET_PE; 2815 begin 2816 NotImplemented; 2817 end; 2818 2819 procedure TCpuZ80.JP_HL_Indirect; 2820 begin 2821 NotImplemented; 2822 end; 2823 2824 procedure TCpuZ80.JP_PE_NN; 2825 begin 2826 NotImplemented; 2827 end; 2828 2829 procedure TCpuZ80.EX_DE_HL; 2830 var 2831 TempWord: Word; 2832 begin 2833 TempWord := DE.Value; 2834 DE.Value := HL.Value; 2835 HL.Value := TempWord; 2836 end; 2837 2838 procedure TCpuZ80.CALL_PE_NN; 2839 begin 2840 NotImplemented; 2841 end; 2842 2843 procedure TCpuZ80.XOR_N; 2844 begin 2845 NotImplemented; 2846 end; 2847 2848 procedure TCpuZ80.RST_28H; 2849 begin 2850 Call($28); 2851 end; 2852 2853 procedure TCpuZ80.RET_P; 2854 begin 2855 NotImplemented; 2856 end; 2857 2858 procedure TCpuZ80.POP_AF; 2859 begin 2860 NotImplemented; 2861 end; 2862 2863 procedure TCpuZ80.JP_P_NN; 2864 begin 2865 NotImplemented; 2866 end; 2867 2868 procedure TCpuZ80.DI; 2869 begin 2870 InterruptEnabled := False; 2871 end; 2872 2873 procedure TCpuZ80.CALL_P_NN; 2874 begin 2875 NotImplemented; 2876 end; 2877 2878 procedure TCpuZ80.PUSH_AF; 2879 begin 2880 PushWord(A shl 8); 2881 end; 2882 2883 procedure TCpuZ80.OR_N; 2884 begin 2885 NotImplemented; 2886 end; 2887 2888 procedure TCpuZ80.RST_30H; 2889 begin 2890 Call($30); 2891 end; 2892 2893 procedure TCpuZ80.RET_M; 2894 begin 2895 NotImplemented; 2896 end; 2897 2898 procedure TCpuZ80.LD_SP_HL; 2899 begin 2900 NotImplemented; 2901 end; 2902 2903 procedure TCpuZ80.JP_M_NN; 2904 begin 2905 NotImplemented; 2906 end; 2907 2908 procedure TCpuZ80.EI; 2909 begin 2910 InterruptEnabled := True; 2911 end; 2912 2913 procedure TCpuZ80.CALL_M_NN; 2914 begin 2915 NotImplemented; 2916 end; 2917 2918 procedure TCpuZ80.CP_N; 2919 begin 2920 Cp(ReadByte); 2921 end; 2922 2923 procedure TCpuZ80.RST_38H; 2924 begin 2925 Call($38); 2926 end; 2927 2928 procedure TCpuZ80.IN_B_C_Indirect; 2929 begin 2930 NotImplemented; 2931 end; 2932 2933 procedure TCpuZ80.OUT_C_Indirect_B; 2934 begin 2935 NotImplemented; 2936 end; 2937 2938 procedure TCpuZ80.SBC_HL_BC; 2939 begin 2940 NotImplemented; 2941 end; 2942 2943 procedure TCpuZ80.LD_NN_Indirect_BC; 2944 begin 2945 NotImplemented; 2946 end; 2947 2948 procedure TCpuZ80.NEG; 2949 begin 2950 NotImplemented; 2951 end; 2952 2953 procedure TCpuZ80.RETN; 2954 begin 2955 NotImplemented; 2956 end; 2957 2958 procedure TCpuZ80.IM_0; 2959 begin 2960 NotImplemented; 2961 end; 2962 2963 procedure TCpuZ80.LD_I_A; 2964 begin 2965 NotImplemented; 2966 end; 2967 2968 procedure TCpuZ80.IN_C_C_Indirect; 2969 begin 2970 NotImplemented; 2971 end; 2972 2973 procedure TCpuZ80.OUT_C_Indirect_C; 2974 begin 2975 NotImplemented; 2976 end; 2977 2978 procedure TCpuZ80.ADC_HL_BC; 2979 begin 2980 NotImplemented; 2981 end; 2982 2983 procedure TCpuZ80.LD_BC_NN_Indirect; 2984 begin 2985 NotImplemented; 2986 end; 2987 2988 procedure TCpuZ80.RETI; 2989 begin 2990 NotImplemented; 2991 end; 2992 2993 procedure TCpuZ80.LD_R_A; 2994 begin 2995 NotImplemented; 2996 end; 2997 2998 procedure TCpuZ80.IN_D_C_Indirect; 2999 begin 3000 NotImplemented; 3001 end; 3002 3003 procedure TCpuZ80.OUT_C_Indirect_D; 3004 begin 3005 NotImplemented; 3006 end; 3007 3008 procedure TCpuZ80.SBC_HL_DE; 3009 begin 3010 HL.Value := HL.Value - DE.Value; 3011 end; 3012 3013 procedure TCpuZ80.LD_NN_Indirect_DE; 3014 begin 3015 NotImplemented; 3016 end; 3017 3018 procedure TCpuZ80.IM_1; 3019 begin 3020 InterruptMode := 1; 3021 end; 3022 3023 procedure TCpuZ80.LD_A_I; 3024 begin 3025 NotImplemented; 3026 end; 3027 3028 procedure TCpuZ80.IN_E_C_Indirect; 3029 begin 3030 NotImplemented; 3031 end; 3032 3033 procedure TCpuZ80.OUT_C_Indirect_E; 3034 begin 3035 NotImplemented; 3036 end; 3037 3038 procedure TCpuZ80.ADC_HL_DE; 3039 begin 3040 NotImplemented; 3041 end; 3042 3043 procedure TCpuZ80.LD_DE_NN_Indirect; 3044 begin 3045 NotImplemented; 3046 end; 3047 3048 procedure TCpuZ80.IM_2; 3049 begin 3050 NotImplemented; 3051 end; 3052 3053 procedure TCpuZ80.LD_A_R; 3054 begin 3055 NotImplemented; 3056 end; 3057 3058 procedure TCpuZ80.IN_H_C_Indirect; 3059 begin 3060 NotImplemented; 3061 end; 3062 3063 procedure TCpuZ80.OUT_C_Indirect_H; 3064 begin 3065 NotImplemented; 3066 end; 3067 3068 procedure TCpuZ80.SBC_HL_HL; 3069 begin 3070 NotImplemented; 3071 end; 3072 3073 procedure TCpuZ80.RRD; 3074 begin 3075 NotImplemented; 3076 end; 3077 3078 procedure TCpuZ80.IN_L_C_Indirect; 3079 begin 3080 NotImplemented; 3081 end; 3082 3083 procedure TCpuZ80.OUT_C_Indirect_L; 3084 begin 3085 NotImplemented; 3086 end; 3087 3088 procedure TCpuZ80.ADC_HL_HL; 3089 begin 3090 NotImplemented; 3091 end; 3092 3093 procedure TCpuZ80.RLD; 3094 begin 3095 NotImplemented; 3096 end; 3097 3098 procedure TCpuZ80.SBC_HL_SP; 3099 begin 3100 NotImplemented; 3101 end; 3102 3103 procedure TCpuZ80.LD_NN_Indirect_SP; 3104 begin 3105 NotImplemented; 3106 end; 3107 3108 procedure TCpuZ80.IN_A_C_Indirect; 3109 begin 3110 NotImplemented; 3111 end; 3112 3113 procedure TCpuZ80.OUT_C_Indirect_A; 3114 begin 3115 NotImplemented; 3116 end; 3117 3118 procedure TCpuZ80.ADC_HL_SP; 3119 begin 3120 NotImplemented; 3121 end; 3122 3123 procedure TCpuZ80.LD_SP_NN_Indirect; 3124 begin 3125 NotImplemented; 3126 end; 3127 3128 procedure TCpuZ80.LDI; 3129 begin 3130 NotImplemented; 3131 end; 3132 3133 procedure TCpuZ80.CPI; 3134 begin 3135 NotImplemented; 3136 end; 3137 3138 procedure TCpuZ80.INI; 3139 begin 3140 NotImplemented; 3141 end; 3142 3143 procedure TCpuZ80.OUTI; 3144 begin 3145 NotImplemented; 3146 end; 3147 3148 procedure TCpuZ80.LDD; 3149 begin 3150 NotImplemented; 3151 end; 3152 3153 procedure TCpuZ80.CPD; 3154 begin 3155 NotImplemented; 3156 end; 3157 3158 procedure TCpuZ80.IND; 3159 begin 3160 NotImplemented; 3161 end; 3162 3163 procedure TCpuZ80.OUTD; 3164 begin 3165 NotImplemented; 3166 end; 3167 3168 procedure TCpuZ80.LDIR; 3169 begin 3170 NotImplemented; 3171 end; 3172 3173 procedure TCpuZ80.CPIR; 3174 begin 3175 NotImplemented; 3176 end; 3177 3178 procedure TCpuZ80.INIR; 3179 begin 3180 NotImplemented; 3181 end; 3182 3183 procedure TCpuZ80.OTIR; 3184 begin 3185 NotImplemented; 3186 end; 3187 3188 procedure TCpuZ80.LDDR; 3189 begin 3190 NotImplemented; 3191 end; 3192 3193 procedure TCpuZ80.CPDR; 3194 begin 3195 NotImplemented; 3196 end; 3197 3198 procedure TCpuZ80.INDR; 3199 begin 3200 NotImplemented; 3201 end; 3202 3203 procedure TCpuZ80.OTDR; 3204 begin 3205 NotImplemented; 3206 end; 3207 3208 procedure TCpuZ80.RLC_B; 3209 begin 3210 NotImplemented; 3211 end; 3212 3213 procedure TCpuZ80.RLC_C; 3214 begin 3215 NotImplemented; 3216 end; 3217 3218 procedure TCpuZ80.RLC_D; 3219 begin 3220 NotImplemented; 3221 end; 3222 3223 procedure TCpuZ80.RLC_E; 3224 begin 3225 NotImplemented; 3226 end; 3227 3228 procedure TCpuZ80.RLC_H; 3229 begin 3230 NotImplemented; 3231 end; 3232 3233 procedure TCpuZ80.RLC_L; 3234 begin 3235 NotImplemented; 3236 end; 3237 3238 procedure TCpuZ80.RLC_HL_Indirect; 3239 begin 3240 NotImplemented; 3241 end; 3242 3243 procedure TCpuZ80.RLC_A; 3244 begin 3245 NotImplemented; 3246 end; 3247 3248 procedure TCpuZ80.RRC_B; 3249 begin 3250 NotImplemented; 3251 end; 3252 3253 procedure TCpuZ80.RRC_C; 3254 begin 3255 NotImplemented; 3256 end; 3257 3258 procedure TCpuZ80.RRC_D; 3259 begin 3260 NotImplemented; 3261 end; 3262 3263 procedure TCpuZ80.RRC_E; 3264 begin 3265 NotImplemented; 3266 end; 3267 3268 procedure TCpuZ80.RRC_H; 3269 begin 3270 NotImplemented; 3271 end; 3272 3273 procedure TCpuZ80.RRC_L; 3274 begin 3275 NotImplemented; 3276 end; 3277 3278 procedure TCpuZ80.RRC_HL_Indirect; 3279 begin 3280 NotImplemented; 3281 end; 3282 3283 procedure TCpuZ80.RRC_A; 3284 begin 3285 NotImplemented; 3286 end; 3287 3288 procedure TCpuZ80.RL_B; 3289 begin 3290 NotImplemented; 3291 end; 3292 3293 procedure TCpuZ80.RL_C; 3294 begin 3295 NotImplemented; 3296 end; 3297 3298 procedure TCpuZ80.RL_D; 3299 begin 3300 NotImplemented; 3301 end; 3302 3303 procedure TCpuZ80.RL_E; 3304 begin 3305 NotImplemented; 3306 end; 3307 3308 procedure TCpuZ80.RL_H; 3309 begin 3310 NotImplemented; 3311 end; 3312 3313 procedure TCpuZ80.RL_L; 3314 begin 3315 NotImplemented; 3316 end; 3317 3318 procedure TCpuZ80.RL_HL_Indirect; 3319 begin 3320 NotImplemented; 3321 end; 3322 3323 procedure TCpuZ80.RL_A; 3324 begin 3325 NotImplemented; 3326 end; 3327 3328 procedure TCpuZ80.RR_B; 3329 begin 3330 NotImplemented; 3331 end; 3332 3333 procedure TCpuZ80.RR_C; 3334 begin 3335 NotImplemented; 3336 end; 3337 3338 procedure TCpuZ80.RR_D; 3339 begin 3340 NotImplemented; 3341 end; 3342 3343 procedure TCpuZ80.RR_E; 3344 begin 3345 NotImplemented; 3346 end; 3347 3348 procedure TCpuZ80.RR_H; 3349 begin 3350 NotImplemented; 3351 end; 3352 3353 procedure TCpuZ80.RR_L; 3354 begin 3355 NotImplemented; 3356 end; 3357 3358 procedure TCpuZ80.RR_HL_Indirect; 3359 begin 3360 NotImplemented; 3361 end; 3362 3363 procedure TCpuZ80.RR_A; 3364 begin 3365 NotImplemented; 3366 end; 3367 3368 procedure TCpuZ80.SLA_B; 3369 begin 3370 NotImplemented; 3371 end; 3372 3373 procedure TCpuZ80.SLA_C; 3374 begin 3375 NotImplemented; 3376 end; 3377 3378 procedure TCpuZ80.SLA_D; 3379 begin 3380 NotImplemented; 3381 end; 3382 3383 procedure TCpuZ80.SLA_E; 3384 begin 3385 NotImplemented; 3386 end; 3387 3388 procedure TCpuZ80.SLA_H; 3389 begin 3390 NotImplemented; 3391 end; 3392 3393 procedure TCpuZ80.SLA_L; 3394 begin 3395 NotImplemented; 3396 end; 3397 3398 procedure TCpuZ80.SLA_HL_Indirect; 3399 begin 3400 NotImplemented; 3401 end; 3402 3403 procedure TCpuZ80.SLA_A; 3404 begin 3405 NotImplemented; 3406 end; 3407 3408 procedure TCpuZ80.SRA_B; 3409 begin 3410 NotImplemented; 3411 end; 3412 3413 procedure TCpuZ80.SRA_C; 3414 begin 3415 NotImplemented; 3416 end; 3417 3418 procedure TCpuZ80.SRA_D; 3419 begin 3420 NotImplemented; 3421 end; 3422 3423 procedure TCpuZ80.SRA_E; 3424 begin 3425 NotImplemented; 3426 end; 3427 3428 procedure TCpuZ80.SRA_H; 3429 begin 3430 NotImplemented; 3431 end; 3432 3433 procedure TCpuZ80.SRA_L; 3434 begin 3435 NotImplemented; 3436 end; 3437 3438 procedure TCpuZ80.SRA_HL_Indirect; 3439 begin 3440 NotImplemented; 3441 end; 3442 3443 procedure TCpuZ80.SRA_A; 3444 begin 3445 NotImplemented; 3446 end; 3447 3448 procedure TCpuZ80.SRL_B; 3449 begin 3450 NotImplemented; 3451 end; 3452 3453 procedure TCpuZ80.SRL_C; 3454 begin 3455 NotImplemented; 3456 end; 3457 3458 procedure TCpuZ80.SRL_D; 3459 begin 3460 NotImplemented; 3461 end; 3462 3463 procedure TCpuZ80.SRL_E; 3464 begin 3465 NotImplemented; 3466 end; 3467 3468 procedure TCpuZ80.SRL_H; 3469 begin 3470 NotImplemented; 3471 end; 3472 3473 procedure TCpuZ80.SRL_L; 3474 begin 3475 NotImplemented; 3476 end; 3477 3478 procedure TCpuZ80.SRL_HL_Indirect; 3479 begin 3480 NotImplemented; 3481 end; 3482 3483 procedure TCpuZ80.SRL_A; 3484 begin 3485 NotImplemented; 3486 end; 3487 3488 procedure TCpuZ80.BIT_0_B; 3489 begin 3490 NotImplemented; 3491 end; 3492 3493 procedure TCpuZ80.BIT_0_C; 3494 begin 3495 NotImplemented; 3496 end; 3497 3498 procedure TCpuZ80.BIT_0_D; 3499 begin 3500 NotImplemented; 3501 end; 3502 3503 procedure TCpuZ80.BIT_0_E; 3504 begin 3505 NotImplemented; 3506 end; 3507 3508 procedure TCpuZ80.BIT_0_H; 3509 begin 3510 NotImplemented; 3511 end; 3512 3513 procedure TCpuZ80.BIT_0_L; 3514 begin 3515 NotImplemented; 3516 end; 3517 3518 procedure TCpuZ80.BIT_0_HL_Indirect; 3519 begin 3520 NotImplemented; 3521 end; 3522 3523 procedure TCpuZ80.BIT_0_A; 3524 begin 3525 NotImplemented; 3526 end; 3527 3528 procedure TCpuZ80.BIT_1_B; 3529 begin 3530 NotImplemented; 3531 end; 3532 3533 procedure TCpuZ80.BIT_1_C; 3534 begin 3535 NotImplemented; 3536 end; 3537 3538 procedure TCpuZ80.BIT_1_D; 3539 begin 3540 NotImplemented; 3541 end; 3542 3543 procedure TCpuZ80.BIT_1_E; 3544 begin 3545 NotImplemented; 3546 end; 3547 3548 procedure TCpuZ80.BIT_1_H; 3549 begin 3550 NotImplemented; 3551 end; 3552 3553 procedure TCpuZ80.BIT_1_L; 3554 begin 3555 NotImplemented; 3556 end; 3557 3558 procedure TCpuZ80.BIT_1_HL_Indirect; 3559 begin 3560 NotImplemented; 3561 end; 3562 3563 procedure TCpuZ80.BIT_1_A; 3564 begin 3565 NotImplemented; 3566 end; 3567 3568 procedure TCpuZ80.BIT_2_B; 3569 begin 3570 NotImplemented; 3571 end; 3572 3573 procedure TCpuZ80.BIT_2_C; 3574 begin 3575 NotImplemented; 3576 end; 3577 3578 procedure TCpuZ80.BIT_2_D; 3579 begin 3580 NotImplemented; 3581 end; 3582 3583 procedure TCpuZ80.BIT_2_E; 3584 begin 3585 NotImplemented; 3586 end; 3587 3588 procedure TCpuZ80.BIT_2_H; 3589 begin 3590 NotImplemented; 3591 end; 3592 3593 procedure TCpuZ80.BIT_2_L; 3594 begin 3595 NotImplemented; 3596 end; 3597 3598 procedure TCpuZ80.BIT_2_HL_Indirect; 3599 begin 3600 NotImplemented; 3601 end; 3602 3603 procedure TCpuZ80.BIT_2_A; 3604 begin 3605 NotImplemented; 3606 end; 3607 3608 procedure TCpuZ80.BIT_3_B; 3609 begin 3610 NotImplemented; 3611 end; 3612 3613 procedure TCpuZ80.BIT_3_C; 3614 begin 3615 NotImplemented; 3616 end; 3617 3618 procedure TCpuZ80.BIT_3_D; 3619 begin 3620 NotImplemented; 3621 end; 3622 3623 procedure TCpuZ80.BIT_3_E; 3624 begin 3625 NotImplemented; 3626 end; 3627 3628 procedure TCpuZ80.BIT_3_H; 3629 begin 3630 NotImplemented; 3631 end; 3632 3633 procedure TCpuZ80.BIT_3_L; 3634 begin 3635 NotImplemented; 3636 end; 3637 3638 procedure TCpuZ80.BIT_3_HL_Indirect; 3639 begin 3640 NotImplemented; 3641 end; 3642 3643 procedure TCpuZ80.BIT_3_A; 3644 begin 3645 NotImplemented; 3646 end; 3647 3648 procedure TCpuZ80.BIT_4_B; 3649 begin 3650 NotImplemented; 3651 end; 3652 3653 procedure TCpuZ80.BIT_4_C; 3654 begin 3655 NotImplemented; 3656 end; 3657 3658 procedure TCpuZ80.BIT_4_D; 3659 begin 3660 NotImplemented; 3661 end; 3662 3663 procedure TCpuZ80.BIT_4_E; 3664 begin 3665 NotImplemented; 3666 end; 3667 3668 procedure TCpuZ80.BIT_4_H; 3669 begin 3670 NotImplemented; 3671 end; 3672 3673 procedure TCpuZ80.BIT_4_L; 3674 begin 3675 NotImplemented; 3676 end; 3677 3678 procedure TCpuZ80.BIT_4_HL_Indirect; 3679 begin 3680 NotImplemented; 3681 end; 3682 3683 procedure TCpuZ80.BIT_4_A; 3684 begin 3685 NotImplemented; 3686 end; 3687 3688 procedure TCpuZ80.BIT_5_B; 3689 begin 3690 NotImplemented; 3691 end; 3692 3693 procedure TCpuZ80.BIT_5_C; 3694 begin 3695 NotImplemented; 3696 end; 3697 3698 procedure TCpuZ80.BIT_5_D; 3699 begin 3700 NotImplemented; 3701 end; 3702 3703 procedure TCpuZ80.BIT_5_E; 3704 begin 3705 NotImplemented; 3706 end; 3707 3708 procedure TCpuZ80.BIT_5_H; 3709 begin 3710 NotImplemented; 3711 end; 3712 3713 procedure TCpuZ80.BIT_5_L; 3714 begin 3715 NotImplemented; 3716 end; 3717 3718 procedure TCpuZ80.BIT_5_HL_Indirect; 3719 begin 3720 NotImplemented; 3721 end; 3722 3723 procedure TCpuZ80.BIT_5_A; 3724 begin 3725 NotImplemented; 3726 end; 3727 3728 procedure TCpuZ80.BIT_6_B; 3729 begin 3730 NotImplemented; 3731 end; 3732 3733 procedure TCpuZ80.BIT_6_C; 3734 begin 3735 NotImplemented; 3736 end; 3737 3738 procedure TCpuZ80.BIT_6_D; 3739 begin 3740 NotImplemented; 3741 end; 3742 3743 procedure TCpuZ80.BIT_6_E; 3744 begin 3745 NotImplemented; 3746 end; 3747 3748 procedure TCpuZ80.BIT_6_H; 3749 begin 3750 NotImplemented; 3751 end; 3752 3753 procedure TCpuZ80.BIT_6_L; 3754 begin 3755 NotImplemented; 3756 end; 3757 3758 procedure TCpuZ80.BIT_6_HL_Indirect; 3759 begin 3760 NotImplemented; 3761 end; 3762 3763 procedure TCpuZ80.BIT_6_A; 3764 begin 3765 NotImplemented; 3766 end; 3767 3768 procedure TCpuZ80.BIT_7_B; 3769 begin 3770 NotImplemented; 3771 end; 3772 3773 procedure TCpuZ80.BIT_7_C; 3774 begin 3775 NotImplemented; 3776 end; 3777 3778 procedure TCpuZ80.BIT_7_D; 3779 begin 3780 NotImplemented; 3781 end; 3782 3783 procedure TCpuZ80.BIT_7_E; 3784 begin 3785 NotImplemented; 3786 end; 3787 3788 procedure TCpuZ80.BIT_7_H; 3789 begin 3790 NotImplemented; 3791 end; 3792 3793 procedure TCpuZ80.BIT_7_L; 3794 begin 3795 NotImplemented; 3796 end; 3797 3798 procedure TCpuZ80.BIT_7_HL_Indirect; 3799 begin 3800 NotImplemented; 3801 end; 3802 3803 procedure TCpuZ80.BIT_7_A; 3804 begin 3805 NotImplemented; 3806 end; 3807 3808 procedure TCpuZ80.RES_0_B; 3809 begin 3810 NotImplemented; 3811 end; 3812 3813 procedure TCpuZ80.RES_0_C; 3814 begin 3815 NotImplemented; 3816 end; 3817 3818 procedure TCpuZ80.RES_0_D; 3819 begin 3820 NotImplemented; 3821 end; 3822 3823 procedure TCpuZ80.RES_0_E; 3824 begin 3825 NotImplemented; 3826 end; 3827 3828 procedure TCpuZ80.RES_0_H; 3829 begin 3830 NotImplemented; 3831 end; 3832 3833 procedure TCpuZ80.RES_0_L; 3834 begin 3835 NotImplemented; 3836 end; 3837 3838 procedure TCpuZ80.RES_0_HL_Indirect; 3839 begin 3840 NotImplemented; 3841 end; 3842 3843 procedure TCpuZ80.RES_0_A; 3844 begin 3845 NotImplemented; 3846 end; 3847 3848 procedure TCpuZ80.RES_1_B; 3849 begin 3850 NotImplemented; 3851 end; 3852 3853 procedure TCpuZ80.RES_1_C; 3854 begin 3855 NotImplemented; 3856 end; 3857 3858 procedure TCpuZ80.RES_1_D; 3859 begin 3860 NotImplemented; 3861 end; 3862 3863 procedure TCpuZ80.RES_1_E; 3864 begin 3865 NotImplemented; 3866 end; 3867 3868 procedure TCpuZ80.RES_1_H; 3869 begin 3870 NotImplemented; 3871 end; 3872 3873 procedure TCpuZ80.RES_1_L; 3874 begin 3875 NotImplemented; 3876 end; 3877 3878 procedure TCpuZ80.RES_1_HL_Indirect; 3879 begin 3880 NotImplemented; 3881 end; 3882 3883 procedure TCpuZ80.RES_1_A; 3884 begin 3885 NotImplemented; 3886 end; 3887 3888 procedure TCpuZ80.RES_2_B; 3889 begin 3890 NotImplemented; 3891 end; 3892 3893 procedure TCpuZ80.RES_2_C; 3894 begin 3895 NotImplemented; 3896 end; 3897 3898 procedure TCpuZ80.RES_2_D; 3899 begin 3900 NotImplemented; 3901 end; 3902 3903 procedure TCpuZ80.RES_2_E; 3904 begin 3905 NotImplemented; 3906 end; 3907 3908 procedure TCpuZ80.RES_2_H; 3909 begin 3910 NotImplemented; 3911 end; 3912 3913 procedure TCpuZ80.RES_2_L; 3914 begin 3915 NotImplemented; 3916 end; 3917 3918 procedure TCpuZ80.RES_2_HL_Indirect; 3919 begin 3920 NotImplemented; 3921 end; 3922 3923 procedure TCpuZ80.RES_2_A; 3924 begin 3925 NotImplemented; 3926 end; 3927 3928 procedure TCpuZ80.RES_3_B; 3929 begin 3930 NotImplemented; 3931 end; 3932 3933 procedure TCpuZ80.RES_3_C; 3934 begin 3935 NotImplemented; 3936 end; 3937 3938 procedure TCpuZ80.RES_3_D; 3939 begin 3940 NotImplemented; 3941 end; 3942 3943 procedure TCpuZ80.RES_3_E; 3944 begin 3945 NotImplemented; 3946 end; 3947 3948 procedure TCpuZ80.RES_3_H; 3949 begin 3950 NotImplemented; 3951 end; 3952 3953 procedure TCpuZ80.RES_3_L; 3954 begin 3955 NotImplemented; 3956 end; 3957 3958 procedure TCpuZ80.RES_3_HL_Indirect; 3959 begin 3960 NotImplemented; 3961 end; 3962 3963 procedure TCpuZ80.RES_3_A; 3964 begin 3965 NotImplemented; 3966 end; 3967 3968 procedure TCpuZ80.RES_4_B; 3969 begin 3970 NotImplemented; 3971 end; 3972 3973 procedure TCpuZ80.RES_4_C; 3974 begin 3975 NotImplemented; 3976 end; 3977 3978 procedure TCpuZ80.RES_4_D; 3979 begin 3980 NotImplemented; 3981 end; 3982 3983 procedure TCpuZ80.RES_4_E; 3984 begin 3985 NotImplemented; 3986 end; 3987 3988 procedure TCpuZ80.RES_4_H; 3989 begin 3990 NotImplemented; 3991 end; 3992 3993 procedure TCpuZ80.RES_4_L; 3994 begin 3995 NotImplemented; 3996 end; 3997 3998 procedure TCpuZ80.RES_4_HL_Indirect; 3999 begin 4000 NotImplemented; 4001 end; 4002 4003 procedure TCpuZ80.RES_4_A; 4004 begin 4005 NotImplemented; 4006 end; 4007 4008 procedure TCpuZ80.RES_5_B; 4009 begin 4010 NotImplemented; 4011 end; 4012 4013 procedure TCpuZ80.RES_5_C; 4014 begin 4015 NotImplemented; 4016 end; 4017 4018 procedure TCpuZ80.RES_5_D; 4019 begin 4020 NotImplemented; 4021 end; 4022 4023 procedure TCpuZ80.RES_5_E; 4024 begin 4025 NotImplemented; 4026 end; 4027 4028 procedure TCpuZ80.RES_5_H; 4029 begin 4030 NotImplemented; 4031 end; 4032 4033 procedure TCpuZ80.RES_5_L; 4034 begin 4035 NotImplemented; 4036 end; 4037 4038 procedure TCpuZ80.RES_5_HL_Indirect; 4039 begin 4040 NotImplemented; 4041 end; 4042 4043 procedure TCpuZ80.RES_5_A; 4044 begin 4045 NotImplemented; 4046 end; 4047 4048 procedure TCpuZ80.RES_6_B; 4049 begin 4050 NotImplemented; 4051 end; 4052 4053 procedure TCpuZ80.RES_6_C; 4054 begin 4055 NotImplemented; 4056 end; 4057 4058 procedure TCpuZ80.RES_6_D; 4059 begin 4060 NotImplemented; 4061 end; 4062 4063 procedure TCpuZ80.RES_6_E; 4064 begin 4065 NotImplemented; 4066 end; 4067 4068 procedure TCpuZ80.RES_6_H; 4069 begin 4070 NotImplemented; 4071 end; 4072 4073 procedure TCpuZ80.RES_6_L; 4074 begin 4075 NotImplemented; 4076 end; 4077 4078 procedure TCpuZ80.RES_6_HL_Indirect; 4079 begin 4080 NotImplemented; 4081 end; 4082 4083 procedure TCpuZ80.RES_6_A; 4084 begin 4085 NotImplemented; 4086 end; 4087 4088 procedure TCpuZ80.RES_7_B; 4089 begin 4090 NotImplemented; 4091 end; 4092 4093 procedure TCpuZ80.RES_7_C; 4094 begin 4095 NotImplemented; 4096 end; 4097 4098 procedure TCpuZ80.RES_7_D; 4099 begin 4100 NotImplemented; 4101 end; 4102 4103 procedure TCpuZ80.RES_7_E; 4104 begin 4105 NotImplemented; 4106 end; 4107 4108 procedure TCpuZ80.RES_7_H; 4109 begin 4110 NotImplemented; 4111 end; 4112 4113 procedure TCpuZ80.RES_7_L; 4114 begin 4115 NotImplemented; 4116 end; 4117 4118 procedure TCpuZ80.RES_7_HL_Indirect; 4119 begin 4120 NotImplemented; 4121 end; 4122 4123 procedure TCpuZ80.RES_7_A; 4124 begin 4125 NotImplemented; 4126 end; 4127 4128 procedure TCpuZ80.SET_0_B; 4129 begin 4130 NotImplemented; 4131 end; 4132 4133 procedure TCpuZ80.SET_0_C; 4134 begin 4135 NotImplemented; 4136 end; 4137 4138 procedure TCpuZ80.SET_0_D; 4139 begin 4140 NotImplemented; 4141 end; 4142 4143 procedure TCpuZ80.SET_0_E; 4144 begin 4145 NotImplemented; 4146 end; 4147 4148 procedure TCpuZ80.SET_0_H; 4149 begin 4150 NotImplemented; 4151 end; 4152 4153 procedure TCpuZ80.SET_0_L; 4154 begin 4155 NotImplemented; 4156 end; 4157 4158 procedure TCpuZ80.SET_0_HL_Indirect; 4159 begin 4160 NotImplemented; 4161 end; 4162 4163 procedure TCpuZ80.SET_0_A; 4164 begin 4165 NotImplemented; 4166 end; 4167 4168 procedure TCpuZ80.SET_1_B; 4169 begin 4170 NotImplemented; 4171 end; 4172 4173 procedure TCpuZ80.SET_1_C; 4174 begin 4175 NotImplemented; 4176 end; 4177 4178 procedure TCpuZ80.SET_1_D; 4179 begin 4180 NotImplemented; 4181 end; 4182 4183 procedure TCpuZ80.SET_1_E; 4184 begin 4185 NotImplemented; 4186 end; 4187 4188 procedure TCpuZ80.SET_1_H; 4189 begin 4190 NotImplemented; 4191 end; 4192 4193 procedure TCpuZ80.SET_1_L; 4194 begin 4195 NotImplemented; 4196 end; 4197 4198 procedure TCpuZ80.SET_1_HL_Indirect; 4199 begin 4200 NotImplemented; 4201 end; 4202 4203 procedure TCpuZ80.SET_1_A; 4204 begin 4205 NotImplemented; 4206 end; 4207 4208 procedure TCpuZ80.SET_2_B; 4209 begin 4210 NotImplemented; 4211 end; 4212 4213 procedure TCpuZ80.SET_2_C; 4214 begin 4215 NotImplemented; 4216 end; 4217 4218 procedure TCpuZ80.SET_2_D; 4219 begin 4220 NotImplemented; 4221 end; 4222 4223 procedure TCpuZ80.SET_2_E; 4224 begin 4225 NotImplemented; 4226 end; 4227 4228 procedure TCpuZ80.SET_2_H; 4229 begin 4230 NotImplemented; 4231 end; 4232 4233 procedure TCpuZ80.SET_2_L; 4234 begin 4235 NotImplemented; 4236 end; 4237 4238 procedure TCpuZ80.SET_2_HL_Indirect; 4239 begin 4240 NotImplemented; 4241 end; 4242 4243 procedure TCpuZ80.SET_2_A; 4244 begin 4245 NotImplemented; 4246 end; 4247 4248 procedure TCpuZ80.SET_3_B; 4249 begin 4250 NotImplemented; 4251 end; 4252 4253 procedure TCpuZ80.SET_3_C; 4254 begin 4255 NotImplemented; 4256 end; 4257 4258 procedure TCpuZ80.SET_3_D; 4259 begin 4260 NotImplemented; 4261 end; 4262 4263 procedure TCpuZ80.SET_3_E; 4264 begin 4265 NotImplemented; 4266 end; 4267 4268 procedure TCpuZ80.SET_3_H; 4269 begin 4270 NotImplemented; 4271 end; 4272 4273 procedure TCpuZ80.SET_3_L; 4274 begin 4275 NotImplemented; 4276 end; 4277 4278 procedure TCpuZ80.SET_3_HL_Indirect; 4279 begin 4280 NotImplemented; 4281 end; 4282 4283 procedure TCpuZ80.SET_3_A; 4284 begin 4285 NotImplemented; 4286 end; 4287 4288 procedure TCpuZ80.SET_4_B; 4289 begin 4290 NotImplemented; 4291 end; 4292 4293 procedure TCpuZ80.SET_4_C; 4294 begin 4295 NotImplemented; 4296 end; 4297 4298 procedure TCpuZ80.SET_4_D; 4299 begin 4300 NotImplemented; 4301 end; 4302 4303 procedure TCpuZ80.SET_4_E; 4304 begin 4305 NotImplemented; 4306 end; 4307 4308 procedure TCpuZ80.SET_4_H; 4309 begin 4310 NotImplemented; 4311 end; 4312 4313 procedure TCpuZ80.SET_4_L; 4314 begin 4315 NotImplemented; 4316 end; 4317 4318 procedure TCpuZ80.SET_4_HL_Indirect; 4319 begin 4320 NotImplemented; 4321 end; 4322 4323 procedure TCpuZ80.SET_4_A; 4324 begin 4325 NotImplemented; 4326 end; 4327 4328 procedure TCpuZ80.SET_5_B; 4329 begin 4330 NotImplemented; 4331 end; 4332 4333 procedure TCpuZ80.SET_5_C; 4334 begin 4335 NotImplemented; 4336 end; 4337 4338 procedure TCpuZ80.SET_5_D; 4339 begin 4340 NotImplemented; 4341 end; 4342 4343 procedure TCpuZ80.SET_5_E; 4344 begin 4345 NotImplemented; 4346 end; 4347 4348 procedure TCpuZ80.SET_5_H; 4349 begin 4350 NotImplemented; 4351 end; 4352 4353 procedure TCpuZ80.SET_5_L; 4354 begin 4355 NotImplemented; 4356 end; 4357 4358 procedure TCpuZ80.SET_5_HL_Indirect; 4359 begin 4360 NotImplemented; 4361 end; 4362 4363 procedure TCpuZ80.SET_5_A; 4364 begin 4365 NotImplemented; 4366 end; 4367 4368 procedure TCpuZ80.SET_6_B; 4369 begin 4370 NotImplemented; 4371 end; 4372 4373 procedure TCpuZ80.SET_6_C; 4374 begin 4375 NotImplemented; 4376 end; 4377 4378 procedure TCpuZ80.SET_6_D; 4379 begin 4380 NotImplemented; 4381 end; 4382 4383 procedure TCpuZ80.SET_6_E; 4384 begin 4385 NotImplemented; 4386 end; 4387 4388 procedure TCpuZ80.SET_6_H; 4389 begin 4390 NotImplemented; 4391 end; 4392 4393 procedure TCpuZ80.SET_6_L; 4394 begin 4395 NotImplemented; 4396 end; 4397 4398 procedure TCpuZ80.SET_6_HL_Indirect; 4399 begin 4400 NotImplemented; 4401 end; 4402 4403 procedure TCpuZ80.SET_6_A; 4404 begin 4405 NotImplemented; 4406 end; 4407 4408 procedure TCpuZ80.SET_7_B; 4409 begin 4410 NotImplemented; 4411 end; 4412 4413 procedure TCpuZ80.SET_7_C; 4414 begin 4415 NotImplemented; 4416 end; 4417 4418 procedure TCpuZ80.SET_7_D; 4419 begin 4420 NotImplemented; 4421 end; 4422 4423 procedure TCpuZ80.SET_7_E; 4424 begin 4425 NotImplemented; 4426 end; 4427 4428 procedure TCpuZ80.SET_7_H; 4429 begin 4430 NotImplemented; 4431 end; 4432 4433 procedure TCpuZ80.SET_7_L; 4434 begin 4435 NotImplemented; 4436 end; 4437 4438 procedure TCpuZ80.SET_7_HL_Indirect; 4439 begin 4440 NotImplemented; 4441 end; 4442 4443 procedure TCpuZ80.SET_7_A; 4444 begin 4445 NotImplemented; 4446 end; 4447 4448 procedure TCpuZ80.ADD_IX_BC; 4449 begin 4450 NotImplemented; 4451 end; 4452 4453 procedure TCpuZ80.ADD_IX_DE; 4454 begin 4455 NotImplemented; 4456 end; 4457 4458 procedure TCpuZ80.LD_IX_NN; 4459 begin 4460 NotImplemented; 4461 end; 4462 4463 procedure TCpuZ80.LD_NN_Indirect_IX; 4464 begin 4465 NotImplemented; 4466 end; 4467 4468 procedure TCpuZ80.INC_IX; 4469 begin 4470 NotImplemented; 4471 end; 4472 4473 procedure TCpuZ80.ADD_IX_IX; 4474 begin 4475 NotImplemented; 4476 end; 4477 4478 procedure TCpuZ80.LD_IX_NN_Indirect; 4479 begin 4480 NotImplemented; 4481 end; 4482 4483 procedure TCpuZ80.DEC_IX; 4484 begin 4485 NotImplemented; 4486 end; 4487 4488 procedure TCpuZ80.INC_IX_Plus_D_Indirect; 4489 begin 4490 NotImplemented; 4491 end; 4492 4493 procedure TCpuZ80.DEC_IX_Plus_D_Indirect; 4494 begin 4495 NotImplemented; 4496 end; 4497 4498 procedure TCpuZ80.LD_IX_Plus_D_Indirect_N; 4499 begin 4500 NotImplemented; 4501 end; 4502 4503 procedure TCpuZ80.ADD_IX_SP; 4504 begin 4505 NotImplemented; 4506 end; 4507 4508 procedure TCpuZ80.LD_B_IX_Plus_D_Indirect; 4509 begin 4510 NotImplemented; 4511 end; 4512 4513 procedure TCpuZ80.LD_C_IX_Plus_D_Indirect; 4514 begin 4515 NotImplemented; 4516 end; 4517 4518 procedure TCpuZ80.LD_D_IX_Plus_D_Indirect; 4519 begin 4520 NotImplemented; 4521 end; 4522 4523 procedure TCpuZ80.LD_E_IX_Plus_D_Indirect; 4524 begin 4525 NotImplemented; 4526 end; 4527 4528 procedure TCpuZ80.LD_H_IX_Plus_D_Indirect; 4529 begin 4530 NotImplemented; 4531 end; 4532 4533 procedure TCpuZ80.LD_L_IX_Plus_D_Indirect; 4534 begin 4535 NotImplemented; 4536 end; 4537 4538 procedure TCpuZ80.LD_IX_Plus_D_Indirect_B; 4539 begin 4540 NotImplemented; 4541 end; 4542 4543 procedure TCpuZ80.LD_IX_Plus_D_Indirect_C; 4544 begin 4545 NotImplemented; 4546 end; 4547 4548 procedure TCpuZ80.LD_IX_Plus_D_Indirect_D; 4549 begin 4550 NotImplemented; 4551 end; 4552 4553 procedure TCpuZ80.LD_IX_Plus_D_Indirect_E; 4554 begin 4555 NotImplemented; 4556 end; 4557 4558 procedure TCpuZ80.LD_IX_Plus_D_Indirect_H; 4559 begin 4560 NotImplemented; 4561 end; 4562 4563 procedure TCpuZ80.LD_IX_Plus_D_Indirect_L; 4564 begin 4565 NotImplemented; 4566 end; 4567 4568 procedure TCpuZ80.LD_IX_Plus_D_Indirect_A; 4569 begin 4570 NotImplemented; 4571 end; 4572 4573 procedure TCpuZ80.LD_A_IX_Plus_D_Indirect; 4574 begin 4575 NotImplemented; 4576 end; 4577 4578 procedure TCpuZ80.ADD_A_IX_Plus_D_Indirect; 4579 begin 4580 NotImplemented; 4581 end; 4582 4583 procedure TCpuZ80.ADC_A_IX_Plus_D_Indirect; 4584 begin 4585 NotImplemented; 4586 end; 4587 4588 procedure TCpuZ80.SUB_IX_Plus_D_Indirect; 4589 begin 4590 NotImplemented; 4591 end; 4592 4593 procedure TCpuZ80.SBC_A_IX_Plus_D_Indirect; 4594 begin 4595 NotImplemented; 4596 end; 4597 4598 procedure TCpuZ80.AND_IX_Plus_D_Indirect; 4599 begin 4600 NotImplemented; 4601 end; 4602 4603 procedure TCpuZ80.XOR_IX_Plus_D_Indirect; 4604 begin 4605 NotImplemented; 4606 end; 4607 4608 procedure TCpuZ80.OR_IX_Plus_D_Indirect; 4609 begin 4610 NotImplemented; 4611 end; 4612 4613 procedure TCpuZ80.CP_IX_Plus_D_Indirect; 4614 begin 4615 NotImplemented; 4616 end; 4617 4618 procedure TCpuZ80.POP_IX; 4619 begin 4620 NotImplemented; 4621 end; 4622 4623 procedure TCpuZ80.EX_SP_Indirect_IX; 4624 begin 4625 NotImplemented; 4626 end; 4627 4628 procedure TCpuZ80.PUSH_IX; 4629 begin 4630 NotImplemented; 4631 end; 4632 4633 procedure TCpuZ80.JP_IX_Indirect; 4634 begin 4635 NotImplemented; 4636 end; 4637 4638 procedure TCpuZ80.LD_SP_IX; 4639 begin 4640 NotImplemented; 4641 end; 4642 4643 procedure TCpuZ80.RLC_IX_Plus_D_Indirect; 4644 begin 4645 NotImplemented; 4646 end; 4647 4648 procedure TCpuZ80.RRC_IX_Plus_D_Indirect; 4649 begin 4650 NotImplemented; 4651 end; 4652 4653 procedure TCpuZ80.RL_IX_Plus_D_Indirect; 4654 begin 4655 NotImplemented; 4656 end; 4657 4658 procedure TCpuZ80.RR_IX_Plus_D_Indirect; 4659 begin 4660 NotImplemented; 4661 end; 4662 4663 procedure TCpuZ80.SLA_IX_Plus_D_Indirect; 4664 begin 4665 NotImplemented; 4666 end; 4667 4668 procedure TCpuZ80.SRA_IX_Plus_D_Indirect; 4669 begin 4670 NotImplemented; 4671 end; 4672 4673 procedure TCpuZ80.SRL_IX_Plus_D_Indirect; 4674 begin 4675 NotImplemented; 4676 end; 4677 4678 procedure TCpuZ80.BIT_0_IX_Plus_D_Indirect; 4679 begin 4680 NotImplemented; 4681 end; 4682 4683 procedure TCpuZ80.BIT_1_IX_Plus_D_Indirect; 4684 begin 4685 NotImplemented; 4686 end; 4687 4688 procedure TCpuZ80.BIT_2_IX_Plus_D_Indirect; 4689 begin 4690 NotImplemented; 4691 end; 4692 4693 procedure TCpuZ80.BIT_3_IX_Plus_D_Indirect; 4694 begin 4695 NotImplemented; 4696 end; 4697 4698 procedure TCpuZ80.BIT_4_IX_Plus_D_Indirect; 4699 begin 4700 NotImplemented; 4701 end; 4702 4703 procedure TCpuZ80.BIT_5_IX_Plus_D_Indirect; 4704 begin 4705 NotImplemented; 4706 end; 4707 4708 procedure TCpuZ80.BIT_6_IX_Plus_D_Indirect; 4709 begin 4710 NotImplemented; 4711 end; 4712 4713 procedure TCpuZ80.BIT_7_IX_Plus_D_Indirect; 4714 begin 4715 NotImplemented; 4716 end; 4717 4718 procedure TCpuZ80.RES_0_IX_Plus_D_Indirect; 4719 begin 4720 NotImplemented; 4721 end; 4722 4723 procedure TCpuZ80.RES_1_IX_Plus_D_Indirect; 4724 begin 4725 NotImplemented; 4726 end; 4727 4728 procedure TCpuZ80.RES_2_IX_Plus_D_Indirect; 4729 begin 4730 NotImplemented; 4731 end; 4732 4733 procedure TCpuZ80.RES_3_IX_Plus_D_Indirect; 4734 begin 4735 NotImplemented; 4736 end; 4737 4738 procedure TCpuZ80.RES_4_IX_Plus_D_Indirect; 4739 begin 4740 NotImplemented; 4741 end; 4742 4743 procedure TCpuZ80.RES_5_IX_Plus_D_Indirect; 4744 begin 4745 NotImplemented; 4746 end; 4747 4748 procedure TCpuZ80.RES_6_IX_Plus_D_Indirect; 4749 begin 4750 NotImplemented; 4751 end; 4752 4753 procedure TCpuZ80.RES_7_IX_Plus_D_Indirect; 4754 begin 4755 NotImplemented; 4756 end; 4757 4758 procedure TCpuZ80.SET_0_IX_Plus_D_Indirect; 4759 begin 4760 NotImplemented; 4761 end; 4762 4763 procedure TCpuZ80.SET_1_IX_Plus_D_Indirect; 4764 begin 4765 NotImplemented; 4766 end; 4767 4768 procedure TCpuZ80.SET_2_IX_Plus_D_Indirect; 4769 begin 4770 NotImplemented; 4771 end; 4772 4773 procedure TCpuZ80.SET_3_IX_Plus_D_Indirect; 4774 begin 4775 NotImplemented; 4776 end; 4777 4778 procedure TCpuZ80.SET_4_IX_Plus_D_Indirect; 4779 begin 4780 NotImplemented; 4781 end; 4782 4783 procedure TCpuZ80.SET_5_IX_Plus_D_Indirect; 4784 begin 4785 NotImplemented; 4786 end; 4787 4788 procedure TCpuZ80.SET_6_IX_Plus_D_Indirect; 4789 begin 4790 NotImplemented; 4791 end; 4792 4793 procedure TCpuZ80.SET_7_IX_Plus_D_Indirect; 4794 begin 4795 NotImplemented; 4796 end; 4797 4798 procedure TCpuZ80.ADD_IY_BC; 4799 begin 4800 NotImplemented; 4801 end; 4802 4803 procedure TCpuZ80.ADD_IY_DE; 4804 begin 4805 NotImplemented; 4806 end; 4807 4808 procedure TCpuZ80.LD_IY_NN; 4809 begin 4810 NotImplemented; 4811 end; 4812 4813 procedure TCpuZ80.LD_NN_Indirect_IY; 4814 begin 4815 NotImplemented; 4816 end; 4817 4818 procedure TCpuZ80.INC_IY; 4819 begin 4820 NotImplemented; 4821 end; 4822 4823 procedure TCpuZ80.ADD_IY_IY; 4824 begin 4825 NotImplemented; 4826 end; 4827 4828 procedure TCpuZ80.LD_IY_NN_Indirect; 4829 begin 4830 NotImplemented; 4831 end; 4832 4833 procedure TCpuZ80.DEC_IY; 4834 begin 4835 NotImplemented; 4836 end; 4837 4838 procedure TCpuZ80.INC_IY_Plus_D_Indirect; 4839 begin 4840 NotImplemented; 4841 end; 4842 4843 procedure TCpuZ80.DEC_IY_Plus_D_Indirect; 4844 begin 4845 NotImplemented; 4846 end; 4847 4848 procedure TCpuZ80.LD_IY_Plus_D_Indirect_N; 4849 begin 4850 NotImplemented; 4851 end; 4852 4853 procedure TCpuZ80.ADD_IY_SP; 4854 begin 4855 NotImplemented; 4856 end; 4857 4858 procedure TCpuZ80.LD_B_IY_Plus_D_Indirect; 4859 begin 4860 NotImplemented; 4861 end; 4862 4863 procedure TCpuZ80.LD_C_IY_Plus_D_Indirect; 4864 begin 4865 NotImplemented; 4866 end; 4867 4868 procedure TCpuZ80.LD_D_IY_Plus_D_Indirect; 4869 begin 4870 NotImplemented; 4871 end; 4872 4873 procedure TCpuZ80.LD_E_IY_Plus_D_Indirect; 4874 begin 4875 NotImplemented; 4876 end; 4877 4878 procedure TCpuZ80.LD_H_IY_Plus_D_Indirect; 4879 begin 4880 NotImplemented; 4881 end; 4882 4883 procedure TCpuZ80.LD_L_IY_Plus_D_Indirect; 4884 begin 4885 NotImplemented; 4886 end; 4887 4888 procedure TCpuZ80.LD_IY_Plus_D_Indirect_B; 4889 begin 4890 NotImplemented; 4891 end; 4892 4893 procedure TCpuZ80.LD_IY_Plus_D_Indirect_C; 4894 begin 4895 NotImplemented; 4896 end; 4897 4898 procedure TCpuZ80.LD_IY_Plus_D_Indirect_D; 4899 begin 4900 NotImplemented; 4901 end; 4902 4903 procedure TCpuZ80.LD_IY_Plus_D_Indirect_E; 4904 begin 4905 NotImplemented; 4906 end; 4907 4908 procedure TCpuZ80.LD_IY_Plus_D_Indirect_H; 4909 begin 4910 NotImplemented; 4911 end; 4912 4913 procedure TCpuZ80.LD_IY_Plus_D_Indirect_L; 4914 begin 4915 NotImplemented; 4916 end; 4917 4918 procedure TCpuZ80.LD_IY_Plus_D_Indirect_A; 4919 begin 4920 NotImplemented; 4921 end; 4922 4923 procedure TCpuZ80.LD_A_IY_Plus_D_Indirect; 4924 begin 4925 NotImplemented; 4926 end; 4927 4928 procedure TCpuZ80.ADD_A_IY_Plus_D_Indirect; 4929 begin 4930 NotImplemented; 4931 end; 4932 4933 procedure TCpuZ80.ADC_A_IY_Plus_D_Indirect; 4934 begin 4935 NotImplemented; 4936 end; 4937 4938 procedure TCpuZ80.SUB_IY_Plus_D_Indirect; 4939 begin 4940 NotImplemented; 4941 end; 4942 4943 procedure TCpuZ80.SBC_A_IY_Plus_D_Indirect; 4944 begin 4945 NotImplemented; 4946 end; 4947 4948 procedure TCpuZ80.AND_IY_Plus_D_Indirect; 4949 begin 4950 NotImplemented; 4951 end; 4952 4953 procedure TCpuZ80.XOR_IY_Plus_D_Indirect; 4954 begin 4955 NotImplemented; 4956 end; 4957 4958 procedure TCpuZ80.OR_IY_Plus_D_Indirect; 4959 begin 4960 NotImplemented; 4961 end; 4962 4963 procedure TCpuZ80.CP_IY_Plus_D_Indirect; 4964 begin 4965 NotImplemented; 4966 end; 4967 4968 procedure TCpuZ80.POP_IY; 4969 begin 4970 NotImplemented; 4971 end; 4972 4973 procedure TCpuZ80.EX_SP_Indirect_IY; 4974 begin 4975 NotImplemented; 4976 end; 4977 4978 procedure TCpuZ80.PUSH_IY; 4979 begin 4980 NotImplemented; 4981 end; 4982 4983 procedure TCpuZ80.JP_IY_Indirect; 4984 begin 4985 NotImplemented; 4986 end; 4987 4988 procedure TCpuZ80.LD_SP_IY; 4989 begin 4990 NotImplemented; 4991 end; 4992 4993 procedure TCpuZ80.RLC_IY_Plus_D_Indirect; 4994 begin 4995 NotImplemented; 4996 end; 4997 4998 procedure TCpuZ80.RRC_IY_Plus_D_Indirect; 4999 begin 5000 NotImplemented; 5001 end; 5002 5003 procedure TCpuZ80.RL_IY_Plus_D_Indirect; 5004 begin 5005 NotImplemented; 5006 end; 5007 5008 procedure TCpuZ80.RR_IY_Plus_D_Indirect; 5009 begin 5010 NotImplemented; 5011 end; 5012 5013 procedure TCpuZ80.SLA_IY_Plus_D_Indirect; 5014 begin 5015 NotImplemented; 5016 end; 5017 5018 procedure TCpuZ80.SRA_IY_Plus_D_Indirect; 5019 begin 5020 NotImplemented; 5021 end; 5022 5023 procedure TCpuZ80.SRL_IY_Plus_D_Indirect; 5024 begin 5025 NotImplemented; 5026 end; 5027 5028 procedure TCpuZ80.BIT_0_IY_Plus_D_Indirect; 5029 begin 5030 NotImplemented; 5031 end; 5032 5033 procedure TCpuZ80.BIT_1_IY_Plus_D_Indirect; 5034 begin 5035 NotImplemented; 5036 end; 5037 5038 procedure TCpuZ80.BIT_2_IY_Plus_D_Indirect; 5039 begin 5040 NotImplemented; 5041 end; 5042 5043 procedure TCpuZ80.BIT_3_IY_Plus_D_Indirect; 5044 begin 5045 NotImplemented; 5046 end; 5047 5048 procedure TCpuZ80.BIT_4_IY_Plus_D_Indirect; 5049 begin 5050 NotImplemented; 5051 end; 5052 5053 procedure TCpuZ80.BIT_5_IY_Plus_D_Indirect; 5054 begin 5055 NotImplemented; 5056 end; 5057 5058 procedure TCpuZ80.BIT_6_IY_Plus_D_Indirect; 5059 begin 5060 NotImplemented; 5061 end; 5062 5063 procedure TCpuZ80.BIT_7_IY_Plus_D_Indirect; 5064 begin 5065 NotImplemented; 5066 end; 5067 5068 procedure TCpuZ80.RES_0_IY_Plus_D_Indirect; 5069 begin 5070 NotImplemented; 5071 end; 5072 5073 procedure TCpuZ80.RES_1_IY_Plus_D_Indirect; 5074 begin 5075 NotImplemented; 5076 end; 5077 5078 procedure TCpuZ80.RES_2_IY_Plus_D_Indirect; 5079 begin 5080 NotImplemented; 5081 end; 5082 5083 procedure TCpuZ80.RES_3_IY_Plus_D_Indirect; 5084 begin 5085 NotImplemented; 5086 end; 5087 5088 procedure TCpuZ80.RES_4_IY_Plus_D_Indirect; 5089 begin 5090 NotImplemented; 5091 end; 5092 5093 procedure TCpuZ80.RES_5_IY_Plus_D_Indirect; 5094 begin 5095 NotImplemented; 5096 end; 5097 5098 procedure TCpuZ80.RES_6_IY_Plus_D_Indirect; 5099 begin 5100 NotImplemented; 5101 end; 5102 5103 procedure TCpuZ80.RES_7_IY_Plus_D_Indirect; 5104 begin 5105 NotImplemented; 5106 end; 5107 5108 procedure TCpuZ80.SET_0_IY_Plus_D_Indirect; 5109 begin 5110 NotImplemented; 5111 end; 5112 5113 procedure TCpuZ80.SET_1_IY_Plus_D_Indirect; 5114 begin 5115 NotImplemented; 5116 end; 5117 5118 procedure TCpuZ80.SET_2_IY_Plus_D_Indirect; 5119 begin 5120 NotImplemented; 5121 end; 5122 5123 procedure TCpuZ80.SET_3_IY_Plus_D_Indirect; 5124 begin 5125 NotImplemented; 5126 end; 5127 5128 procedure TCpuZ80.SET_4_IY_Plus_D_Indirect; 5129 begin 5130 NotImplemented; 5131 end; 5132 5133 procedure TCpuZ80.SET_5_IY_Plus_D_Indirect; 5134 begin 5135 NotImplemented; 5136 end; 5137 5138 procedure TCpuZ80.SET_6_IY_Plus_D_Indirect; 5139 begin 5140 NotImplemented; 5141 end; 5142 5143 procedure TCpuZ80.SET_7_IY_Plus_D_Indirect; 5144 begin 5145 NotImplemented; 436 5146 end; 437 5147 … … 442 5152 begin 443 5153 Opcode := ReadByte; 444 if Opcode = Byte(inPrefixCb)then begin445 Instruction := TInstruction($100 or Opcode);5154 if Opcode = $CB then begin 5155 Instruction := TInstruction($100 or ReadByte); 446 5156 end 447 else if Opcode = Byte(inPrefixDd)then begin448 Instruction := TInstruction($200 or Opcode);5157 else if Opcode = $DD then begin 5158 Instruction := TInstruction($200 or ReadByte); 449 5159 end 450 else if Opcode = Byte(inPrefixEd)then begin451 Instruction := TInstruction($300 or Opcode);5160 else if Opcode = $ED then begin 5161 Instruction := TInstruction($300 or ReadByte); 452 5162 end 453 else if Opcode = Byte(inPrefixFd)then begin454 Instruction := TInstruction($400 or Opcode);5163 else if Opcode = $FD then begin 5164 Instruction := TInstruction($400 or ReadByte); 455 5165 end 456 5166 else Instruction := TInstruction(Opcode);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/mzxemu/chrome/site/your_project_logo.png)