|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Радио-86РК на SRAM 128K Alpha (2014) & Beta (2024)
Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
Вот чегой-то родилась у меня идея - взять исправленную версию 2016 года от alexcp и заменить ПЗУ знакогенератора на ОЗУ с возможностью программной замены шрифтов По ходу можно попробовать добавить цвет с помощью 2х свободных битиков знакогенератора (в стандартном знакогенераторе РК там записаны единички) - получится один из 4 цветов на каждую горизонтальную плашку: 00 - красным по чёрному; 01 - зелёным по чёрному; 10 - синим по чёрному; 11 - белым по чёрному (значение по умолчанию). Таким образом мы как бы получим цветные тайлы, которых будет 2 набора, переключаемых программно, т.е. всего 256 (т.к. знакогенератор 2кб). При этом придётся расширить монитор, чтобы при рестарте он заполнял бы это ОЗУ стандартным шрифтом, который теперь будет храниться в ПЗУ монитора (которое напомню у нас 8кб где пока используется только 2кб). Если всё также уталкиваться в размеры 15x10 см (ну или в предел моей стандартной лицензии игла 16x10), то возможно следует всю новую мелкую логику (включая регистр управления страницами памяти) затолкать в одну палку/галку. Туда же можно добавить поддержку нескольких предопределённых палитр (как минимум двух - RGB как описано выше и аля CGA с Magenta и Cyan). P.S. Подключение ОЗУ шрифтов к шине данных можно сделать по адресам C000...C800, когда в регистре управления установлена несуществующая страница 7 (например) - в этом случае ВГ75 уходит в тень (собственно также как и сейчас если установлена ненулевая страница - 1,2 или 3), а _CS_C000 выходящий на внешний разъём не активируется. Ну и ещё один бит в регистре управления может быть отведён под переключение палитр (0-RGBW, 1-YCMW). P.P.S. Вообще можно и универсальную RGB палитру попробовать сделать, которая задавалась бы 12 битами (3 бита RGB на каждый цвет из 4), но тогда одной галки не хватит - придётся ставить что-то побольше типа XC9536. Регистр управления при этом превратится в 5 трёхбитных регистров доступных только на запись: #F000 - RAM page (0,1,2,3 and 7 for font update) // в будущем память можно увеличить - тогда наверное для доступа к шрифтам надо просто в этот регистр писать #FF #F0С0 - RGB for color 0 #F0С1 - RGB for color 1 #F0С2 - RGB for color 2 #F0С3 - RGB for color 3 (отличать регистры палитры от регистра страниц можно одним битом адреса A7 ну или двумя, если хватит ног у CPLD)
|
30 Aug 2021 18:33 |
|
|
alexcp
Senior
Joined: 11 Jun 2012 07:30 Posts: 128
|
Рискну предположить, что в четырёх слоях можно развести и с логикой в SOIC, а вот с палкой можно попробовать в двух слоях. Правда, палку эту ещё чем-то программировать нужно, не у всех/не всегда есть чем. Собирал тут на досуге платку на 8085, столкнулся с этим.
|
30 Aug 2021 18:57 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
Дешёвый TL866 умеет прошивать практически всё
|
30 Aug 2021 19:25 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 859 Location: г.Лянтор,Сургутского р-на,ХМАО
|
Подтверждаю, только у меня данный программатор с индексом II Plus.
|
02 Sep 2021 01:22 |
|
|
vital72
Senior
Joined: 17 Jun 2014 04:29 Posts: 138 Location: 93.80.157.217
|
1. много уже программ написано для этого клона? 2. зачем такие извращения с цветом? для совместимости надо использовать уже готовое решение и лучшее -- это то, как реализовано в Апогее.
_________________https://radio-86rk.ruкто я такой, чтобы спорить с самим собой
|
03 Sep 2021 15:07 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
1. пока ноль 2. ну например вот поэтому: https://web.archive.org/web/20180813031847/http://alemorf.ru/comps/apogee_bk_01c/index.htmlВ моём же случае мы имеем цвет на плашку (горизонтальная последовательность из 6 пикселов) и цвета задаются для знакоместа (т.е. до 8 разных цветов привязанных к знакоместу/тайлу), причём никаких ограничений на количество изменений цвета в пределах строки/экрана нет (просто в пределах экрана всегда 4 цвета поверх чёрного т.е. всего 5 цветов) и никаких пробелов между изменениями цвета или рассинхронизирующихся строк символов также нет. P.S. С помощью редактора знакогенераторов для РК заполнил дырки в стандартном шрифте РК и добавил 3 цветных знака - такой шрифт может стать нашим шрифтом по умолчанию, загружаемым во время бута:
|
03 Sep 2021 15:57 |
|
|
vital72
Senior
Joined: 17 Jun 2014 04:29 Posts: 138 Location: 93.80.157.217
|
всё-таки для Апогея какой-никакой цветной софт есть.
_________________https://radio-86rk.ruкто я такой, чтобы спорить с самим собой
|
04 Sep 2021 22:31 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
Ну в Апогее ещё и вся периферия по другим адресам сидит и памяти больше - я когда-нибудь потом сделаю универсальный РК-совместимый компьютер, который сможет переключаться в режимы РК, Микроши и Апогея, но не прямо сейчас
|
05 Sep 2021 15:28 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
| | | | Shaos wrote: Вот чегой-то родилась у меня идея - взять исправленную версию 2016 года от alexcp и заменить ПЗУ знакогенератора на ОЗУ с возможностью программной замены шрифтов По ходу можно попробовать добавить цвет с помощью 2х свободных битиков знакогенератора (в стандартном знакогенераторе РК там записаны единички) - получится один из 4 цветов на каждую горизонтальную плашку: 00 - красным по чёрному; 01 - зелёным по чёрному; 10 - синим по чёрному; 11 - белым по чёрному (значение по умолчанию). Таким образом мы как бы получим цветные тайлы, которых будет 2 набора, переключаемых программно, т.е. всего 256 (т.к. знакогенератор 2кб). При этом придётся расширить монитор, чтобы при рестарте он заполнял бы это ОЗУ стандартным шрифтом, который теперь будет храниться в ПЗУ монитора (которое напомню у нас 8кб где пока используется только 2кб). Если всё также уталкиваться в размеры 15x10 см (ну или в предел моей стандартной лицензии игла 16x10), то возможно следует всю новую мелкую логику (включая регистр управления страницами памяти) затолкать в одну палку/галку. Туда же можно добавить поддержку нескольких предопределённых палитр (как минимум двух - RGB как описано выше и аля CGA с Magenta и Cyan). P.S. Подключение ОЗУ шрифтов к шине данных можно сделать по адресам C000...C800, когда в регистре управления установлена несуществующая страница 7 (например) - в этом случае ВГ75 уходит в тень (собственно также как и сейчас если установлена ненулевая страница - 1,2 или 3), а _CS_C000 выходящий на внешний разъём не активируется. Ну и ещё один бит в регистре управления может быть отведён под переключение палитр (0-RGBW, 1-YCMW). P.P.S. Вообще можно и универсальную RGB палитру попробовать сделать, которая задавалась бы 12 битами (3 бита RGB на каждый цвет из 4), но тогда одной галки не хватит - придётся ставить что-то побольше типа XC9536. Регистр управления при этом превратится в 5 трёхбитных регистров доступных только на запись: #F000 - RAM page (0,1,2,3 and 7 for font update) // в будущем память можно увеличить - тогда наверное для доступа к шрифтам надо просто в этот регистр писать #FF #F0С0 - RGB for color 0 #F0С1 - RGB for color 1 #F0С2 - RGB for color 2 #F0С3 - RGB for color 3 (отличать регистры палитры от регистра страниц можно одним битом адреса A7 ну или двумя, если хватит ног у CPLD) | | | | |
Наверное можно попробовать обойтись рассыпухой плюс ещё один ВВ55, который будет задавать цвета 0,1 и 2 (цвет 3 всегда можно считать белым). Взяв аналоговый селектор и подключив к выходу ВВ55 резисторы можно получить скажем цвета RGB332 - хотя это наверное уже перебор для РК...
|
13 Sep 2021 00:26 |
|
|
alexcp
Senior
Joined: 11 Jun 2012 07:30 Posts: 128
|
Жаль, что RAMDAC-и вымерли, один какой-нибудь Bt453 заменил бы и ВВ55, и резисторы, и мультиплексор, и кучу мелочи.
|
13 Sep 2021 07:34 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
Наверное всё-таки надо оставаться в "цифровых" цветах 0-7, где цветовые составляющие могут принимать только 2 значения - логический "0" и логическая "1" Это позволит сделать это расширение пользуясь обычной CPLD класса XC9500 P.S. Кстати вот этот вот разъём расширения: позволит подцепить к компьютеру урезанную версию SprinterNet с косвенным обращением к буферам WizNet-чипа вместо прямого доступа - правда прошивку ПЗУ сетевушки придётся переписать с z80 на 8080 и изменить API, чтобы не использовались индексные регистры...
|
13 Sep 2021 11:25 |
|
|
alexcp
Senior
Joined: 11 Jun 2012 07:30 Posts: 128
|
Если довести до ума страничную организацию памяти, то можно и прямое обращение в W5100 организовать. Да и не только в W5100 - вот тут https://github.com/wwarthen/RomWBW собрали довольно интересный пример:
|
13 Sep 2021 11:59 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
Странно как-то побито у них. Вообще если делать под CP/M то надо всю периферию прятать в тень и во всю ширь памяти растягивать ОЗУ - наверное рано пока в эту сторону копать...
|
13 Sep 2021 19:08 |
|
|
alexcp
Senior
Joined: 11 Jun 2012 07:30 Posts: 128
|
Из картинки не видно, но верхние 32к - это ОЗУ. После включения или сброса программа из ПЗУ настраивает страницы и копирует нужный код в верхние 32к, а потом передаёт туда управление: Там же, в верхних 32к, располагаются буферы для обмена данными с драйверами. Поэтому с точки зрения прикладной программы все адресное пространство - это ОЗУ. С таким софтом стандартная конфигурация - 512к ОЗУ+512к ПЗУ, это всего два корпуса. Управление страницами - ещё три-четыре корпуса. Памяти много, можно реализовать даже довольно объемные вещи вроде чтения и записи файлов FAT32 с SD карты или BIOS с автоматическим определением оборудования - они там много схем наплодили. В общем, любимый монитор РК86 сильно ограничивает полёт фантазии при проектировании железа.
|
13 Sep 2021 19:53 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22704 Location: Silicon Valley
|
Ну вот в той картинке ROM как-то совсем никак не отражён
|
13 Sep 2021 20:39 |
|
|
Who is online |
Users browsing this forum: No registered users and 17 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
|
|