Просмотр полной версии : Ассемблер Радио-86РК
Ну да, немного многовато действий для программиста :)
Можно делать бОльшую часть в редакторе VS code, ну кто умеет и привык.
Я собираю в обычном редакторе, одной кнопкой собирается, другой - запускается в эмуле.
Кстати, а что делает bin2rk.com?
Я так думаю - делает заголовок файла. :0) Для Апогея, или RK или Микроша. у них есть небольшие, но различия.
Заголовки можно делать сразу и прямо в коде, ну плюс еще неск строк к основномуу коду.
FASM нашел, сторонним поиском, как всегда )
https://zx-pk.ru/threads/26805-paket-dlya-i8080-winasm-studio-fasm-g.html
там макросы прАвда под Специалист, но можно и под люБой другой видимо)
и то до этого был RISC PIC...
потом кучу лет 8ножечные процессоры с 2кБ ROM и 128байтам RAM
Ну для кого то и микроволновку запрограммировать - уже подвиг. Со стиралкой я пожалуй не справлюсь.
Если все равно на чем кодить - ну могу пример в мнемониках Z80 в личку кинуть. Мне на чужих примерах всегда удобнее учитЬся, но всем по разномуу
Vladimir_S
10.05.2020, 14:23
Кстати Прекрасный ассемблер действительно прекрасный.
пишу код на сайте rk86.ru, тк он хотя бы ошибки показывает,
но там не поддерживается апогей =)
потом перекидываю в www.asm80.com, там компилирую в intel hex
потом перегоняю hex2bin
и далее под dos-box перегоняю с помощью bin2rk.com в RKA =)))
проверяю в Emul80 =)
бинго =)
но для того, что бы скомпилировать, нужно сделать кучу действий, чувствую, что
что-то делаю не так =)
Попробуйте здесь Прекрасный ассемблер (http://sensi.org/~svo/i8080/)
Если нажать на "рыбу", то можно выбрать и Апогей. Ассемблерный текст можно странслировать и в .rk, и в .hex, и в .bin, и в .wav, и даже сразу проиграть звуком.
То есть не нужно всех выше описанных вами телодвижений. Получили файл .rk - кинули его в эмулятор если надо проверить/отладить. Подключили Апогей к звуковому выходу - и прямо в ассемблере нажали Play.
Vladimir_S
10.05.2020, 15:56
А еще лучше здесь:
https://svofski.github.io/pretty-8080-assembler/
Всем больше спасибо)
пока остановился на прекрасном ассемблере )
есть, конечно, проблема с тем, что сохраняться он сам не сохраняет
(или можно, что бы он хотя бы в кеше куда-то сохранял?)
ещё такой, а куда ссылается указатель кучи? где обычно её располагают?
ps: оооо! я открыл для себя в Emul80 отладчик! =) вот это песня, разработчику респект =)))
Vladimir_S
11.05.2020, 13:44
есть, конечно, проблема с тем, что сохраняться он сам не сохраняет
Пиши на NOTEPAD++ под расширением ASM. Написанное копируешь и вставляешь в прекрасный ассемблер вместо
родного текста.
немного офтопа, расскажу чем занимался всю ночь...
я Апогей как первую неделю вижу =) ну думаю, нужно написать что-нибуть, покодить ассемблер
в прекрасном ассемблере...
ну думаю, звук тут аппаратный, точно ничего сложного быть не может...
ага-ага... интересно, почему я подумал, что звук это самое простое в этом компе =)))
ну, вот, во вложении мало ли кому будет интересно, то что я смог собрать на три спикера =)
ps: прога не зациклена, когда память заканчиватеся (через минуты три, улетает за край памяти...)
72575
Для одной ночи неплохо, но есть гораздо лучшие примеры той же BadApple. Тут на форуме же)
А так то да, ВИ-шку программировать забавно по своемуу :)
"но есть гораздо лучшие примеры той же BadApple"
ссылочки бы =)))
я тут новенький =)
ps: если совсем оффтоп - то в личку)
Яблоко не помню кто делал, может один известный "Ушелец".Но вот тема от другого автора
https://zx-pk.ru/threads/29077-igraem-melodii-na-vi53.html
Коллеги, подскажите, как быстро и эффективно в РК-86 (точнее Апогей БК01)
поменять вывод экрана с другой области памяти, условно с e1d0 на d1d0
что бы обеспечить что-то вроде двойной буферизации? =)
спс
Коллеги, подскажите, как быстро и эффективно в РК-86 (точнее Апогей БК01)
поменять вывод экрана с другой области памяти, условно с e1d0 на d1d0
что бы обеспечить что-то вроде двойной буферизации? =)
спс
Нужно в третий канал ПДП ($f006) записать новый адрес экрана.
Скопировать п/п настройки ВГ75,ВТ57 и изменить в ней адрес.
Нужно в третий канал ПДП ($f006) записать новый адрес экрана.
спасибо!
достаточно записать примерно так?
lxi h, $f006
mvi m, $d1
mvi m, $d0
а в какой момент правильнее? сразу после получения импульса начала кадра?
интересно, как себя ведёт контроллер, когда ему посреди кадра меняют адрес... хмм...? =)
спасибо!
достаточно записать примерно так?
lxi h, $f006
mvi m, $d1
mvi m, $d0
Да, этого вполне достаточно.
а в какой момент правильнее? сразу после получения импульса начала кадра?
интересно, как себя ведёт контроллер, когда ему посреди кадра меняют адрес... хмм...? =)
Можно в любой момент - ждать кадровый импульс в данном случае вообще не нужно.
Вот можете попробовать пример:
begin:
lxi h, $eaf3
lxi d, $d1d0
lxi b, 2340
copy:
mov a, m
dcx h
ani 01111111b
stax d
inx d
dcx b
mov a, c
ora b
jnz copy
check:
lda $ed02
rlc
rlc
jc key
mvi a, $d0
sta $f006
mvi a, $d1
sta $f006
jmp check
key:
rlc
jc check
mvi a, $d0
sta $f006
mvi a, $e1
sta $f006
jmp check
Нажатие кнопок УС и СС переключает экраны.
- - - Добавлено - - -
Скопировать п/п настройки ВГ75,ВТ57 и изменить в ней адрес.
Если нужно создать два-три или более одинаковых по параметрам экранов, но находящихся по разным адресам в памяти, а потом быстро переключаться между ними, то менять настройки ВГ75 и ВТ57 целиком не выгодно. Проще и быстрее посылать в третий порт ПДП адрес нового экрана.
lxi h, $f006
mvi m, $d1
mvi m, $d0
Только надо «ногами вперёд», точнее младшим байтом
- - - Добавлено - - -
а в какой момент правильнее? сразу после получения импульса начала кадра?
интересно, как себя ведёт контроллер, когда ему посреди кадра меняют адрес... хмм...? =)
Регистры канала 3 контроллера ПДП хранят значения для канала 2. Обновление данных в канале 2 значениями из канала 3 происходит уже после окончания текущего цикла ПДП, в момент получения нового запроса от ВГ75.
Можно рассмотреть такой сценарий - пока происходит отображение буфера 1, можно сколь угодно долго вычислять и заполнять буфер 2. Когда все манипуляции закончены, то устанавливаем в канал 3 контроллера ПДП адрес буфера 2. После этого можем подождать кадровый синхроимпульс и начать заполнять буфер 1.
Нажатие кнопок УС и СС переключает экраны.
- - - Добавлено - - -
Если нужно создать два-три или более одинаковых по параметрам экранов, но находящихся по разным адресам в памяти, а потом быстро переключаться между ними, то менять настройки ВГ75 и ВТ57 целиком не выгодно. Проще и быстрее посылать в третий порт ПДП адрес нового экрана.
чувак, ты крут! спасибо за пример! работает =)))
ps: пример прикольный =)
- - - Добавлено - - -
может кому-то будет интересно, пробовал быстро что-то вывести на экран,
уперся в "простую" проблему - не могу быстро очистить экран, в итоге перебрал разные
вариант, нашел не самый очевидный (хотя может быть это с моей точки зрения самоучки, он не очевидный)
этот метод раз в пять быстрее, чем очистка путем прямой записи в память
собственно, в чем вопрос, может быть есть более простые способы быстрой очистки экрана?
спс
clear_screen:
lxi h, 0
dad sp
shld sp_temp ; сохраняем позицию sp
lhld vid_end_addr ; грузим позицию конца кадра в адрес sp
sphl
lxi h, $2020 ; грузим пробелы в hl
mvi b, 15 ; количество строк 30/2 = 15
clr_scr0
mvi c, 9 ; элементов в строке 72/8=9
clr_scr1
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
push h ; зачищаем одной командой два байта...
dcr c
jnz clr_scr1 ; вот этот прыжек съедает кучу тактов почему-то, приходится "расширять" тело цикла, что реже приходилось прыгать
dcr b
jnz clr_scr0
lhld sp_temp ; восстанавливаем sp
sphl
ret
HardWareMan
18.05.2020, 06:15
Pyhesty, в Специалисте это было испокон изначально:
https://jpegshare.net/images/4a/ee/4aee5751630889744974cda24620caf7.png
нормально =))) очередное изобретательство велосипедов =)
спс, ну значит у меня норм вариант =)
ps: я не знаю как раньше что-то разрабатывали без эмуляторов ) это же просто ужас,
так ты что ли на листочке считать...
pss: кстати, а где можно почитать про сколько тактов частоты процессора (я так понимаю 1.7МГц) на команду?
и сколько времени идёт чтение одного байта команды? я так понимаю, он вычитывает один байт команды, смотрит
однобайтовая или нет, читает следующий байт (и так до трех), потом выполняет? сколько читается один байт по адресу PC?
если это команда между регистрами, то все одинаково выполняются? а если с записью/чтением в память?
я понимаю, что это азы ) но букваря под рукой нет )
Ну посчитаешь. И? Из подсчитанного плюс процентов 30? на пдп докидывать надо, елси экран не погашен. Так что неблагодарное это дело. А растактОвка в известных цветных таблицах должна быть.
Например (https://journals.12kv.ru/img/016.jpg)
О! за таблицу большое спасибо!
теперь стало всё для меня понятнее =) при кажущихся больших 1.7МГц тактовой, фактически
остаётся около 170к операций в секунду минут 30% на ПДП остаётся около 120к операций =)
ни о каких заявленных на коробке 300-500т операций в секунду речь не идёт =)
в любом случае интересненько... эх... где же этот комп был в мои 90е =)))
300-500т операций в секунду
Это обычно речь ведут об операциях типа регистр-регистр, которые за 4 такта выполняются, ну и не учитывая реальное торможение ПДП, чисто проц считают.
Есть где-то тема, число Пи считают на разных 8-ми битных машинах. Для сравнительной оценки быстродействия "в-лоб" - самое то.
Если нужен каждый такт и стандартное изображение не нужно (или никакое изображение не нужно), то на РК-подобных есть пара вариантов борьбы с ПДП
1. Увеличить период регенерации, сделать регенерацию пореже
2. Если программа постоянно читает или пишет озу в определенных пределах, то можно временно отключить ПДП
"Если нужен каждый такт и стандартное изображение не нужно "
да, для расчёта биткоинов самое-то =)
это если представить сколько у нас Апогеев ещё в стране - майнить и майнить =)
Не могу разобраться с редактором ассемблера. В части удаления строк.
АР2+D метку ставит, далее смещаюсь на строчку вниз. метка тоже появляется.
потом опять жму АР2+D, нихрена ничего не меняется. Нажимаю СТР естно отменяет удаление\ и возвращаемся опять к разбитому..
Vladimir_S
13.06.2020, 03:12
потом опять жму АР2+D, нихрена ничего не меняется.
АР2+D отмечаешь, АР2+E исполняешь. Журнал Радио 1988 №3 стр. 31.
Спасибо Владимир!
Да действительно у меня новый редактор на Микрокоме. АР2+Е исполняет!
Апогей не трогаю, т.к. на на нем нет сохранения текста программ, нужно МГ подключать. Лежит в коллекции.
А здесь АР2+О и все ок!
Подскажи пожалуйста, давным давно ты мне показывал как выводит строчку на экран, а как вывести несколько строк?
может пример есть.
и очистка экрана отличается от Апогея?
Vladimir_S
13.06.2020, 07:56
Не понял о каких строчках речь.
Любых надписей.
Допустим 1 строка: Всем привет!
2-ая строка ZX.PK.RU
3-ая строка Радио РК-86
пример был на 8-ой странице
Vladimir_S
13.06.2020, 09:29
Ратмир, понял.
1BH,59H,20H+номер строки,20H+номер позиции,'blablabla',0
Владимир
Пока со скрипом, нашел в журнале радио за 89 год №1 стр.34 небольшую прогу.
пытался вытащить из нее первоначальный кусок, но фиг вам! как говорил Шарик. 5 ошибок.
кусочек текста показывает, потом выныривает в Монитор.
http://img.radiokot.ru/files/30570/thumbnail/28bz5p2zuj.JPG (http://img.radiokot.ru/files/30570/28bz5p2zuj.JPG)
http://img.radiokot.ru/files/30570/thumbnail/28bz5t2c80.JPG (http://img.radiokot.ru/files/30570/28bz5t2c80.JPG)
Каждая строка с данными должна начинаться с DB (и, кстати, сообщение должно заканчиваться нулем). После CALL PRINT надо как-то завершить программу, например выйти в монитор, иначе начнет "выполняться" область данных.
Vladimir_S
13.06.2020, 18:35
иначе начнет "выполняться" область данных.
Совершенно справедливо.
Подправил. Ошибок 00
но выводит все равно только одну строчку....
http://img.radiokot.ru/files/30570/thumbnail/28c0rk2rpg.JPG (http://img.radiokot.ru/files/30570/28c0rk2rpg.JPG)
http://img.radiokot.ru/files/30570/thumbnail/28c0rn5le7.JPG (http://img.radiokot.ru/files/30570/28c0rn5le7.JPG)
Vladimir_S
13.06.2020, 19:08
Ратмир, Убери все нули и запятые перед ними, кроме последней строки. Ноль в конце строки означает конец действия подпрограммы 0F818H.
Нолики не там поставил!
все дожал!
http://img.radiokot.ru/files/30570/thumbnail/28c12k1f5x.JPG (http://img.radiokot.ru/files/30570/28c12k1f5x.JPG)
- - - Добавлено - - -
Со стороны наверное смешно выглядит.
Но я не программист, мне 50% скидка.
Теперь осталось эти строчки цветными сделать.
- - - Добавлено - - -
p.s. хорошая статейка.
Там и паузу как сделать
и опрос клавы
и очистку экрана
куча подпрограмм.
многое конечно еще не понятно, но можно разобраться
Vladimir_S
13.06.2020, 19:44
Ратмир, Когда в восьмидесятых у меня наблюдались сбои, и я борясь с ними, набросал маленькую программку - у меня звездочка бегала из левого верхнего угла по периметру экрана. И в пятницу уходя с работы я оставлял до понедельника бегать ее. Проверял не сбойнет ли комп. Попробуй написать нечто подобное.
И кстати:
Апогей не трогаю, т.к. на на нем нет сохранения текста - есть простое решение.https://zx-pk.ru/threads/17316-apogej-bk01-i-apogej-bk01ts-vneshnij-rom-disk.html?p=1062235&viewfull=1#post1062235
Vladimir_S, помню, видел твое устройство. НО пока столько проектов не законченных...
Но сделаю! чуть разгребу завалы.
и программу попробую написать.
Но мозги к 44 годам закисли.. атас!
Vladimir_S
13.06.2020, 20:08
Ратмир, 44 это розовая юность.
Vladimir_S, чтоб сделать мои строчки цветными, возможно твой пример адаптировать к моему.
Или алгоритм совсем другой?
Я не увидел в твоем примере вывод строки 0F818H.
Vladimir_S
15.06.2020, 09:50
Ратмир, С помощью п/п F818 атрибуты цвета не переносятся, нужно нечто вроде этого:
Vladimir_S
15.06.2020, 10:13
Ратмир, Но учти, адреса видеопамяти и уход в монитор РКшечные.
Так я на Микрокоме, вроде все работает.
Ратмир, Но учти, адреса видеопамяти и уход в монитор РКшечные.
по ходу у Микрокома по другому
не хотит, хотя ошибок пишет ноль
http://img.radiokot.ru/files/30570/thumbnail/28ebf9g5f5.jpg (http://img.radiokot.ru/files/30570/28ebf9g5f5.jpg)
Здесь секрет?
http://img.radiokot.ru/files/30570/thumbnail/28ebng3588.JPG (http://img.radiokot.ru/files/30570/medium/28ebng3588.JPG)
Vladimir_S
16.06.2020, 03:24
Ратмир, Зачем такие сложности? Убери ORG 1000Н и запускай G1100.
G 1100 тоже ругается.
На экране мишура разноцветная, и клинит прям.
Vladimir_S
16.06.2020, 04:07
Покажи результат трансляции без ORG 1000H.
Vladimir_S, только вечером, я уже уехал на работу.
Покажи результат трансляции без ORG 1000H.
Сразу на смог написать, выключили свет в поселке, живем как при Ильиче.
Без ORG, G1100 норм запустился. пишет пару ошибок но все равно запускается/
и в чем была моя ошибка?
http://img.radiokot.ru/files/30570/thumbnail/28ffgcqlqm.jpg (http://img.radiokot.ru/files/30570/28ffgcqlqm.jpg)
Получается у РадиоРК86 8 цветов, включая белый и черный
Vladimir_S
16.06.2020, 23:30
и в чем была моя ошибка?
У ассемблера буфер трансляции начинается с адреса 1100. Если задаешь ему ORG 1000H, то результат трансляции начинается с 1000, а это значит, что и транслированный результат необходимо перенести начиная с 1000. Поэтому я и написал - зачем такие сложности.
http://img.radiokot.ru/files/30570/thumbnail/28ffgcqlqm.jpg (http://img.radiokot.ru/files/30570/28ffgcqlqm.jpg)
Получается у РадиоРК86 8 цветов, включая белый и черный
Привет, Ратмир.
Уточняю. Это у Микрокома 8 цветов символов.)))
у него ещё инверсия есть (8 цветов поля и черные символы на нем) и мерцание. В одной строке может быть не более 16 атрибутов, но последним всегда должен быть атрибут 80h (выключение атрибутов). По подпрограмме вывода текста 0F818h на микрокоме выводятся все символы от 0, до FFh. Будь осторожен с символами больше 7Fh.
Rokl, привет!
у тебя нет случаем карты экрана. А то верхние строчки у меня залазят на часы. Т.е мне нужно поле где я могу символами играться.
Rokl, привет!
у тебя нет случаем карты экрана. А то верхние строчки у меня залазят на часы. Т.е мне нужно поле где я могу символами играться.
Есть. Радио 1988г № 4.
Начала всех строк без бланкирующих ячеек 1 строка -77C9 и далее 2 строка - 7817h, 78f5h, 78b3h, 7901h, 794eh, 799dh, 79ebh, 7a39h, 7a87h, 7ad5h, 7b23h, 7b71h, 7bbfh, 7c0dh, 7c5bh, 7ca9h, 7cf7h, 7d45h, 7d93h, 7de1h, 7e2fh, 7e7dh, 7ecbh, последняя строка - 7f19h.
Vladimir_S
06.07.2020, 11:38
Ратмир, Таблица экрана в журнале Радио 1988 №4.
Всем привет! Подскажите пожалуйста как работает вот эта программа: REDASM.RKR74661
Vladimir_S
12.02.2021, 15:09
IREK, Раз дамп начинается с 100Н, то и запуск у программы G100.
Это понятно, что нужно ввести потом? если например вводить числа пишет "готов".
Vladimir_S, Привет! Вопрос по Микрокому85
Ты не помнишь куда редактор ассемблера сохраняет файл, директивой АР2+О?. Все диски просматриваю в ОРД ДОСе, пусто.
А в редакторе директивой АР2+I файл находит.
P.s. нашел алгоритм! В диск В записываются.
https://zx-pk.ru/threads/13148-radio-rk-86-kompyuter-s-protsessorom-1821vm85/page35.html
Батарейка, села в труху (не заражалась) и еще вокруг нее все дорожки окислились, можешь проверить у себя.
Есть. Радио 1988г № 4.
Начала всех строк без бланкирующих ячеек 1 строка -77C9 и далее 2 строка - 7817h, 78f5h, 78b3h, 7901h, 794eh, 799dh, 79ebh, 7a39h, 7a87h, 7ad5h, 7b23h, 7b71h, 7bbfh, 7c0dh, 7c5bh, 7ca9h, 7cf7h, 7d45h, 7d93h, 7de1h, 7e2fh, 7e7dh, 7ecbh, последняя строка - 7f19h.
Первые две строки, выводятся со смещением вправо. Пока разбираюсь. И через пол часа работы Микроком начинает глючить.., даже часы встали
https://pic.maxiol.com/thumbs2/1707329962.3114886338.20240207231359.jpg (https://pic.maxiol.com/?v=1707329962.3114886338.20240207231359.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1707330052.3114886338.20240207231525.jpg (https://pic.maxiol.com/?v=1707330052.3114886338.20240207231525.jpg&dp=2)
Подправил адреса вывода текста, норм.
https://pic.maxiol.com/thumbs2/1707330827.3114886338.20240207233037.jpg (https://pic.maxiol.com/?v=1707330827.3114886338.20240207233037.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1707330882.3114886338.20240207232620.jpg (https://pic.maxiol.com/?v=1707330882.3114886338.20240207232620.jpg&dp=2)
Часы запустил, но почему они встали?! по адресу F78Dh-80
Вопрос к спецам по Ассемблеру Радио РК86
Возможно убрать разрыв между двумя вставками из двух наборов символов (символа 17Н)?
понятно что программно можно заполнить всю строку символами 17Н, но мне нужно соединить именно двумя вставками.
https://pic.maxiol.com/thumbs2/1707418529.3114886338.20240208233903.jpg (https://pic.maxiol.com/?v=1707418529.3114886338.20240208233903.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1707418057.3114886338.20240208233836.jpg (https://pic.maxiol.com/?v=1707418057.3114886338.20240208233836.jpg&dp=2)
Ратмир, я так понимаю. что в разрыве - атрибут 81H?
Если в 2 словах, то вообще можно, но для этого нужно перепрограммировать ВГ75 для работы с прозрачными атрибутами и учесть уйму разных нюансов для работы в таком режиме.
Ратмир, я так понимаю. что в разрыве - атрибут 81H?
Если в 2 словах, то вообще можно, но для этого нужно перепрограммировать ВГ75 для работы с прозрачными атрибутами и учесть уйму разных нюансов для работы в таком режиме.
Между двумя голыбыми полосками. Я даже вторую немного наложил на первую. Получается подпрограмма вывода, перед началом вставляет пробел.
Если это невозможно, тогда вопрос если ВГ75 перевести в графический режим, останется 8 цветов или нет?
Получается подпрограмма вывода, перед началом вставляет пробел.
Это не подпрограмма вставляет пробел, это значение 81h выглядит на экране как пробел.
Теперь ясно. Т.е. убрать не возможно.
Теперь ясно. Т.е. убрать не возможно.
В этом режиме ВГ75 нет, а в режиме с прозрачными атрибутами, как выше писал Pyk - да.
В этом режиме ВГ75 нет, а в режиме с прозрачными атрибутами, как выше писал Pyk - да.
Т.е надо прошивку Монитора менять?
- - - Добавлено - - -
И еще, что за белая шляпа выскакивает?, если пробел после символов не вставить тотчто в кавычках
Т.е надо прошивку Монитора менять?
Нет, прошивку менять не надо. Обычно программы использующие другой режим сами его и перенастраивают. То есть надо написать свою процедуру инициализации ВГ75 и ВТ57.
И еще, что за белая шляпа выскакивает?, если пробел после символов не вставить тотчто в кавычках
Про шляпу не понял, что имеется в виду. Есть примеры?
Нет, прошивку менять не надо. Обычно программы использующие другой режим сами его и перенастраивают. То есть надо написать свою процедуру инициализации ВГ75 и ВТ57.
Про шляпу не понял, что имеется в виду. Есть примеры?
https://pic.maxiol.com/thumbs2/1707455338.3114886338.20240209100648.jpg (https://pic.maxiol.com/?v=1707455338.3114886338.20240209100648.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1707455338.3114886338.20240209100648.jpg (https://pic.maxiol.com/?v=1707455338.3114886338.20240209100648.jpg&dp=2)
Это кусок атрибута 80h наехал. Похоже на то, что в схеме компа что-то не так сделано. То есть новый атрибут вступает в силу до того, как закончилось отображение предыдущего знакоместа. Недавно это в параллельной теме по РК86 обсуждали.
Это кусок атрибута 80h наехал. Похоже на то, что в схеме компа что-то не так сделано. То есть новый атрибут вступает в силу до того, как закончилось отображение предыдущего знакоместа. Недавно это в параллельной теме по РК86 обсуждали.
Вот вот, а пробел если в конце вставить, уже этого атрибута не видно.
Вот вот, а пробел если в конце вставить, уже этого атрибута не видно.
Ну так лучше же схемотехнику исправить, а не пробелом лечить. Иначе не получится на экране отобразить нечто разных цветов вплотную, без пробелов между.
В конце пробелом не проблема, а вот перед это проблема
Это кусок атрибута 80h наехал. Похоже на то, что в схеме компа что-то не так сделано. То есть новый атрибут вступает в силу до того, как закончилось отображение предыдущего знакоместа. Недавно это в параллельной теме по РК86 обсуждали.Видимо регистра нет, который биты атрибутов защёлкивает как в Апогее
Видимо регистра нет, который биты атрибутов защёлкивает как в Апогее
А в Апогее будет норм? У меня есть несколько Апогеев, можно посмотреть..
p.s. Блок питания куда то дел, проверить не смогу.
Буду разбираться на Микрокоме.
Вот тут есть про то как этот регистр в любой РК86 воткнуть:
https://zx-pk.ru/threads/35104-r86rk-dorabotka-do-tsvetnosti.html?p=1179384&viewfull=1#post1179384
Вот тут есть про то как этот регистр в любой РК86 воткнуть:
https://zx-pk.ru/threads/35104-r86rk-dorabotka-do-tsvetnosti.html?p=1179384&viewfull=1#post1179384
За той темой слежу, но там не увидел решение проблемы.
П/п F82D она настраивает ВГ75?
Выдержка из статьи:
"Если микросхема запрограммирована на видимый режим, то на экране включения в текст атрибутивных кодов поля будут видны как пустые знакоместа, погашенные сигналом VSP. Действие соответствующего атрибута будет начинаться после погашенного знакоместа.
Если КР580ВГ75 запрограммировать для «прозрачного» (невидимого) режима атрибутов поля, то места включения в текст атрибутивных кодов на экране будут невидимы. Это достигается за счет стеков FIFO. Каждое ЗУ на один знакоряд имеет сопряженный с ним стек FIFO емкостью 16 знаков по 7 бит.
В «прозрачном» режиме входной буфер–контроллер при заполнении буферного ЗУ во время проведения ПДП «просматривает» загружаемые знаки и при обнаружении кода атрибута поля следующий за ним знак помещает в стек FIFO. Когда знакоряд переключается на отображение, выходной буфер–контроллер анализирует выводимую информацию и, обнаружив атрибутивный код поля, принимает его для исполнения, а на выходы кода СС0 – СС6 подает знак из стека FIFO, устраняя таким образом пробельное знакоместо на экране."
из нее же
https://pic.maxiol.com/thumbs2/1707543476.3114886338..jpg (https://pic.maxiol.com/?v=1707543476.3114886338..jpg&dp=2)
- - - Добавлено - - -
Когда вставляю просто фон, то разрыв уменьшается! Как так?
https://pic.maxiol.com/thumbs2/1707545292.3114886338.20240210110551.jpg (https://pic.maxiol.com/?v=1707545292.3114886338.20240210110551.jpg&dp=2)
Когда вставляю просто фон, то разрыв уменьшается! Как так?
Код вставляемых строк можно посмотреть?
- - - Добавлено - - -
Блок питания куда то дел, проверить не смогу.
Могу запустить на Апогее и показать. Только нужен код примера для эксперимента.
А фон микрокомовский? Он иначе чем цвет ведь делается - ему видать задержка ненужна...
Не надолго вынужден откланятся. Однокласники едут выпуск 91г. Как освобожусь отвечу. Есть мысль точками рисовать с фоном, белыми точками на светлых тонах, черными на темных, надо посмттреть коды фонов.
- - - Добавлено - - -
Код вставляемых строк можно посмотреть?
- - - Добавлено - - -
Могу запустить на Апогее и показать. Только нужен код примера для эксперимента.
Код 91Н, черная надпись на голубом фоне
- - - Добавлено - - -
А фон микрокомовский? Он иначе чем цвет ведь делается - ему видать задержка ненужна...
Rokl бы точно ответил, как автор Микрокома.
Но он редко заходит.
- - - Добавлено - - -
Фиг вам называется, все равно вставляет, когда другой цвет выбираем
https://pic.maxiol.com/thumbs2/1707558826.3114886338.20240210145211.jpg (https://pic.maxiol.com/?v=1707558826.3114886338.20240210145211.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1707559122.3114886338.20240210145634.jpg (https://pic.maxiol.com/?v=1707559122.3114886338.20240210145634.jpg&dp=2)
- - - Добавлено - - -
На Апогее адреса экрана наверное размещены в другом месте
Фиг вам называется, все равно вставляет, когда другой цвет выбираем
https://pic.maxiol.com/thumbs2/1707558826.3114886338.20240210145211.jpg (https://pic.maxiol.com/?v=1707558826.3114886338.20240210145211.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1707559122.3114886338.20240210145634.jpg (https://pic.maxiol.com/?v=1707559122.3114886338.20240210145634.jpg&dp=2)
Так вроде же вчера мы про это говорили, что коды атрибутов будут отображаться как пробелы в "непрозрачном" режиме, если не перенастраивать ВГ75. Если инициализация ВГ75 не изменилась, то будет "всё равно вставлять".
Ты какого результата хочешь добиться то?
- - - Добавлено - - -
Когда вставляю просто фон, то разрыв уменьшается! Как так?
https://pic.maxiol.com/thumbs2/1707545292.3114886338.20240210110551.jpg (https://pic.maxiol.com/?v=1707545292.3114886338.20240210110551.jpg&dp=2)
Походу это не разрыв уменьшается, а та самая "шляпа" про которую ты раньше говорил. Белая она была так как был код 80h (белый текст), а теперь она чёрная (код 91h - чёрный текст).
На Апогее адреса экрана наверное размещены в другом местеДа - там E1D0-EAFF
Код вставляемых строк можно посмотреть?
- - - Добавлено - - -
Могу запустить на Апогее и показать. Только нужен код примера для эксперимента.
Жду
Жду
Я имел в виду код программы, а не атрибута.
- - - Добавлено - - -
Так то на Апогее тоже самое будет - в режиме непрозрачных атрибутов каждый атрибут это пробел
- - - Добавлено - - -
Может мы друг друга не поняли? Речь шла про белую "шляпу" в конце красной строки, так ведь. Я предположил что это в схеме дело. Shaos предположил что нет регистра как в Апогее. Ты не нашёл блок питания, а я сказал что могу запустить эту программу на Апогее и показать. Кода в том сообщении нет - только палец тычет в экран.
- - - Добавлено - - -
Вот блин - и на Апогее есть эта шляпа, но правда в полпикселя толщиной (((
80350
Первая строка без пробела в конце, вторая с пробелом.
А поближе можно то место где полпикселя видно? На приаттаченной фотке всё размылось...
Alikberov
11.02.2024, 22:41
Решил попрактиковаться и двое суток посвятил черновому (не особо напрягаясь) варианту дизассемблера.
Код специально вызывается с адреса 0038 инструкцией RST 7 для демонстрации объёма кода - в ПЗУ 1 Кб вполне уместится.
Между инструкцией и операндом стоит один единственный пробел (всегда) - нет выравнивания до четырёх: Расчёт на возможную замену знака пробела на табуляцию там, где она нормально поддерживается.
В качестве демонстрации код использует служебные ячейки Журнального Монитора для трюкового запуска директивой «G,<начало>,<конец>» для дизассемблирования любого фрагмента памяти, как видно на скриншоте…
Прерывание - по F4/УС+C.
Внимание!
Параметр «<начало>» нельзя указывать ниже 0010 и выше 7600/!\
Вообще кому интересно последить за тем как пишут дизассемблеры для РК "на ходу", то вот в этой теме можно увидеть потоки мыслей и варианты в процессе улучшения:
http://www.nedopc.org/forum/viewtopic.php?f=93&t=22376
Особо отличился Vital72 с дизассемблером 8080/8085 размером 734 байта, но остальные тоже поразмяли мозгами, например b2m предложил урезанный вариант только 8080 размером 678 байт :)
Я имел в виду код программы, а не атрибута.
- - - Добавлено - - -
Так то на Апогее тоже самое будет - в режиме непрозрачных атрибутов каждый атрибут это пробел
- - - Добавлено - - -
Может мы друг друга не поняли? Речь шла про белую "шляпу" в конце красной строки, так ведь. Я предположил что это в схеме дело. Shaos предположил что нет регистра как в Апогее. Ты не нашёл блок питания, а я сказал что могу запустить эту программу на Апогее и показать. Кода в том сообщении нет - только палец тычет в экран.
- - - Добавлено - - -
Вот блин - и на Апогее есть эта шляпа, но правда в полпикселя толщиной (((
80350
Первая строка без пробела в конце, вторая с пробелом.
Почему оранжевый цвет? И каким образом я смогу выслать код? Я сохраняю на ram/rom диске.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot