User Tag List

Страница 8 из 8 ПерваяПервая ... 45678
Показано с 71 по 80 из 80

Тема: LASER BASIC 2

  1. #71

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Вот моя процедура зеркалирования окна. Если вы видите как её оптимизнуть (не для демостроя, без таблиц), то милости прошу. У нас техническая тема, так что по возможности без эмоций, ладно?

    Код:
    void Laser2_MIRV (unsigned char col, unsigned char row, unsigned char len, unsigned char hgt) __z88dk_callee
    {
      __asm
                      POP   DE
                      POP   BC              ; C = col; B = row
                      CALL  __Laser2_XYtoScr
                      POP   BC              ; C = len; B = hgt
                      PUSH  DE
                      LD    A, C
                      LD    (MIRV_WIDTH$+1), A
                      INC   A
                      SRL   A
                      LD    (MIRV_WIDTH_DIV2$+1), A
    MIRV_HLINE$:      PUSH  BC              ; Begin of loop on charlines
                      LD    A, #8
    MIRV_LINE8$:      EX    AF, AF
                      LD    (MIRV_SCR_ADR$+1), HL
                      LD    A, L
    MIRV_WIDTH$:      ADD   #0
                      LD    E, A
                      LD    D, H
    MIRV_WIDTH_DIV2$: LD    B, #0
    
    MIRV_COL_MIRROR$: DEC   E
                      LD    A, (DE)
                      LD    C, (HL)
    
                      ; ------------------
                      ; 2 bytes mirroring
                      ; ------------------
                      RLA
                      RR    C
                      RLA
                      RR    C
                      RLA
                      RR    C
                      RLA
                      RR    C
                      RLA
                      RR    C
                      RLA
                      RR    C
                      RLA
                      RR    C
                      RLA
                      RR    C
                      ; ------------------
    
                      RLA
                      LD    (DE), A
                      LD    (HL), C
                      INC   L
                      DJNZ  MIRV_COL_MIRROR$
    MIRV_SCR_ADR$:    LD    HL, #0
                      INC   H
                      EX    AF, AF
                      DEC   A
                      JR    NZ, MIRV_LINE8$
                      LD    A, L
                      ADD   #0x20           ; Next charline
                      LD    L, A            ; If carry then jump to next third of screen
                      JR    C, MIRV_CONT_1_3$
                      LD    A, H
                      SUB   #8              ; HL := HL - 0x0800
                      LD    H, A
    MIRV_CONT_1_3$:   POP   BC
                      DJNZ  MIRV_HLINE$     ; End of loop on charlines (the same third)
      __endasm;
    } //Laser2_MIRV
    http://www.retroprogramming.com/2014...-reversal.html
    С уважением,
    Jerri / Red Triangle.

    Этот пользователь поблагодарил jerri за это полезное сообщение:

    ivagor(16.05.2024)

  2. #72

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,712
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Надо миррорить два байта, а не один, как по твоей ссылке, жерри.

  3. #73

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Вот моя процедура зеркалирования окна. Если вы видите как её оптимизнуть (не для демостроя, без таблиц),
    что за утырочная мания объявлять всё, что не по нраву, "демостроем" с негативным оттенком
    в играх зеркалирование табличное сплошь и рядом, даже в довольно древних
    да и таблица-то всего лишь 256 байт
    Прихожу без разрешения, сею смерть и разрушение...

    Этот пользователь поблагодарил Lethargeek за это полезное сообщение:

    Barmaley_m(18.05.2024)

  4. #74

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,712
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Демострой это определённой набор подходов и принципов, при которых ложат болт на нормальное использование памяти и забивают целые килобайты инструкциями типа LDI, шобы было "во фреймчик". А мне была нужна универсальная библиотека. Да и 256 байт это тоже память.

  5. #75

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Демострой это определённой набор подходов и принципов, при которых ложат болт на нормальное использование памяти и забивают целые килобайты инструкциями типа LDI, шобы было "во фреймчик". А мне была нужна универсальная библиотека. Да и 256 байт это тоже память.
    только вот табличное зеркалирование - норма тех времён, когда и демок-то еще не было (хотя фреймовость местами уже была)
    Прихожу без разрешения, сею смерть и разрушение...

    Этот пользователь поблагодарил Lethargeek за это полезное сообщение:

    Barmaley_m(18.05.2024)

  6. #76

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,712
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ладно, не возражаю. В XDev такие штуки могут быть устроены опционально. Благодаря сишному препроцессору.

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

  8. #77

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Держитесь, пацаны. Через несколько дней вас будут обращать в Оберон.

  9. #78

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,712
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Аминь

  10. #79

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Демострой это определённой набор подходов и принципов, при которых ложат болт на нормальное использование памяти и забивают целые килобайты инструкциями типа LDI, шобы было "во фреймчик". А мне была нужна универсальная библиотека. Да и 256 байт это тоже память.
    А все от задачи зависит.
    Если критично оптимизация по памяти это одно.
    Но где-то критично быстродействие кода.

    Я тут как-то ради быстродействия (не на спеке) сделал таблицу размером в 2ГБ. И всех это устроило, потому что иначе быстродействия не хватало. И ничего.

    Этот пользователь поблагодарил SfS за это полезное сообщение:

    Barmaley_m(19.05.2024)

  11. #80

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,712
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да ясен пень, я ж и не спорю. Если всех всё устраивает

Страница 8 из 8 ПерваяПервая ... 45678

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

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

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

Похожие темы

  1. LASER BASIC
    от VETER в разделе Программирование
    Ответов: 8
    Последнее: 04.01.2015, 04:48
  2. laser basic
    от johnny в разделе Программирование
    Ответов: 32
    Последнее: 17.02.2014, 22:57
  3. LASER BASIC decompiled by HVG
    от Raydac в разделе Программирование
    Ответов: 0
    Последнее: 21.12.2009, 23:04
  4. Возрождение Laser Squad
    от Odrick в разделе Игры
    Ответов: 17
    Последнее: 08.11.2005, 02:18
  5. Re: Laser Genius
    от Oleg Golenkoff (2:451/19) в разделе Софт
    Ответов: 3
    Последнее: 01.10.2005, 06:06

Ваши права

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