Это уже из позднего, пост-спектрумовского и пред-писишного периода :) А так да, тетрадка в клеточку и карандашик рулили со страшной силой. Собственно так же и кодить на спектруме начинал — на бумаге писал, потом шёл туда где есть спектрум и набирал (пока свой не купил).
Это из Savage 3, хотя ИМХО в Savage 1 была самая крутая мелодия в серии, и одна из самых крутых из написанных для бипера на спектруме. Послушать: vpleer.ru/?q=ZX+Spectrum+savage+part+1
Да и игрушка сама по меркам спектрума чумовая в плане графики и спецэффектов. На одном уровне с R-Type.
Через него в теории должен быстро разряжаться C1 когда пропадает питание (у этого контроллера нет цепи brown-out reset для принудительного сброса при недостаточном напряжении питания).
Так верни его — теперь это не проблема! Можно купить или собрать самому. Вся периферия (блок питания, клавиатура, монитор) от PC. Или оригинальную машину на E-Bay, но надо будет повозиться с подключением.
Я родственникам свой старый отдал… Вот про него и говорю. Современный конструктор (или же покупка нового девайса) лишен такого глубокого ностальгического налета :-)
Круто и спасибо за схему!
Коллега cbx, а расскажите, пожалуйста, в нескольких словах: каким образом и в чём создаётся прошивка и каким образом она загружается в микроконтроллер? Я в курсе, что можно доки почитать, просто любопытно, как это практически выглядит. Спасибо.
Очень хорошо о микроконтроллерах написано у DI HALT'а, например в курсе по AVR. Если же кратко и своими словами, то:
Изучается документация (без этого никак), выбирается микроконтроллер исходя из задачи/опыта/финансов
Собирается/покупается подключаемый к компьютеру программатор который умеет прошивать данный чип. Он может быть как с разъёмом в который помещается микросхема контроллера для программирования, так и внутрисхемный (умеет шить чип расположенный прямо в устройстве без необходимости его вытаскивать)
Выбирается язык программирования (как правило это ассемблер или Си), на котором собственно и пишется прошивка. В принципе знания Си и микроконтроллерной специфики достаточно, но на мой взгляд лучше этап изучения набора команд и ассемблера не пропускать — в ряде случаев без этого никак. Для многих контроллеров доступно огромное количество готовых библиотек упрощающих решение типовых задач.
Писать код можно как в обычном текстовом редакторе, так и в специализированной среде разработки если таковая имеется
Исходный текст компилируется в машинный код с помощью компилятора поставляемого производителем контроллера
При помощи программатора и его ПО полученный код зашивается в микроконтроллер, как правило при этом так же выполняется конфигурирование некоторых возможностей кристалла (например типа осциллятора, цепей сброса питания и т.п.)
При необходимости всё это отлаживается либо в эмуляторе, либо прямо на кристалле при помощи отладочных возможностей и специального ПО
Вообще ЛУТ в 2000/2001 году я уже немного использовал, однако рисовать дома на спектруме разводку было проблематично, а на работе времени особо не было.
Да и родилась эта картонка во время отладки кода, поэтому основное желание было услышать звук а не сделать красиво :)
Какой-то особой логики в выборе не было. Когда начинал изучать микроконтроллеры, ковырял параллельно PIC'и и ВЕ1. Кажется её проще и дешевле достать было. Ещё в PIC'ах после Z80 бесила обрезанная до минимума система команд.
Да ладно вам, это все таки RISC. Вообще MCS51 вполне себе нормальная система команд, бывало и хуже. По мне так их вообще сравнивать нельзя. гг, 35 инструкций хватит всем %)
Другое дело что некоторые моменты могут раздражать :)
Интересно было бы познакомиться с Дэвидом, спросить, как он до такой жизни докатился :) Ну то есть, как он такое придумал. Еще интереснее пообщаться с авторами музыки для хроноса и прочих нестандартных вещей.
Эх… Романтика 90-х! Тогда мы знали назначения каждого байта в программе, и каждого соединения на плате.
А сейчас, практически все делается только так: Берется обычный или специализированный компьютер, ставиться операционка на сотню-другую мегабайт. А потом пишем как-то так: p = new Player("music.mp3");
p.play();
А современные программисты даже паяльник в руках не держали ))
А современные потребители пищи не держали в руках копьё и дубину, так что теперь, горевать по этому поводу? Я сам недавно начал заниматься электроникой, но не думаю, что это нужно всем программистам. Думаю, при современной сложности ПО лучше уделять больше внимания принципам построения его архитектуры (:
Сложность и раздутость — имхо разные вещи. Тот же системный загрузчик может быть много сложнее какой либо офисной проги, которая тем не менее может быть в десятки раз больше.
Действительно что-то особенное есть в той эпохе которую мы к счастью успели захватить. Безусловно, современные технологии на порядки превосходят всё что было раньше. Но тот эффект «чистого листа» когда между человеком и компьютером не было огромнейшей прослойки сложнейшего ПО и архитектурных решений уже не вернуть.
Если углубиться в философию, то полного эффекта «чистого листа» не было и тогда. Да, мы знали каждый байт и каждое соединение. Но знали ли мы назначение каждого логического вентиля или тригера в тех примитивных микросхемах. Вряд ли. А как работают отдельные транзисторы в вентилях? И т.д… Сейчас просто появилось еще больше слоев. Ну и как правило, слои настолько сложные, что один человек в состоянии хорошо понимать только один из этих слоев.
а поясните пожалуйста вкратце идею 1-битного аудиодвижка? как оно устроено? исходник скачал, сейчас гляну, но если он на асме да под незнакомую архитектуру, то не уверен, что быстро его раскурю
Если кратко и в теории, то используется изменение периода и скважности импульсов. На практике же я уже не вспомню как и что там работало. Если всё же интересно, рекомендую заглянуть в оригинал — код Z80 читается гораздо приятнее. Ещё может помочь работа Barmaley_m по дизассемблированию и комментированию движка zx.pk.ru/showthread.php?t=11881 с использованием которой был написан трекер биперной музыки Beepola.
Ещё вспомнил, что в старых сборниках ZX-Ревю была публикация на эту тему. Ищите 9-10 номера журнала за 1993 год (например здесь) и читайте статью В.А. Збитнева «Компьютер и звук».
Помню, что была игрушка какая-то с черепахой, музыку из которой я даже записал себе на кассету и слушал потом. Кассета утеряна, название игры забыто. Наверняка, если услышу вновь, то впечатление будет уже не таким как тогда, но всё равно любопытно. Может помнит кто бродилку с черепахой? )))
Oldschool 1-bit ZX-Spectrum chiptune на отечественном RISC-микроконтроллере