Page 1 of 6

Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 25 Sep 2007, 21:48
by KOE
Итак, ниже выложен 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, а юзер сам включит турбу кнопкой, когда ему это будет надо. Единственное неудобство в том, что при управлении турбой через теневик надо помнить, что на самом деле все наоборот. Хотя я теневиком еще ни разу не пользовался. Следует заметить, что это минимальная расплата за кривую зоновскую схемотехнику.

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 26 Sep 2007, 09:33
by lvd
А давно ли вы, сударь, вхдл выучили, если не секрет? smile

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 26 Sep 2007, 19:21
by KOE
С пол-года, как уже. Просто на работе занимаюсь теперь дизайном fpga, а сложные и громоздкие вещи на AHDL писать неудобно.

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 27 Sep 2007, 00:41
by fk0
Как мне выучить vhdl?

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 27 Sep 2007, 00:52
by KOE
fk0 wrote:Как мне выучить vhdl?

Я использовал, в основном, книгу Стешенко "ПЛИС фирмы Altera. Элементная база, система проектирования и языки описания аппаратуры", САПР Quartus и тренировочную плату, на которой стояла EP2C5, контроллер ARM LPC2149 и SRAM K6R4008. Не ставил цель изучить VHDL полностью, сначала изучил минимум, необходимый для начала работы, потом уже по ходу при возникновении вопросов обращался к книге и к знающим людям на работе.

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 27 Oct 2007, 20:39
by deathsoft
fk0 wrote:Как мне выучить vhdl?

Погуглить на предмет vhdl cook book - в данной книжке в доступной форме все объяснено на примерах. В качестве законченного примера разработан простенький RISC процессор.

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 27 Oct 2007, 20:40
by deathsoft
KOE wrote:Т.е. комп стартует теперь с отключенной турбой и с ней же вываливается в TR-DOS

Ну и в чем плюс такой доработки? В скорпе был специально пропатченый TR-DOS который прекрасно работал в турбе, а ты из скорпа KAY сделал, в котором турба в досе отключалась.

Более того, в моем скорпе, (плата SC14 желтая схема) вообще нет ни кнопки ни индикатора турбы, турба включается/выключается только через монитор.

Описать турбу на vhdl - это конечно - просто подвиг (вопрос зачем только?, ПЛМ вхдл не поддерживают). В оригинальной турбе было всего с десяток простейших булевых функций написаны на abel (понимается всеми ПЛМ), ну на vhdl их можно было переписать 1 в 1 (те же 10 строк).

Исправление временной диаграмы - это конечно хорошо, но думаю можно было сделать и в рамках ПЛМ.

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 28 Oct 2007, 17:11
by KOE
deathsoft wrote:Ну и в чем плюс такой доработки?


В том, что она рботет на любом зеленом скорпионе и сразу, и без настройки, и незвисимо от того, кто этот скорп собирал, незвисимо от марки используемых микросхем ОЗУ, независимо от времени суток, температуры, влажности, времени года и фазы луны.

deathsoft wrote:
В скорпе был специально пропатченый TR-DOS который прекрасно работал в турбе, а ты из скорпа KAY сделал, в котором турба в досе отключалась.

В моем экземпляре TR-DOS в турбе не работает. Ты думаешь, что если бы родная прошивка у меня без проблем и сразу заработала, я бы стал что-то делать? Изначально я взял родную Зоновскую прошивку. Прошил. Нифига не работает. Начал разбираться, в чем дело, волосы дыбом встали. Я человек жутко ленивый, если бы не было крайней необходимости, я никогда бы не стал что-то переделывать.

deathsoft wrote:ПЛМ вхдл не поддерживают


Ну и в зад их.

deathsoft wrote:vhdl их можно было переписать 1 в 1 (те же 10 строк)


Если бы еще эти 10 строк нормально работали...

deathsoft wrote:Исправление временной диаграмы - это конечно хорошо, но думаю можно было сделать и в рамках ПЛМ


ПЛМ в Москве стоит дороже, чем простые ПЛИС. Зачем я буду извращаться н abel-е, чтобы потом еще и переплачивать за ПЛМ?

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 29 Oct 2007, 23:00
by deathsoft
KOE wrote:В моем экземпляре TR-DOS в турбе не работает.

Не безизвестный Mikka A собрал штук 10 зеленых скорпов, на платах полученных им в фирме скорпион, и не заработала всего 1 плата, во всех остальных TR-DOS прекрасно работает в турбе. Другое дело - что режим турбо может быть реализован криво. Но если уж и дорабатывать, то сделать так, чтобы в доработаной турбе TR-DOS работал в турбо режиме - как в оригинале, а не в заторможеном режиме как на KAY-1024.

Re: Scorpion ZS 256 - лечим глюки (Новая версия прошивки "турбо" для зеленого скорпиона!!!)

PostPosted: 29 Oct 2007, 23:05
by deathsoft
KOE wrote:В моем экземпляре TR-DOS в турбе не работает.

А прошивка то какая? От проф ПЗУ? Если 2.95 - то она в турбе вроде и не работала, а если от проф пзу - то работала нормально, я ее вообще во флэшку винбондовскую прошил, вместо пзу, хотя у меня вообще желтый скорпион, в котором int сделан на RC-цепочке и еще куча RC-цепочек для подгона времянок. Глюков с турбой на моем скорпе никогда не было.