User Tag List

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

Тема: Пишу шедевр для «Вектора 06Ц»

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

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

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

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Вот вывод графики через стек пробовал - в целом работет но есть артефакты на экране

    Скрытый текст



    ; универсальный вывод трети спрайта для затирания пустого места

    SpriteC8zerowww:

    PUSH H
    PUSH D
    PUSH B
    PUSH PSW

    MOV A,H ; сохраняем начало столбик X плоскость (1) куда выводим графику
    STA pozic_xP1
    ADI 20H ; вычисляем следующую плоскость (2) начальный столбец
    STA pozic_xP2 ; сохраняем
    ADI 20H ; вычисляем следующую плоскость (3) начальный столбец
    STA pozic_xP3 ; сохраняем
    MOV D,L
    ;=======================
    LXI H,0 ; ВЫВОД "ПУСТОГО" СПРАЙТА. (СДЕЛАН ОТДЕЛЬНО ПО
    DAD SP ; БЫСТРОМУ АЛГОРИТМУ ДЛЯ ПОВЫШЕНИЯ БЫСТРОДЕЙСТВИЯ).
    SHLD BUFSP
    DI
    LXI B,00h

    LDA pozic_xP1
    MOV H,A ; установка первого столбца X плоскость (1) куда выводим графику
    MOV L,D
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B
    INR H
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B
    INR H
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B

    LDA pozic_xP2
    MOV H,A ; установка первого столбца X плоскость (1) куда выводим графику
    MOV L,D
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B
    INR H
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B
    INR H
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B

    LDA pozic_xP3
    MOV H,A ; установка первого столбца X плоскость (1) куда выводим графику
    MOV L,D
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B
    INR H
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B
    INR H
    SPHL
    PUSH B
    PUSH B
    PUSH B
    PUSH B

    LHLD BUFSP
    SPHL
    EI
    POP PSW
    POP B
    POP D
    POP H

    RET
    [свернуть]


    А что это за метод Медногова ?
    это у тебя не вывод спрайта, это у тебя стирание спрайта.

    метод Медноногова состоит в том чтобы контролировать регистровую пару содержащую данные и контролировать стек на прерываниях.

    прерывание выглядит так
    надеюсь ты умеешь код Z80


    Код:
    ISR
             di
             ex (sp),hl       ;забираем в hl адрес возврата 
             ld  (isr_jmp),hl ;сохраняем его для выхода 
             pop hl            ;восстанавливаем hl
    ;здесь надо сохранить стек
             ld (isr_stek),sp ;это для Z80 у тебя будет чуть по другому
    ;--------------------------
             push bc           ;ВСЕГДА используем BC для рисования спрайтов и прочих элементов
                                  ;восстанавливаем данные на стеке 
    ;скорее всего рисовать через стек на экране не будет очень хорошей идеей.
    
             ld     sp,isr_own_stek 
             push hl,de,bc,af
    
    ;дальше прерываем 
    
            pop af,bc,de,hl
            ld sp,$
    isr_stek equ $-2
            ei 
            jp $
    isr_jmp equ $-2
    при рисовании спрайта всегда использовать BC

    например
    Код:
    ;hl адрес спрайта
    ;de адрес на экране
         
    ;первую пару забираем вот такой комбинацией
              ld c,(hl)
              inc hl
              ld b,(hl)
              inc hl        
              ld sp,hl
              ex de,hl
    
              ld (hl),c
              inc l
              ld (hl),b
              inc l
              pop bc
           
              etc
    С уважением,
    Jerri / Red Triangle.

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

    metamorpho(21.07.2020)

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

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

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

  1. Smalovsky

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  4. Ответов: 198
    Последнее: 26.04.2020, 13:05
  5. Ответов: 58
    Последнее: 06.07.2019, 23:56

Ваши права

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