Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Скроллер окошка текста фреймовый (http://zx-pk.ru/showthread.php?t=9284)

Shadow Maker 18th January 2009 11:57

Ну я ж адрес в экране сказал. Вот с этого места 27 вправо и 17 вниз. Попозже пересчитаю в обычные.

Луч висит где-то на уровне 6 строчки текста. И вот где-то там и чуть пониже иногда сбивается и проявляется дрожание...

psndcj 18th January 2009 23:01

1 Attachment(s)
ну в моем сорце довольно просто все - думать было лень - поделил окно тупо пополам... на ударниках действительно притормаживает даже на пентагоне =( тут выход один - компилировать не в вортексе (как я от лени), а в обычном пт3, где плеер быстрее... либо если скорости не хватит на скорпе - все таки уменьшать экран по высоте...

scroll сейчас сделан через LDI - адреса кода, музыки и таблицы можно снести максимально кверху (книзу) для увеличения области спрайта.

Shadow Maker 18th January 2009 23:19

Так, ага, ну походу я остановлюсь на варианте с выкидкой по стеку, ибо оно у меня в память лезет, вот вопрос только в том сколько будет занимать музыка... Ну или если Робус все же допилит мне его вариант, а то пока я тут пробовал его перезаточить под другие размеры - что-то он мне шрифт не шрифт осыпал в размере, а буквы покромсал жестоко с переносами на следующую строчку...

Robus 18th January 2009 23:23

1 Attachment(s)
Quote:

Originally Posted by Shadow Maker (Post 177561)
Луч висит где-то на уровне 6 строчки текста. И вот где-то там и чуть пониже иногда сбивается и проявляется дрожание...

1. Проверенно на фирменном ...
2. Проверенно на SCORPION в эмуляторе ...

Лаж нет ... Как ты и хотел 7 пикселов высота ... В тексте есть команда CP 7 которая и определяет высоту, ноль не ставить !!!

Quote:

Originally Posted by Shadow Maker (Post 177561)
как у тебя сделать крутилки вверх/вниз

Ещё и назад ??? Сделаем ... Тогда появляется вопрос ... А что делать если дошли до конца текста ??? СТОП ??? А если вверх ??? То в начале текста стоп ???

Shadow Maker 18th January 2009 23:42

Ага. Ну ты вон подгрузи снапшот cj, вот надо прямо вот так же, чтобы оно ускорялось/замедлялось когда жмешь кнопки сильнее/медленнее.

Блин, на эмуле явно дёргается твой скролл от луча... Завтра вот скорпион почищу, на нем проверю для верности.

jerri 19th January 2009 13:19

Тож чтоли пыль стереть :)

Shadow Maker 19th January 2009 13:30

:) Давай. А то скоро у всех мозги склеются в серую недумающую массу :)

jerri 19th January 2009 14:51

итак фонт 32*8
скролл попиксельный
ускоряемый, максимальная скорость - 8
высота окна - 12-16 знакомест 1\2 - 2\3 экрана
ширина 26 - 28 - 32 короче кратно 2 (можно и меньше)

короче вечером порисую :)

Shadow Maker 19th January 2009 15:27

Юр, там вон параметры какие надо мне чуть повыше находятся. 16 знакомест мало.

jerri 19th January 2009 18:22

Quote:

Originally Posted by Shadow Maker (Post 177877)
Юр, там вон параметры какие надо мне чуть повыше находятся. 16 знакомест мало.

ну с учетом уменьшения ширины можно и 17 :)
но ширина должна быть четной 26 или 28 хватит?

Shadow Maker 19th January 2009 22:31

28 тогда.

jerri 23rd January 2009 10:32

Почти закончил... на работе посмотреть не могу :(

45000 тактов на вывод ~8000 на отрисовку новой строки
еще сколько то на обвязку

при создании используются наработки Sage group :)

Shadow Maker 23rd January 2009 11:47

:) Хорошо. Я уж думал ты забил :)

Robus, сорри, на реале все отлично. Но надо тогда и в эмуляторах чтобы работало нормально чтоли... Если разберешься, почему он дрожит в Spectaculator и Unreal - буду благодарен.

jerri 23rd January 2009 12:48

просто у меня нет наработок в области текстосмотрения

Shadow Maker 23rd January 2009 13:03

Quote:

Originally Posted by jerri (Post 178887)
просто у меня нет наработок в области текстосмотрения

Ды вот и у меня нет. Вот учусь тут :)

Robus 23rd January 2009 23:58

Quote:

Originally Posted by Shadow Maker (Post 178870)
. Но надо тогда и в эмуляторах чтобы работало нормально чтоли... Если разберешься, почему он дрожит в Spectaculator и Unreal - буду благодарен.

Ужен разобрался !!! Точнее говря я не разбирался, я просто знаю почему. Причина - ПиЦи !!! Твой монитор работает єдак герц 60 а нужно 50, вот оно и глючит, темболее в Unreal'е ... Это старая тема, не хочется ворошить прошлое !!! Но с динамическим скроллером всё будет красиво.

Я доделаю полную версию и выложу ... Собственно я уже сделал, осталось долизать глюки с кешированием. На работе сложно делать, каждые 10-20 минут приходится отвлекаться я нужне по-работе ... За выходные постараюсь доделать ...

Работа - зло, мешает свободному полёту мысли ... А из этого вывод, деньги - зло, ибо работаем ради денег. Хотя и не всегда, но тогда нищенская зарплата !!!

Добавлено через 8 минут
Quote:

Originally Posted by Robus (Post 179035)
Но с динамическим скроллером всё будет красиво.

Тут я оговорился ... Кравсиво будет только тогда, когда будет настоящие 50 кадров в секунду, а тут будет приемлемо или сносно или удовлетворительно !!! Хотя для меня УЖАСНО !!!

Люблю качество ...

Shadow Maker 24th January 2009 00:24

Quote:

Originally Posted by Robus (Post 179035)
Тут я оговорился ... Кравсиво будет только тогда, когда будет настоящие 50 кадров в секунду, а тут будет приемлемо или сносно или удовлетворительно !!! Хотя для меня УЖАСНО !!!

Люблю качество ...

Кто ж его не любит... Но к сожалению в современных реалиях на собственно реале скроллер посмотрит дай бог 15% зрителей, остальные будут пользоваться эмулятором. Так что сам понимаешь, приходится подстраивать.

Kurles 24th January 2009 04:06

Quote:

Originally Posted by Shadow Maker (Post 179038)
Кто ж его не любит... Но к сожалению в современных реалиях на собственно реале скроллер посмотрит дай бог 15% зрителей, остальные будут пользоваться эмулятором. Так что сам понимаешь, приходится подстраивать.

ага, во многих комодоровских демах перед запуском даже выбор есть, на эмуле или реале запускаешь :)

Shadow Maker 24th January 2009 04:17

Ну, у комодора там это как правило из-за мерцающих режимов, а тут немного другое.

jerri 26th January 2009 08:59

Shadow Maker, у тебя аська есть?

jerri 26th January 2009 20:35

1 Attachment(s)
Короче вот демонстрационный так сказать снапшотик

ща исходник почищу закоментирую и тогда выложу тоже

jerri 26th January 2009 21:40

1 Attachment(s)
тоже но с музыкой

psndcj 26th January 2009 22:01

молоток! круто!

тока насчет технологий SAGE ты зря написал - у них конструкций типа ld hl,0: push hl: ld hl,0: push hl (и так подряд на всю строку (14 раз) ) не было никогда. так же как и ld hl,#3e3e: push hl: ld hl,#7e3e: push hl - это же все сходу оптимизируется... если уж делать код плавающего размера, то такие вещи просто нужно делать.

но все равно - твой скроллер самый крутой в данной теме - еще бы исходник с произвольно настраиваемым окном и размером шрифта...

jerri 26th January 2009 22:41

Технологии Sage не в распушении графики
а в работе с текстом
;)

psndcj 26th January 2009 22:59

не догнал =( судя по всему текст в born dead лежит непакованный - в чем подвох то? а если сделать твой скролл на фуллскрин - 32х24 - будет тормозить?

jerri 26th January 2009 23:25

под скорпионовский инт максимальный размер с музыкой 18*30
если без музыки - можно вывести 24*26

все упирается в ширину окна

Добавлено через 3 минуты
Quote:

Originally Posted by psndcj (Post 179653)
не догнал =( судя по всему текст в born dead лежит непакованный - в чем подвох то? а если сделать твой скролл на фуллскрин - 32х24 - будет тормозить?

а по поводу Sageй
вроде исходники BornDead свободные были
рекомендую посмотреть ЧТО Именно Монстр делал с текстом ;)

psndcj 27th January 2009 01:44

сорцы поищу - спасибо за наводку - просто привык смотреть на все в дебаггере - а там текст лежит просто - вся фишка скролла именно в хитром выводе - за счет чего и успевает во фрейм и не только на пентагоне (у мну на профи практически не тормозило). лана - stop flame - буду искать и читать...

jerri 27th January 2009 21:09

Сорцы вьювера
 
1 Attachment(s)
Итак вот оно

я использую связку
UltraEdit + SjAsm
так что не обессудьте исходничек под эту систему

Текст взял у Роба
Музыку у psndcj за что им большое спасибо ;)

Robus 28th January 2009 03:51

One Frame Scroll
 
1 Attachment(s)
Quote:

Originally Posted by Shadow Maker (Post 178889)
Ды вот и у меня нет. Вот учусь тут

Собственно я так же доделал свою версию ... Она идеально работает на фирменном и НЕфирменном Speccy ...

В архиве:
"SCROLL.AZ8" - "HEIGH_SCROLL" параметр массы скрола !!! Если размер более чем это число, то скролл делится на две части во избежание дискреции !!!

"LOD-FNT.AZ8" - "SCR_H_MAX" параметр высоты символа в фонте.

"SCROLL.BAT" - компиляция проекта.

"AKESIN/SIN.BIN" - синусная таблица скорости скролла.

Размеры 28х136 в координатах 1х48. Маскимальная скорость скролла 7 пикселей. Проект сам уложит всё вместе с текстом и создаст SCROLL.TRD, в который запишет "1.С". Текст он расположит до вектора прерівания. Текущий вектор прерывания 128. Все параметры гибкие. При компиляции в итоге из фонта вынутся только та графика, которая используется в тексте, и оптимизируется. Сам текст так же оптимизируется под максимальную скорость. Количество строк в скролле не должно быть меньше чем количество умещаемых строк в окне. Фонт легко меняется, если надо выложу BMP, которій автоматом будет конвертироваться непосредственно в проект. Не удивляйтесь, что количество проходов аж 14, это компилятор сам просчитывает куда поместить текст скролла до вектора. Кранчь, всё-таки ...

Запуск по прежнему RUN "1" CODE

------------------

jerri Мы как-то параллельно делали. Не со зла ... Просто хотел закончить начатое.

jerri 28th January 2009 09:14

Quote:

Originally Posted by Robus (Post 179922)
jerri Мы как-то параллельно делали. Не со зла ... Просто хотел закончить начатое.

Больше вариантов - красивых и разных ;)

Shadow Maker 28th January 2009 11:28

Да, это точно. Спасибо всем :)

А теперь предположим, что текст надо как бы сделать не 8 в ширину, а настраиваемую ширину тоже. По идее оно должно несложно меняться?

Robus 28th January 2009 11:58

Quote:

Originally Posted by Shadow Maker (Post 179957)
А теперь предположим, что текст надо как бы сделать не 8 в ширину, а настраиваемую ширину тоже. По идее оно должно несложно меняться?

ААА-а-а-а !!! Ты маньяк !!! Так же нельзя !!! Ведь Coding под Speccy это экстримальный кодинг. Поэтому нужно желать сразу всю задачу. Конечно, можно сделать и настраиваиваемую ширину, но скорость резко упадёт ... То есть максимальная скорость скролла по Y будет меньше чем 7 !!!

Сразу скажу, что с ходу можно сделать ширину 4 !!! Чуть труднее будет 6 !!! Но 5 или 7 сразу сожрёт время на печать строки раза в три !!!

Поэтому подумай, какие параметры ты хочешь ?

jerri 28th January 2009 11:58

ну можно сделать листалку для 64 символов в строке
нада всеголишь + 1 еще фонт (2048) и чуть чуть поменять процедуру печать (Borndead)
и еще одну для 42 - эту хз как делать в 48к -фонт шире 8 получается
и еще одну для 51 - это еще веселее там символ 5 пикселов
а еще одну для пропорционального шрифта

но для этого всего не жди 50 фпс :)

Shadow Maker 28th January 2009 14:59

:) Понятно. Короче если не кратно двум - тока декранчить в спрайт, иначе не будет 50 fps...

Добавлено через 49 секунд
Quote:

Originally Posted by Robus (Post 179964)
Поэтому подумай, какие параметры ты хочешь ?

Да так-то мне и 8 достаточно. Но да, 6-пиксельные шрифты было бы неплохо...

jerri 29th January 2009 10:05

во фрейм по BD технологии можно сделать только 32 и 64 символа в строке
42 символа в 48кб сделать нереально
остальные - да только декранчить в спрайт или скролл делать 25 фпс
60000 тактов должно хватить для отрисовки строки

так что если тебе хватит 25 фпс можно сделать
пропорциональную печать ;)

Robus 29th January 2009 19:34

Quote:

Originally Posted by jerri (Post 180255)
42 символа в 48кб сделать нереально

Ну ... Скожу честно - реально ... Всё зависит от условий !!! Если ты захочешь двикать по символьно, то, конечно, не успеет ... Но скролл по 1 пикселю - точно успеет !!! Да же на 2 успеет !!!

jerri 30th January 2009 09:43

Quote:

Originally Posted by Robus (Post 180390)
Ну ... Скожу честно - реально ... Всё зависит от условий !!! Если ты захочешь двикать по символьно, то, конечно, не успеет ... Но скролл по 1 пикселю - точно успеет !!! Да же на 2 успеет !!!

ну в том то и фикус пикус что для ЗАДАННЫХ условий (50 фпс 48к и ускоряемый просмоторщик текста) задача невыполнима

но для 25 фпс вполне так ничо

т.е 1 фрейм обновляем
во 2ой отрисовываем

причем хватит даже на пропорциональную печать если через таблицу


All times are GMT +4. The time now is 21:03.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.