Вход

Просмотр полной версии : Орион-2010. Hard & Soft



Страницы : 1 2 3 4 [5]

Ewgeny7
29.06.2010, 19:36
Евгений, а зачем ты вкорячивал неродной слот SD-карты?
Видишь ли, я заказывал слоты до того, как приехали платы. Слоты, хочу сказать, весьма популярные на этом форуме (ПентЭва, Спекки-2007, Спекки-2010, Z-контроллер, НеоГС,.......). Поскольку он прекрасно встал через минуту ковыряний, другие я покупать уже не буду.


Да, кстати, для таких работ очень бы пригодилась тебе термовоздушная паяльная станция.
Я уже всерьёз подумываю о подобном подарке себе, любимому :) всё чаще приходится мелочь паять. Старость наверное надвигается :)


Выкладываю документацию по версии 1.07:
Ага, спасибо большое!

---------- Post added at 19:32 ---------- Previous post was at 18:55 ----------

Кстати, к своему стыду, Мегаэлектронику я не знаю. Не знал, точнее.

---------- Post added at 19:33 ---------- Previous post was at 19:32 ----------


я предлагал по флагу "E0" для последнего байта единократно (т.е. только для одного последующего байта) взводить старший бит (D7), и соответственно из регистра тогда будем читать уникальные 8-битные сканкоды. Сделано ли это?
Нет, не сделано. И пока не курил в этом направлении.

---------- Post added at 19:36 ---------- Previous post was at 19:33 ----------


Как оно будет работать - как и RS-232, в двух режимах (по прерыванию и по опросу)? Какими битами (порта F766 на запись?) включаются эти режимы и маскируется перерывание от клавиатуры?
Как скажешь, туда и буду копать.

Error404
29.06.2010, 20:47
Как скажешь, туда и буду копать.

ИМХО, было бы удобно, если бы RS-232 и PS2 управлялись бы похоже (однотипно) - легче бы запоминалось. Да и однотипный код для ПЛИС неверное будет проще сделать?

Ewgeny7
29.06.2010, 21:35
ИМХО, было бы удобно, если бы RS-232 и PS2 управлялись бы похоже (однотипно) - легче бы запоминалось. Да и однотипный код для ПЛИС неверное будет проще сделать?
Да будет так :)
Привнесу кусочек оптимизма - оно работает...
Разъемов сегодня я так и не купил, "Промэлектроника", как обычно нашла причину не работать (у нее это регулярно). В другие магазины уже не успевал.
Дома выдрал зверски старый пыльный VGA-разъем с мамы, и просто вставил его в плату Ориона.
Подкорректировал прошивку под новую память, залил, и... Извините за бардак на столе :v2_laugh:
ОРДОС работает, СР/М не проверял, нету готовой SD-шки стандартного размера с осью на борту. Но светодиод мыргает исправно :v2_wink2:

Error404
29.06.2010, 22:44
Я вот что тут подумал: "утвержденный" алгоритм обработки PS2 на порту F766h (4Eh) (нажали->прерывание->код кнопки в регистре F766) не позволяет реализовать автоповтор при вводе. А не иметь автоповтора в 2010 году - это недопустимо. Надо придумывать еще что-то...




ОРДОС работает, СР/М не проверял, нету готовой SD-шки стандартного размера с осью на борту. Но светодиод мыргает исправно :v2_wink2:

Круто. А RS-232?

Ewgeny7
29.06.2010, 22:52
Круто. А RS-232?
а разъема нет пока :(

Выкинул из схемы десяток деталей, экономный я, типа :)
Отрегулировал яркость экрана резисторами.
Отрегулировал яркость светодиода.

Убедюсь, что все блоки работают - начну собирать вторую машинку. Программно-аппаратные доделки будут уже потом.

---------- Post added at 22:52 ---------- Previous post was at 22:50 ----------


Я вот что тут подумал: "утвержденный" алгоритм обработки PS2 на порту F766h (4Eh) (нажали->прерывание->код кнопки в регистре F766) не позволяет реализовать автоповтор при вводе.
сейчас pvlad закидает меня помидорами ;)
Может забудем про клавиатуру? Есть как есть...

pvlad
30.06.2010, 00:32
сейчас pvlad закидает меня помидорами
Может забудем про клавиатуру? Есть как есть...
Да нет! Все норимально! Просто Сергей, слету, не придумал алгоритм. Я ему подскажу. Это алгоритм для одной кнопки, поэтому будем иметь ввиду, что разговор идет об одном и том же символе.
И так, после нажатия символьной клавиши, входим в прерывание и выдаем символ и по таймеру 50гц. запускаем счетчик на 2-3сек. При обработке очередного прерывания таймера, проверяем не появился ли ноль (клавиша отпущена?) и уменьшаем счетчик. Если счетчик отсчитал 2-3 сек и клавиша не отпущена, то выдается снова символ. Если счетчик не досчитал, а появился ноль, то сбрасываем счетчик и заканчиваем процедуру вывода символа.
Продолжим: счетчик отсчитал 2-3 сек (через вычитание - так проще программно обрабатывать) и клавиша не отжата - выдаем следующий символ, и запускаем новый счетчик по таймеру 0,5 сек (понятно, что это программные счетчики). И вот мы каждые 0,5 сек теперь проверяем отпущена ли клавиша (не забываем перезапустить счетчик на следующие 0,5сек!), и если нет, то снова выводим символ. Если при очередном прерывании (0,5 сек) таймера окажется, что клавиша отжата (в порту - ноль), то сбрасываем все счетчики, ячейки и т.д., и ждем следующего нажатия новой клавиши, и - прерывания от PS/2. Примерно, так!
Конечно плохо, что нет аппаратного таймера (я предлагал!), хотя бы 8-разрядного. Если брать (округленно) 20 мл.сек х 256=5сек! Он очень упростил бы весь алгоритм драйвера - достаточно было бы запихивать в него константу и ждать прерывание. А так придется использовать прерывание 50гц (20 млсек). и крутить программные счетчики (3-4!). Придется помудохаться и с манипуляцией счетчиками!

P.S. Наверное раз 20 переделывал этот текст, чтобы было по-понятней. Не знаю - удалось? Если что-то не понятно - спрашивайте.

Keeper
30.06.2010, 01:18
Извините что снова вмешиваюсь, но есть немного текста на собачей мове:

http://www.computer-engineering.org/ps2protocol/
http://www.computer-engineering.org/ps2keyboard/


First of all, the PS/2 device always generates the clock signal. If the host wants to send data, it must first put the Clock and Data lines in a "Request-to-send" state


When you press and hold down a key, that key becomes typematic, which means the keyboard will keep sending that key's make code until the key is released or another key is pressed.

Ну вы понели...

Ewgeny7
30.06.2010, 09:34
Ну вы понели...
Имеется ввиду, что клава полюбому при нажатой и удерживаемой клавише будет посылать сканкод, автоматически генерируя все необходимые задержки и вызывая прерывания (в нашем случае)?. Т.е. мудрствовать лукаво с автоповтором не надо, это уже сделано в самой клавиатуре.

Error404
30.06.2010, 09:43
Извините что снова вмешиваюсь, но есть немного текста на собачей мове:

http://www.computer-engineering.org/ps2protocol/
http://www.computer-engineering.org/ps2keyboard/





Ну вы понели...

Ну и чудненько. Думаю, штатный автоповтор клавиатуры (параметры: Typematic delay 500 ms., Typematic rate 10.9 cps.) нас вполне устроит. Не нужно будет организовывать лишние циклы опроса в своем коде.

Мне понравилась идея pvlad класть 0 в порт F766 если не нажата ни одна клавиша. Предлагаю при этом выдавать и прерывание (по моменту отпускания всех кнопок). Это может пригодиться для индикации одновремнно нажатых кнопок:ewgeny7 писал, что коды таких кнопок передаются последовательно, но не ясно как работая сугубо по прерыванию и по нажатию разбирать - кнопки нажимались последовательно (с отпусканиями), или нажаты одновременно и удерживаются (ведь код отпускания мы не передаем). А тут станет понятно: пришел код очередной кнопки, а "нолик пока не проскочил", значит кнопки нажаты одновременно. Вот только можно ли в ПЛИС организовать анализ (и прерывание) отпускания последней из одновременно нажатых (т.е. только в том случае если было нажато несколько и в данный момен отпущена последняя из всех нажатых, т.е. не нажато ни одной)? ewgeny7, как оно, получится?

LexaKK
30.06.2010, 09:50
Чем шил альтеру? Внутренним или внешним программатором?
Подкорректировал прошивку под новую память,А что там корректировать? Память такая же, как на макете.
Кстати, VGA-разъемы, которые на мамах - короче тех, которые на видеокартах. Плата сделана под последние (длинные).
Евгений, выкладывай исходники платы на всеобщее обозрение...

Ewgeny7
30.06.2010, 10:46
Вот только можно ли в ПЛИС организовать анализ (и прерывание) отпускания последней из одновременно нажатых
К следующей пятилетке...


Чем шил альтеру? Внутренним или внешним программатором?
Внешним. Шнурка LPT нет лишнего.


А что там корректировать? Память такая же, как на макете.
Размер памяти больше стал, вводил А18 (официально) и расширял регистр страниц под нее.

Евгений, выкладывай исходники платы на всеобщее обозрение...
Можно и выложить. Только сыромятина нужна кому? Там даже порта F767(4F) и в помине нет.

---------- Post added at 10:46 ---------- Previous post was at 10:45 ----------


А RS-232?
Работает.

Ewgeny7
30.06.2010, 13:33
Плодотворно провел полдня :)
Монитор Samsung SyncMaster 765mb выдает надпись "60 герц".
Какойто неизвестный АР (АРТ?) выдает более четкую характеристику сигнала: "58,76 Гц".
Думаю, этого результата будет вполне достаточно для ЛЮБОГО монитора.
Дома еще проверю центровку на двух своих LCD-мониторах.
Картинко стала крупнее, и в режиме widescreen разъехалась до самых краев монитора. Больше увеличивать частоту не стал.

Доработал также прошивку проекта нашими последними "достижениями" с портом 4F и сопутствующими блокировками.
Маленько облагородил код, стал нормально работать режим 2,5Мгц с РОМ-диском.

Пока всё. Сегодня поеду в "Мегаэлектронику" за недостающими разъемами.
После этого первая плата, в принципе, будет готова.

Выкладываю обновленный проект.

Error404
30.06.2010, 15:50
К следующей пятилетке...


Я вот тут подумал: можно сделать существенно проще, причем будут отображаться как нажатия кнопок, так и отпускания (соответственно, можно будет обработать и одновременные нажатия нескольких кнопок, и , при желании, удерживание кнопки ). Для этого в бит D7 кода клавиши транслируем из пакета информацию не о префиксе E0 (расширенные кнопки), а о префиксе F0 (отпускание клавиши). Т.е. каждый раз, на каждый пакет (как на нажатие, так и на отпускание), выдаем прерывание и код клавиши (D6..D0), который при нажатии содержит D7=0 (пакет НЕ содержал байт F0), а при отпускании D7=1 (пакет содержал байт F0).

При этом будут неразличимы LeftCTRL и RightCTRL, а также "слипнутся" (будут выдавать один и тот же код) кнопки NumPad-а и стрелки_плюс_то_что_над_стр лками (работать будет аналогично как если бы всегда был выключен NumLock). Это в принципе решаемо программно в драйвере.

b2m
30.06.2010, 16:31
Я вот тут подумал
А почему вы не хотите сделать без всяких выкрутасов с битом D7 и всю обработку E0,F0 и т.п. возложить на драйвер? Ну будет ещё один байт в области переменных монитора (с флагами о появлении E0 и F0 перед кодом клавиши), но возможностей ведь тогда будет по максимуму!

Error404
30.06.2010, 16:38
А почему вы не хотите сделать без всяких выкрутасов с битом D7 и всю обработку E0,F0 и т.п. возложить на драйвер? Ну будет ещё один байт в области переменных монитора (с флагами о появлении E0 и F0 перед кодом клавиши), но возможностей ведь тогда будет по максимуму!

2 прерывания на нажатие + 3 прерывания на отпускание для обработки кнопки, это КМК уже перебор. А если еще и автоповтор 10 символов в секунду - страшно подумать. А еще параллельно прерывания RS-232 (до 38кбод) и 50ГЦ надо бы обрабатывать. Жуть.

Чем больше переложим на железку, тем больше вероятность компу хоть иногда вылезать из обработчиков прерываний. :)

Но в целом, реализуемо, конечно.

b2m
30.06.2010, 17:15
2 прерывания на нажатие + 3 прерывания на отпускание для обработки кнопки, это КМК уже перебор
Я понимаю, если бы это прерывание выполнялось хотя бы 10000 раз в секунду, но 2-3 - это вряд-ли можно считать перебором. Ты когда-нибудь считал до 10000?

Не в том месте экономите, товарищи!

Error404
30.06.2010, 17:26
Я понимаю, если бы это прерывание выполнялось хотя бы 10000 раз в секунду, но 2-3 - это вряд-ли можно считать перебором. Ты когда-нибудь считал до 10000?

Не в том месте экономите, товарищи!

И в каком же месте надо?

Я считаю, что чем меньше будет прерываний, тем лучше. Учитывая то, что каждый уважающий себя обработчик "соседних" прерываний делает DI/EI, то зевнуть часть пакета (а на на остальной части все и разъедется) - нефиг делать. Пусть уж лучше будет "один пакет - одно прерывание". В идеале еще бы и отпускание не анализировать (чтобы проигнорировав прерывание не получить вечнонажатых кнопок), но похоже не получится. А проглатывание нажатия на отдельную кнопку не страшно - еще раз нажмут.

pvlad
30.06.2010, 17:45
Я вот тут подумал...
Мне кажется, не надо мудрить такие сложности, я имею ввиду "D7". Самое простое - это сделать двухбайтовый порт 4F-50.

b2m
30.06.2010, 18:18
Пусть уж лучше будет "один пакет - одно прерывание".
Теоретически, можно все прерывания повесить на один вектор, если будет регистр запросов. Если перед выходом из прерывания появились ещё запросы, то обрабатывать и их тоже. Например ввести порт, который по чтению выдавал бы поступившие запросы, а по записи - сбрасывал бы их там, где в записываемом числе еденичка(чки). Тогда запрос прерывания для процессора будет логическим ИЛИ всех битов этого регистра. Ну или более сложная функция, если ещё порт маски прерываний есть. В этом случае сложно будет пропустить прерывание.

Error404
30.06.2010, 18:30
Мне кажется, не надо мудрить такие сложности, я имею ввиду "D7". Самое простое - это сделать двухбайтовый порт 4F-50.

Какие уж тут сложности: по приему от клавиатуры байта F0 взводить некий однобитный триггер в "1", по приему любого другого байта сначала копировать значение триггера в бит D7 регистра F766h(4Eh), затем этот триггер опрокидывать в "0". Плюс все то, что уже реализовано (код клавиши в регистр, выдать прерывание).

Про порт 4F не понял - это же порт конфигурации, управляющий новыми режимами ПЗУ.

Двухбайтовый порт в реализации получится не проще - кроме дополнительного селектора (и гейта в ПЛИС) для 50h все равно нужно будет конвейер из этих двух портов делать (в дополнение к существующему алгоритму). И это только для вылавливания префикса F0.

Но, есть и плюс - имея 2 порта можно и состояние префикса E0 отобразить.... в следующей пятилетке (с) ewgeny7 :)
Тогда уже не конвейер, а как-то по-другому, более сложно выставлять второй регистр

pvlad
30.06.2010, 20:06
Какие уж тут сложности: по приему от клавиатуры байта F0 взводить некий однобитный триггер в "1", по приему любого другого байта сначала копировать значение триггера в бит D7 регистра F766h(4Eh), затем этот триггер опрокидывать в "0". Плюс все то, что уже реализовано (код клавиши в регистр, выдать прерывание).
.....
Двухбайтовый порт в реализации получится не проще...

Что-то я мысль не уловил! Но думаю, придется попыхтеть, чтобы такой автомат реализовать на логике.

И все-таки, самое простое, это принять два байта с клавиатуры и запросить прерывание. Все остальное (F0 или E0) - выяснять программно. Кроме того, в обработчике прерывания клавы, выключать прерывания 50гц. нельзя (ну, разве что в самых критических точках). Иначе грош цена таймеру на этом прерывании.
Кстати, при очень большом желании (прости мне Господи крамольную мысль!) можно отказаться от прерывания клавиатуры. Можно по прерыванию 50гц. проверять есть ли байт с клавиатуры. Думаю, если опрашивать клаву каждые 20 млсек, то вряд-ли что пропустишь.

Ewgeny7
30.06.2010, 22:15
(прости мне Господи крамольную мысль!)
Ничуть не крамольно. Спековская клавиатура так и работает.

---------- Post added at 22:15 ---------- Previous post was at 22:12 ----------

А я тут пыхтю с видеовыводом, пока вы там философствуете :)
LCD мониторы отказались жить дружно с описанным мною режимом.
сейчас вроде как поймал хороший режим - 800х600 56Гц. Капризный AL1716 показывает картинку хорошо, ACER V173 также прекрасно. Теперь буду проверять на работе на ЭЛТ-мониторах :)

Да, разъемы купил... почти... Нету RS-232. Могу предложить вариант с впаиванием разъемов со старинных материнок. Они немного пыльные, да и голубого цвета... ;)

LexaKK
30.06.2010, 22:59
Цитата:
Сообщение от LexaKK Посмотреть сообщение
Евгений, выкладывай исходники платы на всеобщее обозрение...
Можно и выложить. Только сыромятина нужна кому? Там даже порта F767(4F) и в помине нет.
Я имел ввиду PCADовские файлы и BOM. Можно на первую страницу и на твой сайт

Ewgeny7
30.06.2010, 23:06
Я имел ввиду PCADовские файлы и BOM. Можно на первую страницу и на твой сайт
Пнятна, хорошо :)

Error404
30.06.2010, 23:36
Да, разъемы купил... почти... Нету RS-232. Могу предложить вариант с впаиванием разъемов со старинных материнок. Они немного пыльные, да и голубого цвета... ;)

Это (http://zx.pk.ru/showpost.php?p=296145&postcount=6), как я понимаю, оно (http://zx.pk.ru/showpost.php?p=296145&postcount=6)?
Выглядит прикольно. :) Синие разъемы вполне себе...

Как SD? Работает (CP/M)?

Ewgeny7
01.07.2010, 08:43
Как SD? Работает (CP/M)?
Да, работает. На 5Мгц онли. После добавления порта 4F работа на других скоростях скисла. Разбираюсь.

LexaKK
01.07.2010, 10:17
Да, работает. На 5Мгц онли. После добавления порта 4F работа на других скоростях скисла. Разбираюсь.А на твоем макете на других скоростях работает? У меня есть подозрения, что на моей плате из-за длинных и рядом расположенных проводников шины SPI в них возникают crosstalk'и (для противников собачьей мовы - перекрестные помехи). Сможешь проверить на своей макетке, а затем, и на моей плате со старой прошивкой (гарантированно рабочей)?

Ewgeny7
01.07.2010, 16:02
А на твоем макете на других скоростях работает? У меня есть подозрения, что на моей плате из-за длинных и рядом расположенных проводников шины SPI в них возникают crosstalk'и (для противников собачьей мовы - перекрестные помехи). Сможешь проверить на своей макетке, а затем, и на моей плате со старой прошивкой (гарантированно рабочей)?
Эта макетка уже у Сергея. Там работало нормально на 10Мгц.
Здесь отказалось... Но дело, думаю, не в SD-интерфейсе, а памяти. Ничего, разберемся. Трёх дней хватит :)

Ewgeny7
01.07.2010, 22:14
Собирается плата №0002 (Error404). Попутно мучаю турбу.

---------- Post added at 22:14 ---------- Previous post was at 20:34 ----------

Частично паченил турбу. Траблы оказались в верхней области памяти. Пока сделал аппаратное выключение турбо на верхней области. Надо смотреть платку, мож наводки какие... На МГТФе проводочки были подальше друг от друга.

Error404
01.07.2010, 23:27
Частично паченил турбу. Траблы оказались в верхней области памяти. Пока сделал аппаратное выключение турбо на верхней области. Надо смотреть платку, мож наводки какие... На МГТФе проводочки были подальше друг от друга.

Если бы это была платка, то турба не работала бы по всей длине адресного пространства. А если еще вспомнить, что началось после модификации схемы в части обработки подпзушечного ОЗУ....

Кстати, в среднем по больнице, верхняя область памяти используется чаще нижней.

Ewgeny7
02.07.2010, 07:53
А если еще вспомнить, что началось после модификации схемы в части обработки подпзушечного ОЗУ....
Да, сигналы в верхней памяти задерживаются больше из-за сложного менеджмента этого участка. Ищу выход :)

LexaKK
02.07.2010, 10:37
Попробуй уменьшить сопротивление RA2 и RA3 до 33 Ом

pvlad
02.07.2010, 21:28
Да, сигналы в верхней памяти задерживаются больше из-за сложного менеджмента этого участка. Ищу выход :)
Евгений! Решение о том, чтобы применить только один корпус SRAM, конечно красивое и элегантное! Чего тут греха таить! Но, похоже, оно создает столько проблем, что, подозреваю, в душе ты уже, возможно, сожалеешь об этом решении. Поверь - овчинка (копешная!) выделки не стоит! Пытаясь "вытянуть на мизерах", ты лишаешь проект запаса устойчивости, а значит будут проблемы с повторяемостью и периферией. Я это проходил! Думаю, следует на этих платах навесить сверху (чин на чип) второй корпус памяти. Страшного в этом ничего нет -это первые, экспериментальные платы, и вполне могут иметь навесные проводники. Я, наученный горьким опытом с Орион-ПРО, нисколько не сомневаюсь, что придется делать правки платы и выпускать следующую версию, где будут учтены все эти проколы.
Кроме того, появится возможность в этом же железе прошивать и TV-версию (надеюсь!). Иметь такую универсальную плату, где можно было бы прошить обе версии Ориона - это будет высший класс! В этом случае тебя вряд-ли кому удастся переплюнуть в многогранности реализации очень сложного проекта.

Ewgeny7
02.07.2010, 23:22
правки в плате будут. Например, упростить видеовыход (убрать транзисторы и часть резисторов), резисторы подтяжки шины данных перенести за буферную микросхему (в текущем расположении от них толку нет). Может еще что найду.
А затык вышел плотный... Перепробовал уже все комбинации сигналов "вокруг" доступа к вершине памяти, не считая "расчетных". Не хочет! Не успевают устаканиться адреса, идет разброс и в записи, и в чтении. Остается только пробовать менять режимы работы самого Z80.
Насчет ТВ-версии - думаю что не есть это хорошо. Амплитуда сигналов как минимум разная. Почесав репу, я и сделал упрощение видеовыхода под ВГА.
Второй чип ОЗУ (или один чип 16-ти битный) решил бы вопрос с турбиной. Но это не наш метод, мы легких путей уже не ищем :)

Ну и напоследок, на всякий случай выложу текущий проект для существующих плат.
Имеет все последние доработки, из минусов - торможение турбы с 10Мгц до 5Мгц в диапазоне адресов F000-F700.
Мне это никоим образом не мешает, но Сергею нужно "ровную" производительность для СР/М. Работаю далее над этим.

pvlad
03.07.2010, 00:36
Насчет ТВ-версии - думаю что не есть это хорошо. Амплитуда сигналов как минимум разная. Почесав репу, я и сделал упрощение видеовыхода под ВГА.
Ни что не мешает сделать смеситель ТВ на отдельной платке и подключить ее куда надо (на цифровой выход). В следующих релизах плат можно сделать спец.разъемчик для подключения внешнего формирователя видео вместе с разъемом для подключения ТВ.


Второй чип ОЗУ (или один чип 16-ти битный) решил бы вопрос с турбиной. Но это не наш метод, мы легких путей уже не ищем
Ну-ну! Упорство черта уважаемая, но упрямство, без чувства меры "не есть это хорошо"!

Ewgeny7
03.07.2010, 17:04
Ни что не мешает сделать смеситель ТВ на отдельной платке и подключить ее куда надо (на цифровой выход).
Это пожалуйста :)


Упорство черта уважаемая, но упрямство, без чувства меры "не есть это хорошо"!
На четвертый день таки сделал :v2_yahoo:
Пришлось неможко пожертвовать скоростью, супертурбо вышло 9Мгц. Мысли как разогнать повыше имеются, буду проверять.

Из дополнительных изменений - отключил нафик доступ к порту F767, оставил только его "проекцию" 4F. Иначе некоторые игрушки вгоняют в глубокий ступор систему, из которого и ресетом не выйти :v2_devil:

Из новых предложений - хочу заблокировать ВСЕ порты на чтение с адресацией xxFE. Хреновы адаптаторы игр со спектрума почему-то частенько не убирают опрос клавиатуры по спектрумовской схемотехнике, и мы имеем черти-что на данной плате. Ваше мнение?

Ewgeny7
03.07.2010, 23:25
Плата №0002 передает привет :)
Заодно выяснил, отчего глюки были. На вторую плату я пока не напаивал буфера.
Судя по всему, они создают достаточную ёмкость на линиях, чтобы вызвать перекос сигналов. Будем считать наличие буферов на этих платах обязательным, раз прошивка уже скорректирована :v2_smoke:

---------- Post added at 23:25 ---------- Previous post was at 23:11 ----------

Примерил второй чип ОЗУ бутербродом. Вроде реально вполне. Выбор кристалла можно сделать по новым сигналам RAM_OE1 и RAM_WE1. Получится метр памяти.

Error404
04.07.2010, 13:48
Из дополнительных изменений - отключил нафик доступ к порту F767, оставил только его "проекцию" 4F. Иначе некоторые игрушки вгоняют в глубокий ступор систему, из которого и ресетом не выйти :v2_devil:

Из новых предложений - хочу заблокировать ВСЕ порты на чтение с адресацией xxFE. Хреновы адаптаторы игр со спектрума почему-то частенько не убирают опрос клавиатуры по спектрумовской схемотехнике, и мы имеем черти-что на данной плате. Ваше мнение?

Все это сделать можно и даже нужно (раз надо для ZX-игрушек). Доступа по OUT (IOREQ) к новым конфигурационным портам вполне достаточно, т.к. они устанавливаются редко. Но к портам данных (старым F40х, F50х, F60х, и новым F760..F766) нужно иметь доступ и по LD (MREQ), т.к. доступ по LD с косвенной адресацией дает до 20-30% прироста быстродействия в сравнении с OUT, это немало учитывая что у нас частоты такие, что разбрасываться ими грех. :)

---------- Post added at 13:48 ---------- Previous post was at 13:43 ----------


Плата №0002 передает привет :)
Заодно выяснил, отчего глюки были. На вторую плату я пока не напаивал буфера.
Судя по всему, они создают достаточную ёмкость на линиях, чтобы вызвать перекос сигналов. Будем считать наличие буферов на этих платах обязательным, раз прошивка уже скорректирована :v2_smoke:


Может, тогда ну их нафиг эти буфера? Все равно, как я понял, снаружи к шине расширения ничего не прицепить из-за особенности реализации мультиплексора доступа к видео-ОЗУ (как я понимаю, слишком короткие циклы WR/RD?) и надо переделывать на многоногой ПЛИС. Кстати, чем закончилось с 512ВИ1?



Примерил второй чип ОЗУ бутербродом. Вроде реально вполне. Выбор кристалла можно сделать по новым сигналам RAM_OE1 и RAM_WE1. Получится метр памяти.

Я думаю, пусть лучше плата N000002 будет такая же как все. Может, ну их, эти бутерброды - "512к в принципе достаточно для всего" (с) Уильям Гейц. Лучше пусть ОЗУ останется на еще одну платку.

Ewgeny7
04.07.2010, 14:25
Может, тогда ну их нафиг эти буфера?
Полторы платы собраны с буферами, придется доделывать остальные.

Кстати, чем закончилось с 512ВИ1?
Ничем, сначала отвлекся, потом вообще забросил - куча дел наличествует. например, сейчас собираю 0003.


Я думаю, пусть лучше плата N000002 будет такая же как все. Может, ну их, эти бутерброды - "512к в принципе достаточно для всего" (с) Уильям Гейц. Лучше пусть ОЗУ останется на еще одну платку.
Именно так и произошло. Все три платы будут совершенно одинаковыми, с общей базовой прошивкой.

Ewgeny7
04.07.2010, 17:17
Собрал третью плату. За разъемами RS-232 еще предстоит поездка в столь нелюбимый чупа-дипс :v2_sick:

опробовал работу встроенного байтбластера на всех платах, работает превосходно :v2_thumb:
Только корпус панельки ПЗУ создает неприятности, слишком близко к разъему LPT :( Но фпихнуть можно при желании :)

Внизу "стандартный комплект" :)

Ewgeny7
04.07.2010, 17:32
Опробовал также купленный в магаззине адаптер USB2COM российского производства.
Дрова разумеется кривые, но подошел нормально 64-битный драйвер (у мну обычный пень-4 32 бит). Чудеса, ну и ладно...

---------- Post added at 17:28 ---------- Previous post was at 17:27 ----------


Попробуй уменьшить сопротивление RA2 и RA3 до 33 Ом
Установил 56 и 0 соответственно (из того, что было). Ничего не изменилось, работает.

---------- Post added at 17:29 ---------- Previous post was at 17:28 ----------

RA4 - 4k7, нормально. Выбрал "золотую середину" :)

---------- Post added at 17:30 ---------- Previous post was at 17:29 ----------

RA5 и RA8 - по 56 ом. Также "среднее значение" для байтбластеров.

---------- Post added at 17:32 ---------- Previous post was at 17:30 ----------

Резисторы R12, R38, R37 - по 220 ом. Пересчитывал по формуле великого Ома. 1к - слишком перебор.

Ewgeny7
04.07.2010, 17:51
Видеовыход собирается в соответствии:

LexaKK
05.07.2010, 10:58
Евгений, разъемы X11, X10, X9 сделаны для варианта с ПЦ-корпусом. Для нас же больше подойдет вариант, в котором эти разъемы не впаиваются, а на место X10 ставится светодиод аналогично VD4

Ewgeny7
05.07.2010, 12:35
Евгений, разъемы X11, X10, X9 сделаны для варианта с ПЦ-корпусом.
Можно и так.
Но я лучше на шлейфике размещу и биппер, и светодиод, даже если в микрокоробочке :)

Error404
05.07.2010, 12:42
Только корпус панельки ПЗУ создает неприятности, слишком близко к разъему LPT :( Но фпихнуть можно при желании :)


А на фотке этого не видно...



Внизу "стандартный комплект" :)

Картинку утащил на свою страничку. Пеар :)

Ewgeny7
05.07.2010, 12:54
Картинку утащил на свою страничку. Пеар
счет вышлю по факсу :)

Алексей, файлики по плате 1.07 залил на наш сайтик, сцылки обозначил.
Но там еще надо много чего разгребать... Дату обновления поэтому пока не менял.
Кстате, давайте я вам всем отправлю пароли и явки к сайту, дабы сами могли чего-либо подправить при желании. А то сижу тут как куркуль... :)

LexaKK
05.07.2010, 15:39
Но там еще надо много чего разгребать...Пиши файл TODO - чтобы ничего не забыть

pvlad
06.07.2010, 00:20
Плата №0002 передает привет.
Заодно выяснил, отчего глюки были. На вторую плату я пока не напаивал буфера.
Мне хотелось бы прояснить вопрос: эти платы могут иметь практическое применение (подключение периферийных плат), или они чисто для демонстрации новых технологий? Как я понимаю, они могут работать только как законченные "персоналки"?


Примерил второй чип ОЗУ бутербродом. Вроде реально вполне.
Так в чем дело? Мне, к примеру, хватило бы и 64Кх2, но зато нормально работающая периферия и универсальность видеовыхода!


....Все три платы будут совершенно одинаковыми, с общей базовой прошивкой.
Не думаю, что это единственно правильное решение. Я бы сделал платы разными, чтобы отрабатывать различные направления. Можно только мечтать, что у проекта есть столько тестеров с разными интересами!
У тебя уже много собранных макеток, поэтому не составило бы труда иметь у себя прототип на каждый вариант. Да, хлопотно, за то будет богатый материал и статистика для размышлений и усовершенствований! Допустим, меня очень расстраивает неполноценность шины, а Сергею на нее наплевать - лишь бы работала СРМ, т.е. его интересует Орион, как некая "персоналка". Думаю, и Алексей выберет это же вариант. А мне это совсем не нужно. Для меня важнее управление периферией и иметь возможность прошивать VGA или ТВ варианты - в зависимости от решаемых задач. А для этого нужна 16-ти разрядная память и разные видеовыходы - я правильно понимаю? Может быть все-таки Орион-2010 отрабатывать в двух вариантах? Или лениво?
Если честно, то я согласен на аккуратно сделанный вариант (если судить по фото - ты это делать умеешь!) на макетке, но лишь бы было то, что мне необходимо. А свою печатную плату я могу и подарить.

Ewgeny7
06.07.2010, 08:30
(подключение периферийных плат)
Я попробую подключить периферийные порты типа 555АП6. Если получится - будете иметь контроллер :)


Не думаю, что это единственно правильное решение. Я бы сделал платы разными, чтобы отрабатывать различные направления.
А я думаю, что правильно. Вести техподдержку разных версий, не имея всех прототипов под рукой - невозможно.

---------- Post added at 08:30 ---------- Previous post was at 08:30 ----------


Может быть все-таки Орион-2010 отрабатывать в двух вариантах? Или лениво?
не на чем

Ewgeny7
06.07.2010, 11:03
Платы 0001 и 0002 к отправке практически готовы.
Отловил последние глюки, хорошо что не "архитектурные", а банально старые бэушные резисторные сборки, которых нет в магазинах в наличии. Впрочем, Чип-Дип вчера также порадовал, разъемов RS-232 и у них тоже нету. Запаиваю голубые со старых плат. Пять дней убил на разъезды по магазинам за этими разъемами...

---------- Post added at 11:03 ---------- Previous post was at 11:02 ----------

Сверяемся - 56Гц кадровой и 35кГц строчной у всех мониторы держат? ;)

pvlad
06.07.2010, 11:25
Я попробую подключить периферийные порты типа 555АП6. Если получится - будете иметь контроллер.
Это не гарантия. Вот если будет работать, к примеру, ВВ55, тогда можно еще что-то утверждать. Я сомневаюсь, что получится что-то более-мение стабильное.



Вести техподдержку разных версий, не имея всех прототипов под рукой - невозможно.
Почему же нет! У тебя уже несколько макеток с Орионом. Что мешает одну из них сделать совместимой с той версией, которую прошу я, и держать ее у себя? И потом всего две версии: стандартная и контроллер (для меня)! Обе версии имеют свои ниши направленности.

Ewgeny7
06.07.2010, 13:30
У тебя уже несколько макеток с Орионом.
Откуда же? У меня одна, со 144-ногой альтерой, ТВ-выход. Больше макеток нет.

---------- Post added at 13:28 ---------- Previous post was at 13:25 ----------


Что мешает одну из них сделать совместимой с той версией, которую прошу я, и держать ее у себя?
Мне не сложно переделать эту макетку под ваш "спецзаказ", только нужно чёткое ТЗ, а то отправлю, а оно не то окажется :)

---------- Post added at 13:30 ---------- Previous post was at 13:28 ----------


к примеру, ВВ55,
вот тут я точно не дам никаких гарантий, эта "старушка" слишком медленная, на первой версии платы приходилось тормозить тактовую чтобы работать с ней. Регистры типа 374 куда как шустрее.

pvlad
06.07.2010, 15:25
Откуда же? У меня одна, со 144-ногой альтерой, ТВ-выход. Больше макеток нет.
Помню, где-то пролетело от тебя заявление, дескать, пока вы тут бодаетесь, я еще одну макетку сварганил. Вот и подумал...


Мне не сложно переделать эту макетку под ваш "спецзаказ", только нужно чёткое ТЗ, а то отправлю, а оно не то окажется
Собственно, какое ТЗ! В предыдущих постах (на 104, 105 стр.) я высказал все, что мне надо. Извини, повторяться уже не хочется...

Кстати, ранее у нас был такой разговор:


Может быть вместо шинников надо было применить регистры-защелки с буферными элементами? Думаю, это успокоило бы шину.
Попробуем уже по факту сборки. Может и выйдет что толковое.

Может быть поможет. Ты бы попробовал.

Ewgeny7
06.07.2010, 16:06
Помню, где-то пролетело от тебя заявление, дескать, пока вы тут бодаетесь, я еще одну макетку сварганил.
Ага. я про нее и говорю.
Первая макетка (зеленая) уже давно отправлена была Сергею (ибо обещал давно).


В предыдущих постах (на 104, 105 стр.) я высказал все, что мне надо.
Просмотрю еще раз.


Может быть поможет.
Скорее всего поможет отчасти, по крайней мере адреса защелкивать.
Но добавит проводов на плате.

Кому какие Мониторы зашивать в альтеру? В вашем распоряжении место под два Монитора, один из них стартует по умолчанию, второй запускается с клавиатуры.
Выбирайте каждый свой вариант.

---------- Post added at 16:06 ---------- Previous post was at 16:05 ----------

Плата 0003 прошла "прогон" уже семь часов в режиме "DIZZY-4" :)
Полет нормальный, оставлю до утра.

LexaKK
06.07.2010, 20:23
А что, если сделать некий контроллер переферии (как SuperIO на ПК)? Что-нибудь, типа ATmega8. Изнутри подключается по параллельной шине и проецируется на область памяти или IO. Снаружи - все, что душа пожелает - SPI, I2C, GPIO (TTL, релейные, и опторазвязанные) , UART (RS232, RS422, RS485), CAN, RTC, WatchDOG, различные таймера. Развести все на отдельной плате, которая будет подключаться к существующему разъему шины с использованием мезонинного конструктива (одна плата над другой на стойках - бутербродом). Преимущества - независимость от схемотехнических и конструктивных решений основной платы, гибкость реализации разнообразных вариантов под конкретные задачи. Недостатки - усложнение и удорожание конструкции, увеличение габаритов и веса.
Другой вопрос. Если Владислав хочет использовать все это хозяйство как контроллер, то на чем писать софт? Не на бейсике же! Вижу два варинта - придумать скриптовый язык (как в контроллерах Сименс), либо писать софт в виде испольняемого файла (на АСМе или C). В последнем случае не вижу особой разницы с контроллерами, построенными на базе ARM. Есть тот же VGA, та же SD, только работает все это на частоте >70 МГц, там есть Linux со свеми вкусностями (типа TCP/IP стека) и мощные средства разработки. И стоить это все будет сходных денег.

Ewgeny7
07.07.2010, 12:01
Доработанный файлик будущего мануала.
Можно оценить масштабность (или корявость) текущего состояния.
У кого есть писательский талант, можете добавлять/изменять содержимое.

П.С. Владислав, Сергей! Пришлите мне в личку ваши "текущие координаты" для отправки посылок. Отправлять буду на следующей неделе. Сейчас готовлю DVD-сборник софта и документации для укомплектованности.
Алексей, вам диск отправлять? Без Кактуса остальное можно и через файлообменник передать, но диск интересней :)

ППС. Проходит "обкатку временем" плата Сергея. Прошло почти четыре часа, полёт нормальный.

pvlad
07.07.2010, 12:03
А что, если сделать некий контроллер переферии (как SuperIO на ПК)? Что-нибудь, типа ATmega8...
Тогда зачем нужен Орион?


Если Владислав хочет использовать все это хозяйство как контроллер, то на чем писать софт?
Лично я - на АСМе! Я пишу уже много лет на ассемблере для нескольких контроллеров и процессоров. Орион удобен тем, что на нем можно установить свою среду разработки, а на микроконтроллерах - только кроссредства на ПС.


...в последнем случае не вижу особой разницы с контроллерами, построенными на базе ARM.
Тогда зачем мы возимся с Орионом?

to ewgeny7:
Возникла идея! Если сделать синхронизатор дисплея Ориона с экранной памятью и асинхронным портом для записи в нее, как отдельное, автономное устройство (подробности отдельно)? Его можно подключать к любому контроллеру, к примеру, AVR. Какие ресурсы ПЛИС для этого необходимы? Может быть в этом направлении поработать и не пытаться сделать контроллер из Ориона?

Ewgeny7
07.07.2010, 12:09
pvlad, Не совсем понял мысль. Имеешь ввиду возможность записи в экранную область не только процессором, но и внешним устройством (типа DMA)?

pvlad
07.07.2010, 12:32
pvlad, Не совсем понял мысль. Имеешь ввиду возможность записи в экранную область не только процессором, но и внешним устройством (типа DMA)?

Нет! Совсем без Z80. Только синхронизатор+память+порт для записи в память. Несколько страниц экрана+аппаратный скролинг.

Ewgeny7
07.07.2010, 13:18
Нет! Совсем без Z80. Только синхронизатор+память+порт для записи в память. Несколько страниц экрана+аппаратный скролинг.
Этакий "Орион-терминал", без процессора, связь с внешним контроллером посредством USART?
Передача данных на Орион посредством трех байт -
1 и 2 - адрес ОЗУ и портов, проецируемых на ОЗУ. В том числе и переключатель экранных областей FA00.
3. Данные для записи в порт.

Примерно так?

Error404
07.07.2010, 14:26
П.С. Владислав, Сергей! Пришлите мне в личку ваши "текущие координаты" для отправки посылок.


Мои текущие координаты: Хабаровск, гостиница "Интурист". :)
Адрес постоянный не изменился, на всяки случай скину в личку.
Напиши в личку сколько и в какой системе оплаты оплатить.



Алексей, вам диск отправлять? Без Кактуса остальное можно и через файлообменник передать, но диск интересней :)


Мне если можно с диском. :)



ППС. Проходит "обкатку временем" плата Сергея. Прошло почти четыре часа, полёт нормальный.

Сможешь в мою залить такой комплект Мониторов: по питанию=M35zrks (загрузка с SD), по кнопке=M37zrkr (загрузка с RS-232/Ordos)?

Ewgeny7
07.07.2010, 15:31
Мне если можно с диском.
Вам с Владиславом - естесственно всё на дисках. С полной "разжувалкой" что куды пихать, жать и фтыкать. Нащелкаю дома фотографий с процедурой обновления прошивки в ПЛИС.


по питанию=M35zrks (загрузка с SD), по кнопке=M37zrkr (загрузка с RS-232/Ordos)?
No problem.


Хабаровск, гостиница "Интурист"
В Хабаровском аэропорту работает моя родственница Ирина авиадиспетчером, как раз московское направление разруливает :) Вообще, женщина-авиадиспетчер у нас достаточно редкое явление...

---------- Post added at 15:20 ---------- Previous post was at 15:00 ----------

Обновление на нашем сайте.
Залил все файлы проекта (плата, кактус), зачатки мануала, внес изменения в "историю", "галерею", "файлы".

---------- Post added at 15:30 ---------- Previous post was at 15:20 ----------

Error404, несколько дебильный вопрос... когда часы тикают (в СР/М) в отсутствие самих RTC, там секунда считается именно за 50 INT-ов?
А то у меня тут странности с софтверными часами.
Клок 20 Мгц, делитель на 400000 ровно, это дает INT. Часы отстают нехило...

---------- Post added at 15:31 ---------- Previous post was at 15:30 ----------

кажется нашел в чем собака порылась. INT короткий.

pvlad
07.07.2010, 15:57
Этакий "Орион-терминал", без процессора, связь с внешним контроллером посредством USART?
Передача данных на Орион посредством трех байт -
1 и 2 - адрес ОЗУ и портов, проецируемых на ОЗУ. В том числе и переключатель экранных областей FA00.
3. Данные для записи в порт.
Примерно так?

Да, "Орион-видеоконтроллер".
Интерфейс:
1. шина 8-бит (но, лучше упрощенный SPI - меньше выводов надо! Data и CLK)
2. CS (чип-селект)
3.RD/WR
4.COM/DATA

Начну с п.4. В режиме команда (СОМ) записывается/читается (RD/WR) конфигурационный байт в регистр управления, где каждый бит что-то определяет: переключение отображаемых экранов (достаточно двух - остальное пространство использовать, как теневой буфер), аппаратный скроллинг+направление, размер экрана (384-480), TV-VGA, готовность (BUSY) и т.д.
В режиме DATA записывается информация в текущий экран: два байта адреса + байт данных. Чем стробировать цепочку байт при параллельной шине, пока не знаю. При SPI-проблем не будет. Здесь логику надо еще продумывать. Сейчас я просто импровизирую.
Можно отказаться от страницы цвета и применить регистр цвета, как это сделано (есть такой режим) в Орион-ПРО. При этом хватит одного чипа 64К. Можно добавить вывод адреса (0/1). При записи команды будет определять в какой регистр управления (второй регистр упр. - регистр цвета) записывать/читать, а при DATA - в какой экран писать/читать.
Остальные сигналы понятны сами по себе. Самое главное - у тебя уже все отработано. Осталось перекомпоновать и подобрать ПЛИС по проще и подешевле. Лучше без конфиг.ПЗУ.
Если этот проект тебе интересен, то можно открыть новую тему и продолжить дискуссию.

Ewgeny7
07.07.2010, 16:22
ПЛИС по проще и подешевле. Лучше без конфиг.ПЗУ.
Ну, у меня валяются старинные (уже старинные) EPM7128SLC84. КонфПзу не требуют, 84 ноги (доступны 64). Процессор не влезет по определению, видеоконтроллер влезает. Вот насчет цены - вопрос весьма сомнительный. На сегодня Циклоны примененные в Орионе - самые дешевые ПЛИСы вообще.

---------- Post added at 16:22 ---------- Previous post was at 16:16 ----------


кажется нашел в чем собака порылась. INT короткий.
Тревога отменяется, ИНТ удлинил, часы исправны.

Ewgeny7
07.07.2010, 22:54
Не удержусь, выложу посмотреть мой манускрипт на тему обновления прошивки Ориона банальным юзером :)
Эта дока войдет в состав DVD.

pvlad
08.07.2010, 01:21
Вам с Владиславом - естесственно всё на дисках. С полной "разжувалкой"...
Спасибо Евгений! Буду разбираться. За эти годы много чего подзабыл.
Что касается Мониторов. Пока четкого представления не имею, но думаю, надо прошить те же Мониторы, но сделать наоборот, по сравнению с просьбой Сергея. По включению, Орион должен запускаться с ОРДОС. А там, когда войду во вкус, - посмотрим.
В РОМ-диск запиши джентльменский набор для программиста и пару "вещиц", которыми можно было бы тестировать новый Монитор. Сергей, подскажи чем это можно делать!
Что касается SD-карточки (тобыш - СРМ), то, надеюсь, Сергей научит уму-разуму. А еще лучше, если напишет (изнывая по вечерам от скуки в гостинице!) тоже манускрипт, где опишет: какие SD-карточки подходят, как форматировать и чем, как записать туда информацию и инсталлировать СРМ (помнится, что кто-то утверждал, что это самое простое для старта юзера!). Если надо, то могу поискать текст своей книжки "СР/М-80 для Орион-128 и Орион-ПРО". Все же проще его изменить под описание "Альтаир", чем писать заново.

И еще. В своих манускриптах ты ничего не сказал:
1. о векторах прерываний, как их настраивать. Можно привести пример кода, как настраивать вектора;
2. о "тайных" клавишах переключения Мониторов и страниц РОМ-диска. Возможно есть и еще какие-то возможности;
3. если в свое время ты рассказывал (был такой опус-он не устарел?) о работе с USART и контроллером прерываний (даже были приведены кусочки программ - очень ценно!), то про порт клавиатуры PS/2 ты нигде не обмолвился и словом. У этого порта нет прерываний (поленился?). Поэтому хотелось бы знать, как определять (критерий!) достоверность информации в этом порту, если его, к примеру, программно опрашивать в цикле!
4. хотелось бы, чтобы были нарисованы времянки шины и даны рекомендации по проектированию периферийных плат.
5. разрисовать схему (или описать логику и порты) РОМ-диска, чтобы можно было понять, как прочитать байт из РОМ-диска, и как управлять сигналами А16-А18, WE и СЕ.

Ewgeny7
08.07.2010, 08:44
И еще. В своих манускриптах ты ничего не сказал:
Вот и хорошо, план действий уточнился :)


Что касается SD-карточки (тобыш - СРМ), то, надеюсь,
Я уже написал инструкцию по утилите HDDUTIL, как с ее помощью "готовить" SD-карту. Но не выкладываю.
Также, про обновление прошивки я выложил только один документ из двух, в другом разъясняется разница между .jic и .sof файлами, упомянутыми в выложенном манускрипте.


(был такой опус-он не устарел?)
Не устарел никоим образом. Найти бы его на форуме теперь, чтобы заново не сочинять...

---------- Post added at 08:44 ---------- Previous post was at 08:38 ----------


У этого порта нет прерываний (поленился?)
Нет. Добавить вектор несложно, сложно (лично для меня) проверить работу прерывания с клавиатурой. Для этого нужна программулька, которую судя по всему может сваять пока только один человек - Сергей.

Ewgeny7
08.07.2010, 10:03
Вот, слегка дописал согласно пожеланиям :v2_smoke:

pvlad
08.07.2010, 10:38
Вот, слегка дописал согласно пожеланиям :v2_smoke:
Ты дописал очень скромно!

"Картинка" в описании шины, к сожалению, не информативна. Так, для общего представления. Во-первых надо сделать привязку к М1, во вторых показать сигналы WR, RD для I/O, а также действие WAIT.


Не устарел никоим образом. Найти бы его на форуме теперь, чтобы заново не сочинять...
Вышлю в личку.


Нет. Добавить вектор несложно...
Вот и добавь на мою плату! Я намерен заняться новым Монитором - вот и обкатаю. Потом поправим прошивку, если будут ошибки. Программка для проверки может быть примитивной: по прерыванию (не забыть переустановить адрес вектора на эту програмку) читай скан-код, переведи в НЕХ и выведи на экран. Далее остановись в вечный цикл ожидания или HLT и жди следующее прерывание (нажатие клавиши).

Error404
08.07.2010, 13:31
Я уже написал инструкцию по утилите HDDUTIL, как с ее помощью "готовить" SD-карту. Но не выкладываю.


Может, сделаем компиляцию на основе твоего файла - я что-то к этому описанию добавлю, плюс то что было на форуме в моих постах собрать. А то набирать с нуля...

Буду заниматься на будущей неделе после командировки, тут остается времени только на чуть-чуть поспать... :)

Ewgeny7
08.07.2010, 14:35
Может, сделаем компиляцию на основе твоего файла - я что-то к этому описанию добавлю, плюс то что было на форуме в моих постах собрать. А то набирать с нуля...
Дык а я про что говорю...

---------- Post added at 14:31 ---------- Previous post was at 14:31 ----------


тут остается времени только на чуть-чуть поспать...
Если работа пить водку мешает, то ну её нафиг, эту работу! :)

---------- Post added at 14:32 ---------- Previous post was at 14:31 ----------

С прерываниями клавиатуры пока застрял, глючит СР/М. Разбираюсь.

---------- Post added at 14:34 ---------- Previous post was at 14:32 ----------

Кстати, какая разница СР/М, подтянуты у меня шины на +5 или нет??? На INT50 все равно вектор FF стоит, но похоже она еще что-то ищет в портах...

---------- Post added at 14:35 ---------- Previous post was at 14:34 ----------


Кстати, какая разница СР/М, подтянуты у меня шины на +5 или нет???
Заблокировал чтение FE с слота расширения. СР/М заработала... Она что, читает порты FE?

Error404
08.07.2010, 15:14
Заблокировал чтение FE с слота расширения. СР/М заработала... Она что, читает порты FE?

Мне про такое не известно. Да и как оно работало бы ранее? Код СРМ то не поменялся. А вот с клавой на прерываниях - вопрос. Это прерывание по-умолчанию заблокировано? Ибо вектора под него в CPM пока не предусмотрено, и в случае такого прерывания код может "улететь". В том числе и на чтение порта FE и далее непредсказуемо (в т.ч. как вариант и работать нормально).

Ewgeny7
08.07.2010, 15:18
Да и как оно работало бы ранее?
Я только сейчас открыл доступ к данным со слота. Поскольку выход буферов у нас не притянут на +Пит, то оттуда читается всякая белиберда. СР/М при этом глючит.
Заблокировав порт FE, как я раньше как раз и собирался сделать, СР/М затикала...

---------- Post added at 15:18 ---------- Previous post was at 15:17 ----------


А вот с клавой на прерываниях - вопрос. Это прерывание по-умолчанию заблокировано?
С этим вопросом я попозже разберусь, сейчас со слотом воюю. Пока я убрал прерывание от клавиатуры.

Ewgeny7
08.07.2010, 22:11
Сделал маленькую доработку - повесил восемь резисторов 10к на выходы буфера данных на слот. Читал маленькой программкой значение порта 63, замыкая отдельные разряды на землю резистором. Нормально, читается :)

---------- Post added at 21:11 ---------- Previous post was at 19:49 ----------

Сделал прерывание от клавиатуры. Вектор - FB, включение прерывания - "1" в бит 6 порта F766. Все прочие прерывания не сломались, а именно это мне нечем проверить.
По слепленной логике работа должна выглядеть так - нажимаем кнопу, вызываем прерывание, одновременно заносится сканкод в порт F766. Чтобы инициировать следующее прерывание нужно или отпустить кнопу а затем нажать другую (или эту же), или банально держать кнопу нажатой (автоповтор). Как это будет в реале - не знаю.

---------- Post added at 22:11 ---------- Previous post was at 21:11 ----------

Спасибо victor2312 за хороший документ (http://www.zx.pk.ru/showpost.php?p=297656&postcount=31) по часам. Можно покумекать еще раз.

pvlad
09.07.2010, 00:57
Сделал прерывание от клавиатуры. Вектор - FB, включение прерывания - "1" в бит 6 порта F766. Все прочие прерывания не сломались, а именно это мне нечем проверить.

Прекрасно! Затрахался ждать! Вот только жаль, что сложилась полная анархия с управлением прерываниями. Начинает крыша ехать от того, где какое прерывание включается и выключается. Почему не сделать какой-нибудь порт 4х, где будет собрано все управление всеми прерываниями! И, к примеру, D7 этого порта разрешает/запрещает, одним махом, все остальные (возможно, уже настроенные) прерывания - как это сделано в микроконтроллерах? Это так сложно?


Как это будет в реале - не знаю.
Ничего страшного - будем тестировать! За зря что-ли учишь нас прошивки заливать!?

Ewgeny7
09.07.2010, 08:54
Начинает крыша ехать от того, где какое прерывание включается и выключается.
Аналогично.
Затык упирается из-за древнего порта FB, где ДОЛЖНО рулиться прерывание INT50.
Его, к сожалению, в другой порт не уберешь, и прочие прерывания в FB также не добавишь...

Затрахался ждать!
За выходные если глюки какие не отловлю, в понедельник отправлю плату почтой.
И нужно сделать в обязательном порядке доработку (подтяжку ШД) на всех платах.

Error404
09.07.2010, 11:29
Сделал прерывание от клавиатуры. Вектор - FB, включение прерывания - "1" в бит 6 порта F766. Все прочие прерывания не сломались, а именно это мне нечем проверить.
По слепленной логике работа должна выглядеть так - нажимаем кнопу, вызываем прерывание, одновременно заносится сканкод в порт F766. Чтобы инициировать следующее прерывание нужно или отпустить кнопу а затем нажать другую (или эту же), или банально держать кнопу нажатой (автоповтор). Как это будет в реале - не знаю.


Таки что же решили за обработку одновременных нажатий кнопок? А их обязательно будет, причем не в играх даже, - например элементарные комбинации клавиш пишмашки с Ctrl или Shift в любой системной программе или Мониторе.

pvlad
09.07.2010, 11:29
Аналогично.
Затык упирается из-за древнего порта FB...
Ну и пусть в FB остается дублирующий бит (у нас тоже самое с портом FA!) управления прерыванием INT50. Порт FB останется , как атавизм для старых программ. Новые программы будем писать под новый порт управления прерываниями - 4х.
Возможно в будущем, появится еще какое-то прерывание - снова будем искать куда его пришпандорить? Перспективу необходимо закладывать уже сейчас.


Затрахался ждать!

За выходные если глюки какие не отловлю, в понедельник отправлю плату почтой.
Ты не правильно меня понял. Это относилось к прерыванию от PS/2, которое я так жду. Я не тороплю тебя с платой, более того считаю (по своему собственному опыту!), что работу следует остановить и ехать в отпуск. Приедешь, и на свежую голову многие затыки станут "семечками". У Сергея есть с чем возиться (в данный момент это более важно!), а я подожду - не горит. Не гони коней! Важнее, чтобы "железо" устаканилось.
Единственное, что неприменно следует сделать до отпуска - это записать на бумагу все то, что держишь в голове. Иначе все "смоет" море!

Ewgeny7
09.07.2010, 14:05
Таки что же решили за обработку одновременных нажатий кнопок?
Млин, не будет поддержки одновременно нажатых кнопок. Контроллер (написанный не мной) это не поддерживает. Я туда раньше конца лета не полезу, мне видится больше пользы от обработки префикса E0, это даст возможность задействовать цифровое поле. Все извраты - потом. После релиза SD-коммандера под ОРДОС :)

---------- Post added at 13:58 ---------- Previous post was at 13:55 ----------


Это относилось к прерыванию от PS/2, которое я так жду.
На кой оно упёрлось, это PS/2? На стандартном F500 можно читать все необходимые кнопки, хоть по одной, хоть 20 одновременно нажатых... Извините. Злой я сегодня, последний рабочий день перед отпуском :)

---------- Post added at 14:00 ---------- Previous post was at 13:58 ----------


Спасибо victor2312 за хороший документ по часам. Можно покумекать еще раз.
Завтра предприму еще одну попытку, вычитал кой-чего полезного.

---------- Post added at 14:01 ---------- Previous post was at 14:00 ----------


Порт FB останется , как атавизм для старых программ. Новые программы будем писать под новый порт управления прерываниями - 4х.
Тут есть проблема "двух выключателей на одну лампу". Придумаю что-нить. Например, вынесу этот "выключатель" вообще в сторону, а запись в порты будут просто "палками" для его переключения.

---------- Post added at 14:05 ---------- Previous post was at 14:01 ----------


порт управления прерываниями - 4х.
Можно использовать наш новый порт 4F. Биты 0-2 уже заняты, остается еще 5 свободных.

pvlad
09.07.2010, 14:59
Злой я сегодня, последний рабочий день перед отпуском...
Завтра предприму еще одну попытку, вычитал кой-чего полезного.
Остановись! Не рви жо...! Начинай собирать чемодан!


Тут есть проблема "двух выключателей на одну лампу"...
Все! Обсудим после отпуска. Ты и так отпахал, как папа Карло!


Можно использовать наш новый порт 4F. Биты 0-2 уже заняты, остается еще 5 свободных.
Нельзя. Он не сбрасывается по Ресет - без выключения питания не выйдешь из "штопора".

Ewgeny7
09.07.2010, 16:46
Остановись! Не рви жо...! Начинай собирать чемодан!
:v2_lol:
Я уже дома, и даже подобрел :v2_blush:
Впереди неделя на сбор чемоданов. Сделаю доработки шин на всех платах и попытаюсь привинтить часы Сергею на макетном поле. Часы DS12887 у меня к сожалению только одни, отдадим их нуждающемуся :)

Ewgeny7
09.07.2010, 21:15
Интересно, а каким раком, простите за мой французский, происходит запись в часы Ориона, если сигнал r/w приходит позже чем as или ds?
Запись данных в регистры часов идет при "0" на r/w и последующем "1" на ds. Реально же сигналы с процессора идут с точностью до наоборот... Не понял :(

Keeper
09.07.2010, 21:54
В даташыте, который в аттаче указано что DSка может работать в двух режимах (шины) Motorola и Intel, так вот для работы в орионе она должна работать в режиме Motorola, т.е. данные и адреса стробируются сигналами AS, DS, а не AS, R/W. В общем читать описания выводов MOT,DS,R/W

Ewgeny7
09.07.2010, 21:57
Keeper, режим чтения/записи рулится все равно r/w. В результате имеем, что селектор адреса с проца выдаст строб (as или ds) а уже потом только сигнал r/w изменит своё значение на "0" при записи в часы. А это не соответствует шиту напрочь.

Keeper
09.07.2010, 22:21
Ну так там написано что данные защелкиваются задним фронтом сигнала DS... Что тут не ясно?

Ewgeny7
09.07.2010, 22:27
Ну так там написано что данные защелкиваются задним фронтом сигнала DS... Что тут не ясно?
Ситуация - РВ высокое, приходит строб ДС. Часы выдают данные на шину (куда, кстати, проц также пытается выпихнуть свои данные в цикле записи). Сигнал WR с процессора меняет уровень на "0" (типа, запись). Что произойдет? Х.З.
В том же шите пишется, что направление передачи данных определяется часами при переднем фронте ДС по состоянию РВ. А РВ в таком случае ВСЕГДА будет на переднем фронте ДС равным "1". Вот в чем затыка...

Keeper
09.07.2010, 23:28
Read/Write Input. The R/W pin has two modes of operation. When the MOT pin is
connected to VCC for Motorola timing, R/W is at a level that indicates whether the
current cycle is a read or write. A read cycle is indicated with a high level on R/W
while DS is high. A write cycle is indicated when R/W is low during DS

Там написано пока DS = 1, а не по переднему фронту DS, то что там будет переходной процесс (с конфликтом по выходам) не страшно, т.к. это довольно короткий промежуток времени.

---------- Post added at 22:28 ---------- Previous post was at 21:39 ----------

Кстати, можно поробовать и Intel режим:
/CE = /F760 or not A0
DS = /RD
R/W = /WR
AS = not (/F760 or A0)

Ewgeny7
09.07.2010, 23:50
В общем, мотороловский режим нифига не работает.
as<='1' when (csf76='0' and a_buff(0)='0') else '0';
ds<='1' when (csf76='0' and a_buff(0)='1') else '0';
rw<='1' when (wr_n='1') else '0';

СЕ всегда "0", МОТ="1", RES=Vcc.

---------- Post added at 23:50 ---------- Previous post was at 23:48 ----------


Кстати, можно поробовать и Intel режим:
Попробую, но уже завтра.

pvlad
09.07.2010, 23:55
Млин, не будет поддержки одновременно нажатых кнопок...

На кой оно упёрлось, это PS/2? На стандартном F500 можно читать все необходимые кнопки, хоть по одной, хоть 20 одновременно нажатых...

Так! Что-то не догоняю!
1. В настоящий момент Монитор, в клавиатуре PS/2 через порт F500, четко определяет CTRL и SHIFT? А это, ведь, отдельно замыкаемые контакты. Как это делается и какие клавиши при этом нажимаются на ПС? Конкретно!
2. В настоящий момент SHIFT (CTRL) нажимается одновременно с символьными клавишами или по отдельности?

Может ты мне ответишь вразумительно, а то я "пытал" Сергея на эту тему (какие клавиши ПС эмулируют клавиши РК ), так он произнес что-то невнятное и молчит, как партизан. А хотелось бы (еще при жизни нынешнего поколения!) увидеть рисунок АТХ-клавиатуры, на которой нарисованы эквиваленты клавиш РК-86! Но, похоже, мне до этого счастливого момента не дожить!

Keeper
09.07.2010, 23:58
а что симулятор говорит?

Я вот что думаю, по даташыту, Z80 в цикле вывода данных в порт удерживает данные на шине и после снятия сигнала /WR и смены адреса, а тут получается что данные защелкиваются по факту смены адреса... Можно попробовать защелкивать данные по передним фронтам /RD или /WR

as<='1' when (csf76='0' and a_buff(0)='0' and wr_n = '0') else '0';
ds<='1' when (csf76='0' and a_buff(0)='1' and ( wr_n = '0' or rd_n = '0' )) else '0';

Ewgeny7
10.07.2010, 00:05
В настоящий момент Монитор, в клавиатуре PS/2 через порт F500, четко определяет CTRL и SHIFT? А это, ведь, отдельно замыкаемые контакты. Как это делается и какие клавиши при этом нажимаются на ПС? Конкретно!
Естесственно, кнопки SHIFT и CTRL читаются, совершенно спокойно и независимо от других клавиш. Читаются как биты порта F402.


2. В настоящий момент SHIFT (CTRL) нажимается одновременно с символьными клавишами или по отдельности?
символьные клавиши читаются из F401. Т.е. отдельно, как и на оригинальной РК-клавиатуре


as<='1' when (csf76='0' and a_buff(0)='0' and wr_n = '0') else '0';
ds<='1' when (csf76='0' and a_buff(0)='1' and ( wr_n = '0' or rd_n = '0' )) else '0';
попробую :)

Keeper
10.07.2010, 00:18
По клавиатуре, в проекте используется модуль ps2_keyboard у которого есть такие интересные выходы:

rx_extended,
rx_released,
rx_shift_key_on,
rx_data_ready

Нука напомните кто там что хотел :)

pvlad
10.07.2010, 00:49
Таки что же решили за обработку одновременных нажатий кнопок? А их обязательно будет, причем не в играх даже, - например элементарные комбинации клавиш пишмашки с Ctrl или Shift в любой системной программе или Мониторе.
Я тут нашел следующее по адресу: http://kazus.ru/articles/18.html
"Комбинации клавиш с Shift, Alt и Ctrl передаются как последовательность двух скан-кодов. С точки зрения контроллера эти клавиши ничем не отличаются от всех остальных. Точно так же на аппаратном уровне не различаются режими Num Lock и Caps Lock - они различаются на программном уровне программой, которая обслуживает прерывания от клавиатуры.

Коротко хочу остановиться на реализации режима автоповтора. Как правило функции автоповтора возлагаются на саму клавиатуру - через определенное время, если клавиша не отпущена, то клавиатура посылает еще один точно такой же скан-код. Если в это время нажать еще одну клавишу, то к контроллеру "полетит" уже другой скан-код и будет считаться, что нажата только одна клавиша. В играх эта проблема решена элементарно - клавиша считается нажатой, пока не прийдет соответствующий скан-код с префиксом 0F0h."

Error404
10.07.2010, 09:46
Я тут нашел следующее по адресу: http://kazus.ru/articles/18.html
"Комбинации клавиш с Shift, Alt и Ctrl передаются как последовательность двух скан-кодов. С точки зрения контроллера эти клавиши ничем не отличаются от всех остальных. Точно так же на аппаратном уровне не различаются режими Num Lock и Caps Lock - они различаются на программном уровне программой, которая обслуживает прерывания от клавиатуры.

Коротко хочу остановиться на реализации режима автоповтора. Как правило функции автоповтора возлагаются на саму клавиатуру - через определенное время, если клавиша не отпущена, то клавиатура посылает еще один точно такой же скан-код. Если в это время нажать еще одну клавишу, то к контроллеру "полетит" уже другой скан-код и будет считаться, что нажата только одна клавиша. В играх эта проблема решена элементарно - клавиша считается нажатой, пока не прийдет соответствующий скан-код с префиксом 0F0h."

Об этом и речь. Что вариант "нажали Ctrl - отпустили - нажали С - отпустили" в текущей реализации получается эквивалентен "нажали Ctrl - нажали С - отпустили - отпустили" и оба раза реализуется в последовательную трансляцию кодов "Ctrl " и "С". Т.е. драйверу никак не понять одновременно нажаты эти кнопки или последовтельно. А если лазать за этим разъяснением в порт f40х, так уже готовый драйвер есть для этого порта, без всяких дополнительных клавиатурных извратов.

Т.е. я - за порт PS2, но думаю его придется серьезно доделывать. Пускай и после писалки на SD. :) Простейший вариант что приходит на ум - допонительно как-то транслировать и коды отпускания клавишь.

Соответствие кнопок в эмуляторе (RK=PC):
УСТ = Home
ПС = End
СТР = Ins
ЗБ = BackSpace
AP2 = Esc
F1..F5 = F1..F5
Ctrl+G = Del
Ctrl+R = PgUp
Ctrl+C = PgDown
РусLat = F8=F9=Scroll (смотря как настроено в настройках эмулятора на закладке "keyboard")

C учетом "TurboPascal-style"-расширителя (включается в настройках эмулятора на закладке "keyboard") добавляются PC-комбинации Ctrl+кнопка для курсорных и фукциональных кнопок, которые транслируются Ориону в "CTRL-Q-кнопка"-сочетания. За соответствием (если кому-то нужно, в чем я по правде сказать - сомневаюсь) - добро пожаловать в исходники (mod8255.pas).

pvlad
10.07.2010, 16:41
Об этом и речь. Что вариант "нажали Ctrl - отпустили - нажали С - отпустили" в текущей реализации получается эквивалентен "нажали Ctrl - нажали С - отпустили - отпустили" и оба раза реализуется в последовательную трансляцию кодов "Ctrl " и "С"...
Спокойно, без паники! Думаю, ты не правильно интерпретировал (возможно не понял) приведенную мною выдержку. Будешь ты нажимать последовательно или одновременно клавиши CTRL+C, клавиатура выдаст два скан-кода один за другим, а значит будет два прерывания подряд. Аналогично при нажатии трех клавиш! По получении скан-кода 14Н (Ctrl(L)) - поднимается (в драйвере) программный флаг, а затем по получении скан-кода 21Н (С) принимается решение. Только перед этим следует проверить не появился ли код F0+14H (тоже будет прерывание по отпусканию клавиши (Ctrl(L)), т.е. проверяем ситуацию, когда нажали и отпустили клавишу Ctrl, так и не нажав еще что-то. И так далее! Что здесь сложного?

Сейчас уже абсолютно понятно, что от клавиатуры PS/2 необходимо принимать два байта, иначе не определить в каком состоянии клавиша - нажата или отпущена. Остальное все делается в драйвере.
При старте Монитора (и после Ресет) все прерывания должны быть выключены. Далее, когда идет инициализация Монитора - настраиваются и вектора прерываний. Единственное, что меня волнует в этом вопросе - это поведение при вложенных прерываниях от разных векторов. Как будет вести себя контроллер прерываний, и насколько правильно мы определили приоритеты векторов.

Я почему так активно защищаю наличие прерывания от PS/2-клавиатуры? Меня всегда убивало на Орионе то, что запустив какую-то программу, она начинает, временами, "жить" сама по себе не реагирую на клавиши - потому что "не желает" обращаться к клавиатуре. И без Ресет с этой унизительной ситуацией не справиться! Такого безобразия нет на ПС! Там есть три заветные клавиши (на крайний случай!), которые в 99% случаев возьмут ситуацию под контроль. Мне хочется, чтобы так было и на Орионе.

P.S. Спасибо за "Соответствие кнопок в эмуляторе (RK=PC)"!

---------- Post added at 16:41 ---------- Previous post was at 15:24 ----------


По клавиатуре, в проекте используется модуль ps2_keyboard у которого есть такие интересные выходы:

Коллега! А можно менее загадочно?

Ewgeny7
10.07.2010, 18:53
В общем, пока не смог заставить часы работать. Сейчас отпинаю плату ногами и постучу кувалдой, может заработает.

Keeper
10.07.2010, 21:45
В общем, пока не смог заставить часы работать.

Повторю вопрос, что показывает симулятор?


Коллега! А можно менее загадочно?

Можно :) Но давайте дадим возможность ewgeny7 разобраться с часами.

Ewgeny7
10.07.2010, 22:31
Повторю вопрос, что показывает симулятор?
По моему молчанию можно понять, что симулятор ничего не показывает. с тех самых пор, как в проект добавляется ончипПЗУ, для симулятора ядро процессора отсутствует.

Но давайте дадим возможность ewgeny7 разобраться с часами.
Интел-шина также не работает.
Пока экспериментирую с тактировкой проца, удалось уменьшить вдвое время доступа для видеоконтроллера.

Ewgeny7
11.07.2010, 00:54
С часами пока глухо, отвлекся на причесывание версии 05.
Теперь за один такт клока читаются два адреса ОЗУ.
Шины соответственно несколько разгрузились от посягательств видеоконтроллера.
Маленько разогнал процик.
Раз по 10 прогнал запуск СР/М в разных турборежимах.
Доволен как слон :)

П.С. может плюнем на 512ВИ1 и пересядем на PCF8583? Дрова часов в СР/М придется переписывать под I2C... На Скорпионе это работает применительно к NVRAM 24С16, исходники драйвера есть. А Т80 вероятно все же маленько отличается по времянкам от Z80, 512ВИ1 не хочет дружить. Завтра продолжу.

pvlad
11.07.2010, 11:29
Можно. Но давайте дадим возможность ewgeny7 разобраться с часами.

Думаю, одно другому не мешает.

Ewgeny7
11.07.2010, 18:37
По заявкам слушателей, цена комплектующих.
Названия подробно не расписывал, "кто в доле" сверят по полученным ими платам.
Плата 0001 уезжает завтра, 0002 до среды будет подвергаться пыткам с часами :v2_devil:
Кто не расчитывался с Алексеем, могут идти сдавать бутылки :v2_scare: Я уже пошел...

pvlad
11.07.2010, 18:53
По заявкам слушателей, цена комплектующих...

Кинь в личку сколько перевести денег. С Алексеем рассчитался.

Ewgeny7
11.07.2010, 19:59
Кинь в личку сколько перевести денег
Указанная цена + 150 пересылка.
Тебе посылку собрал. Плата + шлейфик LPT + DVD.
С блоками питания вроде как решили разбираться самостоятельно.
У нас в центре можно купить подходящие адаптеры, но цена под 400р. как-то не радует. Лучше попросить zst выслать блок в два раза дешевле, он ими комплектует Спекки-2007.

---------- Post added at 19:59 ---------- Previous post was at 19:42 ----------

Забыл упомянуть - все переводы только к началу августа (меня не будет до 2 августа).

pvlad
11.07.2010, 20:00
Указанная цена...
Цена будет в посылке?

С питанием проблем нет.

Ewgeny7
11.07.2010, 20:01
Цена будет в посылке?
Не понял :(
Я же выложил лист Экселя с расчетом в посту 1101.

Error404
12.07.2010, 14:58
По заявкам слушателей, цена комплектующих.
Названия подробно не расписывал, "кто в доле" сверят по полученным ими платам.
Плата 0001 уезжает завтра, 0002 до среды будет подвергаться пыткам с часами :v2_devil:
Кто не расчитывался с Алексеем, могут идти сдавать бутылки :v2_scare: Я уже пошел...

Как можно отправить? Только почтовым переводом или есть еще варианты?

C Алексеем рассчитался, но все же было бы неплохо если бы он заакцептил. :)

Ewgeny7
12.07.2010, 17:53
У меня случился затык... Заработался, называется... Алексей, я тебе денюжку отправлял? Если нет, может будет проще чтобы Сергей тебе отправил за меня, и мы втроем будем в обоюдном расчете?

Error404
12.07.2010, 19:42
У меня случился затык... Заработался, называется... Алексей, я тебе денюжку отправлял? Если нет, может будет проще чтобы Сергей тебе отправил за меня, и мы втроем будем в обоюдном расчете?

Да, это было бы удобно. Алексей?

---------- Post added at 19:40 ---------- Previous post was at 18:36 ----------


Интересно, а каким раком, простите за мой французский, происходит запись в часы Ориона, если сигнал r/w приходит позже чем as или ds?
Запись данных в регистры часов идет при "0" на r/w и последующем "1" на ds. Реально же сигналы с процессора идут с точностью до наоборот... Не понял :(

r/w никогда не может приходить позже as или ds, т.к. as или ds формируются после дешифратора, выдающего /F760 (селектор для F760,F761). А этот дешифратор уже в свою очередь работает от того же самого r/w (если быть точным - от сигнала /F700=B30=ПортРасш Ориона, который суммирует в т.ч. и сигнал /RD - только что проверил на схеме Ориона).
Все должно работать.

---------- Post added at 19:42 ---------- Previous post was at 19:40 ----------



Дрова часов в СР/М придется переписывать под I2C... На Скорпионе это работает применительно к NVRAM 24С16, исходники драйвера есть.

А где-то на это можно взглянуть? (Оценить насколько овчинка стоит выделки). И еще бы это (для компиляции доки):



Я уже написал инструкцию по утилите HDDUTIL, как с ее помощью "готовить" SD-карту. Но не выкладываю.

Ewgeny7
12.07.2010, 19:51
Все должно работать.
Опробовал уже и этот вариант с "урезанием" на период активности RD или WR.
Вообще, за три дня опробовал уже наверное ВСЁ, что только можно опробовать.
Для чистоты эксперимента на время работы с F76x выключал доступ на шины видеоконтроллеру, работал ТОЛЬКО процессор. Блин, не знаю уже куда копать...

Error404
12.07.2010, 21:04
Опробовал уже и этот вариант с "урезанием" на период активности RD или WR.


все же, как формируется сигнал /F760? Он (как и для /F700 должно быть в том числе) складывается с сигналом RD (WR) или же это просто дешифратор адреса?



Вообще, за три дня опробовал уже наверное ВСЁ, что только можно опробовать.
Для чистоты эксперимента на время работы с F76x выключал доступ на шины видеоконтроллеру, работал ТОЛЬКО процессор. Блин, не знаю уже куда копать...

Регистры ВИ1 по идее пишутся ничуть не сложнее, чем ОЗУ или ПЗУ. Разница лишь в типе доступа - приходится записывать за 2 команды: сначала адрес регистра, затем данные в этот выбранный регистр (демультипликация мультиплицированной шины). При этом as и ds выполняют аналог wr для этих двух команд, а сам сигнал /WR Ориона - лишь индикатор направления (идет запись или идет чтение). И он (/WR) согласно схемке (http://zx.pk.ru/attachment.php?attachmentid=10341&d=1232370621) действительно устанавливается раньше, а снимается позже, чем as и ds, благодаря тому, что as и ds вычисляются с учетом сигнала /F760.

Проблема при этом (отчего не пишется, ведь ПЗУ и ОЗУ то - пишутся при текущей реализации видеоконтроллера!) может быть только в быстродействии кристалла часов (у меня на реале работало на 2,5Мгц и на 5Мгц, выше не проверял). Все прочее - от реализации.

pvlad
12.07.2010, 21:33
to ewgeny7:
Ты сделал двухбайтовый порт для PS/2 клавиатуры? Если нет, то ничего путного сделать не удастся. Я об этом предупреждал в 1093 и 1095.

Ewgeny7
12.07.2010, 21:48
Если нет
Нет

Все прочее - от реализации.
Есть одно отличие в реализации - в Т80 длительность заднего фронта данных четко заканчивается по заднему фронту WR. У Z80 данные вероятно еще какое-то время держатся на шине. Возможно, ВИ1 не успевает "защелкнуть" данные с шины.

LexaKK
12.07.2010, 23:51
С Алексеем рассчитался. Подтверждаю

C Алексеем рассчитался, но все же было бы неплохо если бы он заакцептил.Тоже подтверждаю. Счет-фактуру и накладную надо? :)

Заработался, называется... Алексей, я тебе денюжку отправлял?Пока нет.
Да, это было бы удобно. Алексей?Я-то не возражаю. Тем более через альфа-банк без процентов пройдет. Только мне 840р, а у Евгения сумма чуть больше.

dmtr
13.07.2010, 00:23
LexaKK, поскольку плата уже оттестирована, можно таки заказать 2шт. на уже подготовленном шаблоне?

Error404
13.07.2010, 09:20
Я-то не возражаю. Тем более через альфа-банк без процентов пройдет. Только мне 840р, а у Евгения сумма чуть больше.

Ну, значит, остаток потом переводом Евгению. Все меньше платить за комиссию. Решили?

---------- Post added at 09:20 ---------- Previous post was at 09:13 ----------


Нет

Есть одно отличие в реализации - в Т80 длительность заднего фронта данных четко заканчивается по заднему фронту WR. У Z80 данные вероятно еще какое-то время держатся на шине. Возможно, ВИ1 не успевает "защелкнуть" данные с шины.

Получается, траблы могут проявляться не только с ВИ1, а и с другой периферией, защелкивающей данные с шины по спаду WR?

Ewgeny7
13.07.2010, 12:06
Получается, траблы могут проявляться не только с ВИ1, а и с другой периферией, защелкивающей данные с шины по спаду WR?
В теории - да...
Также, открою страшную тайну - для организации двунаправленного обмена через ножки альтеры без создания конфликтов с внешними чипами делается так:
d(7 downto 0)<=dataO when (sel='0' and wr_n='0') else "ZZZZZZZZ";
Как нетрудно видеть, данные с процессора (dataO) подаются на выход только при активном WR процессора, и могут быть прерваны по запросу видеоконтроллера SEL.
Вопрос с видеоконтроллером решаем, при селекте F760-1 сигнал SEL блокируется. Это выражается в "потере" одного байта видеоданных, что не влияет ни на что (на одном кадре изображения один байт не будет считан заново, а повторит предыдущий).
Возможно, стоит посмотреть вариант с:
d(7 downto 0)<=dataO when (sel='0' and rd_n='1') else "ZZZZZZZZ";
чем я сейчас и займусь.
На почту пойти вчера не сложилось, может оно и к лучшему...


Только мне 840р, а у Евгения сумма чуть больше.
На пенсии сочтемся :)

Ewgeny7
13.07.2010, 12:36
Вопрос на засыпку. Ведь часы-то работают судя по скрину? Если да, то какого ху надо СР/М? Она их не видит.
На аналогичной проге в бейсике читал ячейки 0 и 2 часов, видно что секунды/минуты тикают.

Ewgeny7
13.07.2010, 12:48
Часы на Васике

Ewgeny7
13.07.2010, 15:22
Владислав, ПИН 19525721525765

Error404
13.07.2010, 18:59
На пенсии сочтемся :)

Перевел Алексею бапки за плату Евгения.

---------- Post added at 18:59 ---------- Previous post was at 18:54 ----------


Часы на Васике

Странные какие-то величины времени (39:32)

Что там происходит в CP/M (а точнее в драйвере консоли, где обрабатываются часы) - это вопрос. Драйвер писал не я, надо разбираться (как-то трассировать его). Будет платка - будем посмотреть.

Hint
Кстати, помнится именно в драйвере (непосредственно после него) "сковыривалось" и IDE на BB55 на Орионе2010 (а на реале отрабатывало). А это по времени выполнения очень рядом с инициализацией часов. Причем такое было, если помнишь, только при аппаратно доступных прерываниях. А без прерываний все работало отлично.

Ewgeny7
13.07.2010, 19:14
Перевел Алексею бапки за плату Евгения.
Спасибо :)


Странные какие-то величины времени (39:32)
39 секунд 32 минуты. Ничего странного. На втором скрине прошло меньше минуты.


А без прерываний все работало отлично.
При запуске прерываний и опросе часов СР/М еще куда-то лезет, окаянная. И если на шинах не FF, то она скопытивается. Это происходит и сейчас, но я сурово слежу чтобы шины без нагрузки и по левым адресам были "чистыми" FF.

Error404
13.07.2010, 20:53
39 секунд 32 минуты. Ничего странного. На втором скрине прошло меньше минуты.


а-а-а секунды. Я привык, что первая величина - часы. :)



При запуске прерываний и опросе часов СР/М еще куда-то лезет, окаянная. И если на шинах не FF, то она скопытивается. Это происходит и сейчас, но я сурово слежу чтобы шины без нагрузки и по левым адресам были "чистыми" FF.

Надо трассировать. Тогда станет понятно в каком месте (на каком сочетании команд) слетает. Подождем реала. :)

---------- Post added at 20:53 ---------- Previous post was at 20:52 ----------


LexaKK, поскольку плата уже оттестирована, можно таки заказать 2шт. на уже подготовленном шаблоне?

Кажись, Евгений вносил какие-то правки уже при пайке? Их бы зафиксировать в печатке.

Ewgeny7
13.07.2010, 21:27
Подождем реала.
Ну дык чо, снаряжаю аленей до Масквы? ;)
Прошивку набортную оставлю "специальную", 06_RTC. Потестить я ее не успел, поэтому пока в доступ не ложу.
С часиками далласа обломс... Позвонил KND и напомнил что не мешало бы отдать ему "Феникс", а часики оттудова...
Поэтому сейчас посмотрю как плата поведет себя с 512ВИ1.

---------- Post added at 21:27 ---------- Previous post was at 21:08 ----------


Поэтому сейчас посмотрю как плата поведет себя с 512ВИ1.
Нормально ведёт. Без кварца только не тикает, а запись/чтение ячее работает.

pvlad
14.07.2010, 00:13
Надо трассировать. Тогда станет понятно в каком месте (на каком сочетании команд) слетает.
Как это можно сделать, чисто в техническом плане, конкретно?

to ewgeny7:
Можно ли устроить аппаратный пошаговый режим процессора?

LexaKK
14.07.2010, 09:09
Спаял свой экземпляр. Работает. Только вот совсем не нашел, как готовить CP/M флешки. Сергей, сможешь написать манускрипт для даунов-железячников? :) Или ткнуть носом в готовый?

Цитата:
Сообщение от dmtr Посмотреть сообщение
LexaKK, поскольку плата уже оттестирована, можно таки заказать 2шт. на уже подготовленном шаблоне?
Кажись, Евгений вносил какие-то правки уже при пайке? Их бы зафиксировать в печатке. Верно. Плата требует корректировки. Для особо нетерпеливых - на странице Евгения лежат файлы PCAD. Заказать по готовым шаблонам проблемно - плата Ориона заказывалась в составе мультизаготовки.

Error404
14.07.2010, 09:32
Как это можно сделать, чисто в техническом плане, конкретно?

to ewgeny7:
Можно ли устроить аппаратный пошаговый режим процессора?

Ну, я обычно тупо расставляю в исходнике сохранение интересующего в память и halt (либо jmp куда надо). Либо вывод на экран. Соответственно, методом деления пополам, сократить область проблемного кода до приемлимого для анализа получается обычно менее чем за 10 шагов (10 компиляций-запусков).

pvlad
14.07.2010, 10:00
Ну, я обычно тупо расставляю...
Спасибо! Логично. Я до того уже привык к сервису кросс-средств микроконтроллеров, что даже сразу и не сообразил, как поступить в нашей ситуации.

Error404
14.07.2010, 10:13
Спаял свой экземпляр. Работает. Только вот совсем не нашел, как готовить CP/M флешки. Сергей, сможешь написать манускрипт или ткнуть носом в готовый?


В треде "Вопросы и ответы" отвечает ewgeny7 (http://zx.pk.ru/showpost.php?p=280074&postcount=2) :) , который так и не прислал описание hddutil ;)

Ewgeny7
14.07.2010, 11:59
В треде "Вопросы и ответы" отвечает ewgeny7 , который так и не прислал описание hddutil
эээ... без меня меня женили? ;) Я и не собирался присылать, честно говоря.


Верно. Плата требует корректировки.
Для имеющейся альтеры я нашел следующие доработки:
1. Резисторы подтяжки на выходе буфера данных.
2. Упрощение видеовыхода (см. фото).
3. Убрать резистор от МАХ к ПЛИС
4. Пожелание - резисторные сборки переделать в простые чип-резисторы. Места правда на плате маловато...
А вообще - лучше ПЛИСу просто заменить на другую, а платы этой версии распродать коллекционерам :)

Ewgeny7
14.07.2010, 12:02
С часиками далласа обломс...
Обломс разрешился, вышлю с новой расчудесной далласиной. Батарейки там хватит лет на 10 надеюсь :)

Error404
14.07.2010, 12:10
эээ... без меня меня женили? ;) Я и не собирался присылать, честно говоря.


Ну, хотя бы похоже?
Понятно написано?

Ewgeny7
14.07.2010, 12:30
Ну, хотя бы похоже?
Понятно написано?
У тебя - лучше :)
Можешь сравнить с моей писаниной:

Ewgeny7
14.07.2010, 12:53
Сергей, твоя плата. Отправлю в таком виде (только SD заберу).
Монтаж часов делал навесной, чтобы не "пачкать" макетное поле. Проводочки и часы припаяешь сам, как посчитаешь нужным. Схему-рисунок подключения далласа нарисую.
Разъем LPT нашелся только один, отправил его Владиславу поскольку посчитал что тебе будет проще собрать кабель самостоятельно. Распиновка кабеля есть на схеме Ориона от Алексея. Единственное соединение отсутствующее на той схеме - перемычка между 7 и 10 ногой LPT-разъема.

П.С. Добавил в пост проект зашитый в плату. На всякий случай. С "обычными" платами также работает, но требует тестинга.

Error404
14.07.2010, 16:44
Распиновка кабеля есть на схеме Ориона от Алексея. Единственное соединение отсутствующее на той схеме - перемычка между 7 и 10 ногой LPT-разъема.


А где была такая схема?
Предложение: добавить правильную схемку кабеля (с перемычкой) в инструкцию по прошивке.

Ewgeny7
14.07.2010, 17:17
А где была такая схема?
Тынц! (http://orion-2010-support.narod.ru/Orion_v1_07.rar)


Предложение: добавить правильную схемку кабеля (с перемычкой) в инструкцию по прошивке.
Хорошая мысль :)

Сергей, ПИН 19525721526502

Ewgeny7
14.07.2010, 17:35
Картинко сверху :v2_blush:

---------- Post added at 17:35 ---------- Previous post was at 17:32 ----------

Млин, забыл добавить, что GND на LPT - это ноги от 18 по 25-ю...

LexaKK
15.07.2010, 08:55
Начинаю заново осваивать Орион :) Евгений, а почему в режиме СуперТурбо показывает коэффициент 3.38? И почему в прошивке VGA_1_06 русский знакогенератор представляет из себя какой-то мусор (показать не могу, нет фотоаппарата)

Ewgeny7
15.07.2010, 10:23
а почему в режиме СуперТурбо показывает коэффициент 3.38
А сколько ты хочешь? ;) Пока так, чуть попозже будет 4.51.


И почему в прошивке VGA_1_06 русский знакогенератор представляет из себя какой-то мусор
Монитор 37. "Нехватка места для процедур, в результате частично пострадал русский знакогенератор" (С) Error404
Если загрузка по RS-232 при старте тебе не уперлась (как и мне), то перекомпилируй прошивку под монитор 34, в нем все шрифты в порядке. В файлике lpm_rom1.vhd в строке
init_file => "M3735.HEX"

делаем изменения на
init_file => "M3435.HEX"

и компилируем.

Error404
15.07.2010, 10:33
Я в посте про м37 это описывал и прикладывал ордодос-файл 784 байта - подгружаемый шрифт.
Как с срм/карточкой? Получилось?

Ewgeny7
15.07.2010, 11:07
Вот готовый файлик прошивки с мониторами М34 и М35.

LexaKK
15.07.2010, 23:17
Вот готовый файлик прошивки с мониторами М34 и М35. Это какая версия будет?

pvlad
16.07.2010, 11:30
to Error.., короче, Сергей!

1. В свое время я написал View для просмотра текстовых файлов Ориона. Программа писалась на Delphi-4. Совсем недавно, мой приятель ее подправил - она отказывалась корректно работать под ХР, но что-то менять кардинально в ней отказался (много своих дел!). В настоящий момент я не работаю с Delphi. Не согласишься ты (я отдам исходники, и если надо возьму нужные библиотеки) довести ее до "сегодняшнего ума"? Ковыряясь в архивах, я заметил, что есть орионовские файлы, которые не просматриваются - значит упустил какую-то кодировку. Ты сейчас в теме - может быть найдется время?

2. В своих архивах нашел исходники CCP и BDOS СР/М 2.2 с подробными комментариями на русском языке (чей то превод). Нужен?

Ewgeny7
16.07.2010, 12:01
Это какая версия будет
Та же. Только мониторы другие.

Error404
16.07.2010, 12:54
to Error.., короче, Сергей!

1. В свое время я написал View для просмотра текстовых файлов Ориона. Программа писалась на Delphi-4. Совсем недавно, мой приятель ее подправил - она отказывалась корректно работать под ХР, но что-то менять кардинально в ней отказался (много своих дел!). В настоящий момент я не работаю с Delphi. Не согласишься ты (я отдам исходники, и если надо возьму нужные библиотеки) довести ее до "сегодняшнего ума"? Ковыряясь в архивах, я заметил, что есть орионовские файлы, которые не просматриваются - значит упустил какую-то кодировку. Ты сейчас в теме - может быть найдется время?

2. В своих архивах нашел исходники CCP и BDOS СР/М 2.2 с подробными комментариями на русском языке (чей то превод). Нужен?

Присылайте и то и то. Первое посмотрю (очень странно - чего там может быть такого, чтобы на XP не работало), второе никогда не будет лишним. :v2_thumb:

pvlad
16.07.2010, 14:04
Присылайте и то и то. Первое посмотрю (очень странно - чего там может быть такого, чтобы на XP не работало), второе никогда не будет лишним.
Сейчас вьюэр работает! Просто не хватает кодировок для просмотра. Я прицеплю текстовый файл.

Кинь в личку свой емейл. Терпеть не могу работать через личку!

BYTEMAN
16.07.2010, 20:29
1. В свое время я написал View для просмотра текстовых файлов Ориона. Программа писалась на Delphi-4. Совсем недавно, мой приятель ее подправил - она отказывалась корректно работать под ХР, но что-то менять кардинально в ней отказался (много своих дел!). В настоящий момент я не работаю с Delphi. Не согласишься ты (я отдам исходники, и если надо возьму нужные библиотеки) довести ее до "сегодняшнего ума"? Ковыряясь в архивах, я заметил, что есть орионовские файлы, которые не просматриваются - значит упустил какую-то кодировку. Ты сейчас в теме - может быть найдется время?

Разве исходники не в общем доступе? (на диске от CHRV по крайней мере были)... Могу попробовать похимичить, если надо....

pvlad
27.07.2010, 18:00
Разве исходники не в общем доступе? (на диске от CHRV по крайней мере были)... Могу попробовать похимичить, если надо....

Удалось похимичить?

BYTEMAN
11.08.2010, 00:15
Удалось похимичить?

Добрался и немного похимичил... Старая версия нормально работает под хрюшой. Взял пару файлов в орионовской кодировке - всё конвертируется нормально. По очереди на каждую кнопку - хотя-бы одна сработает как надо. Перекомпилирую под D7 и добавлю XPMan и AlphaControls.

pvlad
11.08.2010, 08:03
Добрался и немного похимичил...

Надо поискать, я встречал файлы в архивах (своих), кодировка которых не дешифрируется.

BYTEMAN
11.08.2010, 12:19
Если найдёте - скиньте плз. Я пока что таковых не находил. (А, может, плохо искал)

Ewgeny7
29.09.2010, 08:39
Сергей, на спекки-платформе есть написанный saveliy'ем весьма удобный и простой в применении драйвер SD-карт. я его уже с удовольствием попользовал для своих нужд :)
что-то мне посказывает, что не составит больших проблем переделать его под нужды Ориона. Фактически нужно лишь заменить команды обмена с картой. Вместо чтения-записи в порты #57 и #77 вставить наши "цепочки" команд побитового обмена.

Error404
29.09.2010, 09:30
Сергей, на спекки-платформе есть написанный saveliy'ем весьма удобный и простой в применении драйвер SD-карт. я его уже с удовольствием попользовал для своих нужд :)
что-то мне посказывает, что не составит больших проблем переделать его под нужды Ориона. Фактически нужно лишь заменить команды обмена с картой. Вместо чтения-записи в порты #57 и #77 вставить наши "цепочки" команд побитового обмена.

В принципе, все такие драйвера похожи. Отличия обычно в релизации SPI-обмена с картой. Здесь, как я понимаю (т.к. не вижу чтобы байтики сдвигались программно), этот обмен тащит на себе Z-контроллер от KOE?
Тогда вопрос надо ставить так - "как подключить Z-контроллер к Ориону".
А драйвер перекомпилировать - это можно. И в CPM, к примеру, достаточно для этого варианта SD только пару маленьких подпрограмм поправить (getbyte/putbyte). И автодетект вставить.

Просто не хотелось бы делать вариант, который нигде кроме как в ПЛИС Ориона-2010 (в которой даже на AY уже места не хватает) нереализуем. Те варианты, которые уже есть, реализуемы и на рассыпухе для старых Орионов, а это плюс, ИМХО.

Кроме того, если интересен аппаратно реализованный сдвиг, то есть вариант на рассыпухе от fifan&hardwareman (http://www.spetsialist-mx.ru/index21.html). И хотя мне и не нравится, что они вместо того, чтобы сделать как принято (используя для приостановки проца сигнал /WAIT) сделали как-то чуднО (используя для того же /BUSREQ), в целом для среднестатистического дремучего умеренно безрукого радиолюбителя типа меня этот вариант более приближен к реальности, чем ПЛИС.

Ewgeny7
29.09.2010, 10:10
"как подключить Z-контроллер к Ориону".
просто. Keeper наваял контроллер на маленькой ПЛИС EPM7032. Всё, что к ней требуется - полметра провода МГТФ и SD-слот :)
Могу отправлять сильножелающим эти чипы прошитыми в банальном бумажном конверте.
Если вопрос заинтересует тебя, попробуем Z-controller на нашей Ори-2010.

---------- Post added at 10:10 ---------- Previous post was at 10:09 ----------

Скорость там конечно на порядок больше чем на MSX-схеме. 64кб грузятся за секунду. А то и быстрее...

Error404
29.09.2010, 19:37
Если вопрос заинтересует тебя, попробуем Z-controller на нашей Ори-2010


Чем больше обдумываю, тем более интересно. :)
Главным образом не из-за скоростей (не те у нас объемы, чтобы заморачиваться про скорость), а вот из-за этого:


просто. Keeper наваял контроллер на маленькой ПЛИС EPM7032. Всё, что к ней требуется - полметра провода МГТФ и SD-слот :)
Могу отправлять сильножелающим эти чипы прошитыми в банальном бумажном конверте.


Тут какая мысль: Можно ли в эту же EPM7032 еще впихнуть и RS-232 такой же, как на О-2010? Хотя бы и без прерываний. Тогда это уже получится не просто интерфейс для SD, а цельный "O-controller". Надо только оформить его как отдельный девайс на платке под ЛУТ (всего-то: EPM7032, MAX232 да 2 разъема) с методичкой по подключению к стандартному Ориону128 и ОрионуПро.

Вот это будет вещь. Полезнейшее дело. Особенно учитывая что кроме нас, у которых единственных уже есть O-2010 , нарисовалось несколько человек с Орион-ПРО и Орион-128-MC.

Ну а софт поправим, чего там - начать да кончить. :)
Главный интерес, чтобы пользователи были у этого софта. А для этого - см. выше.

ЗЫ. Кстати, T80, поправленный на предмет INIR/OTIR, планируешь внедрять в Ори-2010?

Ewgeny7
29.09.2010, 23:57
ЗЫ. Кстати, T80, поправленный на предмет INIR/OTIR, планируешь внедрять в Ори-2010?
Мне без разницы, можно воткнуть. Для ЗЭТа он необходим. Вон как Спекки заработал шустро с этим ядром! :)


Можно ли в эту же EPM7032 еще впихнуть и RS-232 такой же, как на О-2010?
С лёту не скажу. ЗЭТник занимает 32 ячейки, для ЭРЭС нужно еще столько же, итого нуно ЕРМ7064. Только - хватит ли ног надо выяснить.


Особенно учитывая что кроме нас, у которых единственных уже есть O-2010 , нарисовалось несколько человек с Орион-ПРО и Орион-128-MC.
Как твой Орион-256 поживает? тестировать-то тебе.

BYTEMAN
30.09.2010, 00:01
Орион-128-MC
А что такое Орион-128-МС?

Keeper
30.09.2010, 00:28
С лёту не скажу. ЗЭТник занимает 32 ячейки, для ЭРЭС нужно еще столько же, итого нуно ЕРМ7064. Только - хватит ли ног надо выяснить.

Ног то хватит, а вот места в 3064 думаю не хватит, там автомат состояний будет посложнее...ИМХО Разве что взять да прикинуть :)

Ewgeny7
30.09.2010, 08:28
А что такое Орион-128-МС?
присоединяюсь к вопросу


там автомат состояний будет посложнее...ИМХО
да, сие не влезет в 32 ячейки

Error404
30.09.2010, 09:38
присоединяюсь к вопросу



Я вот про эту реализацию:
http://zx.pk.ru/showthread.php?t=9804

В корпусе от УКНЦ и с клавиатурой МС7007. Поэтому я его назвал 128-МС. :)
Правда, насколько я знаю, там еще никто не запустился.
Но некоторые собрали.

Вообще, наблюдаю характерное: энтузиазма у людей хватает на месяц-два. Если за это время что-то не запустилось, бросают.

BYTEMAN
30.09.2010, 10:00
Вообще, наблюдаю характерное: энтузиазма у людей хватает на месяц-два. Если за это время что-то не запустилось, бросают.
Нифига :). Я свой Ор-ПРО крутил четыре месяца :).

Keeper
30.09.2010, 18:57
Так что там с орионом? Он так в 4х экземплярах и останется? Или будете делать вторую ревизию, исправленную и дополненную?

Error404
01.10.2010, 12:42
Так что там с орионом? Он так в 4х экземплярах и останется? Или будете делать вторую ревизию, исправленную и дополненную?

Разработчики наверное еще сами напишут, а что касается меня, то в уже существующем Орионе-2010 меня не устраивает только емкость ПЛИС (т.к. туда уже не лезет AY). Т.е. если проекту и надо куда-то меняться, то только в сторону более емкой ПЛИС разве что...

С этой точки зрения мне очень нравится Reverse. Она выполнена на более емкой ПЛИС и при этом существенно меньше размерами чем О-2010 (а это прикольно. НедоКомп должен быть либо ATX чтобы легко вставать в корпуса со штатными БП - как пентэва, либо помещаться в спичечной коробке чтобы поражать воображение - как Reverse). И благодаря Жене в Reverse уже есть то главное, чего нет в пентэве - многоплатформенность (все же пент/скорп это еще не многоплатформенность, а вот пент/Орион - уже многоплатформенность). Если бы я мог паять многоногих мелких тараканов и всякие мелкие недо-резисторы, я бы уже принялся за ее сборку. А так пока только облизываюсь...

Ewgeny7
01.10.2010, 18:00
На подходе u9. Эта плата будет интереснее. Я уже видел ее доки.
Что особо радует, это необычное применение USB. Помимо эмулирования RS-232, конечно ;)

Keeper
01.10.2010, 18:39
Я уже видел ее доки.

Где показывают? :) Т.е. орион переезжает на платформу u9?

Ewgeny7
01.10.2010, 18:46
Где показывают?
Я долго поил аффтара воткой. мне он показал! :)

Error404
11.10.2010, 17:20
Мне без разницы, можно воткнуть. Для ЗЭТа он необходим. Вон как Спекки заработал шустро с этим ядром! :)

Как твой Орион-256 поживает? тестировать-то тебе.

Ну как, будем делать контроллер SD по схеме Z-контроллер?
Я наверное в обозримом будущем все равно буду ОС доделывать, можно было бы добавить поддержку этой схемы.

Мой Орион-256 в коме. :) Отлаживать этот вариант SD (после того как оно заработает в эмуляторе и Орионе-2010) предлагаю на BYTEMAN-e с его Орион-ПРО. :) Он как-то было дело обещал свою помощь под обкатку идей.

BYTEMAN
11.10.2010, 18:37
Он как-то было дело обещал свою помощь под обкатку идей.

Помогу чем смогу :).

Ewgeny7
11.10.2010, 18:53
Помогу чем смогу
От тебя требуется найти панельку PLCC-44, слот SD и "уметь паять".


Ну как, будем делать контроллер SD по схеме Z-контроллер?
Чем далее думаю, тем меньше нравится мне затея с Z-контроллером. Привязка к фронтам клока несколько напрягает. Можно попробовать. А можно и вариант MSX проверенный в боях опробовать.

BYTEMAN
12.10.2010, 00:16
От тебя требуется найти панельку PLCC-44, слот SD и "уметь паять".

Это найдём :)

Error404
28.10.2010, 19:14
Пытаюсь подступиться к перепрошивке О-2010, для этого собираюсь спаять кабель. Есть вопросы с казалось бы очевидными ответами, но как говорится - лучше перебдеть, чем пожечь чего-нить. :)
Подскажите пожалуйста по кабелю программирования прошивок с LPT.
Вот есть такая картинка (во вложении).
А куда уходит неподписанный провод от Pin11?
Pin7 и Pin10 на LPT разъеме должны быть соединены перемычкой?
А жилы с номерами 2,4,6,8 кабеля должны быть припаяны к любой из ножек LPT разъема Pin18..Pin25?

Финальный вопрос: на плате Ориона-2010 иголки разъема расположены так (вид сверху - со стороны деталей):


oooo [ПЗУ]
ooooo


Вопрос - как они нумеруются, т.е. где первая.

LexaKK
29.10.2010, 09:41
А куда уходит неподписанный провод от Pin11?Это вывод 1 гребенки на плате
Pin7 и Pin10 на LPT разъеме должны быть соединены перемычкой?Да
А жилы с номерами 2,4,6,8 кабеля должны быть припаяны к любой из ножек LPT разъема Pin18..Pin25?Вывды 18-25 LPT разъема соединяются вместе и к этой шинке припаиваются жилки номе 2,4,6,8
Вопрос - как они нумеруются, т.е. где первая.

Error404
02.12.2010, 15:31
Купил такой телик:
http://www.003.ru/product-77564318.html

Покупал по принципу "шел мимо - купил телик" исключительно для подключения Орион-2010 ВГА-версии(ну, может, когда наиграюсь, телик пойдет на кухню). Орион подключен, соответственно, по VGA.

Экран Ориона не влезает на 1 символ, причем что самое неприятное этот невлезающий символ - первый (самый слева). Точнее, не влезают 4 точки из 6. И даже если регулировками TV сместить изображение вправо, эти 4 точки почему-то остаются "затененными" (см. вложение).
Что подскажете, что-то (Орион? ТВ?) реально доточить чтобы левый край показывало нормально?

Орион-2009 пока не пробовал, буду пробовать.

b2m
02.12.2010, 15:45
реально доточить чтобы левый край показывало нормально?
Я бы увеличил количество пикселей в полной строке, за счёт строчного СИ. Правда, строчная частота, а вместе с ней и кадровая, уменьшатся, но я думаю, это не смертельно.

svofski
02.12.2010, 15:51
Скорее там что-то не так с временами портиков в ССИ. Задний портик ССИ не может быть короче чем сколько-то, но многие мониторы терпят. Мой, например, хавает вообще все на свете, но при этом видно, что ему это дается с трудом.

Ewgeny7
02.12.2010, 17:36
Скорее телевизор не понимает нестандартной ВГА частоты 56Гц и растягивает картинку.
Посмотри в паспорте, 50Гц телек воспринимает в режиме монитора?
Если да, то строки можно удлинить маленько, за счет этого картинка сузится по горизонтали.

Error404
03.12.2010, 12:01
Скорее телевизор не понимает нестандартной ВГА частоты 56Гц и растягивает картинку.
Посмотри в паспорте, 50Гц телек воспринимает в режиме монитора?
Если да, то строки можно удлинить маленько, за счет этого картинка сузится по горизонтали.

В паспорте ничего не пишут, но Орион-2009 (который 50Гц VGA) с этим теликом не пашет - пишет "режим не поддерживается". :(

Sayman
03.12.2010, 12:13
Еррор, подчисти чтоли личку, тебе даже не отписать...
отпишу тут - ты говорил про утилиту виндовую для работы с образами юзикса. таки кинь её куданить (по возможности с сорцами). и я так понял вопрос с её портированием на ориона снят и к нему не вернёшся да?

Ewgeny7
03.12.2010, 12:15
В паспорте ничего не пишут, но Орион-2009 (который 50Гц VGA) с этим теликом не пашет - пишет "режим не поддерживается".
Попробую тогда частоты поковырять.

Error404
03.12.2010, 19:03
Еррор, подчисти чтоли личку, тебе даже не отписать...
отпишу тут - ты говорил про утилиту виндовую для работы с образами юзикса. таки кинь её куданить (по возможности с сорцами). и я так понял вопрос с её портированием на ориона снят и к нему не вернёшся да?

Личку почистил, с трудом (храню там историю сообщений).
Исходники утилит выложил тут:
http://orion-z.mylivepage.ru/file/927/5893_CBUILDER_UZIX_DOSUTILS.ZIP
Вопрос пока не закрыт, но ввиду его объемности пока лежит в дальнем ящике (на работе задолбали, и что характерно, работой :) )


Error, на твоём сайте нашол какой то архивчик с тремя тулзами. однако после ucp.exe система начинает слетать. я кинул в образ ещё одну тулзу adduser, потом сделал chmod 777 /bin/adduser, запускаю и система падает, причём с надписью inode lost или чтото такое...кароче видимо утилита не учитывает структуру диска или не верно генерит/подсчитывает иноды.

Ответил тут:
http://zx.pk.ru/showpost.php?p=336484&postcount=21

---------- Post added at 19:03 ---------- Previous post was at 18:59 ----------


Попробую тогда частоты поковырять.

Попробовать 55Гц вместо существующих на данный момент 56Гц? Может, тогда и мониторы будут работать, и в мой ТВ влезет?

Astrolux
26.10.2011, 21:35
А возможно заказать собранную плату Орион-2010?
Вот как здесь:
http://radiokot.ru/circuit/digital/pcmod/32/

Ewgeny7
26.10.2011, 23:04
А возможно заказать собранную плату Орион-2010?
Нет. Можно попытаться заказать платы u9 или u10 у vlad'a, ОРИОН-2010 на них портирован.

BYTEMAN
26.10.2011, 23:56
Ewgeny7, продолжение проекта следует? Или всё, финиш?

Ewgeny7
27.10.2011, 11:26
продолжение проекта следует? Или всё, финиш?
А куда его продолжать-то? Как ОРИОН он закончен, да и так наворотов добавлено изрядно. Даже мышка работает :)

BYTEMAN
27.10.2011, 12:02
А куда его продолжать-то? Как ОРИОН он закончен, да и так наворотов добавлено изрядно. Даже мышка работает
Вот не пойму только, pvlad эту концепцию поддержал? Или же нет? И случайно никто не знает, куда он пропал?

Ewgeny7
27.10.2011, 12:45
Вот не пойму только, pvlad эту концепцию поддержал?
Он соучастник разработки :)


И случайно никто не знает, куда он пропал?
Он просто не заходит. А письмо относительно недавно от него получал.

BYTEMAN
27.10.2011, 12:47
Он просто не заходит. А письмо относительно недавно от него получал.
А, ну значит, всё хорошо :)

АлександрПП
27.10.2011, 13:29
Он соучастник
Лучше соавтор.

Error404
19.11.2013, 23:44
А куда его продолжать-то? Как ОРИОН он закончен, да и так наворотов добавлено изрядно. Даже мышка работает :)

Напиши пожалуйста как реализована мышь в Орионе-2010. На каком порту (портах), что побитно значат прочитываемые с порта(ов) мыши байты. Прекрасно если еще будет пример программки (ты вроде что-то писал)?
Да и вообще напомни (если помнишь) под что мы разделили область портов F766..F76F?
Из того что помню я:
F760/F761 - 512ВИ1
F762/F763 - Sdcard
F764/F765 - RS-232
F766... - ????

Ewgeny7
20.11.2013, 13:10
csf760 -- RTC adress --
csf761 -- RTC data --
csf762 -- SD command --
csf763 -- SD data --
csf764 -- USART data --
csf765 -- USART status --
csf767 -- main system config register --
csf768 -- PS/2 keyb scancode --
csf769 -- PS/2 keyb scancode prefix --
csf76d -- mouse buttons "00000"&M&R&L--
csf76e -- mouse X 0-255--
csf76f -- mouse Y 0-255--

Насчет регистра конфигурации надо еще покурить исходники, там вроде как управление прерываниями было.

Error404
20.11.2013, 14:10
В списке пропущен регистр csf766 - что было в нем?



csf76e -- mouse X 0-255--
csf76f -- mouse Y 0-255--


А вот эти два регистра - в них абсолютное значение координат помещается или приращение (dx, dy - как нативно возвращает мышь) от предыдущего съема результата контроллером?

---------- Post added at 14:10 ---------- Previous post was at 14:00 ----------



csf767 -- main system config register --
csf768 -- PS/2 keyb scancode --
csf769 -- PS/2 keyb scancode prefix --

Насчет регистра конфигурации надо еще покурить исходники, там вроде как управление прерываниями было.

Там вроде управление относилось к аппаратной клавиатуре PS/2 на прерываниях? Или к RS-232 тоже? Ты же вроде исключил из последней версии О-2010 части относящиеся к аппаратной клавиатуре PS/2?

Ewgeny7
20.11.2013, 14:35
в них абсолютное значение координат помещается или приращение
Абсолютное.


Там вроде управление относилось к аппаратной клавиатуре PS/2 на прерываниях? Или к RS-232 тоже? Ты же вроде исключил из последней версии О-2010 части относящиеся к аппаратной клавиатуре PS/2?
Нет, для плат REverse не исключал. Порт F767, он же порт 47, управляет турбой, отключением портов, проецируемых на ОЗУ (F4xx...FBxx), впечатывает вместо ROM верхний участок RAM.


В списке пропущен регистр csf766 - что было в нем?
Это регистр DAC, делали на всякий случай...

Error404
20.11.2013, 15:11
csf766 - Это регистр DAC, делали на всякий случай...

Раз DAC пока нету (и будет ли? и надо ли? в Орионах на россыпухе явно же не будет?), реквестую порт csf766 для контроллера мыши на россыпухе. Туда предлагаю скидывать 4-битные dx и dy - 2 ниббла одного байта. А состояние кнопок передать в свободных битах регистра csf765 (D0..D2 на чтение).

В этом случае оба варианта не мешают друг другу, а дополняют (т.к. вариант логики от Ориона-2010 тинька2313 врядли вытянет, да еще и вместе с RS-232). Для Ориона на рассыпухе можно будет использовать один драйвер мыши, для Ориона-2010 - второй. Или написать универсальный с детектом контроллера.

Ewgeny7
20.11.2013, 15:48
Error404, Совсем нетрудно сделать наоборот - подогнать Орион-2010 под рассыпуху. Софта один фиг для мыши нету, пускай будет единый стандарт. Пользуй уже занятые порты мышки. Сильно припрет сделать не дельта, а абсолют - еще портов наделаю новых :)

pvlad
20.11.2013, 15:48
...случайно никто не знает, куда он пропал?
Спасибо, что вспомнили. Совсем не пропал, иногда захожу на сайт без регистрации - посмотреть, что делается.
А вообще, все значительно проще. Я уже писал, что для меня Орион - есть Орион. Я им наигрался еще двадцать лет назад. Дважды в одну речку не войти. Это вам молодым интересно возиться с раритетом, прибамбасики к нему лепить. К сожалению, в этом вся самоцель, и никакого прогресса и продвижения. Придумываете новые порты, мышку..., а во имя чего? Что, кто-то напишет новую прикладную программу под эти "прибамбасы"? Вы меня извините, но это украшение трупа бантиками и рюшечками! От этого он не воскреснет! Ах! Да! Вам станет приятно, что он хорошо смотрится!
В мое время, Орион был - Инструмент! Сейчас - это игрушка (и не более) - сделал (в этом высший интерес!), а затем положил на полку. Простите - мне это не интересно.
Когда создавали Орион-2010, у меня была мысль развернуть его в более практичное русло. И для этого есть очень талантливый человек, как в свое время, были одержимые таланты, когда создавался Орион-128 и ПРО. Мне представлялось - пусть Орион (и еже с ними) останутся раритетными игрушками для повторения и утешения души, а 2010 - сделать, как многофункциональный контроллер для управления (кому интересно - посмотрите мои топики). К сожалению, Общество меня не поддержало. Ну, сделали навороченную копию Ориона, и получили новую игрушку для взрослых дядей? Может кому-то и интересно, мне - нет.
Раз на Орион не пишутся новые программы - это мертвое...(простите - больно называть вещи своими именами). Вылизывание СРМ, всевозможные драйвера и "портики" - не в счет! Вы ковыряетесь в тех же 90-х... и никакого прогресса, разве что копия на новой элементной базе. Только не приводите мне в пример восстановление раритетных машин.
А ведь Ардуино по духу сродни Ориону! Идею любительства воплотили в новом качестве. Мне тогда казалось, что и Ориону можно было дать новую жизнь. Сделать его блочным. Что мешало иметь различные блоки ЦП - на 8080 (Z80), 8051, AVR? Или иметь блок синхронизатора дисплея Ориона, и в то же время иметь возможность заменить его на блок графической панели. Не сомневаюсь, что нашлись бы желающие написать управляющие программы (Монитор) для каждого блока ЦП. Я, уж точно сел бы на 8051! А что мало AVR-щиков? И вовсе не нужно, чтобы старые программы работали на всех ЦП. Каждому свое.
А так, что? Талант Ewgeny7 был "израсходован" на игрушку для Error404. Собственно, он один в неё и играется. Что, остальные что-то понимают в "наворотах" Сергея? Я совсем не хочу обидеть Error404, и с большим уважением отношусь к его знаниям и профессионализму. Просто вещи называю своими именами.

P.S. Кстати, делал ремонт в своей комнате-мастерской (захламление железками было ужасное!), и нашел последнюю партию (12шт.) печатных плат Ориона-ПРО V3.10 от 1994г. На заводе наши платы шли потоком, и когда тормознули изготовление - остался опережающий задел (по ихней инициативе). Не стал я кидать завод (в те времена трудно жилось - они молились на наш заказ), и выкупил остаток, хотя он уже и не был нужен.
Думаю, что это последние оригинальные платы Ориона-ПРО.

Ewgeny7
20.11.2013, 16:00
Раз DAC пока нету
Да он, собственно, не мешается. Можно и вернуть в качестве инструментального средства. На рассыпухе он делается одной ИР23 плюс 10 резисторов. Вот только нужды острой в нем нету, да...

---------- Post added at 16:00 ---------- Previous post was at 15:50 ----------

pvlad, здравствуйте! :)
Насчет "молодых" - Вы все же погорячились, тут все сильно взрослые дядьки...
Другое дело, что это не мешает оставаться "там", и заниматься делом ради удовольствия...
Да, игрушки... Но только - не деревянные коники/слоники, а - творчество, ради получения удовольствия. Маленькие победы, которые так здОрово украшают нашу жизнь :)
И ляпну уж совсем от себя - Ардуино??? Нет, это не наш путь... Лист текстолита, Мега128, АврСтудио и КодеВижн - это да, это уже серьезней :)

Error404
20.11.2013, 16:15
А я немножко изучаю контроллеры, AVR как раз. Но сильно в фоновом режиме и зачастую на Орионовских поделках других авторов. :) Так что если будет случай, и до Ардуины руки дойдут. Немного офтопика: вот еще в сторону CubieTruck (http://cubieboard.org/2013/10/30/cubieboard3-cubietruck-is-all-ready/) поглядываю, но уже в плане Linux и программирования под него.

Error404
23.11.2013, 16:18
Раз DAC пока нету


Да он, собственно, не мешается. Можно и вернуть в качестве инструментального средства. На рассыпухе он делается одной ИР23 плюс 10 резисторов. Вот только нужды острой в нем нету, да...

А для чего нужен DAC, что позволяет?

ЗЫ. Вернул сообщения по RS-232 в родную тему

Ewgeny7
24.11.2013, 11:51
А для чего нужен DAC, что позволяет?
Вообще это была вроде как твоя идея :)
Позволяет выставлять на выходе напругу 0...5 вольт (примерно), можно воспроизводить некие звуки, как COVOX на спектрумах. Но на Орионе оно вряд ли когда понадобится.

Error404
24.11.2013, 15:35
Вообще это была вроде как твоя идея :)


Чота не припоминаю такого. :) Ну да ладно.



Позволяет выставлять на выходе напругу 0...5 вольт (примерно), можно воспроизводить некие звуки, как COVOX на спектрумах. Но на Орионе оно вряд ли когда понадобится.

Вроде не было на Орионе ковокса... Ну пока пущай будет, ибо с мышью пока концептуальные непонятки..

---------- Post added at 15:35 ---------- Previous post was at 15:32 ----------

А где кот? :)