@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.