Вход

Просмотр полной версии : Эмуляция "Байт" (тайминги, карта памяти)



ZXMAK
17.04.2013, 00:59
Предлагаю в этой ветке собрать информацию касающуюся таймингов и карты памяти компьютеров "БАЙТ" и "БАЙТ-01".

У кого-то есть такая информация?
Пока нашел только образы пзушек (http://zxbyte.ru/doc/byte_roms.zip), правда они несколько странные и куда и как их мапить непонятно...

По таймингам вообще ни слова не нашел.
Если у кого-то есть этот необычный клон спектрума, выложите пожалуйста хотябы результаты этих тестов для затравки:
1) timechart02.rar (http://zx.pk.ru/attachment.php?attachmentid=40746&d=1364917592) (интересуют цифры)
2) mctest2.tap.zip (http://zx.pk.ru/attachment.php?attachmentid=29750&d=1317941524) (интересует фотка экрана)


Вот софт, который нашел для байта:
1) С защитой (проверяет пзу и тайминги) - tzx1991.zip (http://zxbyte.ru/doc/tape/tzx1991.zip)
2) То-же самое, но со снятой защитой - tzx1991unprotect.zip (http://zxbyte.ru/doc/tape/tzx1991unprotect.zip)

А вот так якобы выглядить заставка ArtStudio из вышеуказанного образа, якобы на реальном железе: http://zxbyte.ru/video/lambada.flv (взято из темы про звук байта (http://zx.pk.ru/showthread.php?t=20158))

BYTEMAN
17.04.2013, 04:52
Alexander Makeev, большое спасибо, что решили взяться за эмуляцию этих машинок :) Попробую по порядку ответить на все вопросы.


Пока нашел только образы пзушек, правда они несколько странные и куда и как их мапить непонятно...
Вот тут есть детальное исследование касательно того, какое ПЗУ куда мапится http://zxbyte.ru/byte3.htm#ROM Как видно, два 8-килобайтнвх ПЗУ - это собсно байтовский бейсик (одна половинка в одном ПЗУ, другая - в другом). DD10 и DD11 нам особо не нужны, т.к. это прошивки видеоконтроллера (вырабатывают все необходимые сигналы, осциллограммы работы видеоконтроллера есть здесь: http://zxbyte.ru/doc/byte_roms_DD10_DD11_diag.zip). В DD71 находятся куски прошивки бейсика для совместимости с оригинальным Спектрумом, при этом её мапит ПЗУ DD66. Там в статье есть табличка, где расписано, что куда мапится.



По таймингам вообще ни слова не нашел.
Если у кого-то есть этот необычный клон спектрума, выложите пожалуйста хотябы результаты этих тестов для затравки:
1) timechart02.rar (интересуют цифры)
2) mctest2.tap.zip (интересует фотка экрана)
Сделаем, не проблема.

А вот так якобы выглядить заставка ArtStudio из вышеуказанного образа, якобы на реальном железе: http://zxbyte.ru/video/lambada.flv (взято из темы про звук байта)
ну, не якобы, а действительно на реальном железе :)

ps. Видеоконтроллер у Байта-01 (если не ошибаюсь) идентичен простому Байту, поэтому по таймингам они совпадут. Отличаются по таймингам "старый" Байт и "новый" Байт (скоро тут появится Prusak и разъяснит что там к чему, а то я всего толком не помню).

pps. Много инфы на сайте составлено на основе заводской документации, которая случайно попала нам в руки. Поэтому достоверность той инфы, что сейчас есть на сайте, очень высока.

---------- Post added at 03:50 ---------- Previous post was at 03:47 ----------


А вот так якобы выглядить заставка ArtStudio из вышеуказанного образа, якобы на реальном железе: http://zxbyte.ru/video/lambada.flv (взято из темы про звук байта)
там прикол заставки в том, что играется трек для синтезатора КР580ВИ53. Известно несколько софтин, коорые юзают звук через ВИ53. "Художник" - одна из них :)

---------- Post added at 03:52 ---------- Previous post was at 03:50 ----------

также про маппинг ПЗУ стоит глянуть статью про тест памяти, там видно что ещё можно дополнительно управлять маппингом через запись в порт кемпстона... Всех подробностей не знаю, надеюсь завтра Prusak пояснит....
http://zxbyte.ru/test.htm

Prusak
18.04.2013, 16:39
Если у кого-то есть этот необычный клон спектрума, выложите пожалуйста хотябы результаты этих тестов для затравки:
1) timechart02.rar (http://zx.pk.ru/attachment.php?attachmentid=40746&d=1364917592) (интересуют цифры)
2) mctest2.tap.zip (http://zx.pk.ru/attachment.php?attachmentid=29750&d=1317941524) (интересует фотка экрана)


Опробовал на "новом" варианте "Байта": результаты (http://zxbyte.ru/byte_new.zip).
На "старом" варианте "Байта": результаты (http://zxbyte.ru/byte_old.zip).

Принцип (http://zxbyte.ru/emu_rom.zip) формирования прошивок ПЗУ для "Байта".

ZXMAK
19.04.2013, 01:04
Опробовал на "новом" варианте "Байта": результаты (http://zxbyte.ru/byte_new.zip).
На "старом" варианте "Байта": результаты (http://zxbyte.ru/byte_old.zip).

Принцип (http://zxbyte.ru/emu_rom.zip) формирования прошивок ПЗУ для "Байта".

судя по скринам, память не тормозится, странно только - почему bright квадраты не видны? я по ним сравниваю где линии на экранной области совпадают с линиями на бордюре, а тут такой облом... :)

Проверь еще - во втором тесте во второй строке цифра мигает между 69886 и 69891?

Кстати, это точно с риала, а не от эмулятора скриншот? а то png формат для фоток как-то непривычно видеть :)

получается нужно только память правильно сэмулировать.
Кстати, еще такой вопрос - нельзя ли как-то записать видео и посчитать через сколько кадров flash аттрибуты мигают? Интересует частота flash...

Prusak
19.04.2013, 02:02
судя по скринам, память не тормозится, странно только - почему bright квадраты не видны? я по ним сравниваю где линии на экранной области совпадают с линиями на бордюре, а тут такой облом... :)


По досадной случайности был неисправен PAL-кодер. Картинку перезалил с BRIGHT. Для результатов на "старом" Байте BRIGHT не будет виден, т.к. разработчики забыли вывести этот сигнал на RGB-выход компьютера.



Проверь еще - во втором тесте во второй строке цифра мигает между 69886 и 69891?


Мигает для "старого" Байта. И то как-то странно. Помигает и чётко становится 69891.



Кстати, это точно с риала, а не от эмулятора скриншот? а то png формат для фоток как-то непривычно видеть :)


Скриншот снят с ТВ-тюнера и потом сконверчен в png. Файлы в bmp как-то много места занимают, приходится конвертить.



Кстати, еще такой вопрос - нельзя ли как-то записать видео и посчитать через сколько кадров flash аттрибуты мигают? Интересует частота flash...

Только если делать запись с тюнера.

ZXMAK
19.04.2013, 04:39
Добавил эмуляцию байта, тестируй (https://zxmak2.codeplex.com/releases/view/105338) :)
http://savepic.org/3374103.png

Алгоритм мапинга пзу сделал по твоему описанию, не знаю чем проверить, правильно ли мапится пзу, но судя по кнопке "COBMECT" вроде работает - язык переключается :)
Переключатель "COBMECT" доступен из меню Tools.

Но церикопик к сожалению почему-то не проходит, несмотря на то что тайминги и пзу вроде как у байта. Возможно в какой-то области памяти есть торможение или не проходит по какой-то другой причине...



Мигает для "старого" Байта. И то как-то странно. Помигает и чётко становится 69891.

очень странно что останавливается :v2_conf2: может у байта прерывание на конденсаторе сделано и плавает?

А у нового разве не мигает?

newart
19.04.2013, 07:03
Кстати, еще такой вопрос - нельзя ли как-то записать видео и посчитать через сколько кадров flash аттрибуты мигают?
А что, в эмуляции пентагона они у тебя мигают кратно 48.8 герцам?

Prusak
19.04.2013, 10:59
Но церикопик к сожалению почему-то не проходит, несмотря на то что тайминги и пзу вроде как у байта. Возможно в какой-то области памяти есть торможение или не проходит по какой-то другой причине...


Церикопик делает проверку (http://zxbyte.ru/byte23.htm) по содержимому ПЗУ и по быстродействию памяти. Возможно что-то не то с быстродействием памяти.



очень странно что останавливается :v2_conf2: может у байта прерывание на конденсаторе сделано и плавает?
А у нового разве не мигает?

У "старого" Байта всё сделано через "...опу", особенно прерывания. На тестах прерываний (например тест Ковалевского) "старый" Байт вообще подвисает. Я не удивляюсь, что на этом типе "Байта" что-то не так будет работать.

На "новом" Байте ничего не мигало. Я ещё раз проверю сегодня.

ZXMAK
19.04.2013, 11:52
Церикопик делает проверку (http://zxbyte.ru/byte23.htm) по содержимому ПЗУ и по быстродействию памяти. Возможно что-то не то с быстродействием памяти.



У "старого" Байта всё сделано через "...опу", особенно прерывания. На тестах прерываний (например тест Ковалевского) "старый" Байт вообще подвисает. Я не удивляюсь, что на этом типе "Байта" что-то не так будет работать.

На "новом" Байте ничего не мигало. Я ещё раз проверю сегодня.

А у тебя нет возможности посмотреть осциллографом есть ли импульсы на ножке процессора WAIT и насколько ровный и стабильный меандр на CLK?

---------- Post added at 10:52 ---------- Previous post was at 10:48 ----------


А что, в эмуляции пентагона они у тебя мигают кратно 48.8 герцам?

Нет конечно, кстати для некоторых машин частота флеша взята наобум - инверсия происходит каждые 25 кадров. У некоторых моделей каждые 16 кадров и тп

Prusak
19.04.2013, 12:59
А у тебя нет возможности посмотреть осциллографом есть ли импульсы на ножке процессора WAIT


В "Байтах" сигнал WAIT не используется, т.е. там импульсов быть не может в принципе.

ZXMAK
19.04.2013, 13:29
В "Байтах" сигнал WAIT не используется, т.е. там импульсов быть не может в принципе.

А блокировка clk используется? почему-же тогда церикопик не работает?

Prusak
19.04.2013, 13:34
По ссылке (http://zxbyte.ru/byte23.htm), которую я уже указывал ранее, есть куски кода "Церикопика", по которым делается проверка оригинальности компьютера. Возможно имеет смысл проверить вручную выполнение этого кода.



насколько ровный и стабильный меандр на CLK?

По идее меандр не должен быть стабильный, т.к. подача CLK на процессор прекращается при одновременном обращении к экранному ОЗУ видеоконтроллером и процессором. Более точно возможно покажет осциллограф.

Удалось сделать сигнал яркости в "старом" Байте. Скриншот перезаписал. В программе timechart "старый" Байт даёт 69891 такт стабильно.

ZXMAK
20.04.2013, 00:53
По идее меандр не должен быть стабильный, т.к. подача CLK на процессор прекращается при одновременном обращении к экранному ОЗУ видеоконтроллером и процессором. Более точно возможно покажет осциллограф.

Удалось сделать сигнал яркости в "старом" Байте. Скриншот перезаписал. В программе timechart "старый" Байт даёт 69891 такт стабильно.

получается что не хватает в текущей реализации ULA - торможения доступа к банке с видеопамятью. А есть какие-то мультиколорные эффекты, реализованные в памяти ниже #8000 на байте?

Без риала сложно такой мультиколор сделать, не располагая какой-либо информацией о моментах, когда производится торможение доступа к памяти

Update: добавил торможение памяти по алгоритму от обычного спектрума. Церикопик эту проверку стал проходить успешно (там не проверяются точные цифры, главное чтобы нижняя память медленее работала и все), но после загрузки следующего за этой проверкой блока сбрасывается...

Исправление пока не чекинил, прилагаю аттачментом EXE-шник с добавленным торможением (полный комплект файлов не влазит в аттачмент этого форума)...

Может кто-то поможет разобрать почему церикопик на следующем за проверкой блоке сбрасывается?

update: обновил exe еще раз, как выяснилось использовалась неудачный вариант расчета контенций - на ULA BYTE [early] падало с ошибкой, поправил

update3: все уже разобрался - дело было во включенных трапах загрузки с магнитофона, не выдерживалась пауза, теперь эмулятор проходит защиту церикопика :)
Сейчас зачекиню и выложу новую версию :)

Prusak
20.04.2013, 13:25
Результаты (http://zxbyte.ru/test_speed.zip) работы теста быстродействия, который используется в "Церикопике".

Пояснения: первая колонка цифр - результат в области памяти #4000-#7FFF, вторая колонка - в области памяти #C000-#FFFF. Третья колонка - разница между первым и вторым значениями. В Церикопике делается проверка на разницу не менее 128 единиц. Если разница меньше, чем 128, то считается, что компьютер не "Байт".

В архиве также скриншот результатов работы теста на доработанном до 1024К "Байте", без торможения памяти. Как видно, результаты теста для него почти не отличаются в различных областях памяти. На таком "Байте" Церикопик работать не станет.

-----
Update: положил в архив саму программу для тестирования быстродействия в tap-файле

ZXMAK
20.04.2013, 20:52
Update: положил в архив саму программу для тестирования быстродействия в tap-файле

вот, это другое дело!
странные результаты получаются - на области без контенций в эмуляторе сейчас получается 1223, а на риале 1217...
Как такое может быть? :v2_conf2:

Updated: все понятно, к сожалению тест малоинформативный... он может только подтвердить соответствуют ли все тайминги включая медленную и быструю память. Дать информацию о таймингах быстрой памяти он к сожалению не может.
Впрочем это и не нужно, по всей видимости с быстрой памятью все ок.

В обоих случаях идет обращение к медленной памяти, вот процедура для второго значения (быстрой памяти):


FDE8: LD DE,(#5C78) ; тут мы обращаемся к медленной памяти...
XOR A
LD HL,(#5C78) ; тут мы обращаемся к медленной памяти...


А нет ли схемы "Байта"? Нужно смотреть как именно делаются задержки...

Prusak
20.04.2013, 22:29
Схема (http://zxbyte.ru/doc/byte_scheme.zip) компьютера "Байт".

ZXMAK
20.04.2013, 23:46
Схема (http://zxbyte.ru/doc/byte_scheme.zip) компьютера "Байт".

я правильно понимаю, что по переходу из 1 в 0 сигнала DD22-Q2, устанавливаются счетчики - DD3=8 и DD4=2?

Prusak
21.04.2013, 01:44
Не совсем. Входы PE счётчиков - это вход разрешения синхронной параллельной записи информации в счётчики. А сама запись предустановленных значений происходит по фронту тактового импульса на входе C. Т.е. для предустановки счётчиков необходимо подать PE=0 и дождаться фронта тактового импульса.

breeze
21.04.2013, 03:15
К слову ещё! когда нажата кнопка «Совмест» и сделать ресет (если мне не изменяет память) стартует другая часть ПЗУ и вместо надписи «Бресткое бла,бла,бла…» должна появится одна строчка

"Byte" Personal Computer

ZXMAK
21.04.2013, 07:57
запусти пожалуйста еще вот-эти тесты
1) в minfo.tap.zip - нужно посмотреть длительность int (судя по всему будет 42) и FРАМЕ TИМЕ :)
2) в stime.tap.zip - нужно кнопками Q/A добиться чтобы красная полоска вверху экрана гасла и записать значение тактов при котором она еще горит и при котором гаснет (ориентировочно ищи где-то около 14391)

Что касается схемы, то она похоже неправильная. Например блокировка CLK по схеме происходит когда !MREQ и сигнал 23 установлены в единицу, что нелогично, т.к. при доступе к памяти !MREQ=0...

Prusak
21.04.2013, 15:46
К слову ещё! когда нажата кнопка «Совмест» и сделать ресет (если мне не изменяет память) стартует другая часть ПЗУ и вместо надписи «Бресткое бла,бла,бла…» должна появится одна строчка

"Byte" Personal Computer

Чтобы получить такую заставку надо при нажатой кнопке совместимость выполнить NEW или RANDOMOZE USR 0 (но не аппаратный сброс!).



запусти пожалуйста еще вот-эти тесты
1) в minfo.tap.zip - нужно посмотреть длительность int (судя по всему будет 42) и FРАМЕ TИМЕ :)
2) в stime.tap.zip - нужно кнопками Q/A добиться чтобы красная полоска вверху экрана гасла и записать значение тактов при котором она еще горит и при котором гаснет (ориентировочно ищи где-то около 14391)


Результаты (http://zxbyte.ru/test2.zip) тестов.
Для программы stime показано значение, при котором красная полоса исчезает. Если поставить значение на 1 меньше, то полоса появляется.



Что касается схемы, то она похоже неправильная. Например блокировка CLK по схеме происходит когда !MREQ и сигнал 23 установлены в единицу, что нелогично, т.к. при доступе к памяти !MREQ=0...

Схема начерчена правильно. Именно так в компьютере и сделано. Для очистки совести я прозвонил все соединения в этом узле.

ZXMAK
21.04.2013, 17:23
Схема начерчена правильно. Именно так в компьютере и сделано. Для очистки совести я прозвонил все соединения в этом узле.

как-же она работает? :confused_std:
Судя по схеме, сигнал CLK появляется только если на выходе DD26.2 присутствует единица. Выход инверсный, выходит что для блокировки на всех входах DD26.2 должна быть единица.
На 3 ножке DD26.2 единица будет если идет обращение к странице с видеопамятью (A14=1, A15=0), тут вопросов нет.
На 5 ножке DD26.2 единица будет только если сигналы 23 (блокировка) и !MREQ установлены в единицу. Получается что блокировка включается когда процессор НЕ обращается к памяти? :confused_std:

Еще такой вопрос, по схеме сигнал 23 формируется из DD10-D5 и инверсного DD11-D4, оба сигнала просто соединены вместе и подтянуты на +5В. Работа этого соединения зависит от внутреней реализации выходов. Если я правильно понимаю - это реализация "ИЛИ" без логических элементов, верно?

Prusak
21.04.2013, 17:48
как-же она работает? :confused_std:


Выходит, что работает. Компьютер "Байт" тому подтверждение :)
К тому же на элементах DD26.2, DD26.3 сделан RS-триггер. Это вносит в работу схемы свои нюансы. Однако что и как там в точности работает я сам не знаю, т.к. глубоко в этот вопрос не вникал.



Еще такой вопрос, по схеме сигнал 23 формируется из DD10-D5 и инверсного DD11-D4, оба сигнала просто соединены вместе и подтянуты на +5В. Работа этого соединения зависит от внутреней реализации выходов. Если я правильно понимаю - это реализация "ИЛИ" без логических элементов, верно?

Бит 4 DD11 служит для запрещения сигналов на битах 2,3,5 DD10. Запрет реализован через элементы с открытым коллектором. При лог.1 на бите 4 DD11 выходные сигналы с битов 2,3,5 DD10 "давятся" лог.0 с выходов DD9. Так как выходы микросхем КР556РТ5 с открытым коллектором, то конфликта уровней не происходит.

ZXMAK
21.04.2013, 18:23
еще такой вопрос по поводу перегрузки счетчиков, допустим пришел тактовый импульс на DD3, выход счетчика изменился с #5 на #6. При этом в новой ячейке DD10 обнулился бит D1 и на PE счетчиков пошел логический ноль.
Что при этом происходит? По спаду тактового сигнала значение счетчика увеличивается, а по наростанию загружается новое значение?
Или-же по наростанию тактового сигнала увеличивается значение счетчика, если не было загрузки. А если загрузка была, то по наростанию тактового сигнала загруженное значение устанавливается на выход?

Prusak
21.04.2013, 18:38
Счётчик считает тоже по фронту тактового импульса. Так что при активном сигнале PE счётчик считать не будет. Так как счётчик синхронный, то в нём всё делается по тактовому импульсу :)

ZXMAK
21.04.2013, 18:42
Счётчик считает тоже по фронту тактового импульса. Так что при активном сигнале PE счётчик считать не будет. Так как счётчик синхронный, то в нём всё делается по тактовому импульсу :)

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

Прийдет ли сигнал переноса со счетчика DD3 на тактовый вход DD4 в момент перезагрузки счетчика DD3? Т.е. меня интересует - произойдет ли одновременная перегрузка счетчиков или DD3 перегрузится, а DD4 может и не перегрузиться?

Prusak
21.04.2013, 18:50
В справочнике написано: "Если на вход PE дать напряжение низкого уровня, то счёт прекращается, и с приходом очередного положительного перепада на вход С в счётчик будут записаны данные от входов D0-D3"

ZXMAK
21.04.2013, 20:56
Чтобы получить такую заставку надо при нажатой кнопке совместимость выполнить NEW или RANDOMOZE USR 0 (но не аппаратный сброс!).

Да, действительно при включеном "СОВМЕСТ" программная перезагрука дает такую заставку:
http://savepic.org/3394246.png

вобщем со сбросом счетчиков не все ясно. Сделал программку разворачивающую полную диаграмму кадра для байта по образам пзушек DD10/DD11. Но чтото не сходится.
Длительность INT по развертке получается 42, а по результатам теста 33. Длительность фрейма по развертке 70112 тактов, а по результатам теста 69888.

Непонятно как происходит перегрузка счетчиков DD3/DD4, скорей всего они оба перегружаются в момент, когда на линиях шины 1,2,3,4 нули, а также сигнал перегрузки (DD10-D1) в нуле.
Особенно непонятно как происходит перезагрузка DD5/DD6. Пока видится, что перегрузка происходит при нулевом значении на выходе пзу DD11-D1, в момент перехода сигнала DD10-D7 из 0 в 1 (соответствует фронту из 1 в 0 на входе +1 счетчика DD5). Насколько это верно?

Запусти пожалуйста еще один тестик для бордюра: btime.tap.zip
В этом тесте добейся кнопками, чтобы полоска на бордюре начиналась четко над квадратом в верхнем левом углу экрана.
Для этого положения может быть несколько возможных значений такта. Выпиши значения между которыми полоска перепрыгивает с предыдущего состояния четко на позицию квадрата и значения когда она перепрыгивает дальше. Надеюсь смысл изложил понятно :)

PS: да, чтобы убедиться что мы тестим одно и тоже, я расчитываю на результаты тестов для поздней модели байта. Для ранней модели думаю потом несложно будет внести исправления.


Update: с прерыванием разобрался - неправильно сэмулировал 1533ТМ2, сделал по даташиту и симуляция диаграммы стала давать действительно 33 такта, как и показывает тест :)
Поправил эмуляцию перегрузки счетчиков DD3/DD4, в соответствии с замечаниями (теперь перегрузка происходит при 0 значении в счетчике DD2).
Но длительность фрейма всеравно некорректная - 70112 тактов, на 1 строку больше чем нужно. Видимо что-то не так с перегрузкой счетчиков DD5/DD6...

Prusak
21.04.2013, 22:54
Насколько это верно?

Боюсь, что ничего сказать по этому поводу не смогу, т.к. сам доподлинно не знаю.



Запусти пожалуйста еще один тестик для бордюра.
В этом тесте добейся кнопками, чтобы полоска на бордюре начиналась четко над квадратом в верхнем левом углу экрана.
Для этого положения может быть несколько возможных значений такта. Выпиши значения между которыми полоска перепрыгивает с предыдущего состояния четко на позицию квадрата и значения когда она перепрыгивает дальше. Надеюсь смысл изложил понятно :)


Результат (http://zxbyte.ru/btime.jpg). Полоска начинается чётко над квадратом.



PS: да, чтобы убедиться что мы тестим одно и тоже, я расчитываю на результаты тестов для поздней модели байта. Для ранней модели думаю потом несложно будет внести исправления.


Именно так. Я гоняю тесты на обычном "новом" Байте.

ZXMAK
21.04.2013, 23:10
Результат (http://zxbyte.ru/btime.jpg). Полоска начинается чётко над квадратом.

если при значениях тактов, указанных на экране, коротко один раз (!) нажать Q, полоска уедет влево или останется стоять над квадратом? Можно в PNG картинку сжать, а то в JPG все размазано, пикселов не видно, а мне именно пикселы важны :)

Prusak
21.04.2013, 23:12
если при значениях тактов, указанных на экране, коротко один раз (!) нажать Q, полоска уедет влево или останется стоять над квадратом?

Полоска уезжает. Т.е. полоска точно над квадратом только при одном значении, которое на скриншоте.

ZXMAK
21.04.2013, 23:31
Полоска уезжает. Т.е. полоска точно над квадратом только при одном значении, которое на скриншоте.

а чего полоска на скриншоте черная, а не красная? это артефакт jpg?

Prusak
21.04.2013, 23:34
Полоска вообще-то красная. В месте, где она граничит с квадратом, кажется более тёмной.

breeze
22.04.2013, 00:40
Чтобы получить такую заставку надо при нажатой кнопке совместимость выполнить NEW или RANDOMOZE USR 0 (но не аппаратный сброс!).

Хм… ты уверен? Что-то у меня осталось в памяти, что это было обычным сбросом, хотя конечно может это и вылетало при ошибке загрузки…

ZXMAK
22.04.2013, 01:18
Тряхнул стариной, почитал даташиты на счетчики и вот результат - программка симулятор состояний для Байта :)
Программа производит симуляцию схемы на основе данных из прошивок для видео генератора Байта. Результаты пишутся в текстовый файл _dd10log.txt рядом с программой.
Если запустить без параметров - выводятся только логи сигналов на DD11. Если запустить с параметром /f то выводится полный лог по каждому такту...
На основе этого симулятора прикрутил к эмулятору генератор таблицы задержек. Сейчас выложу обновление :)

Update: выложил обновление (https://zxmak2.codeplex.com/releases/view/105470), сейчас задержки в эмуляторе должны работать как на оригинале :)
Бордюр в этой версии может на 3 такта отставать, нужно доработать расчет таблиц, это уже не столько проблема ULA Байта, сколько архитектурная недоработка. Позже исправлю.

Теперь Нужно заточить какой-нибудь мультиколор под Байт, используя эмулятор. И сравнить потом с риалом, по идее должно все совпадать :)
Возьмется кто-то за такую задачу? ;)

breeze
22.04.2013, 02:34
Теперь Нужно заточить какой-нибудь мультиколор под Байт, используя эмулятор. И сравнить потом с риалом, по идее должно все совпадать :)
Возьмется кто-то за такую задачу? ;)

Насчёт мультиколора не знаю :) Но вот когда мы сидели на байтах и писали свою игрушку, у нас была выпущена демка. В интро был использован эффект на бордере. Бордер можно было подстроить (по идее) под любой компьютер, но изначально оно настроено на инт байта. К сожалению у меня нет под рукой оригинального образа и я не могу ручаться, что в нём настроен и сохранён инт именно для Байта.

Однако. Имеем вот такую картину:

http://img14.imageshost.ru/img/2013/04/22/image_51746b48026e7.png

Поскольку у Байта в эмуляторе нет TR-DOS'а, то пришлось скинуть снапшот и загрузить уже его. Конечно дело может ещё в этом, но…

Вообщем в атачменте приложу demo в TRD и сам снапшот. Пусть Prusak проверит на реале, что там и как.

ZXMAK
22.04.2013, 03:37
Однако. Имеем вот такую картину:

http://img14.imageshost.ru/img/2013/04/22/image_51746b48026e7.png

Поскольку у Байта в эмуляторе нет TR-DOS'а, то пришлось скинуть снапшот и загрузить уже его. Конечно дело может ещё в этом, но…

Вообщем в атачменте приложу demo в TRD и сам снапшот. Пусть Prusak проверит на реале, что там и как.

TRDOS можно добавить, путем добавления устройства BDI (категория Disk), правда байтовский маппинг в пзу трдос не отключается, исправлю.
Зачем было мучаться, если можно было взять модель Pentagon 128 и заменить ULA на байтовскую. Память в этом случае будет управляться по пентагоновски, а тайминги и видео от Байта :)

программа заточена на 128К, в 48К не работает.

Насколько я понимаю в байте было какое-то особое расширение 128К. Информации по этому расширению и особенностях работы с ТРДОС у меня нет.
Попробовал сделать модуль памяти с поддержкой ТРДОС и 128К - сделал байтовский мэппинг пзу доступным только если замаплена 48К пзушка, чтение из порта 31 тоже залочил на 48К пзушку. Результаты такие-же как на скриншоте :)
128К пзу-шка не хочет дружить с байтовской 48К... При сбросе в 128К пзу по экрану цветные квадраты и сброс в 48К байтовское пзу :)

Скорей всего эта дема не заточена под байт :)

Update: совместимость с трдосом исправил, кроме того теперь есть 128К модель памяти для байта

breeze
22.04.2013, 09:17
128К пзу-шка не хочет дружить с байтовской 48К...

У нас на байтах отродясь не было 128х пзу'шек.


Скорей всего эта дема не заточена под байт :)

Ну здравствуйте девушки. :eek: Думаю проблема из-за буфером принтер'а (23296). Скорее всего там расспаковщик. Надо через usr0.

---------- Post added at 08:09 ---------- Previous post was at 08:05 ----------


Update: совместимость с трдосом исправил, кроме того теперь есть 128К модель памяти для байта

Кроме того, ВИ53 конфликтовала по портам с TR-DOS, поэтому её убирали или отключали.

---------- Post added at 08:12 ---------- Previous post was at 08:09 ----------

Ну и кроме того, AY-то тоже по дефолту есть :)

---------- Post added at 08:17 ---------- Previous post was at 08:12 ----------

К слову ещё, а что эмуляции цифровых карточек (Covox, Soundrive, GS) нету пока?

Prusak
22.04.2013, 10:00
Насколько я понимаю в байте было какое-то особое расширение 128К.


Самое обычное расширение, как в других Спектрумах. Ничего особенного. Разве что ПЗУ "Байта" либо полностью выкидывается с заменой на стандарт BASIC48+TRDOS либо полностью оставалось "родное" ПЗУ.



128К пзу-шка не хочет дружить с байтовской 48К... При сбросе в 128К пзу по экрану цветные квадраты и сброс в 48К байтовское пзу :)


Подружить родное ПЗУ и ПЗУ с меню-128 по крайней мере у меня не вышло, сколько не пытался.

ZXMAK
22.04.2013, 10:39
Самое обычное расширение, как в других Спектрумах. Ничего особенного. Разве что ПЗУ "Байта" либо полностью выкидывается с заменой на стандарт BASIC48+TRDOS либо полностью оставалось "родное" ПЗУ.



Подружить родное ПЗУ и ПЗУ с меню-128 по крайней мере у меня не вышло, сколько не пытался.

А как дружила кнопка совмест с ее подменой содержимого пзу со стандартными пзушками?

Prusak
22.04.2013, 10:53
При замене в "Байте" ПЗУ на стандартное режим совместимости отключался аппаратно. Т.е. содержимое ПЗУ было постоянно и ничем не подменялось.

ZXMAK
22.04.2013, 11:19
При замене в "Байте" ПЗУ на стандартное режим совместимости отключался аппаратно. Т.е. содержимое ПЗУ было постоянно и ничем не подменялось.

Для такого режима можно просто пентагоновский модуль памяти использовать :)
А с поддержкой подмены пзу какие были модификации 128к?

Prusak
22.04.2013, 11:26
Насколько мне известно, не было. Во всяком случае я не встречал таких "Байтов".
Т.е. можно было просто расширить память и не ставить никаких ПЗУ (оставить "родные ПЗУ). От этого хуже не было. Компьютер-то работал нормально. Я сам так делал.

ZXMAK
23.04.2013, 23:49
delete

что это было? :v2_cool:

Prusak
25.04.2013, 01:24
Вообщем в атачменте приложу demo в TRD и сам снапшот. Пусть Prusak проверит на реале, что там и как.

Проверить в данный момент нет возможности, т.к. для проверки требуется Байт-128К, который я сам не могу найти в своих закромах уже довольно давно. Так что увы :(

ZXMAK
25.04.2013, 03:02
можно попробовать снэпшот в тапку переписать, вроде были какието утилиты для этого, сам код с полоской на бордюре не требует 128к :)

[bETA]mEN
25.04.2013, 21:18
вроде были какието утилиты для этого

http://www.seasip.demon.co.uk/ZX/unix.html

TAPTOOLS-W32.ZIP

http://arda.kisafilm.org/blog/?p=608&lang=tr

SnapToTap R2.2

ZXMAK
26.04.2013, 01:08
вот сделал 48к тапку с этим эффектом на бордюре :)

Prusak
26.04.2013, 01:52
вот сделал 48к тапку с этим эффектом на бордюре :)

Так (http://zxbyte.ru/hammon_test_48-60746.jpg) показывает эту тапку у меня на Байте.

------
Update: откопал в своих закромах "Байт-128" и настроил интру для корректного отображения на "Байте". Скачать trd-файл можно отсюда (http://zxbyte.ru/hammon_test_48-60746.zip).

breeze
28.04.2013, 15:06
Update: откопал в своих закромах "Байт-128" и настроил интру для корректного отображения на "Байте". Скачать trd-файл можно отсюда (http://zxbyte.ru/hammon_test_48-60746.zip).

Ну вот как это выглядит на эмуляторе:

http://img14.imageshost.ru/img/2013/04/28/image_517d054b0caeb.png

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

[bETA]mEN
10.05.2013, 21:25
Вопрос к тем, кто видел Байт в живую. Это его "родной" TR-DOS?
http://i.imgur.com/BM5z7hG.png

ZXMAK
10.05.2013, 23:14
mEN;599988']Вопрос к тем, кто видел Байт в живую. Это его "родной" TR-DOS?
у байта не было трдоса. Более того, при подключении трдоса перестают работать защищенные программы CERIKOPIK. Может это пзу от более поздних модификаций байта?

yashcher
10.05.2013, 23:41
mEN;599988']Вопрос к тем, кто видел Байт в живую. Это его "родной" TR-DOS?
http://i.imgur.com/BM5z7hG.png

http://zxbyte.ru/byte104.htm

[bETA]mEN
11.05.2013, 00:41
http://zxbyte.ru/byte104.htm

как оказалось, если внимательно читать, то можно и все прошивки там же на сайте найти:

http://i.imgur.com/CLFkkjp.png

http://i.imgur.com/yEXnApV.png

breeze
11.05.2013, 13:19
mEN;599988']Вопрос к тем, кто видел Байт в живую. Это его "родной" TR-DOS?

Ну я так понимаю, это не совсем «родной», скорее всего ребята из Бреста, в частности vFNG что-то фиксили ;) а вот столько телефонов напихали явно зря.

2Alexander Makeev было бы кстати очень интересно увидеть «Байт-01» ;)

yashcher
11.05.2013, 23:40
Ну я так понимаю, это не совсем «родной», скорее всего ребята из Бреста, в частности vFNG что-то фиксили ;) а вот столько телефонов напихали явно зря.

В 1997 году БАЙТы уже как бы не выпускались:(

Их реклама с телефонами в номерах Echo
Pawel=Павел Кисляк, VfNG=Владислав Якубович. А кто этот Антон aka Mr.Hodgehog? По телефонному справочнику Бреста выдаёт фамилию Мещанчук

breeze
14.05.2013, 00:54
В 1997 году БАЙТы уже как бы не выпускались:(

И что с того? :) Кто-то запрещал сидеть на Байтах и фиксить софт?


Их реклама с телефонами в номерах Echo

Спасибо, в своё время мы тесно с ними общались, ещё во времена CDOS-модемов.

Gelip
31.05.2013, 23:47
mEN;599988']Вопрос к тем, кто видел Байт в живую. Это его "родной" TR-DOS?

This TR-DOS 5.043 (http://alonecoder.nedopc.com/zx/TRDOSES.rar) is probably fixed version to work with controller BEMK. (http://zxpress.ru/article.php?id=8936&lng=eng) ECHO#03 (http://zxpress.ru/files/ECHO3.ZIP)
41900

Prusak
17.07.2013, 21:07
This TR-DOS 5.043 (http://alonecoder.nedopc.com/zx/TRDOSES.rar) is probably fixed version to work with controller BEMK. (http://zxpress.ru/article.php?id=8936&lng=eng) ECHO#03 (http://zxpress.ru/files/ECHO3.ZIP)
41900

Вероятно эта прошивка "битая", т.к. с ней "Байт-01" хоть и запускается и даже показывает каталог диска, но ни одна программа не грузится. При этом дисковод "трещит" головкой, пытаясь её бесконечно спозиционировать за 80-й трек.

VFNG
27.07.2014, 02:16
Приветствую всех, прошивка под байт-01 не может работать на стандартном TR-DOS контроллере (читай - эмуляторе), так как в байт-01 совершенно другие порты ввода-вывода для дискового интерфейса. Да и вообще в БАЙТ-01 было много чего поналеплено, например разрешение 512х192.

ZXMAK
19.08.2014, 19:58
Приветствую всех, прошивка под байт-01 не может работать на стандартном TR-DOS контроллере (читай - эмуляторе), так как в байт-01 совершенно другие порты ввода-вывода для дискового интерфейса. Да и вообще в БАЙТ-01 было много чего поналеплено, например разрешение 512х192.

поэтому в ZXMAK2 для байта свое BDI устройство, со своими особенностями, отличными от стандартного