Вот это хит
0:29
Жыл бұрын
По лестнице вниз
0:27
3 жыл бұрын
Твоя игра 6. 04: Last Mission
15:45
Твоя игра 6. 01: Numeris II
27:41
Пікірлер
@user-pi8pe9pj7y
@user-pi8pe9pj7y 17 күн бұрын
Это не машинные коды. Это язык близкий к машинным кодам. Машинные коды имели кодировку типа "0F", которые заносились в память или регистры. На ассемблере было легче писать, без необходимости все помнить. В некоторых случаях программы прямо писали в ассемблере, так как удавалось делать самые быстрые игры. Так как компьютеры тогда были ужасно медленные и на Бейсике получались вообще тормозные игры. Был компьютер PK86, который имел быстрый экран за счет алфавитно-символьного вывода, там игры хоть и были квадратные, зато были динамичными. С появлением IBM PC появился язык С, который был языком высокого уровня и на нем было эффективно писать программы, чем кодировать их по байтам. Сегодня никто даже не пишет коды, а использует развитые библиотеки, где практически все есть. В последнее время программированием занялся искусственный интеллект, который не только умеет создавать код, но и тестировать его, а в случае обнаружения проблем - устранять их.
@dansonward
@dansonward Ай бұрын
41:25 решение по оптимизации видится одно- первая процедура печатает маску и сохраняет фон, вторая печатает спрайт. Ну и перед этим надо наверное вычислить адрес заранее. еще ходят слухи про способ в котором нет маски но есть инвертированный спрайт который выводится через OR,XOR
@dansonward
@dansonward Ай бұрын
34:06 получается 37/2 18T на байт. Но ведь можно выполнить push 16 раз и тогда цена вопроса станет 6T на байт.
@anatoliydad0x078
@anatoliydad0x078 2 ай бұрын
Зачем рассчитывать адрес видеопамяти? можно сделать массив dw из 192 элементов. 0й эл-т 0я строка в видеопамяти, и т.п.. Потом or X к младшему байту адреса и получаем готовый адрес в видеопамяти
@anatoliydad0x078
@anatoliydad0x078 2 ай бұрын
struct scr_lines_s, 512 dw $3412 dw $1234 ends calc_video_mem_addr push de push bc push af ld a,d ld (cy),a ld c,a ld a,e ld (cx),a ld a,(cx);e = cx ld e,a ld hl,cy ld a,c sla a ld (hl),a ld a,c srl a srl a rrd ex de,hl ; <-- srl a ; | or $40 ; | ld h,a ; | ld a,(de) ; | and $e0 ; | or l ;--- ld l,a pop af pop bc pop de ret cy db 0 cx db 0 ;---------------------- calc_scr_lines push ix push iy push bc push de push hl ld iy,scr_lines ld de,0 ;scr_lines это 192 слова. 0-адрес 0й строки, 191й - адрес в видеопамяти 191й строки ld b,192 3 push bc call calc_video_mem_addr ld ($+5),iy ;FD 22 34 12 ;20 ld ($1234),hl ;22 34 12 ;16 ;scr_lines[iy]=ix inc iy inc iy inc d pop bc djnz 3B pop hl pop de pop bc pop iy pop ix ret scr_lines scr_lines_s
@saburovanatoly2197
@saburovanatoly2197 4 ай бұрын
Ребята давайте уже перейдём на настоящий процессор.. на mс68030! вы его полюбите, обещаю.... собираю плату на нём...сопроцессор можно добавить....памяти целый океан...
@BitsCode
@BitsCode 3 ай бұрын
Увы, если смотреть по 90-ым, то подобного процессора не у кого из нас не было и в окружении тоже это был еще более редкий экземпляр. :) Но если мы доберемся, то у нас в планах есть Моторола 68К. Сега была далеко не у всех, но была. Так что не исключается и этот процессор, по факту - хочется его попробовать в деле! :)
@saburovanatoly2197
@saburovanatoly2197 3 ай бұрын
@@BitsCode Очень приятно встретить единомышленников на просторах интернета! есть замечательный ассемблер и симулятор для 68к семейства --IDE68K, РЕКОМЕНДУЮ ОЗНАКОМИТЬСЯ. есть книга АЛАНА КЛЕМЕНТСА С ПРИМЕРОМ ПОСТРОЕНИЯ МИНИМАЛЬНОЙ СИСТЕМЫ НА 68030, ТОЖЕ РЕКОМЕНДУЮ ОЧЕНЬ, над этой системой я в данный момент и работаю)))))
@JohnJTraston
@JohnJTraston 4 ай бұрын
Чет сложно как-то вы всё делаете. В детстве мы тупо изучали асм по маленьким програмкам, в частности что публиковали в ZX-Ревю и им подомные.
@BitsCode
@BitsCode 3 ай бұрын
Да, и мы также делали в детстве, когда только начинали изучение ассемблера или Бэйсика, журналы у меня лично были, но далеко не все. ;) Здесь мы всё таки уже делаем более сложное под условный наш движок, поэтому уже и очень простых примеров не будет. Это возможно стоило бы реализовать цикл по "обучению". Но да, тем кто только начинает, рекомендуем более простые примеры и с проверкой в отладчике! :)
@saburovanatoly2197
@saburovanatoly2197 4 ай бұрын
Ребята а на mс68030 никто не работает в ассемблере? Не задолбала ещё 8 разрядность?
@BitsCode
@BitsCode 3 ай бұрын
Ну с учётом что видео давно не выходило, то может показаться и так. Но в целом планы сохраняются, минимальный движок и его техническая демка, плюс может еще будут "Дневники разработки" и не исключаются игры. Давно хочется какой-нибудь Саботер, СимСити или Диззи перепройти. :)
@Fastereus
@Fastereus 4 ай бұрын
Епа мать ALASM ... уахахахаха TASM юзал , самый лучший был
@alexs8579
@alexs8579 4 ай бұрын
В те времена производство чипов имело интересный побочный эффект, в кристалле образовывались паразитные конденсаторы и транзисторы, в итоге появлялись недокументированные инструкции. Забавный случай был описан в истории профессоров х86 , дело в том, появление таких паразитных транзисторов привело к созданию интрукции дублирующую заложенную, но за меньшее количество тактов. Так что на заре своего развития процессоры мутировали как днк ))) и возможно могли бы развиться не по намеченному людьми плану)))
@BitsCode
@BitsCode 3 ай бұрын
Спасибо за подробности, не знал такого, надо будет посмотреть на досуге более детально, что именно происходило. Но да, тех. процессы были не совершенны и исключать подобное полностью нельзя. Также при неудачных экземплярах, 486-ые DX становились 486 SX моделями с отключенным математическим сопроцессором. :)
@alexs8579
@alexs8579 4 ай бұрын
разобрался с эмулятором fuse если выбирать file-open и образ дискеты с ALASM, то он требует rom от скорпион256 и в нём срабатывает автозапуск утилиты восстановления. А всё потому что в скорпионе tr-dos не даёт командную строку и пытается сразу запустить дискету. если дискеты нет, система выходит на первое меню выбора что запускать tr-dos или бэйсик. А вот если выбрать rom pentagon128 в нём tr-dos работает корректно и автозапуска дискеты нет, командная строка работает и команда list показывает список файлов. а дискета подключается media-disk-driveA-insert А запуск и просмотр дискеты происходит по команде list Run "alasm42" всё забыл за 30 лет )))
@BitsCode
@BitsCode 4 ай бұрын
Хех, да, всё верно, мы использовали конфигурацию Пентагона-128К, которая и была у меня самого в 90-ых. :) Скорпиона в наших краях не водилось, или я таковых не знал. Ленинград, Пентагон или местные варианты с радио-заводов. Но мы так-то для основных проектов, стараемся ориентироваться на оригинальный Спектрум. :) Дополнительно, команды алазм-а можно посмотреть в текстовом файле, который идёт в комплекте. ;)
@Alan-12345
@Alan-12345 5 ай бұрын
Видео отлично, спасибо! Но непонятно, как так можно накосячить с битами аттрибутов... Пришлось разбираться. Ну явно же последний будет 7. Причем этим аттрибутам и посвещено видео.
@BitsCode
@BitsCode 3 ай бұрын
Да, спасибо за правку, здесь уже отмечали. Также если что посмотрите наш плейлист "Дневники Разработки", там я исправляю ошибки и отвечаю на вопросы также. kzbin.info/www/bejne/a3TapJaGdtR2aNk
@alexlozhkin1907
@alexlozhkin1907 5 ай бұрын
Почему не С ?
@8BitTeaParty
@8BitTeaParty 5 ай бұрын
Си для x86 есть тут - kzbin.info/aero/PL0mHYOOrrdC0qxi6hK--R5AW9GmRKcfsA , а для Спектрума Си - язык со слишком высоким уровнем абстракции от железа
@BitsCode
@BitsCode 5 ай бұрын
Про высокий уровень для Спектрума уже отметили, но дополним, что именно на ассемблере писать код - самое интересное и кусочек ностальгии. ;) Частично Бейсик есть в "Дневниках разработки" посмотрите в листах, Бейсик был значимым языком в те времена! ;)
@ArtZ0777
@ArtZ0777 10 күн бұрын
1) Памяти мало. В 48kb нужно вместить и комплилятор C, и исходники программы и получаемую программу, и данные. Это сложно, если программа не совсем мелкая. Хорошие функциональные программы и особенно игры на ZX-Spectrum обычно занимали бОльшую часть оперативной памяти. Хотя я подозреваю, что вывернувшись наизнанку, можно было и на C как-то писать, компилируя кусками и выгружая комплилятор, собирать и тестировать на откомпилированном коде, и потом обратно загружать компилятор, но, наверное, проще было привыкнуть к ассемблеру. 2) Ассемблер дает больше свободы, чем Си. В случае с ZX-Spectrum, учитывая его медлительность и необходимость экономить каждый байт (не килобайт, а байт), на ассемблере можно придумывать разные "хаки", "жонглируя" регистрами, а никакой компилятор так не может.
@alexlozhkin1907
@alexlozhkin1907 9 күн бұрын
@@ArtZ0777 я имел в виду кросс-компилятор Си.. На самом спекки ясно дело так не получится.
@ArtZ0777
@ArtZ0777 9 күн бұрын
@@alexlozhkin1907 а-а, простите, я неправильно понял.
@dimajak1972
@dimajak1972 5 ай бұрын
Букву a в слове keyboard пропустили
@8BitTeaParty
@8BitTeaParty 5 ай бұрын
Да, вы правы. Спасибо, что подметили!
@jemmini2
@jemmini2 5 ай бұрын
зачем это в 2023 году ?..
@8BitTeaParty
@8BitTeaParty 5 ай бұрын
Затем же, зачем будет и в 2024-м: для веселья, для отдыха, для любопытства... Фундаментальные основы информатики не поменялись с тех пор.
@jemmini2
@jemmini2 5 ай бұрын
@@8BitTeaParty так полезнее было бы учить для арм или х86. зачем тратить время на некрофилию?
@Norrisoid
@Norrisoid 5 ай бұрын
@@jemmini2 а для чего люди играют, коллекционируют монеты, клеят масштабные модели, пишут комментарии под видео, которые им не интересны? Зачем тратить время?
@BitsCode
@BitsCode 5 ай бұрын
Ну, кроме того что мы сами отдыхали и получали удовольствие от ностальгии... ;) В целом, для изучения низкоуровневого программирования и понимания логики минимального набора команд, с помощью которого строится любая вычислимая(рекурсивная) функция можно использовать и подобный ассемблер. Практика и общее понимание поможет в написании и обычного кода на любом языке программирования. Единственное, что Спектрум не очень может быть удобен в плане архитектуры и редактирования кода. Для тех кто впервые знакомится, можем порекомендовать ДОС и процессор 8086 - там более удобный редактор ДосНавигатор и система команд немного полегче, чем для Z80. :)
@jemmini2
@jemmini2 5 ай бұрын
@@BitsCode одинаковая система команд. но для 86 это можно будет применять практически, здесь и сейчас, как есть. а для z80 знания останутся лишь как чисто теоретические...
@baxxpro-archvis7999
@baxxpro-archvis7999 5 ай бұрын
Ребята, молодцы. Я не могу даже представить, какого уровня игр можно было бы добиться, если бы хоть кто то делал, пусть даже вставки, на ассемблере в современном мире и разработках под современные платформы. Ассемблер - не уйдет никогда. Разработка ОС, драйверов и чего то крайне сложно будет всегда на нем. Я - занимаюсь компьютерной графикой и опыт взаимодействия с Спектрумом был в начале 90-х, благодаря родному брату. Если же вам нужна какая то помощь по отрисовке графики или что то подобное - с удовольствием помогу.
@8BitTeaParty
@8BitTeaParty 5 ай бұрын
Спасибо! Будем иметь в виду, когда возобновим работу над проектом! 8bittea.party/ - на нашем сайте есть ссылка на Дискорд, мы там иногда собираемся в голосовом канале, чтобы поболтать или постримить вместе. Если есть желание и возможность, присоединяйтесь!
@HENRY-om7bw
@HENRY-om7bw Ай бұрын
...... ничего не понимаю но интересно ....когда то изучала Бейсик и Машинные коды ..... но уже всё забыла ..... недавно слышала что сейчас изучают Питон .... Питон лучьше чем Асемблер ?
@pashtetXIII
@pashtetXIII Ай бұрын
​@@HENRY-om7bwни лучше и не хуже. Языки для разных целей. Ассемблер для конкретной "железки" и для каждой он свой, а Пайтон для администрирования, математических расчетов, сайты(бекэнд) пишут на нем.
@ndrey6622
@ndrey6622 6 ай бұрын
вырвиглазные шрифты, конечно...
@BitsCode
@BitsCode 6 ай бұрын
Уж какой был по умолчанию в ALASM. ;) Но можно попробовать сделать ширину стандартную, но тогда будет всего 32 символа в строке, что уже будет очень скромно влезать по коду на строчку. :)
@GraphPopov
@GraphPopov 7 ай бұрын
Сказали частота процессора 3.5 МГц, а написали какую-то чехорду)) ;CPU: Zilog Z80, 3.5HhZ
@8BitTeaParty
@8BitTeaParty 7 ай бұрын
Да, это опечатка
@raivo1024
@raivo1024 5 ай бұрын
да, и "monochrome" прописано с ошибкой
@userman-ol8ve
@userman-ol8ve 7 ай бұрын
LASER BASIC Как Медноногов взяли и вали ИГРУХИ БУРАТИНО
@BitsCode
@BitsCode 7 ай бұрын
Лазер Бейсик помним, был популярен в те времена. Но лично мне он не попадался, у меня был какой-то компилятор простенький для стандартного Бейсика 48К. Немного его попробовал и на этом всё. А так уже ассемблер начал использовать и необходимость отпала. С Бейсиком будем взаимодействовать на вещании, но проектов пока не планируем. :)
@userman-ol8ve
@userman-ol8ve 7 ай бұрын
мужики по чеснаку читая РАДИО И ZX "РЕВЮ" в те года БЫЛОБЫ Х.... СЛОжНО так гнать
@BitsCode
@BitsCode 7 ай бұрын
Радио было, если не ошибаюсь, еще более раньше, но я его уже не застал в 90-ые. А вот ZX Ревю и там же был ZX Форум сборники уже у меня были и в целом они были хороши. Издательство Инфорком, как и книга о программировании на ассемблере. Можно было многое узнать и плюс еще электронные журналы. Материалы доступны на vtrd.in/book.htm.
@ultraroof6679
@ultraroof6679 8 ай бұрын
круто!
@school700fp
@school700fp 8 ай бұрын
Привет, от меня лайк и подписка. Я с 90 г. в этой теме !
@RGB-bz6uy
@RGB-bz6uy 9 ай бұрын
Здравствуйте куда пропал плейлист по ассемблеру х86?
@8BitTeaParty
@8BitTeaParty 9 ай бұрын
@BitsCode справедливый и интересный вопрос!
@BitsCode
@BitsCode 8 ай бұрын
Плейлист собственно никуда не пропал, это он и есть, и также во вкладке "Плейлисты" на канале. Или если имеется ввиду видео с изучением команд процессора, которые мы записывали с Даней, то все обучающие видео перезаливаются теперь на мой отдельный канал и это хороший повод подписаться. :)) Но в остальном, все вещания именно по проектам Чаепития еще по мере возможностей обрабатываются и будут загружены сюда же, в этот плейлист, всё как и было. :)
@DARKFAVEN
@DARKFAVEN 10 ай бұрын
Я понять одно не могу какая польза сейчас в 2023 году так разбираться как программировать на ассемблере для спеки?
@8BitTeaParty
@8BitTeaParty 9 ай бұрын
Это прикольно :)
@BitsCode
@BitsCode 8 ай бұрын
Ну, кроме того что мы сами отдыхали и получали удовольствие от ностальгии... ;) В целом, для изучения низкоуровневого программирования и понимания логики минимального набора команд, с помощью которого строится любая вычислимая(рекурсивная) функция можно использовать и подобный ассемблер. Практика и общее понимание поможет в написании и обычного кода на любом языке программирования. Единственное, что Спектрум не очень может быть удобен в плане архитектуры и редактирования кода. Для тех кто впервые знакомится, можем порекомендовать ДОС и процессор 8086 - там более удобный редактор ДосНавигатор и система команд немного полегче, чем для Z80. :)
@starets_fugas
@starets_fugas 10 ай бұрын
R Tape Loading Error, 0:1.
@user-md4wy6zi7d
@user-md4wy6zi7d Жыл бұрын
А нельзя ли после строки объявить ещё одну переменную и находить длину строки как разницу адресов?
@BitsCode
@BitsCode 8 ай бұрын
Можно и так, функционал вроде бы в ALASM-е поддерживается но поскольку у нас тут был очень простой и быстрый пример, то ограничились подсчетом на глазок! :)
@DocumentaryNew
@DocumentaryNew Жыл бұрын
Для канала: "И по цвету, извините, не дизайнер, да ещё и с плохой цветовосприимчивостью, потому извиняюсь за мерцания цвета и паралитические конвульсии))))"
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
Alasm,- gno, zxasm 3.00 -ок, xasm (для xl Малов) это асмы для програминга
@BitsCode
@BitsCode 8 ай бұрын
ZXAsm - в целом был неплохой редактор, более того мы сначала хотели использовать его. Но он всё таки был немного сыроват. Работа с памятью, некоторые функции по конвертации исходников и многое по мелочи. Но самое главное - для вещания он точно не подходил, т.к. имел свой внутренний упакованный формат представления, который чтобы достать потом в текст, пришлось бы изучить его и написать инструмент. Иначе у нас бы в репозитории не было бы кода, который могли посмотреть/загрузить другие. :) XASM - ом не пользовались, поэтому сложно что-то сказать. :)
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
Охренеть, вы набераете кодовую базу для игр... ?чем помочь? .,.по теории база - хорошая!
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
А rst #16 не?
@BitsCode
@BitsCode 8 ай бұрын
Можно использовать и стандартное прерывание. Но тут были вопросы. Первые самодельные Спектрумы могли иметь проблемы с прерываниями. Стандартные прерывания вроде бы у всех работали, но т.к. рисковать особенно не хотелось, то были справочники, где адреса функции Бейсика приводились, поэтому и здесь по старой памяти появился просто вызов. :)
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
Страшно Вас слушать, господа программисты, мой любимый asm-xl-desidn там ошибок нет и все четко
@BitsCode
@BitsCode 8 ай бұрын
Не использовали ASM-XL - поэтому сложно что-то сказать, но если удобно пользоваться именно им - то выбор за каждым. ALASM - пока что за исключением пары моментов, когда команда была написана с синтаксической ошибкой у меня, то ассемблер сработал, а по факту появились другие машинные коды, заметил только отладчиком. В остальном АЛАЗМ работает и претензий нет. :)
@user-eh4il7og9q
@user-eh4il7og9q Жыл бұрын
Лайк за аласм! Щас подумал, что разработка 8-битных игр в нативных средах сама по себе является 8-битной игрой))
@IExSet
@IExSet Жыл бұрын
Лучший цикл лекций по ZX на Ютубе!
@jenix102
@jenix102 Жыл бұрын
Что тут можно сказать - дисковые версии это оооочень узкая прослойка людей, те про неё говорить, что это массовый комп ? Это враньё, тем более пентагон 128. Это идёт речь об 10 тысячах людей, от силы. Настрящий же спектрум, который легендарный и массовый (от 1 до 1,5 млн штук в россии только) это и близко не про это видео. Вобщем видео про неизвестно что, запудривание мозгов молодым дуракам. Чистое араньё короче.
@IExSet
@IExSet Жыл бұрын
Ты чего такой злой, спектрумист 🙂Требования в этом видео, спектрум 128, не обязательно Пентагон. TR-DOS был сравнительно массовым на просторах СССР, энтузиастов осталось мало, какие уж там миллионы, нет никакого смысла рассматривать что то иное. Вообще рекомендую приобрести ZX Evolution с NEO GS и сетевухой и радоваться жизни !!!
@livecam7761
@livecam7761 Жыл бұрын
У вас хоть редактор есть... А я в 1993-м вручную память редактировал... И таким вот образом написал на ассемблере архиватор для Спектрума... Очень полезная штука для данного компа!...
@IExSet
@IExSet Жыл бұрын
Уникальный материал на просторах интернета !
@user-lt8so5jj6u
@user-lt8so5jj6u Жыл бұрын
Молодцы.
@user-fj6nj9cl4y
@user-fj6nj9cl4y Жыл бұрын
Моё знакомство с асемблером началось с маленькой брошюрки Ю. Родионова выпущенной издательством Питер. Я уже не помню как она называлась, что то по взлому загрузчиков программ для спектрума. Но это был начальный и полезный этап понимания всей кухни работы програм. В результате портировал множество программ с кассетной версии на дисковую. В дальнейшем стал писать драйверы для перефирии. В частности сделал шрифты и загрузчик кирилицы в 24 точечный принтер сейкоша, довольно экзотический по тем временам. Журнал zx ревю читался как забористый детектив. Были идеи использовать спектрум для управления станком ЧПУ, но наступила эра IBM.
@BitsCode
@BitsCode Жыл бұрын
Мне повезло чуть больше. У меня была простая книжка от VA Print. По ассемблеру и еще пару справочников с таблицами кодов команд. В целом можно было и по ним методом проб и ошибок также изучить. ;) Жаль только что не было книги популярной от Инфоркома. Но и того что было - в целом хватило. Плюс журналы. ZX Ревю был хорош и это был интернет того времени. Ну и журналы на дискетах Спектрофон, ЗХ Формат и другие. С переферией поработать лично не успел, еле справился тогда даже с муз. сопроцессором - использовал готовый плеер в исходниках. Русификатор многие делали для поддержки хотя бы в Бейсике. Ну а по ЧПУ - возможно что для простого управления Z80 можно и сейчас попробовать использовать. :)
@user-fj6nj9cl4y
@user-fj6nj9cl4y Жыл бұрын
@@BitsCode мне попадался компьютер на базе zx spectrum с блоком управления для фрезеровки изделий из дерева. Работал через параллельный порт. Программа написана на basic. Это чудо работало. Хоть и с примитивным интерфейсом. Эпоха развития частного бизнеса.
@rin2004able
@rin2004able Жыл бұрын
пытаюсь подписаться, но не подписывается (точнее слетает подписка)
@8BitTeaParty
@8BitTeaParty Жыл бұрын
Не приходят оповещения о новых видео? Если просто не видно, что прожата кнопка подписки, то это просто баг веб-интерфейса Ютуба.
@andrejgg
@andrejgg Жыл бұрын
И что в итоге доделали игру ?)
@8BitTeaParty
@8BitTeaParty Жыл бұрын
Ещё не доделали :)
@BitsCode
@BitsCode Жыл бұрын
Игра в процессе, но что точно стоит ожидать, так это минимальный движок для игры и техническую демку к нему. Следующее видео в серии, это анимация перемещения объектов, и далее уже сам движок. Ориентир на осень или уже ближе к новому году постараемся выпустить. Заодно и в репозитории стоит прибраться. :)
@glukmaker
@glukmaker Жыл бұрын
Что касается очистки экрана, то там удобно использовать команду LDIR, а если сильно хочется достичь максимум быстродействия делая это через стек, то внутренний цикл можно сделать например так: ... ld b,0 loop: push hl push hl push hl push hl push hl push hl push hl push hl push hl push hl push hl push hl djnz loop ... в таком случае очистка займет около 37к тактов. ну и вначале функции нужно отключить прерывания, а в конце включить.
@BitsCode
@BitsCode Жыл бұрын
Хм, не совсем понятно как команда LDIR и данный код приведет к очистке, возможно имелось ввиду два разных метода. LDIR - перемещает из содержимого по адресу в HL в содержимое по адресу в DE. Если настроить параметры на пересечение блоков с учетом зануления первого, то да, это тоже вариант. Но стоит помнить, что на одну итерацию цикла в LDIR требуется 21 такт(чуть меньше на последнем). Очистка экрана через стек мы тоже попробовали, но применять в коде для игр скорее всего не будем. Если требуется простая очистка, то с LDIR вариант короче и удобней. Плюс для перерисовки анимации нет смысла сначала очищать область, а потом заполнять её спрайтом(данными), быстрее сразу перезаписать нужный участок памяти. Пример выше работает быстро, также его можно на самом деле и сгенерировать, т.е. в демках, был трюк, когда команды "push hl" генерировались на лету и выполнялись даже без замыкания цикла. Для разных эффектов. В целом спасибо за комментарий, отметим его в следующей серии "Дневники разработки". Хоть мы и уже делали подобный код. но померять производительность всегда интересно. :)
@glukmaker
@glukmaker Жыл бұрын
@@BitsCode по поводу LDIR - да, именно вариант с пересечением блоков я и имел ввиду. По поводу тактов, действительно, я забыл что она тратит 21 такт на перемещение. (ну да. уже лет 25 как минимум прошло, когда последний раз что-то писал на асм Z80 для спектрума). Так что согласен, что для очистки экрана она не очень подходит.
@captainpronin953
@captainpronin953 Жыл бұрын
И есть на спек хорошие ассемлеры, забыл название но максимум 16 ул кода. Так как одна страница была всего для когда, но очень быстро грузил куски данных с диска и include.
@BitsCode
@BitsCode Жыл бұрын
Немного не ясно описано, но если что ALASM как раз грузит исходный код в дополнительные страницы. Используется синтаксис INCLUDE "FILE", MEMORY PAGE. Дополнительно по ассемблерам можно посмотреть на speccy.info.
@jenix102
@jenix102 Жыл бұрын
Так это иине спек, это трдос, дисклвая система на пентагоне 128. К тому же на эмуляторе )) короче чушь и враньём погоняет. Спек был массовым от 1 до 1,5 млн штук в россии, а трдос это 10 тыс штук. Очень узкая прослойка.
@IExSet
@IExSet Жыл бұрын
@@jenix102 Чувак, тебя заклинило, проспись !!!
@captainpronin953
@captainpronin953 Жыл бұрын
Учился сам по книге И вначале вообще gems грузил с кассеты. 2 минуты сброс. И опять гружу.
@BitsCode
@BitsCode Жыл бұрын
Наверное имелся ввиду GENS. Да, он был одним из первых. По современным меркам он очень простой и использовать его затруднительно. Но по сравнению с редактированием чистого машинного кода - это уже было шагом вперед. Сам не использовал его, но видел как применяли другие. У меня уже был ZX-ASM и TR-DOS. :)
@captainpronin953
@captainpronin953 Жыл бұрын
Ой, как то так плохо все говорят, я если бы не знал ассемблера на z80 не понял бы нифига.
@BitsCode
@BitsCode Жыл бұрын
Понимать не обязательно, можно просто смотреть! :)
@IExSet
@IExSet Жыл бұрын
Отлично всё говорят, слишком подробно даже
@chubrik2
@chubrik2 Жыл бұрын
Что за текстовый редактор с нестандартным размером знакоместа 6×6?
@8BitTeaParty
@8BitTeaParty Жыл бұрын
ALASM
@BitsCode
@BitsCode Жыл бұрын
В ответе на закрепленный комментарий есть ссылка на скачивание редактора и дополнительные утилиты. Ну или загляните в плейлист "Дневники разработки" - можно использовать и современные инструменты.
@Free_Wind_FPS
@Free_Wind_FPS 2 жыл бұрын
Спасибо. Вот бы где ещё скачать её) Пригодилась бы для zx арта!
@8BitTeaParty
@8BitTeaParty 2 жыл бұрын
Под видео ссылка - lunarlabs.itch.io/dither-machine
@Free_Wind_FPS
@Free_Wind_FPS 2 жыл бұрын
@@8BitTeaParty Благодарю, но оплатить не получается(
@8BitTeaParty
@8BitTeaParty 2 жыл бұрын
Можно не платить, это добровольное пожертвование
@IExSet
@IExSet 2 жыл бұрын
Не бросайте тему, пожалуйста и Спектрум тоже !
@BitsCode
@BitsCode 2 жыл бұрын
Не забываем, в любом случае системный минмум для движка будет положен в репозиторий, а краткая демка выпущена. Ближайшее вещание готовим по звуку, Sound Blaster OPL3 чип и звуковые эффекты, музыку не свою уже наверное вставлять не будем. :)
@IExSet
@IExSet 2 жыл бұрын
Новая серия :-)
@BitsCode
@BitsCode 2 жыл бұрын
Хех, посмотреть никогда не поздно! Но Спектрум не забыли, после как будет первая версия системных функций для 8086, то и вернемся к Спектруму. У нас там в планах как минмиум анимация и первая версия тоже движка(часть уже есть). Если состоится конкурс в этом году от Яндекса, то можно будет что-то придумать. ;)
@IExSet
@IExSet 2 жыл бұрын
@@BitsCode У вас классные обучающие стримы, видимо придётся вам тянуть и по Спеку и по X86, в идеале бы пощупать CGA, EGA. :-)