|
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: 22732 Location: Silicon Valley
|
Причём получается "чёрный" пробел, а я хочу чтобы он "подкрашенный" был Чтобы "залипшие" фоновые подсветки заканчивались не перед этим знакоместом, а в конце этого знакоместа...
|
24 Jan 2024 03:40 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 327 Location: Tashkent
|
Кажется, в Апогее так и сделано: Там нет проблем с окраской предыдущих знакомест, так как атрибуты защёлкиваются в регистре синхронно. Потому и "подкрашенный пробел" получить легко, если той схемой Апогея воспользоваться. (Эмулятор Emu80 слегка лукавит, как сам автор признался: Окрашивает предыдущее знакоместо целиком, а в "железе" - всего пиксель попадает. А мерцание - тоже отключает предыдущий символ, что на своём КР-03 я не наблюдал.)
|
24 Jan 2024 03:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
А это чего такое на скриншоте происходит? Что за символы слева и справа от таблицы? Не - в железе (если без регистра) не один пиксел попадает, а один пиксел НЕ окрашивается (т.е. предыдущий символ окрашивается в новый атрибут не целиком, а на 5/6=83%) - вот скришот с Пальмиры (где нет регистра), что сделал Pyk и опубликовал на зхпк: Вот крупнее: т.е. это и есть "левый пиксель обычно не затрагивается"
|
24 Jan 2024 08:39 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 327 Location: Tashkent
|
Слева и справа - коды E4 и E5 соответственно (проверял, не "плывёт" ли экран). А так как в моём КР-03 в панельке знакогенератора (да и в схеме из руководства по эксплуатации) обнаружил РФ5 вместо РФ1. Аккуратно перезал ножку A10 и перемычкой подал её на ВГ75, чтобы проверить, что там по 0400-07FF... Любопытно! Мне об этом не говорили.
|
24 Jan 2024 09:29 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
Понятно - значит эмуль правильно показывает О - так ты можешь туда чего-то записать А куда у него A10 подключен? На землю? У меня КР-03 кстати тоже есть, но он фиговенько работает: http://www.nedopc.org/forum/viewtopic.php?f=93&t=17793Ну вроде это как раз то, что он тебе сказал на том скриншоте
|
24 Jan 2024 09:35 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 327 Location: Tashkent
|
Не могу: Программатора нет. К тому же - там "зебра" из 00/FF (видно по снимку экрана)... Видимо, кто прошивал, никак не обнулил ОЗУ и мусор прошился в ПЗУ (все 2 Кб, а не 1 Кб): Придётся всю ПЗУ стирать! По-моему, на VSP сидел - нужно в схему заглянуть... (Вывод 19 спаян был с выводом 20: Перерезал и пересадил на 36 ВГ75.) До Пальмиры руки не доходят даже в эмуляторе: Всё свободное время отдаю под разработку ПО на РК. Но, на сколько я помню (ещё на КР-03 не проверил), атрибуты мерцания на соседнее знакоместо не распространяются, как в Emu80 (скриншоты ниже).
|
24 Jan 2024 09:58 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
| | | | Alikberov wrote: Не могу: Программатора нет. К тому же - там "зебра" из 00/FF (видно по снимку экрана)... Видимо, кто прошивал, никак не обнулил ОЗУ и мусор прошился в ПЗУ (все 2 Кб, а не 1 Кб): Придётся всю ПЗУ стирать! По-моему, на VSP сидел - нужно в схему заглянуть... (Вывод 19 спаян был с выводом 20: Перерезал и пересадил на 36 ВГ75.) | | | | |
Понятно - 20 это /OE: Можно попробовать достать совпадающий по ногам EEPROM, который можно при +5 запрограммировать ну или в любом случае программатор нужен - взять китайский Tl866ii например По цветам она работает как Толкалин без регистра - так что можно использовать как "эталон"
|
24 Jan 2024 10:26 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
А там RVV заведён? Без него мерцания не будет А если заведён (через XOR), то будет не только мерцание, но и инверсия Надо достать Апогеи и поглядеть - у меня есть оба - и чёрно-белый (с инверсией и мерцанием без регистра), и цветной (с регистром) - эмуль так показывает разницу между ними: (и тут видно, что на цветном есть режим чёрным-по-чёрному)
|
24 Jan 2024 10:29 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 327 Location: Tashkent
|
Пока обошёлся покупкой К537РУ8 - они по выводам практически полностью попадают. Нужно лишь с цепью "автономного питания" разобраться...
|
24 Jan 2024 10:31 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
У китайского программатора могут быть проблемы с советскими микрухами - лучше взять буржуйские
|
24 Jan 2024 10:34 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
Подумал тут, а что если добавить акцентов нашим локальным цветам? Например завести 3-битный регистр, куда игровая программа может записать битики акцентирующие нулевые цветовые составляющие полутонами, если они есть в соответствующих позициях цветов переднего плана (не фоновых) - аппаратно это должно быть суперпросто реализовать. Теперь мы можем получить 8 разных наборов цветов под каждую палитру (акцент 000 означает неизменнённые цвета): (палитра 1 получилась победнее, чем палитра 0, но тем не менее - хотя наверное можно попробовать не добавлять акценты в палитре 1, а вычитать) P.S. Это всё с оглядкой на подключение к TFT по новой схеме от alexcp, разве что биты интенсивности I будут разные для разных цветов т.е. потенциально это 3^3=27 разных цветов (т.к. интенсивного чёрного у нас нету) из которых мы берём 3 плюс белый для переднего плана и только полутона для заднего). P.P.S. А не поменять ли задние цвета между палитрами? Тогда появится возможность делать текстовый редактор аля нортон жёлтым по синему Хотя это не для текста - это для тайлов, которые для игр...
|
24 Jan 2024 21:20 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 327 Location: Tashkent
|
Как раз для это и нужны три набора фонта: - Включаемый по HRTC "родной" для полной совместивости с РК-программами
- Включаемый по E4 ASCII для CP/M приложений и редакторов
- Включаемый по E5 КОИ-8R для CP/M приложений и редакторов с псевдографикой
Причём, ИМХО, желательно фонты по E4/E5 ещё переключать через ВВ55, чтобы в том же "Принце Персии" заменять КОИ-8 на тайлы для построения уровня и отображения героя. (Чем меньше "тумблеров" для управления "хозяйством" (цветность, фонты и т.п.), тем лучше (сейчас не XIX век): можно на РК аналог BIOS сделать с выбором настроек.)
|
25 Jan 2024 01:48 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
Ну тумблеры это для настройки окружения для старых программ, которые не знают на чём они запущены Причём никто не мешает уже запустив программу начать щёлкать тумблерами, чтобы подобрать правильные цвета Потом можно тумблеры превратить в кнопки, управляющие установкой-сбросом триггеров, которые можно также программно устанавливать-сбрасывать - новые программы могут все эти ручные настройки сбросить во что нужно при старте - либо сделать возможным программно сброситься в основной режим работы нового компа (скажем сделать основным режим Апогея с регистром и серым 8Dh, что немного не по апогеевски, но очень уж не хочется терять восьмую комбинацию). По поводу трёх шрифтов - три шрифта всё таки много. Хотелось бы, чтобы с начала кадра оно не всегда с одного и того же набора стартовала, а с того, который программно выбран и далее переключать между двумя шрифтами через E4/E5, чтобы если подряд идут несколько E4, то шрифт бы оставался основным, но факт наличия E4 использовался бы для других целей - в моём случае для сброса цвета фона. По-моему так всё очень красиво ложится в логичное и непротиворечивое русло с архитектурной точки зрения. А для дальнейшей совместимости с РК-программами (и монитором) всегда можно просто перезагрузить машину - соблюдать совместимость в каждом кадре совсем ненужно
|
25 Jan 2024 02:43 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
Сделал вычитание акцентов в случае палитры 1 - теперь повеселее Кроме того в палитре 1 пометил звёздочкой те цвета, которые также присутствуют в палитре 0. Ещё одной интересной особенностью палитры 1 является то, что при акценте 111 цвета переднего плана совпадают с цветами фона. Всего тут у нас получилось 23 разных цвета (номер в каждой строке это количество раз сколько данный цвет встретился во всех палитрах со всеми акцентами): По идее тут могло бы быть 3^3=27 цветов, однако 4 цвета выпали: AAAAAA, AAFFFF, FFAAFF и FFFFAA.Сишная программа для генерации вышеприведённых таблиц в виде HTML - под спойлером: rk-color3-accents.c | | | | Code: #include <stdio.h> #include <stdlib.h> #include <string.h>
long cols[9]={0x0000FF,0x00FF00,0xFF0000,0xFFFFFF,0x0000AA,0x00AA00,0xAA0000,0x000000};
int main() { char str[8],sta[8][8]; int i,j,k,ii,jj; long l,ll[25]; FILE *f; f = fopen("accents.htm","wt"); if(f==NULL) return -1; ll[24] = 0xFFFFFF; fprintf(f,"<HTML><BODY BGCOLOR=#FFFFFF>\n"); fprintf(f,"<h1>Colors of RK-tiles with accents</h1>\n"); for(k=0;k<2;k++) { fprintf(f,"<h2>Palette %i</h2>\n",k); ii = 0; fprintf(f,"<table border=1 cellpadding=5>\n"); for(j=0;j<9;j++) { strcpy(str,"000"); fprintf(f,"<tr>\n"); for(i=0;i<10;i++) { if(i==0) { if(j==0) fprintf(f," <td> "); else if(j==1) fprintf(f," <td rowspan=4>Foreground"); else if(j==5) fprintf(f," <td rowspan=4>Background"); } else if(i==1) { if(j==0) fprintf(f," <td>Accent-->"); else { fprintf(f," <td align=right>Attr %02d",ii++); if(ii==2) ii=10; if(ii==12) ii=0; } } else // i>=2 { if(j==0) { fprintf(f," <td>%s",str); strcpy(sta[i-2],str); if(++str[2]=='2') { str[2] = '0'; if(++str[1]=='2') { str[1] = '0'; str[0]++; } } } else { jj = 25; l = cols[j-1]; if(k) { if(l==0xFF0000) l=0x00FFFF; else if(l==0x00FF00) l=0xFF00FF; else if(l==0x0000FF) l=0xFFFF00; else if(l==0xAA0000) l=0x00AAAA; else if(l==0x00AA00) l=0xAA00AA; else if(l==0x0000AA) l=0xAAAA00; if(j<4) // subtract accents for palette 1 { if(sta[i-2][0]=='1'&&(l&0xFF0000)){l&=0x00FFFF;l|=0xAA0000;} if(sta[i-2][1]=='1'&&(l&0x00FF00)){l&=0xFF00FF;l|=0x00AA00;} if(sta[i-2][2]=='1'&&(l&0x0000FF)){l&=0xFFFF00;l|=0x0000AA;} } // compare colors with palette 0 for(jj=0;jj<25;jj++) if(ll[jj]==l) break; } else if(j<4) // add accents for palette 0 { if(sta[i-2][0]=='1'&&!(l&0xFF0000)) l|=0xAA0000; if(sta[i-2][1]=='1'&&!(l&0x00FF00)) l|=0x00AA00; if(sta[i-2][2]=='1'&&!(l&0x0000FF)) l|=0x0000AA; ll[((j-1)<<3)+i-2] = l; // store colors from paletter 0 } if(jj<25) fprintf(f," <td bgcolor=#%6.6X align=right>*",l); else fprintf(f," <td bgcolor=#%6.6X> ",l); } } fprintf(f,"</td>\n"); } fprintf(f,"</tr>\n"); } fprintf(f,"</table>\n"); } fprintf(f,"<p>* Color is present in palette 0 as well.</b>\n"); fprintf(f,"</BODY></HTML>\n"); return 0; }
| | | | |
P.S. Если что, я также попробовал XOR вместо добавления акцента в палитре 0 и вычитания акцента в палитре 1 - не понравилось т.к. получилось слишком много повторений в пределах одной и той же комбинации палитры и акцента и в итоге всё уходило в серый цвет...
|
25 Jan 2024 03:01 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22732 Location: Silicon Valley
|
Можно перенести переключение фонтов/палитр с С1 клавиатурной ВВ55 в регистр, где совместить этот бит с тремя битами акцентов - и это всё совместить с битами выбора страницы памяти (до 4 битов могут выбирать 512 КБ) по адресу #F000, а клавиатурные C0 (мафон), С1 и С2 отдать под 3-битный звук
|
25 Jan 2024 03:49 |
|
|
Who is online |
Users browsing this forum: No registered users and 6 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
|
|