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

User Tag List

Страница 1 из 10 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 97

Тема: Вопросы программирования на ПЭВМ "ИРИША", "ИРИША-Л" и "ИРИША-М"

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Banned
    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ...
    Последний раз редактировалось Viktor2312; 01.02.2016 в 16:59.

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

  3. #2
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кое что уже делали
    вот ссылка
    я в ковырял там большой кусок, особенно с conout

  4. #3
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Viktor2312, ты меня извини..., но это больше похоже на изучение ассемблера для ВМ80.
    Посмотри 2-ой пост в этой теме -не пожалеешь, там esl давал ссылку на свои изыскания, он проделал очень большую работу. Практически всё разложено по полочкам: видна структура BOOTM и CONOUT.
    В таблице 9.1 есть несколько ошибок, перепутаны адреса подпрограмм: "CONIN", "CONSTAT", ".AROMR".
    Цитата Сообщение от esl Посмотреть сообщение
    названия функция по красной книжке, очень похоже на правду
    кроме того что в таблице входов ошибка
    58: AROMR
    5B: CONST
    5E: CONIN

    а реально

    58: CONST
    5B: CONIN
    5E: AROMR
    Посмотри аттач к этому посту.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  5. #4
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Viktor2312, не воспринимай так близко к сердцу, помочь хочется.
    Посмотри это http://zx.pk.ru/attachment.php?attac...4&d=1295181617, esl выкладывал. Там листинги (ИДА не нужна), правда мнемоника Z80. Если подождёшь до завтра, конвертну в формат ВМ80 (софт на другом компьютере, не сподручно). Могу выложить то что сделал esl, в таком же варианте, думаю он не будет против .
    Очень хороший вариант для изучения это эмулятор b2m.
    http://bashkiria-2m.narod.ru/
    http://bashkiria-2m.narod.ru/files/emu.rar
    В нём есть встроенный отладчик, очень хороший, можно всё смотреть как в живую. И память и регистры процессора. Попробуй.

    ---------- Post added at 01:16 ---------- Previous post was at 01:14 ----------

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Вот это оно?
    Да. В тех листингах о которых я упомянул это всё видно.
    Последний раз редактировалось KokaF77; 15.09.2011 в 01:22.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  6. #5
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Очень хороший вариант для изучения это эмулятор b2m.
    http://bashkiria-2m.narod.ru/
    http://bashkiria-2m.narod.ru/files/emu.rar
    В нём есть встроенный отладчик, очень хороший, можно всё смотреть как в живую. И память и регистры процессора. Попробуй.
    Вот именно, попробуй. А чтобы облегчить тебе задачу, расскажу, как я бы делал:
    1. Запускаем эмулятор, выбираем "Иришу".
    2. В меню выбираем View/Start debugger
    3. Перемещаемся на адрес 0000 (нажать Ctrl+G, ввести в верхнее поле 0)
    4. Ставим точку останова (нажать F9)
    5. Запускаем прерванную эмуляции (нажать F5)
    6. Нажать на тулбаре красную кнопку "Reset" (или нажать Ctrl+Break), снова появится отладчик, PC будет 0000, остальные регистры не изменились, но можно перейти туда клавишей Tab и установить нули. Таким образом получим ситуацию как после включения.
    7. Нажимая клавишу F8 смотрим результат исполнения каждой команды.

    В принципе, вместо пунктов 3-6 можно просто установить все регистры в ноль, включая и PC, получится то-же самое.

    И никаких справочников не надо

  7. #6
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    небольшая подпрограмма которая начинается с адреса 006FH нет случайно чего нибуд по этой подпрограмме
    В мнемонике ВМ80:
    Код:
    ROM:006F             _LDIR:
    ROM:006F
    ROM:006F 7E                          mov     a, m
    ROM:0070 12                          stax    d
    ROM:0071 23                          inx     h
    ROM:0072 13                          inx     d
    ROM:0073 0B                          dcx     b
    ROM:0074 78                          mov     a, b
    ROM:0075 B1                          ora     c
    ROM:0076 C2 6F 00                    jnz     _LDIR
    ROM:0079 C9                          ret
    В мнемонике Z80:
    Код:
    ROM:006F             _LDIR:
    ROM:006F
    ROM:006F 7E                          ld      a, (hl)
    ROM:0070 12                          ld      (de), a
    ROM:0071 23                          inc     hl
    ROM:0072 13                          inc     de
    ROM:0073 0B                          dec     bc
    ROM:0074 78                          ld      a, b
    ROM:0075 B1                          or      c
    ROM:0076 C2 6F 00                    jp      nz, _LDIR
    ROM:0079 C9                          ret
    Эта подпрограммка аналог команды пересылки LDIR микропроцессора Z80: загрузка с инкрементом до BC=0.

    Действие команды подобно пересылке блока данных при ПДП. Как для
    адресации, так и для счётчика байтов отведено по 16 бит, т.о. могут обрабатываться блоки любой
    длины и в любом месте памяти. Блоки данных могут также перекрываться. При HL=DE команда
    теряет смысл т.к. источник и приёмник идентичны. Следует обратить внимание, что при
    обработке команды сначала пересылаются данные, только затем декрементируется ВС, и на
    основании этого решается вопрос о цикличности команды, выполнять дальнейшую пересылку
    данных либо прекратить команду. После выполнения команды BC=0.
    У ВМ80 её нет, поэтому есть эта подпрограмма.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    ... она пишет информацию в память начиная с адреса FF74H.
    Я так понял ты об этом фрагменте:
    Код:
    ROM:024B 21 97 00                    lxi     h, 0097h
    ROM:024E 01 10 00                    lxi     b, 10h
    ROM:0251 11 74 FF                    lxi     d, FF74h
    ROM:0254 CD 6F 00                    call    _LDIR
    С адреса FF74h располагается "область сохранения текущего режима ASRAR" (16 байт) программы CONOUT. Здесь заносятся в эту область начальные значения, при инициализации системы. В HL загружаем адрес откуда переслать, в DE - куда, в BC - сколько байт.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И ещё один вопросик я так понял, что с адреса 0000H начинается программа BOOTM и почти 8 Кбайт занимает заканчивается адресом 1BFF.
    Потом с адреса 2000H начинается CONOUT и заканчивается адресом 3FFF. А с адреса 4000H начинается ОЗУ?
    Так и есть. Только это верно при включенной нулевой карте памяти.
    По поводу BOOTM: для неё отведён диапазон адресов в ПЗУ 0000-1FFFh.

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    И все программы грузятся в ОЗУ с адреса 4000H, так как адреса ниже просто не доступны для записи, так как это ПЗУ?
    Опять же это верно для нулевой карты памяти. Она включается при старте компьютера, а так же когда необходимо обратиться к подпрограммам находящимся в ПЗУ модуля процессора. При включении других карт памяти, в этой области располагается ОЗУ. При выборе программы "МОНИТОР" в стартовом меню, включается первая карта. А в ней по адресам ниже 4000h располагается ОЗУ.

    Ниже пара карт распределения памяти из МПСиС.

    Эта попроще.
    Цитата Сообщение от KokaF77 Посмотреть сообщение
    PC2,3
    00 - ROM,RAM1,RAM2,VRAM
    01 - RAM3,RAM1,RAM2,VRAM
    10 - RAM3,RAM1,RAM2,RAMx
    11 - VRAM,RAM1,RAM2,RAM3

    RAMx - 3 страница (P0=1, P1=1), адреса 0000h-3FFFh
    Её достаточно для запуска ПЭВМ в минимальной конфигурации. А так же для работы с МСИ.

    Эта посложнее.
    PC2,3
    00 - ROM,RAM1,RAM2,VRAM
    01 - RAM3,RAM1,RAM2,VRAM
    10 - RAM3,RAM4,RAM2,RAM5
    11 - RAM3,RAM6,RAM2,RAM7
    Именно эта карта необходима для взаимодействия МП с КНГМД.
    Последний раз редактировалось KokaF77; 15.09.2011 в 17:58.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  8. #7
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А какими командами (или Esc-последовательностями) задаётся режим экрана для CONOUT? Через порты переключить несложно, но драйвер вывода об этом ведь не узнает.

  9. #8
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Судя по твоим скриншотам, ты уменьшил окно эмулятора. Выбери в меню 1:1, иначе изображение будет размыто, и разницы действительно не заметно.

  10. #9
    Veteran Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Вот тут лично мне немного не понятно насчёт второй страницы, а где первая и откуда появилась вторая страница. У нас на модуле имеется 8 микросхем ОЗУ К565РУ5 что даёт нам один полноценный банк памяти объёмом 64 Кбайт с адресами естественно 0000H по FFFFH. А вот второй банк начинается с адреса 20000H по 2FFFFH . Но у нас в минимальной конфигурации имеется только 8 микросхем, не понятно пока...
    Вся память адаптера дисплея физически находится во второй странице (P0=0, P1=1). Первая страница используется для доступа к ОЗУ КНГМД. Процессор же видит "своё адресноё пространство", через призму 155РЕ3. Об этом уже не раз говорилось. Причём для ЦП видео-ОЗУ находится по адресам C000h-FFFFh.
    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    и считаем содержимое регистров, чтобы было понятно, что в них записано после старта
    Ты на живой машине попробуй прочитать, это только в эмуляторе возможно. См. схему.
    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Монохромный значит чёрно-белый, ну в крайнем случае градации серого, но никак не Синий, Зелёный и т. д.
    Монохромный - это одноцветный: моно - один, хрома - цвет.

    Прямым воздействием на контроллер дисплея через его регистры переключать режимы не совсем корректно. О текущем режиме должна ещё знать и программа, которая с ним работает. Это видно наглядно когда переключили в 3-ий режим и получили кракозябры на экране. Кстати, если обратили внимание, то работа фактически происходит с областью памяти 1-ой страници видео-ОЗУ режима 1. Это касаемо приведённых выше картинок.

    b2m не зря говорил про ESC-последовательности.
    Достаточно ручками включить 2-ой или 3-ий режим. Результат не заставит себя долго ждать.

    P.S. Вопрос к b2m: мне кажется, или на самом деле с 3-им режимом не всё гладко?
    Последний раз редактировалось KokaF77; 13.11.2011 в 20:39. Причина: P.S.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  11. #10
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    P.S. Вопрос к b2m: мне кажется, или на самом деле с 3-им режимом не всё гладко?
    А что именно не нравится? Цвета, или смещение букв? То, что буквы после переключения в 3-тий режим не выровнены по левому краю связано с тем, что в этом режиме нет "дырки" между частями видеопамяти, соответствующей первой и второй страницам режима низкого разрешения.

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

    ---------- Post added at 23:47 ---------- Previous post was at 23:42 ----------

    Кстати, да, ESC+Q+N включает третий режим, подобрал методом тыка. Только почему-то снизу экран обрезан. И экран не очищается.

    ---------- Post added at 23:49 ---------- Previous post was at 23:47 ----------

    ESC+Q+G - второй режим (4х цветный).

    ---------- Post added at 23:50 ---------- Previous post was at 23:49 ----------

    ESC+Q+E - первый режим (стандарт)

    ---------- Post added at 23:55 ---------- Previous post was at 23:50 ----------

    На разные буквы реагирует, в чём разница - пока не понятно.

    ---------- Post added at 23:58 ---------- Previous post was at 23:55 ----------

    ESC+Q+D и ESC+Q+E выбирают разные страницы.

    ---------- Post added 14.11.2011 at 00:05 ---------- Previous post was 13.11.2011 at 23:58 ----------

    Я понял, почему снизу обрезано - межстрочное расстояние меньше, а количество строк осталось то же (видимо, задаётся другими командами).

    ---------- Post added at 00:11 ---------- Previous post was at 00:05 ----------

    Сведём воедино:
    ESC+Q+A 320x200 страница 1 (E000-FFFF)
    ESC+Q+B 640x200
    ESC+Q+C 320x200 4 цвета (второй режим)
    ESC+Q+D 320x200 страница 0 (C000-DFFF)
    дальше повторяется до буквы P
    ESC+Q+P выключить экран (вроде бы)
    дальше то же

Страница 1 из 10 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 23
    Последнее: 02.02.2023, 21:21
  2. FAQ по ПЭВМ "ИРИША", "ИРИША-Л" и "ИРИША-М"
    от Viktor2312 в разделе Ириша
    Ответов: 5
    Последнее: 04.10.2016, 02:32
  3. Ответов: 14
    Последнее: 14.11.2012, 21:53
  4. Ответов: 42
    Последнее: 15.06.2012, 07:51
  5. В помощь собирающим ПЭВМ "Ириша-М". Продажа
    от Viktor2312 в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 08.06.2011, 17:30

Ваши права

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