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

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

Moderator: Shaos

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

Post by Shaos »

Нарушение пропорций - только в тех самых ДЕСЯТИ программах. Новые программы будут юзать полный экран 640x400 (ну или в крайнем случае 640x350 как в старом-добром EGA).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Black_Cat
Doomed
Posts: 455
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Post by Black_Cat »

Shaos wrote:Нарушение пропорций - только в тех самых ДЕСЯТИ программах. Новые программы будут юзать полный экран 640x400 (ну или в крайнем случае 640x350 как в старом-добром EGA).
А почему не 800х600, зачем тебе такой ниибический бордюр по вертикали?
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Black_Cat wrote:
Shaos wrote:Нарушение пропорций - только в тех самых ДЕСЯТИ программах. Новые программы будут юзать полный экран 640x400 (ну или в крайнем случае 640x350 как в старом-добром EGA).
А почему не 800х600?
Не хочу на эти частоты выходить - ну и видеопамять опять же экономлю...\

P.S. Это не "бордюр", а LETTERBOX WIDESCREEN ;) будет только у программ, рассчитанных под родное разрешение Спринтера.
Их не так чтобы много, как я уже неоднократно намекал - причём часть из них мои, т.е. я их сам переведу в 640x400 (или в 320x200).
А разрешение 640x256 мы скоро забудем, как страшный сон...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Black_Cat
Doomed
Posts: 455
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Post by Black_Cat »

Shaos wrote:
Black_Cat wrote:
Shaos wrote:Нарушение пропорций - только в тех самых ДЕСЯТИ программах. Новые программы будут юзать полный экран 640x400 (ну или в крайнем случае 640x350 как в старом-добром EGA).
А почему не 800х600?
Не хочу на эти частоты выходить - ну и видеопамять опять же экономлю...\

P.S. Это не "бордюр", а LETTERBOX WIDESCREEN ;)

Будет только у программ, рассчитанных под родное разрешение Спринтера (их не так чтобы много, как я уже неоднократно намекал).
Да частоты там почти те же, разница в 1,4 раза при экране 768х576, у которого сбоков бордюра нет, а по вертикали - всего по 32 строки сверху и снизу леттербокса вайдскрина :) .
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Black_Cat
Doomed
Posts: 455
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Post by Black_Cat »

Shaos wrote:причём часть из них мои
Кстати, не заметил тебя в списке авторов
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Black_Cat wrote:
Shaos wrote:причём часть из них мои
Кстати, не заметил тебя в списке авторов
Посмотри внимательнее:

Image

Image

Image

Плюс я автор эмулятора SPRINT и среды разработки Sprinter SDK - см.тут в левом-нижнем углу рекламка:

http://web.archive.org/web/200307120205 ... /index.htm

P.S. Начал коверкать эмулятор - сразу выяснилось, что работу с графикой придётся переделать, чтобы поддержать переключающиеся полоски в 350-строчных режимах, а также чтобы реализовать возможность иметь более одной палитры 256-цветов в пределах одного экрана. Кстати с мышью в 350-строках тоже придётся химичить...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Black_Cat
Doomed
Posts: 455
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Post by Black_Cat »

Shaos wrote:А разрешение 640x256 мы скоро забудем, как страшный сон...
А в чём тогда ретрокомпьютинговость, или недописишность? Имхо ты заришся на ПЦшную халяву делая экран под ПЦ разрешение. Но суть в том, что на ПЦ нет фана, т.к. это есть у всех, а следовательно нет мотивации юзать твою платформу, если то же можно иметь на каждом ПЦ. У тебя не будет фан тусовки, т.к. нахрен не надо. Твоя кроссплатформеность с ПЦ, тамошней тусовке нахрен не нужна как и собсно твоя платформа.
Напротив, использование растра 384х256/768х512 даёт совместимость со Спеком и Орионом, т.е. ваять софт можно будет сразу под три платформы, и ты получаешь сразу две заинтересованные фан-тусовки, которые при наличии кроссплатформенных инструментов тож будут ваять сразу на три платформы.
Имхо подумай, ибо ты сделал ошибочный выбор.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Ретрокомпьютинговость в том, что там стоит самый настоящий Zilog процессор!

И кстати даже твои кривые разрешения надо натягивать на стандартные VGA/SVGA-режимы - так почему бы эти режимы не задействовать на все 100% без бесполезных бордюров? Или твоё "рэтро" заключается в издевательстве над юзером? ;)

По поводу Ориона со Специалистом и Спектрума - они и так замечательно вписываются в мои 640x350 (результат растянут на 640x480 для правильного соотношения сторон):

Image

И в 320x200 (тоже растянуто в 4:3):

Image

А так если вставить стандартный VGA-шный бордюрчик шириной в 8 пикселов:

Image

P.S. Картинка фейкового метроида на ZX взята отсюда.

P.P.S. Кроме того я таки планирую CP/M-80 туда поставить ;)
Текстовый режим 80x25 как раз под него планируется...

P.P.P.S. Ещё одна мотивация: девайс, умеющий генерить ПОЛНОЭКРАННУЮ VGA-картинку, будет интересен не только ретро-фрикам...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Интересно, что в стандартной EGA-шной 16-цветной палитре путём хитрого размещения точек можно получить иллюзию более чем 16 цветов :)

Image

Слева кроме основных 16 цветов видно ещё 120 (цвета замешиваются в равных пропорциях в шахматном порядке), а справа - ещё 240 (один цвет замешан более сильно) - т.е. уже 376 цветов выходит :o
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Black_Cat wrote:
Shaos wrote:А разрешение 640x256 мы скоро забудем, как страшный сон...
А в чём тогда ретрокомпьютинговость, или недописишность? Имхо ты заришся на ПЦшную халяву делая экран под ПЦ разрешение. Но суть в том, что на ПЦ нет фана, т.к. это есть у всех, а следовательно нет мотивации юзать твою платформу, если то же можно иметь на каждом ПЦ. У тебя не будет фан тусовки, т.к. нахрен не надо. Твоя кроссплатформеность с ПЦ, тамошней тусовке нахрен не нужна как и собсно твоя платформа.
Напротив, использование растра 384х256/768х512 даёт совместимость со Спеком и Орионом, т.е. ваять софт можно будет сразу под три платформы, и ты получаешь сразу две заинтересованные фан-тусовки, которые при наличии кроссплатформенных инструментов тож будут ваять сразу на три платформы.
Имхо подумай, ибо ты сделал ошибочный выбор.
занятно.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Интересно, что в стандартной EGA-шной 16-цветной палитре путём хитрого размещения точек можно получить иллюзию более чем 16 цветов :)

Image

Слева кроме основных 16 цветов видно ещё 120 (цвета замешиваются в равных пропорциях в шахматном порядке), а справа - ещё 240 (один цвет замешан более сильно) - т.е. уже 376 цветов выходит :o
А вот так оно же будет выглдяеть в автоматически сгенерированной 256-цветной палитре, когда пара EGA-точек превращается в одну VGA-точку :o

Image

Так можно "размазывать" EGA-шные картинки при просмотре для пущей плавности :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

Я в игру с подобным эффектом играл. Отображение на EGA картинки от VGA (MCGA)

Zeliard драйвер EGA

Image

Zeliard драйвер VGA

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

Post by Shaos »

Я думаю многие EGA-шные игры таким способом можно "перевести в VGA" :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Прикинул, что с учётом невозможности работать с видеопамятью когда она отрисовывается и при условии использовании DMA на Z180, работающем с частотой 25.175 МГц, мы сможем полностью менять кадр 4.4 раза в секунду в случае 640x400, 10.1 раз в секунду в случае 640x350 и 8.8 раза в секунду в случае 320x200 (если сумеем сохранять целую строку где-то в быстрой памяти, то оно будет в 2 раза быстрее - 17.6 раз в секунду). По сравнению со Спринтером это не густо, т.к. там акселератор теоретически мог обеспечить 85 полнокадровых перерисовок в секунду (практически не мерял - надо померять).

P.S. На самом деле это не так плохо, т.к. перерисовывая только одну полоску (высотой 50 пикселов и шириной 640 16-цветных пикселов или 320 256-цветных пикселов) мы сумеем получить 35 FPS для 640x400 и 320x200 и все 70 FPS в случае 640x350! :o

P.P.S. Я забыл, что в 16-цветном режиме я отменил палитру! :roll: В этом случае теоретически можно разнести 4 микросхемы по разным шинам и процессор не будет тормозиться 3/4-времени работы с видеопамятью т.е. FPS-ы будут в 4 раза выше для 16-цветных режимов по сравнению с аналогичными 256-цветными (в 3.5 раза для 350 строк):

320x200 - 8.8 FPS (35 перерисовок одной полоски);
640x350 - 35.4 FPS (247 перерисовок одной полоски);
320x350 - 10.1 FPS (70 перерисовок одной полоски);
640x400 - 17.6 FPS (141 перерисовка одной полоски);
320x400 - 4.4 FPS (35 перерисовок одной полоски).
Shaos wrote:
Shaos wrote:Интересно, что в стандартной EGA-шной 16-цветной палитре путём хитрого размещения точек можно получить иллюзию более чем 16 цветов :)

Image

Слева кроме основных 16 цветов видно ещё 120 (цвета замешиваются в равных пропорциях в шахматном порядке), а справа - ещё 240 (один цвет замешан более сильно) - т.е. уже 376 цветов выходит :o
А вот так оно же будет выглдяеть в автоматически сгенерированной 256-цветной палитре, когда пара EGA-точек превращается в одну VGA-точку :o

Image

Так можно "размазывать" EGA-шные картинки при просмотре для пущей плавности :)
А вот интересно, можно ли эту палитру затолкать в галку или вообще на резисторах построить? Тогда можно сделать её палитрой по умолчанию для 256-цветных режимов и проц будет в 4 раза быстрее работать, пока программа не начнёт свою палитру использовать через 3 другие микросхемы видеопамяти...

Вот и набрали 4 бита в оставшуюся половинку четвёртого порта:
- отключение видео совсем;
- управление активной страницей в режиме 320x200;
- включение (точнее отключение) стандартной 256-цветной палитры "EGA2VGA" (как описано выше);
- что-то ещё было, но я забыл что...

P.P.P.S. Можно пойти другим путём - использовать эти биты чтобы устанавливать видеорежим - два младших бита на цветность:

00 - 16-цветный режим без палитры;
01 - 256-цветный режим с палитрой "EGA2VGA";
10 - 256-цветный режим "Grayscale" (градации серого);
11 - 256-цветный режим с пользовательской палитрой (палитрами).

И оставшиеся 2 бита (старших) на кол-во строк:

00 - 200 строк первая страница (верхняя половинка видеопамяти);
01 - 200 строк вторая страница (нижняя половинка видеопамяти);
10 - 350 строк с настройками 7 окон видеопамяти;
11 - 400 строк с фиксированными окнами видеопамяти.

Режим 16-цветов 200 строк бессмысленен (потому что 640x200), поэтому комбинации 0000 и 0100 будут иметь иной смысл - отключение видео совсем (0000) и расширение на будущее (0100) - например аппаратный текстовый режим...

P.P.P.P.S. Режимы 0001 и 0101 тоже не сильно осмысленные на самом деле, но пусть будут - мало ли...

P.P.P.P.P.S. Вот полная линейка видеорежимов с теоретической максимальной скоростью отрисовки в скобках:

0000 - отключение видео совсем;
0001 - 320x200 первая страница с палитрой EGA2VGA (35 FPS);
0010 - 320x200 первая страница с палитрой GRAYSCALE (35 FPS);
0011 - 320x200 первая страница с пользовательской палитрой (8.8 FPS);
0100 - расширение на будущее (аппаратный текст);
0101 - 320x200 вторая страница с палитрой EGA2VGA (35 FPS);
0110 - 320x200 вторая страница с палитрой GRAYSCALE (35 FPS);
0111 - 320x200 вторая страница с пользовательской палитрой (8.8 FPS);
1000 - 640x350 с настройками 7 окон видеопамяти (35 FPS);
1001 - 320x350 с настройками 7 окон видеопамяти и палитрой EGA2VGA (35 FPS);
1010 - 320x350 с настройками 7 окон видеопамяти и палитрой GRAYSCALE (35 FPS);
1011 - 320x350 с настройками 7 окон видеопамяти и пользовательскими палитрами (10 FPS);
1100 - 640x400 с фиксированными окнами видеопамяти (17.6 FPS);
1101 - 320x400 с фиксированными окнами видеопамяти и палитрой EGA2VGA (17.6 FPS);
1110 - 320x400 с фиксированными окнами видеопамяти и палитрой GRAYSCALE (17.6 FPS);
1111 - 320x400 с фиксированными окнами видеопамяти и пользовательскими палитрами (4.4 FPS).

Спринтеровские видеорежимы будут программно отображаться на этот набор - вобщем как-то так...
Last edited by Shaos on 03 Jun 2013 18:05, edited 2 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Поздравляю! Вы открыли для себя дитеринг и дедитеринг!