Приветствую Вас Гость | RSS


Главная страница » Scorpion ZS 256 - лечим глюки - ZX-Форум » Регистрация » ВходВторник
2024-06-18
18:56:08
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Scorpion ZS 256 - лечим глюки
KOEДата: Вторник, 2007-09-25, 22:48:40 | Сообщение # 1
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Итак, ниже выложен 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, а юзер сам включит турбу кнопкой, когда ему это будет надо. Единственное неудобство в том, что при управлении турбой через теневик надо помнить, что на самом деле все наоборот. Хотя я теневиком еще ни разу не пользовался. Следует заметить, что это минимальная расплата за кривую зоновскую схемотехнику.

Прикрепления: 04907504.vhd (1.6 Kb)


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"


Сообщение отредактировал KOE - Вторник, 2007-09-25, 23:41:25
 
lvdДата: Среда, 2007-09-26, 10:33:16 | Сообщение # 2
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
А давно ли вы, сударь, вхдл выучили, если не секрет? smile

Многого нет здесь: http://lvd.nedopc.com
 
KOEДата: Среда, 2007-09-26, 20:21:01 | Сообщение # 3
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
С пол-года, как уже. Просто на работе занимаюсь теперь дизайном fpga, а сложные и громоздкие вещи на AHDL писать неудобно.

Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
 
fk0Дата: Четверг, 2007-09-27, 01:41:44 | Сообщение # 4
Активист
Группа: Человеки
Сообщений: 178
Репутация: 0
Статус: Offline
Как мне выучить vhdl?

[САМОЗАБАНЕН]
 
KOEДата: Четверг, 2007-09-27, 01:52:39 | Сообщение # 5
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (fk0)
Как мне выучить vhdl?

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


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
 
deathsoftДата: Суббота, 2007-10-27, 21:39:00 | Сообщение # 6
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (fk0)
Как мне выучить vhdl?

Погуглить на предмет vhdl cook book - в данной книжке в доступной форме все объяснено на примерах. В качестве законченного примера разработан простенький RISC процессор.
 
deathsoftДата: Суббота, 2007-10-27, 21:40:50 | Сообщение # 7
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (KOE)
Т.е. комп стартует теперь с отключенной турбой и с ней же вываливается в TR-DOS

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

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

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

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

Сообщение отредактировал deathsoft - Суббота, 2007-10-27, 21:45:26
 
KOEДата: Воскресенье, 2007-10-28, 17:11:41 | Сообщение # 8
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (deathsoft)
Ну и в чем плюс такой доработки?

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

Quote (deathsoft)

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

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

Quote (deathsoft)
ПЛМ вхдл не поддерживают

Ну и в зад их.

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

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

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

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


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"


Сообщение отредактировал KOE - Воскресенье, 2007-10-28, 17:17:33
 
deathsoftДата: Понедельник, 2007-10-29, 23:00:30 | Сообщение # 9
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (KOE)
В моем экземпляре TR-DOS в турбе не работает.

Не безизвестный Mikka A собрал штук 10 зеленых скорпов, на платах полученных им в фирме скорпион, и не заработала всего 1 плата, во всех остальных TR-DOS прекрасно работает в турбе. Другое дело - что режим турбо может быть реализован криво. Но если уж и дорабатывать, то сделать так, чтобы в доработаной турбе TR-DOS работал в турбо режиме - как в оригинале, а не в заторможеном режиме как на KAY-1024.
 
deathsoftДата: Понедельник, 2007-10-29, 23:05:18 | Сообщение # 10
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (KOE)
В моем экземпляре TR-DOS в турбе не работает.

А прошивка то какая? От проф ПЗУ? Если 2.95 - то она в турбе вроде и не работала, а если от проф пзу - то работала нормально, я ее вообще во флэшку винбондовскую прошил, вместо пзу, хотя у меня вообще желтый скорпион, в котором int сделан на RC-цепочке и еще куча RC-цепочек для подгона времянок. Глюков с турбой на моем скорпе никогда не было.
 
fk0Дата: Вторник, 2007-10-30, 02:15:37 | Сообщение # 11
Активист
Группа: Человеки
Сообщений: 178
Репутация: 0
Статус: Offline
Quote (deathsoft)
Погуглить на предмет vhdl cook book - в данной книжке в доступной форме все объяснено на примерах.

Так, хорошо. С туториалом более менее понятно. На чём примеры запускать проще?
Покупать таки evaluation board альтеры?


[САМОЗАБАНЕН]
 
KOEДата: Вторник, 2007-10-30, 18:41:37 | Сообщение # 12
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (deathsoft)
А прошивка то какая? От проф ПЗУ?

У меня никогда не было профПЗУ, все прошивки я брал с говнофорума.
Quote (deathsoft)
Но если уж и дорабатывать, то сделать так, чтобы в доработаной турбе TR-DOS работал в турбо режиме

Зачем? Есть обстоятельства непреодолимой силы, заставляющие делать именно так?


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
 
deathsoftДата: Вторник, 2007-10-30, 21:18:49 | Сообщение # 13
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (KOE)
Зачем? Есть обстоятельства непреодолимой силы, заставляющие делать именно так?

Нет конечно, можно просто турбу отрубить - и все, глюков и не будет smile Турба делалась в основном для нужд проф ПЗУ, для встроеного форт анализатора и для быстрой компрессии декомпрессии образов памяти в меню save.../load... в мониторе
 
deathsoftДата: Вторник, 2007-10-30, 21:29:15 | Сообщение # 14
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (KOE)
У меня никогда не было профПЗУ, все прошивки я брал с говнофорума.

Прошивка вот эта (версия 4.01) http://www.zxspectrum.it/ROM/PROFROM.ROM, по идее на говнофоруме она тоже была. Брать из жтой прошивки нужно первые 256 или 128 кбайт, в зависимости от того какой у тебя объем микрухи ПЗУ, естественно нужен диспетчер профПЗУ на альтере или на ПЛМ. На счет зеленых скорпов без проф ПЗУ я вообще хз (были ли такие).
 
KOEДата: Среда, 2007-10-31, 09:29:43 | Сообщение # 15
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (deathsoft)
счет зеленых скорпов без проф ПЗУ я вообще хз (были ли такие).

Ну вот у меня есть один.

Quote (deathsoft)
Турба делалась в основном для нужд проф ПЗУ, для встроеного форт анализатора и для быстрой компрессии декомпрессии образов памяти в меню save.../load... в мониторе

Если надо, чтогбы турба была как в оригинале, то нужно сделать так:

process (CLK_7MHZ)
begin
if (CLK_7MHZ'event and CLK_7MHZ = '1') then
if (H1 = '1' and startwait = '0') then
-->> TRB <= not(TRB_IN); <<---
end if;


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
 
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

the DLCorp © 2006