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

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

Их не так чтобы много, как я уже неоднократно намекал - причём часть из них мои, т.е. я их сам переведу в 640x400 (или в 320x200).
А разрешение 640x256 мы скоро забудем, как страшный сон...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 455
- Joined: 23 Nov 2007 15:53
- Location: Saint Petersburg, Russia
Да частоты там почти те же, разница в 1,4 раза при экране 768х576, у которого сбоков бордюра нет, а по вертикали - всего по 32 строки сверху и снизу леттербокса вайдскринаShaos wrote:Не хочу на эти частоты выходить - ну и видеопамять опять же экономлю...\Black_Cat wrote:А почему не 800х600?Shaos wrote:Нарушение пропорций - только в тех самых ДЕСЯТИ программах. Новые программы будут юзать полный экран 640x400 (ну или в крайнем случае 640x350 как в старом-добром EGA).
P.S. Это не "бордюр", а LETTERBOX WIDESCREEN
Будет только у программ, рассчитанных под родное разрешение Спринтера (их не так чтобы много, как я уже неоднократно намекал).

"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". 
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.

zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
-
- Doomed
- Posts: 455
- Joined: 23 Nov 2007 15:53
- Location: Saint Petersburg, Russia
Кстати, не заметил тебя в списке авторовShaos wrote:причём часть из них мои
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". 
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.

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



Плюс я автор эмулятора SPRINT и среды разработки Sprinter SDK - см.тут в левом-нижнем углу рекламка:
http://web.archive.org/web/200307120205 ... /index.htm
P.S. Начал коверкать эмулятор - сразу выяснилось, что работу с графикой придётся переделать, чтобы поддержать переключающиеся полоски в 350-строчных режимах, а также чтобы реализовать возможность иметь более одной палитры 256-цветов в пределах одного экрана. Кстати с мышью в 350-строках тоже придётся химичить...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 455
- Joined: 23 Nov 2007 15:53
- Location: Saint Petersburg, Russia
А в чём тогда ретрокомпьютинговость, или недописишность? Имхо ты заришся на ПЦшную халяву делая экран под ПЦ разрешение. Но суть в том, что на ПЦ нет фана, т.к. это есть у всех, а следовательно нет мотивации юзать твою платформу, если то же можно иметь на каждом ПЦ. У тебя не будет фан тусовки, т.к. нахрен не надо. Твоя кроссплатформеность с ПЦ, тамошней тусовке нахрен не нужна как и собсно твоя платформа.Shaos wrote:А разрешение 640x256 мы скоро забудем, как страшный сон...
Напротив, использование растра 384х256/768х512 даёт совместимость со Спеком и Орионом, т.е. ваять софт можно будет сразу под три платформы, и ты получаешь сразу две заинтересованные фан-тусовки, которые при наличии кроссплатформенных инструментов тож будут ваять сразу на три платформы.
Имхо подумай, ибо ты сделал ошибочный выбор.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". 
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.

zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ретрокомпьютинговость в том, что там стоит самый настоящий Zilog процессор!
И кстати даже твои кривые разрешения надо натягивать на стандартные VGA/SVGA-режимы - так почему бы эти режимы не задействовать на все 100% без бесполезных бордюров? Или твоё "рэтро" заключается в издевательстве над юзером?
По поводу Ориона со Специалистом и Спектрума - они и так замечательно вписываются в мои 640x350 (результат растянут на 640x480 для правильного соотношения сторон):

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

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

P.S. Картинка фейкового метроида на ZX взята отсюда.
P.P.S. Кроме того я таки планирую CP/M-80 туда поставить
Текстовый режим 80x25 как раз под него планируется...
P.P.P.S. Ещё одна мотивация: девайс, умеющий генерить ПОЛНОЭКРАННУЮ VGA-картинку, будет интересен не только ретро-фрикам...
И кстати даже твои кривые разрешения надо натягивать на стандартные VGA/SVGA-режимы - так почему бы эти режимы не задействовать на все 100% без бесполезных бордюров? Или твоё "рэтро" заключается в издевательстве над юзером?

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

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

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

P.S. Картинка фейкового метроида на ZX взята отсюда.
P.P.S. Кроме того я таки планирую CP/M-80 туда поставить

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

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


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

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 1328
- Joined: 25 Jul 2011 00:14
- Location: WWW
занятно.Black_Cat wrote:А в чём тогда ретрокомпьютинговость, или недописишность? Имхо ты заришся на ПЦшную халяву делая экран под ПЦ разрешение. Но суть в том, что на ПЦ нет фана, т.к. это есть у всех, а следовательно нет мотивации юзать твою платформу, если то же можно иметь на каждом ПЦ. У тебя не будет фан тусовки, т.к. нахрен не надо. Твоя кроссплатформеность с ПЦ, тамошней тусовке нахрен не нужна как и собсно твоя платформа.Shaos wrote:А разрешение 640x256 мы скоро забудем, как страшный сон...
Напротив, использование растра 384х256/768х512 даёт совместимость со Спеком и Орионом, т.е. ваять софт можно будет сразу под три платформы, и ты получаешь сразу две заинтересованные фан-тусовки, которые при наличии кроссплатформенных инструментов тож будут ваять сразу на три платформы.
Имхо подумай, ибо ты сделал ошибочный выбор.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
А вот так оно же будет выглдяеть в автоматически сгенерированной 256-цветной палитре, когда пара EGA-точек превращается в одну VGA-точкуShaos wrote:Интересно, что в стандартной EGA-шной 16-цветной палитре путём хитрого размещения точек можно получить иллюзию более чем 16 цветов
Слева кроме основных 16 цветов видно ещё 120 (цвета замешиваются в равных пропорциях в шахматном порядке), а справа - ещё 240 (один цвет замешан более сильно) - т.е. уже 376 цветов выходит


Так можно "размазывать" EGA-шные картинки при просмотре для пущей плавности

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 587
- Joined: 27 Mar 2013 04:55
- Location: 62.192.229.16
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Прикинул, что с учётом невозможности работать с видеопамятью когда она отрисовывается и при условии использовании 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!
P.P.S. Я забыл, что в 16-цветном режиме я отменил палитру!
В этом случае теоретически можно разнести 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 перерисовок одной полоски).
Вот и набрали 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).
Спринтеровские видеорежимы будут программно отображаться на этот набор - вобщем как-то так...
P.S. На самом деле это не так плохо, т.к. перерисовывая только одну полоску (высотой 50 пикселов и шириной 640 16-цветных пикселов или 320 256-цветных пикселов) мы сумеем получить 35 FPS для 640x400 и 320x200 и все 70 FPS в случае 640x350!

P.P.S. Я забыл, что в 16-цветном режиме я отменил палитру!

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 перерисовок одной полоски).
А вот интересно, можно ли эту палитру затолкать в галку или вообще на резисторах построить? Тогда можно сделать её палитрой по умолчанию для 256-цветных режимов и проц будет в 4 раза быстрее работать, пока программа не начнёт свою палитру использовать через 3 другие микросхемы видеопамяти...Shaos wrote:А вот так оно же будет выглдяеть в автоматически сгенерированной 256-цветной палитре, когда пара EGA-точек превращается в одну VGA-точкуShaos wrote:Интересно, что в стандартной EGA-шной 16-цветной палитре путём хитрого размещения точек можно получить иллюзию более чем 16 цветов
Слева кроме основных 16 цветов видно ещё 120 (цвета замешиваются в равных пропорциях в шахматном порядке), а справа - ещё 240 (один цвет замешан более сильно) - т.е. уже 376 цветов выходит![]()
Так можно "размазывать" EGA-шные картинки при просмотре для пущей плавности
Вот и набрали 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
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда