Просмотр полной версии : Эмуляция клона Delta
Чтобы не мешать все в кучу, создал отдельную тему для обсуждения таймингов и эмуляции клона компьютера Delta.
Итак, подведу текущие итоги:
По фотографиям сделанным NEO SPECTRUMAN, экспериментальным путем было установлено что:
Длительность строки = 224T такта
Число строк до paper = 68
Число тактов до paper в строке = 68T
INT начинается от начала левого бордюра (как в Pentagon).
Область #4000-#7FFF замедлена WAIT'ами, судя по всему алгоритм замедления аналогичен фирменному ZX Spectrum 48 (пока предположение)
Область #8000-#BFFF не замедлена.
Длительность INT предположительно 224T
Длительность кадра предположительно 69216T
На основе указанной информации был разработано устройство-плагин ULA Delta для эмулятора ZXMAK2 (http://zx.pk.ru/showthread.php?t=16830).
Визуально это устройство работает очень похоже на оригинальный компьютер Delta, но есть аномалии с областью ПЗУ.
Cкриншоты эмуляции Delta:
MCTEST2 (http://zx.pk.ru/attachment.php?attachmentid=29750&d=1317941524):
http://zx.pk.ru/attachment.php?attachmentid=29784&stc=1&d=1318079785
TEST INT:
http://zx.pk.ru/attachment.php?attachmentid=29785&stc=1&d=1318079785
Tact Meter:
http://zx.pk.ru/attachment.php?attachmentid=29786&stc=1&d=1318079785
Реальная Дельта:
http://zx.pk.ru/attachment.php?attachmentid=29787&stc=1&d=1318080703
На даннаый момент актуальная версия плагина ULA_DELTAC_BETA3 (http://zx.pk.ru/attachment.php?attachmentid=29783&d=1318079050) (для эмулятора ZXMAK2 версии 239)
NEO SPECTRUMAN
06.10.2011, 23:58
Есть небольшая проблемка.
Дельты производили все кому не лень
Места выпуска: Зеленоград (завод «Микрон»), Красноярск, Курск (НПО «Прибор»), Чебоксары «Элара», Казань, Воронеж, Тбилиси (НПО «Схиви»).
Отличаются они как внешне
так и внутренне
http://foto.rambler.ru/public/dme256/4/1/1-web.jpg
http://foto.rambler.ru/public/dme256/4/2/1-web.jpg
http://foto.rambler.ru/public/dme256/4/3/1-web.jpg
http://foto.rambler.ru/public/dme256/4/4/1-web.jpg
Чую у каждой свои особенности.
---------- Post added at 22:58 ---------- Previous post was at 22:55 ----------
Моя по данным из паспорта произведена на Чебоксарском приборостроительном заводе.
так что там, работа мультиколорных процедур с плагином Delta для ZXMAK2 совпадает с реалом, если код работает из области #4000- #7FFF?
Это да, Дельты были разные.
У моей, если мне все же не изменяет память, INT начинался примерно от начала бумаги, а не в верху экрана, как здесь.
тогда как называется модель которую мы тестили?
тогда как называется модель которую мы тестили?
Надо спросить у автора. Судя по всему, русского языка там нет. У меня-то с русским.
NEO SPECTRUMAN попробуй прогнать следующий код командой PRINT USR 32768, и напиши тут результат (цифру) - это число строк. Т.к. область #8000 не замедленная, то должно реальное число строк показать...
ORG #8000
start:
DI
LD HL,INT
LD (#80FF),HL
LD A,#80
LD I,A
IM 2
LD DE,0
EI
HALT
LD HL,INT2
LD (#80FF),HL
M0:
INC DE
LD B,15
M1:
DJNZ M1
LD A,R
JR M0
INT:
EI
RET
INT2:
POP HL
LD C,E
LD B,D
IM 0
EI
RET
Доработал также MCTEST, чтобы всегда начинался с нулевого такта.
Попробуй его прогнать - MCTEST2 (http://zx.pk.ru/attachment.php?attachmentid=29750&d=1317941524), черная полоса слева должна четко заканчиваться на границе там где начинается paper (экранная область).
NEO SPECTRUMAN
07.10.2011, 16:52
результат (цифру)
308
Надо спросить у автора. Судя по всему, русского языка там нет. У меня-то с русским.
Дельта чебоксарская 91 года.
http://zx.pk.ru/picture.php?albumid=74&pictureid=703
http://zx.pk.ru/picture.php?albumid=74&pictureid=704
Русский со стороны ROMа не поддержан.
MCTEST выглядит вот так
29759
D3.zip (http://narod.ru/disk/27610326001/D3.zip.html)
Да теперь он начинается с нулевого такта.
MCTEST выглядит вот так
29759
D3.zip (http://narod.ru/disk/27610326001/D3.zip.html)
Да теперь он начинается с нулевого такта.
это MCTEST, а что с MCTEST2? Он с выравниванием, т.е. можно точно определить число тактов до PAPER в строке
NEO SPECTRUMAN
07.10.2011, 17:33
Так это вроде MCTEST2.
Так это вроде MCTEST2.
Нет, и этому есть два подтверждения:
1) на каждой из трех фоток черная полоска смещена относительно других фоток, т.е. выравнивания на 0-й такт нет
2) нет надписи MCTEST2 в центре
NEO SPECTRUMAN
07.10.2011, 17:50
MCTEST 2
http://img-fotki.yandex.ru/get/5816/124968272.0/0_4c003_f042c37_L.jpg (http://fotki.yandex.ru/users/speccyalist/view/311299/)
http://fotki.yandex.ru/users/speccyalist/view/311299/
2) нет надписи MCTEST2 в центре
На тех фотках её просто не видно.
1) на каждой из трех фоток черная полоска смещена относительно других фоток, т.е. выравнивания на 0-й такт нет
Делал 3 фотки подряд смещения не должно быть.
---------- Post added at 16:50 ---------- Previous post was at 16:43 ----------
Пересмотрел фотки смещения не увидел
MCTEST 2
вот это другое дело! Сделай еще пару снимков левого верхнего и правого верхнего углов, сколько там пикселов между бордюром и экраном?
Сколько строк показал тест длительности кадра?
Раскопал свою Дельту-С. Нашел блок питания. А вот с подключением к монику оказались проблемы. Электроника 32 ВТЦ 202, к которой был подключен до этого мой пентагон, теряла синхронизацию. Подключил к ней же пентагон, тоже синхронизации нет. Значит моник начал глючить. Тогда достал свой универсальный Microvitec. Но с ним тоже проблемы, он не имеет обьедененного входа синхросмеси, только по раздельности. Если с такими компами, как УКНЦ и Апогей-БК я выходил из положения просто - подавая на V-Sync - общую смесь, а на H-Sync ее же, но через кондер 0.1мКф, и все работало на ура, то с Дельтой такой фокус не прошел. Синхры нет. Может поищу монитор Колокольчик черно-белый, который когда-то у меня к ней был подключен.
---------- Post added at 20:10 ---------- Previous post was at 20:09 ----------
Или может кто знает, как качественно, но просто разделить общую синхру на горизонтальную и вертикальную? Учитывая, что по этому же проводу идет похоже и видеосигнал.
Скорректировал начало paper = 70T, в соответствии с последними фотками
http://zx.pk.ru/attachment.php?attachmentid=29763&stc=1&d=1318004344
NEO SPECTRUMAN, вопрос к вам как к одному из обладателей дельты, если сравнить работу дельты и обычного спектрума 48к нет ли у вас более быстрой скорости ?
у меня дельта почемуто работала почти в два раза быстрее чем спектрум 48к, хотя я ничего не разгонял и не менял в конструкции компьютера.
и ещё вопрос к Alexander Makeev, можно ли добавить в эмулятор вывод звука через динамик пищалку (та что на плате, на фотографиях дельты), ни в одном эмуляторе ничего такого не слышал, а у меня звук выводился через такой динамик в корпусе дельты, очень бы хотелось услышать снова :).
почемуто сколько мы не возились с подключением дельты к телевизору но звук выводился на телевизор очень плохо.
NEO SPECTRUMAN
07.10.2011, 22:52
нет ли у вас более быстрой скорости ?
Нету более быстрой скорости. Хотя нужно будет проверить.
ZEman а что у вас за дельта?
---------- Post added at 21:52 ---------- Previous post was at 21:47 ----------
Бордер в Эмуле вроде смещен на 1 пиксель вправо.
http://img-fotki.yandex.ru/get/4416/124968272.0/0_4c006_ce9852be_L.jpg (http://fotki.yandex.ru/users/speccyalist/view/311302/)
http://fotki.yandex.ru/users/speccyalist/view/311302/
http://img-fotki.yandex.ru/get/4415/124968272.0/0_4c007_fa1525f2_L.jpg (http://fotki.yandex.ru/users/speccyalist/view/311303/)
http://fotki.yandex.ru/users/speccyalist/view/311303/
[/COLOR]Бордер в Эмуле вроде смещен на 1 пиксель вправо.
это похоже баг для всех Pentagon'ообразных ULA, остался со времени когда движок процессора под contended memory переделывал, нужно будет подчистить. А возможно что border только каждые 4T обновляется
Так всетаки сколько показывает тест проверки числа строк в кадре?
сейчас у меня никакой дельты нет, продали лет 6 - 7 назад.
был чебоксарский вариант, точь в точь как на фотографии в ответе №8 в этой теме.
покупали ещё в начале 91 года.
гонял его до 2002 года потом она у меня просто зависла и всё (бейсик загружался а ни одна клавиша не отвечала).
NEO SPECTRUMAN
08.10.2011, 13:21
Так всетаки сколько показывает тест проверки числа строк в кадре?
308
Указывал еще в 8м посте.
Получается что длина кадра где-то в пределах 69216T
Обновил плагин с учетом времени кадра и изменений ULA в последней версии эмулятора ZXMAK 239
Длительность кадра и длительность INT скорей всего не совсем корректные, нужно как-то получить более точные значения
PS: обновил шапку топика
NEO SPECTRUMAN
09.10.2011, 00:59
Ещё одна особенность дельты.
Flash инвертируется каждые 8 кадров.
Alexander Makeev, немного оффтоп. Скажите, а можно будет к вашему эмулятору добавить эмуляцию Байта-01 (http://zxbyte.ru/byte100.htm)?
NEO SPECTRUMAN
09.10.2011, 13:43
Сейчас в эмуле
29815 программа с адреса 4000 статично
29816 программа с адреса 8000 трясёт как пентагоне
29817 программа с адреса с000 трясёт как пентагоне
программа с адреса 4000 статично
что за программа и в чем разница с реалом:v2_conf2:?
NEO SPECTRUMAN
09.10.2011, 13:55
На самом деле
29819 4000 ведет довольно похоже
29820 8000 На самом деле тоже замедлена. Не трясёт
29821 с000 тоже замедлена. Не трясет.
также предположу что настройка на 1 такт не нужна. (Даже без IM2 и с разрешенными прерываниями при каждом запуске всё было на своём месте.) Даже не знаю почему mctest1 дрыгался. И как он вообще выдаёт ровные кубы.
Паиять с 8000 по ffff кажется ведёт себя одинаково.
Позже попытаюсь нарисовать вертикальную полоску с учётом замедлений.
NEO SPECTRUMAN
09.10.2011, 13:56
что за программа и в чем разница с реалом
Из за ограничений на количество файлов сообщение пришлось разбить на 2.
NEO SPECTRUMAN
09.10.2011, 14:05
Скажите, а можно будет к вашему эмулятору добавить эмуляцию Байта-01?
А где выкопать готовый эмулятор музыкального синтезатора - КР580ВИ53.
К сожалению, по этому компьютеру очень мало как информации, так и самих компьютеров.
Хотя почитав написано там намного больше чем где либо про дельту.
[bETA]mEN
09.10.2011, 15:09
А где выкопать готовый эмулятор музыкального синтезатора - КР580ВИ53.
Использовать имеющиеся эмуляторы Intel 8253 (http://mamedev.org/source/src/emu/machine/pit8253.c.html)
29820 8000 На самом деле тоже замедлена. Не трясёт
29821 с000 тоже замедлена. Не трясет.
мда, весьма странное замедление со средины экрана, есть какие-либо идеи с чем оно может быть связано?
NEO SPECTRUMAN
09.10.2011, 21:04
Погонял дельту.
После Halt в отличие от пентагона ни каких галюнов нет всё начинается в одно и тоже время.
Позже я это опровергнул.
Возможно если HALT до начала PAPER дельта ведёт себя как пентагон. Код должен быть кратен 4 тактам.
Если HALT после начала PAPER дельте всё равно кратен ли код 4.
Потом я попытаюсь это подтвердить.
память 4000-7fff точно замедленна.
29842
память 8000-ffff вроде не замедленна
29843
29844
предыдущие фотки объясняются ваитами при обращении к FE на запись а не тормозом памяти.
Работоспособность MCTEST можно объяснить тем что вайты на порт FE происходят где то во время обратного хода луча.
http://zx.pk.ru/attachment.php?attachmentid=29820
http://zx.pk.ru/attachment.php?attachmentid=29821
После Halt в отличие от пентагона ни каких галюнов нет всё начинается в одно и тоже время.
Позже я это опровергнул.
Возможно если HALT до начала PAPER дельта ведёт себя как пентагон. Код должен быть кратен 4 тактам.
это эффект от замедления памяти. На фирменном спектруме аналогично - если HALT выполнить до строки с paper, то такты выравниваются
предыдущие фотки объясняются ваитами при обращении к FE на запись а не тормозом памяти.
Работоспособность MCTEST можно объяснить тем что вайты на порт FE происходят где то во время обратного хода луча.
т.е. есть еще замедления обращений к портам? которые происходят где-то в конце строки? (я так понимаю именно там где MCTEST2 инкрементит регистры).
Ты бы сеточку на экране нарисовал, чтобы можно было понять где замедление начинается и где заканчивается ;)
NEO SPECTRUMAN
09.10.2011, 21:24
это эффект от замедления памяти. На фирменном спектруме аналогично - если HALT выполнить до строки с paper, то такты выравниваются
Да наверное именно так.
А по окончании Paper такты также выравниваются?
Память 8000-ffff похоже быстрая.
Ты бы сеточку на экране нарисовал, чтобы можно было понять где замедление начинается и где заканчивается
По моему вайты порта fe именно во время обратного хода луча. Это объясняется ровными кубами в MCTEST.
Так что чтоб я не нарисовал на видимой поверхности оно будет ровным.
Да наверное именно так.
А по окончании Paper такты также выравниваются?
Память 8000-ffff похоже быстрая.
По моему вайты порта fe именно во время обратного хода луча. Это объясняется ровными кубами в MCTEST.
Так что чтоб я не нарисовал на видимой поверхности оно будет ровным.
попробуй в коде MCTEST2 после HALT и перед меткой loop1, вставлять nop'ы, проверь на вариантах от 1 до 6 nop'ов, появятся ли искажения из-за замедления портов?
Возможно в MCTEST2 вывод в порт по случайному совпадению попадает на такты где замедления нет.
NEO SPECTRUMAN
09.10.2011, 23:55
MCTEST2
А где взять его исходники.
А где взять его исходники.
в zip архиве, в котором TAP файл лежит ;)
NEO SPECTRUMAN
10.10.2011, 00:08
в zip архиве, в котором TAP файл лежит
Ага нашел.
Но смогу потестить только в среду:(
Наконец-то подключил свою дельту к ч/б монитору (вернее к черно-зеленому входу Microvitec'a). Записал на кассету ROM с бейсиком, русский шрифт разумеется был в нем. Так же оказались правильными предположения, что INT начинается от начала бумаги. Отличительные особенности этой модификации Дельты - надпись в бейсике Delta 1991, а так же встроенный русский шрифт. Производство возможно Зеленоград. Фотки были в теме про Дельты. А тут выкладываю фотки тестов.
McTest2:
http://s017.radikal.ru/i441/1110/e1/aec545b0c978.jpg
Левый верхний угол:
http://i062.radikal.ru/1110/6f/b68912cc13c1.jpg
Правый верхний угол:
http://s017.radikal.ru/i426/1110/4c/c61b9196ad3f.jpg
Левый нижний угол:
http://s017.radikal.ru/i429/1110/25/66e97b46415e.jpg
Правый нижний угол:
http://s017.radikal.ru/i429/1110/1a/7ecb51392126.jpg
IntTest+:
http://s017.radikal.ru/i442/1110/74/a12b670d6eaf.jpg
Центр:
http://s017.radikal.ru/i433/1110/46/9d45a440ca33.jpg
Левый край:
http://s55.radikal.ru/i147/1110/9d/390f2f9b1d94.jpg
TeacMeter:
http://s017.radikal.ru/i413/1110/c8/dea1bd24c8eb.jpg
Верхняя часть:
http://i057.radikal.ru/1110/0a/d8e3f186cf44.jpg
Нижняя часть:
http://s006.radikal.ru/i215/1110/24/8eefb9263326.jpg
В аттаче - ROM.
По этой ссылке (http://zx.pk.ru/attachment.php?attachmentid=29628&d=1317682814) моя программа на бейсике, которая не доделана, но, если сделать LSIT, то в листинге будут видны русские слова. Таким образом можно проверить встроенный русский шрифт на Дельте.
А здесь (http://narod.ru/disk/27867705001/Delta1991%20Screenshots.zip.html) я выложил архив с крупноформатными фотками.
NEO SPECTRUMAN
10.10.2011, 19:13
Нужно как то дельты именовать.
По количеству микросхем клавиатуре и производителю.
NEO SPECTRUMAN
10.10.2011, 19:45
Titus а можете сфоткать работу вот этих программок.
29872
Titus а можете сфоткать работу вот этих программок.
29872
Что ж ты их раньше не выложил)
Попозже тогда, когда опять достану все эти железяки.
Може еще появятся программы для тестов.
NEO SPECTRUMAN
10.10.2011, 20:22
Что ж ты их раньше не выложил)
Попозже тогда, когда опять достану все эти железяки.
Може еще появятся программы для тестов.
Ладно. Те глюки особой ценности не имеют.
NEO SPECTRUMAN
11.10.2011, 21:48
Нашлось объяснение аномальным показателям TactMeter IntTest
Подобное явление наблюдаются при очень длинном INTe
Начиная 836
Нашлось объяснение аномальным показателям TactMeter IntTest
Подобное явление наблюдаются при очень длинном INTe
Начиная 836
при длинном инте 192 получается, а на ПЗУ выдает 900000, тут похоже что-то другое
NEO SPECTRUMAN
11.10.2011, 22:17
Правда я тестил на Унриале. Выдало такой же результат как у меня. И инт тест ведет себя похоже.
---------- Post added at 21:06 ---------- Previous post was at 21:05 ----------
там и так везде 192
http://zx.pk.ru/attachment.php?attachmentid=29787&stc=1&d=1318080703
---------- Post added at 21:17 ---------- Previous post was at 21:06 ----------
Тут мне говорят вот такое.
В дельтах, по крайней мере в тех у которых раздельная память(у которых примерно 70 микросхем) инта нет как такового, там тупо кадровый синхроимпульс подали на 16 ногу Z80.
Из за этого прерывания наступают намного раньше и длительность в несколько раз больше.
проверил, действительно все совпадает! отличная работа! :)
Осталось разобраться когда замедляются порты и будет полная эмуляция :)
NEO SPECTRUMAN
12.10.2011, 17:58
В этих дельтах куча RC цепочек, они должны были настраиваться на заводе,
но как правило этого не делалось, хотя и попадаются настроенные нормально. Так же и проблемма инта в них.
Инт в них они не удосужились сделать, а тупо брали первый более менее подходящий сигнал и вешали на вход инт проца. Причем это не всегда был кадровый синхроимпульс. Тот же кадровый синхроимпульс на каждой дельте также отличается по длинне и времени прихода. Так что эмулировать это как "фирменную фичу" ИМХО не стоит. Взять 10 дельт и у них у всех будет разные времянки.
Но как я уже сказал, если настроить все RC цепочки как положено и сделать инт, то по таймингам это фактически будут 1 в 1 как у фирменного спектрума 48
А увидеть тест на другой чебоксарской дельте пока нет возможности.
Хотя подобная дельта есть у anoubis'a.
моя дельта
http://zx.pk.ru/attachment.php?attachmentid=29849&d=1318180472
дельта anoubis'a.
http://zx.pk.ru/attachment.php?attachmentid=29881&d=1318266397
http://zx.pk.ru/picture.php?albumid=74&pictureid=703
http://zx.pk.ru/attachment.php?attachmentid=29876&d=1318266187
И по времени не сильно большая разница.
http://zx.pk.ru/picture.php?albumid=74&pictureid=704
http://zx.pk.ru/attachment.php?attachmentid=29878&d=1318266363
На дельтовской УЛЕ надо как то указать
Дельта-С 74 Чебоксары 1991.
Еще вопрос а можно ли сделать Дельтовский FLASH?
а можно ли сделать Дельтовский FLASH?
а что в нём особенного ?
фотку своей Дельты я уже выкладывал http://zx.pk.ru/showpost.php?p=420730&postcount=182
NEO SPECTRUMAN
12.10.2011, 18:47
а что в нём особенного ?
Очень быстрый. Инверсия каждые 8 фреймов. У меня так.
спрашивали исходник, вот свежий вариант ULA для дельты и ULA ZX Spectrum 48
спрашивали исходник, вот свежий вариант ULA для дельты и ULA ZX Spectrum 48
Не забывайте, что Дельты разные, не только по ПЗУ и корпусу.
NEO SPECTRUMAN
14.11.2011, 20:41
Не забывайте, что Дельты разные, не только по ПЗУ и корпусу.
К сожалению под рукой только одна дельта.
Но если закончим эту перейдём к другой.
К сожалению под рукой только одна дельта.
Но если закончим эту перейдём к другой.
Я со своей дельты тоже прислал в тему картинки тестов. Пожалуйста, изучайте.
NEO SPECTRUMAN
14.11.2011, 21:15
Я со своей дельты тоже прислал в тему картинки тестов. Пожалуйста, изучайте.
Изучим.
Главное чтоб не было такого.
http://zx.pk.ru/attachment.php?attachmentid=29820&d=1318153461
Или такого.
http://img-fotki.yandex.ru/get/4520/69457089.3/0_888df_32631de5_L.jpg
Вот фотки тестов разных дельт.
1. Дельта-С, белая, кнопки с крышками, на рассыпухе. ПЗУ - стандартное 1982 г.
2. Дельта-С, белая, с обычными клавишами, на рассыпухе.
Блин, как же их много сделали, 73 миллиона, а Нафаня у меня одна в пределах №№10.000 и другая в пределах 600
3. Дельта-С, черная, кнопки с крышками, опломбирована, но по тестам схожа с (2). ПЗУ - Дельта 1989
Есть еще Дельта-128, грузится в меню выходит, клава что-то не очень, кнопки жму и не але, треба клаву или какие кнопки жать для хождения по меню, мож не те жму?
Вот фотки тестов разных дельт.
1. Дельта-С, белая, кнопки с крышками, на рассыпухе.
Эта Дельта как у меня. Только инт короче. Наверное 1991 года русифицированная.
И еще надо было фотки самого компа постить.
Фото компа 1 тут (http://zx.pk.ru/showpost.php?p=481113&postcount=4) (недает грузить одинаковые фото если они есть в других постах);
Фото компа 2 - в аттаче;
Фото компа 3 внешне такой же как и 1, только черный, опломбирован, внутри нет возможности снять.
NEO SPECTRUMAN
17.03.2012, 19:12
SysCat, 2-я дельта внутри выглядит так?
http://zx.pk.ru/attachment.php?attachmentid=34039&d=1331996953
Вторая выглядит так...
Оказалась на рассыпухе, на ПЛМ у меня 128-я с ВЧ модулем.
NEO SPECTRUMAN
17.03.2012, 19:45
То есть имеем 3 Дельты ~70 микросхем.
Чебоксарская ведёт себя, похоже, как и моя.
А вот 2 зеленоградских...:v2_conf2:
3 только у меня, еще 4-я есть, 128-я только что-то толи я не пойму как с меню работать, толи клава нормально не работает, она пленочная и есть проблемы с контактным слоем
Current93
30.06.2012, 13:12
Из обсуждения в соседней теме (http://zx.pk.ru/showthread.php?t=19452&page=2), по просьбе пользователя NEO SPECTRUMAN, выкладываю данные своей Дельта С:
SN:
36266
36267
TESTS:
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot