Итак, ниже выложен VHDL-исходник новой прошивки "турбо" для зеленого скорпиона (by KOE).
Исправлены следующие ошибки зоновской прошивки:
1. Формирование сигнала WAIT в нетурбе. Теперь он формируется как ему и положено, в циклах M1 в зависимости от состояния H1. У Зонова были глюки.
2. Формирование сигнала WAIT в турбе. Алгоритм формирования WAIT был сделан таким образом, чтобы диаграмма работы с памятью в турбе на 100% совпадала с работой в нетурбе. Только так можно добиться безглючного функционирования компа. В Зоновской прошивке были серьезные ошибки и его прошивка теоретически работать не могла. Я уж и так и эдак пытался согласовать ее с диаграммами работы Z80, но не получилось. Функционирование же ее на практике можно объяснить только тем, что память может схватывать и выдавать данные быстрее, чем за 0.5 такта 3.5 МГц. Отсюда и глючность скорпионов и их жуткаая критичность к типу ИМС памяти. Теперь все это отсутствует. На моем скорпе с этой прошивкой без единого глюка работают советские ОКР565РУ7Д2.
Вместо p.s.:
К сожалению, контроллер дисковода не всегда безглючно работает в турбе. Обезглючить его просто удлинением WAIT'a при обращении к портам не всегда удается. В идеале, турбу в TR-DOSe надо ВЫКЛЮЧАТЬ, как это сделано в Pentagon-1024sl 2.2. Сделать это в рамках ПЛИС, вставляющейся в переходную колодку вместо оригинальной ПЛИС скорпиона, невозможно. А хотелось сделать так, чтобы для использования моей прошивки не нужно было делать аппаратных изменений в компьютере. Поэтому был сделан 'финт ушами' и состояния компьютера (турбо/нетурбо) были поменяны местами. Т.е. комп стартует теперь с отключенной турбой и с ней же вываливается в TR-DOS, а юзер сам включит турбу кнопкой, когда ему это будет надо. Единственное неудобство в том, что при управлении турбой через теневик надо помнить, что на самом деле все наоборот. Хотя я теневиком еще ни разу не пользовался. Следует заметить, что это минимальная расплата за кривую зоновскую схемотехнику.