fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation

ata: Add more debugging output

+70 -7
+70 -7
src/devices/ata.c
··· 5 5 /***************************************************************************** 6 6 * File name: src/devices/ata.c * 7 7 * Created: 2004-12-03 by Hampa Hug <hampa@hampa.ch> * 8 - * Copyright: (C) 2004-2009 Hampa Hug <hampa@hampa.ch> * 8 + * Copyright: (C) 2004-2018 Hampa Hug <hampa@hampa.ch> * 9 9 *****************************************************************************/ 10 10 11 11 /***************************************************************************** ··· 27 27 #include "ata.h" 28 28 29 29 30 - /* #define DEBUG_ATA 1 */ 30 + #ifndef DEBUG_ATA 31 + #define DEBUG_ATA 0 32 + #endif 33 + 31 34 32 35 #define ATA_REG_COMMAND 0x07 33 36 #define ATA_REG_STATUS 0x07 ··· 264 267 val = (val != 0); 265 268 266 269 if (val != ata->irq_val) { 270 + #if DEBUG_ATA >= 3 271 + fprintf (stderr, "ata: irq = %d\n", val); 272 + #endif 273 + 267 274 ata->irq_val = val; 268 275 269 276 if (ata->irq != NULL) { ··· 363 370 static 364 371 void ata_cmd_recalibrate (ata_dev_t *dev) 365 372 { 373 + #if DEBUG_ATA >= 1 374 + fprintf (stderr, "ata: RECALIBRATE\n"); 375 + #endif 376 + 366 377 dev->reg_cyl_lo = 0; 367 378 dev->reg_cyl_hi = 0; 368 379 dev->reg_head &= 0xf0; ··· 448 459 return; 449 460 } 450 461 462 + #if DEBUG_ATA >= 2 463 + fprintf (stderr, "ata: READ (%lu, %u)\n", 464 + (unsigned long) idx, dev->reg_sec_cnt 465 + ); 466 + #endif 467 + 451 468 ata_buf_reset (dev); 452 469 453 470 dev->buf_blk_i = idx; ··· 471 488 ata_cmd_abort (dev); 472 489 return; 473 490 } 491 + 492 + #if DEBUG_ATA >= 2 493 + fprintf (stderr, "ata: READ MULTIPLE (%lu, %u)\n", 494 + (unsigned long) idx, dev->reg_sec_cnt 495 + ); 496 + #endif 474 497 475 498 ata_buf_reset (dev); 476 499 ··· 541 564 return; 542 565 } 543 566 567 + #if DEBUG_ATA >= 2 568 + fprintf (stderr, "ata: WRITE (%lu, %u)\n", 569 + (unsigned long) idx, dev->reg_sec_cnt 570 + ); 571 + #endif 572 + 544 573 ata_buf_reset (dev); 545 574 546 575 dev->buf_i = 0; ··· 573 602 ata_cmd_abort (dev); 574 603 return; 575 604 } 605 + 606 + #if DEBUG_ATA >= 2 607 + fprintf (stderr, "ata: WRITE MULTIPLE (%lu, %u)\n", 608 + (unsigned long) idx, dev->reg_sec_cnt 609 + ); 610 + #endif 576 611 577 612 ata_buf_reset (dev); 578 613 ··· 603 638 { 604 639 unsigned cnt; 605 640 641 + #if DEBUG_ATA >= 1 642 + fprintf (stderr, "ata: SET MULTIPLE MODE (%u)\n", 643 + dev->reg_sec_cnt 644 + ); 645 + #endif 646 + 606 647 cnt = dev->reg_sec_cnt; 607 648 608 649 if (cnt > dev->multi_block_max) { ··· 619 660 void ata_cmd_device_diagnostic (ata_chn_t *ata) 620 661 { 621 662 unsigned i; 663 + 664 + #if DEBUG_ATA >= 1 665 + fprintf (stderr, "ata: DEVICE DIAGNOSTIC\n"); 666 + #endif 622 667 623 668 for (i = 0; i < 2; i++) { 624 669 ata->dev[i].reg_cyl_lo = 0; ··· 640 685 dev->h = (dev->reg_head & 0x0f) + 1; 641 686 dev->c = dsk_get_block_cnt (dev->blk) / ((uint32_t) dev->s * dev->h); 642 687 688 + #if DEBUG_ATA >= 1 689 + fprintf (stderr, "ata: SET GEOMETRY (%u / %u / %u)\n", 690 + dev->c, dev->h, dev->s 691 + ); 692 + #endif 693 + 643 694 ata_cmd_ok (dev); 644 695 } 645 696 646 697 static 647 698 void ata_cmd_standby_immediate (ata_dev_t *dev) 648 699 { 700 + #if DEBUG_ATA >= 1 701 + fprintf (stderr, "ata: STANDBY IMMEDIATE\n"); 702 + #endif 703 + 649 704 ata_cmd_ok (dev); 650 705 } 651 706 652 707 static 653 708 void ata_cmd_flush_cache (ata_dev_t *dev) 654 709 { 710 + #if DEBUG_ATA >= 1 711 + fprintf (stderr, "ata: FLUSH CACHE\n"); 712 + #endif 713 + 655 714 ata_cmd_ok (dev); 656 715 } 657 716 ··· 659 718 void ata_cmd_identify (ata_dev_t *dev) 660 719 { 661 720 uint32_t cnt1, cnt2; 721 + 722 + #if DEBUG_ATA >= 1 723 + fprintf (stderr, "ata: IDENTIFY\n"); 724 + #endif 662 725 663 726 memset (dev->buf, 0, 512); 664 727 ··· 689 752 dev->buf_mode = ATA_BUF_MODE_READ; 690 753 dev->callback = NULL; 691 754 692 - dev->reg_status = ATA_STATUS_DRQ; 755 + dev->reg_status = ATA_STATUS_DRQ | 0x50; 693 756 694 757 ata_set_irq (dev->chn, 1); 695 758 } ··· 839 902 break; 840 903 } 841 904 842 - #ifdef DEBUG_ATA 905 + #if DEBUG_ATA >= 2 843 906 fprintf (stderr, "ata: get8 %08lX -> %02X\n", addr, val); 844 907 fflush (stderr); 845 908 #endif ··· 888 951 889 952 void ata_cmd_set_uint8 (ata_chn_t *ata, unsigned long addr, unsigned char val) 890 953 { 891 - #ifdef DEBUG_ATA 954 + #if DEBUG_ATA >= 2 892 955 fprintf (stderr, "ata: set8 %08lX <- %02X\n", addr, val); 893 956 fflush (stderr); 894 957 #endif ··· 960 1023 break; 961 1024 } 962 1025 963 - #ifdef DEBUG_ATA 1026 + #if DEBUG_ATA >= 2 964 1027 fprintf (stderr, "ata: get ctl8 %08lX -> %02X\n", addr, val); 965 1028 fflush (stderr); 966 1029 #endif ··· 980 1043 981 1044 void ata_ctl_set_uint8 (ata_chn_t *ata, unsigned long addr, unsigned char val) 982 1045 { 983 - #ifdef DEBUG_ATA 1046 + #if DEBUG_ATA >= 2 984 1047 fprintf (stderr, "ata: set ctl8 %08lX <- %02X\n", addr, val); 985 1048 fflush (stderr); 986 1049 #endif