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

User Tag List

Страница 17 из 34 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя
Показано с 161 по 170 из 338

Тема: Ассемблер Радио-86РК

  1. #161
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделайте генерацию QR кода!

  2. #162
    Activist Аватар для SegaBoy
    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    390
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    59 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    Клёво, это то, что надо. А исходник можно увидеть?
    Выделил вставленный мной фрагмент.
    Последний раз редактировалось SegaBoy; 07.12.2017 в 00:58.

  3. #163
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Вложение 63040
    Выделил вставленный мной фрагмент.
    Благодарю. Не дождался, полез дизассемблировать))) Но всё равно спасибо, так нагляднее.
    Кажется, стало получатся.

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

    Чуть позже доберусь до реального РК и поэкспериментирую на нём.

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

    Верно ли я понимаю, не вдаваясь в детали, что для программирования цвета мне нужно на ВГ75 отправить команду остановки вывода символов, далее какой-то спецкод цвета, далее снова включить вывод символов и далее все символы будут печататься тем цветом, код которого я отправил в ВГшку?

  4. #164
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    неверно. ничего отсанавливать не надо. Для цвета используются некоторые атрибутные символы. поэтому картинка и на ч\б будет. и на цветном, если этот режим загрузить. это елси не вдаваЦЦа в детали
    Ага, понял. Будем пробовать.

  5. #165
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Вложение 63040
    Выделил вставленный мной фрагмент.
    Результаты на реальном компе пока такие.
    На 60 герцах - http://radikal.ru/video/HpMbb3nnEhI
    На 50 герцах (исходник прилагаю) - http://radikal.ru/video/2iZhyg7rFFZ

    Цветные игры (в т.ч. болдер) на этом тв-тюнере тоже слетают, а вот демка от DDp функционирует корректно.
    Какие у неё параметры?

    Скрытый текст

    ;Compile with "Macro Assembler AS" http://john.ccac.rwth-aachen.de:8000/as/
    HIGH FUNCTION X,((X>>8)&0ffh)
    LOW FUNCTION X,(X&0ffh)
    ;
    include "config.asm"
    SCREEN: equ 746ch ;0x8000-78*38
    IF RADIO86RK
    CTRL_CRT: equ 0c000h
    CTRL_DMA: equ 0e000h
    ELSEIF MIKROSHA
    CTRL_CRT: equ 0d000h
    CTRL_DMA: equ 0f800h
    ELSEIF APOGEE
    CTRL_CRT: equ 0ef00h
    CTRL_DMA: equ 0f000h
    ENDIF

    org 0000h
    lxi sp,SCREEN-1
    lxi h,SCREEN
    xra a
    mov c,a
    clrscr1:mov m,c
    inx h
    ora h
    jp clrscr1

    lxi h,CTRL_CRT+1
    mvi m,80h
    dcx h
    mov m,c
    mov m,c
    inx h
    mov m,c
    dcx h
    mvi m,4dh
    mvi m,25h
    mvi m,07h
    mvi m,73h

    inx h
    mvi m,27h

    mov a,m
    wait0: mov a,m
    ani 20h
    jz wait0
    lxi h,CTRL_DMA+8
    mvi m,80h
    mvi l,04h
    mvi m,LOW(SCREEN)
    mvi m,HIGH(SCREEN)
    inr l
    mvi m,93h
    mvi m,4bh
    mvi l,08h
    mvi m,0a4h
    [свернуть]


    Из того, что я понял,

    0x4D - символов в строке = 78
    0x25 - строк в кадровом импульсе - ?, строк в кадре = 38 (?) или нет?

    собственно, больше я ничего и не понял.
    1) Как расшифровать 07h и 73h(3 и 4 параметры ВГшки)?
    2) Неясны значения функций, а точнее, непонятно как соотносятся
    screen_addr & 0x00FF из примера с LOW FUNCTION X,(X&0ffh) из исходника DDp (но здесь хотя бы логика аналогична), а вот тут
    screen_addr >> 8 из примера с HIGH FUNCTION X,((X>>8)&0ffh) из исходника.
    3) Как расшифровать 93h и 4bh (3 и 4 параметры ВТшки)?

    Чувствую, я уже близко)

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

    Такое ощущение, что с частотой и настройками ВГшки всё ок, а вот адресация видеопамяти идёт не пойми куда...
    Вложения Вложения
    Последний раз редактировалось norduk; 24.11.2017 в 22:18.

  6. #166
    Activist Аватар для SegaBoy
    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    390
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    59 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    Такое ощущение, что с частотой и настройками ВГшки всё ок, а вот адресация видеопамяти идёт не пойми куда...
    В этом исходнике (что в файле) экран вылазит за 0x7FFF - а что там у РК86, вроде ОЗУ уже нет?
    //0x76D0 + (78*38=2964) = 0x8264
    Может в этом проблема?

    В моём тестовом примере адрес экранной области можно указывать произвольный, тем самым не загоняя себя в рамки стандартного экрана. А зачем вообще его помещать с адреса 0x76DO? Пускай там живёт экран Монитора.
    Ну или если очень надо, то применять спецсимволы 0xF0, 0xF1, 0xF2 и 0xF3. Тогда нужно пересчитать размер экранной области пересылаемой контроллером ПДП.

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

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    1) Как расшифровать 07h и 73h(3 и 4 параметры ВГшки)?
    ...
    0x07 = UUUU_LLLL = 0000_0111
    0000 - линия подчёркивания = 1
    0111 - линий в строке = 8

    0x73 = M_F_CC_ZZZZ = 0_1_11_0011
    0 - символ выводится нормально, без сдвига
    1 - атрибуты отображаются в виде пустого знакоместа
    11 - курсор немигающее подчёркивание
    0011 - 8 символов в строчном синхроимпульсе

    Вот тут всё расписано http://emuverse.ru/wiki/Intel_8275/Документация. См. параметры команды Сброс.

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

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    3) Как расшифровать 93h и 4bh (3 и 4 параметры ВТшки)?
    ...
    = 0x4B93, где 0x4 это вид обмена ПДП (чтение), а 0xB93 = 2963 (78*38=2964 байта для пересылки контроллером ПДП в экранную область).
    Вроде так. Подробнее тут http://emuverse.ru/wiki/Intel_8257/Документация

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

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    2) Неясны значения функций, а точнее, непонятно как соотносятся
    screen_addr & 0x00FF из примера с LOW FUNCTION X,(X&0ffh) из исходника DDp (но здесь хотя бы логика аналогична), а вот тут
    screen_addr >> 8 из примера с HIGH FUNCTION X,((X>>8)&0ffh) из исходника.
    ...
    Это просто способ получить для ассемблера старший и младший байт начала экранной области.
    Последний раз редактировалось SegaBoy; 25.11.2017 в 11:22.

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

  8. #167
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    В этом исходнике (что в файле) экран вылазит за 0x7FFF - а что там у РК86, вроде ОЗУ уже нет?
    //0x76D0 + (78*38=2964) = 0x8264
    Может в этом проблема?
    Очень похоже. Мистика, в общем. Как оно и бывает)
    Взял дизассемблировал демку DDp, построчно вбил инициализацию ВГ и ВТ, отрисовал несколько кубиков - заработало.
    Перенёс код из примера со всеми константами - всё ещё работало.
    Перенёс свой код с рисунком - оно продолжает работать))

    В эмуляторе пашет, попозже попробую на реале.

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

    И на реале пашет! УРА!
    Вложения Вложения

  9. #168
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    Как запустить emu80 в режиме отладки?

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

    4 версия
    Alt-D, если еще актуально.

  10. #169
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Alt-D, если еще актуально.
    Да, актуально, спасибо. Но это я знаю) Речь о запуске самого эмуля сразу в режиме отладки.
    Это к вопросу об использовании оболочки winasm+fasm. Так вот в winasm можно указать путь к эмулятору как для запуска в нём транслированного кода, так и для отладки.

    В общем, не такая уж это необходимость запуск в режиме отладчика прямо из коммандной строки, но определённый смысл в этом есть)

  11. #170
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Продолжу свои нубские распросы.
    Итак, мы получили экран 50Hz без двух линий растра в каждой строке, таким образом склеили псевдографику, которой теперь можно полноценно рисовать.
    Естественно, что теперь охота получить цвет.
    Взял исходник, убрал всю алгоритмическую чушь, оставил только настройки видео и попытался вывести пару разукрашенных символов псевдографики - не вышло ничего.
    Ожидаемо при no_trans_attr=1 экран уплывает (уплывает, а атрибуты всё равно не применяются), при ноль - атрибуты также не применяются...

    Что делать?
    Исходник прилагаю.
    Вложения Вложения

Страница 17 из 34 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. РАДИО-86РК на Z80
    от Vladimir_S в разделе Радио-86РК
    Ответов: 310
    Последнее: 06.06.2017, 21:13
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. Радио 86рк на AVR
    от PWA в разделе Радио-86РК
    Ответов: 6
    Последнее: 10.06.2013, 13:01
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

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