Просмотр полной версии : KAY-1024/SL-4/TURBO v2010 + NemoFDC + NemoIDE
Страницы :
1
[
2]
3
4
5
6
7
Версия прошивки 0.3 от 18.01.11
Это пробная версия прошивки контроллера клавиатуры
на ATMega48 для KAY 1024.
При выдаче RESET зажигается светодиод HL3.
Управление выходом TURBO по состоянию Scroll Lock
Если горит, на выходе TURBO 1, иначе 0.
Состояние Scroll Lock и Num Lock сохраняются в EEPROM.
Caps Lock при сбросе всегда выключено.
WAIT пока не подключено, хотя уже сейчас возможна
работа в режиме TURBO.
Когда всё будет отработано, попробуем ввести в режиме
TURBO торможение сигналом WAIT.
vladimir53
18.01.2011, 19:12
Alex_NEMO
Спасибо за совет. Скачал.
SoftFelix
18.01.2011, 20:27
При выдаче RESET зажигается светодиод.
Какой светодиод? RESET же - Print Screen? На клаве ничего не мигает.
Alex_NEMO
18.01.2011, 21:26
Какой светодиод? RESET же - Print Screen? На клаве ничего не мигает.
Скорее всего HL3 - "контроллерный" так сказать. Чуть ниже самого верхнего слота.
Прозвонил сегодня "цепи клавы". Сперва от разъема DF-15F (на конце шлейфика для клавы) до соотв. ножек микросхем DD8, DD29, DD36, DD37. Тут все в норме. Все сигналы доходят куда надо, не коротят друг с другом и на ЗЕМЛЮ или +5v. Далее проверил с подключенной мех. клавой - нашел единственный "косяк" - корочение линий K10(KD0) и K29(KD1).
Бум искать причину. Заодно хочу проверить "матрицу" кнопок...
Какой светодиод?HL3
RESET же - Print Screen? На клаве ничего не мигает.И не должно.
---------- Post added at 23:57 ---------- Previous post was at 23:37 ----------
нашел единственный "косяк" - корочение линий K10(KD0) и K29(KD1).Я же сказал - проверь линию KD0 :)
Alex_NEMO
18.01.2011, 22:31
Я же сказал - проверь линию KD0
Спасибо, Камиль! Я её первую и проверил на стороне клавы. Проверил заодно и матрицу кнопок. Корочение нашел и устранил. Матрица рабочая, кроме доп. цифрового поля(у меня будет мех. клава на базе клавы от телетайпа F2500(фотка внизу сообщения)). Но это уже мелочи! Завтра бум пробовать снова и мех. клаву и новую прошивку для контроллера PS/2 клавы. Большое всем спасибо за помощь и дельные советы! Всем удачи и всех благ!
"Донор" для моей мех. клавы:
http://zis.tomsk.ru/UserFile/Image/old_catalog/3511.605-01103.jpg
Поигрался с подключением WAIT, и как и ожидал, убедился, что для нормальной работы в TURBO-режиме,
тактовая частота контроллера должна быть увеличена по крайней мере до 24 МГц.
2SoftFelix - попробуй впааять кварц на 24 МГц и проверь работу последней прошивки в TURBO-режиме.
По моим прикидкам всё должно заработать как надо.
Alex_NEMO
19.01.2011, 10:14
Поигрался с подключением WAIT, и как и ожидал, убедился, что для нормальной работы в TURBO-режиме,
тактовая частота контроллера должна быть увеличена по крайней мере до 24 МГц.
Камиль, можно любые кварцы ставить в диапазоне 24...25 Мгц? С ПЦ материнок можно посдергивать на 25 МГц (LAN-чипы) или 24,576 МГц(аудио-кодеки). "Чисто" 24 МГц то же есть в наличии. 27 МГц, обычно, на видеокартах стоят.
Камиль, можно любые кварцы ставить в диапазоне 24...25 Мгц? С ПЦ материнок можно посдергивать на 25 МГц (LAN-чипы) или 24,576 МГц(аудио-кодеки). "Чисто" 24 МГц то же есть в наличии. 27 МГц, обычно, на видеокартах стоят.Да, я и на 28 МГц ставил.
В принципе частота здесь не критична, только немного тайминги сдвинутся, но это не смертельно.
SoftFelix
19.01.2011, 12:35
2SoftFelix - попробуй впааять кварц на 24 МГц и проверь работу последней прошивки в TURBO-режиме.
По моим прикидкам всё должно заработать как надо.
Только завтра смогу проверить. Впаяю сразу 25МГц. О результатах отпишусь.
Alex_NEMO
19.01.2011, 23:30
Версия прошивки 0.3 от 18.01.11
Это пробная версия прошивки контроллера клавиатуры
на ATMega48 для KAY 1024.
При выдаче RESET зажигается светодиод HL3.
Управление выходом TURBO по состоянию Scroll Lock
Если горит, на выходе TURBO 1, иначе 0.
Состояние Scroll Lock и Num Lock сохраняются в EEPROM.
Caps Lock при сбросе всегда выключено.
WAIT пока не подключено, хотя уже сейчас возможна
работа в режиме TURBO.
Камиль, отчитываюсь сам сегодня:
1. С кварцем на 20 МГц, прошивка 0.3 (пока последняя) - работа вполне комфортная и в "стандартном" режиме и в ТУРБО. Не работали только лишь клавиши H, J, K, L. Четкое переключение ТУРБО/не ТУРБО, CapsLock, RESET.
2. С кварцем на 25 МГц, прошивка 0.3 (пока последняя) - работа несколько хуже, чем в 1-м случае и в "стандартном" режиме и в ТУРБО. Не работали клавиши Y, U, I, O, P, {, }, 6, 7, 8, 0, BackSpace, ;, '. Четкое переключение CapsLock, RESET. А с ТУРБО/не ТУРБО - довольно интересно - Scroll Lock четко реагирует на переключение, а светодиод на плате (HL1) частенько не менял своего свечения...
3. Мех. клава работает более-менее стабильно, причем, как мне показалось, стабильнее "параллельно" с PS/2 клавой, т.е. с контроллером (я тестил ещё и при вытащенных из панелек контроллере и ЛЛ1). Видимо, или придется ещё уменьшать сопротивление резюков сборки NR2 (сейчас они у меня 2,2кОм) или укорачивать кабель до мех. клавы...
Ещё одна досадная для меня неприятность - не заработала моя комбо (USB/PS2) слим-клава BTC6100C, которая прекрасно работает на Спекки 2007. На кнопки реакции нет, а шифты и курсор - такое ощущение, что в цикле происходит многократное переключение ТУРБО/не ТУРБО... Это можно "вылечить"?
SoftFelix
19.01.2011, 23:38
2. С кварцем на 25 МГц, прошивка 0.3 (пока последняя) - работа несколько хуже, чем в 1-м случае и в "стандартном" режиме и в ТУРБО.
Хм... Странно. А я завтра намылился кварц менять...
Не работали клавиши Y, U, I, O, P, {, }, 6, 7, 8, 0, BackSpace,
Вообще не работали или только в ТУРБО?
отчитываюсь сам сегодня:
......
Да, информация интересная и мне не очень понятная.
Хорошо бы осцилографом посмотреть некоторые сигналы, что бы понять такое поведение системы.
Похоже на взаимное влияние механической клавиатуры и контроллера.
Хорошо бы их по отдельности в начале отладить, а затем уж попытаться скрестить :)
Буду думать. А для начала поставь в контроллер кварц на 20 МГц.
---------- Post added at 08:41 ---------- Previous post was at 08:40 ----------
Хм... Странно. А я завтра намылился кварц менять...Если еще не перепаял, пока оставь как есть.
---------- Post added at 09:31 ---------- Previous post was at 08:41 ----------
Ещё одна досадная для меня неприятность - не заработала моя комбо (USB/PS2) слим-клава BTC6100C, которая прекрасно работает на Спекки 2007.Судя по всему эта клавиатура не работает в режиме SCAN-CODE 3.
Это можно "вылечить"?Нужно переделать прошивку для работы клавиатуры в режиме SCAN-CODE 2.
SoftFelix
20.01.2011, 08:20
Сообщение от SoftFelix
Хм... Странно. А я завтра намылился кварц менять...
Если еще не перепаял, пока оставь как есть.
Есть предположение, что в программе Атмеги надо увеличить время выдачи сигналов на линиях KDxx - удерживать "0" более длительное время.
Alex_NEMO
20.01.2011, 09:30
Хм... Странно. А я завтра намылился кварц менять...
Сам попробуй и с 20 МГц и, если будет желание, проверь на 24 МГц.
Вообще не работали или только в ТУРБО?
И там и там не работали. Переключал Scroll Lock'ом. По светодиоду Scroll Lock
все ОК, а "штатный" индикатор HL1, иногда, бывает "косячит".
Да, информация интересная и мне не очень понятная.
Хорошо бы осцилографом посмотреть некоторые сигналы, что бы понять такое поведение системы.
Похоже на взаимное влияние механической клавиатуры и контроллера.
Хорошо бы их по отдельности в начале отладить, а затем уж попытаться скрестить
Буду думать. А для начала поставь в контроллер кварц на 20 МГц.
Камиль, дело в том, что я пробовал и так и эдак. Результат примерно одинаковый.
Осцил есть - могу глянуть. Вечерком верну кварц на 20 МГц и допаяю кондеры "обвязки" (я до сих пор без них пробовал).
Судя по всему эта клавиатура не работает в режиме SCAN-CODE 3.
Тут я не спец, клава относительно не старая, но на сайте BTC уже в архиве моделей. Пробовал на своей рабочей ПЦ Cherry, которая у меня бессменно работает с 1997года! Со времени моего первого ПЦ - iP166MMX.
Нужно переделать прошивку для работы клавиатуры в режиме SCAN-CODE 2.
Камиль, если не сложно, сделайте, пожалуйста! Хотя бы со временем.
Есть предположение, что в программе Атмеги надо увеличить время выдачи сигналов на линиях KDxx - удерживать "0" более длительное время.
Возможно. Но почему тогда при смене частот кварца разные "ряды" косячят?
Вечерком верну кварц на 20 МГц и допаяю кондеры "обвязки" (я до сих пор без них пробовал).Вот это зря, без них вообще не понятно на частоте ли кварца у тебя контроллер запускался.
При этом бесполезно проверять частоту осцилографом на выводах кварца,
поскольку при подключении щупа к ножкам кварца он может показывать нормальную частоту,
а при отсоединении от ножек, на самом деле частота может быть не известно какая.
---------- Post added at 12:04 ---------- Previous post was at 11:59 ----------
Возможно. Но почему тогда при смене частот кварца разные "ряды" косячят?Раз есть осцилограф, глянь форму сигналов на входах адресных линий контроллера (KA8...KA15), не сильно ли там затянуты задние фронты (от 1 к 0).
Alex_NEMO
20.01.2011, 10:36
Вот это зря, без них вообще не понятно на частоте ли кварца у тебя контроллер запускался.
При этом бесполезно проверять частоту осцилографом на выводах кварца,
поскольку при подключении щупа к ножкам кварца он может показывать нормальную частоту,
а при отсоединении от ножек, на самом деле частота может быть не известно какая.
Понял, кондеры обязательно припаяю. И все по новой проверю.
Раз есть осцилограф, глянь форму сигналов на входах адресных линий контроллера (KA8...KA15), не сильно ли там затянуты задние фронты (от 1 к 0).
Хорошо, попробую посмотреть. Заодно USBee AX Pod "обкатаю"!
SoftFelix
20.01.2011, 10:50
Возможно. Но почему тогда при смене частот кварца разные "ряды" косячят?
Меня всё ещё смущает твой кабель "1 метр для мех.клавы". При таком раскладе номинал NR2 - чем меньше - тем лучше. В разумных пределах. 155ЛП9 тянет до 40мА на каждый выход. Так что можно смело ставить NR2 на 470...680 Ом. Т.к. один вентиль одной из ЛП9 нагружен на низкоомную индуктивную нагрузку (преобразователь +12В), я поставил тантал на шины питания вблизи этих микросхем.
+Надо ещё знать алгоритм работы программы в Атмеге. Кварц-то мы заменили, внутренняя программа стала работать быстрее, а тайменги остались для 20МГц. В частности, удерживание нуля на выводах KDxx. Камилю виднее...
Вечерком верну кварц на 20 МГц и допаяю кондеры "обвязки" (я до сих пор без них пробовал).
Вот это зря, без них вообще не понятно на частоте ли кварца у тебя контроллер запускался.
Обычно кварцы на такую частоту работают на 1-ой гармонике и добротность кварца на основной частоте очень высокА. Скорее всего, всё работало на нужной частоте. Но конденсаторы всё равно нужны.
Alex_NEMO
20.01.2011, 11:14
Меня всё ещё смущает твой кабель "1 метр для мех.клавы". При таком раскладе номинал NR2 - чем меньше - тем лучше. В разумных пределах. 155ЛП9 тянет до 40мА на каждый выход. Так что можно смело ставить NR2 на 470...680 Ом. Т
Я писал, что пробовал и с мех. клавой и без неё. Все последние проверки, когда описаны отсутствие нек. рядов и символов проводил уже БЕЗ подключенной мех. клавы. Наверное, укорочу её хвост, сантиметров до 70-60 хотя бы. И если потребуется уменьшу сопротивление резюков до 1 кОм. Меньше боязновато - контроллеру нагрузка по входам возрастет же! Там бы, по идее, токоогнаничительные резюки по входам, наверное, не помешали бы.
Т.к. один вентиль одной из ЛП9 нагружен на низкоомную индуктивную нагрузку (преобразователь +12В), я поставил тантал на шины питания вблизи этих микросхем.
Тут я вообще думаю убрать эту схемку - выпаять дроссель L1 и диод VD3. Все равно от АТХ-питания запитан. И помех поменьше будет.
Скорее всего, всё работало на нужной частоте. Но конденсаторы всё равно нужны.
Ладно, уговорили! :) Вечером припаяю.
+Надо ещё знать алгоритм работы программы в Атмеге. Кварц-то мы заменили, внутренняя программа стала работать быстрее, а тайменги остались для 20МГц. В частности, удерживание нуля на выводах KDxx.Тут всё нормально, "0"-и снимаются по окончании цикла чтения порта клавиатуры.
;************************************************* *******
; Прерывание INT0 по чтению порта клавиатуры _RDFE ~\_/~
; Длительность импульса = 720 нсек
; Порт D в режиме чтения, на входе Адрес сканирования
VINT0: ;6..7 -> 300-350 нсек
in YL,PIND ;1 - адрес сканирования
sbic PINC,KA10 ;1
sbr YL,1<<_RDFE ;1 - добавить бит KA10
ld scanFF,Y ;2 - скан-код из ScanBuf
out PORTB,scanFF ;1 - выдать в порт данных
;12..13 -> 600-650 нсек (20 МГц)
; -> 500-540 нсек (24 МГц)
wait_RD: ; Ждать отпускания _RDFE
sbis PIND,_RDFE ;1/2 _/~
rjmp wait_RD ;2
out PORTB,r_FF ;1 PORTB - все 1
;15..19 -> 750-950 нсек
reti ;4
;************************************************* *********
SoftFelix
20.01.2011, 12:04
Меньше боязновато - контроллеру нагрузка по входам возрастет же!
А чего боятся? Это же входы. Боятся надо за ЛП9, но ей пофиг. Меньше сопротивление - круче фронты.
Сейчас еще раз внимательно посмотрел схему.
Я резисторы подтяжки R33...R37 рекомендую поставить не менее 4.7 КОм.
В этой цепи важнее "0"-вые уровни, а чем больше токи через развязывающие диоды, тем выше уровни "0".
Alex_NEMO
20.01.2011, 13:15
Я резисторы подтяжки R33...R37 рекомендую поставить не менее 4.7 КОм.
Камиль, с другой стороны, там же TTL-уровни, а для них, "стандарт" - 1кОм на пулл-апы...
Камиль, с другой стороны, там же TTL-уровни, а для них, "стандарт" - 1кОм на пулл-апы...Это если бы у тебя стояли микросхемы 155 серии, а для ТТЛШ и 10 КОм достаточно.
SoftFelix
20.01.2011, 19:38
Поменял кварц на 25МГц. Клавиатура работает во всех режимах идеально.
Поменял кварц на 25МГц. Клавиатура работает во всех режимах идеально.Ну и отлично.
SoftFelix
20.01.2011, 21:01
Дабы сегодня было время на работе, поменял ещё PIC в Power Manager'е с прошивкой:
"default2.hex - время ожидания Pwr_OK при включении - 500 мс, выкл. - удержание кнопки ~3,5 сек", ибо несколько раз БП не запустился из-за "аварии". Пока ещё плотно не тестил.
Так же удалил D70 SN74F245 и на её место установил цанговую панель. Не даёт мне покоя подключить 4-х-мегабайтный модуль от Samsung'а. Напомню, что при заведомой 100%-ой исправности, этот модуль в КАЕ глючит (http://zx.pk.ru/showpost.php?p=339601&postcount=107).
Выяснился ещё один интересный момент. Если отключить ТУРБО, то при RESET'е в BASIC_128 вот так портится экран:
http://photofile.ru/photo/softfelix/3868246/large/91709559.jpg (http://photofile.ru/users/softfelix/3868246/91709559/)
Если ТУРБО включить, то картинка идеальная. В КРАМИС'е ошибки лезут в обоих режимах. Поставил на место D70 нулёвую ЭКР1533АП6 - моментально полезли ошибки с характерной порчей заставки BASIC_128. Поставил SN74LS245 - заставка BASIC_128 перестала портиться, ошибки в КРАМИС'е стали значительно меньше и только в разрядах 3, 5 и 6.
Вот думаю, может сигнал /WE задержать только для D70 (парочку вентилей последовательно) или попробовать шину MD0...MD7 подтянуть к +5В резисторами на 10кОм.
Alex_NEMO
20.01.2011, 21:04
Мужики, у меня с кондерами то же, вроде, стабильно запахало! Пока на 20 МГц, керамический резонатор без среднего отвода (по идее, без кондеров внутри). Повесил еще динамик, все "щелкает" и "пищит" по BEEP.
Один момент - тест памяти в Крамисе - самая верхняя строка "дампа" идет так:
00 01 02 03 04 -- 06 07
Т.е. над d5 - прочерки(--). Это так должно быть или, типа, микросхема памяти на линии D5 (DD26) - "битая"? Феликс, у тебя как?
Какое-нить описание на Крамис и его тест есть? Ещё момент - у меня триггер на #1FFD чего-то чудит - не переключатся, точнее, не защелкивается.
SoftFelix
20.01.2011, 21:18
Один момент - тест памяти в Крамисе - самая верхняя строка "дампа" идет так:
00 01 02 03 04 -- 06 07
Т.е. над d5 - прочерки(--). Это так должно быть или, типа, микросхема памяти на линии D5 (DD26) - "битая"? Феликс, у тебя как?
Это номера страниц памяти. 5-ая ,банка не тестится - там экран.
Какое-нить описание на Крамис и его тест есть?
Уже спрашивали. Никто не откликнулся.
Ещё момент - у меня триггер на #1FFD чего-то чудит - не переключатся, точнее, не защелкивается.
Вообще не работает или переключается нестабильно? Там слегка глючная схемотехника. На кнопку надо было обязательно поставить RS-триггер, а уж его выход подавать на тактовый вход следующего триггера (делителя на 2). У меня все эти переключалки тоже не очень хорошо работают, но не до фатальной неработоспособности. С21 у тебя какой ёмкости? Проверяй монтаж. Ты же его переделывал под "после включения питания порт #1FFD открыт"?
Alex_NEMO
20.01.2011, 21:37
Это номера страниц памяти. 5-ая ,банка не тестится - там экран.
Понял, спасибо! А как ошибка обозначается? Как долго полный тест памяти идет?
Уже спрашивали. Никто не откликнулся.
Жаль, что Лас не откликнулся - он был "последней надеждой"...
Вообще не работает или переключается нестабильно? Там слегка глючная схемотехника. На кнопку надо было обязательно поставить RS-триггер, а уж его выход подавать на тактовый вход следующего триггера (делителя на 2). У меня все эти переключалки тоже не очень хорошо работают, но не до фатальной неработоспособности. С21 у тебя какой ёмкости? Проверяй монтаж. Ты же его переделывал под "после включения питания порт #1FFD открыт"?
На ТУРБО работает более-менее, а на #1FFD глючит. вплоть до того, что перемычку воткнул, только она и "держит", но "момент" поймать надо. Доработку делал - на фотке можно глянуть. Сейчас - светик горит - по идее, #1FFD включен. C21 - танталовая "капелька" на 1 мкф. Что, на 10 мкф воткнуть, или, хотя бы, на 4,7 мкф?
Какое-нить описание на Крамис и его тест есть?
Где-то что-то было, у себя в бардаке найти не могу, попробуй пошерстить документацию на Профи.
Жаль, что Лас не откликнулся - он был "последней надеждой"...
Откликнулся, написал мне в личку что поисчет описание, но это было в том году... Пока ни ответа ни привета
SoftFelix
20.01.2011, 21:56
А как ошибка обозначается?
Ты её не пропустишь. Адреса будут появляться в левом прямоугольнике с красной каймой.
http://photofile.ru/photo/softfelix/3868246/large/91709554.jpg (http://photofile.ru/users/softfelix/3868246/91709554/)
Как долго полный тест памяти идет?
Он закольцован, идёт очень долго.
C21 - танталовая "капелька" на 1 мкф.
Поменяй на алюминиевый такой же ёмкости. Я эти капли только через ESR-метр в схему пускаю - там такие чудеса всплывают...
что перемычку воткнул, только она и "держит", но "момент" поймать надо.
Не, это полная фигня. Если монтаж соответствует схеме, то меняй С21.
Что, на 10 мкф воткнуть, или, хотя бы, на 4,7 мкф?
Большая ёмкость там не требуется.
Alex_NEMO
20.01.2011, 23:10
Откликнулся, написал мне в личку что поисчет описание, но это было в том году... Пока ни ответа ни привета
Mayor, напомни ему, так, вежливо, что владельцы новособираемых КАЕв были бы ему очень благодарны!
Ты её не пропустишь. Адреса будут появляться в левом прямоугольнике с красной каймой.
Он закольцован, идёт очень долго.
О, спасибо! Все наглядно и понятно! Не, я долго не гонял пока тест, но у меня такого НЕ было еще.
Поменяй на алюминиевый такой же ёмкости. Я эти капли только через ESR-метр в схему пускаю - там такие чудеса всплывают...
Хорошо. Поставлю Джамиконы, на 2,2 мкф х 100 вольт. Где-то лежал десяток новых. Кстати, те "капельки" то же новые. Хотя, конечно, это ничего НЕ значит...
SoftFelix
20.01.2011, 23:16
Не, я долго не гонял пока тест, но у меня такого НЕ было еще.
Дело не в продолжительности, так глючит Самсунговский СИММ на 4МБ. Другие симы на 1МБ работают без проблем.
Black_Cat
21.01.2011, 00:08
глючит Самсунговский СИММ на 4МБ. Другие симы на 1МБ работают без проблем. А как ты ему регенерацЫю делаешь?
SoftFelix
21.01.2011, 00:14
А как ты ему регенерацЫю делаешь?
Первый мегабайт (MA0...MA9) регенерируется штатно от КАЯ, а старший мульплесированный адрес МА10 повешен на GND.
Black_Cat
21.01.2011, 00:36
у 4Мб регенерацЫя отличалась, глянь мануал, скорее всего у него CAS перед RAS
SoftFelix
21.01.2011, 00:46
БК-0010, глянь, пожалуйста, если понимаешь, куда смотреть. Повторюсь: модули на 1МБ и 256КБ работают без проблем.
Вот такой у меня СИММ на 4МБ:
http://www.alldatasheet.com/datasheet-pdf/pdf/111215/SAMSUNG/KMM594000B-7.html
А вот такой от OKI на 1МБ работает без проблем:
http://www.datasheetarchive.com/MSC2312A80YS9-datasheet.html
Black_Cat
21.01.2011, 01:14
у тебя какие микросхемы стоят по быстродействию?
Боюсь, тебе помочь невозможно. Судя по всему у тя слишком быстрое ОЗУ, требующее более частого обращения, а в Спеке это принципиально невозможно т.к. времянки привязаны к дисплею. Были бы времянки VGA - твоя память скорее всего заработала бы нормально. На вскидку - есть один способ прикрутить такую память, но он очччень черезжопный и требует перелопачивания всей схемы и не факт что в итоге это получится. Гораздо проще поставить 4 линейки по 1Мб.
1х мегабитный чип http://www.alldatasheet.com/view.jsp?Searchword=41C4000
4х мегабитный чип http://pdf1.alldatasheet.com/datasheet-pdf/view/37280/SAMSUNG/KM41C4000D.html
для 4мбитной 1к циклов скрытой регенерации (или перебирать 1к рядков за 16ms)
для 1мбитной 512 циклов скрытой регенерации (или перебирать 512 рядков за 8ms)
в общем для 4мбит чипа как уже неоднократно говорили надо заводить скрытую регенерацию (ну ли CRB), но при кварце 14мгц по таймингам вложиться не возможно.
Из простого что в голову пришло, на бордюре в фазах чтение видеогенератора инвертировать ras и cas для cbr, то что по таймингам не вложимся что то прочитать пофик.
SoftFelix
21.01.2011, 08:28
у тебя какие микросхемы стоят по быстродействию?
В модуле СИММ на 4МБ? 70ns. Модули на 1МБ - на 80ns. Я ж даташиты в 289-ой мессаге кинул.
Судя по всему у тя слишком быстрое ОЗУ, требующее более частого обращения
А можно параметр из даташита, который бы и мне дал понять эту очевидность?
Боюсь, тебе помочь невозможно.
У меня пока ещё оптимистичный настрой. С учётом последней замены D70 с более низким быстродействием.
---------- Post added at 08:28 ---------- Previous post was at 08:23 ----------
в общем для 4мбит чипа как уже неоднократно говорили надо заводить скрытую регенерацию (ну ли CRB), но при кварце 14мгц по таймингам вложиться не возможно.
У меня только один вопрос: посадив старший мультиплексированный адрес МА10 4МБ-симма на общий провод (GND), я сделал из него полноценный СИММ на 1МБ? Или для данных чипов принципиально необходима подача регенерации на МА10???
p.s. Вот тут даташит на отдельную МС из СИММ на 4МБ со всеми диаграммами: http://files.mail.ru/OVGLAR
У меня только один вопрос: посадив старший мультиплексированный адрес МА10 4МБ-симма на общий провод (GND), я сделал из него полноценный СИММ на 1МБ?
Да, при условии что регенерятся все 1024 строки на MA0-MA9, чего в кае нет.
SoftFelix
21.01.2011, 10:46
Да, при условии что регенерятся все 1024 строки на MA0-MA9, чего в кае нет.
Ага! Из-за того, что в МА9 нет регенерирующего сигнала? Так чего ж ты раньше молчал?!
Black_Cat
21.01.2011, 11:18
Я ж даташиты в 289-ой мессаге кинул. там есть разное быстродействие
В модуле СИММ на 4МБ? 70ns
по опыту, 70нс с высокой вероятностью должна заработать
А можно параметр из даташита, который бы и мне дал понять эту очевидность?
по характеру сбоев - проблема с регенерацией, при правильной схеме регенерации это может быть только от слишком высокого быстродействия памяти, у тебя быстродействие не слишком высокое, значит неправильная регенерация.
Попробуй сделать регенерацию как в Фениксе:
на 5D9 подать V0 при H2=0 / V6 при H2=1
на 3D9 подать 0
на 11D9 подать V1 при H2=0 / V7 при H2=1
на 13D9 подать 0
т.е. надо ещё один мультиплексор КП12
Попробуй сделать регенерацию как в Фениксе:
на 5D9 подать V0
на 3D9 подать V6
на 11D9 подать V1
на 13D9 подать V7
фигня выйдет, картинку будет брать непонятно откуда
---------- Post added at 10:47 ---------- Previous post was at 10:43 ----------
Так чего ж ты раньше молчал?!
Говорил, и думал как в кай воткнуть скрытую регенерацию малой кровью, добавлять цикл скрытой регенерации при кварце 14мгц не получается, да и логики дофика. Сейчас мне бредится вариант на бордюре crb циклы крутить вроде как бордюра хватает что бы гарантировано перебрать все строки
Alex_NEMO
21.01.2011, 22:45
Парни, HELP!
Случилось страшное... Пару дней назад я уронил плату КАЯ со шкафа, и вот, теперь, похоже, результаты падения... :v2_dizzy_wall: Плата была обмотана мягкой упаковочной пленкой, затем, антистатик-пакет от ПЦ-мамки. Все это было в картонной коробке от ПЦ-мамки и переложено всякой фигней. Коробка упала плашмя, нижней частью.
Текущие глюки (перенесено из топика про мультикарту):
Ещё "косяк" обнаружил и пока не понятно в чем проблема - при "включении" ScrollLock'а (т.е. переключаемся на мех. клаву) в динамике слышны шелчки, как будто какая-то кнопка "запала". В 48 Бейсике печатается IF или u, причем, не с постоянной частотой, а хаотично, как будто "западание с дребезгом". Если вынимаю "буфера" ЛП9 - тишина. При этом, "мех. клавный" шлейф снял совсем. Буфера менял на "свежие" 7407 от TI. Что может быть?
---------- Post added at 21:06 ---------- Previous post was at 20:49 ----------
В "плохом" БП может быть проблема? Воткнул другой - картина улучшилась, по проблема осталась...
---------- Post added at 21:42 ---------- Previous post was at 21:06 ----------
Так, пропаял панельки и нек. переходные под ЛП9, повесил доп. керам. кондер на DD8, параллельно заменил все танталовые "капельки" на триггерах и С19 на обычные электролиты - глюк с клавой исчез!
---------- Post added at 21:51 ---------- Previous post was at 21:42 ----------
Рано обрадовался... Глюк периодически появляется...
Еще странный момент - сегодня внезапно вырубился БП. Точнее, как будто комп просто выключили с кнопки с удержанием... Т.е. не аварийное выключение, а "штатное" - моргание всетодиодом в режиме ожидания... Вот такие дела... :confused:
SoftFelix
21.01.2011, 22:57
Alex_NEMO, для начала, попробуй отпаять один конец катушки встроенного преобразователя и погонять. Падение вряд ли было причиной.
Так, пропаял панельки и нек. переходные под ЛП9, повесил доп. керам. кондер на DD8, параллельно заменил все танталовые "капельки" на триггерах и С19 на обычные электролиты - глюк с клавой исчез!
---------- Post added at 21:51 ---------- Previous post was at 21:42 ----------
Рано обрадовался... Глюк периодически появляется...
Т.е. сейчас тоже в BASIC_48 печатается IF или u, но реже?
Alex_NEMO
21.01.2011, 23:13
Alex_NEMO, для начала, попробуй отпаять один конец катушки встроенного преобразователя и погонять. Падение вряд ли было причиной.
Феликс, вчера выпаял дроссель L1 и поднял (выпаял) одну ногу диода VD3. Очень хочется верить, что падение "не поспособствовало"... Т.к. из панелек дичего не вылетело.
Т.е. сейчас тоже в BASIC_48 печатается IF или u, но реже?
Сложно сказать... Был момент, когда минуты 3-и после включения вообще было все тихо. А потом началось. Причем, нет особой закономерности по периодичности и длительность. Елси бу на мыл плату - сказал бы, что где-то или плохой контакт или Х.З... Но, странно то, что если вытащить ЛП9 - все тихо. Правда, долго не гонял. Попробую завтра выташить буфера, перейти в Бейсик 48 и посмотреть. Еже момент - при вытащенных DD65, DD66 и вставленной мульмикарте ZXMC2, при заблокированном порту клавы/джойстиков - все ОК. Как толлько по ScrollLock'у этот порт разблокируется - пошли глюки. Могут не сразу, но идут, сволочи...
За чтение с клавы, как я понимаю, сигнал IORD2/ отвечает?
SoftFelix
21.01.2011, 23:24
Alex_NEMO, Если честно, я не совсем всё понял. У тебя глючит только со вставленой ZXMC2 или и без неё глючит?
В 48 Бейсике печатается IF или u, причем, не с постоянной частотой, а хаотично, как будто "западание с дребезгом". Если вынимаю "буфера" ЛП9 - тишина. При этом, "мех. клавный" шлейф снял совсем. Буфера менял на "свежие" 7407 от TI. Что может быть?
......
повесил доп. керам. кондер на DD8, параллельно заменил все танталовые "капельки" на триггерах и С19 на обычные электролиты - глюк с клавой исчез!
................
Рано обрадовался... Глюк периодически появляется...
Возможно у тебя с выхода ЛП9 идут большие токи на резисторы подтяжки и они создают помехи по питанию на DD36 (КП11). Попробуй вытащить только D29 (ЛП9). Адрес КA13, соответствующий кнопке U, идет с нее.
Еже момент - при вытащенных DD65, DD66 и вставленной мульмикарте ZXMC2, при заблокированном порту клавы/джойстиков - все ОК. Как толлько по ScrollLock'у этот порт разблокируется - пошли глюки. Могут не сразу, но идут, сволочи...
За чтение с клавы, как я понимаю, сигнал IORD2/ отвечает?Я в таких случаях ставлю ПЗУ с простейшим тестом:
ORG 0
start:
xor A
in A,(0FEh)
out (0FEh),A
jp start
end
Осцилограф у тебя как я понял есть. Смотри что происходит на шинах.
Alex_NEMO
22.01.2011, 20:20
Alex_NEMO, Если честно, я не совсем всё понял. У тебя глючит только со вставленой ZXMC2 или и без неё глючит?
Описанные глюки явно НЕ от ZXMC2 или "набортного контроллера PS/2 клавы Камиля". Глючит даже если ничего нет в слотах вообще, и при вытащенных DD65, DD66 и отсутствии шлейфа для мех клавы!
Возможно у тебя с выхода ЛП9 идут большие токи на резисторы подтяжки и они создают помехи по питанию на DD36 (КП11). Попробуй вытащить только D29 (ЛП9). Адрес КA13, соответствующий кнопке U, идет с нее.
Завтра попробую. Сегодня приехал из командировки и устал как собака. Вадим, с другой стороны, глюки идут и при НЕ замыкании чего-либо, т.е. до этих резюков даже ничего не доходит.
Осцилограф у тебя как я понял есть. Смотри что происходит на шинах.
Калич USBee не буду пользовать - он больше врет, чем что-то вразумительное показывает. Придется доставать "свистящего старичка" С1-72 - он хоть сигнал не искажает...
Мужики, ещё просьба к Вам всех - обратите внимание/посмотрите ещё раз на "Опцию - Порт аттрибутов #FF"! Меня смущают сигналы /IORD1 и /IORD2, которые коммутируются перемычкой JP11. /IORD2 как раз управляет мультиплексорами "читающими" клаву DD36, DD37. При установленной перемычке по моему, вышеописанного глюка не было! А Вадим как раз намедни указал, что она меня стоит, а её не должно быть при "реализованном" порте #FF. Не в этом ли причина моих проблем?
SoftFelix
22.01.2011, 20:40
Мужики, ещё просьба к Вам всех - обратите внимание/посмотрите ещё раз на "Опцию - Порт аттрибутов #FF"! Меня смущают сигналы /IORD1 и /IORD2, которые коммутируются перемычкой JP11. /IORD2 как раз управляет мультиплексорами "читающими" клаву DD36, DD37. При установленной перемычке по моему, вышеописанного глюка не было! А Вадим как раз намедни указал, что она меня стоит, а её не должно быть при "реализованном" порте #FF. Не в этом ли причина моих проблем?
Перемычка должна быть снята при установленной опции "порт #FF". У меня при снятой перемычке проблем нет (порт #FF распаян полностью).
Alex_NEMO
23.01.2011, 13:14
Уррааааааа!!! Кажется, я нашел причину своих проблем!!!
Я нек. разъемы паял с пом. паяльного жира. Причем не того г., что сейчас продается на основе вазелина, а старого - доброго, который сравнительно твердый (как воск или парафин) и которым, как я знаю, паяли в т.ч. свинцофые муфты на кабелях. XS2 я как раз паял с его помощью. Сказали, что он нейтральный.
В общем, я снял "обоймы" с XS2, XS2' и разъема KEMPSTON-джоя (на всякий случай, т.к. сингаля с него через инверторы DD58 опять-таки идут на мультиплексоры DD36, DD37). Из трех разьемов, XS2 как раз оказался "изрядно загаженным" жиром под "обоймой"(обратную сторону я тщательно промывал тех. спитром). Вдобавок ко всему, под обоймой оказался... тончайший кусочек припоя, как кончик тонкой иглы. Длиной около 3 и шириной/диаметром 0,2-0,3 мм. Как раз идеальная "коротышка"! Припой удалил, все тщательно прочислил (ватка на зубочистке, смоченная в спирте), прошелся заодно вокруг и под панельками DD8, DD29, и - "как бабка отшептала"!!!
Воткнул в панельки ЛП9 (DD8, DD29), DD65(Мега48), DD66(ЛЛ1), соединил шлейфиком XS2 c XS2'(мех. клава пока НЕ подключена) и подключил PS/2 клаву. К паходу динамика подключен простенький усилок на LM386. Минут 5 висел в стартовом меню, потом перешел в Бейсик 48 - вот уже полчаса заставка 82года стоит как вкопанная, т.е. никаких имитаций нажатия на кнопки, в динамике то же "тишина". На PS/2 кнопку все четко реагирует. Я безмерно рад!
Кстати, сделал для контроллера Nemo FDC доработку (http://zx.pk.ru/showpost.php?p=306233&postcount=391)Дмитрия(ZEK) - для КАЯ она, по идее, НЕ нужна - у нас для этого есть джамперок J5(10-11-12). Если замкнуть 10-11 - вываливаемся в "0"-банку ПЗУ. В "родной" прошивке КАЯ туда зашит "Крамис", но ничто не мешает зашить туда какой-нить "Глюк", "Квик Командер" или кому что пожелается и стартовать с ного по сбросу/включению компа!
Ещё один неприятный моментик. Ради интереса проверил прошивки ПЗУ - у меня 2000 и 2002 года. Сравнение содержимого ПЗУ и файла прошивок дает такой результат:
для 2000 года:
Сравнение файлов kay1024_v2_0.rom и KAY1024.ROM
00000000: 00 F3
00004000: 02 F3
0000FFFB: 00 FF
0000FFFF: 00 FF
для 2002 года:
Сравнение файлов kay1024_v2_1_las.rom и KAY1024_V2_2_LAS.ROM.BIN
00000000: F3 00
00001000: 03 00
00008000: C3 00
00009000: C6 00
00009080: 3E 00
000090C0: FC 10
000090E0: DB 5B
Сегодня хочу попробовать прошить в 2Мбит флэшку - "сборку" для ROM-Switcher'а, а то 27С512, похоже, уже "текут" - старые слишком... 1-ю прошивал BeeProg+, сразу же проверил и заклеил "окошко" непрозрачной наклейкой. 2-ю шил Вильямом(Willem Prog), окно Не заклеивал, и в него периодически светила лупа с подсветкой (радиальная ЛДСка). Это могло как-то повлиять на ПЗУшку?
для КАЯ она, по идее, НЕ нужна - у нас для этого есть джамперок J5(10-11-12)
Нужна, эта перемычка включает трдос по сбросу, если её не ставить а поменять банки местами из крамиса никуда выйти нельзя, и глюк ложится в теневую банку. Можно как вариант конечно в 128басике при старте переключаться в теневую страницу что и сделано в кае (хотя я этого не знал :) и не додумался 128басик сравнить )
SoftFelix
23.01.2011, 13:48
Я нек. разъемы паял с пом. паяльного жира. Причем не того г., что сейчас продается на основе вазелина, а старого - доброго, который сравнительно твердый (как воск или парафин) и которым, как я знаю, паяли в т.ч. свинцофые муфты на кабелях. XS2 я как раз паял с его помощью. Сказали, что он нейтральный.
Я этим ГЭ зарёкся паять. Хрен отмоешь его. Я подобным жиром паял первый РОМ-свитчер. Так эта зараза (жир) потом изо всех щелей ползла. Не берёт его ни ацетон, ни спирт.
Купил вот такой флюс:
http://uniservice.msk.ru/phom/flyus_lti120_100ml.jpg
Сейчас всё им паяю. И КАЙ в том числе. КАЙ спаял полностью, даже с панелями и слотами-разъёмами. Потом у коллеги по работе заказал 4 литра спирта 96% за 400 руб. В кювете за три прохода (смена спирта) вымыл всю плату до "поросячего визга". На четвёртой промывке промывал шприцем под давлением (спирт) все панели и разъёмы. Спирта ещё осталось на мелкие платы.
---------- Post added at 13:48 ---------- Previous post was at 13:40 ----------
Хотел ещё добавить, что выход в КРАМИС возможен при длительном нажатии на ТАВ на PS/2-клаве в основном меню при сбросе в BASIC_128.
Уже лет 15 паяю с помощью ФТС или ТАГС, легко отмывается обычной водой (подешевше чем спирт :) ). Спиртоканифоль использую только для тех деталей которые не желательно мочить водой, но это мелочи.
Alex_NEMO
23.01.2011, 13:58
Купил вот такой флюс:
ЛТИшку то же не хвалят! Почитай тут с 6-7 сообщения (http://electronix.ru/forum/lofiversion/index.php/t39682.html). Я сам замешал толченую канифоль в спирту и добавил немного глицерина. Очень понравилось паять таким флюсом микросхемы в TQFP-корпусах. Если надо - дополнительно наношу ещё немного глицерина.
Жир пришлось применить к нек. разъемам, т.к. не смотря на их "новизну" они НЕ хотели паяться/лудиться обычными методами. Я так же как-то пару лет назад "нарвался" на явно "левые китайские" 3 мм светодиоды - выводы блестель как хромированные или никелированные. Никаких следов окисления, но паясь стал - обманерился... Только этот жир и спас! Я его то же не часто применяю, в основном, провода и то не всегда.
SoftFelix
23.01.2011, 14:04
ЛТИшку то же не хвалят!
Да это всё понятно, что ЭТО не ТОТ ЛТИ, который когда-то носила мне матушка с "оборонки". Всё не то: цвет, запах... Но он паяет, и паяет хорошо. При этом полностью и без малейшего остатка вымывается спиртом или ацетоном.
p.s. Пожалуй, я закончу с оффтопиком про флюсы.
Alex_NEMO
23.01.2011, 14:05
легко отмывается обычной водой
Я вообще платы с деталями водой никогда не мою. Только спирт-технарь(изопротанол) или чистый бензин(Калоша). Водой иногда - только свои платки после лужения.
Да, пора заканчивать, а то "нарвемся"...
Мужики, подскажите лучше - GLUK, неGLUK пойдет на КАЕ при прошивке в 0-ю страницу?
Ещё вопрос - как "подготовить винт" для опции "HDD boot" из меню КАЯ? По аналогии как в Фениксе? Надо будет темку по этому проштудировать.
GLUK, неGLUK пойдет на КАЕ при прошивке в 0-ю страницу?
После портовой препарации, ибо он заточен на пентагоновские порты...
как "подготовить винт" для опции "HDD boot" из меню КАЯ?
где-то в ис-досе было написано... кай умеет только исдос грузит с винта, ну и совместимые загрузчики.
Alex_NEMO
23.01.2011, 15:11
После портовой препарации, ибо он заточен на пентагоновские порты...
Дима, а поподробнее!!! Или проще перекомпилить его из исходников, с учетом КАЕвских портов? Хотя, я в этом НЕ силен...
Поэксперементировал тут с разними контроллерами, даю заключение:
1. ATmega8 c последней(пока) прошивкой v0.3 НЕ работает! Частота керамического резонатора - 20МГц.
контроллер вообще никак не реагирует на клаву, а клава на контроллер.
2. ATmega88V-10PU прекрасно работает при тех же условиях(см. выше!). И таботает как т ТУРБО, так и неТУРБО режимах!
Чуть позже проверю с кварцем на 24 или 25 МГц.
3. Проверил ATmega88V-10PU с кварцем 25 МГц - полет нормальный! Проверял только в ТУРБЕ. "Оверклокинг" контроллера - 2,5 раза! :)
Поэксперементировал тут с разними контроллерами, даю заключение:
1. ATmega8 c последней(пока) прошивкой v0.3 НЕ работает! Частота керамического резонатора - 20МГц.
контроллер вообще никак не реагирует на клаву, а клава на контроллер.
Текущая прошивка расcчитана только для контроллеров серии ATMega48/88/168.
В принципе можно сделать версию прошивки и под ATMega8.
Alex_NEMO
23.01.2011, 16:11
Текущая прошивка расcчитана только для контроллеров серии ATMega48/88/168.
В принципе можно сделать версию прошивки и под ATMega8.
Просто Вадим(zst) сказал, что Вы сказали, что держит. Я пообещал ему проверить. Лично мне достаточно 48/88. 168 у меня для другого дела припасена, и она у меня одна. :)
Проверил ATmega88V-10PU с кварцем 25 МГц - полет нормальный! Проверял только в ТУРБЕ. "Оверклокинг" контроллера - 2,5 раза! :)
Текущая прошивка расcчитана только для контроллеров серии ATMega48/88/168.
В принципе можно сделать версию прошивки и под ATMega8.
Пригодилась бы. Только вот частота у них 16 МГц. Я с этими маркировками запутался и думал, что с буквой А работает на 20 МГц. Так получается небольшой разгон. Но на 5В наверно будут работать?
Пригодилась бы. Только вот частота у них 16 МГц. Я с этими маркировками запутался и думал, что с буквой А работает на 20 МГц. Так получается небольшой разгон.Я думаю ATMega8 при 5 Вольтовом питании должна работать на 20 МГц.
2. ATmega88V-10PU
А она разве не на 10МГц? или так хорошо гонится? Если так, то 10PU я у нас где-то видел и прикуплю... (ломаю тут голову с ними)
---------- Post added at 15:27 ---------- Previous post was at 15:22 ----------
Дима, а поподробнее!!! Или проще перекомпилить его из исходников, с учетом КАЕвских портов? Хотя, я в этом НЕ силен...
думаю найти одну из последних НЕ-глюков (тот что было до Пентэво Сервис-ромы), спросив у Savelij-а не проблема... а там просто драйвер памяти каевский встроить для каевского рам-диска.
Просто Глюк мало интересен, в НЕ-Глюке появилась возможность запускать хобеты с винта/сд-карты, что уже более-менее практично.
Alex_NEMO
23.01.2011, 16:42
А она разве не на 10МГц? или так хорошо гонится? Если так, то 10PU я у нас где-то видел и прикуплю... (ломаю тут голову с ними)
Дима, да, "по паспорту" они на 10 МГц. Но как Камиль уже не раз отмечал, что V-версии контроллеров, при питании 5вольт спокойно "заводятся" на удвоенной частоте - т.е. на частоте контроллеров без буквы V. И да же допускают не большой "разгон"! Если уж Лисицин разогнал Меги 128 в 4-ре раза, то 2,5 раза (или 1,25 раза для 20Мгц контроллеров) - сущие пустяки! И по идее, это не предел!
И ничего НЕ греется! Мега88-10 стоит в 48 Бейсике уже порядка 15 минут - температура корпуса порядка 35-40 градусов, еле ощутимо теплая!
Так что пробуй 10(8)-мегагерцовые версии - 99,9% что пойдут при питании 5 вольт без проблем, и даже позволят себя "чуть погнать"!!! :v2_thumb:
---------- Post added at 16:36 ---------- Previous post was at 16:35 ----------
думаю найти одну из последних НЕ-глюков (тот что было до Пентэво Сервис-ромы), спросив у Savelij-а не проблема... а там просто драйвер памяти каевский встроить для каевского рам-диска.
Просто Глюк мало интересен, в НЕ-Глюке появилась возможность запускать хобеты с винта/сд-карты, что уже более-менее практично.
Если не сложно - сделай, пожалуйста! Думаю, не только мне интересно будет!
---------- Post added at 16:42 ---------- Previous post was at 16:36 ----------
Только вот частота у них 16 МГц. Я с этими маркировками запутался и думал, что с буквой А работает на 20 МГц. Так получается небольшой разгон. Но на 5В наверно будут работать?
Вадим, с буквой А, по идее, без проблем должны завестись на 20 МГц. Возможно, даже и на 24/25 МГц пойдут. Как только Камиль сделает прошивку под Мегу8 - я смогу проверить! Причем, есть у меня и Меги8L-8МГц посмотрим пойдет ли она хотя бы на 20МГц! Ставки принимаются! :)
Если не сложно - сделай, пожалуйста! Думаю, не только мне интересно будет!
Обещать не буду, но постараюсь... я уже давно не программировал :)
---------- Post added at 15:58 ---------- Previous post was at 15:57 ----------
Блин... уже и 10Мгц mega48 в дипе исчезли :(
Проверил ATmega88V-10PU с кварцем 25 МГц - полет нормальный! Проверял только в ТУРБЕ. "Оверклокинг" контроллера - 2,5 раза! :)V-10 означает, что эти чипы гарантированно работают на 10 МГц при напряжении питания выше 2.7 Вольта.
На 5-ти вольтах они работают даже лучше чем их 20-ти МГц братья :)
caro, Я поддерживаю идею сделать, если возможно, версию для atmega8, ибо что-то у нас с другими дикий дефицит :(
ибо что-то у нас с другими дикий дефицит
с мегами8 тож не все гладко, мож у меня конечно из одной партии, но из 3х мег, все три глючат с GPIO на 20Мгц, зато примечательно что все три при записи в OSCCAL=FF завелись от внутреннего RC на частоте 15-16Мгц
Исправил прошивку под работу с ATMega8.
Как ни прискорбно, один чип ATMega8L-8PI, который у меня был в наличии
не захотел работать на частоте 20 МГц.
Завелся с кварцем на 12 МГц, но это к сожалению слишком медленно,
что бы обеспечить работу контроллера в noWAIT режиме.
Завтра куплю ATMega8A, которые гарантированно работают до 16 МГц при 4.5 Вольта,
думаю на них 20 МГц можно будет обеспечить.
2Alex_NEMO - проверь со своим кристаллом.
Alex_NEMO
24.01.2011, 13:18
2Alex_NEMO - проверь со своим кристаллом.
Хорошо, Камиль, вечерком дома проверю!
Alex_NEMO
24.01.2011, 20:30
Ну, что, господа-товарищи-коллеги!
Докладаю о проведенных испытаниях. Итак, участники теста:
1. Моя плата KAY-1024 v2010;
2. Кварцы "лодочка" (усеченный HC-49) на 20 МГц и 25 МГц (с паленой ПЦ-мамки);
3. Кондеры "обвязки" кварца - 2х18пФ, SMD типоразмара 0805:
4. Пять контроллеров ATmega8-16PI/PU(3 шт.) и ATmega8L-8PI(2шт.)
Первый тест, кварц 20.0 МГц:
все 5 контроллеров запустились и нормально работали. В режиме ТУРБО, в 48 Бейсике "прощелкал" все кнопки, СБРОСил ПринтСкрином, попереключал ТУРБО/неТУРБО.
Второй тест, кварц 25.0 МГц - тут интереснее:
1. Контроллер ATmega8-16PI, datacode 0549I - не завелся - черный экран - глубокий зависон, даже наплатный RESET не помог;
2. Контроллер ATmega8-16PU, datacode 0929G - не завелся - черный экран - глубокий зависон, даже наплатный RESET не помог. Контроллер приобретался у всем печально известного Andrews'a;
3. Контроллер ATmega8-16PU, datacode 0929G - робкие попытки запуститься - но не пошел, возможно, на 22...24 Мгц завелся бы. Контроллер приобретался у всем печально известного Andrews'a;
4. Контроллер ATmega8L-8PI, datacode 0423G - чуть более явные попытки запуститься, да же картинку показал, но ни на одну клавишу не реагировал;
5. Гвоздь программы! Контроллер ATmega8L-8PI, datacode 0403. Запустился и прекрасно(!) работал в ТУРБЕ! В режиме ТУРБО, в 48 Бейсике "прощелкал" все кнопки, СБРОСил ПринтСкрином, попереключал ТУРБО/неТУРБО. Работал, гад! На сколько помню, сдернул его года 4-ре назад с умершего ламинатора "Felowes" или как его там...
Вот такие пироги! Т.е. по идее, любая Мега8(A) должна завестись на 20МГц и СТАБИЛЬНО работать! На большей частоте (до 24 МГц) - как повезет! Пробуйте! Всем удачи и огромная благодарность Камилю за оперативность! Так держать!!! :v2_thumb:
Ну, что, господа-товарищи-коллеги!
Докладаю о проведенных испытаниях. Итак, участники теста:
1. Моя плата KAY-1024 v2010;
2. Кварцы "лодочка" (усеченный HC-49) на 20 МГц и 25 МГц (с паленой ПЦ-мамки);
3. Кондеры "обвязки" кварца - 2х18пФ, SMD типоразмара 0805:
4. Пять контроллеров ATmega8-16PI/PU(3 шт.) и ATmega8L-8PI(2шт.)
Первый тест, кварц 20.0 МГц:
все 5 контроллеров запустились и нормально работали. В режиме ТУРБО, в 48 Бейсике "прощелкал" все кнопки, СБРОСил ПринтСкрином, попереключал ТУРБО/неТУРБО.
Второй тест, кварц 25.0 МГц - тут интереснее:
1. Контроллер ATmega8-16PI, datacode 0549I - не завелся - черный экран - глубокий зависон, даже наплатный RESET не помог;
2. Контроллер ATmega8-16PU, datacode 0929G - не завелся - черный экран - глубокий зависон, даже наплатный RESET не помог. Контроллер приобретался у всем печально известного Andrews'a;
3. Контроллер ATmega8-16PU, datacode 0929G - робкие попытки запуститься - но не пошел, возможно, на 22...24 Мгц завелся бы. Контроллер приобретался у всем печально известного Andrews'a;
4. Контроллер ATmega8L-8PI, datacode 0423G - чуть более явные попытки запуститься, да же картинку показал, но ни на одну клавишу не реагировал;
5. Гвоздь программы! Контроллер ATmega8L-8PI, datacode 0403. Запустился и прекрасно(!) работал в ТУРБЕ! В режиме ТУРБО, в 48 Бейсике "прощелкал" все кнопки, СБРОСил ПринтСкрином, попереключал ТУРБО/неТУРБО. Работал, гад! На сколько помню, сдернул его года 4-ре назад с умершего ламинатора "Felowes" или как его там...
Вот такие пироги! Т.е. по идее, любая Мега8(A) должна завестись на 20МГц и СТАБИЛЬНО работать! На большей частоте (до 24 МГц) - как повезет! Пробуйте! Всем удачи и огромная благодарность Камилю за оперативность! Так держать!!! :v2_thumb:
Я так понял, что удалось сделать прошивки так, что 20 МГц хватает для работы NoWAIT даже в режиме TURBO ? А с некварцевыми трехногими резонаторами ZTT 20 МГц тоже будет работать ?
Alex_NEMO
24.01.2011, 22:52
Проверил ROM-Switcher на КАЕ - работает! "Склеил" прошивки:
1. Прошивка от ЛАСа, датированая 2002 годом (http://zx.pk.ru/showpost.php?p=292988&postcount=55);
2. Прошивки для Феникса. ПЗУ TR DOS версии 5.03. Штатная(базовая) версия ПЗУ, без излишеств. (http://micklab.narod.ru/file/zxm_bios_5_03.rar)
3. ПЗУ TR-DOS 6.11P + Fatall 0.23 Сборка by Keeper. Экспериментальная сборка с копировщиком Fatall 0.23 by savelij в свободной странице ПЗУ. (http://micklab.narod.ru/file/zxm_bios_fatall_0_23.rar)
4. ПЗУ TR-DOS 6.11P + WDC 1.3 Сборка by Keeper. Экспериментальная сборка с копировщиком WDC 1.3 by Budder в свободной странице ПЗУ. (http://micklab.narod.ru/file/zxm_bios_wdc_1_3.rar)
Все пашет, только есть один момент - 1-я прошивка стартует при J5, установленном в положение 11-12. Остальные стартуют, если J5 в 10-11. Как сделать что бы было "все едино"? Перелопатить последовательность страниц ПЗУ в прошивке ЛАСа? В какой последовательности? Сохранится ли функционал прошивки?
А с некварцевыми трехногими резонаторами ZTT 20 МГц тоже будет работать ?Я именно такие резонаторы и использую.
Только в ZXMC приходится ставить HC-49, поскольку нужны частоты дробные,
а ZTT в продаже только с целыми значениями частот.
Перелопатить последовательность страниц ПЗУ в прошивке ЛАСа? В какой последовательности? Сохранится ли функционал прошивки?
Сохранится.
---------- Post added at 12:56 ---------- Previous post was at 12:50 ----------
Откликнулся, написал мне в личку что поисчет описание, но это было в том году... Пока ни ответа ни привета
Описание лежит на старом ноутбучном винте, там же, где весь остальной zx-архив 200x-2008 года. Некуда воткнуть его, чтобы прочитать.
Что конкретно по крамису интересует?
Alex_NEMO
25.01.2011, 13:22
Описание лежит на старом ноутбучном винте, там же, где весь остальной zx-архив 200x-2008 года. Некуда воткнуть его, чтобы прочитать.
Что конкретно по крамису интересует?
Лас, спасибо, что откликнулся! Интересует все, что есть по Крамису и собственно по KAY-1024. Вроде, есть какой-то мануал по собственно KAY-1024. Со временем очень бы хотелось свести все в кучу, обобщить. Сделать мануалку - как подготовить винт, как сделать автозапуск iS-DOS и т.д.
Сохранится.
А как их "перелопатить"? А их уже "порезал" WinHEX'ом на 4-ре равных куска.
Интересует все, что есть по Крамису и собственно по KAY-1024. Вроде, есть какой-то мануал по собственно KAY-1024. Со временем очень бы хотелось свести все в кучу, обобщить. Сделать мануалку - как подготовить винт, как сделать автозапуск iS-DOS и т.д.
http://witchcraft.org.ua/mnuspeccy/18-kay
А как их "перелопатить"? А их уже "порезал" WinHEX'ом на 4-ре равных куска.
Откуда я знаю, что вы хотите сделать. "Перелопатить" - это слишком общая задача.
Alex_NEMO, попробуй просто первые 32к и вторые местами поменять... если не ошибаюсь - в этом разница.
---------- Post added at 13:48 ---------- Previous post was at 13:35 ----------
По-малеху переделываю НЕГлюк под кай-1024. получается не очень быстро, ибо 1 - давно не кодил на асме, но еще и не все забыл :) 2 - слишком много в глюке завязано, причем жестко, на порты Пня, АТМ и Эвы... Уже заработала функция создания рам-диска для стандартной каевской тыр-досины и каевской памяти, но надо лишние пункты повыкидывать, т.к. в кае эл.диск создается начиная со страницы 24 и направлением вверх, а в пне - от последней страницы вниз, т.е. наоборот, поэтому, считаю создание рам-диска размером отличным от 640КБ действием лишним.
Alex_NEMO, попробуй просто первые 32к и вторые местами поменять... если не ошибаюсь - в этом разница.
В оригинальной ПЗУ от NEMO расположение страниц следующее:
#0000- #3FFF Service
#4000- #7FFF TR-DOS
#8000- #BFFF BASIC 128
#C000- #FFFF BASIC 48
При этом положение перемычки по умолчанию 10-11. Если поставить перемычку в положение 11-12 то при ресете стартует крамис и в его меню можно выйти в tr-dos.
Если запустить прошивку ЛАСА то нормальным положением становится позиция 11-12, а при положении 10-11 и старте крамиса выйти в tr-dos уже не получается.
Alex_NEMO
25.01.2011, 15:56
При этом положение перемычки по умолчанию 10-11. Если поставить перемычку в положение 11-12 то при ресете стартует крамис и в его меню можно выйти в tr-dos.
Если запустить прошивку ЛАСА то нормальным положением становится позиция 11-12, а при положении 10-11 и старте крамиса выйти в tr-dos уже не получается.
Во-во, и я про тоже! Попробую привести прошивку ЛАС'а к такой раскладке
попробуй просто первые 32к и вторые местами поменять... если не ошибаюсь - в этом разница.
Дима, спасибо, вечерком попробую.
По-малеху переделываю НЕГлюк под кай-1024. получается не очень быстро, ибо 1 - давно не кодил на асме, но еще и не все забыл 2 - слишком много в глюке завязано, причем жестко, на порты Пня, АТМ и Эвы... Уже заработала функция создания рам-диска для стандартной каевской тыр-досины и каевской памяти, но надо лишние пункты повыкидывать, т.к. в кае эл.диск создается начиная со страницы 24 и направлением вверх, а в пне - от последней страницы вниз, т.е. наоборот, поэтому, считаю создание рам-диска размером отличным от 640КБ действием лишним.
Это очень обнадеживает и радует! Ждем результатов!!! Удачи в работе!!!
Откуда я знаю, что вы хотите сделать. "Перелопатить" - это слишком общая задача.
Mayor, описал что надо, и я сам, наверное, смогу решить проблему "перестановки" банок ПЗУ, если в самом коде ничего править НЕ придется.
Не желает ли кто-нибудь сделать полезное дело? нарисовать логотип Кая, желательно анимированный, 3*3 знакоместа, дабы вставить в неглюк, вместо кошака.
Alex_NEMO
25.01.2011, 16:31
Не желает ли кто-нибудь сделать полезное дело? нарисовать логотип Кая, желательно анимированный, 3*3 знакоместа, дабы вставить в неглюк, вместо кошака.
Художник из меня "никакой", но такую мелочь, по идее, осилю. Знакоместо - это условно 8х8 пикселей как бы? Сколько фаз должно быть для анимации? В чем лучше рисовать?
Alex_NEMO, 9 фаз. Первая основная, висит некоторое время, потом проигрываются 2-9.
---------- Post added at 16:07 ---------- Previous post was at 16:03 ----------
В чем лучше рисовать?
ААА рисует только в Артстудии :) А так фиг его знает, я уже лет 10 на спеке и для спека не рисовал :)
Alex_NEMO
25.01.2011, 20:42
Для затравочки:
Супер! Ай, молодца! :v2_thumb: :v2_clap2:
А в "анимашке", помимо 9 фаз "негатив" то же надо?
Alex_NEMO, обсчитался (что значит давно не кодил - 0, это значащая цЫфра), 10 фаз. Инверсию не надо, видимо она делалась для разных фонов - белый/черный. у нас только черный.
Alex_NEMO
25.01.2011, 21:45
В оригинальной ПЗУ от NEMO расположение страниц следующее:
#0000- #3FFF Service
#4000- #7FFF TR-DOS
#8000- #BFFF BASIC 128
#C000- #FFFF BASIC 48
Итак, прошивка ЛАСа имеет след. последовательность "банок":
#0000- #3FFF Basic 128
#4000- #7FFF Basic 48
#8000- #BFFF Service KRAMIS v.03
#C000- #FFFF TR-DOS v5.04T
И как правильно сказал Дмитрий:
попробуй просто первые 32к и вторые местами поменять... если не ошибаюсь - в этом разница.
Во вложениях - два файла - "перевернутая" версия ЛАСа, для работы при J5, установленном в 10-11. 2-й файл - моя сборка для ROM-Switcher'а (2Мбит), включаящая в себя:
1. "Перевернутая" прошивка от ЛАСа, датированая 2002 годом (см. выше);
2. Прошивки для Феникса. ПЗУ TR DOS версии 5.03. Штатная(базовая) версия ПЗУ, без излишеств.
3. ПЗУ TR-DOS 6.11P + Fatall 0.23 Сборка by Keeper. Экспериментальная сборка с копировщиком Fatall 0.23 by savelij в свободной странице ПЗУ.
4. ПЗУ TR-DOS 6.11P + WDC 1.3 Сборка by Keeper. Экспериментальная сборка с копировщиком WDC 1.3 by Budder в свободной странице ПЗУ.
Подробности тут (http://zx.pk.ru/showpost.php?p=353052&postcount=329).
Кому надо - пробуйте - я завтра продолжу тестирование...
Малость расскажу о том, чего уже добился и чего хочется еще сделать, а так же некоторые грабли:
- создается рам-диск в формате кая, т.е. под его родную прошивку тр-дос, а именно 9901;
- можно переприсвоить рам-диску другую букву, по умолчанию С (штатная прошива это позволяет делать);
Но тут есть ограничение - переопределение действует до следующей реинициализации переменных тр-дос. Другими словами, если программа сделает JP 0 в странице TR-DOS (или переход в TR-DOS из 128го меню). После этого рам-диск снова станет на букву С. Тут ничего не могу поделать - разве что патчить тыр-дос, но это уже не ко мне...
Сейчас веду работу над контролем Turbo/Normal. Тут надо перелопатить процедуры работы с часами... что касается часов... че с ними делать-то? У кая родных часов нет, поэтому тут может быть гибрид какой угодно - от ZXMC до SMUC-а, пентоглючные часы вряд ли кто-то будет цеплять. С другой стороны в новых каях вряд ли будет ZXMC, т.к. контроллер клавы имеется онбортовый, а при наличии SMUC вряд ли кто будет юзать что либо кроме ПрофПЭ, а значит НЕГлюк отпадает... в общем я в растерянности... Можно конечно обойтись без часов, но иногда полезно сохранить настройки ремапа рам-диска или турбы (я его редко вообще включал в свое время, только когда играл в Stunt Car Racers).
В планах - сделать копирование образа на рам-диск, как в новых сервис-ромах Эвы. На счет обратного копирования - не факт что осилю, хотя хотелось бы.
Малость расскажу о том, чего уже добился и чего хочется еще сделать, а так же некоторые грабли:
- создается рам-диск в формате кая, т.е. под его родную прошивку тр-дос, а именно 9901;
Насколько мне известно, формат рам-диска кая 1024 никогда не менялся.
-------------
Несколько замечаний по поводу прошивки 2002 года:
Если при СБРОСЕ удерживать Symbol Shift - запуск загрузчика is-dos с жесткого диска (как в предыдущих каевских прошивках).
Если же при СБРОСЕ удерживать Caps Shift, то если в 7 банке обнаружен отладчик STS - вход в него (без очистки памяти) иначе вход в сервис-ПЗУ (запуск Kramis).
А если при ПЕРВОМ входе в тр-дос удерживать Symbol Shift, то инициализируется не диск А, как обычно, а диск C (рам-диск).
---------------------
Про порядок банок пзу от кая - это старая тема десятилетней давности.
Жонглирование половинками пзу (по 32кб) началось с кая-1024.
Рекомендую почитать вот это: http://dlcorp.ucoz.ru/forum/24-491-1
Лас, но менялось управление назначением буквы рамдиску.
Можно конечно обойтись без часов, но иногда полезно сохранить настройки ремапа рам-диска или турбыЕсли надо, я могу сделать прошивку контроллера клавиатуры КАЯ
с возможностью записи/чтения ячеек EEPROM ATMega через порт клавиатуры.
Это как минимум 256 байт энергонезависимой памяти, правда с не стандартным доступом.
caro, если рессурсов достаточно, то думаю было бы не плохо!
но тогда надо будет сделать на макетке сей девайс для проверки.
Alex_NEMO
26.01.2011, 09:59
Тут надо перелопатить процедуры работы с часами... что касается часов... че с ними делать-то? У кая родных часов нет, поэтому тут может быть гибрид какой угодно - от ZXMC до SMUC-а, пентоглючные часы вряд ли кто-то будет цеплять. С другой стороны в новых каях вряд ли будет ZXMC, т.к. контроллер клавы имеется онбортовый, а при наличии SMUC вряд ли кто будет юзать что либо кроме ПрофПЭ, а значит НЕГлюк отпадает... в общем я в растерянности... Можно конечно обойтись без часов, но иногда полезно сохранить настройки ремапа рам-диска или турбы (я его редко вообще включал в свое время, только когда играл в Stunt Car Racers).
Дима, ты - молодец! А можно ли совместить все три варианта?!! Т.е. и ZXMC и SMUC и то, о чем говорит Камиль:
Если надо, я могу сделать прошивку контроллера клавиатуры КАЯ
с возможностью записи/чтения ячеек EEPROM ATMega через порт клавиатуры.
Это как минимум 256 байт энергонезависимой памяти, правда с не стандартным доступом.
Ну, или хотя бы последние два пункта.
Если при СБРОСЕ удерживать Symbol Shift - запуск загрузчика is-dos с жесткого диска (как в предыдущих каевских прошивках).
Если же при СБРОСЕ удерживать Caps Shift, то если в 7 банке обнаружен отладчик STS - вход в него (без очистки памяти) иначе вход в сервис-ПЗУ (запуск Kramis).
А если при ПЕРВОМ входе в тр-дос удерживать Symbol Shift, то инициализируется не диск А, как обычно, а диск C (рам-диск).
ЛАС, а последний пункт реально интересен!!! Спасибо за инфу!
Сейчас по СБРОСу при удержании Caps Shift, я выхожу в КРАМИС в.03, по СБРОСу при удержании Symbol Shift у меня как-бы происходит переход в 48 Бейсик с характерным "сбросом", потом все подвисает, черное поле "СБРОСа" постепенно портится со скроллированием вверх. Пока гоняю "голую" плату КАЯ - в слоты NEMO Bus ничего не вставлено. Т.е. из написсаного выше тобою надо поставить плату Nemo HDD и соотв. образом "приготовить" HDD для запуска загрузчика is-dos с жесткого диска.
caro, если рессурсов достаточно, то думаю было бы не плохо!
но тогда надо будет сделать на макетке сей девайс для проверки.
Да, Камиль, если не сложно - было бы здорово. Я готов тестировать! Вечерами в будни и весь день в выходные и праздники.
Думаю можно выложить обкаточную версию.
Сделал еще руление турборежимом и убрал залочивание >128KB памяти, т.к. в кае этого нет. Исправил глюки с часами, т.к. при их отсутствии изменение режимов турбы и памяти приводило к выпаду в басик48. С турбо режимом следующая петрушка - если прога знает про порт 1ffd, она уже при тесте памяти обнуляет бит турбы и соответственно включает форсаж :) Поэтому во многих программах эта функция бесполезна :( Тут Nemo как-то прогадал, в скорпах такой номер не проходит, ибо там сделано с оглядкой на криворуких программеров.
Т.е. и ZXMC и SMUC и то, о чем говорит Камиль:
при определенном количестве времени, терпения и свободной памяти - можно :) только что делать, если вдруг будет стоять и ZXMC и SMUC и то, о чем говорит Камиль? :)
---------- Post added at 09:21 ---------- Previous post was at 09:19 ----------
Кстати говоря - в SMUC бы я особо не лазил без надобности, т.к. если вздумается поиграться с проф-пзу, то все ее настройки полетят к чертям, я допустим не знаю что там хранит ПрофПЗУ :) Хотя у нее там подстраховочный вариант - nvram. Но не знаю-не знаю :)
Alex_NEMO
26.01.2011, 10:36
Думаю можно выложить обкаточную версию.
Ну, все, надо контроллеры HDD и FDD подрубать! Дим, у тебя HDD к КАЮ подрублен?
Надо штудировать темы с подключением/запуском HDD на Спеке. Я этого ещё никогда НЕ делал...
Вечерком прошью флэху и попробую...
>128KB памяти, т.к. в кае этого нет
Можно было бы подвесить на какой нить пин AY или нафик ненужного LPT
Alex_NEMO
26.01.2011, 10:40
при определенном количестве времени, терпения и свободной памяти - можно только что делать, если вдруг будет стоять и ZXMC и SMUC и то, о чем говорит Камиль?
Только предусматривать возможность выбора - -откуда часы "читать"...
Кстати говоря - в SMUC бы я особо не лазил без надобности, т.к. если вздумается поиграться с проф-пзу, то все ее настройки полетят к чертям, я допустим не знаю что там хранит ПрофПЗУ Хотя у нее там подстраховочный вариант - nvram. Но не знаю-не знаю
Я в перспективе вообще "глумануться" хочу - скрестить Профку с ROM-Switcher'ом... И переключаться мещду ними, когда надо...
при определенном количестве времени, терпения и свободной памяти - можно :) только что делать, если вдруг будет стоять и ZXMC и SMUC и то, о чем говорит Камиль? :)В ZXMC такой же доступ к EEPROM тоже можно встроить.
В ZXMC такой же доступ к EEPROM тоже можно встроить.
В ZXMC вроде бы есть доступ к ОЗУ часов? или там только регистры часов сохраняются, а остальные нет?
---------- Post added at 10:28 ---------- Previous post was at 10:27 ----------
Дим, у тебя HDD к КАЮ подрублен?
он у меня был подключен через смук и юзался в профпэ :) Сейчас ничего не подключено, ибо все никак в корпус не затолкаю.
---------- Post added at 10:35 ---------- Previous post was at 10:28 ----------
Только предусматривать возможность выбора - -откуда часы "читать"...
а где хранить этот выбор? после рестарта надо откуда-то читать инфу, а откуда? или оставлять сигнатуру в то устройство, которое было выбрано в качестве энергонезависимой памяти, а затем, если находим эту сигнатуру в памяти какого-то устройства, то доверяем ему? в принципе можно сделать так. Тока надо для обкатки где-то взять ZXMC... я когда-то ее даже далал, но остановился на прошивке ATF-ки, пока еще не запустил.
В ZXMC вроде бы есть доступ к ОЗУ часов? или там только регистры часов сохраняются, а остальные нет?В ZXMC ОЗУ часов отображается на EEPROM, и регистры времени и вся остальное пространство ОЗУ часов.
Все изменения со стороны компьютера модифицируют и информацию в часах (только ячейки времени) и в EEPROM.
Тоесть структуру распределения нижней части EEPROM можно сохранить одинаковой.
Можно даже регистры часов сэмулировать в контроллере клавиатуры.
А если подумать, то и батарейку к контроллеру подцепить, что бы время тикало :)
В ZXMC ОЗУ часов отображается на EEPROM, и регистры времени и вся остальное пространство ОЗУ.
Другими словами доступ пользователю к 240 байтам свободный?
Можно даже регистры часов сэмулировать в контроллере клавиатуры.
А если подумать, то и батарейку к контроллеру подцепить, что бы время тикало
гибрид интересный, думаю будет не лишним... единственно, что это очередное порождение нестандартов и полезен он только для сервис-рома, другие программы часов-то не увидят, тот же RC.
Другими словами доступ пользователю к 240 байтам свободный?Да. Можно писать и читать все 256 байт адресного пространства EEPROM, через регистры доступа к часам.
Можно было бы подвесить на какой нить пин AY или нафик ненужного LPT
э-э-э... что массы скажут? нужно ли это кому-нибудь? если нужно - предлагайте рычаги управления, я добавлю в неглюк их.
---------- Post added at 11:16 ---------- Previous post was at 11:09 ----------
caro, суть часов в чем? думаю для FAT-устройств они полезны, т.к. корректная дата доступа к файлу будет прописываться, если же программа про такие часы не знает, то смысл в часах теряется. сейчас я знаю 2 программы для работы с фат - fatal и wdc, что первая, что вторая давно не видели новых версий, значит новые часы поддержаны не будут, и тогда толку в них 0. Это мое имхо, если народ скажет что хорошо бы быть часам в контроллере клавиатуры - я не против и даже встрою их поддержку в неглюк.
Что касается энергонезависимой памяти в контроллере для сохранения настроек, и тем более малой кровью достающаяся, то это очень полезная фича!
сли нужно - предлагайте рычаги управления, я добавлю в неглюк их
Бит 1 порта 1FFD будет совместимо с Pentagon 1024sl v1.4, там оно зовется защищенный режим. Прикол в том что глюку и тырдосу будет доступна вся память даже в режиме 128к, будет работать рамдиск и его не смогут повредить
Что касается энергонезависимой памяти в контроллере для сохранения настроек, и тем более малой кровью достающаяся, то это очень полезная фича!Так может быть организован доступ к EEPROM:
; Чтение байта из ячейки EEPROM
; Вход: HL -> ADR_eeprom
; Выход: C = (ADR_eeprom)
; CY = 0 - OK
rd_eeprom:
call set_adr ; Задать адрес EEPROM
ret c ;Выход с ошибкой
; Задан адрес ячейки EEPROM в контроллере
ld a,055h ; код доступа
in a,(0FEh)
ld a,"R" ;Команда чтения EEPROM
in a,(0FEh)
; Контроллер ждет чтения двух половинок байта
in a,(0FEh)
rlca
rlca
rlca
rlca
and 0F0h ;ст. нибл данных
ld c,a ;сохранить
in a,(0FEh)
and 0Fh ;мл. нибл данных
or c
ld c,a ; байт данных из EEPROM
ret ; CY=0
;-------------------------------------------
; Запись байта в EEPROM
; Вход: HL -> ADR_eeprom
; C -> (ADR_eeprom)
; CY = 0 - OK
wr_eeprom:
call set_adr ; Задать адрес EEPROM
ret c ; Выход с ошибкой
; Задан адрес ячейки EEPROM в контроллере
ld a,055h ; код доступа
in a,(0FEh)
ld a,"W" ; Команда записи в EEPROM
in a,(0FEh)
ld a,c ; Байт данных
in a,(0FEh); Записать
ret ; CY=0
;-------------------------------------------
; Задать текущий адрес ячейки EEPROM.
; После операций чтения/записи
; происходит авто-инкремент текущего адреса.
set_adr:
ld a,055H ;Код доступа
in a,(0FEh) ; байт ответа
and 1Fh ; маска
cp 0Ah ; должен прочитаться 0Ah
scf ; CY=1
ret nz ; Иначе выход с ошибкой
; Контроллер откликнулся
ld a,"A" ;Команда задания адреса
in a,(0FEh)
ld a,L ;Мл.Байт адреса
in a,(0FEh)
ld a,H ;Ст.Байт адреса
in a,(0FEh)
xor a ; CY=0
ret ; Выход без ошибки
;==============================================
PS. EEPROM может быть больше чем 256 байт.
Black_Cat
26.01.2011, 16:27
что касается часов... че с ними делать-то? У кая родных часов нет, поэтому тут может быть гибрид какой угодно - от ZXMC до SMUC-а, пентоглючные часы вряд ли кто-то будет цеплять.имхо, лучше и проще всего изменить драйвер часов именно в ПрофПЗУ и часы в СМУКе на глюковские. Объясню почему:
1) аппаратное управление в глюкочасах сделано всё-таки более грамотно чем в СМУКе
2) в ПрофПЗУ насколько понимаю, никаких завязок на часы кроме времени нету, т.е. остальная память часов не юзается, а значит заменить драйвер просто.
Mick дизасмил ПрофПЗУ и вроде наковырял там все дрова, и на мой непрофессиональный взгляд заменить драйвер часов там просто. И останутся на Спеке токо одни часы.
2) в ПрофПЗУ насколько понимаю, никаких завязок на часы кроме времени нету, т.е. остальная память часов не юзается, а значит заменить драйвер просто.
Теневик там хранит свои настройки. Если часов нету - тогда использует NVRAM.
Black_Cat
26.01.2011, 16:52
Насколько мне известно, формат рам-диска кая 1024 никогда не менялся.а насколько трудоёмко его поменять так, чтоб рамдиск размещался токо по A16'=0?
---------- Post added at 16:52 ---------- Previous post was at 16:40 ----------
Теневик там хранит свои настройки.пожалуй и при другом драйвере он сможет хранить настройки
БК-0010, ты будешь патчить провпэ под новые часики? я нет :) я на глюк подписался и то в ущерб другим заботам...
Black_Cat
26.01.2011, 18:27
я на глюк подписался и то в ущерб другим заботам...я ж не говорю чтоб ты глюком не занимался, а занимался ПрофПЗУ :) , я говорю о том, что часы надо давно унифицировать и оставить токо одни, конкретно - глюковские
БК-0010, унифицировать-то оно хорошо... но! сомнительное это мероприятие, корячить профпэ...
а насколько трудоёмко его поменять так, чтоб рамдиск размещался токо по A16'=0?
Ниасилил. Вы слишком умны для меня.
Сформулируйте, если возможно, вопрос в более доступной форме.
Лас, он имеет в виду, чтоб D4 1FFD был равен 0.
Только смысл какой в этом?размер диска 512кб?
---------- Post added at 19:55 ---------- Previous post was at 19:54 ----------
даже нет... 384кб...
Alex_NEMO
27.01.2011, 12:50
Обновил 1 и 2-й посты. Добавил последнюю(пока) версию "KAY Service ROM" от Дмитрия. Указал ссылки на правленные: прошивку ЛАСа 2002 года и актуальные прошивки для контроллера PS/2 клавы caro.
Обновил 1 и 2-й посты. Добавил последнюю(пока) версию "KAY Service ROM" от Дмитрия. Указал ссылки на правленные: прошивку ЛАСа 2002 года и актуальные прошивки для контроллера PS/2 клавы caro.
По поводу "KAY Service ROM" от Дмитрия.
Несколько замечаний и предложений.
Дмитрий наверное в курсе, что сервис-ром можно включать программно (бит D3 порта #1ffd).
Но вот эта конструкция в прошивке Дмитрия:
Код с адреса 0bh:
xor a
out (#fe),a
ld bc,#1ffd
out (c),a
убивает всякую надежду вызвать сервис-ром программно.
1. Зачем обнулять 1ffd? По ресету он уже обнулен, если не ошибаюсь.
Из за этого обнуления невозможен программный запуск прошивки сервис-рома с помощью
ld bc,#7ffd
xor a
out (c),a
ld b,#1f
ld a,8
out (c),a
jp 0
так как там вы обнуляете #1ffd и мы в процессе выполнения программы в СЕРВИС-ПЗУ вместо сервис-рома вылетаем в 128 sos.
2. Если необходимо при входе в сервис-ром жестко задать состояние порта #1ffd, то сделать это можно вот так:
ld bc,#1ffd
ld a,#fe
in a,(#fe)
bit 0,a ;проверяем нажатие Caps Shift
ld a,8
jr z,$+3 ;если C.S нажат - то оставляем включенной пзу Сервис-ром
xor a ;если не нажат - то обнуляем #1ffd
out (c),a
Таким образом будет возможен переход в сервис ром при СБРОСЕ с нажатым Caps Shift, например, из моей прошивки 2002.
P.S. может быть я что-то напутал с назначением битов порта 1ffd, за давностию лет многое забылось, но общая претензия именно такая.
Так может быть организован доступ к EEPROM:
Прочитать 0xAA при подтверждении не сможет, бит D5 всегда 0, D6 от состояния магнитофона зависит, D7 от состояния BUSY LPT порта мож проще xxx01010 или даже xxx00000, 5 одновременно нажатых кнопок редкая комбинация
Лас, пожалуй вместо 0 лучше будет просто заслать туда 8 и все?
Три варианта:
1. Не трогать при инициализации порт #1ffd (нужно уточнить состояние порта по ресету, я не помню)
2. Заслать туда 8
3. Заслать 8, если нажат капс шифт.
Black_Cat
27.01.2011, 14:25
уточнить состояние порта по ресету, я не помню)ноль
Тогда просто не трогать порт:
Берем и патчим прошивку Дмитрия:
Обнуляем байт со смещением 12h.
Прочитать 0xAA при подтверждении не сможет, бит D5 всегда 0, D6 от состояния магнитофона зависит, D7 от состояния BUSY LPT порта мож проще xxx01010 или даже xxx00000, 5 одновременно нажатых кнопок редкая комбинацияДа, конечно, проверять надо будет только 5 младших бит, тоесть 0Ah, после маски 1Fh.
Поправил в исходнике.
Я тут поковырял более пристально прошивку Дмитрия и пришел к выводу, что, действительно, при инициализации сервис-рома оптимальным вариантом будет вариант, когда состояние порта 1ffd не меняется вообще (только при инициализации!). Без всяких проверок на нажатие капс шифт.
После инициализации прошивка переносится в ОЗУ и состояние 1ffd там далее устанавливается в необходимое. Поэтому - да, просто пропатчить прошивку, как указано тут (http://zx.pk.ru/showpost.php?p=353587&postcount=377) или ждать авторской редакции. :)
Лас, сейчас поправлю, хотя думаю уж лучше бы ld a,8: out (c),a... Кроме того... в глюке есть хоткеи по сбросу CS - выход в SOS128 .... :) На что менять будем или уберем нафиг??? А то получим вечный цикл, пока на угад куда-нить вывалимся при отпускании CS.
Лас, сейчас поправлю, хотя думаю уж лучше бы ld a,8: out (c),a... Кроме того... в глюке есть хоткеи по сбросу CS - выход в SOS128 .... :) На что менять будем или уберем нафиг??? А то получим вечный цикл, пока на угад куда-нить вывалимся при отпускании CS.
Нет, не лучше бы out (1ffd),8.
Попробую аргументировать детально и занудно:
Я же писал, что программы, которые могут вызывать программно сервис-ром, сами устанавливают бит D3 порта 1ffd, поэтому просто в процедуре ИНИЦИАЛИЗАЦИИ программы в пзу не нужно менять состояние этого порта.
А по поводу опроса Caps Shift при старте сервис-прошивки и в зависимости от состояния "нажато/не нажато" устанавливать порт 1ffd, как я предлагал выше - это тоже неверный ход, так как, действительно, в неглюке задействована эта клавиша.
Поэтому повторюсь: просто не меняй состояние порта 1ffd ПРИ СТАРТЕ прошивки.
Не посылай туда ни ноль, ни 8, ни что либо еще.
Когда программа неглюка распакуется в ОЗУ и начнет работать там, тогда нам не важно состояние порта 1ffd, и можно засылать туда необходимые значения, что, кстати, и делается.
Вот, смотри:
1. Если мы приходим в сервис-пзу по ресету (PC=0): состояние порта 1ffd уже определено (ресетом), =0, и тем не менее мы в сервис-пзу (перемычка на плате) => не обязательно задавать состояние #1ffd
2. Если мы приходим в сервис-пзу из какой-либо программы, вызвавшей его, то состояние бита D3 порта 1ffd тоже определено - он УЖЕ установлен в 1 вызвавшей программой => не обязательно задавать состояние #1ffd
3. По привязке к капсу. Если мы приходим в сервис-ром из подпространства и не знаем состояние бита D3 1ffd, и думаем, что лучше нам в программе сервис-пзу задать определенное состояние порта, привязавшись к Caps Shift, например. Не имеет смысл этого делать, так как мы уже в сервис-пзу и уже там работаем, а установив состояние порта #1ffd=0 по клавише, после этого можем внезапно оказаться не в сервис-пзу, если перемычка на плате в обычном положении. К тому же, насколько я понял, Caps уже используется в неглюке при ресете, для быстрого выхода в 128 sos.
Неужели этих доводов мало,чтобы убедиться, что при старте прошивки не нужно вообще писать что-либо в порт 1ffd?
000b xor a
000c out (#fe),a
000e ld bc,#1ffd
0011 out (c),a ;<--- just kill this
Black_Cat
27.01.2011, 17:50
сомнительное это мероприятие, корячить профпэ...дык уже давно начали корячить, и контрольную сумму отключили
он имеет в виду, чтоб D4 1FFD был равен 0это если считать A16'=D4 1FFD, но лучше считать для KAY&Scorpion A16'=D7 7FFD, а A17'=D4 1FFD, такая перестановка исключит проблемы с 8й страницей на новых компьютерах имеющих 1Мб и юзающих Проф ПЗУ.
это если считать A16'=D4 1FFD, но лучше считать для KAY&Scorpion A16'=D7 7FFD, а A17'=D4 1FFD, такая перестановка исключит проблемы с 8й страницей на новых компьютерах имеющих 1Мб и юзающих Проф ПЗУ.
Другими словами, при использовании рам-диска кая, исключить из его адресного пространства 8ю страницу, использовав другую? Правильно понял?
В кае под рам-диск используется 40 страниц, с 24 по 63 включительно.
8 страница не задействована.
такая перестановка исключит проблемы с 8й страницей на новых компьютерах имеющих 1Мб и юзающих Проф ПЗУ.
для начала попробуй с профпзу подружить другую версию тр-дос, отличную от скорпионовской. во-вторых при наличии профпзу использовать рам-диск, имхо излишество.
Ребята, машина отличейшая. Но, обратите внимание на ZX Pentevo. Это не реклама, это реалльное то, под что делалось и, думаю, будет делаться основной софт. Под что делались последние программы? Под Пентагон. Сам грешен. А Пентево- полнейший его аналог.
Ребята, машина отличейшая. Но, обратите внимание на ZX Pentevo. Это не реклама, это реалльное то, под что делалось и, думаю, будет делаться основной софт. Под что делались последние программы? Под Пентагон. Сам грешен. А Пентево- полнейший его аналог.
Обратил внимание. Дальше что?
P.S. Я думал, программы делаются для спектрума. А они оказывается под пентеву делаются... Вон оно как...
Причем есть еще какой-то "основной софт". А "не основной" - это какой?
Ребята, машина отличейшая. Но, обратите внимание на ZX Pentevo. Это не реклама, это реалльное то, под что делалось и, думаю, будет делаться основной софт. Под что делались последние программы? Под Пентагон. Сам грешен. А Пентево- полнейший его аналог.
Это почти скрытая реклама :v2_dizzy_punk: :) Программы для Эвы пишут в основном сами NedoPC team Вот надоест савелию что то писать(например творческий кризис как у AAA) и все поддержка закончилась. А в основном демки затачиваются только под Пентагон, коих еще много. Так что в этом мире все относительно. Компьютер прежде всего отмечается оригинальным софтом в большом количестве, как например ATM.
Да и если что то хочется людям творить, пусть ковыряются с тем что им интересно. :)
Скоро я присоеденюсь к "мегатестерам кая" :) осталось допаять "вырви глаз" вга-конвертер :)
Версия прошивки 0.4 для встроенного в KAY1024
контроллера клавиатуры.
Работа IBM-клавиатуры в режиме Scan Code 2.
Должны нормально заработать через переходник USB-клавиатуры,
в которых предусмотрено автоматическое переключение на PS/2,
но не реализована работа в режиме Scan Code 3.
KBD4_M48.HEX - для ATMega48/88/168/328
KBD4_M8.HEX - для ATMega8
Жду результатов тестирования.
SoftFelix
28.01.2011, 08:26
Работа IBM-клавиатуры в режиме Scan Code 2.
А она работает _только_ в этом режиме или ещё поддерживает Scan Code 3?
caro, а eeprom уже поддерживается?
А она работает _только_ в этом режиме или ещё поддерживает Scan Code 3?Нет, только в режиме Scan Code 2, который используется во всех IBM-ских клавиатурах по умолчанию.
Была у меня в начале идея проверять при инициализации, может ли клавиатура работать в режиме Scan Code 3,
и в зависимости от этого работать либо в старом режиме 3, либо оставаться в режиме 2.
Но какой в этом смысл, кроме сохранения старой таблицы раскладки клавиатуры, которую я за пол-часа переделал под Scan Code 2.
Тем более, что это потребует дополнительно 256 байт для таблицы перекодировки из режима 2 в режим 3.
---------- Post added at 11:00 ---------- Previous post was at 10:59 ----------
caro, а eeprom уже поддерживается?Как только выяснится, что новая прошивка работает, добавлю работу с EEPROM.
Alex_NEMO
28.01.2011, 10:52
Версия прошивки 0.4 для встроенного в KAY1024
контроллера клавиатуры.
Работа IBM-клавиатуры в режиме Scan Code 2.
Должны нормально заработать через переходник USB-клавиатуры,
в которых предусмотрено автоматическое переключение на PS/2,
но не реализована работа в режиме Scan Code 3.
Камиль, большое спасибо!!!
Вечерком обязательно проверю со своей slim-клавой. Ваша заработала?
Вопрос-просьба - можно ли на какую-нить F-клавишу(или комбинацию с любым из Shift'ов) повесить генерацию длинного сигнала WAIT - для "заморозки" программы?
А как быть, когда нужен просто NMI, например, для работы нек. "сервисных" программ, например, мониторов-отладчиков? Или "нажатие" MAGIC'а будет нормально отрабатывать?
Вечерком обязательно проверю со своей slim-клавой. Ваша заработала?Да, моя заработала.
Вопрос-просьба - можно ли на какую-нить F-клавишу(или комбинацию с любым из Shift'ов) повесить генерацию длинного сигнала WAIT - для "заморозки" программы?Для этого я обычно задействую клавишу PAUSE/BREAK.
Её нажатие и сейчас в программе обрабатывается, но /WAIT пока не выдается.
В следующей версии обязательно вставлю. Нажатие клавиши PAUSE/BREAK по первому же обращению к порту клавиатуры будет останавливать Z80 сигналом /WAIT.
Для продолжения работы надо будет нажать любую клавишу.
А как быть, когда нужен просто NMI, например, для работы нек. "сервисных" программ, например, мониторов-отладчиков? Или "нажатие" MAGIC'а будет нормально отрабатывать?Сейчас на выходе MAGIC при нажатии клавиши F12 вырабатывается импульс низкого уровня длительностью 10 мсек.
Попробуй подать его на соответствующий вход FDD-контроллера.
caro, НЕГлюк имеет привычку при изменении режима (кнопочку нажали) сразу писать в RTC(уже и в EEPROM), а EEPROM имеет конечное количество циклов перезаписи, наверное стоит его отучить от этого?
caro, НЕГлюк имеет привычку при изменении режима (кнопочку нажали) сразу писать в RTC(уже и в EEPROM), а EEPROM имеет конечное количество циклов перезаписи, наверное стоит его отучить от этого?Не меньше 100 тысяч циклов перезаписи.
А как часто может изменяться режим?
caro, я уже пофиксил эту привычку глюка :) теперь сохранение в EEPROM происходит через кнопку "E" или при запуске какой-либо программы. Это касается только EEPROM, в RTC, при их наличии, глюк пишет прямиком.
caro, я уже пофиксил эту привычку глюка :) теперь сохранение в EEPROM происходит через кнопку "E" или при запуске какой-либо программы.Тоже хороший вариант.
В общем новая версия. Изменения:
services_kay v.0.1d
+ добавил драйвер eeprom, теперь при наличии контроллера PS/2
клавиатуры Caro, можно использовать внутреннюю память МК как
энергонезависимую, т.е. хранить в ней настройки HEGLUK.
При инициализации глюка, производится детект GlukRTC, и eeprom
на порту hFE, приоритет у GlukRTC больший.
* Переделал работу драйвера rtc/eeprom, в виду определенного числа
циклов перезаписи eeprom, при работе с eeprom в памяти
организовывается буфер в 256 байт, в котором производятся текущие
манипуляции (чтение/запись), по команде пользователя (кн.E), либо
при запуске какой-нить программы (если включен Autosave SetUP) -
изменения буфера записываются в eeprom. Работа с RTC ведется в
прежнем режиме, т.е. изменения записываются сразу.
+ Добавлен пункт Autosave SetUP, который отвечает за автосохранение
настроек глюка в eeprom при запуске какой-нить программы. Настройка
хранится в eeprom/rtc в 18м байте, бит 0.
* Пересмотрел горячие кнопки, теперь E - сохранение настроек в eeprom,
S (с капсом) - режим автосохранения настроек вкл/выкл, Y - выбор
буквы вирт. диска.
Так же учтено предложение Лас-а, не трогать порт h1FFD из ПЗУ.
Версия обкатана на эмуле ZXMAK, который ZEK пропатчил на предмет поддержки обмена данными с EEPROM-памятью через порт hFE, по методу Caro.
Разряд D1 порта 1FFD управляет блокировкой 128режима (можно одним проводком проброс сделать). Еще из бонусов, прошивка должна работать без переделок на Pentagon 1024SL v1.4
Alex_NEMO
28.01.2011, 16:46
Еще из бонусов, прошивка должна работать без переделок на Pentagon 1024SL v1.4
Дим, а на Pentagon 1024SL v2.2?!!
Дим, а на Pentagon 1024SL v2.2?!!
а там будет работать стандартный глюк :) и исходная версия неглюка 0.2 rev.254, исходники которой я мучаю.
---------- Post added at 16:12 ---------- Previous post was at 16:11 ----------
Просто П1024 в.1.4 - это фактически брат Кай-1024 по портам.
Версия прошивки 0.6 для встроенного в KAY1024
контроллера клавиатуры.
Работа IBM-клавиатуры в режиме Scan Code 2.
Реализована работа с EEPROM, по алгоритму, описанному в форуме.
Требует проверки функционирования.
Клавиша PAUSE останавливает работу Z80.
KBD6_M48.HEX - для ATMega48
KBD6_M8.HEX - для ATMega8
Black_Cat
29.01.2011, 00:41
это если считать A16'=D4 1FFD, но лучше считать для KAY&Scorpion A16'=D7 7FFD, а A17'=D4 1FFD пардон, я тут конечно стормозил, A16’ это конечно D3 7FFD, при том без вариантов. Вышеприведённая фраза должна быть: «считать для KAY&Scorpion A17'=D7 7FFD, а A18'=D4 1FFD», но эти разряды к обсуждаемому вопросу не относятся.
Теперь более подробно по сути вопроса, т.е. про рамдиск. Чтоб не засорять эту тему, читать здесь. (http://zx.pk.ru/showthread.php?p=354022#post354022)
Версия обкатана на эмуле ZXMAK
Я извиняюсь, но что делает эта конструкция:
LOOP call xxxx
ld a,#fa
in a,(#df)
cpl
and #07
jr nz,LOOP
ret
Наверное, опрашивается кемпстон-мышь?
Прекрасно. Попробуйте запустить прошивку с отключенным контроллером мыши, но с подключенным интерфейсом кемпстон-джойстика, и нажмите какую нибудь клавишу (например, клавиши выбора диска)". Будет грустно.
Может быть, примерно так сделать?
ld b,#00
LOOP push bc
call xxxx
pop bc
ld a,#fa
in a,(#df)
cpl
and #07
ret z
djnz LOOP
ret
Лас, я конечно извиняюсь, но автор сией писанины не я, а Mr.Gluk+AloneCoder+Savelij, я только дорабатываю под Кай.
По какому адресу сия конструкция найдена? Попробую привинтить вашу.
---------- Post added at 12:22 ---------- Previous post was at 12:19 ----------
Лас, нашел где это:
TIMELP CALL PRINTTIME
LD A,0XFA
IN A,(0XDF) ;КНОПКИ МЫШИ
CPL
AND 7
JR NZ,TIMELP ;ПОКА НЕ ОТПУСТЯТ
RET
У меня никогда не было контроллера мышатины, поэтому программить его я не умею, предлагайте что более правильное - с удовольствием вставлю.
Проверил в эмуле работу без мыши, действительно при нажатии на цифры получаем висяк с постоянным опросом джойстика... исправил, спасибо Лас.
Сейчас исправлю еще один глючок и выложу новую версию.
Предлагаю такой вариант, с более длительным ожиданием отпускания клавиши (2-3 сек, точно не подсчитывал):
ld bс,#0000
LOOP push bc
call xxxx
pop bc
ld a,#fa
in a,(#df)
cpl
and #07
ret z
dec bc
ld a,b
or c
jr nz,LOOP
ret
Там ожидание кнопки мыши однократное, после каждого нажатия гор.клавиши в меню. Так что постоянно тормозить не должно ничего в меню.
Попробуйте запустить прошивку с отключенным контроллером мыши, но с подключенным интерфейсом кемпстон-джойстика, и нажмите какую нибудь клавишу (например, клавиши выбора диска)". Будет грустно.
Я может чего то не понимаю, но если мыши нет то этот кусочек кода вообще не будет вызываться.
Я может чего то не понимаю, но если мыши нет то этот кусочек кода вообще не будет вызываться.
Я может чего-то не понимаю, но у меня мыши нет, но этот кусочек кода вызывается.
P.S. Наверное, потому что католический порт кемпстон-джойстика - dfh (с неполной дешифрацией). А православный - 1fh (полная дешифрация).
Я может чего-то не понимаю, но у меня мыши нет, но этот кусочек кода вызывается.
Поскольку католический порт кемпстон-джойстика - dfh. А православный - 1fh.
Тогда есть предложение переделать не этот кусок, а процедуру DETECTMOUSE с учетом такой проблемы. Там получается из-за католического порта определяется что мышь есть. Код я там почти не менял, оттуда и проблема.
Тогда есть предложение переделать не этот кусок, а процедуру DETECTMOUSE с учетом такой проблемы. Там получается из-за католического порта определяется что мышь есть. Код я там почти не менял, оттуда и проблема.
А не определить 100% достоверно наличие/отсутствие мыши/джойстика.
Обычно в программах предусмотрен мануальный выбор.
например кнопочками
1 - мышь есть/нет, 2 - джойстик есть/нет.
А не определить 100% достоверно наличие/отсутствие мыши/джойстика.
Обычно в программах предусмотрен мануальный выбор.
например кнопочками
1 - мышь есть/нет, 2 - джойстик есть/нет.
Я так понимаю что из порта DF читается 0? может в детекте проверять сначала порт джойстика и если есть считать что мыши нет? А если не 0, то проверять далее на наличие мыши.
Я так понимаю что из порта DF читается 0? может в детекте проверять сначала порт джойстика и если есть считать что мыши нет? А если не 0, то проверять далее на наличие мыши.
detect_kjoy
in a,(#df)
and #1f
jr z,kempston_df_present_need_to_block_mouse
mouse_detection
....
В общем добавил в DETECTMOUSE Лас-овскую процедурину, а так же поправил процедуру TIMELP, т.к. в коде она частенько выполняется, даже если мыши нет. Проверил на US в разных вариациях и с мышью и с отключением оной - висяки пропали.
В посте: http://www.zx.pk.ru/showpost.php?p=353924&postcount=403 поправил прошивку контроллера клавиатуры.
Кто-нибудь опробовал версию, работающую в режиме Scan Code 2?
Alex_NEMO
29.01.2011, 18:43
В посте: http://www.zx.pk.ru/showpost.php?p=353924&postcount=403 поправил прошивку контроллера клавиатуры.
Кто-нибудь опробовал версию, работающую в режиме Scan Code 2?
Камиль, прошу прощения за задержку - приболел маленько и пришлось поколдовать над монитором.
Моя слимка BTC6300C заработала!!! Урраааааа!!!
Огромнейшее спасибо!!! :v2_thumb:
Итак, предлагаю вашему вниманию новую версию сервисной прошивки для KAY-совместимых машин.
Изменения:
services_kay v.0.2a
15:48 29.01.2011 Hard/WCG
* обнаружил глюк - неглюк не хочет отображать каталог виртуального
диска Kay, выдает ошибку "Stupid user". Исправил - перед обращением
к диску даем команду инициализации.
+ Теперь KAY Service Rom умеет грузить в рам-диск файлы trd.
Прикрутил новый fat_boot от ЭвоСервис-рома, но вырезал из него
загрузку fdi-образов. Правда пришлось передвинуть буфер каталога из
страничной области, с адреса #c000 на адрес #A500, ну не умеет
Кай, как Эво щелкать страницами в окнах CPU1-CPU2. А это по идее при
большом количестве файлов в каталоге может привести к краху.
* Переделал процедуру загрузки scl-файлов. Однако стоит учитывать, что
при превышении scl-а 640 кб, часть файла обрежется, т.к. память-то
не резиновая, это вам не ПентЭво :) Это же касается и trd нестандартной
длины.
* Исправил глюк с опросом мыши, приводящий к зависаниям, при
отсутствии контроллера мыши. Tnx 2 Лас.
Опять же - проверял на эмулях, в купе с образами SD-карты, желательно протестировать на реальном железе.
Alex_NEMO
29.01.2011, 21:17
В посте: http://www.zx.pk.ru/showpost.php?p=353924&postcount=403 поправил прошивку контроллера клавиатуры.
Кто-нибудь опробовал версию, работающую в режиме Scan Code 2?
Камиль, попробовал и самую последнюю прошивку - v0.6. На моей слимке обнаружился один НЕ приятный моментик: при "активном" NumLock, кнопки курсора генерят "RESET". Это можно поправить?
Еще бы свои макросы бы... :v2_blush:
Я может чего-то не понимаю, но у меня мыши нет, но этот кусочек кода вызывается.
P.S. Наверное, потому что католический порт кемпстон-джойстика - dfh (с неполной дешифрацией). А православный - 1fh (полная дешифрация).
В KAY-2010 кемпстон джойстик работает и по католическим адресам и по православным.
Alex_NEMO, а сервис попробовал-то?
---------- Post added at 20:26 ---------- Previous post was at 20:24 ----------
Кстати... думаю может стоит разделить ветку, а то тут уже и про firmware разговор пошел :v2_dizzy_step:
Alex_NEMO
29.01.2011, 21:54
Alex_NEMO, а сервис попробовал-то?
Дим, извини, сегодня уже не успеваю... Завтра - точно попробую. Профка не завелась... С мафона то же нет загрузки...
---------- Post added at 21:54 ---------- Previous post was at 21:47 ----------
Слушай, СМУК же можно без профки как простой "Немо ИДЕ" пользовать? Как винт/компакт-флэху побыстрому приготовить для работы на Спеке?
SoftFelix
29.01.2011, 21:58
Кстати... думаю может стоит разделить ветку, а то тут уже и про firmware разговор пошел
+1! И начало треда про firmware перенести туда.
Alex_NEMO
29.01.2011, 22:01
SoftFelix, у тебя порт мафона робит "на чтение"?
---------- Post added at 22:01 ---------- Previous post was at 22:00 ----------
Хотя бы бордюр перемаргивает после LOAD""?
СМУК же можно без профки как простой "Немо ИДЕ" пользовать? Как винт/компакт-флэху побыстрому приготовить для работы на Спеке?
да, можно. только вот не помню, вроде бы некоторый софт без проф-пзу отказывался работать со смуком, то ли не использовал открытые порты, то ли еще какие-то грабли.
В KAY-2010 кемпстон джойстик работает и по католическим адресам и по православным.
Перечитайте, пожалуйста, последние 20 сообщений, кэп.
Black_Cat
29.01.2011, 22:18
СМУК же можно без профки как простой "Немо ИДЕ" пользовать?можно использовать "как простой СМУК" :) У NemoIDE всё другое
SoftFelix
29.01.2011, 22:19
Хотя бы бордюр перемаргивает после LOAD""?
Не-а. И не будет. Надо убрать нафик "доработку до фирменности" VD28-R79, ибо это зло. Как оно будет работать, если на AUDIO' лог.1 и она намертво душит выход компаратора. VD28 выпаиваем, а R79 заменяем перемычкой. При обсуждении этой доработки, я высказал некоторое сомнение, но, видимо, не столь настойчиво. Про работу читалки на NE555 ничего сказать не могу.
Black_Cat
29.01.2011, 22:23
Надо убрать нафик "доработку до фирменности" VD28-R79, ибо это зло. Как оно будет работать, если на AUDIO' лог.1 и она намертво душит выход компаратора :) глупость
SoftFelix
29.01.2011, 22:29
глупость
Внимательно слушаю обоснование подобного утверждения.
Надо убрать нафик "доработку до фирменности" VD28-R79
Я видимо очень много пропустил, а зачем вообще делали эту доработку?
SoftFelix
29.01.2011, 22:43
Сообщение от БК-0010 Посмотреть сообщение
глупость
Внимательно слушаю обоснование подобного утверждения.
Могу лишь добавить, что после инициализации #fe в BASIC_48/128, bit 4 действительно будет в 0 и не будет оказывать влияния. Но после работы какой-либо "нерадивой" программы, может оказаться и в 1.
Black_Cat
29.01.2011, 23:07
SoftFelix, не напрягайся, компов с такой схемотехникой выпущено более миллиона :) , так что всё проверено - мин нет! :)
компов с такой схемотехникой
в смысле каев или других клонов?
Alex_NEMO
29.01.2011, 23:27
Alex_NEMO, а сервис попробовал-то?
Дима, успел-таки проверить сегодня - прошил "сборку" для ROM-Switcher'а. Первая страница - "перевернутая" прошивка ЛАСа, но вместо КРАМИСа - неГЛЮК. 2-я страница - "перевернутая" прошивка ЛАСа. Две оставшиеся - фениксовские с Фаталом и ВДЦ. По сбросу, с удержанием Ctrl в сервис НЕ вошел, пришлось переставлять J5 на 11-12. Но и тут неудача! В сервис вошел, но на клаву он НЕ реагировал! Ни на PS/2, на на механику. Только "звездочка" на анимашке периодически мерцала...
---------- Post added at 23:27 ---------- Previous post was at 23:26 ----------
Не-а. И не будет. Надо убрать нафик "доработку до фирменности" VD28-R79, ибо это зло. Как оно будет работать, если на AUDIO' лог.1 и она намертво душит выход компаратора. VD28 выпаиваем, а R79 заменяем перемычкой. При обсуждении этой доработки, я высказал некоторое сомнение, но, видимо, не столь настойчиво. Про работу читалки на NE555 ничего сказать не могу.
Спасибо, завтра попробую...
Alex_NEMO, а версия какая? если до 0.2, то там из-за глюков с драйвером мыши могли быть висы.
Только "звездочка" на анимашке периодически мерцала...
Это радует - не зря с тобой старались :)
Black_Cat
29.01.2011, 23:34
в смысле каев или других клонов?:) в смысле оригинальных ZX Spectrum 48k :) ..извини, не помню сколько миллионов их выпущено с такой схемотехникой :)
Alex_NEMO
29.01.2011, 23:36
Alex_NEMO, а версия какая? если до 0.2, то там из-за глюков с драйвером мыши могли быть висы.
Я только последнюю и попробовал: 0.2a из 417 поста (http://zx.pk.ru/showpost.php?p=354213&postcount=417).
Alex_NEMO, сдается мне, что как-раз из-за перемычки и глюки с клавой... а крамис работает нормально?
По перемычке. Это не рекомендация, это правило!!!
Перемычка разворота страничек ПЗУ всегда должна быть в состоянии 10-11.
Страницы должны распологаться
0: SERVICE
1: TRDOS
2: BASIC 128
3: BASIC 48
Запишите это в первом посту.
Когда перемычка стоит 11-12 и поменяны половины ПЗУ местами это не правильно!!!
Перемычка носит технологический характер. Необходима для запуска сервис ROM без возможности корректно из него куда то выйти!!!
Допустим у Alex_NEMO не работает глюк потому что вместо ожидаемой им после махинаций с 7FFD и 1FFD вместо 48басик получается TRDOS. По этой же причине и крамис стартанутый таким образом никуда не может выйти.
В сервисную страницу корректно можно попасть только двумя способами
1. Программно
2. После фикса NEMO FDC что бы после сброса DOS был включен
Когда глюк и крамис стартуют с переставленной перемычкой, он стартует не из сервисной страницы а из страницы 128 бейсика!!!
Надеюсь вопрос с перемычкой закроется раз и навсегда
Black_Cat
30.01.2011, 01:09
Страницы должны распологаться
0: BASIC 128
1: BASIC 48
2: TRDOS
3: SERVICE
нет, это неверно. На ранних 256кб моделях было Скорповое расположение, потом порядок поменялся на:
0: SERVICE
1: TRDOS
2: BASIC 128
3: BASIC 48
0: SERVICE
1: TRDOS
2: BASIC 128
3: BASIC 48
Согласен, наплужил
Поправил
Камиль, попробовал и самую последнюю прошивку - v0.6. На моей слимке обнаружился один НЕ приятный моментик: при "активном" NumLock, кнопки курсора генерят "RESET". Это можно поправить?Поправлю.
Еще бы свои макросы бы... :v2_blush:Сделаю.
Alex_NEMO
30.01.2011, 09:00
Alex_NEMO, сдается мне, что как-раз из-за перемычки и глюки с клавой... а крамис работает нормально?
Да, в нем - все гут, по менюшке хожу, в основном меню то же.
ZEK, про перемычки уже все понятно. У меня последовательность страниц в перделах банок именно такое сейчас и перемычка 10-11.
Дмитрий, а кстати, как в неГЛЮК-то твой выходить? Удерживать Ctrl(d ckexft PS/2-клавы) при RESETе? Когда так делал(по аналогии с КРАМИСом) - черный экран, в верхней трети(четверти) экрана Спека хаотичные квадратики и тишина...
2Alex_Nemo - нормально ли работает PAUSE?
1) Нажатие PAUSE останавливает программу;
2) Повторное нажатие PAUSE возобновляет исполнение программы и через приблизительно
20 мсек (1 кадр) снова останавливает программу (возможно время получилось больше 1 кадра);
3) Нажатие любой другой клавиши продолжает выполнение программы.
Спека хаотичные квадратики и тишина...
это интересней, у меня в эмуле тоже самое и в глюк переходит при отпускании кнопки. Надо дизасмить процедуру переходя в глюк и посмотреть в чем может быть дело. ТRDOS из набора Лас ? Можешь подключить USBee к сигналам RS ROMS DOS и посмотреть что проиходит при сбросе с нажатой кнопкой и особенно важно что происходит в момент отпускания
Дмитрий, а кстати, как в неГЛЮК-то твой выходить?
Это скорее вопрос к Ласу, как у него сделан выход в сервисную страницу. Второй вариант описывал ZEK - как дорабатывать FDC для выхода в сервисную страницу по сбросу.
Кстати, FDC-то у тебя установлен? при запуске HEGLUK происходит сброс ВГ93, а при ее отсутствии это может окончиться печально.
Для запуска Kay Service достаточно открыть сервисную страницу и выполнить JP 0.
Alex_NEMO
30.01.2011, 11:25
это интересней, у меня в эмуле тоже самое и в глюк переходит при отпускании кнопки. Надо дизасмить процедуру переходя в глюк и посмотреть в чем может быть дело. ТRDOS из набора Лас ? Можешь подключить USBee к сигналам RS ROMS DOS и посмотреть что проиходит при сбросе с нажатой кнопкой и особенно важно что происходит в момент отпускания
Да, ТRDOS из набора Лас. Погоди, возможно, проблемы в том, что не было вставленно ни одного контроллера. FDC - НЕ было на борту! Ща проверим! Профка заработала, СМУК и его "набортную" память (в RTC и NVRAM) видит! Уже здорово! Женя оперативно глючек поправил!
Второй вариант описывал ZEK - как дорабатывать FDC для выхода в сервисную страницу по сбросу.
У меня все готово - я перемычку с диодом с обратной стороны припаял. FDC - НЕ было, возможно, в этом и проблема! Ща проверю! Спасибо за наводку!
FDC - НЕ было, возможно, в этом и проблема!
Без FDC работать не будет впринцие DOS переключается на нем
Alex_NEMO
30.01.2011, 12:15
Дима, все заработало!!!
Пока не понятка одна на борту и "штатный" клавиатурный контроллер и СМУК с "далласом". Сервис пишет, что "EEPROM type NONE". Тут, я так понимаю, надо сперва ручкамивыстивить тип. Но, исходя из хелпа, S + RESET - не проходит... Так же, как и любая другая комбинация Key+RESET... Выход в сам СЕРВИС - RESET + Ctrl (короткое удержание, как и в КРАМИСе)
---------- Post added at 11:44 ---------- Previous post was at 11:40 ----------
Кстати, у тебя "пересечение" на кнопку S - переход в TR-DOS. И в хелпе - "S=Ch.mode EEPROM". Переназначить надо.
---------- Post added at 12:15 ---------- Previous post was at 11:44 ----------
2Alex_Nemo - нормально ли работает PAUSE?
1) Нажатие PAUSE останавливает программу;
2) Повторное нажатие PAUSE возобновляет исполнение программы и через приблизительно
20 мсек (1 кадр) снова останавливает программу (возможно время получилось больше 1 кадра);
3) Нажатие любой другой клавиши продолжает выполнение программы.
Камиль, чуть позже проверю. Пока не с чего проги загрузить... :)
и "штатный" клавиатурный контроллер
там еще нет eeprom
и СМУК с "далласом"
на глюкчасах только проверяли
другая комбинация Key+RESET
с механики попробуй
и "штатный" клавиатурный контроллер
там еще нет eeprom
и СМУК с "далласом"
на глюкчасах только проверяли
другая комбинация Key+RESET
И не будет работать в KAY при активном сигнале DOS заблокирована клавиатура, то есть в пзу TRDOS и SERVICE клавиатуру опрашивать не получится и надо перепахивать идеологию глюка
Alex_NEMO
30.01.2011, 12:33
с механики попробуй
По барабану.
там еще нет eeprom
В смысле? Камиль же, вроде, сделал возможность доступа?
PS. Как вариант по сбросу переходить в страницу 128 бейсик проверять там кнопки и опять в возвращаться в глюк.
PPS. В анриле это поведение не эмулируется, я себе в ZXMAK сделал такое поведение, но еще видать не точная дешифрация, потому что при "отключенном" TRDOS у меня верхняя треть цветными квадратами не забивается.
Alex_NEMO
30.01.2011, 12:58
PS. Как вариант по сбросу переходить в страницу 128 бейсик проверять там кнопки и опять в возвращаться в глюк.
А смысл?!! У меня клавы теперь НЕ глючат. Каким макаром "опять в возвращаться в глюк" из 128 Бейсика?
Alex_NEMO, нет пересечения, s - TR-DOS и S (с капсом) - автосейв. Если предложишь другую кнопку - говори, у меня просто уже в полночь голова кругом шла :) да и там куча кнопок уже задействовано, которые более-менее очевидны.
---------- Post added at 13:46 ---------- Previous post was at 13:41 ----------
СМУК с "далласом".
смук не используется, считаю нет смысла его юзать, если будешь юзать профпзу.
А смысл?!! У меня клавы теперь НЕ глючат.
Alex_NEMO, смысл в том, что к кае
при обращении к AY или при включеном DOS блокируется обращение к порту джойстика и клавы
Каким макаром "опять в возвращаться в глюк" из 128 Бейсика?
Сбросом.
Alex_NEMO
30.01.2011, 15:10
Если честно - нифига не понял...
По клаве - первоначальный-то вход с сервис(КРАМИС/неГЛЮК) выполняется...
Растолкуйте непонятливому потолковее!
По клаве - первоначальный-то вход с сервис(КРАМИС/неГЛЮК) выполняется...
а что дальше-то не понятно?
Каким макаром "опять в возвращаться в глюк" из 128 Бейсика?
Так же как ты первоначально в него заходил.
SoftFelix
30.01.2011, 15:31
Сегодня игрался с читалкой магнитофона. Вообще не работает. Подавал с генератора НЧ частоты 100...3000 Гц и амплитудой 0.05...4В - на выводе 3D51 вечная лог.1. D51 у меня NE555 SGS-THOMSON из Платана.
Цепь VD28-R79 - не влияет, признаю свои поспешные выводы.
p.s.
глупость
SoftFelix, не напрягайся
:v2_dizzy_stop:
p.p.s. БК-0010, вопрос остался в силе: для чего конкретно нужна эта доработка?
Black_Cat
30.01.2011, 16:07
у меня NE555 SGS-THOMSON:) бокорезы в руки и в помойку :) , потом - в радиолабаз за КР1006ВИ1 :) Удачи :)
---------- Post added at 16:07 ---------- Previous post was at 16:02 ----------
для чего конкретно нужна эта доработка?а поднять топик, где это обсуждалось слабо? Для правильной работы некоторых программ, использющих эту функцию Спектрума, без которой они просто не работают :) .
Alex_NEMO
30.01.2011, 16:09
Сегодня игрался с читалкой магнитофона. Вообще не работает. Подавал с генератора НЧ частоты 100...3000 Гц и амплитудой 0.05...4В - на выводе 3D51 вечная лог.1. D51 у меня NE555 SGS-THOMSON из Платана.
Цепь VD28-R79 - не влияет, признаю свои поспешные выводы.
У меня стоит NE555 от ST - те же яйца! Может, надо было сразу 1006ВИ1 ставить - они есть у меня... Можно попробовать резюк R26 подобрать...
Я на макете распаял панельку DIP8 под 1006ВИ1 и схемку на ЛН2, как в Пентагоне - вскоре бум пробовать...
p.p.s. БК-0010, вопрос остался в силе: для чего конкретно нужна эта доработка?
Сдается мне, что бы звук с ленты через внутр. динамик можно было слушать...
Alex_NEMO
30.01.2011, 16:21
Сегодня игрался с читалкой магнитофона. Вообще не работает. Подавал с генератора НЧ частоты 100...3000 Гц и амплитудой 0.05...4В - на выводе 3D51 вечная лог.1. D51 у меня NE555 SGS-THOMSON из Платана.
Цепь VD28-R79 - не влияет, признаю свои поспешные выводы.
У меня стоит NE555 от ST - те же яйца! Может, надо было сразу 1006ВИ1 ставить - они есть у меня... Можно попробовать резюк R26 подобрать...
Я на макете распаял панельку DIP8 под 1006ВИ1 и схемку на ЛН2, как в Пентагоне - вскоре бум пробовать...
p.p.s. БК-0010, вопрос остался в силе: для чего конкретно нужна эта доработка?
Сдается мне, что бы звук с ленты через внутр. динамик можно было слушать...
---------- Post added at 16:21 ---------- Previous post was at 16:10 ----------
Феликс, попробуй R26 увеличить до 100кОм...
Black_Cat
30.01.2011, 16:34
У меня стоит NE555 от ST - те же яйца!:) просто кросавчеги! :) Интересно, сколько ещё "умников" попадёт в эту ловушку? :)
попробуй R26 увеличить до 100кОм...:) бестолку, бокорезы в руки.. :)
SoftFelix
30.01.2011, 17:00
БК-0010, расскажи, в чём мы не правы?
Alex_NEMO
30.01.2011, 17:23
просто кросавчеги! Интересно, сколько ещё "умников" попадёт в эту ловушку?
Почти уверен, что многие! Вадим поди то же заказал хх555...
БК-0010, расскажи, в чём мы не правы?
БК, ты как всегда глумишься... Что, тут 555 вообще бесполезны? А в "фирменных" Спеках что за схемы компараторов? Или там типа LM311 + TL072, типа как в Ленинградах?
---------- Post added at 17:23 ---------- Previous post was at 17:18 ----------
просто кросавчеги! Интересно, сколько ещё "умников" попадёт в эту ловушку?
Почти уверен, что многие! Вадим поди то же заказал хх555...
БК-0010, расскажи, в чём мы не правы?
БК, ты как всегда глумишься... Что, тут 555 вообще бесполезны? А в "фирменных" Спеках что за схемы компараторов? Или там типа LM311 + TL072, типа как в Ленинградах?
Black_Cat
30.01.2011, 17:42
БК, ты как всегда глумишься...
вааше-то это не я, это Nemo глумится :) , поздравляю, вы столкнулись с одной из защит КАЯ :)
расскажи, в чём мы не правы?
а ты загрузи схему читалки в любой импортный симулятор, и посмотри как она будет работать :) ..никак :) . Т.е. она принципиально не может работать :) ..но с КР1006ВИ1 работает :) . Это know-how :) . В этом отличие конструкций практических схемотехников от всех остальных :)
..хотя я не уверен, что с кончиной СССР КР1006ВИ1 везде производится по старой технлогии, и в этом может быть проблема :)
Alex_NEMO
30.01.2011, 17:50
Короче, выкусил нах NE555, впаял КР1006ВИ1 - все робит на УРА!
Резюк R26 - на 20к(реально - 19,2к), как на родной схеме. Пробовал грузиться с ZX Flash Taper'а - все хорошо, только полоски вверх бегут, причем, довольно сильно.
Камиль, проверил работу PAUSE - замечательно работает! Мне алгоритм очень понравился! Многократным нажатием модно подогнать до нужного момента! Большое спасибо!!!
SoftFelix
30.01.2011, 17:51
БК-0010, если заранее знал, зачем тред раздувал духом загадочно-весёлого (:)) злорадства?
Alex_NEMO
30.01.2011, 18:02
..хотя я не уверен, что с кончиной СССР КР1006ВИ1 везде производится по старой технлогии, и в этом может быть проблема
Да нет, на складах полно ещё из старых запасов микросхем 90-х годов. Есть и ВИшки.
БК-0010, скожи, а в "классической" схеме читалки на ЛН2 будут работать имп. аналоги - 4069 или 40106(ТЛ2)?
Black_Cat
30.01.2011, 18:17
если заранее знал, зачем тред раздувал духом загадочно-весёлого () злорадства?я те сразу сказал - выкусывай, буквально в следующем посте
---------- Post added at 18:17 ---------- Previous post was at 18:13 ----------
схеме читалки на ЛН2 будут работать имп. аналоги - 4069 или 40106(ТЛ2)?это не аналоговая микросхема как ВИшка, цифра вся одинаковая. Хотя с ТЛкой может и не работать, т.к. там входы с триггером Шмидта
Alex_NEMO
30.01.2011, 18:24
это не аналоговая микросхема как ВИшка, цифра вся одинаковая
Дело в том, что тут логика работает в "аналоговом" режиме, как ОУ/компаратор.
Black_Cat
30.01.2011, 18:36
тут логика работает в "аналоговом" режиме
без разницы, внутри они одинаковы
как ОУ/компаратор.
токо не как компаратор, просто усилитель-ограничитель
вааше-то это не я, это Nemo глумится , поздравляю, вы столкнулись с одной из защит КАЯ
БК-0010, на моей плате KAY-1024 3sl от NEMO стояла NE555! Её туда поставил сам кэп. Магнитофонный вход с ней не работал а через недельку эта микра начала греться до дыма в рез-те чего я её заменил на ви1.
По поводу отличий NE555 и ВИ1: вроде бы они отличаются входными токами оп. усилителей в меньшую сторону к NE555. поидее нужно увеличить номинал резистора. но я могу ошибаться.
ЗЫ. полный аналог ви1 - ne555nl, так написано у меня в древнем справочнике, и я в свой кай v2010 купил именно такую. в ближайшее время опробую и сообщю рез-ты.
Black_Cat
31.01.2011, 02:46
БК-0010, на моей плате KAY-1024 3sl от NEMO стояла NE555! Её туда поставил сам кэп
:) Mayor, щас уже не выяснить почему тебе попала 555, но зная всю кухню производства Спектрумов в то время, могу примерно воссоздать события :) . Увы, должен тебя разочаровать - Nemo сам платы не паял и не настраивал, это делали монтажники и настройщики за деньги :) . А т.к. Nemo с ними работал давно, то доверял им. В обязанности настройщика входила функциональная проверка работоспособности узлов, в т.ч. и читалки. Сам Nemo производил уже контроль безсбойной работы с софтом и термопрогон. Судя по всему настройщик схалтурил и не проверил читалку, а у Nemo небыло повода ему недоверять. А т.к. на этапе которым занимался Nemo пользоваться магнитофоном не приходилось, а также ввиду того, что ВИ1 находится под AY и не видно что там на самом деле стоит, то брак остался незамеченным. Так что утверждение, что "Её туда поставил сам кэп" несколько преувеличено :) , тебе просто неповезло. Бывает..
щас уже не выяснить почему тебе попала 555
У меня кстати, тоже стоит 555 с датой 8714. Но мафонный узел я не проверял на работоспособность...
Black_Cat
31.01.2011, 11:42
Но мафонный узел я не проверял на работоспособность... :) ну вот, значит будет чем озаботиться в ближайшее время :)
БК-0010, оно мне как-то без надобности, поэтому пусть остается на совести производителя.
Alex_NEMO
31.01.2011, 12:10
В 3-й пост (http://zx.pk.ru/showpost.php?p=313890&postcount=3) свел что-то вроде мини-FAQ, по мере сил и возможностей буду дополнять/обновлять. Про резюки, дублирующиеся по линиям KA11, KA12 помню.
Обновил ссылки на актуальные прошивки в 1 и 2 постах.
Что бы воспользоваться всеми функциями глюка надо допилить кай проводочком
1. выпаять DD61
2. соединить DD40.9 с DD60.2
И тогда появится возможность программно управлять блокировкой 128к и при сбросе состояние бита будет читаться из eeprom
Так же можно FDC допилить что бы сбрасывалось в глюк поумолчанию
Alex_NEMO
31.01.2011, 12:42
Что бы воспользоваться всеми функциями глюка надо допилить кай проводочком
1. выпаять DD61
2. соединить DD40.9 с DD60.2
По нашей плате, по идее, даже проще - подрезать дорожку до DD60.2 от триггера DD61. И бросить проводок от DD60.2 до штырька "to ProfROM" (чуть ниже DD49). А можно или джамперок или 2-а диода, что бы оставалась возможность "руления" с кнопки. Хотя, это, по идее, лишнее.
Дим, а из теневика ПрофПэ, по идее, то же будет рулиться в таком случае?
Alex_NEMO, не понял честно говоря
видать схема у меня старая щас перекачаю не нашел to Prof ROM
а из теневика ПрофПэ, по идее, то же будет рулиться в таком случае?
Я про функции ПП к сожалению не в курсе
Сожалею, что не было возможности ответить раньше.
1. По поводу моей версии прошивки : переход в сервис-пзу в осуществляется примерно так:
ld (#fffe),"out (c),a"
ld a,8
ld bc,#1ffd
jp #fffe
2. По поводу прошивки Дмитрия сотоварищи (версия 0.2a и ранее). Вот куски кода:
0030h ld de,#0000
0033H ld bc, #7ffd
0036h push de
....
push af
ld (#5c04),"out (c),a:pop af:ret" ;^)
....
ld bc,#7ffd
jp #5c04
.....
5c04h out (c),a
5c06h pop af
5c07h ret
SP не задается при инициализации прошивки Дмитрия. Может быть где попало, если пришли в прошивку не по ресету.
Куда мы вернемся, если SP указывает в пзу или, к примеру, SP=5c07, или SP>c000h при включенной ненулевой странице?
Проводил испытания на своем старом-добром KAY-1024/3SL/Turbo. Прошил на всякий случай 2 флешатины, одна с версией ПЗУ от 2000года, вторая - с пометкой kay1024_v2_1_las из поста http://zx.pk.ru/showpost.php?p=292988&postcount=55, предоставленной Лас-ом.
Итак, докладываю:
С первой ПЗУ по CS (вроде бы Caps, т.к. пока еще плаваю в раскладке ZC), вываливаемся в TR-DOS, по другим комбинациям либо 0 эмоций, либо зависон...
Со второй прошивкой - по CS при сбросе и отпускании CS (после изменения бордюра) вываливаемся в сервисную страничку. Почти все функции проверил - рам-диск создается, копируется с карты памяти в рам-диск, запускается оттуда, в общем кайф! Но есть нюанс, системой детектится GlukRTC, а у оного сейчас приоритет наивысший (кагбе по логике вещей - зачем убивать EEPROM, если есть "вечное" ОЗУ), то система думает, что настройки надо брать из него. В связи с этим функции Turbo ON/OFF и Memory lock не отрабатывают, т.к. при наличии RTC - сначала считывается из памяти значение соответствующей переменной, затем записывается измененное. Но это дело поправимое.
ZEK говорит, что все из-за кривой дешифрации к.джоя в оригинальных платах. Значит надо как-то и этот нюанс решать, может быть при детекте RTC не просто считывать данные, но и пробывать записывать и сверять?
Решить легко, прочитать дату из RTC если год буде 0x00 x00 то это джой капканит
Предлагаю первую версию прошивки 2002, с перевернутыми мною половинами банок, не использовать при тестировании, считать ошибочной из-за моих кривых рук, и использовать нормальную версию, с православным расположением половин.
Alex_NEMO
31.01.2011, 14:18
Alex_NEMO, не понял честно говоря
видать схема у меня старая щас перекачаю не нашел to Prof ROM
Дима, на сколько помню, на схеме не отображено... На монтажке и печатке - есть!
Лас, ну я ее порезал по 16К, расположил странички как надо, заменил крамис на неглюк и enjoy!
На монтажке и печатке - есть!
что это за перемычка?
Лас, ну я ее порезал по 16К, расположил странички как надо, заменил крамис на неглюк и enjoy!
О ней я и говорю. Пересобранную оставить, кривую удалить из 1го поста, чтобы не путать.
Alex_NEMO
31.01.2011, 14:33
Предлагаю первую версию прошивки 2002, с перевернутыми мною половинами банок, не использовать при тестировании, считать ошибочной из-за моих кривых рук, и использовать нормальную версию, с православным расположением половин.
Лас, зачем так самокритично! Нормальная прошивка! "Оправославить" её - дело пары минут! Выложить "перевернутую"?
---------- Post added at 14:33 ---------- Previous post was at 14:30 ----------
что это за перемычка?
Это не перемычка, а просто отверстие под единичный штырек. Делалось для удобного подключения ПрофПэ. А видешь, и тут пригодится! В ближайшее время обновлю схему. Там ещё кое-что подрихтовать надо и кой-какие комментарии добавить! Заодно в лист фиксов кой-чего добавить.
Пока не нужно.
Сейчас я тестирую ее в анриле, заметил, что при форматировании "рам-дисковода C"
при нажатии T - форматируется нормально, а при обычном форматировании - сбрасывается на 17 физической дорожке.
Хочу понять в чем дело, почему в анриле глючит.
Alex_NEMO
31.01.2011, 14:37
О ней я и говорю. Пересобранную оставить, кривую удалить из 1го поста, чтобы не путать.
Лас, я просто, как бы "авторские права" пытаюсь соблюдать, что бы не дай Бог никого не обидеть! А то, вон, фо флейме, сколько "вони" было, про "украденные фотки" (если честно, я бы и не подумал, что "у нас" такое возможно... Грустно местами становится от подобного...). Если ты даешь "добро" - не вопрос - давай вложу в архив с коллекцией ROMов и с комментариями из твоего поста, с указанием ссылки-первоисточника. Хорошо?
Да мне плевать на "права", это дело прошлое. Я бы и исходники все выложил, только доступа сейчас к ним нет - лежат на старом винчестере, неизвестно, заработает ли он вообще, надо подключать-вытаскивать.
лежат на старом винчестере, неизвестно, заработает ли он вообще, надо подключать-вытаскивать.
думаю дело нужное, пробуй подключить.
Alex_NEMO
31.01.2011, 14:51
Да мне плевать на "права", это дело прошлое. Я бы и исходники все выложил, только доступа сейчас к ним нет - лежат на старом винчестере, неизвестно, заработает ли он вообще, надо подключать-вытаскивать.
Ну и замечательно! Спасибо! А mobile-rack или девайсик вроде такого: http://www.nix.ru/autocatalog/hdd_accessories_agestar/AgeStar_IUBCP_IDEUSB2.0_Adapter_3.5_USB._68668.htm l
Не дорого, и внутрь компа лезть НЕ надо! У меня наподобие, только ещё + SATA.
Пока не нужно.
Сейчас я тестирую ее в анриле, заметил, что при форматировании "рам-дисковода C"
при нажатии T - форматируется нормально, а при обычном форматировании - сбрасывается на 17 физической дорожке.
Хочу понять в чем дело, почему в анриле глючит.
Ха-ха. Это не анрил глючит, а я. Сбрасывалось, потому что тестировал в режиме KAY с 256 Кб ОЗУ.
При быстром форматировании (T) происходит очистка 0 дорожки и установка нужных параметров 9го сектора. А при обычном форматировании происходит очистка каждой дорожки на диске, количество и расположение дорожек зависит, естественно, от выбранного типа диска и дисковода.
SP не задается при инициализации прошивки Дмитрия.
Перед распаковкой неглюка выполняется код:
LD HL,#6000
LD SP,HL
т.е. SP инитится во всех случаях, кроме выхода в тр-дос, но это не особо надобно... но добавил установку SP на адрес #6000 на всякий случай при инициализации.
---------- Post added at 14:06 ---------- Previous post was at 14:01 ----------
Ха-ха. Это не анрил глючит, а я.
тоже пару раз недоумевал, почему вдруг перестали грузиться TRD-шники :) оказалось - с перепугу чего-то включил 256 кб:)
Камиль, попробовал и самую последнюю прошивку - v0.6. На моей слимке обнаружился один НЕ приятный моментик: при "активном" NumLock, кнопки курсора генерят "RESET". Это можно поправить?Исправил, проверяйте.
Особенно интересно проверить работу с EEPROM.
Я пока только убедился, что:
PRINT IN 22014 (адрес порта 55FEh)
выдает 170 (0AAh)
Еще бы свои макросы бы... :v2_blush:Пока без макросов.
Alex_NEMO
31.01.2011, 16:15
Исправил, проверяйте.
Камиль, спасибо! Вечерком проверю.
Особенно интересно проверить работу с EEPROM.
Тут, по идее, ещё и от Димы зависит...
Alex_NEMO, что от меня зависело - вроде бы пофиксил :) Но я проверить на реале могу скорее всего только завтра, либо ты сегодня... По идее eeprom должен зафуфырчать, помеху в виде глюка с портом джоя отсеял.
Итак, новая версия:
services_kay v.0.2b
* Изменил детектирование часов, ранее GlukRTC определялись по чтению
регистра секунд и если считалось #FF, то часы отсутствуют. В Кае на
порт #XXF7 отзывается порт джойстика, поэтому при отсутствии GlukRTC
из порта читается #00, и считается, что часы присутствуют. Покурив
даташиты на Dallas и ВИ1, определил, что регистры A и B, при нормально
идущих часах, не могут быть равны ни 0, ни #FF, в соответствии с этим
изменил процедуру детектирования.
+ Добавил в код инициализации и распаковки НЕГлюк установку стека.
+ Прикрутил окошки с надписью "Processing..." в длительных операциях,
как-то Reset pages, Image to RAMDISK.
+ В окне выбора файлов на FAT устройствах приделал вывод расширений
файлов.
Alex_NEMO
31.01.2011, 17:11
Alex_NEMO, что от меня зависело - вроде бы пофиксил Но я проверить на реале могу скорее всего только завтра, либо ты сегодня... По идее eeprom должен зафуфырчать, помеху в виде глюка с портом джоя отсеял.
Сильно не обещаю, но попробую! Всего-то делов - флэху перешить...
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot