Как стать автором
Обновить

Комментарии 29

Наркомания, но забавная.

Как на 35 лет назад вернулся.

Статья неплохая, но кое что в ней немножко режет глаз.
Сохраняем программу как текстовый файл noise.asm. Запускаем компилятор:

В русскоязычных источниках, транслятор ассемблера обычно просто называют ассемблером. Но в данном случае, это кросс-ассемблер.
wine sjasmplus.exe noise.asm --lst=noise.lst --sym=noise.sym

Имеет смысл уточнить что запуск кросс-ассемблера sjasmplus, работающего под windows осуществляется из под linux, используя Wine.
skoolkid.github.io/rom/index.html — список интересных адресов в прошивке, с комментариями.

В отношение Спектрума обычно используется не выражение адреса в «прошивке», а говорят про функции/подпрограммы в ROM или BASIC.
Включаем эмулятор спектрума, вставляем кассету с нашей программой

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

Не сочтите все сказанное мной за ворчание, это было просто уточнение и мысли в слух.

Советую обратить внимание на 8bitworkshop где вы можете работать не только с ZX Spectrum, но и другой любимой old-school восьмибитной системой, и даже сможете поработать с Verilog-ом. Причем для работы вам будет достаточно браузера.

Пишите еще;)

8bitworkshop тема для быстрого старта. Если привыкнуть к средствам отладки то вообще шикарный инструмент. Можно выгружать скомпилированные бинари и дебажить в любимых Mame, Mesen, Unreal (который UnrealSpeccy). Кстати заодно похвастаюсь, там в разделе Projects есть одна мини-игра которую кодировал не так давно, доступная для редактирования и компиляции в данной веб-среде.

Видел также поддержку для кодирования спектрумов в Visual Studio, тоже впечатлило.

зачем вайн-то? sjasm есть под линукс

Бинарь жаловался на отсутствующие библиотеки. А собирать из исходников было лень. (и это относится ко всему линуксу в целом. почему он не может сам, глядя на бинарь, скачать все, что ему нужно?)

Нет, я все понимаю, просто когда асм нужен срочно, то и wine сойдет. Работает одинаково и там и там.

Автор уже ответил зачем. Я же просто отметил, что в статье нужно было указать что используется windows версия sjasm, которую запускают под wine.

За давностью лет уже деталей не помню, но меня одно время увлекало работать с изображением на экране командами сдвигов битов. Какие-то интересные узоры генерировались.

Нашел старый блокнотик, где я записал какой-то код для ZX. Посчитал - ужаснулся. Порядка 25 лет назад.

НЛО прилетело и опубликовало эту надпись здесь
Вверху страницы написано Celeron и Riva TNT. Это я подбирал конфигурацию ПК. А спектрум мне отдал друг и я нашел его интересной игрушкой как раз на теме ассемблера. Все очень просто и понятно.

Это он в европах был стариной, а на пост-советском пространстве еще очень даже активно использовался на демосцене (такие фестивали в Спб, как Enlight 95-97, далее Chaos Constructions вполне себе "гремели" и собирали немало работ на Спекки). В других городах, думаю тоже. Игры тоже писались, хотя и мало, наверное. Закат уже начинался.

о, это же 205,86,5, load с кассеты в "биосе". я даже помню адресацию для загрузки экранной заставки - 221,33,0,64 и 17,0,27

Были такие и у меня. Скорее всего ушли в растопку. А жаль, не успел сделать цифровые копии. Часть кода восстановил с кассет.

Автозагрузочный бейсик можно сделать проще, без дополнительных программ:

10 SAVE ""
20 LOAD "" CODE
30 RANDOMIZE USR 32768

и запустить. Первой командой оно запишет собственно наш бейсик и заодно сохранит позицию выполнения программы. При загрузке, автоматом будет выполнена следующая команда после SAVE.

Буквально сегодня выпустил статью и там использовал транслятор zasm. Рекомендую его под Линукс.
Эх, ностальгия. «Увлекательно» было работать, имея в распоряжении только магнитофон. Зато сколько восторга было, когда первая бегущая строка заработала :)

Время от времени меня посещают мысли о покупке спектрума в железе, но боюсь, что прежних ощущений уже не испытать.

Тогда было две главные мечты. Первая - купить цветной монитор, что-бы не бороться за время у телевизора со всей семьей (поэтому за компом ночами сидел, когда никто по телеку ничего не смотрит), вторая - прикрутить к своему Спектруму дисковод.

Современным пользователям не понять этого счастья, когда ты пишешь команду SAVE "MY_PROGRAM" и через пяток секунд она записана на диске. И никакой возни с магнитофоном, хотя и это все тогда было крутой штукой!

По поводу цветного дисплея — это да. У меня был сначала миниатюрный ч/б телевизор-конструктор (типа такого), об который я, возможно, и поломал зрение; потом монитор наподобие этого. Телек я ни с кем не делил, но подключить свою «Дельту-С» к цвету хотелось очень. К сожалению, не так и не вышло.

Дисковод у меня таки появился, правда уже к окончанию школы и на короткий срок. Помню, тогда мода была писать кастомные загрузчики, скрывая содержимое диска. Этакая защита от копирования. Один такой удалось «восстановить», и, по-моему, это была самая «серьёзная» задача, для какой пригодился дисковод :)
Если сдвигать что-то раз в четыре кадра, оно будет выглядеть очень хреного по сравнению с эффектом сдвига на один пиксель, но каждый кадр. Эх, где мои 15-лет…

Причём в строке с номером 0 :)

Между прочим.

Я вот сейчас думаю, насколько легко понимание ассемблера и его jmp/jnz укладывались на знания бейсика, где каждая команда в отдельной строке.

И какой был первичный ступор, когда взялся за С++, а там номеров строк нет, одни скобки и какой-то main

Так это один из первых ЯП, тогда простота и скорость копиляции/интерпретации были очень важны - машины были слабые, да и программы на бейсике обычно писали не слишком сложные и большие.

Помню, еще на Спектруме писал что-то что разрослось на несколько экранов, и тут уже становилось понятно в чем главный минус классического Бейсика. Даже использование процедур и стремление придерживаться структуры (у меня была книжка, в которой необходимость этого убедительно объяснялась в т.ч. и на примере классического Бейсика) не сликом спасало - в программе становилось непросто разобраться даже ее автору.

sinclair basic умеет несколько команд в одной строке через ":"

Мы в свое время писали на z80 т.к. особо выбора не было и комьюнити было. А вам сейчас зачем? Это же онанизм на некрофильное порно, на самом то деле.

А зачем в наше время люди катаются на лошадях, или ходят под парусом, есть ведь современные машины и катера с моторами?

НЛО прилетело и опубликовало эту надпись здесь

Лучше сначала AVR попробовать. Он более снисходителен к новичкам. Остальные ассемблеры сами выучатся.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории