- 积分
- 202
- 最后登录
- 2020-11-15
- 精华
- 0
- 阅读权限
- 30
- 主题
- 171
- UID
- 4166712
- 帖子
- 506
- PB币
- 779
- 威望
- 0
- 贡献
- 0
- 技术
- 184
- 活跃
- 651
- UID
- 4166712
- 帖子
- 506
- PB币
- 779
- 贡献
- 0
- 技术
- 184
- 活跃
- 651
|
基於 AnV 1.0.4 版本修改
支援 Lion 以後的版本 (Snow Leopard 未測試)
追加硬體支援
NFORCE MCP65
NFORCE MCP67
NFORCE MCP73
NFORCE MCP77
NFORCE MCP79
NFORCE MCP89
硬體資訊參考 FreeBSD 源碼
http://sources.freeb...ts/ata-nvidia.c
http://sources.freeb...v/ata/ata-pci.h
SATA DVD 讀取修復 (寫入未測試)
修改處在函式 provideBusInfo :
- IOReturn AppleNForceATA::provideBusInfo( IOATABusInfo * infoOut ){ DEBUG_LOG("%s::%s( %p, %p )\n", getName(), __FUNCTION__, this, infoOut);
- if ( infoOut == 0 ) { DEBUG_LOG("%s: %s bad argument\n", getName(), __FUNCTION__); return -1; }
- infoOut->zeroData();
- if (fProvider->getHardwareType() == PCI_HW_SATA) infoOut->setSocketType( kInternalSATA ); else infoOut->setSocketType( kInternalATASocket );
- for ( UInt32 i = 0; i < kMaxDriveCount; i++ ) { if ( _devInfo[i].type == kATADeviceType ) { infoOut->setPIOModes( kPIOModeMask ); infoOut->setDMAModes( kDMAModeMask ); infoOut->setUltraModes( kUDMAModeMask ); } else { infoOut->setPIOModes( kPIOModeMask ); } } infoOut->setExtendedLBA( true ); infoOut->setMaxBlocksExtended( 0x0800 ); // 2048 sectors for ext LBA //infoOut->setMaxBlocksExtended( 0x1000 ); // 4096 sectors for ext LBA
- UInt8 units = 0; if ( _devInfo[0].type != kUnknownATADeviceType ) units++; if ( _devInfo[1].type != kUnknownATADeviceType ) units++; infoOut->setUnits( units );
- return kATANoErr;}
复制代码
讓 ATAPI 裝置 只使用 PIO 模式 不使用 DMA 或 Ultra DMA 模式
可能DVD讀取速度會比較慢
我想問題就在這裡 SATA DVD 跑 DMA 模式會無法辨識DVD資料 可能還有其他更完美的修改方法 但我還沒想到
但我的DVD是華碩的 好像也能能跑PIO模式 網路上資料說 ASUS SATA DVD 只能 PIO模式
內附源碼
|
-
1
查看全部评分
-
|