Да, на моем дуэте 2 пзу, вероятно по 8к. Я почему-то тоже думаю про то, чтоб сделать дамп и сравнить. Так и поступлю, пожалуй )
Вид для печати
Да, на моем дуэте 2 пзу, вероятно по 8к. Я почему-то тоже думаю про то, чтоб сделать дамп и сравнить. Так и поступлю, пожалуй )
Позатерлись клавиши. Захотелось обновить. Но красить самому - не вариант. Да и руки кривые, будет коряво. Похоже, что какой-то лак на клавишах, и он пожелтел.
https://pp.userapi.com/c637719/v6377...qqFb68kEoU.jpg
Посмотрел у нас на форуме, нашел много вариантов наклеек, некоторые даже понравились. Но все они по стилистике совсем не подошли бы к Дуэту. Но то есть, внешне он стал бы очень сильно иным. Я даже видел в интернете фото, с другими наклейками - не то. Поэтому решил сделать наклейки сам. Рисовал в Word'е. Цвета подбирал на глаз.
https://pp.userapi.com/c638629/v6386...NvPG3LAce8.jpg
Печатал на лазернике. Белые буквы однозначно будут видны плохо, поэтому обвел их тонкой черной линией. И чтоб больше акцентировать - сделал небольшую темную тень вокруг. Бумага - самоклеящаяся. После печати сверху наклеил скотч.
https://pp.userapi.com/c638629/v6386...1v5VJLEvkk.jpg
Потом выстриг и наклеил. Мне нравится )
https://pp.userapi.com/c638629/v6386...VVNeyF5ZjA.jpg
Файл для MS Word
Вложение 61149
Сегодня позапускал различные тесты. ULATEST3 сбрасывает компьютер. Ясно, что общая память, тесты вроде бы как подтверждают, что торможения памяти нет. INT не совсем правильный, а экран сдвинут на два знакоместа. И еще, почему-то BRIGHT в цвете не работает. В ч/б разница есть.
https://pp.userapi.com/c836628/v8366...dauhICX9g4.jpg https://pp.userapi.com/c836628/v8366...PaOihwzrIw.jpg https://pp.userapi.com/c836628/v8366...4Ulhtdfo6s.jpg https://pp.userapi.com/c836628/v8366...SUgKDnuaSw.jpg
https://pp.userapi.com/c836628/v8366..._ft3DPnjUY.jpg https://pp.userapi.com/c836628/v8366...0hgiAq2ibI.jpg https://pp.userapi.com/c836628/v8366...frWuoVl-cs.jpghttps://pp.userapi.com/c836628/v8366...jaKcJnajTA.jpg
Дальше буду пробовать сравнивать ПЗУ с оригинальной.
Ну чтож. Считать ПЗУ с Дуэта и анализировать его на ПК я не смог, т.к. не спаян провод на запись. Есть только провод с линейного выхода ПК на Спектрум. Поэтому сделал наоборот: взял ROM 48k от 82 года, сделал из него TAP, загрузил через линейный вход по адресу 40000 в Дуэт. Как в старые добрые времена, написал программу прямо на нём (как же всетаки удобно! руки помнят, да и все клавиши с надписями). Программа состоит из цикла, в котором идет сравнение ячеек памяти (через PEEK). Получилось достаточно быстро. Отличий оказалось не много.
https://pp.userapi.com/c836628/v8366...OfuW5QCqus.jpg
Ячейка 109 - в оригинальной ПЗУ 40d в Дуэте 32d
006d 32 вместо 40. Значит 20h(JR nz,*) вместо 28h (JR z,*),а в книге jr nz. Что бы это значило? Исправили?
https://pp.userapi.com/c836628/v8366...F5pOlvQ5AA.jpg
Ожидаемо, 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, размещаешь подпрограмму (или даже монитор-отладчик) в нужном месте, закидываешь адрес её размещения в NMIADD, давишь кнопку NMI (во время работы игры, тут лишь бы и игра и отладчик в память влезли), profit!
http://i93.fastpic.ru/big/2017/0603/...b02816533f.gif
Вот в прошивке 90 года простенький монитор-отладчик уже в ПЗУ сидит и по NMI мы в нём оказываемся.
А, вон в чем дело!
PS. похожу вот тут как раз объясняется http://zxpress.ru/book_articles.php?id=136
Похоже, что у друга как раз такой спектрум и был. Деталей не помню, но кнопка была вместо reset'a. Игру загружали, нажимали и вроде бы попадали сразу в бейсик от куда через poke ставили вечные жизни, и еще как-то попадали в монитор, но что с ним было делать - нам было не ясно.
Похоже что всё-таки это была именно кнопка сброса. В прошивке 90 года по сбросу не очищается память, вот вы в бейсик и попадали, а затем можно и загруженную игру снова запустить (не всегда конечно всё так просто получалось).
http://amiga.nsk.ru/book/other/1990s.jpg
Да, так и было. Получалось не всегда. И турбо-режим, кстати тоже был. Так что это, похоже, та самая прошивка у ребят была
----
В выходные развлекался с Дуэтом и старым, похоже, Ленинградом. На Дуэте.
- Cдвинул экран вправо на 2 знакоместа, согласно доработкам
Цитата:
Пентагоновский INT и центровка экрана. По умолчанию экран у компика сдвинут на два знакоместа влево . Что так же влияет на положение INT'а относительно экрана . Исправить то и другое можно передвинув строчный синхроимпульс - на pin1 D14 вместо VA1 подаём +5V . Так же нужно восстановить гашение - на pin11 D3 вместо VA1 подаём VA3 .
Крупные фото плат
Стало вроде нормально. Но сдвиг 1 пиксель (в сравнении с эмулятором, т.к. неизвестно, с чем сравнивать и что должно быть).
https://pp.userapi.com/c836628/v8366...z9tLf8YOt8.jpg https://pp.userapi.com/c836628/v8366...oUwC-tNC08.jpg
- подтягивать шину данных резисторами не пришлось, потому что эта доработка уже притуствует в схемеКрупные фото плат
- решил подстроить длительность INT'а. Много читал по этому поводу, включая цифровое формирование. Но турбировать Дуэт я не планирую, поэтому пусть буде аналоговая. Нашел отличие от схемы на сайте sblive. Там, рядом с VD1 и C1 находится микросхема DD25 ЛП5. В моей схеме VD1 отсутствует. Конденсатор С1 в 1nf заменил на 820пф, период ушел с границы желтой и красной зоны на значение ~45. Поставил 560+140 и получилось 38.75. Я думаю, в следующий раз еще немножко подгоню к 28-32 и хватит.
https://pp.userapi.com/c836628/v8366...5Pr51v3awY.jpg
Попробовал запустить Vectron и Shock демо. Вектрон выглядит почти нормально, если не считать излома линий в правом верхнем угла (они еще немного дрожжат).
https://pp.userapi.com/c836628/v8366...UZcG-dSo_E.jpg
А Shock работает не верно. Вообще, такое впечатление, что мултиколор не работает, либо на моем компе, либо это из за телевизора.
https://pp.userapi.com/c836628/v8366...GucdoQzHr0.jpg
Но, в принципе, я не сильно переживаю из за демок. Мне они не сильно интересны )
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). Если все нормально, должны считываться нули, если ничего не нажато, а первые пять бит, в соответствии с кнопками джойстика. Тест логично показывает, что порт "реализован полностью".
Крупные фото плат
Три диода, что на фото - это вот как раз они и есть https://pp.userapi.com/c836225/v8362...tXCnaOyjU0.jpg[свернуть]
В планах:
- По поводу доработки 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 в одном месте.