Проще режим правильный выстаивить, чтобы атрибуты были пробеламиAlikberov wrote:Включите «антискролл»: Директивой M7FF2 впишите байтик F3 - для опытов хватитshiny wrote:Выбрал опцию цветов Акименко, в отладчике записал по адресу 76D0 два байта 85 41 - экран начал скроллиться. Непонятно.
Программное перемещение видеопамяти в РК-совместимых компах
Moderator: Shaos
-
Shaos
- Admin
- Posts: 24506
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Программное перемещение видеопамяти в РК-совместимых ком
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
А я еще думаю, я скучно живу
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
Интересная программа. А что с эмулем творится 
You do not have the required permissions to view the files attached to this post.
-
Alikberov
- Doomed
- Posts: 376
- Joined: 14 Oct 2019 18:10
- Location: Tashkent
Re: Программное перемещение видеопамяти в РК-совместимых ком
Тут корректная версия.shiny wrote:Интересная программа. А что с эмулем творится
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
нашел пример использования ДМА. Теперь для Emu80 адрес экрана $0035.
You do not have the required permissions to view the files attached to this post.
-
Shaos
- Admin
- Posts: 24506
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Программное перемещение видеопамяти в РК-совместимых ком
Ну в первом сообщении этого топика по сути тот же код = любые числа можно ставить вместо 76H и 0D0H
Тут правда ещё символы в 4 пиксела в высоту устанавливаются, что для РК86 бессмысленно т.к. если рисовать псевдографикой, то уж лучше во весь рост рисовать - 8 пикселов в высоту. Ну либо рисовать верхушками других символов...
Тут правда ещё символы в 4 пиксела в высоту устанавливаются, что для РК86 бессмысленно т.к. если рисовать псевдографикой, то уж лучше во весь рост рисовать - 8 пикселов в высоту. Ну либо рисовать верхушками других символов...
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
А, я сразу не понял, что это ДМА.
-
Shaos
- Admin
- Posts: 24506
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Программное перемещение видеопамяти в РК-совместимых ком
ВТ57 = ПДП = DMAshiny wrote:А, я сразу не понял, что это ДМА.
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
Набрал простой код заполнения экраном
Получается, что справа граница не задана? Или монитор не выставляет нужное разрешение 78х30?
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
You do not have the required permissions to view the files attached to this post.
-
Shaos
- Admin
- Posts: 24506
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Программное перемещение видеопамяти в РК-совместимых ком
А почему CN .EQU 74+2? Вот наверное поэтому оно и печатает только 76 символов в строку
P.S. Сделал 74+4 и получил все 78
P.P.S. Только на реале это работать не будет - синхронизация ТВ сорвётся т.к. по краям экрана должно быть "гашение"...
P.S. Сделал 74+4 и получил все 78
P.P.S. Только на реале это работать не будет - синхронизация ТВ сорвётся т.к. по краям экрана должно быть "гашение"...
You do not have the required permissions to view the files attached to this post.
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
Почему-то стало вылезать на следующую строку. Если изменить счетчик D, то внизу вылезает лишняя цифра.Shaos wrote:А почему CN .EQU 74+2? Вот наверное поэтому оно и печатает только 76 символов в строку
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
ох, сейчас все норм, работает. Похоже, фаза Луны не та(:
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
Засада(скрин)
Взял пример winxru, синхра улетела
Взял пример winxru, синхра улетела
You do not have the required permissions to view the files attached to this post.
-
shiny
- Maniac
- Posts: 324
- Joined: 14 Oct 2023 06:59
Re: Программное перемещение видеопамяти в РК-совместимых ком
Заработало, но с адресом $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
-
Shaos
- Admin
- Posts: 24506
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Программное перемещение видеопамяти в РК-совместимых ком
Экран большой получается (т.к. "всего 39 строк")
Если уталкивать в старые адреса больше строк (например без чёрных полос между), то надо укорачивать строки ставя #F1 справа от видимой части экрана - я примеры от vinxru на первой странице топика приводил и пробовал подправлять
Если уталкивать в старые адреса больше строк (например без чёрных полос между), то надо укорачивать строки ставя #F1 справа от видимой части экрана - я примеры от vinxru на первой странице топика приводил и пробовал подправлять
