Ретрокод на ассемблере для Спектрума, #1. Предисловие и первая программа "Привет Мир!"

  Рет қаралды 17,976

8-Bit Tea Party

8-Bit Tea Party

4 жыл бұрын

Программирование на ассемблере для ретро платформы ZX Spectrum(Спектрум). Введение и первая традиционная программа - "Привет Мир!". Вещание на эмуляторе Fuse, ассемблер ALASM, отладчик STS и много чая! :)
speccy.info/ALASM
Как пользоваться ALASM - zx-pk.ru/threads/13661-kak-po...
Вещание программирования на канале: / bitscode .
Наш основной канал: / 8bitteaparty .
Репозиторий с исходным кодом: github.com/dreamy-cat/8-Bit-T....
Сайт 8-Битного Чаепития - 8bittea.party/.

Пікірлер: 162
@IVV79
@IVV79 4 жыл бұрын
Подскажите пожалуйста, какой образ ALASM используется, или как переключить редактор, а то у меня запускается на чёрном экране и шрифт более мелкий.
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
Образ Алазма используем версии 5.09 и отладчик СТС вместе с ним. Можно посмотреть на странице AloneCoder - alonecoder.nedopc.com/zx/index.html. Там же на образе дискеты есть файл помощи, его можно выгрузить и смотреть просто как текстовый файл на основной машине. ;) Чтобы шрифт был крупнее - 42 символа в строке, надо запускать "alasm42.B" файл на дискете, 64 символа в строке, согласимся, мелковато. Чтобы настроить цвета - нажмите в режиме команд Алазма "F" - config и там уже меняете цвета Ink и Paper. Или еще много полезных ссылок у нас в репозитории/вики github.com/dreamy-cat/8-Bit-Tea-Party/wiki.
@IVV79
@IVV79 4 жыл бұрын
@@8BitTeaParty Огромное спасибо за столь развёрнутый ответ! И отдельно спасибо за этот цикл по ассемблеру, очень качественно подан материал и просто приятно слушать! )
@user-fj6nj9cl4y
@user-fj6nj9cl4y Жыл бұрын
Моё знакомство с асемблером началось с маленькой брошюрки Ю. Родионова выпущенной издательством Питер. Я уже не помню как она называлась, что то по взлому загрузчиков программ для спектрума. Но это был начальный и полезный этап понимания всей кухни работы програм. В результате портировал множество программ с кассетной версии на дисковую. В дальнейшем стал писать драйверы для перефирии. В частности сделал шрифты и загрузчик кирилицы в 24 точечный принтер сейкоша, довольно экзотический по тем временам. Журнал zx ревю читался как забористый детектив. Были идеи использовать спектрум для управления станком ЧПУ, но наступила эра IBM.
@BitsCode
@BitsCode Жыл бұрын
Мне повезло чуть больше. У меня была простая книжка от VA Print. По ассемблеру и еще пару справочников с таблицами кодов команд. В целом можно было и по ним методом проб и ошибок также изучить. ;) Жаль только что не было книги популярной от Инфоркома. Но и того что было - в целом хватило. Плюс журналы. ZX Ревю был хорош и это был интернет того времени. Ну и журналы на дискетах Спектрофон, ЗХ Формат и другие. С переферией поработать лично не успел, еле справился тогда даже с муз. сопроцессором - использовал готовый плеер в исходниках. Русификатор многие делали для поддержки хотя бы в Бейсике. Ну а по ЧПУ - возможно что для простого управления Z80 можно и сейчас попробовать использовать. :)
@user-fj6nj9cl4y
@user-fj6nj9cl4y Жыл бұрын
@@BitsCode мне попадался компьютер на базе zx spectrum с блоком управления для фрезеровки изделий из дерева. Работал через параллельный порт. Программа написана на basic. Это чудо работало. Хоть и с примитивным интерфейсом. Эпоха развития частного бизнеса.
@lionshg
@lionshg 4 жыл бұрын
Классная тема! Прям вернулся на 20 лет назад, когда также в аласме писали демки, интры и TR-DOS загрузчики для кассетных игр! лайк, подписка )
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
Это. Просто. Потрясающе! Как раз собираю себе pentagon 128 и тут такой подарок) Обязательно попробую для души повторить ну и охото своих штучек понаписать) Так что спасибо за видео) Ассамблер со времен avr не видел. Соскучился)
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
Спасибо за теплый отзыв! Прямо целая куча вопросов, тут пока кратко и на следующем вещании подробнее ответим на вопросы! :) Если что вещание кода на Твиче по субботам в 18-00, канал bitscode. Или наш основной канал там же, 8bitteaparty. Также мы всегда открыты для новых участников в проектах, можно посмотреть репозиторий на ГитХабе(ссылка в описании). Видео длинные у нас, формат вещаний, так что не стесняемся применять скорость 2Х. )) Ссылки на документацию есть у нас в репозитории, прямо в Вики немного. Также можно посмотреть ресурсы для начала speccy.info, там есть и описание горячих клавиш для отладчика СТС. Комбинации команд и клавиш для среды разработки АЛАЗМ - есть в документации к нему, прямо в текстовом виде. :) Из книг для вспомнить/изучить порекомендуем издательство Инфоркома - Программирование в машинных кодах, ну и старые журналы конечно же, сайт zxpress.ru Про ОЗУ, да программа там же и ассемблируется подробнее на следующем вещании. ;) Насчет продакшена, если имеется ввиду что планируется именно практическое современное применение, то мы будем сильно удивлены, у нас всё таки ретро вещание. :) Ну а мы храним всё на дискете Streams.trd - образ есть в репозитории и там же файлы .asm которые можно посмотреть прямо так. Старые вещания располагаются в директории /archive. Если пользуются современными средствами разработки, то порекомендуем кросс-ассемблер и любую среду. И хранить уже прямо исходник + образ для размещения в памяти, для эмулятора. Постараемся на вещании этот вопрос тоже затронуть. ;)
@school700fp
@school700fp 8 ай бұрын
Привет, от меня лайк и подписка. Я с 90 г. в этой теме !
@IExSet
@IExSet 4 жыл бұрын
Вау! Это я удачно зашёл
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
Ох. С удовольствием досмотрел видео! Было приятно посмотреть и очень хочется повторить. Чем и планирую заняться вскоре.
@iRusiko
@iRusiko 4 жыл бұрын
Супер! Спасибо!
@zakmdx6252
@zakmdx6252 4 жыл бұрын
Очень интересно!
@alexeymezenin
@alexeymezenin 2 жыл бұрын
Как же лампово. Подписался.
@jenix102
@jenix102 Жыл бұрын
Отписывайся, тут враньё на вранье
@IExSet
@IExSet Жыл бұрын
@@jenix102 Ты больной 🙂
@Fastereus
@Fastereus 3 ай бұрын
Епа мать ALASM ... уахахахаха TASM юзал , самый лучший был
@ultraroof6679
@ultraroof6679 7 ай бұрын
круто!
@user-jx9il7fx8t
@user-jx9il7fx8t 3 жыл бұрын
CPU. могу представить "технологический" комп. прошивка для того чтобы играть AY-шную музыку. Всё есть. всё работает. с 90-х лежит. Есть ещё: картридж для спекки. FIFO - "первый вошол - первый вышел". экранную область тоже можно использовать как изменяемую область! для переадресации !
@alexs8579
@alexs8579 3 ай бұрын
разобрался с эмулятором 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 3 ай бұрын
Хех, да, всё верно, мы использовали конфигурацию Пентагона-128К, которая и была у меня самого в 90-ых. :) Скорпиона в наших краях не водилось, или я таковых не знал. Ленинград, Пентагон или местные варианты с радио-заводов. Но мы так-то для основных проектов, стараемся ориентироваться на оригинальный Спектрум. :) Дополнительно, команды алазм-а можно посмотреть в текстовом файле, который идёт в комплекте. ;)
@VBKesha
@VBKesha 4 жыл бұрын
Давно хотел вникнуть в ассемблер Z80. Может теперь получитcя :)
@dmitryvlasov931
@dmitryvlasov931 3 жыл бұрын
Получилось?
@jenix102
@jenix102 Жыл бұрын
Лучше этот канал не смореть враньё на вранье. Самодельщина и выдумки. Трдос была в мизерном колве. Это не тот легендарный спектрум. Это тр-дос с дисками, которых не было ни у кого, от слова совсем. Спек был на магнитофоне и памяти 48к. А здесь пентагон128. Да ещё в эмуляторе ;))) хватит пудрить моск наивным людям. У полстраны был ленинград 48к Зонова, а не эта хрень. Отписывайтесь и не смотрите эту фантастическую хрень.;)
@IExSet
@IExSet Жыл бұрын
@@jenix102 Чудила, смотри комментарий Alone Coder "ALASM 4.46 работает на 48K. Но надо учесть, что он занимает #8000..#bfff под себя, #c000.. под исходник (затирается в процессе компиляции), ...#ffff под метки." Можешь приступать на своём убогом 48к 🙂
@kr4snod4r
@kr4snod4r 2 жыл бұрын
только зашел на стрим. допишите? помню были скрины видать с компрессией. о чем пишем на следующем стриме расскажите сразу. я я как понял что то хотите представить похожее на приключения вилли
@8BitTeaParty
@8BitTeaParty 2 жыл бұрын
Остальные видео смотрите здесь же на канале, есть плейлист. У нас по общему программирования в планах осталось видео с анимацией простой и дальше в планах только движок для простой игры, но это будет уже наверное ближе к конце года, спасибо за поддержку! :)
@user-hd7hq4lf4y
@user-hd7hq4lf4y 2 жыл бұрын
24:50 В официальной документации по ROM процедура #1601 называется CHAN_OPEN Если использовать официальные названия - проще понимать (на заметку!)
@BitsCode
@BitsCode 2 жыл бұрын
Собственно название и подставили, но да, возможно что если будет соответствие между официальными названиями из ПЗУ и в коде, то будет лучше для восприятия. Но у нас пока что, кроме работы с ТР-ДОС-ом более вызовов не планируется. Ну или совсем всё будет круто и мы реулизуем возможность движка с подгрузкой. :)
@fish9370
@fish9370 2 жыл бұрын
У вас есть редактор, мы прямо в машинном коде писали.
@BitsCode
@BitsCode 2 жыл бұрын
Эх, суровое было время! Да, этот редактор еще относительно удобен. До этого были разные ZEUS-ы и другие простые инструменты. Но да, первые попытки в машинный код обычно делались через POKE и DATA, набранные в ручную. :)
@captainpronin953
@captainpronin953 Жыл бұрын
Ну я в бейстке тоже коды набивал, но не практично это....
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
Только есть небольшое пожелание. Прикрепите, пожалуйста, ссылку на справочник. А то не очень ясен был момент с вызовом подпрограммы. Я примерно представляю, как оно там устроено, как бы я реализовал. Но хотелось бы подробнее сразу прочитать. Почему записаны адрес строки и ее длина были именно в эти регистры. Было бы полезно.
@user-mf8gg8dj4x
@user-mf8gg8dj4x 4 жыл бұрын
потому что подпрограмма печати принимает параметры в этих регистрах
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
Охренеть, вы набераете кодовую базу для игр... ?чем помочь? .,.по теории база - хорошая!
@captainpronin953
@captainpronin953 Жыл бұрын
И есть на спек хорошие ассемлеры, забыл название но максимум 16 ул кода. Так как одна страница была всего для когда, но очень быстро грузил куски данных с диска и include.
@BitsCode
@BitsCode Жыл бұрын
Немного не ясно описано, но если что ALASM как раз грузит исходный код в дополнительные страницы. Используется синтаксис INCLUDE "FILE", MEMORY PAGE. Дополнительно по ассемблерам можно посмотреть на speccy.info.
@jenix102
@jenix102 Жыл бұрын
Так это иине спек, это трдос, дисклвая система на пентагоне 128. К тому же на эмуляторе )) короче чушь и враньём погоняет. Спек был массовым от 1 до 1,5 млн штук в россии, а трдос это 10 тыс штук. Очень узкая прослойка.
@IExSet
@IExSet Жыл бұрын
@@jenix102 Чувак, тебя заклинило, проспись !!!
@user-md4wy6zi7d
@user-md4wy6zi7d Жыл бұрын
А нельзя ли после строки объявить ещё одну переменную и находить длину строки как разницу адресов?
@BitsCode
@BitsCode 7 ай бұрын
Можно и так, функционал вроде бы в ALASM-е поддерживается но поскольку у нас тут был очень простой и быстрый пример, то ограничились подсчетом на глазок! :)
@zx_creature6823
@zx_creature6823 4 жыл бұрын
Вопрос: запустится ли ALASM на Ленинград-48? Хочется, так сказать, на натурном железе потискать.
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
Увы, насколько мы пробовали, то в режиме 48 килобайт - именно эта версия АЛАЗМ-а не запускается, для хранения исходников и других параметров требуются дополнительные страницы памяти. Драйвера были для разных машин и модификаций, Пентагон, Скорпион, Кэй и т.д. до 1024Кб. Но для 48К кажется нет. Но посмотрим подробнее ответ в следующих дневниках разработки или может еще подскажут какой классный был для 48К.
@alonecoder600
@alonecoder600 3 жыл бұрын
@@8BitTeaParty ALASM 4.46 работает на 48K. Но надо учесть, что он занимает #8000..#bfff под себя, #c000.. под исходник (затирается в процессе компиляции), ...#ffff под метки.
@jenix102
@jenix102 Жыл бұрын
Собственно у полстраны Ленинград 48 ,А здесь вообще неизвестно О чём говорят. Отписывайтесь лучше и не слушайте эту хрень
@user-fx2fj1lq8s
@user-fx2fj1lq8s 3 жыл бұрын
Где взять образ конкретно этого ALASM? И как его прикрутить к FUSE? . По вашей ссылке открывается какой то файл реаниматор просит сканировать диски, подключал файлы и ALASM509_STS75 и ALASM508
@alonecoder600
@alonecoder600 3 жыл бұрын
надо на этом диске запускать программу "alasm42"
@alexs8579
@alexs8579 3 ай бұрын
@@alonecoder600 так он ни на какие клавиши не реагирует, считывает каталог на дискете и всё. а всё разобрался сам. у меня автостарт стоял.
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
Alasm,- gno, zxasm 3.00 -ок, xasm (для xl Малов) это асмы для програминга
@BitsCode
@BitsCode 7 ай бұрын
ZXAsm - в целом был неплохой редактор, более того мы сначала хотели использовать его. Но он всё таки был немного сыроват. Работа с памятью, некоторые функции по конвертации исходников и многое по мелочи. Но самое главное - для вещания он точно не подходил, т.к. имел свой внутренний упакованный формат представления, который чтобы достать потом в текст, пришлось бы изучить его и написать инструмент. Иначе у нас бы в репозитории не было бы кода, который могли посмотреть/загрузить другие. :) XASM - ом не пользовались, поэтому сложно что-то сказать. :)
@chubrik2
@chubrik2 Жыл бұрын
Что за текстовый редактор с нестандартным размером знакоместа 6×6?
@8BitTeaParty
@8BitTeaParty Жыл бұрын
ALASM
@BitsCode
@BitsCode Жыл бұрын
В ответе на закрепленный комментарий есть ссылка на скачивание редактора и дополнительные утилиты. Ну или загляните в плейлист "Дневники разработки" - можно использовать и современные инструменты.
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
А если я хочу "в продакшен" утилиту, то я могу как-то скомпилированную программу сохранить? Чтобы запускать с дискеты или по аудио каналу там...
@IExSet
@IExSet 4 жыл бұрын
Конечно можете, иначе зачем нужен ассемблер. Но потребуется загрузчик. Надо сохранить CODE файлы из областей памяти, а затем BASIC загрузчик при запуске должен их загрузить типа LOAD"MYEXE"CODE MEMADDRESS. SAVEOBJ*.H - сохраняет любое количество кусков кода из любых страниц в разные файлы с заданными именами. m2hr*.H - пакует непрерывный кусок хрустом2 и склеивает программу с бейсик-загрузчиком. mrip*.H - то же, но пакует мрипом (сильнее).
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
Вариантов решения много образы кассет, дискет памяти, завтра утром будет опубликовано видео, если еще не успели посмотреть на трансляции, и там немного затронем эту тему, вариант с памятью. :)
@alonecoder600
@alonecoder600 3 жыл бұрын
в комплекте есть исходник SAVEOBJ (может сохранять много блоков, но без загрузчика) и исходники m2hr и mrip (могут сохранять один блок с загрузчиком, упакованный).
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
А почему под переменную выделили память именно в 0000? Ведь можно было бы между стеком и самой программой.
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
Уточните пожалуйста строку... Хм, так-то у нас программа стартует с 24 килобайт адресного пространства. Т.е. 16к - ПЗУ, потом экран 6+ килобайт и немного системных переменных. Если имеется ввиду директива DEFW или DEFB, то они просто заполняются нулями эти ячейки и всё. Это просто инициализация, они располагаются по адресу, сразу следующими за адресом команды RET. Ширина шины данных для Спектрума была 8 бит, поэтому выравнивания данных нет. ;)
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
​@@8BitTeaParty Спасибо за ответ) А где можно новичку посмотреть распределение памяти подробнее? Узнать, что занято ОС, что занято экраном, что занято самой утилитой ALASM? Просто не ясно, сколько действительно памяти мне доступно для написания софта и в каких регионах. 6+ - не совсем ясно звучит. Нужно знать точное значение... "Если имеется ввиду директива DEFW или DEFB, то они просто заполняются нулями эти ячейки и всё. Это просто инициализация, они располагаются по адресу, сразу следующими за адресом команды RET. Ширина шины данных для Спектрума была 8 бит, поэтому выравнивания данных нет. ;)" А... Вот оно как работает. Я думал, что DEFW - это объявление указателя на переменную... Вообще, чтобы не задавать таких тупых вопросов больше, где можно посмотреть синтаксис ALASM? Просто там же свои фишки, отличные от описания стандартного синтаксиса. Я вот например следующее видео все осилить не могу. Там вы используете команду OR без второго операнда. Понятно из контекста, что OR E делает это с аккумулятором A, т.к. в нем ранее велась работа. Но вот дойти до этого самому - сложно Есть ли где-то документ, на подобии ассемблера у AVR? Просто таблица на 3 страницы где у каждой команды описаны варианты синтаксиса.
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
@@8BitTeaParty Я посмотрел здесь файл помощи. Но он скорее руководство к программе-редактору, чем к ассемблеру. Там на zx-pk есть doc версия.
@IExSet
@IExSet 4 жыл бұрын
В 0000 не получится, там ПЗУ
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
@@IExSet да уже ответили, что там одно адресное пространство)
@starets_fugas
@starets_fugas 9 ай бұрын
R Tape Loading Error, 0:1.
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
А rst #16 не?
@BitsCode
@BitsCode 7 ай бұрын
Можно использовать и стандартное прерывание. Но тут были вопросы. Первые самодельные Спектрумы могли иметь проблемы с прерываниями. Стандартные прерывания вроде бы у всех работали, но т.к. рисковать особенно не хотелось, то были справочники, где адреса функции Бейсика приводились, поэтому и здесь по старой памяти появился просто вызов. :)
@user-bw7un6ht6f
@user-bw7un6ht6f 2 жыл бұрын
Скажите, что за справочник, где взять?
@8BitTeaParty
@8BitTeaParty 2 жыл бұрын
Издательство «Инфорком» (Москва 1993) - ПЕРСОНАЛЬНЫЙ КОМПЬЮТЕР "ZX-SPECTRUM". Программирование в машинных кодах и на языке АССЕМБЛЕРА. Можно воспользоваться поиском.
@user-bw7un6ht6f
@user-bw7un6ht6f 2 жыл бұрын
@@8BitTeaParty Спасибо!
@user-fx2fj1lq8s
@user-fx2fj1lq8s 3 жыл бұрын
Запилите пожалуйста видео просто как подключить этот Аласм к эмулятору, как его запустить и как начать на нём писать, а то начать невозможно..
@8BitTeaParty
@8BitTeaParty 3 жыл бұрын
Постараемся выпустить подобное краткое видео для тех кто начинает. :) Однако если хочется именно изучать программирование, то мы порекомендуем смотреть в сторону Питона, как более доступного языка программирования для новичков. Ну или у нас на канале чуть посложнее, есть разбор школьныых задач по программированию. :)
@starwalker.odessa
@starwalker.odessa 3 жыл бұрын
@@8BitTeaParty Ребята решили что могут программировать сразу на nightmare уровне ))) ...поддерживаю, пусть (хотя бы) basic выучат )
@IExSet
@IExSet Жыл бұрын
@@8BitTeaParty Не, Питон хоть и проще начать, но от сути программирования он держит на парсеки. Не уверен, что ассемблер лучше. Надо всего понемножку пробовать и изучать, это самый верный способ: Питон, Си/Си++, Ассемблер, обязательно Лисп (Common Lisp и Scheme имеют сильно разный подход), Prolog пощупать надо. На Спеке не зазорно и с Бейсика начать 🙂
@jenix102
@jenix102 Жыл бұрын
@@starwalker.odessa тут ещё и дурачки бегают вокруг, советуют, как заразиться программированием и стать дурачком или идиотом. 🤣
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
Так же ничего не сказано было о комбинациях нажатий. То есть горячие клавиши. На сохранение. Работа с отладчиком и так далее.
@IExSet
@IExSet 4 жыл бұрын
Да мне тоже не хватает, но это есть в доках по ALASM. Есть инглиш доки в виде Word или PDF файла и в самом дистрибутиве ALASM тоже есть в виде H файлов, можно открыть его же редактором.
@alexandrpekhimenko1728
@alexandrpekhimenko1728 3 жыл бұрын
Давно хотел протокол I2C на реальном Спектруме запилить. Может поможете?
@Sionelius
@Sionelius 3 жыл бұрын
в спектруме таймера нет, это извращение
@SergeDzus
@SergeDzus 3 жыл бұрын
Полюключите ардуино к портам
@Sionelius
@Sionelius 3 жыл бұрын
@@SergeDzus зачем тогда реализация на Спектруме? :) это уже реализация на atmega328, а код как туда грузить будешь? через ВВ55 или ИР23? atmega не успеет шину в Z переводить, или последовательно загружать как на магнитофон? тогда надо делать обвес, ИР23 на данные и мелкороссыпь на запись/чтение
@8BitTeaParty
@8BitTeaParty 3 жыл бұрын
Хм, насчет I2C уверенности нет, разве что кто-то реализует отдельно подобный функционал. Но тут как верно заметили, воспользоваться чем-то современным по железу будет сильно проще. Мы будем работать с некотороми портами(уже настраивали прерывания), но в целом для Спектрума возможно поработаем с простой переферией.
@alexandrpekhimenko1728
@alexandrpekhimenko1728 3 жыл бұрын
@@8BitTeaParty Хотелось бы увидеть код для I2C. По железу это реализовать просто, хоть через порт#31 на чтение и порт #FE на запись и резистор. Хотелось бы подключить некоторые I2C микросхемы через Спектрум.
@silentgamerzx
@silentgamerzx 4 жыл бұрын
Интересно,а на чём сам ассемблер писали?🤔
@MsDimkaM
@MsDimkaM 4 жыл бұрын
Он сам себя компилирует.
@user-tg6yo7io2y
@user-tg6yo7io2y 3 жыл бұрын
На другом ассемблере, а самый первый ассемблер был написан непосредственно в кодах.
@Sionelius
@Sionelius 3 жыл бұрын
я в кодах писал
@b213videoz
@b213videoz 2 жыл бұрын
На машинных кодах 🤣
@captainpronin953
@captainpronin953 Жыл бұрын
Скорее всего на более высоких языках, в то время для спектрума это было нормально.
@captainpronin953
@captainpronin953 Жыл бұрын
Учился сам по книге И вначале вообще gems грузил с кассеты. 2 минуты сброс. И опять гружу.
@BitsCode
@BitsCode Жыл бұрын
Наверное имелся ввиду GENS. Да, он был одним из первых. По современным меркам он очень простой и использовать его затруднительно. Но по сравнению с редактированием чистого машинного кода - это уже было шагом вперед. Сам не использовал его, но видел как применяли другие. У меня уже был ZX-ASM и TR-DOS. :)
@GraphPopov
@GraphPopov 6 ай бұрын
Сказали частота процессора 3.5 МГц, а написали какую-то чехорду)) ;CPU: Zilog Z80, 3.5HhZ
@8BitTeaParty
@8BitTeaParty 6 ай бұрын
Да, это опечатка
@raivo1024
@raivo1024 4 ай бұрын
да, и "monochrome" прописано с ошибкой
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
Кстати говоря. Не сразу дошло, что скомпилированная программа так же ляжет в ОЗУ... Привык уже, что все равно в постоянке лежит. Как в микроконтроллерах или на компьютере...
@IExSet
@IExSet 4 жыл бұрын
На компьютере тоже не всегда на диск падает, полно систем где компиляция происходит в память, начиная с Common Lisp, заканчивая всякими Pythonами.
@user-rl8bu2hc8t
@user-rl8bu2hc8t 4 жыл бұрын
@@IExSet python неудачный пример. Ибо он скриптовый. Хотя тот же байт-код можно положить и в ПЗУ.
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
В целом да, верно, но тут именно что у нас есть внешняя система и эмулятор машины, Спектрума. И поэтому и появляется такая возможность, вынести всё во вне её. Чуть подробнее в серии дневников разработки. Также в любом случае рекомендуем всем сохраняться всегда перед запуском. :)
@8BitTeaParty
@8BitTeaParty 4 жыл бұрын
@@user-rl8bu2hc8t Насчет Питона тут можно и покомпилировать при желании. :) Но да, для Бейсика используется собственный байт-код, интерпретатор располагается в ПЗУ и там же жестко записаны базовые функции. Поэтому и формат Бейсика относительно компактный по объему занимаемой памяти.
@IExSet
@IExSet 3 жыл бұрын
@@user-rl8bu2hc8t Да тот же Forth тоже скриптовый, рядом с жёстким машинным кодом :-) Сам язык Питон относится к динамически типизированным, как тот же Common Lisp, оба с указанием и выводом типов превращаются в статически типизированные и компилируемые в целевой проц. У Common Lisp эта проблема УЖЕ давно решена, он хоть и жирен, но довольно эффективен на оптимизированных участках (на уровне C/C++), используются и векторные расширения для арифметики, причём оптимизировать можно лишь узкие места, наплевав на указания типов и оптимизацию не критических мест (которые выполняются < 10% времени). В принципе асм спека мог бы сразу валить объектный код на диск через TR-DOS (или NedoOS на новых ATM Turbo совместимых спеках). Но памяти и так дофига, на новых 256 страниц 4 мега всё таки.
@alexmo6538
@alexmo6538 2 жыл бұрын
А как запустить Alasm на Fuse? Как вообще всё это настроить..?
@8BitTeaParty
@8BitTeaParty 2 жыл бұрын
По ссылке в закрепленном комментарии можно скачать с сайта архив и образ дискеты, файл .TRD. После этого во Fuse, "Media->Disk->Beta->Drive A->Insert...". Монтируйте дискету и дальше уже через ТР-ДОС. Если ТР-ДОС-а нету в вашей конфигурации(меню РОМ). Для быстроты можно воспользоваться эмулятором UnrealSpeccy. Там уже ТР-ДОС есть по умолчанию и ALT+F1 - меню и там вклада Beta128. Аналогично монтируем образ. Скачать можно там же на странице AloneCoder-a. alonecoder.nedopc.com/zx/
@alexmo6538
@alexmo6538 2 жыл бұрын
@@8BitTeaParty Спасибо, буду пробовать так сделать.
@alexs8579
@alexs8579 3 ай бұрын
@@8BitTeaParty ребятушки 2 года конечно прошло, но что такое 2 года против 30 лет , пролистал все комменты , вынесите в заголовок или в отельное видео пошагово как включается эмуль, грузится дискета, какие клавиши. так будет удобнее ))) а то я образ дискета скачал, она на автозапуске мне гонит листинг файлов и потом выходит. а за 30 лет порядком подзабыл как с дискетами на спектруме работать ))
@alexs8579
@alexs8579 3 ай бұрын
а да и еще скачал сначала эмулятор fuse а в нём не все rom были, искал недостающие ))) образ дискеты с ALASM требовал ромов от скорпиона 256 почему-то
@vitgo
@vitgo 2 жыл бұрын
никаких задержек луча в оригинале небыло... как вы вообще представляете себе задержку луча элт ?!
@BitsCode
@BitsCode 2 жыл бұрын
Хм, возможно не удачно выразились. Луч понятно не останавливается совсем. Но есть активная область отрисовки и возврат в левую верхнюю точку, когда и начинается формирование нового кадра на экране ЭЛТ. Для VGA адаптера например это была еще и возможность посылать импульсы синхронизации и возможность отслеживать процессором, порты 0x3DA(0x3BA), Vertical Retrace. Для Спектрума и его возможных модификаций посмотрим подробнее уже на "Дневниках разработки №7", но в целом отрисовка и прерывания совпадали по тайминнгу, ~50 кадров в сек.
@jenix102
@jenix102 Жыл бұрын
Лусше этот канал не смореть враньё на вранье. Самодельщина и ввдумки. Трдос была в мищерном колве. Это не тот легендареый спектрум. Это трдос с дисками, которых не было ни у кого, от слова совсем. Спек был на магнитофоне и памяти 48к. А здесь пентагон128. Да ещё в эмуляторе ;)))
@vitgo
@vitgo Жыл бұрын
@@jenix102 🤣🤣🤣
@IExSet
@IExSet Жыл бұрын
Было (обратный ход луча) и не только это, ещё в оригинале была медленная память и быстрая память из-за конфликта для отрисовки видео.
@IExSet
@IExSet Жыл бұрын
@@jenix102 Чувак, ты несёшь какую-то дичь, иди играй в свой 48к спек на магнитофоне и памяти 48к не в эмуляторе, не порть настроение людям ! У меня есть и 48к и аналог Scorpion ZS 256 и ZX Evolution, и меня твоя классика нисколько не конторит, все Спеки хороши, включая эмулятор !
@tovjukov
@tovjukov 3 жыл бұрын
А, почему не MASM?
@tovjukov
@tovjukov 3 жыл бұрын
@BitsCode Уже почитал, про Аласм. Прикольный проект. Я остановился на TASM и MASM, и дебагеге STS (вроде так он назывался), последующие уже не застал.
@MustangDSG
@MustangDSG 3 жыл бұрын
@BitsCode worldofspectrum.org/software?id=0021423 - MASM был для Спектрума, но это другой MASM.
@alexlozhkin1907
@alexlozhkin1907 5 ай бұрын
Почему не С ?
@8BitTeaParty
@8BitTeaParty 5 ай бұрын
Си для x86 есть тут - kzbin.info/aero/PL0mHYOOrrdC0qxi6hK--R5AW9GmRKcfsA , а для Спектрума Си - язык со слишком высоким уровнем абстракции от железа
@BitsCode
@BitsCode 4 ай бұрын
Про высокий уровень для Спектрума уже отметили, но дополним, что именно на ассемблере писать код - самое интересное и кусочек ностальгии. ;) Частично Бейсик есть в "Дневниках разработки" посмотрите в листах, Бейсик был значимым языком в те времена! ;)
@user-wm5xk1zk8w
@user-wm5xk1zk8w 4 жыл бұрын
Z80 работает на 3.5Мгц. На 3.5ГГц работает мой двухведерный атлон
@saszab
@saszab 4 жыл бұрын
Удивительно, но в видео говорится ровно о том же!
@user-wm5xk1zk8w
@user-wm5xk1zk8w 4 жыл бұрын
@@saszab пардон, видимо пропустил этот момент
@MustangDSG
@MustangDSG 4 жыл бұрын
@@saszab Александр ошибся и написал вместо MHz, Hhz, но это просто опечатка :)
@IExSet
@IExSet Жыл бұрын
@@MustangDSG Hhz - это тоже не GHz, так что всё равно претензия Евгения мимо кассы :-)
@jenix102
@jenix102 Жыл бұрын
Самое смешное, что в z80, фактически, тоже два ядра.
@kr4snod4r
@kr4snod4r 2 жыл бұрын
я обычно пишу код а потом иду по факторингу.кода время экономится ребята я вижу что з80 лупите по уму
@captainpronin953
@captainpronin953 Жыл бұрын
Что делаете ?
@captainpronin953
@captainpronin953 Жыл бұрын
Ой, как то так плохо все говорят, я если бы не знал ассемблера на z80 не понял бы нифига.
@BitsCode
@BitsCode Жыл бұрын
Понимать не обязательно, можно просто смотреть! :)
@IExSet
@IExSet Жыл бұрын
Отлично всё говорят, слишком подробно даже
@user-zd7sm1ug3y
@user-zd7sm1ug3y Жыл бұрын
Страшно Вас слушать, господа программисты, мой любимый asm-xl-desidn там ошибок нет и все четко
@BitsCode
@BitsCode 7 ай бұрын
Не использовали ASM-XL - поэтому сложно что-то сказать, но если удобно пользоваться именно им - то выбор за каждым. ALASM - пока что за исключением пары моментов, когда команда была написана с синтаксической ошибкой у меня, то ассемблер сработал, а по факту появились другие машинные коды, заметил только отладчиком. В остальном АЛАЗМ работает и претензий нет. :)
@lommmaster
@lommmaster 3 жыл бұрын
Полвидео вписывал комментарии... Нахрена? Ты думаешь, смотрят те, кто не понимает?
@8BitTeaParty
@8BitTeaParty 3 жыл бұрын
Мы стараемся быть понятными широкой аудитории и для тех кто впервые, возможно, нашел видео/канал. Для тех кто более опытен, всегда можно перемотать видео или ускорить. Также порекомендуем отличный канал Дмитрия, "Alone Coder" - там уровень для "тех кто понимает". :) kzbin.info/www/bejne/qX_LfpuVibxqeLs
@yar0607
@yar0607 3 жыл бұрын
Мне 17, я этих компов уже не застал. О программировании начал узнавать с Паскаля и Джавы. Так что очень даже спасибо им за такие подробности.
@486OverDrive
@486OverDrive 2 жыл бұрын
Я давно писал под Z80, уже всё забыл, комментарии очнь помогли. Как по мне - в ролике всё по теме, ничего лишнего.
@IExSet
@IExSet Жыл бұрын
@@yar0607 В принципе и сейчас можно ударить по X64 ассемблеру, хотя лучше и теплее начать с ретро 🙂
@alexs8579
@alexs8579 3 ай бұрын
@@8BitTeaParty и правильно. комменты вещь нужная
@jemmini2
@jemmini2 5 ай бұрын
зачем это в 2023 году ?..
@8BitTeaParty
@8BitTeaParty 5 ай бұрын
Затем же, зачем будет и в 2024-м: для веселья, для отдыха, для любопытства... Фундаментальные основы информатики не поменялись с тех пор.
@jemmini2
@jemmini2 5 ай бұрын
@@8BitTeaParty так полезнее было бы учить для арм или х86. зачем тратить время на некрофилию?
@Norrisoid
@Norrisoid 5 ай бұрын
@@jemmini2 а для чего люди играют, коллекционируют монеты, клеят масштабные модели, пишут комментарии под видео, которые им не интересны? Зачем тратить время?
@BitsCode
@BitsCode 4 ай бұрын
Ну, кроме того что мы сами отдыхали и получали удовольствие от ностальгии... ;) В целом, для изучения низкоуровневого программирования и понимания логики минимального набора команд, с помощью которого строится любая вычислимая(рекурсивная) функция можно использовать и подобный ассемблер. Практика и общее понимание поможет в написании и обычного кода на любом языке программирования. Единственное, что Спектрум не очень может быть удобен в плане архитектуры и редактирования кода. Для тех кто впервые знакомится, можем порекомендовать ДОС и процессор 8086 - там более удобный редактор ДосНавигатор и система команд немного полегче, чем для Z80. :)
@jemmini2
@jemmini2 4 ай бұрын
@@BitsCode одинаковая система команд. но для 86 это можно будет применять практически, здесь и сейчас, как есть. а для z80 знания останутся лишь как чисто теоретические...
@jenix102
@jenix102 Жыл бұрын
Что тут можно сказать - дисковые версии это оооочень узкая прослойка людей, те про неё говорить, что это массовый комп ? Это враньё, тем более пентагон 128. Это идёт речь об 10 тысячах людей, от силы. Настрящий же спектрум, который легендарный и массовый (от 1 до 1,5 млн штук в россии только) это и близко не про это видео. Вобщем видео про неизвестно что, запудривание мозгов молодым дуракам. Чистое араньё короче.
@IExSet
@IExSet Жыл бұрын
Ты чего такой злой, спектрумист 🙂Требования в этом видео, спектрум 128, не обязательно Пентагон. TR-DOS был сравнительно массовым на просторах СССР, энтузиастов осталось мало, какие уж там миллионы, нет никакого смысла рассматривать что то иное. Вообще рекомендую приобрести ZX Evolution с NEO GS и сетевухой и радоваться жизни !!!
Фирменная защита игр на ZX Spectrum: ад из 80 - х
19:50
Как это было
Рет қаралды 96 М.
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 13 МЛН
Каха с волосами
01:00
К-Media
Рет қаралды 6 МЛН
26. Входные параметры и класс памяти input
15:36
Александр Середин
Рет қаралды 20
Ассемблер для Радио-86РК
24:11
ZX_Creature
Рет қаралды 6 М.
Любимая программа на ZX Spectrum
11:48
retro_Daenury
Рет қаралды 3,8 М.
ZX Spectrum на виниле, радио и CD
17:00
Уютный подвальчик
Рет қаралды 283 М.
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
ВОСТОРГ! КОМПЬЮТЕР на КАССЕТАХ
11:22
пранк: псих сбежал из дурдома
0:53
Анна Зинкина
Рет қаралды 1,7 МЛН
Как выжить?
0:33
Илюха Хэлп
Рет қаралды 3,4 МЛН
ПЛЮСЫ и МИНУСЫ 1 и 2 смены в школе 🔥
0:39
Никита Удановский
Рет қаралды 3,5 МЛН