Да, на моем дуэте 2 пзу, вероятно по 8к. Я почему-то тоже думаю про то, чтоб сделать дамп и сравнить. Так и поступлю, пожалуй )
Да, на моем дуэте 2 пзу, вероятно по 8к. Я почему-то тоже думаю про то, чтоб сделать дамп и сравнить. Так и поступлю, пожалуй )
Позатерлись клавиши. Захотелось обновить. Но красить самому - не вариант. Да и руки кривые, будет коряво. Похоже, что какой-то лак на клавишах, и он пожелтел.
Посмотрел у нас на форуме, нашел много вариантов наклеек, некоторые даже понравились. Но все они по стилистике совсем не подошли бы к Дуэту. Но то есть, внешне он стал бы очень сильно иным. Я даже видел в интернете фото, с другими наклейками - не то. Поэтому решил сделать наклейки сам. Рисовал в Word'е. Цвета подбирал на глаз.
Печатал на лазернике. Белые буквы однозначно будут видны плохо, поэтому обвел их тонкой черной линией. И чтоб больше акцентировать - сделал небольшую темную тень вокруг. Бумага - самоклеящаяся. После печати сверху наклеил скотч.
Потом выстриг и наклеил. Мне нравится )
Файл для MS Word
DUET_KEYBOARD.docx.zip
Сегодня позапускал различные тесты. ULATEST3 сбрасывает компьютер. Ясно, что общая память, тесты вроде бы как подтверждают, что торможения памяти нет. INT не совсем правильный, а экран сдвинут на два знакоместа. И еще, почему-то BRIGHT в цвете не работает. В ч/б разница есть.
Дальше буду пробовать сравнивать ПЗУ с оригинальной.
Ну чтож. Считать ПЗУ с Дуэта и анализировать его на ПК я не смог, т.к. не спаян провод на запись. Есть только провод с линейного выхода ПК на Спектрум. Поэтому сделал наоборот: взял ROM 48k от 82 года, сделал из него TAP, загрузил через линейный вход по адресу 40000 в Дуэт. Как в старые добрые времена, написал программу прямо на нём (как же всетаки удобно! руки помнят, да и все клавиши с надписями). Программа состоит из цикла, в котором идет сравнение ячеек памяти (через PEEK). Получилось достаточно быстро. Отличий оказалось не много.
Ячейка 109 - в оригинальной ПЗУ 40d в Дуэте 32d
006d 32 вместо 40. Значит 20h(JR nz,*) вместо 28h (JR z,*),а в книге jr nz. Что бы это значило? Исправили?
Ожидаемо, 4 байта - это "DUET" вместо (С) 1982 Sinclair Research Ltd
1539 (C)
153A пробел " "
153B 68 "D"
153C 85 "U"
153D 69 "E"
153E 212 последний символ. инвертированный. 212d + 80h = 54h - "T"
(СООБЩЕНИЯ - Каждое сообщение выдается с инвертированным последним символом (+80, шестнадцатеричное).
Информация подчерпнута из книги "Полный дизассемблер ПЗУ ZX-Spectrum" на русском
Таким образом, ПЗУ от ПЭВМ Дуэт отличается от оригинального ПЗУ от 82г только другой командой в коде сброса и текстом сообщения приветствия. Возможно, это не так и плохо - лучше совместимость.
Что же касательно "Монитора" - чтение вышеуказанной книги показало, что в тексте используется понятие "Монитор", применительно ко всему содержимому ПЗУ:
"Монитор Spectrum, объемом 16K, представляет собой сложную программу в машинных кодах
Z80."
Очевидно, тогда еще не было понятия "Операционная система" и сейчас про бейсик в спектруме чаще напишут "ОС спектрума - это встроеный бейсик". А тогда, видимо, это называли монитором. Так что вопрос наличия монитора (в моем понимании) в ПЭВМ Дуэт можно считать закрытым
UPD. Написал статейку на Хабр по этому поводу.
Последний раз редактировалось UA3MQJ; 24.06.2017 в 00:48.
В правильно заданном вопросе содержится половина ответа
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
UA3MQJ, размещаешь подпрограмму (или даже монитор-отладчик) в нужном месте, закидываешь адрес её размещения в NMIADD, давишь кнопку NMI (во время работы игры, тут лишь бы и игра и отладчик в память влезли), profit!
Вот в прошивке 90 года простенький монитор-отладчик уже в ПЗУ сидит и по NMI мы в нём оказываемся.
В правильно заданном вопросе содержится половина ответа
А, вон в чем дело!
PS. похожу вот тут как раз объясняется http://zxpress.ru/book_articles.php?id=136
Похоже, что у друга как раз такой спектрум и был. Деталей не помню, но кнопка была вместо reset'a. Игру загружали, нажимали и вроде бы попадали сразу в бейсик от куда через poke ставили вечные жизни, и еще как-то попадали в монитор, но что с ним было делать - нам было не ясно.
Последний раз редактировалось UA3MQJ; 03.06.2017 в 13:08.
Последний раз редактировалось creator; 01.12.2018 в 19:40.
В правильно заданном вопросе содержится половина ответа
Да, так и было. Получалось не всегда. И турбо-режим, кстати тоже был. Так что это, похоже, та самая прошивка у ребят была
----
В выходные развлекался с Дуэтом и старым, похоже, Ленинградом. На Дуэте.
- Cдвинул экран вправо на 2 знакоместа, согласно доработкам
Пентагоновский INT и центровка экрана. По умолчанию экран у компика сдвинут на два знакоместа влево . Что так же влияет на положение INT'а относительно экрана . Исправить то и другое можно передвинув строчный синхроимпульс - на pin1 D14 вместо VA1 подаём +5V . Так же нужно восстановить гашение - на pin11 D3 вместо VA1 подаём VA3 .Крупные фото плат
Сверху
Снизу
[свернуть]
Стало вроде нормально. Но сдвиг 1 пиксель (в сравнении с эмулятором, т.к. неизвестно, с чем сравнивать и что должно быть).
- подтягивать шину данных резисторами не пришлось, потому что эта доработка уже притуствует в схемеКрупные фото плат
[свернуть]
- решил подстроить длительность INT'а. Много читал по этому поводу, включая цифровое формирование. Но турбировать Дуэт я не планирую, поэтому пусть буде аналоговая. Нашел отличие от схемы на сайте sblive. Там, рядом с VD1 и C1 находится микросхема DD25 ЛП5. В моей схеме VD1 отсутствует. Конденсатор С1 в 1nf заменил на 820пф, период ушел с границы желтой и красной зоны на значение ~45. Поставил 560+140 и получилось 38.75. Я думаю, в следующий раз еще немножко подгоню к 28-32 и хватит.
Попробовал запустить Vectron и Shock демо. Вектрон выглядит почти нормально, если не считать излома линий в правом верхнем угла (они еще немного дрожжат).
А Shock работает не верно. Вообще, такое впечатление, что мултиколор не работает, либо на моем компе, либо это из за телевизора.
Но, в принципе, я не сильно переживаю из за демок. Мне они не сильно интересны )
UPD. Вогнал в 30, по мнению minfo и среднне арифметические по тесту Ковалевского (1, 2). По мнению Test430, "Length of INT: Too short"
- Не могу сказать, какая из доработок повлияла, но программы ULAtest3, stime, btime перестали сбрасывать компьютер. Порт FF не реализован, а мне и не надо )
- Что-то надо сделать со сбросом. После включения, комп может зависнуть и нужно какое-то время его посбрасывать, чтобы он начал нормально работать.
UPD. Увеличил емкость С49, сбос теперь происходит дольше. При включении вроде бы не зависает теперь.
- Порт Kempston джойстика был "реализован частично". Это значит то, что при чтении из порта 31, должен считываться 0. А там считывались старшие 3 бита в единице. Чтобы этого не было, нужно установить диоды по схеме. Это микросхема DD38(ЛП10). В ней остается одна свободная линия, вот в нее через диоды и нужно воткнуть старшие разряды. Но на схеме забыли D5. Ни один из трех диодов не был установлен и в моем случае. Для контроля правильности работы можно написать простую программку на бейсике, типа PRINT IN 31; в цикле. Без диодов считывается 224 (11100000b). Если все нормально, должны считываться нули, если ничего не нажато, а первые пять бит, в соответствии с кнопками джойстика. Тест логично показывает, что порт "реализован полностью".
Крупные фото плат
Три диода, что на фото - это вот как раз они и есть[свернуть]
В планах:
- По поводу доработки http://sblive.narod.ru/ZX-Spectrum/DUET/DUET.htm Не понял, как избавляться от жуткой ряби, в какое место засовывать конденсаторы на 1000мкф.
- Ленинград, как бы оффтопик. Но, вроде стало ясно, почему он не показывает на телевизоре. Так же, благодаря чтению тем про подключения к теликам, вроде бы как стал догадываться, что Bright в цвете на Дуэте не работает из за завышенных уровней RGB.
Список ссылок, чисто для себя
По INT'ам
- Подтверждение INT по M1,IORQ из темы про пентагон
- "Длину INT какой сделать? - Лучше 28-32."
- В теме про Leningrad 2010 тоже есть что прочитать
- В Pentagon 128k Classic тоже что-то находил интересное.
- пара вариантов цифрового инта http://zxbyte.ru/speccybob.htm
- еще цифровой инт есть на ИР19 в KAY
По Ленинграду(времнная запись, позже удалю). Ленинград на современном телевизоре, через scart показывать адъ и израэль. При border 0 и подключении цвета на тюльпан, картинка норм. Ну и, собственно отсутствие сигнала Blank в ленинграде.
http://zx-pk.ru/threads/18596-lening...art/page2.html
http://zx-pk.ru/threads/18373-lening...hk/page17.html
http://zxbyte.ru/leningrad_video_out.htm
[свернуть]
Тесты TAP и WAV в одном месте.
Последний раз редактировалось UA3MQJ; 15.06.2017 в 12:38.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)