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

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

Moderator: Shaos

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

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

Post by Shaos »

Alikberov wrote:
shiny wrote:Выбрал опцию цветов Акименко, в отладчике записал по адресу 76D0 два байта 85 41 - экран начал скроллиться. Непонятно.
Включите «антискролл»: Директивой M7FF2 впишите байтик F3 - для опытов хватит :idea:
Проще режим правильный выстаивить, чтобы атрибуты были пробелами :roll:
Я тут за главного - если что шлите мыло на 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 »

Интересная программа. А что с эмулем творится 8)
You do not have the required permissions to view the files attached to this post.
User avatar
Alikberov
Doomed
Posts: 355
Joined: 14 Oct 2019 18:10
Location: Tashkent

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

Post by Alikberov »

shiny wrote:Интересная программа. А что с эмулем творится 8)
Тут корректная версия.
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

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

Post by shiny »

нашел пример использования ДМА. Теперь для Emu80 адрес экрана $0035.
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Ну в первом сообщении этого топика по сути тот же код = любые числа можно ставить вместо 76H и 0D0H

Тут правда ещё символы в 4 пиксела в высоту устанавливаются, что для РК86 бессмысленно т.к. если рисовать псевдографикой, то уж лучше во весь рост рисовать - 8 пикселов в высоту. Ну либо рисовать верхушками других символов...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

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

Post by shiny »

А, я сразу не понял, что это ДМА.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

shiny wrote:А, я сразу не понял, что это ДМА.
ВТ57 = ПДП = DMA
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

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

Post by shiny »

Набрал простой код заполнения экраном

Code: Select all

;tasm -85 -b gfx.asm gfx.bin -l
;bin2tape -t rkr gfx.bin gfx.rkr

	.ORG 0
	.NOLIST
SA		.EQU $76D0
CN	.EQU 74+2
 lxi h,$76d0
 mvi d,25+5
ylp:
 mvi b,CN
 mvi a,48
xlp:
 mov m,a
 inx h
 inr a
 cpi 58
  jnz nolp
 mvi a,48
nolp:
 dcr b
  jnz xlp
 push d
 lxi d,78-CN
 dad d
 pop d
 dcr d
  jnz ylp
 JP $
.END
Получается, что справа граница не задана? Или монитор не выставляет нужное разрешение 78х30?
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

А почему CN .EQU 74+2? Вот наверное поэтому оно и печатает только 76 символов в строку

P.S. Сделал 74+4 и получил все 78 :mrgreen:
Screenshot from 2024-02-27 00-09-29.png
P.P.S. Только на реале это работать не будет - синхронизация ТВ сорвётся т.к. по краям экрана должно быть "гашение"...
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 »

Shaos wrote:А почему CN .EQU 74+2? Вот наверное поэтому оно и печатает только 76 символов в строку
Почему-то стало вылезать на следующую строку. Если изменить счетчик D, то внизу вылезает лишняя цифра.
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 »

Засада(скрин)
Взял пример winxru, синхра улетела
You do not have the required permissions to view the files attached to this post.
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 06:59

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

Post by shiny »

Заработало, но с адресом $4000. Меняю код на $76D0, изображения нет.

Code: Select all

set_crt3:
P_VG75:  mvi      A,0                     ; команда формат экрана
        sta 0C001H
        mvi      A,4DH                   ; 77 --> т.е 78 колонок
        sta 0C000H
        mvi      A,25H                   ; 37+1 строк (т.е всего 39 строк)
        sta 0C000H
        mvi      A,77H                   ; 8 линий в знакоместе, 8 подчёркив-е
        sta 0C000H
        mvi      A,53H                   ; 0101.0011
        sta 0C000H
        mvi      A,27H                   ; команда начало отображения
        sta 0C001H

        lda 0C001H; это чтобы очистить бит прерывания
WAIT:    lda 0C001H
        ani     20H                     ; ждём бит запроса на прерывание по VRTC
              jz WAIT

        mvi      A,80H
        sta 0E008H; E000 - адрес ПДП ВТ57
        mvi      A,0
        sta 0E004H; начальный адрес экрана 4000H
        mvi      A,40H
        sta 0E004H
        mvi      A,93H                   ; режим
        sta 0E005H
        mvi      A,4BH                   ; число байтов
        sta 0E005H
        mvi      A,0A4H
        sta 0E008H
        RET

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

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

Post by Shaos »

Экран большой получается (т.к. "всего 39 строк")

Если уталкивать в старые адреса больше строк (например без чёрных полос между), то надо укорачивать строки ставя #F1 справа от видимой части экрана - я примеры от vinxru на первой странице топика приводил и пробовал подправлять
Я тут за главного - если что шлите мыло на me собака shaos точка net