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

User Tag List

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 11 по 20 из 43

Тема: Рисуем на BORDER

  1. #11
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VNN_KCS Посмотреть сообщение
    Я лично использовал, в своё время, именно это для устранения дёрганья.
    ну так а смысл в чем? в итоге сделать чтоб все было кратно 4 тактам. вот и весь секрет.

    проще уж тогда подбирать так:
    scf
    ret nc
    ret nc
    ret nc

    либо кусок вообще не нужен, либо оставлять 1-3 ret'а.

  2. #12
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не понял почему кратное 4 но с виду работает.

    org #8000
    di
    ld hl,#b200; включаем im 2
    ld de,#b201
    ld bc,256
    ld (hl),#b3
    ld a,h
    ld i,a
    ldir
    ld a,201
    ld (#b3b3),a
    im 2

    l1 ei ;4
    halt ;4

    ld a,(hl) ;7 ???????? Дополняем цикл

    ld hl,0 ;10 Задержим
    ld de,0 ;10
    ld bc,500 ;10
    ldir ;21*500=10500+16 (на выход)

    ld a,7 ;7 Вывод полоски
    out (#fe),a ;12
    xor a ;4
    out (#fe),a ;12

    ld a,#7f ;7 опрос батона
    in a,(#fe) ;11
    rra ;8
    jr c,l1 ;10
    im 1
    ret

    Итого цикл 16632 - делится на 4
    Результат - устойчивое статическое изображение
    Последний раз редактировалось GM BIT; 16.03.2009 в 09:53.

  3. #13
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,692
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Exclamation

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Не понял почему кратное 4 но с виду работает.
    гм... по логике всё верно, но вот в unreal что-то не совсем может проблемы с эмулем ?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	sshot000.gif 
Просмотров:	297 
Размер:	3.5 Кб 
ID:	11126  
    (๑•̀ㅂ•́)و✧ Doors UI → https://t.me/doorsui | https://t.me/atari_xl_xe ← Atari XL/XE (●´ω`●)ゞ

  4. #14
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Использую Spectaculator (режим Pentagon 128).
    В приложении файл BO формат Storm
    Вложения Вложения
    • Тип файла: rar Border.rar (340 байт, Просмотров: 149)

  5. #15
    Banned Аватар для psndcj
    Регистрация
    22.02.2005
    Адрес
    triebkraft
    Сообщений
    712
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation немного неточно

    неверно же такты посчитаны =)

    l1 ei ;4
    halt ;4

    ld a,(hl) ;7 ???????? Дополняем цикл

    ld hl,0 ;10 Задержим
    ld de,0 ;10
    ld bc,500 ;10
    ldir ;21*500=10500+16 (на выход) //21*499 + 16 = 10495

    ld a,7 ;7 Вывод полоски
    out (#fe),a ;12//11 - ошибка в питерской книге - верная дока на оффсайте
    xor a ;4
    out (#fe),a ;12 //11

    ld a,#7f ;7 опрос батона
    in a,(#fe) ;11
    rra ;8//4
    jr c,l1 ;10//12

    итого получается - 10607 тактов =) странно кстати - видимо я тож где-то ступил...

    ну и еще строчку ld a,h,i,a:im 2 забыл вставить, из-за этого не работает =)

    у меня в SMT'шном анрыле на удивление работает... причем полоска не по центру экрана (как у Бриза на шоте), а с левого края.
    Последний раз редактировалось psndcj; 16.03.2009 в 09:37.

  6. #16
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Текст подправил. Про неправильные Питерские такты вообще первый раз слышу (спасибо) всегда пользовался и парился. Полоска у меня также слева. И теперь совсем непонятно почему она замерла. Может не 4 а нечетное число
    Последний раз редактировалось GM BIT; 16.03.2009 в 10:00.

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

  8. #17
    R.I.P. Аватар для VNN_KCS
    Регистрация
    11.10.2007
    Адрес
    Донецкая обл. г.Енакиево
    Сообщений
    2,316
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    ну так а смысл в чем? в итоге сделать чтоб все было кратно 4 тактам. вот и весь секрет.
    Вот и я об этом. Каждый выкручивается по своему.
    Цитата Сообщение от breeze Посмотреть сообщение
    гм... по логике всё верно, но вот в unreal что-то не совсем может проблемы с эмулем ?
    У меня в Unrealfix программа Dynamice в режимах Пентагона и Скорпиона работает по разному. Я имею ввиду картинку на бордюре. С виду создаётся впечатление, что у этих клонов разное количество тактов на построение одной линии экрана.
    насколько я помню - у всех СНГшных клонов 224 такта а у зарубежных другое,
    216 вроде. Может кто просветит? Зараннее спасибо.

    Добавлено через 14 минут
    Цитата Сообщение от psndcj Посмотреть сообщение
    ld hl,0 ;10 Задержим
    ld de,0 ;10
    ld bc,500 ;10
    ldir ;21*500=10500+16 (на выход) //21*499 + 16 = 10495
    Здесь эта процедура используется для задержки, чтоб полоска вышла на видимую часть бордюра. Я же использовал для выравнивания числа тактов, в конце всей программы. Значение ВС минимально возможное.
    А так можно долго подбирать, если рисуешь большую картинку.
    Последний раз редактировалось VNN_KCS; 16.03.2009 в 10:39. Причина: Добавлено сообщение

  9. #18
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще вопрос по последней программе:
    Если в дебагере Spectaculator'a поставить остановку на ld a,(hl) счетчик тактов в этот момент всегда будет показывать 29т из 71680
    Откуда эти 29 кто объяснит? (вроде бы ret, ei, halt и все, или я чего-то не понимаю)

  10. #19
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Совет сделать все кратным 4 тактам я понял... Т.е. чтоб код всей программы выполнылся за время кратное 4 тактам (необязательно одинаковое в каждом прерывании).
    Вопрос1: В каком эмуле удобно смотреть кол-во тактов за прерывание и т.п.?
    Вопрос2: Как синхронизироваться с нулевым отсчетом
    Вопрос3: Сколько тактов на разных клонах длится INT, и как его вычислять, После выполнения HALT проходит сколько тактов? (длительность INT + 4 такта выполнения HALT + 0..3 смещение по кратности 4), Как на эти характеристики влияет М1?

    З.Ы.: Сам сталкнулся с данной проблемой при написании демки, а для некоторых эффектов мне важно смещение в 10тактов. Причем расчитанные данные исходя из того что я знаю не подошли, пришлось подстраивать визуально, что не есть гуд...
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  11. #20
    R.I.P. Аватар для VNN_KCS
    Регистрация
    11.10.2007
    Адрес
    Донецкая обл. г.Енакиево
    Сообщений
    2,316
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TmK Посмотреть сообщение
    Вопрос2: Как синхронизироваться с нулевым отсчетом
    С команды HALT начинается прорисовка экрана вместе с бордюром.

    Добавлено через 14 минут
    Цитата Сообщение от TmK Посмотреть сообщение
    Вопрос3: Сколько тактов на разных клонах длится INT, и как его вычислять, После выполнения HALT проходит сколько тактов?
    Мне кажется так: HALT - пошла прорисвка, затем IM2 обработчик - его такты. Ну а потом всё остальное. 4 такта HALT-а так или иначе войдут в программу. Если не на первом, так на втором INT-е.
    Вычисление INT-а: число тактов на горизонтальную линию помножь на количество линий растра. Например Пентагон - 224х320=71680.
    Была у меня программка вычисляющая всё это(не моя), но всё ушло в небытие.
    Последний раз редактировалось VNN_KCS; 16.03.2009 в 17:41. Причина: Добавлено сообщение

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Border-эффект на Бейсике
    от jim в разделе Разный софт
    Ответов: 7
    Последнее: 18.04.2007, 21:50
  2. рисуем круги
    от jim в разделе Программирование
    Ответов: 1
    Последнее: 07.10.2006, 10:09
  3. The BBG Border Test
    от [bETA]mEN в разделе Эмуляторы
    Ответов: 1
    Последнее: 17.05.2006, 00:56
  4. статейки о multicolor и border effects?
    от boo_boo в разделе Программирование
    Ответов: 57
    Последнее: 03.02.2006, 23:53

Ваши права

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