User Tag List

Страница 13 из 51 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 501

Тема: Тема для всяких глупых вопросов

  1. #121

    Регистрация
    19.11.2012
    Адрес
    г. Луганск
    Сообщений
    698
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Не, не надо тему.
    Я уже понял, что надо . Это уникальная вещь в своем роде. У программиста должен быть выбор. Я бы уже давно протестировал, просто лень ставить VS 2019, но как-нибудь протестирую.

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

  3. #122

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PATHNK Посмотреть сообщение
    Я уже понял, что надо . Это уникальная вещь в своем роде. У программиста должен быть выбор. Я бы уже давно протестировал, просто лень ставить VS 2019, но как-нибудь протестирую.
    Ну что же, раз надо - то давай Только если возможно - было бы круто и vscode вариант и сравнить
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  4. #123

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    vscode
    иму ищо и вин15 наверно падавать...

  5. #124

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    иму ищо и вин15 наверно падавать...
    чойто? семерки хватит за глаза
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  6. #125

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,979
    Спасибо Благодарностей отдано 
    1,084
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    917 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У него ХР.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

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

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  7. #126

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    У него ХР.
    Тогда на ум только виртмашина приходит. Ну и я сомневаюсь, что VS2019 (обсуждаемая выше) будет на xp работать.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  8. #127

    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    908
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    343
    Поблагодарили
    182 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите, как быстро переходить по строке вверх/вниз на расширенном экране скорпиона?
    У него все строчки по порядку идут, каждая 80 байт.
    Знаю, что на тех компах, где между соседними строчками ровно 2048 байт, пользуются командами типа
    set 3,d
    res 3,d
    А тут как? Вот самый простой и медленный вариант, для ширины спрайта 6 байт:

    ;de - адрес на экране
    ;hl - адрес спрайта
    ldi ;скопировали байт
    ldi
    ... ;перенесли одну строчку спрайта
    push hl ; теперь на строку ниже
    ld hl,80-6 ;ширина строки минус ширина спрайта
    add hl,de ;перешли на след. строку
    ex de,hl
    pop hl ;восстановили hl


    Есть способы побыстрее?

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

  9. #128

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от izzx Посмотреть сообщение
    push hl ; теперь на строку ниже
    ld hl,80-6 ;ширина строки минус ширина спрайта
    add hl,de ;перешли на след. строку
    ex de,hl
    pop hl ;восстановили hl

    Есть способы побыстрее?

    Давно спрашивали, но ответа не было... пускай будет))
    Условимся, что машина без циклов wait. Считаем такты в исходном примере: 11+10+11+4+10 = 46, длина 7 байт.
    Без использования стека как хранилища/приемника данных вариантов немного. Первый, без каких-либо опций со стеком:

    ld hl ,from
    ld de ,to
    ld bc ,80-ширина спрайта ; b=0, c=смещение
    ld a,с ; аккум хранит смещение, задается один раз перед выводом спрайта

    ldi ldi ldi сколько надо

    ------ сама процедура перевода строки:

    ld c,a ; восстанавливаем регистр
    ex de, hl
    add hl, bc
    ex de, hl

    ------ все, дальше опять пошло ldi ldi ldi

    Итого: 4+4+11+4 = 23 такта, 4 байта. Используем аккум, зато в 2 раза ускоряем процедуру.
    Если код вывода свернут в цикл, счетчик можно организовать в половинке IX либо в альт. регистре

    Второй способ нестандартный, используем регистр SP как константу:

    ld (savesp+1), sp ; сохраняем стек
    ld sp, смещение ; (80-ширина) грузим смещение в SP и больше его не трогаем
    ; задаем hl и de. аккумулятор не задействуется

    ldi ldi ldi сколько надо

    ------ сама процедура перевода строки:

    ex de, hl
    add hl, sp
    ex de, hl

    ------ все, дальше опять пошло ldi ldi ldi

    savesp ld sp, 0 ; восстанавливаем sp, конец вывода

    Итого 19 тактов, 3 байта. Разница с первым вариантом минимальна, но все зависит от конкретных условий применения.
    Сразу видно ограничение: можно юзать только при запрещенных прерываниях, поскольку sp будет указывать в ПЗУ.
    Однако можно красиво обойти его при одном условии: строки спрайта хранятся наоборот, от нижних к верхним, и выводятся так же.
    В таком случае смещение задается отрицательное, т.к. нужно вернуться "назад" по экранным адресам, зато регистр sp будет указывать
    на самый верх ОЗУ (#FFXX), который можно спокойно затереть (скажем, верхние 256 байт памяти резервируем и не трогаем).
    Сама процедура аналогична предыдущей, можно юзать при разрешенных прерываниях.

    Эти 2 пользователя(ей) поблагодарили reddie за это полезное сообщение:

    izzx(09.07.2021), Oleg N. Cher(09.07.2021)

  10. #129

    Регистрация
    23.04.2020
    Адрес
    г. Тотьма
    Сообщений
    908
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    343
    Поблагодарили
    182 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    ld hl ,from
    ld de ,to
    ld bc ,80-ширина спрайта ; b=0, c=смещение
    ld a,с ; аккум хранит смещение, задается один раз перед выводом спрайта

    ldi ldi ldi сколько надо

    ------ сама процедура перевода строки:

    ld c,a ; восстанавливаем регистр
    ex de, hl
    add hl, bc
    ex de, hl
    Только там после цепочек ldi регистр b может оказаться не = 0, я думаю.
    Ещё забыл сказать, что все регистры обычно заняты. Но в цикле иногда регистр bc можно и восстановить, это ничего.

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


    https://drive.google.com/drive/folde...xZ83juCuaBe32I

    Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
    Leningrad 1/Sega Joy Adapter
    DivGMX
    ZX Spectrum +2A
    ZX Evolution rev. C

    TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
    [свернуть]

  11. #130

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от izzx Посмотреть сообщение
    Только там после цепочек ldi регистр b может оказаться не = 0, я думаю.
    Именно, думаете)) вся соль в начальном задании пары BC как нуля (B) и ширины спрайта в C.
    Если кол-во команд LDI равно ширине спрайта - LDI будет менять только С, а после каждой строки BC будет равно нулю (до перевода строки).
    После вывода спрайта HL=адрес след. спрайта, если лежат последовательно, - может пригодиться.
    Счетчик, как указывал, можно организовать в половинках IX/IY либо в AF', а можно развернуть код (если память не жмет).

Страница 13 из 51 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 42
    Последнее: 05.05.2021, 17:01
  2. Общая тема для моих вопросов (ассемблер и zx spectrum)
    от moronizzz в разделе Для начинающих
    Ответов: 17
    Последнее: 23.08.2016, 18:13
  3. тема для мобильного....
    от rasmer в разделе Музыка
    Ответов: 0
    Последнее: 18.01.2008, 20:25

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

Ваши права

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