User Tag List

Показано с 1 по 10 из 80

Тема: LASER BASIC 2

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #22

    Регистрация
    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)

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

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

Эту тему просматривают: 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

Ваши права

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