@czietz na Atari-Forum.com po analizie problemu DMA (szczegóły w linku poniżej) doszedł do wniosku że błędu zapisu można uniknąć w prosty programowy sposób. Nie ma więc potrzeby wymiany ani DMA ani CPU.
Szczegółowy opis błędu i rozwiązanie:
https://www.chzsoft.de/site/hardware/ne … stigation/
Wątek na AF:
https://atari-forum.com/viewtopic.php?p=446002#p446002
Tak pokrótce, 'BAD DMA' to jedna z wersji układu DMA o numerze C025913-38. Była ona montowana w ST i wczesnych STE.
W ST i większości STE układ C025913-38 działał poprawnie, jednak w niektórych STE dane były źle zapisywane na dysk twardy, odczyt był poprawny. Do tej pory jedynym znanym rozwiązaniem była wymiana w STE albo DMA na nowszą wersję albo procesora na wersję HC.
Atari zalecało by zapis do rejestrów DMA przez procesor był 32bitowy ("move.l") a nie 16bitowy ("move.w"), ze względu na jakiś błąd w układzie C025913-20 montowanym w pierwszych ST. Otóż @czietz odkrył że w przypadku niektórych C025913-38 w STE, zapis 32bitowy powoduje błąd przy zapisie danych na HDD. Wystarczy więc robić zwykły 16bitowy zapis rejestrów DMA by dane były poprawnie zapisywane na HDD. Wystarczy więc odpowiednio poprawić sterowniki dysków.
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org