nedoPC.org

Community for electronics hobbyists, established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 11 Dec 2024 05:15



Reply to topic  [ 109 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8
Великий долгострой nedoSprinter 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23467
Location: Silicon Valley
Reply with quote
Shaos wrote:
На самом деле в графическом режиме зона шрифтов по идее тоже может быть задействована как обычная видеопамять - т.е. графические экраны можно растянyть вплоть до 767й колонки ( 0x2FF= 10 1111 1111 ):

Image

Есть оказывается вот такой экзотический VESA режим 768x576@60, который замечательно ложится на расширенный вышеописанным образом спринтеровский экран:

Attachment:
VESA_768x578_60Hz.gif
VESA_768x578_60Hz.gif [ 41.45 KiB | Viewed 3906 times ]
Source: http://tinyvga.com/vga-timing/768x576@60Hz

Хотя оно может и не поддерживаться стандартными VGA мониторами, например один из современных 16:9 мониторов с максимальным разрешением 1920x1080 имеет следующую таблицу поддерживаемых режимов:


Attachments:
Screenshot from 2021-08-26 00-55-32.png
Screenshot from 2021-08-26 00-55-32.png [ 62.37 KiB | Viewed 3906 times ]

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973
26 Aug 2021 00:18
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23467
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вобщем снова идём по режимам и переосмысливаем (жирным выделены старые режимы Спринтера):

#01 - Mixed Mode 640x350 (???);
#02 - Text 40x32 with 16 colors and characters 8x8 - emulated by #01 (640x350) with offset;
#03 - Text 80x32 with 16 colors and characters 8x8 - emulated by #01 (640x350) with offset;
#04 - Text Mode 80x50 with 16 colors and characters 8x8 (640x400 - no scrolling);
#05 - High-Quality Text Mode 80x35 with 16 colors and characters 8x10 (640x350 - no scrolling); \
#06 - High-Quality Text Mode 80x40 with 16 colors and characters 8x10 (640x400 - no scrolling); - Future
#07 - High-Quality Text Mode 80x48 with 16 colors and characters 8x10 (640x480 - no scrolling); /

#80 - Graphics 368x288 with 256-color palette and compatible with mode #81 page 0 (???);
#81 - Graphics 320x256 with 256-color palette (over 640x350 - emulated by mode #C1 with offset 48);
#82 - Graphics 640x256 with 16 colors (over 640x350 - emulated by mode #C2 with offset 48);
#83 - Graphics 352x280 with 256-color palette and 4 pages (no scrolling);
#84 - Graphics 704x280 with 16-color palette and 4 pages (no scrolling);
#85 - Graphics 384x512 with 256-color palette and 2 pages (over 800x600 with border???); - Future
#86 - Graphics 768x512 with 16-color palette and 2 pages (over 800x600 with border???); - Future


#C1 - Graphics 320x350 with 256-color palette, horizontal and vertical scrolling;
#C2 - Graphics 640x350 with 16 colors with horizontal and vertical scrolling;
#C3 - Graphics 320x400 with 256-color palette, horizontal and vertical scrolling; - Future
#C4 - Graphics 640x400 with 16 colors, horizontal and vertical scrolling; - Future
#C5 - Graphics 640x480 with 16 colors, horizontal and vertical scrolling. - Future


Для новых режимов надо предусмотреть возможность копирования 16 строк через одну банку памяти вместо одной строки как в оригинальном Спринтере...

P.S. Вот ещё один пример экрана 640x256 показанного в 640x350 с чёрными полосами сверху-снизу и растянутого к соотношению сторон 16:9:

Image
Тут чёрный квадрат был квадратным когда 640x256 были растянуты в 16:9, а белый квадрат - реально квадратный в нативном разрешении...

P.P.S. А вот как могло бы выглядеть полное занимание 640x350 в соотношении сторон 16:9 (пропорции иконок также поправлены):

Image

P.P.P.S. Возможные порты для работы с экраном (жирным выделен старый функционал):

#89 - порт куда пишем номер текущей строки с номером от 0 до 255 (как и раньше)
#8A - порт куда пишем номер текущей строки с номером от 256 до 511 (пишем туда Y-256)
#8B - порт куда пишем номер 16-строчного блока для работы через окно (0...31)

#C9 - порт где можно быстро переключить экран в 256-строчном режиме (0,1,2,3)
#CA - младший байт горизонтального смещения экрана (сохраняется в буферном регистре)
#CB - старший байт горизонтального смещения экрана (запись обоих байтов в 10-битный регистр горизонтального смещения)
#CC - младший байт вертикального смещения экрана (сохраняется в буферном регистре)
#CD - старший байт вертикального смещения экрана (запись обоих байтов в 9-битный регистр вертикального смещения)
#CE - высота чёрной зоны сверху
#CF - высота чёрной зоны снизу

P.P.P.P.S. Наверное номера режимов со скролом надо будет убрать в новую область - скажем в #Cx т.к. они будут совсем другие (никаких клеточек-квадратиков и микса с текстовыми режимами) - убрал

Тема nedoSprinter закрывется в пользу Project Spirit

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


11 Sep 2023 22:05
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23467
Location: Silicon Valley
Reply with quote
Post Re:
Shaos wrote:
Википедия говорит вот такие цифры для палитры ZX-спектрума:
Code:
Color number    Binary value    BRIGHT 0 (RGB)   BRIGHT 1 (RGB)  Color name
---------------------------------------------------------------------------
      0             000         #000000          #000000         black
      1             001         #0000CD          #0000FF         blue
      2             010         #CD0000          #FF0000         red
      3             011         #CD00CD          #FF00FF         magenta
      4             100         #00CD00          #00FF00         green
      5             101         #00CDCD          #00FFFF         cyan
      6             110         #CDCD00          #FFFF00         yellow
      7             111         #CDCDCD          #FFFFFF         white

Точно таких цветов нету ни в стандартной EGA, ни в микшированной палитре EGA2VGA - значит придётся создавать пользовательскую палитру только под спектрум...

P.S. Можно ещё туда добавить цвета из палитры "аппаратный GigaScreen" - это 102 цвета, получающиеся путём мерцания двух спектрумовских экранов.

Вроде на форуме я это ещё не озвучивал - в апреле 2021 года для SprinterNet я создал палитру GigasRGBx, которая составлена из гигаскриновских ZX-цветов с учётом гаммы (близко к sRGB) и добавлением других промежуточных и 32 градации серого:

Attachment:
GigasRGBx.png
GigasRGBx.png [ 134.65 KiB | Viewed 2189 times ]

Цветами из этой палитры можно аппроксимировать EGA-шные цвета:

Attachment:
FakeEGA.png
FakeEGA.png [ 58 KiB | Viewed 2189 times ]

Я буду пробовать разные смешанные палитры на разных картинках в теме про Project Spirit...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


17 Oct 2023 22:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23467
Location: Silicon Valley
Reply with quote
А может таки попробовать сделать чисто текстовый nedoSprinter как задумывалось в ноябре 2007 года?
Shaos wrote:
В первой версии можно замутить лишь текстовый режим (хотя бы и через NedoText) и поставить главной задачей не скорость, а функциональную совместимость в смысле акселератора и биоса, чтобы пускать там DSS, Forth, Solid C и т.д.

P.S.И делать его надо на мелкой логике :lol:
Ну максимум на галках и микроконтроллерах :mrgreen:
Без всяких там FPGA или CPLD...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


17 Oct 2024 23:30
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 109 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8

Who is online

Users browsing this forum: No registered users and 2 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.