Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   KAY-1024/SL-4/TURBO v2010 + NemoFDC + NemoIDE (http://zx-pk.ru/showthread.php?t=13770)

Лас 31st January 2011 15:01

Сожалею, что не было возможности ответить раньше.
1. По поводу моей версии прошивки : переход в сервис-пзу в осуществляется примерно так:
ld (#fffe),"out (c),a"
ld a,8
ld bc,#1ffd
jp #fffe

2. По поводу прошивки Дмитрия сотоварищи (версия 0.2a и ранее). Вот куски кода:
Code:

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 при включенной ненулевой странице?

Дмитрий 31st January 2011 15:07

Проводил испытания на своем старом-добром 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 не просто считывать данные, но и пробывать записывать и сверять?

ZEK 31st January 2011 15:14

Решить легко, прочитать дату из RTC если год буде 0x00 x00 то это джой капканит

Лас 31st January 2011 15:15

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

Alex_NEMO 31st January 2011 15:18

Quote:

Originally Posted by ZEK (Post 354752)
Alex_NEMO, не понял честно говоря
видать схема у меня старая щас перекачаю не нашел to Prof ROM

Дима, на сколько помню, на схеме не отображено... На монтажке и печатке - есть!

Дмитрий 31st January 2011 15:21

Лас, ну я ее порезал по 16К, расположил странички как надо, заменил крамис на неглюк и enjoy!

ZEK 31st January 2011 15:24

Quote:

Originally Posted by Alex_NEMO (Post 354784)
На монтажке и печатке - есть!

что это за перемычка?

Лас 31st January 2011 15:25

Quote:

Originally Posted by Дмитрий (Post 354787)
Лас, ну я ее порезал по 16К, расположил странички как надо, заменил крамис на неглюк и enjoy!

О ней я и говорю. Пересобранную оставить, кривую удалить из 1го поста, чтобы не путать.

Alex_NEMO 31st January 2011 15:33

Quote:

Originally Posted by Лас (Post 354780)
Предлагаю первую версию прошивки 2002, с перевернутыми мною половинами банок, не использовать при тестировании, считать ошибочной из-за моих кривых рук, и использовать нормальную версию, с православным расположением половин.

Лас, зачем так самокритично! Нормальная прошивка! "Оправославить" её - дело пары минут! Выложить "перевернутую"?

---------- Post added at 14:33 ---------- Previous post was at 14:30 ----------

Quote:

Originally Posted by ZEK (Post 354788)
что это за перемычка?

Это не перемычка, а просто отверстие под единичный штырек. Делалось для удобного подключения ПрофПэ. А видешь, и тут пригодится! В ближайшее время обновлю схему. Там ещё кое-что подрихтовать надо и кой-какие комментарии добавить! Заодно в лист фиксов кой-чего добавить.

Лас 31st January 2011 15:33

Пока не нужно.
Сейчас я тестирую ее в анриле, заметил, что при форматировании "рам-дисковода C"
при нажатии T - форматируется нормально, а при обычном форматировании - сбрасывается на 17 физической дорожке.
Хочу понять в чем дело, почему в анриле глючит.

Alex_NEMO 31st January 2011 15:37

Quote:

Originally Posted by Лас (Post 354789)
О ней я и говорю. Пересобранную оставить, кривую удалить из 1го поста, чтобы не путать.

Лас, я просто, как бы "авторские права" пытаюсь соблюдать, что бы не дай Бог никого не обидеть! А то, вон, фо флейме, сколько "вони" было, про "украденные фотки" (если честно, я бы и не подумал, что "у нас" такое возможно... Грустно местами становится от подобного...). Если ты даешь "добро" - не вопрос - давай вложу в архив с коллекцией ROMов и с комментариями из твоего поста, с указанием ссылки-первоисточника. Хорошо?

Лас 31st January 2011 15:46

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

Дмитрий 31st January 2011 15:49

Quote:

Originally Posted by Лас (Post 354798)
лежат на старом винчестере, неизвестно, заработает ли он вообще, надо подключать-вытаскивать.

думаю дело нужное, пробуй подключить.

Alex_NEMO 31st January 2011 15:51

Quote:

Originally Posted by Лас (Post 354798)
Да мне плевать на "права", это дело прошлое. Я бы и исходники все выложил, только доступа сейчас к ним нет - лежат на старом винчестере, неизвестно, заработает ли он вообще, надо подключать-вытаскивать.

Ну и замечательно! Спасибо! А mobile-rack или девайсик вроде такого: http://www.nix.ru/autocatalog/hdd_ac...SB._68668.html
Не дорого, и внутрь компа лезть НЕ надо! У меня наподобие, только ещё + SATA.

Лас 31st January 2011 15:57

Quote:

Originally Posted by Лас (Post 354793)
Пока не нужно.
Сейчас я тестирую ее в анриле, заметил, что при форматировании "рам-дисковода C"
при нажатии T - форматируется нормально, а при обычном форматировании - сбрасывается на 17 физической дорожке.
Хочу понять в чем дело, почему в анриле глючит.

Ха-ха. Это не анрил глючит, а я. Сбрасывалось, потому что тестировал в режиме KAY с 256 Кб ОЗУ.
При быстром форматировании (T) происходит очистка 0 дорожки и установка нужных параметров 9го сектора. А при обычном форматировании происходит очистка каждой дорожки на диске, количество и расположение дорожек зависит, естественно, от выбранного типа диска и дисковода.

Дмитрий 31st January 2011 16:06

Quote:

Originally Posted by Лас (Post 354771)
SP не задается при инициализации прошивки Дмитрия.

Перед распаковкой неглюка выполняется код:
Code:

                LD HL,#6000
                LD SP,HL

т.е. SP инитится во всех случаях, кроме выхода в тр-дос, но это не особо надобно... но добавил установку SP на адрес #6000 на всякий случай при инициализации.

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

Quote:

Originally Posted by Лас (Post 354804)
Ха-ха. Это не анрил глючит, а я.

тоже пару раз недоумевал, почему вдруг перестали грузиться TRD-шники :) оказалось - с перепугу чего-то включил 256 кб:)

caro 31st January 2011 16:35

Прошивка контроллера клавиатуры версия 0.7
 
Quote:

Originally Posted by Alex_NEMO
Камиль, попробовал и самую последнюю прошивку - v0.6. На моей слимке обнаружился один НЕ приятный моментик: при "активном" NumLock, кнопки курсора генерят "RESET". Это можно поправить?

Исправил, проверяйте.
Особенно интересно проверить работу с EEPROM.
Я пока только убедился, что:
PRINT IN 22014 (адрес порта 55FEh)
выдает 170 (0AAh)

Quote:

Originally Posted by Alex_NEMO
Еще бы свои макросы бы... :v2_blush:

Пока без макросов.

Alex_NEMO 31st January 2011 17:15

Quote:

Originally Posted by caro (Post 354812)
Исправил, проверяйте.

Камиль, спасибо! Вечерком проверю.
Quote:

Originally Posted by caro (Post 354812)
Особенно интересно проверить работу с EEPROM.

Тут, по идее, ещё и от Димы зависит...

Дмитрий 31st January 2011 18:00

1 Attachment(s)
Alex_NEMO, что от меня зависело - вроде бы пофиксил :) Но я проверить на реале могу скорее всего только завтра, либо ты сегодня... По идее eeprom должен зафуфырчать, помеху в виде глюка с портом джоя отсеял.
Итак, новая версия:
Code:

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 31st January 2011 18:11

Quote:

Originally Posted by Дмитрий (Post 354845)
Alex_NEMO, что от меня зависело - вроде бы пофиксил Но я проверить на реале могу скорее всего только завтра, либо ты сегодня... По идее eeprom должен зафуфырчать, помеху в виде глюка с портом джоя отсеял.

Сильно не обещаю, но попробую! Всего-то делов - флэху перешить...

Дмитрий 31st January 2011 18:20

Проверил, с GlukRTC глюк пофиксился - ложного определения теперь не происходит.
Alex_NEMO, теперь дело за тобой :)

---------- Post added at 16:20 ---------- Previous post was at 16:18 ----------

Но тут обратил внимание на другое - мусор в верхнем экране при попытке выйти в НЕГлюк, это не что иное как тест клавы :) надо посмотреть, что там с ним случилось (Я не трогал :))...

Black_Cat 31st January 2011 18:46

Quote:

Originally Posted by Дмитрий (Post 354845)
В Кае на
порт #XXF7 отзывается порт джойстика

Дмитрий, я чёт не пойму, а где у вас физически часы стоят? Если во внешнем контроллере, то никто ни на что не отзывается, IORQGE всё блокирует..

---------- Post added at 17:46 ---------- Previous post was at 17:42 ----------

С чего собсно ты взял что будут конфликты? На КАЕ это принципиально невозможно.

ZEK 31st January 2011 18:49

Quote:

Originally Posted by БК-0010 (Post 354862)
я чёт не пойму, а где у вас физически часы стоят?

в кае из за кривущей дешифрации из нечетных портов читается джойстик а не состояние шины в этом и бага. В глюке проверка была что если из порта BFF7 (вроде) читается FF считается что глюка нет, в кае читается 00. ZST чуть поправил теперь джойстик читается из xx1x_xxx1 (и не выбран AY) но всервано при чтении xxF7 читается дойстик. Тобиш немо сделал дешифрацию устройства лог.1 на адресном разряде и от этого все косяки

Black_Cat 31st January 2011 19:16

Quote:

Originally Posted by ZEK (Post 354865)
в кае из за кривущей дешифрации из нечетных портов читается джойстик а не состояние шины в этом и бага.

таак, кажись я понимаю где ваша ошибка:

1) в КАЕ дешифрация почти идеальная, и лезть в неё не надо
2) читать с шины хрен знает что вместо отсутствующего порта - это один из базисных стандартов Спектрума (порт #FF)
3) стандарты Спектрума не меняют из-за глючного софта, который не может корректно отдетектить часы

Дмитрий 31st January 2011 19:21

Quote:

Originally Posted by БК-0010 (Post 354862)
С чего собсно ты взял что будут конфликты?

А с того, что при запуске на реальном кае мне утилита сказала - э, батенька, не знаю что за фигня, но я нашла GlukRTC!

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

Quote:

Originally Posted by БК-0010 (Post 354876)
3) стандарты Спектрума не меняют из-за глючного софта, который не может корректно отдетектить часы

а никто стандарты и не менял - я поменял процедуру детекта часов, читаем внимательно changes-ы.

Black_Cat 31st January 2011 19:23

:) так что правильнее считать это багом программиста, и соответственно править его :) КАЙ - почти идеален :)

ZEK 31st January 2011 19:26

БК-0010, не жги немо сэкономил 1-2 корпуса и нарушил основное спектумовское железячное правило - дешифрация как минимум одним лог. нолем в младшей половине адреса. Переписывай концепции с учетом вновь полученной инфы.
И вычеркивай немо из генеральных схемотехников, и с читалкой он накосячел в порыве экономии 2х резюков и одного конденсаторов. Все больше он не святой.

А если серьезно как еще проверить есть ли устройство или нет не прочитав из него данные? Так что не надо заливать про базисные стандарты, из несуществующего устройства должно читаться состояние шины

Black_Cat 31st January 2011 19:28

Quote:

Originally Posted by Дмитрий (Post 354879)
я поменял процедуру детекта часов, читаем внимательно changes-ы.

если без паяльника - то хорошо :)

ZEK 31st January 2011 19:32

БК-0010, пофиксили залипухой (будет работать если джойстик не дрочить при сбросе), а сделать 100% корректно без паяльника - невозможно в принципе

Black_Cat 31st January 2011 19:37

Quote:

Originally Posted by ZEK (Post 354885)
дешифрация как минимум одним лог. нолем в младшей половине адреса.

:) т.к. все такие адреса на Спектруме уже были заняты, то он ввёл новое правило, правило - IORQGE! А старое правило является всего лишь подмножеством нового, всеобъемлющего правила - правила IORQGE! :) Nemo - велик! :)

Quote:

Originally Posted by ZEK (Post 354885)
как еще проверить есть ли устройство или нет не прочитав из него данные?

Дим, а если подумать? :)

Дмитрий 31st January 2011 19:37

Quote:

Originally Posted by ZEK (Post 354892)
будет работать если джойстик не дрочить при сбросе

имхо так джой и детектится в известных мне прогах, если читаем из порта джоя ХХХ00000, то он есть... другими словами если юзверг баловался джоем при загрузке/инициализации гамалки - джоя в ней он не увидит :) Мало того, некоторые проги видят джой только при наличии 11100000 в порте #1F, так что кай может пролететь...

ZEK 31st January 2011 19:43

Дмитрий, Ниче пофиксим, порт джоя и клавы перекрывается IORQGE
можно сделать немобус платку с нормальным джоем

---------- Post added at 17:43 ---------- Previous post was at 17:41 ----------

Quote:

Originally Posted by БК-0010 (Post 354894)
Дим, а если подумать?

тоесть если устройства нет, из него должен читаться джойстик? На всех компах (за пень 1.4 незнаю правда), читается состояние шины.

Alex_NEMO 31st January 2011 21:59

Quote:

Originally Posted by Дмитрий (Post 354845)

Alex_NEMO, что от меня зависело - вроде бы пофиксил Но я проверить на реале могу скорее всего только завтра, либо ты сегодня... По идее eeprom должен зафуфырчать, помеху в виде глюка с портом джоя отсеял.

1. Собственно в СЕРВИС захожу БЕЗ проблем, при удержании Ctrl + RESET. Все остальное, описанное в ХЕЛПе НЕ работает.
2. Меняю режим ТУРБО - On/Off - светодиод HL1 НЕ меняет своего состояния.
3. 1-й пункт меню - Z. TR-DOS boot - все работает, но если сменить дискетку и снова нажать Z - каталог НЕ обновляется, а было бы НЕ плохо! Кстати, а как "эскейпится" (отказаться) от этого пункти и вернуться в главное меню СЕРВИСа?
4. EEPROM в контроллере клавы не увиделся(есть ли уже поддержка?). Или только часы по ГЛЮКу? Так и НЕ догнал на счет S=Ch. mode EEPROM и S. TR-DOS. Нажимал и с Ctrl и с Shift. s - малая - TR-DOS, с Ctrl и с Shift - ноль эмоций - EEPROM type: NONE...
5. В чем разница между HDD boot и FAT boot? Эти пункты я проверить не могу пока, т.к. пока ещё не владею нужными знаниями...

Quote:

Originally Posted by caro (Post 354812)
Исправил, проверяйте.

Камиль, все замечательно работает! Большое спасибо!!!
ПАУЗА то же - все ОК! Проверял на ряде игрушек.

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

Проверил порт аттрибутов #FF, программкой из 3-го поста (внизу) - все работает! Наряду с 255 не редко проскакивает 56 - "то, что доктор прописал"!!!

ZEK 31st January 2011 22:11

Quote:

Originally Posted by Alex_NEMO (Post 354946)
Камиль, все замечательно работает! Большое спасибо!!!

PRINT IN 22014 проверил?

Дмитрий 31st January 2011 22:39

Quote:

Originally Posted by Alex_NEMO (Post 354946)
3. 1-й пункт меню - Z. TR-DOS boot - все работает, но если сменить дискетку и снова нажать Z - каталог НЕ обновляется, а было бы НЕ плохо!

Сначала эскейпишься, а затем входишь в меню снова - будет новый список. Там темный лес в процедуре построения этого окна - не так просто это пофиксить. Но попробую раскурить, как появится время.
Quote:

Originally Posted by Alex_NEMO (Post 354946)
Кстати, а как "эскейпится" (отказаться) от этого пункти и вернуться в главное меню СЕРВИСа?

Как и во всех спектрумовских прогах - Break (CS+Space).

Quote:

Originally Posted by Alex_NEMO (Post 354946)
4. EEPROM в контроллере клавы не увиделся(есть ли уже поддержка?). Или только часы по ГЛЮКу? Так и НЕ догнал на счет S=Ch. mode EEPROM и S. TR-DOS. Нажимал и с Ctrl и с Shift. s - малая - TR-DOS, с Ctrl и с Shift - ноль эмоций - EEPROM type: NONE...

Дык если еепром не определился - хоть в лоб, хоть по лбу, писать-то некуда, чего менять режим сохранения-то? Читаем:
Code:

* Пересмотрел горячие кнопки, теперь E - сохранение настроек в eeprom,
  S (с капсом) - режим автосохранения настроек вкл/выкл, Y - выбор
  буквы вирт. диска.

Поддержка eeprom имеется в прошивке с v.0.1d, драйвер, приведенный Камилем для изучения работает с эмулятором ZXMAK, который допилил ZEK для работы с этим устройством, возможно в прошивке самого контроллера еще не все отлажено - надо ждать коментариев Камиля.

---------- Post added at 20:39 ---------- Previous post was at 20:18 ----------

Quote:

Originally Posted by Alex_NEMO (Post 354946)
с Ctrl и с Shift - ноль эмоций - EEPROM type: NONE...

драйвер eeprom не изменяется на лету, он жестко фиксирован по приоритетам - GlukRTC>FE_EEPROM. Т.е. если есть Глюк-часы, то юзаются они, если нет, то детектится EEPROM на порту hFE; нашли - юзаем еепром, если нет и его, то про еепром забываем - NONE.

Alex_NEMO 31st January 2011 22:44

Quote:

Originally Posted by ZEK (Post 354954)
PRINT IN 22014 проверил?

У меня выдает 202(dec).

Камиль, нашел косяки - в TR-DOSe комбинации ExtMode + Shift + 6...0:
6 - вместо MOVE дает CIRCLE;
7 - вместо ERASE дает MOVE;
8 - вместо POINT дает BRIGHT;
9 - вместо CAT дает POINT;
0 - вместо FORMAT дает CAT;
Т.е. получается смещение на колонку, + BRIGHT и CIRCLE совсем НЕ оттуда...
Причем, без разницы, NumLock активен или нет.
Остальные комбинации, вроде, в норме.

Дмитрий 31st January 2011 22:44

Quote:

Originally Posted by Alex_NEMO (Post 354946)
2. Меняю режим ТУРБО - On/Off - светодиод HL1 НЕ меняет своего состояния.

А оно у тебя случаем ничем не задавлено наглухо? На US проверяю состояние порта #1FFD - бит SLCTIN изменяется при нажатии 'W'.

Alex_NEMO 31st January 2011 22:46

Quote:

Originally Posted by Дмитрий (Post 354963)
А оно у тебя случаем ничем не задавлено наглухо? На US проверяю состояние порта #1FFD - бит SLCTIN изменяется при нажатии 'W'.

Да нет. Все как по схеме - триггером с кнопки "щелкаю"...

Дмитрий 31st January 2011 22:54

Alex_NEMO, а перемычка 5-6 запаяна или как там она на новой схеме сделана?

Alex_NEMO 31st January 2011 22:57

Quote:

Originally Posted by Дмитрий (Post 354967)
Alex_NEMO, а перемычка 5-6 запаяна или как там она на новой схеме сделана?

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


All times are GMT +4. The time now is 16:42.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.