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

User Tag List

Страница 151 из 152 ПерваяПервая ... 147148149150151152 ПоследняяПоследняя
Показано с 1,501 по 1,510 из 1517

Тема: Вектор-06Ц: Эмуляция

  1. #1501

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Забавное наблюдение по эмуляции процессора КР1821ВМ85А (он же i8085)... Вот такую картинку выдаёт программа clrspace в эмуляторе EMU:
    Нажмите на изображение для увеличения. 

Название:	clrspace1_emu.png 
Просмотров:	392 
Размер:	4.6 Кб 
ID:	81328

    А такую в эмуляторе VV:
    Нажмите на изображение для увеличения. 

Название:	clrspace_VV.png 
Просмотров:	360 
Размер:	8.7 Кб 
ID:	81327

    И та же программа на реале выглядит вот так, в нормальном режиме работы ПК-6128ц:


    Приведу вариант и в "ускоренном" режиме, хотя этот результат тут не имеет особого значения:


    В то же время оба эмулятора и реал (в нормальном режиме) показывают одинаковые результаты в тесте vstvi53. Сама программа clrspace, как я понимаю, имеет чёткое выравнивание по тактам процессора КР580ВМ80А и то, что картинка искажается на ВМ85, вроде, удивления не должно вызывать, но по факту имеем три разных варианта этих искажений.
    Последний раз редактировалось Improver; 08.10.2024 в 09:58. Причина: картинки с другого хостинга

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

    Pyk(30.09.2024)

  2. #1501
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #1502

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я бы поставил не на процессор, а на отличие в моменте прихода прерывания или каких-то других моментах связанных с разверткой. Эти особенности 6128 не тестировались.

    - - - Добавлено - - -

    Просто в качестве забавного факта. У меня есть версия clrspace, которая в emu выглядит как на приведенном фото реала. Но скорее всего это я ее (эту версию clrspace) испортил/модифицировал, и на реале она дала бы другую картинку.

  4. #1503

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #1504

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    важны ещё циклы записи палитры и когда эта запись доступна
    Может я путаю, но мне казалось, что у 6128 можно писать в РУ2 в любой момент, разве нет?

  6. #1505

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Может я путаю, но мне казалось, что у 6128 можно писать в РУ2 в любой момент, разве нет?
    Не совсем. Если запустить моделирование схемы ПК-6128ц, то там микросхемы К155РУ2 блокируются 8 раз на время ССИ перед КСИ и на 8 строк в конце сигнала КСИ, в это время палитру нельзя записать:
    Нажмите на изображение для увеличения. 

Название:	ME_155РУ2.png 
Просмотров:	378 
Размер:	3.8 Кб 
ID:	81331

    Если ошибок в перерисовке схемы нет, то в реале было также, а в моей схеме это было исправлено и запись палитры доступна в любой момент. А как запись палитры была реализована в эмуляторах -- не могу сказать...
    Последний раз редактировалось Improver; 30.09.2024 в 13:05.

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

    ivagor(30.09.2024)

  7. #1506

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    А как запись палитры была реализована в эмуляторах -- не могу сказать...
    В них даже для 06Ц зоны непрограммируемости не реализованы, кроме VV при включении соответствующей опции, вряд ли с 6128 ситуация лучше. Хотя помню, что по крайней мере в старых версиях Emu (скорее всего так и в новых) для 6128 была странность с непрограммируемостью палитры сразу после прерывания.

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

    Improver(30.09.2024)

  8. #1507

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию .cas-формат

    Вчера добавлял поддержку формата .cas в свой эмулятор. Добавлял, основываясь на анализе .cas-файлов, которые нашёл.
    Всё уже работает (по-крайней мере - те .cas-файлы, которые нашёл - все нормально запускаются), но возможно что-то я упустил. Поэтому есть несколько вопросов:
    1. В .cas-файлах могут храниться только Бейсик-программы? или могут быть и какие-то другие?
    2. Формат .cas (как я его понял, основываясь на реверсе):
    а) 0xD3,0xD3,0xD3,0xD3;
    б) ASCII-имя_файла, завершающееся тремя 0x00 подряд;
    в) 0x55[0 ... k байт. подряд], завершается 0xE6 (каково макс. возможное значение k?);
    г) 0xD3,0xD3,0xD3,0x00;
    д) тело_программы [1...n байт];
    е) 2 байта контрольной суммы.
    Всё ли правильно?
    И особенно интересен пункт "в": Может ли вместо 0xE6 быть его инверсия =0x19? И если да - тогда все байты после неё нужно инвертировать?
    В тех .cas-файлах, что удалось найти, везде только 0xE6.

  9. #1508

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rst Посмотреть сообщение
    1. В .cas-файлах могут храниться только Бейсик-программы? или могут быть и какие-то другие?
    В этом формате могут храниться файлы Бейсика, записанные по команде CSAVE, BSAVE и файлы Монитора-отладчика.
    Цитата Сообщение от rst Посмотреть сообщение
    2. Формат .cas (как я его понял, основываясь на реверсе):
    ...
    Всё ли правильно?
    Там примерно так должно быть:
    Формат CSAVE в CAS следующий:
    - 4 байта 0D3h
    - имя (до 127 байт)
    - 3 байта 0h
    - заголовок 768 байт 55h
    - синхробайт 0E6h
    - 3 байта 0D3h
    - байт 0h
    - байты файла ==========
    - 3 байта 0h
    - младший байт контр. суммы всех байтов файла без переноса
    - старший байт контр. суммы всех байтов файла без переноса

    Формат BSAVE в CAS следующий:
    - 4 байта 0D2h
    - имя (до 127 байт);
    - 3 байта 0h
    - заголовок 256 байт 0h
    - синхробайт 0E6h
    - ст., мл. байт адреса начала;
    - ст., мл. байт адреса конца;
    - байты файла ==========
    - 1 байт контр. сумма всех байтов файла без переноса

    Формат Монитора-отладчика совпадает с BSAVE, только имя файла ограничено до 11 байт.

    Некое описание форматов Вектора я собрал вот тут, если что...

    Эти 2 пользователя(ей) поблагодарили Improver за это полезное сообщение:

    Pyk(30.09.2024), rst(30.09.2024)

  10. #1509

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ok. Значит я правильно разобрал .cas-формат. И всегда только 0E6h. Без инверсии.

    Цитата Сообщение от Improver Посмотреть сообщение
    - байты файла ==========
    - 3 байта 0h
    Вот тут неясность: Я считал, что эти 3 байта 0 - входят в тело файла. И их туда включаю. В Бейсике (который в базовой поставке, v2.5 вроде) есть две ячейки в памяти, в которых хранится начало и конец программы в ОЗУ. И, если исходя из их содержимого вычислить размер программы, то он будет включать в себя эти 3 хвостовых 0.
    У меня в эмуляторе так описаны ячейки Бейсика:
    enum {BASIC_PRG_CSUM = 0x4015, BASIC_PRG_START = 0x4043, BASIC_PRG_END = 0x4045};
    Эти: BASIC_PRG_START, BASIC_PRG_END.

    Цитата Сообщение от Improver Посмотреть сообщение
    Формат BSAVE в CAS следующий:
    - 4 байта 0D2h
    - имя (до 127 байт);
    - 3 байта 0h
    - заголовок 256 байт 0h
    - синхробайт 0E6h
    - ст., мл. байт адреса начала;
    - ст., мл. байт адреса конца;
    - байты файла ==========
    - 1 байт контр. сумма всех байтов файла без переноса

    Формат Монитора-отладчика совпадает с BSAVE, только имя файла ограничено до 11 байт.

    Некое описание форматов Вектора я собрал вот тут, если что...
    Вот за это - Большое Спасибо! Получается, что .cas может содержать не только Бейсик-программы, но и в кодах. И что по содержимому их можно различать. Добавлю в свой эмулятор это.
    Последний раз редактировалось rst; 30.09.2024 в 15:27.

  11. #1510

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rst Посмотреть сообщение
    Вот тут неясность: Я считал, что эти 3 байта 0 - входят в тело файла. И их туда включаю. В Бейсике (который в базовой поставке, v2.5 вроде) есть две ячейки в памяти, в которых хранится начало и конец программы в ОЗУ. И, если исходя из их содержимого вычислить размер программы, то он будет включать в себя эти 3 хвостовых 0.
    Возможно и так, по крайней мере я в скетче ардуино-плеера заремил вывод этих трёх нулей, пометив, что они должны быть в файле BAS... Но в любом случае, без нулей в конце программы Бейсик будет выдавать ошибку, поэтому пометил этот момент в формате вывода.

    - - - Добавлено - - -

    Цитата Сообщение от rst Посмотреть сообщение
    И всегда только 0E6h. Без инверсии.
    Да.

Страница 151 из 152 ПерваяПервая ... 147148149150151152 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Общие вопросы
    от CityAceE в разделе Вектор
    Ответов: 867
    Последнее: 17.10.2025, 18:38
  2. Ответов: 9
    Последнее: 18.04.2009, 21:21
  3. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23
  4. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

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