Важная информация

User Tag List

Страница 12 из 18 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 176

Тема: Эмулятор БК-0010-01, БК-0011 и БК-0011М

  1. #111
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    теме по БК-0010 где-то описывалось, что замена кварца с 12Мгц на 12 с чем-то Мгц давало частоту кадров, практически 50Гц
    в посте выше ссылку давал )) https://zx-pk.ru/threads/30134-izmen...-na-50gts.html

    Точно таким же способом (заменой кварца с 14 на 14.3) фиксится Пентагоновская, чтобы было 50 Гц.
    Кстати, 14.3 изначально стоял в части отечественных клонов, это стандартный кварц для ТВ-частот развертки.
    Но речь сейчас про эмулятор, а там другие приоритеты... в кодинге на PC не шарю, так бы поковырялся.
    С моей нубской точки зрения, раз заранее "исполняется" некий объем команд, укладывающихся в кадр, обсчитать проще.
    Эмуляторы Спекруме же вполне справляются с этой задачей. Только там такты на каждую команду давно известны.
    А на БК, как ни посмотрю, никто толком не знает, сколько жрут команды даже на железной машине. Сами считают.

    Да, еще пара нубских вопросов/предложений по эмулятору, сильно ногами не пинать =)) может, оно уже и сделано, но не нашел.

    1) Есть возможность загружать/выгружать куски "памяти БК" напрямую из файла/в файл на PC? Нет снапшот целиком, нет.
    А именно указать, куда/откуда грузить, тыкнуть в файл на диске (винды) и опционально - какую длину от файла. Хотя бы просто целиком.
    Применение: нужно мне быстро "примерить" несколько вариантов спрайтов/фонтов/звуков, написана программа, крутится в цикле,
    выводящем все этом в эмуляторе на экран/динамик. Подменяя кусок памяти, я сразу вижу/слышу результат. Потом записать нужное.

    2) Есть возможность работы со страницами 11-й модели? Т.е. не копаясь в регистрах вручную, а в отдельном окошке, например,
    задаю номер страницы числом в таком-то окне памяти (их в БК два) и оно отображается в отдельном окошке дампом, без переключения.

    3) это уже по особенностям 11-й модели. Можно ли в нее загружать файлы на запуск, не парясь со всеми этими АНдосами и прочим?
    Чтобы просто как в 10-й модели, ткнул в бинарник и оно выполнилось, но в режиме 11-й. Или там прошивка 11-й это не позволяет?
    Слишком уж напрягает: сперва скомпилируй, потом закинь в образ диска, потом запусти досину...
    Последний раз редактировалось reddie; 01.08.2021 в 10:31.

  2. #112
    Master
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    538
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    136
    Поблагодарили
    105 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    А на БК, как ни посмотрю, никто толком не знает, сколько жрут команды даже на железной машине.
    У ВМ1 зачаточная предвыборка команд есть, так что время выполнения какой-либо конкретной команды зависит от того, какая была предыдущая команда (т.е. от её длительности), от того, на какой цикл работы контроллера ВП1-037 попадает начало обмена с шиной данных, от тактовой частоты процессора, от того, откуда выполняется команда - ПЗУ, ДОЗУ, СОЗУ. БК - вообще сложное для эмуляции изделие.
    Сейчас тайминги используются рассчитанные ещё Зальцманом во времена СССР для БК-0010 на частоте 3МГц, и рассчитанные по той же методике для БК-0011 на частоте 4МГц. Если первые достаточно стабильные, т.к. для 3МГц все команды хорошо укладываются в циклы работы ВП1-037, то вторые - усреднённые, на самом деле их длительность плавает в диапазоне ±8 тактов, для команд, где циклов обмена с памятью больше равно трёх.
    Последний раз редактировалось gid; 01.08.2021 в 12:23. Причина: добавил забытые предлоги и запятые

  3. Этот пользователь поблагодарил gid за это полезное сообщение:

    reddie (01.08.2021)

  4. #113
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Сейчас тайминги используются рассчитанные ещё Зальцманом во времена СССР
    Цитата Сообщение от gid Посмотреть сообщение
    их длительность плавает в диапазоне ±8 тактов для команд
    Нда уж... по уму, должны быть доки завода-изготовителя проца с описанием всех сигналов и растактовкой команд.
    На основании этих док производитель компа делает свои доки и схемы, корректируя данные под выпускаемое железо.
    Понимаю, что в СССР над растактовкой не парились и все делалось на глазок, но это подход ламеров, а не технарей.

    Взять тот же Z80: есть официальные доки от производителя, с полным описание растактовки. Читай, просвещайся.
    Есть схемы Спектрумов с этими Z80, по коим уже смотрится, что и как тормозит процессор. Все легко просчитывается.
    На Пентагоне, например, сигнал Wait вообще не нужен, растактовка идет четко из инструкции Зайлога.
    Вот почему у буржуев все делается для людей, а у нас, как всегда, через жопу?

    Извините, мысли вслух.

  5. #114
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,062
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Нда уж... по уму, должны быть доки завода-изготовителя проца с описанием всех сигналов и растактовкой команд.
    На основании этих док производитель компа делает свои доки и схемы, корректируя данные под выпускаемое железо.
    Понимаю, что в СССР над растактовкой не парились и все делалось на глазок, но это подход ламеров, а не технарей.
    По-моему, вы просто не в курсе проблемы.
    Уже давно есть полная и точная модель этого процессора в Verilog, из неё так просто тактирование команд не получишь, но дело же не в только тактах процессора.
    В каждой команде процессор ожидает ответа от устройств на шине - ПЗУ, ОЗУ и ввода-вывода.
    Параллельно работает формирование видео, которое сильно мешает работе с памятью.
    Больше того, время ответа устройств - не фиксировано, оно плавает - как между экземплярами устройства (разные номиналы RC-цепочек?), так и в зависимости от температуры (свежий пример - https://zx-pk.ru/threads/19866-demki...=1#post1125920 )
    Поэтому "всё легко просчитывается" - тут это так не работает.

    - - - Updated - - -

    Цитата Сообщение от reddie Посмотреть сообщение
    Вот почему у буржуев все делается для людей, а у нас, как всегда, через жопу?
    Потому что вы сравниваете несравнимое - с одной стороны, продукт для высоко-конкурентного рынка, а с другой - продукт для пустого голодного рынка, готового съесть всё что на него выйдет, какого бы качества ни был продукт.

  6. #115
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    По-моему, вы просто не в курсе проблемы
    Да и не отрицаю этого)) только недавно начал знакомиться с PDP и конкретно с БК, но уже в шоке от ужасов железа и кода.
    Чтобы от температуры микросхем/резисторов дергались времянки задержек - это фантастика (с)
    Не в том смысле, что я вам не верю, просто это не укладывается в рамки качественной _цифровой_ схемотехники.
    Тот же Спектрум (ну что поделать, я оттуда) не имеет никаких привязок к температуре. Включили - работает.
    Что через 3 секунды после запуска на холоде, что через 3 часа в жаре - количество сигналов Wait на процессор придет одинаково.
    Формирование видео идет как бы параллельно, Z80 очень продуманно чередует обращения к памяти, поэтому торможения вполне предсказуемы.
    Более того, при работе с ПЗУ никаких Wait нет вообще, проц тормозится только при обмене с ОЗУ. И то не на каждом компе - Пентагон, скажем, без Wait.
    Согласен, очень разные процессоры и схемотехника, но неужели нет заводских "исходников" о времянках проца?
    Я не обвиняю разработчиков и не накидываю, как говорится, на вентилятор, а действительно хочу разобраться в особенностях железа.

    Про ужасы кода... тут слегка другое: да, набор инструкций (вернее, режимы адресации) позволяет намного расширить возможности программирования,
    оставаясь со скромными шестью регистрами общего назначения. Но многие из этих инструкций жрут столько, что 8-битный Z80 уделывает 16-битный ВМ1,
    если переложить эти инструкции на код Z80. И очень мешает отсутствие отдельных портов ввода-вывода, как таковых, а также нормальной работы с 8-бит числами.

  7. #116
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,996
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    И очень мешает отсутствие отдельных портов ввода-вывода
    Цитата Сообщение от Vslav Посмотреть сообщение
    I/O порты это вообще очень страшная вещь, стоившая индустрии миллиарды долларов, и эти счета до сих пор полностью не оплачены.
    В целом же - смысл жалеть о том, чего нет в принципе? Принять и использовать то, что есть. Как по мне - возможность использовать для общения с устройствами в/в любые команды и любые метода адресации - большая гибкость.

  8. Этот пользователь поблагодарил Hunta за это полезное сообщение:

    grf (01.08.2021)

  9. #117
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    В целом же - смысл жалеть о том, чего нет в принципе? Принять и использовать то, что есть
    Придется, что уж поделать... как было кем-то сказано - "понять это невозможно, но с этим придется жить"
    В том же топике, откуда взята эта цитата про миллиарды, человек "топил" за асинхронную (QBUS) шину ВМ1 и БК-шки.
    Вот теперь я могу сказать: для работы железа это, может быть, и удобно, но для программиста, в плане расчета таймингов
    синхронизации видеоэффектов - сущий кошмар. Рассчитаешь под свой конкретный комп, а на другом оно не так работает.
    Более того, комп постоял, прогрелся - оно и у тебя уже не так работает, как задумано. Меня еще там спрашивали про пруфы.
    Да вот они, пожалуйста https://zx-pk.ru/threads/19866-demki...=1#post1120846 и ниже по постам.

    На Спектруме о таких проблемах даже не слышали. Есть модель Пентагон - все демки под него работают одинаково на любом Пентагоне.
    Есть модель Скорпион (их несколько, но возьмем одну конкретную) - демки с таймингами под него работают одинаково на любом экземпляре модели.
    Даже сейчас, 20 лет ничего не "кодя" на ZX, могу по памяти рассчитать тактовку и набор команд, скажем, для вывода бегущей строки на бордюре.
    Потому что знаю, сколько такая-то команда займет тактов. Без реального железа, даже на бумаге. И не заглядывая в справочники команд.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Как по мне - возможность использовать для общения с устройствами в/в любые команды и любые метода адресации - большая гибкость
    С этим полностью согласен, система адресации команд процессора бомбическая. Но когда непредсказуемым образом скачет время команды - это не есть гут.

    Опять скатываемся в оффтоп, прошу прощения у тех, чьи чувства были задеты.

  10. #118
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Как по мне - возможность использовать для общения с устройствами в/в любые команды
    IN/OUT команды в 8080 и потом в x86 - это временная затычка в попе, а не возможность. Схемотехника и экономика тех лет требовала наличия устройств на той же самой шине что и память. При этом, любая программа с ошибочной инструкцией записи в память (а там обычно есть и косвенная адресация, типа адрес в регистре, который легко может быть неверным) могла спокойно нарушить работу внешних устройств. Нужна была изоляция, хоть какая-то - вот и всобачили отдельные инструкции IN/OUT на 8080 и ошибочная "stax B" уже устройства не достанет. На 8086 появились сегменты, но решили что этой изоляции недостаточно да и совместимость c 8080 нужна. Так они эту затычку и не достали, уже на 386 пришлось виртуализировать порты и изобретать IOMAP, и затем оно очень далеко зашло. В DEC тоже понимали важность изоляции устройств, но они делали нормальные машины и решение у них было предусмотрено правильное - MMU и защищенный режим. На старте это было дороговато, зато потом обеспечивало бы гладкое и недорогое развитие. Ну и колхоза в софте у них поменьше было, даже машины без изоляции портов типа LSI-11/1201.01/02 вполне нормально работали.

  11. Этот пользователь поблагодарил Vslav за это полезное сообщение:

    Radon17 (02.08.2021)

  12. #119
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,233
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    182 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    это временная затычка в попе, а не возможность.
    Hunta писал про ввод-вывод в ВМ1 работающий в общем адресном пространстве, ИМХО.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  13. #120
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    ввод-вывод в ВМ1 работающий в общем адресном пространстве.
    Насколько понял схемотехнику БК - процу вообще все равно, что куда писать. Решения принимает контроллер ВП-037.
    Для проца все адресное пространство просто массив, а что это - пзу, озу, порты (ака регистры) - решают за него. Так?

Страница 12 из 18 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Отличия БК-0011М от БК-0010(01)?
    от nzeemin в разделе БК-0010/0011
    Ответов: 22
    Последнее: 30.03.2021, 18:47
  2. БК-0010/0011: Разное
    от CD-Inc в разделе БК-0010/0011
    Ответов: 73
    Последнее: 30.07.2012, 16:58
  3. Начало выпуска БК-0011 и БК-0011М
    от dk_spb в разделе БК-0010/0011
    Ответов: 6
    Последнее: 14.10.2010, 14:22
  4. Отличие 0011 и 0011М
    от Kronshou в разделе БК-0010/0011
    Ответов: 11
    Последнее: 17.01.2010, 22:24
  5. Москва - куплю все связанное с БК-0010/0011
    от kt315b в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 04.10.2008, 05:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •