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

User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 50

Тема: Быстрый вывод картинки 88*88

  1. #21
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,555
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    Ох лол. Ты помнишь тот кастрированный Дум? Тянул кстати его не ЦП, а Super FX, который сейчас АФАИК поставляется как кастомное ядро ARC
    так я об этом и говорю, что там куча прибамбасов:

    Цитата Сообщение от ALKO Посмотреть сообщение
    а там он не один, у него под командыванием куча примочек вращения и масштабирования.
    и плюс сигналный проц на звуке.

    ---------- Post added at 22:32 ---------- Previous post was at 22:31 ----------

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    А картинки надо сконвертить в 1битный "цвет" и спеково разрешение, если не возникает отвращения, значит нервы(или желудок) крепкие и можно продолжать =)
    через BMP2SCR это делается в два счёта

  2. #22
    Veteran
    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >так я об этом и говорю, что там куча прибамбасов
    SuperFX не в SNES, он в картрижде, но мы в принципе друг друга поняли.
    >через BMP2SCR это делается в два счёта
    Ну если результат устраивает, это хорошо. Единственное я могу посоветовать, если уж не найти художника, то графику искать на NES, там палитра не сильно далеко от спека ушла =)

  3. #23
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,965
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    если уж не найти художника
    ALKO сам художник неплохой. Если бы еще и рисовал в продвинутых редакторах, а не самописных на бейсике...

  4. #24
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,555
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #25
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,581
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я бы сделал или небольшие спрайты, или масштабируемые в 2 или 4 раза спрайты.
    Если основная программа на Бейсике, то ИМХО заморачиваться с ldi и push-pop смысла нет - всё равно по сравнению с Бейсиком никто и не заметит разницу.

    А вот процедура вывода произвольного спрайта (познакоместное):

    Код:
    ; подпрограмма вывода спрайта
    ; входные параметры: HL=адрес спрайта, DE=координаты знакоместа для вывода на экране (D-вертик., E-гориз.)
    
    PUTSPR		LD	A,(HL)
    		AND	A
    		RET	Z				; выход, если пустой спрайт
    		LD	B,A
    PUTS1		PUSH	BC				; B = количество знакомест в спрайте
    
    		INC	HL
    		LD	A,(HL)
    		ADD	A,D
    		LD	B,A
    		INC	HL
    		LD	A,(HL)
    		ADD	A,E
    		LD	C,A
    		INC	HL
    		PUSH	DE				; DE = координаты спрайта на экране
    		EX	DE,HL				; DE = адрес нахождения в спрайте, HL = свободно
    		PUSH	BC				; BC = реальные координаты спрайта на экране
    
                    LD	A,B				; расчет адреса атрибутов знакоместа в HL
                    RRCA
                    RRCA
                    RRCA
                    LD	L,A
                    AND	31
                    OR	88
                    LD	H,A
                    LD	A,L
                    AND	252
                    OR	C
                    LD	L,A
    
                    POP     BC                              ; BC = реальные координаты спрайта на экране
    		LD      A,(DE)                          ; читаем байт атрибутов знакоместа в спрайте
                    LD      (HL),A                          ; заносим атрибуты знакоместа на экран
    		INC	DE
    
                    LD      A,B				; расчет адреса первого байта знакоместа в HL
                    LD      H,A
                    RRCA
                    RRCA
                    RRCA
                    AND	A,224
    		ADD	A,C
                    LD	L,A
                    LD	A,H
                    AND	24
                    OR	64
                    LD	H,A				; HL = адрес вывода знакоместа на экране, DE = адрес изображения в спрайте
    
    		; вывод знакоместа (8 строк)
    
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    		INC     DE
                    INC     H
    
    		LD	A,(DE)
    		LD	(HL),A				; вывели байт спрайта
    
    		EX	DE,HL				; HL = адрес нахождения в спрайте
    
    		POP	DE				; HL = адрес нахождения в спрайте, DE = координаты спрайта на экране
    		POP	BC				; B = цикл по количеству знакомест в спрайте
    		DJNZ	PUTS1
    		RET
    
    
    
    SPRITE1                                      ; метка-адрес спрайта
    DEFB 24                                      ; количество знакомест
    DEFB 1,5,1,  0,7,125,0,15,12,8,8             ; знакоместо 1: вертик.координата, гориз.координата, байт атрибутов, 8 байт изображения
    DEFB 1,6,1, 0,0,0,0,255,255,13,0             ; знакоместо 2
    ...                                          ; остальные 22 знакоместа

  6. #26
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,555
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    с зумом мне идея нравится, сделать бы как в Repton'e всё большое и квадратное.

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

    По умолчанию

    Очень интересно - проблему решил? Если решил, интересно - как?

  8. #28
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,581
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от VNN_KCS Посмотреть сообщение
    проблему решил?
    наверное, ALKO начал писать масштабирование на ассемблере. Бейсик тут не поможет

  9. #29
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,555
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообще-то поможет.
    В beta Basic'е есть такая процедура.

  10. #30
    Veteran Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    1,555
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот набросок моей весьма невзрачной игры (внизу ещё шипов добавлю):
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	скрин.jpg 
Просмотров:	251 
Размер:	43.5 Кб 
ID:	26013  

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

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

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

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

Похожие темы

  1. Быстрый проигрыватель AY-музыки (980-1300t)
    от TmK в разделе Программирование
    Ответов: 45
    Последнее: 20.08.2016, 14:31
  2. Вывод картинки на экран
    от Alex Clap в разделе Для начинающих
    Ответов: 17
    Последнее: 22.08.2010, 15:46
  3. Ответов: 11
    Последнее: 21.07.2010, 17:58
  4. Куплю проц Z84C0006PEC или более быстрый.
    от Evgeny Muchkin в разделе Барахолка (архив)
    Ответов: 6
    Последнее: 19.09.2006, 11:24

Метки этой темы

Ваши права

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