Великий долгострой nedoSprinter

Компьютер "Спринтер" http://sprinter.nedopc.org

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: [Zpring] Великий долгострой nedoSprinter

Post by Shaos »

Shaos wrote:На самом деле в графическом режиме зона шрифтов по идее тоже может быть задействована как обычная видеопамять - т.е. графические экраны можно растянyть вплоть до 767й колонки ( 0x2FF= 10 1111 1111 ):

Image
Есть оказывается вот такой экзотический VESA режим 768x576@60, который замечательно ложится на расширенный вышеописанным образом спринтеровский экран:
VESA_768x578_60Hz.gif
Source: http://tinyvga.com/vga-timing/768x576@60Hz

Хотя оно может и не поддерживаться стандартными VGA мониторами, например один из современных 16:9 мониторов с максимальным разрешением 1920x1080 имеет следующую таблицу поддерживаемых режимов:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: [Zpring] Великий долгострой nedoSprinter на Z80 и Xilinx

Post by Shaos »

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
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re:

Post by Shaos »

Shaos wrote:Википедия говорит вот такие цифры для палитры ZX-спектрума:

Code: Select all

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 градации серого:
GigasRGBx.png
Цветами из этой палитры можно аппроксимировать EGA-шные цвета:
FakeEGA.png
Я буду пробовать разные смешанные палитры на разных картинках в теме про Project Spirit...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Великий долгострой nedoSprinter

Post by Shaos »

А может таки попробовать сделать чисто текстовый nedoSprinter как задумывалось в ноябре 2007 года?
Shaos wrote:В первой версии можно замутить лишь текстовый режим (хотя бы и через NedoText) и поставить главной задачей не скорость, а функциональную совместимость в смысле акселератора и биоса, чтобы пускать там DSS, Forth, Solid C и т.д.
P.S.И делать его надо на мелкой логике :lol:
Ну максимум на галках и микроконтроллерах :mrgreen:
Без всяких там FPGA или CPLD...
Я тут за главного - если что шлите мыло на me собака shaos точка net