1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Незаслуженно забытый. ПК-01 Львов

Тема в разделе "IBM PC-несовместимое", создана пользователем Zelya, 26 ноя 2010.

  1. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Представьте, спектрумиста, который сумел пообщаться с Синклером.... А вот интервью "Львовского" Синклера - доцента Пуйды В.Я. (на украинском, перевод позже)
    Итервью
     
    Последнее редактирование: 6 ноя 2011
    Bato-San, kreol и Dimouse нравится это.
  2. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Последнее редактирование: 27 дек 2011
    unreal doom, realavt, hobot и 3 другим нравится это.
  3. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Последнее редактирование: 30 дек 2011
    Dimouse, Gamerun и Bato-San нравится это.
  4. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Благодаря усилиям уважаемого doorsfan коллекция игр пополнилась, казалось утерянными, "Мерлинами" от Роговского: Merlin 2, Merlin 5 и Merlin 6. Merlin 4 оказался испорченным и сейчас находится на рестварации. Merlin 7 был залит немногим ранее. А также Twinz от легендарных Мамонтовых. Но и это еще не все! На форум зашел сам Чистяков, собственной персоной, и принес свой Galaxy! Новый Год продолжается!
     
    hobot, realavt, Gamerun и 4 другим нравится это.
  5. TheBypasser

    TheBypasser

    Регистрация:
    7 июл 2006
    Сообщения:
    756
    Любопытный факт же - оный проц очень и очень напоминает старую добрую восьмиразрядную AVRку - как архитектурой, так и системой команд (чую, по оной причине ты свой дебаггер так назвал :) ). Уже чувствую, что, как говорят ныне, "баян" для большинства, так что ближее к сути вопроса - а попыток эмуляции на оном ядре не проводилось? Там даже не эмуляция - адаптация кода по сути (увы, с заменой неоторых команд макрокомандами и вытекающими проблемами синхронизации). В целом работать можно даже без особых заморочек, ибо внешняя RAM на многих МК поддерживается, а сектор видеопамяти можно сэмулировать передачей внешнему дисплею с оной, вшитой в драйвер.
     
  6. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    TheBypasser,
    Ну, с AVR я знаком мало (и название не от нее ;). Так что сказать что-либо про перенос софта затрудняюсь. Замена команд макрокомандами, обычно не такая и страшная проблема. Например, при адаптации на "Львов" игр с MSX (Тимошенко и Городецкий) некоторые "фирмовые" команды Z80 расписывались в инструкциях i8080. И ничего страшного :). А вот адаптировать софт со "Львова" будет труднее, так как те же адресса памяти могут быть как ОЗУ так и видео, в зависимости от состояние порта.
     
  7. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Zelya, В случае с ПК-8000 "Веста" был тот же баян с переключаемой видеопамятью, притом она ложилась поверх ПЗУ в первых 16K.

    А для эмуляции LDIR и других нестандартных команд можно тупо использовать RST после которого остальная часть команды идёт как параметр. То есть каждый обработчик прерывания соответствует префиксу Z80, а внутри уже смотрит по коду взятому из адреса добытого из стека возврата, что делать. Соответственно можно смоделировать, с некоторым тормозом, весь спектрум.:rolleyes:
     
  8. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Bato-San,
    У "Львова" нет прерываний. Это самое серьезное препятствие для "спектрумовских" переделок, динамичных игр и музыки.
     
  9. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Zelya, Что значит нет ?! NMI и у спектрума 48 небыло (на TR-DOS у 128 это кнопка снапшот). А у КР580ВМ80 их никто не откусывал. Адреса с 0 до 16384 - RAM. И ничто не мешает засунуть туда обработчики. Это аналог INT на i8086. Зачем путать то ?
     
  10. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Bato-San,
    На процессоре они поддерживаются, но на "Львове" - нет.
    Вот Вам цитата из документации:

    А вот, что по этому поводу сказал сам Пуйда:

     
  11. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Zelya, И что же произойдёт, когда процессор выполнит скажем RST8 ? Это же не прерывание от аппаратуры о котором речь у Пуйды. Это команда процессора. Она тупо затолкает в стек адрес возврата и прыгнет в подпрограмму. Однобайтовый Call это. Да, на них можно вешать контроллер прерываний, а можно и не вешать (что и делалось в большинстве микрокомпьютеров того времени). Я это имел ввиду. Вариант с контроллером прерываний вообще отрежет возможность такого использования команд, зато даст возможность "многозадачности".:rolleyes:
     
  12. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Ничего не произойдет. i8080 не имеет параметризированнного RST. Только восемь предефайненных с шагом по 8 байт:
    Код:
        C7  RST   0      0h
        CF  RST   4      8h
        D7  RST   1      10h
        DF  RST   5      18h
        E7  RST   2      20h
        EF  RST   6      28h
        F7  RST   3      30h
        FF  RST   7      38h
    В качестве однобайтового call они не подойдут, и для "Львова" толку от них почти нет.
     
  13. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Zelya, интересное утверждение. Ты хочешь сказать, что переход не производится и подпрограмма вызваная таким образом не исполняется ? И не сможет проанализировать, что там в стеке лежит и откуда её вызвали ? А почему тогда реальный процессор это легко и просто делает ? Такой метод эмуляции был использован на "весте" и "векторе".
     
  14. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Bato-San,
    Программа не может быть вызвана интсрукцией "RST 8", так как ее нет в процессоре i8080. Укажите, пожалуйста ее байт-код, если такой имеется. Для восьми поддерживаемых инструкций я это сделал. Возможно, я что-то не так понимаю.
     
  15. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Да. Поймал. :rolleyes:Хотя и несильно умно. Привык я к Z80 нотации и потому не делаю особой разницы - коды одни и те же. Речь шла о RST4 конечно же.

    А вот о чём я говорил в предыдущих постах:

    Фактически RST4 работает так:

    Push PC+1 ; Кладём в стек адрес следующей за RST команды
    JMP 0008 ; прыгаем на адрес исполнения прерывания (так оно и будет называться, независимо от наличия контроллера прерываний или чего там будет висеть на лапах проца.)

    Предположим, что мы хотим, что бы у нас RST4 эмулировал все команды Z80 с префиксом ED. Для этого в коде программы на Z80 заменяем все ED на RST4. И пишем код эмуляции.

    0008 pop D
    0009 push D
    000А Ldax D

    и дальше анализируем что там за код команды Z80. И переходим на нужную подпрограмму.

    На основе этого кода была написана когда то программа для РК-86 позволявшая программам "перемещаться" по памяти пренебрегая "жёсткой" адресацией.

    А аппаратные прерывания (скажем от таймера) тоже можно эмулировать, но это займёт дофига тактов.
     
    Последнее редактирование: 7 фев 2012
  16. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    Я не ловил. Просто я не совсем понимал, что Вы хотели сказать. Сначала я не понял про использование прерываний. Потом, когда Вы уточнили про команду RST, я подумал, что Вы предлагаете использовать RST X, где X - любой однобайтовый адресс. Теперь же я вижу, какую именно пользу Вы извлекаете из RST - это как раз однобайтовость самой команды (без параметра). Это позволяет легко заменить ED.

    Разве что написать полноценный эмуль процессора с отсчетом тактов исполняемых команд, что для i8080 почти недосягаемая роскошь
     
  17. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Ну:rolleyes: несовсем таки так, на самом деле в случае львова - это вполне возможно и именно за счёт отсутствия внешних прерываний. На них время не убивается. Но гораздо проще доработать сам львов. Например прицепив к нему ВИ53.

    А что касается RST - вот тебе и материал для "Ассемблер i8080: уроки, практика, ПК-01" . Как раз что бы народ не путался где аппаратные прерывания, а где программные, чем они различаются и как их можно использовать оригинальным образом:rolleyes:
     
  18. TheBypasser

    TheBypasser

    Регистрация:
    7 июл 2006
    Сообщения:
    756
    Макры добавляют геморрой в случае хитрой синхронизации программы с теми же таймерами итп. А адреса - да, возможны некоторые проблемы. В случае, когда конкретный фрагмент кода работает с ОЗУ или с дисплеем - решается элементарно. А вот если одна и та же команда (имеется в виду одна и та же в коде, разумеется) в разные моменты времени тыкает то видеопамять, то ОЗУ - тогда проблемка будет иметь место.
     
  19. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    По результатам всенародного голосования на сайте была введена новая форма учета рекордов.
     
  20. Zelya

    Zelya

    Регистрация:
    20 апр 2007
    Сообщения:
    722
    "Первые ласточки перемен. Для счастливых обладателей FireFox 9 и выше теперь доступен звук в онлайн эмуляторе. Внизу появляется опция Enable Audio - ставим галочку и наслаждаемся. Опция, пока, работает в тестовом режиме. Возможна нектороая рассинхронизация, особенно на двойной скорости. Поэтому стартовая скорость эмулятора выставлена x1. Так же возможны искажения на машинах послабее. Просьба о всех багах уведомлять на форуме или на почту."
     
    Dimouse нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление