User Tag List

Страница 26 из 45 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя
Показано с 251 по 260 из 443

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

  1. #251

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    lxi sp,im_stek ; временный указатель стека для прерываний
    Он должен быть не на экране, где его шторка портит, а где-нибудь в свободном месте. Если это поправить, то работает как предыдущая версия.

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

    metamorpho(03.08.2020)

  2. #252

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    458
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    103 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Он должен быть не на экране, где его шторка портит, а где-нибудь в свободном месте. Если это поправить, то работает как предыдущая версия.
    ivagor, спасибо !!
    Исправил - получилось

  3. #253

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Накатал счетчик вывода спрайтов.
    Считает сколько раз за 10 секунд выводятся спрайты.
    В данной версии, прерывания и вывод спрайта по алгоритму jerri.
    Результат в hex.

    Какой алгоритм воткнуть для сравнения?

    Заменил программку.

    Верхний результат вывод спрайтов по алгоритму jerri, нижний результат мой кривой алгоритм (по 4 строки в цикле).
    Вложения Вложения
    Последний раз редактировалось KTSerg; 03.08.2020 в 20:00.

  4. #254

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    458
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    103 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это что за 10 секунд почти 5 тысяч спрайтов выводит ?

    Вот этот для сравнения проверь.

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


    ;==========================================================
    ;Вывод квадратика 24x24 точки в сразу в три плоскости для статичных объектов
    ; вход HL - куда на экран выводить DE - адрес графики
    SpriteC3qa:
    PUSH H
    PUSH D
    PUSH B

    MOV A,H ; сохраняем начало столбик X плоскость (1) куда выводим графику
    STA pozic_xP1
    MOV A,L
    STA pozic_y; сохраняем начало строки Y куда выводим графику
    mvi a,3
    STA PLAST

    LXI B,2000h
    ;====================== строка 1
    fumbingo:
    LDAX D ; загружаем акумулятор А содержимым графики
    MOV M,A ; выводим в экран по адресу "HL" байт графики
    INX D ; DE=DE+1 увеличиваем адрес откуда брать графику
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 2
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 3
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 4
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 5
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 6
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 7
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 8
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 9
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 10
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 11
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 12
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 13
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 14
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 15
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 16
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 17
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 18
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 19
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 20
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 21
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 22
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 23
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    DCR L ; ==================== строка 24
    LDA pozic_xP1
    MOV H,A ; адрес плоскости 1
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 2
    LDAX D
    MOV M,A
    INX D
    DAD B ; адрес плоскости 3
    LDAX D
    MOV M,A
    INX D

    LDA PLAST ; счётчик столбиков (всего 3)
    dcr a
    jz rimikoq ; если все три столбика нарисованы выходим из подпрограммы

    STA PLAST
    ; следующий столбец X
    LXI H,pozic_xP1
    inr M
    mov H,M
    LDA pozic_y
    MOV L,A ; восстанавливаем Y
    jmp fumbingo

    rimikoq:
    ;=============
    POP B
    POP D
    POP H

    RET ;иначе - выйти из п/п вывода квадратиков
    [свернуть]

  5. #255

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    ...
    Вот этот для сравнения проверь.
    ...
    Фух, справился
    Верхние, как в прошлой версии. Нижний результат алгоритма metamorpho.
    Вложения Вложения

  6. #256

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

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Фух, справился
    Верхние, как в прошлой версии. Нижний результат алгоритма metamorpho.
    почему мой выдает больше?
    вроде твой эффективней?
    С уважением,
    Jerri / Red Triangle.

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

  8. #257

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    почему мой выдает больше?
    вроде твой эффективней?
    твой алгоритм успевает за 10 секунд вывести 1320h спрайтов,
    14С4h - спрайтов моего алгоритма.
    0BD0h - спрайтов алгоритм metamorpho.
    Последний раз редактировалось KTSerg; 03.08.2020 в 21:03.

  9. #258

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

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    твой алгоритм успевает за 10 секунд вывести 1320h спрайтов,
    14С4h - спрайтов моего алгоритма.
    0BD0h - спрайтов алгоритм metamorpho.
    как хранит данные твой алгоритм?

    у тебя же здесь процедуры на 24 линии раскатанные?

    - - - Добавлено - - -

    Цитата Сообщение от KTSerg Посмотреть сообщение
    твой алгоритм успевает за 10 секунд вывести 1320h спрайтов,
    14С4h - спрайтов моего алгоритма.
    0BD0h - спрайтов алгоритм metamorpho.
    как хранит данные твой алгоритм?



    KTSerg,
    добавь вот этот вот спрайтовый дроппер

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

    Код:
    ;вывод спрайта в системе битпланов Вектор 06
    ;ширина спрайта -24
    ;на входе
    ;bc адрес спрайта
    ;de aдрес на экране 
    ;E-Y D-X 
    
    drop24
    	ld	hl,0
    	add	hl,sp
    	ld	(sprite_sp0),hl
    	ld	h,b
    	ld	l,c
    	ld	c,(hl)
    	inc	hl
    	ld	b,(hl)
    	inc	hl
    	ld	sp,hl
    	
    ;задаем Y в L
    	ld	l,e
    ;задаем X в A
    	ld	a,d	;битплан1
    	add	a,#20
    	ld	e,a	;битплан2
    	add	a,#20	;битплан3
    drop240
    	dup	12
    
    	ld	h,d
    ;рисуем на первом плане
    	ld	(hl),c
    	inc	h
    	ld	(hl),b
    	inc	h
    	pop	bc
    	ld	(hl),c
    ;переход на второй битплан
    	ld	h,e
    ;рисуем на втором плане
    	ld	(hl),b
    	inc	h
    	pop	bc
    	ld	(hl),c
    	inc	h
    	ld	(hl),b
    	pop	bc
    ;переход на третий битплан
    	ld	h,a
    ;рисуем на третьем плане
    	ld	(hl),c
    	inc	h
    	ld	(hl),b
    	inc	h
    	pop	bc
    	ld	(hl),c
    ;переходим на следующую строку
    	inc	l	
    ;возвращаемся на первый план	
    	ld	h,d
    ;повторяем цикл рисования
    	ld	(hl),b
    	inc	h
    	pop	bc
    	ld	(hl),c
    	inc	h
    	ld	(hl),b
    	pop	bc
    ;переход на второй битплан
    	ld	h,e
    ;рисуем на втором плане
    	ld	(hl),c
    	inc	h
    	ld	(hl),b
    	inc	h
    	pop	bc
    	ld	(hl),c
    ;переход на третий битплан
    	ld	h,a
    ;рисуем на третьем плане
    	ld	(hl),b
    	inc	h
    	pop	bc
    	ld	(hl),c
    	inc	h
    	ld	(hl),b
    ;выбираем следующую пару байтов для цикла рисования
    	pop	bc
    	edup
    
    	org	$-1
    sprite_sp
    	ld	sp,#3131
    sprite_sp0 equ	$-2
    	ret
    [свернуть]
    Последний раз редактировалось jerri; 03.08.2020 в 21:21.
    С уважением,
    Jerri / Red Triangle.

  10. #259

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Накатал тот алгоритм про который писал ранее, в котором старший байт адреса на экране не вычисляется при переходе к следующей плоскости а вычислен заранее и хранится в регистре.
    За 10 секунд этот алгоритм вывел 1558h спрайтов.

    Цитата Сообщение от jerri Посмотреть сообщение
    как хранит данные твой алгоритм?
    у тебя же здесь процедуры на 24 линии раскатанные?
    Полностью раскатанных нет.
    Алгоритм тот выводит 4 строки за цикл. Данные хранятся ужасно.
    Если байты в спрайте пронумеровать, то за один цикл выводятся байты с 1-го по 36-ой, и при выводе 4-ёх строк расположены они в плоскостях следующим образом:
    в первой плоскости:
    20 21 24
    19 22 23
    2 3 6
    1 4 5
    во второй плоскости:
    29 28 25
    30 27 26
    11 10 7
    12 9 8
    в третьей плоскости;
    32 33 36
    31 34 35
    14 15 18
    13 16 17

    вот, как-то так...

  11. #260

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

    По умолчанию

    KTSerg, вот в этом варианте как раз я вычисляю адреса 3х плоскостей и перехожу по ним быстро
    сам спрайт раскатан, потому как регистров под счетчик нет.

    - - - Добавлено - - -

    Цитата Сообщение от KTSerg Посмотреть сообщение
    в первой плоскости:
    20 21 24
    19 22 23
    2 3 6
    1 4 5
    во второй плоскости:
    29 28 25
    30 27 26
    11 10 7
    12 9 8
    в третьей плоскости;
    32 33 36
    31 34 35
    14 15 18
    13 16 17

    вот, как-то так...
    ужас, правда если со стека берешь то можно нормально класть

    2b 3b 6b
    1с 4c 5c
    С уважением,
    Jerri / Red Triangle.

Страница 26 из 45 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя

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

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

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

Похожие темы

  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

Ваши права

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