Программное перемещение видеопамяти в РК-совместимых компах

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Shaos »

shiny wrote:Видел статьи про доработки для цветов
http://www.radioliga.com/RL_91-95/3.2.htm

Такое делали вообще?
Да вот же - целая новая тема только про цвета на РК :lol:
viewtopic.php?f=93&t=22181
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

иээх, наверное emu80 не поддерживает?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Shaos »

shiny wrote:иээх, наверное emu80 не поддерживает?
Ну почему не поддерживает? Для Радио-86РК поддерживаются схемы Толкалина и Акименко (Самоцвет):
Screenshot from 2024-02-24 00-31-05.png
А вот цветной режим Апогея только в Апогее доступен:
Screenshot from 2024-02-24 00-36-57.png
Надо просить автора сделать его как опцию для РК тоже :roll:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

Спасибо, поглядел эти опции
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

Shaos wrote:Надо просить автора сделать его как опцию для РК тоже :roll:
Ага, и попросить добавить в версию qt msvcp140.dll и vcruntime140.dll

Выбрал опцию цветов Акименко, в отладчике записал по адресу 76D0 два байта 85 41 - экран начал скроллиться. Непонятно.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Shaos »

Чтобы произвольно цвета расставлять как по статье Акименко, нужно ПЗУ монитора поправить - по адресу #FADC надо написать #D3 вместо #93 - тогда ВГ75 будет инициализироваться с непрозрачными атрибутами (атрибут цвета будет выглядеть как пробел).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

Кстати, каков оптимальный диапазон для размещения видеопамяти? хватит ли для двух экранов адресов 76D0 и 7000 ?
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Alikberov »

shiny wrote:Кстати, каков оптимальный диапазон для размещения видеопамяти? хватит ли для двух экранов адресов 76D0 и 7000 ?
Оптимально универсального нету и зависит от конкретной задачи.
Например, отладчики могут использовать собственный буфер для отображения отладочной информации.
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

Alikberov wrote:Оптимально универсального нету и зависит от конкретной задачи.
двойная буферизация экрана например. Где-то упоминался подобный трюк.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Shaos »

Ну в РК видеопамять где угодно в ОЗУ может сидеть - хоть 14 экранов делай :lol:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

Что-то не выходит заявленный режим

Code: Select all

	.ORG 0
VG_75	.EQU $C000
VT_57	.EQU $E000
SA		.EQU $76D0
PUSK_VG:
       PUSH    h
       lxi      h,VG_75+1
       mvi      m,0          ; reset commando
       dcx     h              ; адрес VG_75
       mvi      m,04DH       ; 0.1001101  77 (77+1 знакомест)
       mvi      m,01DH       ; 00.011101  29 (29+1 строк)
       mvi      m,99H        ; 1001.1001  9 9 (9+1 линия подчерк)
                               ; (9+1 линий в знакоместе)
       mvi      m,93H        ; 1.0.01.0011 счёт линий со смещением
                               ; атрибуты отображать пробелом
                               ; курсор - мигающая линия подчеркивания
                               ; ZZZZ= 3. Т.о 3*2+2= 8 тактов сдвига -
                               ; длина обратного хода луча в строке

       inx     h              ; адрес VG_75+1
       mvi      m,27H        ; Start display commando

       mov      A,m          ; read status (сброс бита прерывания)
AFAE1:  mov      A,m          ; read status
       ani     20H             ; mask 'Interrupt request flag'
       jz      AFAE1         ; ждем прерывания по VRTC

       lxi      h,VT_57+8
       mvi      m,80H
       mvi      L,4             ; VT_57+04
       mvi      m,SA&255     ; 0D0H
       mvi      m,SA/256    ; 076H
       inr     L               ; адрес VT_57+5
       mvi      m,23H        ; число байтов
       mvi      m,49H        ; режим
       mvi      L,8             ; VT_57+8
       mvi      m,0A4H
       POP     h
       RET
.END

пост
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Shaos »

Да тут вроде просто повторяет что есть в мониторе (коммент неправильный т.к. 93h делает атрибуты невидимыми) - что конкретно не выходит?
Если надо сделать атрибуты видимыми (чтобы синхронизация не слетала при ручном раскрашивании), то надо вместо 93h писать 0D3h...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by shiny »

в посте заявлено, что режим 64х25, но не похоже, что вышла такая ширина. Или я посчитал неправильно?
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Shaos »

Режим то всё так же 78х30 просто часть пустых символов по краям экрана используются как гашение и видимых там 64х24
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Программное перемещение видеопамяти в РК-совместимых ком

Post by Alikberov »

shiny wrote:Выбрал опцию цветов Акименко, в отладчике записал по адресу 76D0 два байта 85 41 - экран начал скроллиться. Непонятно.
Включите «антискролл»: Директивой M7FF2 впишите байтик F3 - для опытов хватит :idea: