Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: 16 colors - roxxx!

  1. #1
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up 16 colors - roxxx!

    .
    Последний раз редактировалось breeze; 11.10.2013 в 18:13.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,552
    Благодарностей: 739
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я разобрался. Попробую на пальцах описать:
    имеются 4 экранных области - #4000, #6000, #c000 и #e000 в банке 0.
    Структура каждой - как у ZX-экрана (та же адресация).
    Первая область отвечает за левые 2 пикселя, 2я - за следующие 2, 3я - еще правее и наконец последняя - за правые 2 пикселя в отображаемой полоске из 8 точек.
    Каждый байт в каждой из областей - цвет тех точек, за которые он отвечает. Цвет представлен в формате IiRGBrgb. IRGB - цвет левой точки в этой паре, irgb - правой
    Режим хороший, но вроде лучше было сделать цвет на полубайт (т.е. IRGBirgb), так кодить удобней было бы...
    Все любят гипножабу

  4. #3
    Activist Аватар для captain cobalt
    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот цитата из IG#8/hard/Цвет на точку:
    Адресация аналогична АТМовской (#c000+, #4000+, #e000+, #6000+ и т. д.), но со стандартной разлиновкой, как в обычном спектрумовском режиме. Внутри байта раскладка битов такая же, как в АТМ (%IiGRBgrb, где IGRB - правый пиксель)
    Вообще, имхо, "черезстолбцовый интерлейс" всех продвинутых видеорежимов серъёзно препятствует программированию динамической графики. Лучше бы память имела более линейное строение.
    Последний раз редактировалось captain cobalt; 18.01.2006 в 01:34. Причина: Выделение жирным неточностей предыдущего оратора. ;)

  5. #4
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Благодарностей: 7
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    Лучше бы память имела более линейное строение.
    Что значит "более линейной строение"?

  6. #5

    По умолчанию

    Цитата Сообщение от icebear
    Что значит "более линейной строение"?
    Ну например, поскольку в таком режиме выходит 128 байт на строчку (просто сумма битов), то можно было бы сделать так: первая строчка по адресам $4000-$407f, вторая - по $4100-417f$ и так до 96ой, а с 97ой - строчки по адресам $4080-$40FF, $4180-$41FF и так далее. Ну это конечно грубо (24кило ибо на 1 экран), но идея примерно такая если бы была - было бы здорово.
    --- Кто съел всю уху?

  7. #6
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,552
    Благодарностей: 739
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze
    мдяяяяяя................ память транжирится не по детски если я правильно понял то I это интенсивность ? то есть яркость ? отсюда и 16 цветов. и атрибуты у нас теперь не 768 байт, а 768 * 8 = 6144 (#1800) ?
    #4000 - 5800 - 1я часть
    #5800 - #7000 - атрибуты ? или как ? что т тут неувязочка ?
    поскольку с #6000 уже экран 2й ...
    Атрибутами там не пахнет. Для каждой пары точек в байте записаны их цвета. Т.е если у тебя (#4000)=%10111111, то в самом верху слева у тебя будут светиться два пиксела - один белый, другой ярко-белый.
    (блин, кривое представление цвета в байте - сразу и не скажешь, какой байт за какие цвета отвечает. Куда удобнее #7F - сразу видно, что один цвет 7 - белый, а другой F - ярко белый).
    Память жрется - это еще ладно, а вот то, что на реале эта схема отнимает процессора его кровное время - это пипец. AlCo говорил, что процесс тормозится на треть.

    PS [самореклама]: если разочаруешься в этом режиме, переходи на мой. Те же 16 цветов на точку, проц не тормозится, а память вообще внешняя. (кто б мне его в железе помог реализовать)
    Все любят гипножабу

  8. #7
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Благодарностей: 7
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Ну например, поскольку в таком режиме выходит 128 байт на строчку (просто сумма битов), то можно было бы сделать так: первая строчка по адресам $4000-$407f, вторая - по $4100-417f$ и так до 96ой, а с 97ой - строчки по адресам $4080-$40FF, $4180-$41FF и так далее. Ну это конечно грубо (24кило ибо на 1 экран), но идея примерно такая если бы была - было бы здорово.
    Я правильно понимаю, что таким способом достигается линейность в смысле расположения в памяти (нет деления на куски с "провалами"), но не линейность пикселей (или строк пикселей)? Такой способ удобнее действительно линейного расположения пикселей в памяти и если да, то чем?

  9. #8

    По умолчанию

    Цитата Сообщение от icebear
    Я правильно понимаю, что таким способом достигается линейность в смысле расположения в памяти (нет деления на куски с "провалами"), но не линейность пикселей (или строк пикселей)? Такой способ удобнее действительно линейного расположения пикселей в памяти и если да, то чем?
    Почему не достигается линейность строк? Каждая строка - это 128 байт подряд (а не как у АлКо). В байте пиксели можно расположить как угодно (IRGB.IRGB), всё равно такая раскладка потребует полного переделывания спека =))

    Преимущества: переход на следующие 2 пиксела - inc l, на следующую строку - inc h.
    --- Кто съел всю уху?

  10. #9
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Благодарностей: 7
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Почему не достигается линейность строк? Каждая строка - это 128 байт подряд (а не как у АлКо).
    Ну как, по адресу #4000-#407F стоит строка номер 0, по адресу #4080-#40FF cтоит строка номер 97 (согласно твоему описанию). Потом идёт строка номер 1 и строка номер 98 и т.д. Какая же это линейность? По-сравненю с предложением AlCo - да, отдельные пиксели находятся "рядом".

    Цитата Сообщение от lvd
    Преимущества: переход на следующие 2 пиксела - inc l, на следующую строку - inc h.
    До определённого момента. Что будет, если в HL будет скажем #407F и ты сделаешь INC L? Куда попадёшь? Я так думаю на новую строку, только вот не следующую "по списку".

  11. #10
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,552
    Благодарностей: 739
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze
    ну вот эт другое дело, я тож подумал что лучше б была внешняя (видео) память, а кромсать и без того малую часть 48к имхо изврат
    Моя режимина есть в unreal0.32b5 (0.33 надо перекомпилять чтоб была), если есть желание ознакомиться - вышлю доку и программу для конвертилки bmp. Пока руки доходят - делаю редактор спрайтов для него.
    ps. так а в чём загвозка-то ? неужто здесь нету ассов хардварестроения ?
    Асы быстро охладели. Хотя, если мне память не отморозило, CHRV кажется говорил, что подумает над его реализацией в ATM3 если будет софт.
    Все любят гипножабу

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •