nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 27 Apr 2024 06:11



Reply to topic  [ 265 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 18  Next
Радио-86РК на SRAM 128K Alpha (2014) & Beta (2024) 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Alikberov wrote:
ВВ55 игнорирует чтение режима и возвращает FF/FE по 8003 - можно это использовать...

А если вместо ВВ55 (8255) поставить современный 5-мегагерцовый 82C55A то он тоже будет рандомно FF/FE возвращать? ;)


Attachments:
Screenshot from 2024-01-19 23-40-27.png
Screenshot from 2024-01-19 23-40-27.png [ 137.66 KiB | Viewed 770 times ]

_________________
:dj: https://mastodon.social/@Shaos
20 Jan 2024 00:44
Profile WWW
Online
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 320
Location: Tashkent
Reply with quote
Shaos wrote:
А если вместо ВВ55 (8255) поставить современный 5-мегагерцовый 82C55A то он тоже будет рандомно FF/FE возвращать? ;)

Судя по таблице, у него всё как надо - возвращает управляющее режимом слово. :ewink:


20 Jan 2024 00:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
т.е. FF/FE не будет? :)

_________________
:dj: https://mastodon.social/@Shaos


20 Jan 2024 01:20
Profile WWW
Online
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 320
Location: Tashkent
Reply with quote
Shaos wrote:
т.е. FF/FE не будет? :)
У меня это выглядит так:


20 Jan 2024 01:35
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Понятно

Возвращаясь к цветам:

Shaos wrote:
Если добавить полутона, то мои цвета в двух палитрах будут выглядеть вот так:

  • (11)010101 - @@@@@@ - @@@@@@
  • (10)101010 - @@@@@@ - @@@@@@
  • (01)010101 - @@@@@@ - @@@@@@
  • (00)101010 - @@@@@@ - @@@@@@
  • (11)111111 - @@@@@@ - @@@@@@
  • (10)111111 - @@@@@@ - @@@@@@
  • (01)111111 - @@@@@@ - @@@@@@
  • (00)111111 - @@@@@@ - @@@@@@

С полутонами логика выглядит несколько тяжеловато (вход Shifted это выход сдвигового регистра, в котором защёлкиваются D0-D5):

Attachment:
Screenshot from 2024-01-20 02-05-51.png
Screenshot from 2024-01-20 02-05-51.png [ 22.86 KiB | Viewed 715 times ]

(выходы R,IR,G,IG,B,IB предполагаются быть подключенными к цветному TFT-контроллеру от alexcp)

А вот без полутонов - просто 2 палитры с 4 цветами каждая (палитры переключаются битом выбор шрифта Font), как я и предполагал изначально (и когда данные 111111 это всегда чернота без полутонов не смотря на значения D6 и D7):

Attachment:
Screenshot from 2024-01-20 01-28-30.png
Screenshot from 2024-01-20 01-28-30.png [ 15.67 KiB | Viewed 718 times ]

Как можно видеть это 13 гейтов против 23-х в случае с полутонами (экономия порядка 2.5 корпусов мелкой логики) - как говорится "выбирай, но осторожно, но выбирай" :mrgreen:

Приаттачиваю архив с логисимовскими схемами если вдруг кто хочет потестить:


Attachments:
rk-color-new.zip [3.06 KiB]
Downloaded 24 times

_________________
:dj: https://mastodon.social/@Shaos
20 Jan 2024 02:26
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Shaos wrote:
Как можно видеть это 13 гейтов против 23-х в случае с полутонами (экономия порядка 2.5 корпусов мелкой логики) - как говорится "выбирай, но осторожно, но выбирай" :mrgreen:

По идее всю эту полутоновую логику можно затолкать в одну галку 16v8, но люди не поймут и не простят :no:

Либо пока сейчас строить "навесиком" без полутонов (и по адресу C000 вместо E800), чтобы отладиться, и уже потом делать боевую схему с галками и полутонами...

_________________
:dj: https://mastodon.social/@Shaos


20 Jan 2024 02:46
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Shaos wrote:
Shaos wrote:
Как можно видеть это 13 гейтов против 23-х в случае с полутонами (экономия порядка 2.5 корпусов мелкой логики) - как говорится "выбирай, но осторожно, но выбирай" :mrgreen:

По идее всю эту полутоновую логику можно затолкать в одну галку 16v8, но люди не поймут и не простят :no:

Попробовал задействовать для полутонового варианта более сложную логику AND-OR-INVERT (AOI):
Attachment:
RK-color-2aoi-small.jpg
RK-color-2aoi-small.jpg [ 91.18 KiB | Viewed 666 times ]
Но из-за того, что выходы пришлось инвертировать и ещё нам оказались нужны сигналы "изнутри" AOI, пришлось вставлять дополнительные гейты снаружи - в итоге те же 7 корпусов получились (причём остались 1 XOR-гейт, 1 OR-гейт и 1 NOT-гейт).

А в первоначальном варианте с "полутонами" получается такая раскладка:
Code:
   7411 (3 x AND3)
   7486 (4 x XOR) - 1
2x 7408 (4 x AND) - 2
2x 7432 (4 x OR)  - 1
   7404 (6 x NOT) - 3
7 корпусов задействовано и остались свободными 1 XOR-гейт, 2 AND-гейта, 1 OR-гейт и 3 NOT-гейта:



Тут кстати нижний OR-гейт можно заменить на XOR-гейт т.к. вариант 11 обрабатывается другой веткой, однако копусов это не убавит, а просто задействует все XOR-гейты и оставит 2 OR-гейта свободными вместо одного.

В варианте без полутонов получается 4 корпуса, однако если подключить свободный XOR-гейт вместо первого инвертора, а второй инвертор выкинуть (т.к. инвертированный видеосигнал Shifted можно взять из схемы РК, отрезав его от смесителя), то у нас останется всего лишь 3 корпуса - 7486 (4 x XOR), 7408 (4 x AND), 7432 (4 x OR) и ни одного свободного гейта:

Attachment:
Screenshot from 2024-01-20 15-29-48.png
Screenshot from 2024-01-20 15-29-48.png [ 10.3 KiB | Viewed 664 times ]


Attachments:
rk-color-new2.zip [6.27 KiB]
Downloaded 19 times

_________________
:dj: https://mastodon.social/@Shaos
20 Jan 2024 15:45
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
А теперь несколько филосовский момент - для того, чтобы заливать шрифт в ОЗУ шрифтов при старте компьютера, потребуется изменить монитор, что в купе с расширенной памятью, новым железом переподключающим ОЗУ шрифта туда-сюда и новой многоцветностью уводит этот концепт в сторону от РК-86, т.е. это будет уже НЕ Радио-86РК, а нечто более другое. В результате по-видимому придётся сменить название например на SUPER-86RK/128K:

Attachment:
Screenshot from 2024-01-20 18-43-47.png
Screenshot from 2024-01-20 18-43-47.png [ 506 Bytes | Viewed 644 times ]
(причём теоретически возможны варианты с 256KB, 512KB и даже 1МБ ОЗУ)

P.S. Если уж мы меняем монитор, то можно поправить инициализацию ВГ75 (по адресу #FADC заменить #93 на #D3), чтобы спец-коды не сбивали синхронизацию (без плясок с бубнами вокруг ПДП) - в результате возникнет возможность реализовать и более стандартные системы цветности - Толкалина, Фролкина и Самоцвет Акименко, а может быть даже ещё и апогеевский до кучи (и переключать их вручную тумблером).

P.P.S. Вот ещё чего у себя откопал - непомню откуда взял:

Attachment:
RK86RGB.jpg
RK86RGB.jpg [ 18.24 KiB | Viewed 662 times ]

P.P.P.S. По названию файла через яндекс нашёл первоисточник - это Rokl опубликовал (автор РК-шки на 8085) в 2011 году:
https://zx-pk.ru/threads/13148-radio-rk-86-kompyuter-s-protsessorom-1821vm85.html?p=375381&viewfull=1#post375381

P.P.P.P.S. На zx-pk.ru мне пояснили, что тут цвет фона ещё заводится, который сохраняется в триггерах и задаётся он с помощью битов LA0, LA1 и LTEN, которые изначально были предназначены для отображения псевдографики - вот что про это написано в книжке "Домашний компьютер":

Attachment:
VG75-pseudogr.jpg
VG75-pseudogr.jpg [ 136.66 KiB | Viewed 637 times ]
и как можно видеть управлять этими битами из программы не так уж и просто, например есть псевдографика, где LA0 принимает значение 1 во всю высь знакоместа, но вот для LA1 или LTEN такого нет (LTEN вообще подсвечивается либо как курсор внизу знакоместа, либо как часть псевдографики в середине знакоместа) - значит придётся не по одному, а иногда и по 2 псевдографических символа подряд выводить, чтобы сбросить триггер во всех строках знакоместа. Оно работает примерно так:
- LA1=0 LA0=1 и HLG=1 сбрасывает все три триггера в 0;
- LA1=1 LA0=0 устанавливает триггер R фона в 1;
- LA1=1 LA0=1 устанавливает триггер G фона в 1 (одновременно в 1 они могут быть только в средней линии символа псевдографики);
- LA1=0 LA0=1 и LTEN=1 устанавливает триггер B фона в 1 (вот это по моим понятиям работать НЕ будет - см. выше почему).

P.P.P.P.P.S. Хотя возможно тут суть в том, что LA1 и LTEN могут выдавать 1 на уровне курсора (не одновременно), что будет включать раскрашивание вниз! Получается это не часть строки раскрашивает, а блок экрана во всю ширь с какой-то строки вниз пока не отключат - однако всё равно LA0=1 и LTEN=1 одновременно случиться не могут - значит для установки триггера B надо взять не LA0 из ВГ75, а скажем задержанное в регистре значение из предыдущего символа...

_________________
:dj: https://mastodon.social/@Shaos


20 Jan 2024 18:52
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Shaos wrote:
Если уж мы меняем монитор, то можно поправить инициализацию ВГ75 (по адресу #FADC заменить #93 на #D3), чтобы спец-коды не сбивали синхронизацию (без плясок с бубнами вокруг ПДП) - в результате возникнет возможность реализовать и более стандартные системы цветности - Толкалина, Фролкина и Самоцвет Акименко, а может быть даже ещё и апогеевский до кучи (и переключать их вручную тумблером).
По идее можно и значение по адресу #FADC тумблером менять ;)
Чтобы оригинальные РК-шные проги с цветом тоже работали (там где танцы с бубнами вокруг ПДП)
Типа ПЗУ будет содержать изменённое значение #D3, а тумблером можно включить оригинальное значение #93 - для этого надо ловить чтение с адреса #FADC (1111 1010 1101 1100) и опционально сбрасывать битик В6 в ноль:
Code:
D3 = 1101 0011
93 = 1001 0011
Либо делаем на плате несколько микропереключателей для задания конфигурации бута и расширенный монитор будет читать их одним байтом и делать программную коррекцию логики бута в соответствии с состоянием отдельных битов - среди них могут быть:
- бит настройки режима атрибутов ВГ75: 1 - классический с ичезновением атрибутов, 0 - отображающий атрибут как пробел;
- бит выбора шрифта на старте: 0 - основной шрифт, 1 - альтернативный шрифт (английский);
- бит выбора ОС: 0 - монитор Радио-86РК, 1 - ShaOS с квазидиска ;)

По поводу наших "полутонов":
Alikberov wrote:
Shaos wrote:
Возвращаясь к картинке:

Почему где-то цвета ярче, а где-то темнее? А так по цветам как у меня на прошлой странице выбрано для палитры по умолчанию: 11 - белый, 10 - красный, 01 - зеленый и 00 - синий. По идее биты в знакоместах у РК инверсные - т.е. единички это чёрный фон, а нолики - белые (или цветные) точки. Получается единички в последних строчках должны быть чёрные? Или это особый случай для возможности рисования цветного фона? По идее мысль интересная!
Да, если пиксели не горят, но цвет задан - цвет отображается фоном в полутонах.
Вот чего подумалось - если эти "полутона" как бы цвет фона пустой плашки, то может быть имеет смысл его "запомнить" как цвет фона далее и на протяжении строчки растра держать этот цвет вместо чёрного пока не встретится конец линии (строчный синхроимпульс) либо следующий подобный "полутон"? :oidea:

Тогда графика станет сильно веселее ;)

P.S. Правда встаёт вопрос как же чистить такой фон по ходу линии - байтом (11)111111, который означает чёрный фон, вроде как нельзя т.к. он может попадаться в обычных символах ( например в верхней части . или + ) и цветной фон должен на них сохраняться. Если оставлять цветной фон всегда до правого края экрана, то это сильно урежет возможности по использованию такой раскраски. По идее можно атрибутами ВГ75 цветной фон гасить, но тогда уж и всё остальное надо поддерживать (инверсию, мерцание и т.д.) либо надо запоминать предыдущий байт и если мы получили (11)111111 и предыдущий был (xx)111111, где xx!=11, то цвет фона сбрасывается в чёрный...

_________________
:dj: https://mastodon.social/@Shaos


20 Jan 2024 20:22
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Я смотрю люди в играх настраивают ВГ75 так, чтобы символы без чёрных полос между ними были:

Attachment:
Screenshot from 2024-01-20 22-03-11.png
Screenshot from 2024-01-20 22-03-11.png [ 7.72 KiB | Viewed 810 times ]

Правда при этом какие-то нереальные видеорежимы получаются типа 53.83 Гц, но зато 35 строк вместо 30...

P.S. А вот как этот участок выглядит на реальном РК со схемой Толкалина (без регистра + замена 000 на белый):

Attachment:
rkcolors3x3.jpg
rkcolors3x3.jpg [ 17.41 KiB | Viewed 458 times ]

_________________
:dj: https://mastodon.social/@Shaos


20 Jan 2024 23:25
Profile WWW
Online
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 320
Location: Tashkent
Reply with quote
Shaos wrote:
P.P.P.P.S. На zx-pk.ru мне пояснили, что тут цвет фона ещё заводится, который сохраняется в триггерах и задаётся он с помощью битов LA0, LA1 и LTEN, которые изначально были предназначены для отображения псевдографики
Теоретически, можно LA0 использовать для переключения знакогенератора кодами E4/E5. Тогда получаем три знакогенератора в одной строке - выбор из 384 символов.

Типа, вот такой схемой (или как могла бы выглядить вся схема с такой доработкой):


Attachments:
File comment: Схема РАДИО-86РК на три знакогенератора и "свободными атрибутами"
photo_2023-10-12_08-06-14.jpg
photo_2023-10-12_08-06-14.jpg [ 364.79 KiB | Viewed 803 times ]
File comment: 1. Родной знакогенератор РК после каждого HRTC
2. Код E4 для выбора ASCII с заглавными и строчными буквами
3. Код E5 для выбора KOI8-R с заглавными и строчными буквами
Сами кода E4/E5 отображаются пробелами и могут между словами их подменять

photo_2023-10-08_06-52-55.jpg
photo_2023-10-08_06-52-55.jpg [ 182.31 KiB | Viewed 806 times ]
21 Jan 2024 00:17
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Alikberov wrote:
Shaos wrote:
P.P.P.P.S. На zx-pk.ru мне пояснили, что тут цвет фона ещё заводится, который сохраняется в триггерах и задаётся он с помощью битов LA0, LA1 и LTEN, которые изначально были предназначены для отображения псевдографики
Теоретически, можно LA0 использовать для переключения знакогенератора кодами E4/E5. Тогда получаем три знакогенератора в одной строке - выбор из 384 символов.

Я у себя знакогенератор переключаю свободным битом C1 клавиатурной ВВ55, а при наличии ОЗУ в качестве знакогенератора больше двух шрифтов наверное и ненужно (их тоже можно в пределах кадра переключать, если очень надо - привязавшись к состоянию кадрового синхроимпульса). По LA0 да - я вижу, можно задействовать подо что-то управляясь им через E4/E5.

А вообще я после того, как вчитался в это дело чего-то теперь думаю, что надо таки сделать псевдографику как "отцы" завещали :idea:


Attachments:
VG75-pseudogr-hardware.jpg
VG75-pseudogr-hardware.jpg [ 88.78 KiB | Viewed 802 times ]

_________________
:dj: https://mastodon.social/@Shaos
21 Jan 2024 00:25
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Хм, а откуда взялась вот эта схема:



Журнал Радио в 1986 году ни о чём таком не писал - ни в 5-м, ни в 12-м номере! Тут мало того, что ПЗУ на 8КБ (хотя в легенде всё ещё написано К573РФ1), так ещё и 4 бита под высоту символа отведено ну и плюс вкрапления логики LA0/HLGT для переключения шрифтов....

_________________
:dj: https://mastodon.social/@Shaos


21 Jan 2024 01:05
Profile WWW
Online
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 320
Location: Tashkent
Reply with quote
Shaos wrote:
Я у себя знакогенератор переключаю свободным битом C1 клавиатурной ВВ55, а при наличии ОЗУ в качестве знакогенератора больше двух шрифтов наверное и ненужно (их тоже можно в пределах кадра переключать, если очень надо - привязавшись к состоянию кадрового синхроимпульса). По LA0 да - я вижу, можно задействовать подо что-то управляясь им через E4/E5.

А вообще я после того, как вчитался в это дело чего-то теперь думаю, что надо таки сделать псевдографику как "отцы" завещали :idea:
Вы немного не поняли...
Добавлением ТМ2 с помощью кодов E4 и E5 можно переключать знакогенератор в пределах одной строки хоть все 78 раз (атрибуты такое не позволяют). Сами коды E4/E5 при этом сами вырабатывают VSP и подавляют знакогенератор, отображаясь пробелом.
Это позволяет в одной строке иметь три набора по 128 символов:
  1. Родной знакогенератор РК в каждой строке после HRTC
  2. 128 символов ASCII OEM с заглавными и строчными
  3. 128 символов КОИ8 с кириллицей и псевдографикой
Тем самым, псевдографические рамки можно рисовать кодами 20-3E.


21 Jan 2024 01:18
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
В пределах одной строки? Ну обычный текст где всё в кучу так без обработки не покажешь - надо либо специально текст готовить для такого вывода, расставляя E4/E5, либо на лету обрабатывать на предмет где надо контекст переключить будут вставляться пробелы с переключениями шрифтов типа на входе "Радио-86RK", а отобразится "Радио-86 RK" и т.д. Вобщем полезность сомнительная по-моему...

_________________
:dj: https://mastodon.social/@Shaos


21 Jan 2024 01:41
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 265 posts ]  Go to page Previous  1 ... 8, 9, 10, 11, 12, 13, 14 ... 18  Next

Who is online

Users browsing this forum: Alikberov, Hammer and 66 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.