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

User Tag List

Страница 16 из 34 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 338

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

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

    По умолчанию

    В что?

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

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

    По умолчанию

    Выкладываю. Особо там не чистил) Но вроде работает.
    Вложения Вложения

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

    По умолчанию

    Из всех скинутых примеров реально работает (именно так как надо, без дырок на 50Hz) только от DDp (http://zx-pk.ru/threads/25076-mir!-t...l=1#post801055). Пытаюсь скомпилить на winasm'е с fasm'ом, естественно, fasm не понимает
    HIGH FUNCTION X,((X shr 8) and 0ffh)
    LOW FUNCTION X,(X&0ffh)
    Это можно заменить на какие-нибудь константы?

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    http://zx-pk.ru/threads/27478-sekret...l=1#post904186

    Чтобы убрать две межстрочные линии, нужно выставить количество линий в строке равное 8. Для сохранения режима 50Hz количество видимых строк увеличить до 30, а верхний и нижний отступы довести до 4-х.
    С данным кодом поведение в эмуляторах такое, что просто разъезжается экран (т.е., он как будто бы становится больше), а на реальной машине вот такое поведение - http://my-files.ru/sf3iwi
    Синхронизация слетает.. При настройках в 8 линий в строке (line_per_row), количество видимых строк 30 (v_act), отступы (v_back, v_frone) по 4 сверху и снизу.

    Что я делаю не так?

  5. #154
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,668
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    исходники от DDp под ассемблер X8085 и компиляцца, и работают после. Довольно хороший асм, но я все равно под ужасм переделывал, привычнее, чо. В моем примере в принципе то же самое, но в формате Z80.

    Цитата Сообщение от norduk Посмотреть сообщение
    Но вроде работает.
    Ага. Заменил 7 инструкций, и у мну заработало правильно.
    Profi v3.2 -=- Speccy2010,r2

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

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    С данным кодом поведение в эмуляторах такое, что просто разъезжается экран (т.е., он как будто бы становится больше), а на реальной машине вот такое поведение - http://my-files.ru/sf3iwi
    Синхронизация слетает.. При настройках в 8 линий в строке (line_per_row), количество видимых строк 30 (v_act), отступы (v_back, v_frone) по 4 сверху и снизу.

    Что я делаю не так?
    Всё правильно делаете, это мой код немного неудачно написан - если строк больше какого-то количества, то вместо символов в экран лезут уже атрибуты. Не стал исправлять, так как этот момент наглядно показывает уплывание экрана на рк86 при случайном попадании атрибута в экранную область. Надо выставить 1 в параметре no_trans_attr, тогда ничего уплывать не будет.
    Плюс к этому параметр under_line должен быть 8 или меньше, иначе не отображаются верхняя и нижняя строки в знакоряде. И параметр offset_line выставлен в 1, иначе символы псевдографики будут покорёжены.
    Последний раз редактировалось SegaBoy; 24.11.2017 в 09:45.

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

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    исходники от DDp под ассемблер X8085 и компиляцца, и работают после. Довольно хороший асм, но я все равно под ужасм переделывал, привычнее, чо. В моем примере в принципе то же самое, но в формате Z80.
    Ага. Заменил 7 инструкций, и у мну заработало правильно.
    Ну да. Остаётся вопрос: как-таки дырки убрать?) Т.е., включить мегарежим.
    Вероятно, нужна правильна последовательность отправленных команда на ВГшку и ВТшку, но я, хоть убей, не врубаюсь, какая)

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

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Всё правильно делаете, это мой код немного неудачно написан - если строк больше какого-то количества, то вместо символов в экран лезут уже атрибуты. Не стал исправлять, так как этот момент наглядно показывает уплывание экрана на рк86 при случайном попадании атрибута в экранную область. Надо выставить 1 в параметре no_trans_attr, тогда ничего уплывать не будет.
    Плюс к этому параметр under_line должен быть 8 или меньше, иначе не отображаются верхняя и нижняя строки в знакоряде. И параметр offset_line выставлен в 1, иначе символы псевдографики будут покорёжены.
    По результатам: в emu80v4 - черный экран, в emub2m - черный экран. Код транслировал winasm+fasm. Вечером попробую на реале.

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

    Раз уж на то пошло, то, естественно, после того, как я получу режим без дырок между строчками, мне потребуется цвет)

  8. #157
    Activist Аватар для SegaBoy
    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    388
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    79
    Поблагодарили
    58 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    По результатам: в emu80v4 - черный экран, в emub2m - черный экран. Код транслировал winasm+fasm. Вечером попробую на реале.
    ...
    Я использовал Прекрасный ассемблер. Проверял в emu v1.01 (так он о себе сообщает) и в emu80 v4.0.266, в обоих случаях выбрав конфиг Радио-86РК. А так же на реальном Апогее (поправив адреса портов и подпрограмм).
    Во вложении скриншоты с эмуляторов и сгенерированый .rk файл.

    П.С. В прошлом сообщении перепутал - параметр offset_line должен быть сброшен в 0.
    Последний раз редактировалось SegaBoy; 07.12.2017 в 00:59.

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

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Я использовал Прекрасный ассемблер. Проверял в emu v1.01 (так он о себе сообщает) и в emu80 v4.0.266, в обоих случаях выбрав конфиг Радио-86РК. А так же на реальном Апогее (поправив адреса портов и подпрограмм).
    Во вложении скриншоты с эмуляторов и сгенерированый .rk файл.
    Вложение 63032

    П.С. В прошлом сообщении перепутал - параметр offset_line должен быть сброшен в 0.
    Сбросил, странлировал в "прекрасном" и вот что получил:

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

    [свернуть]


    Забегая вперёд, скажу, что изменения offset_line в моём случае ни на что не повлияли.

    А вот так выглядит болдер на этих же эмуляторах:

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

    [свернуть]


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

    И, да, кстати, на живой РК86 это болдер работает (с блекджеком и так далее).

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

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

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



    prompt equ 0F86Ch
    clr_scr equ 0FACEh
    wait_any_key equ 0xF803 ; ожидание нажатия клавиши

    screenlc equ 077D0h ; фиксируем левый верхний угол видеопамяти
    screenh equ 25 ; высота видимой области
    screenw equ 64 ; ширина видимой области

    ; параметры горизонтальной строки (в символах)
    h_back equ 8 ; отступ слева
    h_act equ 64 ; видимых символов в строке
    h_front equ 6 ; отступ справа
    h_sync equ 8 ; строчный синхроимпульс (2..32)
    h_total equ h_back + h_act + h_front ; общее количество символов в строке без учёта синхроимпульса (1..80)


    scr_addr: dw 0000h

    org 0100h

    InitDisplay:
    xra a
    sta 0xC001
    mvi a,04DH
    sta 0xC000
    mvi a,022H ;в коде от SB - 25h
    sta 0xC000
    mvi a,077H ;в коде 97h
    sta 0xC000
    mvi a,053H
    sta 0xC000

    mvi a,027H
    sta 0xC001

    mvi a,080H
    sta 0xC001
    sta 0xC000
    sta 0xC000
    lda 0xC001
    lda 0xC001


    ani 020H

    InidDma:
    mvi a,080H
    sta 0xE008

    mvi a,000H
    sta 0xE004
    mvi a,060H
    sta 0xE004
    mvi a,0A9H
    sta 0xE005
    mvi a,04AH
    sta 0xE005

    mvi a,0A4H
    sta 0xE008

    mvi a,036H
    sta 0xA003
    mvi a,076H
    sta 0xA003
    mvi a,0B6H
    sta 0xA003

    mvi a, 0A4h
    sta 0xE008

    mvi A, 0Fh
    lxi HL, 078B2h
    repeat:
    mvi M, 11h
    inx H
    dcr A
    jnz repeat
    ;call repeat

    jmp prompt
    [свернуть]
    Вложения Вложения
    • Тип файла: rar buld.rar (5.7 Кб, Просмотров: 58)

  10. #159
    Activist Аватар для SegaBoy
    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    388
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    79
    Поблагодарили
    58 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Монитор РК86 выставляет такие параметры инициализации ВГ75:
    0x4D - символов в строке = 78
    0x1D - строк в кадровом импульсе = 1, строк в кадре = 30
    0x99 - подчёркивание на линии 10, количество линий в строке = 10
    0x93 - первая линия символа -1, невидимые атрибуты, курсор мигающее подчёркивание, строчный синхроимпульс = 8 символов

    Болдер инициализирует ВГ75 так:
    0x4D - символов в строке = 78
    0x22 - строк в кадровом импульсе = 1, строк в кадре = 35
    0x77 - подчёркивание на линии 8, количество линий в строке = 8
    0x53 - первая линия символа 0, невидимые атрибуты, курсор мигающее подчёркивание, строчный синхроимпульс = 8 символов

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

    Цитата Сообщение от norduk Посмотреть сообщение
    ...
    Что-то мы делаем не так)
    ...
    Ну да, похоже на то = ))

    Добавил процедуру инициализации экрана в пример draw_pic - экран становится уже, переходит в режим 60Hz, но всё работает. Проверил на двух эмуляторах.

    Вложение 63038
    Последний раз редактировалось SegaBoy; 07.12.2017 в 01:00.

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

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Добавил процедуру инициализации экрана в пример draw_pic - экран становится уже, переходит в режим 60Hz, но всё работает. Проверил на двух эмуляторах.
    Вложение 63037Вложение 63038
    Клёво, это то, что надо. А исходник можно увидеть?

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

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

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

Эту тему просматривают: 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

Ваши права

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