• Звук на чипе AY-3-8910 (или Yamaha YM2149F) родом с ZX Spectrum на PC через USB

      Прошло около года, с момента успешного подключения музыкального синтезатора YM2149F к LPT порту компьютера. LPT это конечно хорошо, однако время не стоит на месте, и найти компьютер или ноутбук с LPT портом становится все сложнее и сложнее. Да и сам автор (то есть я) устал лазить каждый раз под стол, где стоит системник, и перетыкать LPT плату на что-то другое, например программатор (у меня LPT-программатор Willem, ну да не суть). Поэтому на сей раз подключать чип YM2149F будем к USB. Ну и конечно, чтобы соотвествовать эпохе, будем это делать на копеечном древнем микроконтроллере PIC16F628.

      image

      Вкратце, YM2149F (или ее функциональный аналог AY-3-8910) — микросхема звукового трехголосного синтезатора, применялась в старых компьютерах типа Atari ST, Amstrad CPC, ZX Spectrum, MSX и некоторых других для проигрывания музыки. В России чип приобрел определенную известность благодаря установки в различные клоны ZX Spectrum'а. За время шествования ZX Spectrum по бывшему СССР музыкантами были написаны тысячи мелодий под этот звуковой программируемый генератор. Да и сейчас можно вполне найти людей, создающих музыку именно под этот чип. В конце статьи будут приведены ссылки на огромнейший архив чип-тюнов для YM/AY на сотни часов непрерывного прослушивания.
      Читать дальше →
    • Звук на чипе AY-3-8910 (или Yamaha YM2149F) родом с ZX Spectrum на PC через LPT-порт

        У меня не было в детстве спектрума, поэтому о его музыкальных возможностях с дополнительным музыкальным «сопроцессором», как иногда называют микросхему трехканального генератора Yamaha AY-3-8910, мне было мало что известно.
        Читать дальше →
      • Программируем микроволновку или контроллер 40-летней давности

          Привет, недавно мне совершенно случайно попалась в руки такая железка:
          image

          Ну железка и железка, подумал я… На плате присутствует микроконтроллер РВЕ035, расширитель IO m5l8243p, ИР12 между РФ5 и контроллером и там еще где-то ЛН1 в стороне болтается. Мне сразу понравилась хорошая раритетная ПЗУ на 2Кб РФ5 в панельке в золоте. Думаю, сниму ее, а остальное смело в утиль, бо вся плата залита лаком по самое небалуйся..А потом все-таки стало интересно, а что это такое вообще?
          Читать дальше →
        • Компьютер ПЭВМ «Поиск». Электронмаш

            image Сегодня я бы хотел немного рассказать о незаслуженно обделенном на Хабре вниманием советском ПЭВМ Поиск. Отличает данный компьютер от многочисленных Байтов, Ириш, Корветов, БК0010, Радио-Р86 и прочих то, что он был полу-совместим с IBM XT/PC. Машина базировалась на отечественном аналоге процессора Intel i8088 — КМ1810ВМ88, работающем на чуть завышенной частоте — ~ 5 MHz, против 4,7 MHz у оригинальной XT. Однако, в целом, компьютер работал медленнее, чем XT, потому что в Поиске не была реализована полноценная CGA видеокарта. Фактически, текстовые режимы эмулировались – видеоадаптер всегда работал в графическом режиме, а буквы на экране прорисовывал системный BIOS попиксельно. Естественно это отнимало кучу процессорного времени. Еще одним отличием от настоящей XT было отсутствие DMA, что так же сказывалось на быстродействии работы с памятью не в лучшую сторону. Да и самой памяти было далеко не 640Kb, которых бы конечно хватило всем, а поменьше, и ее хватало не всем. Однако, несмотря на все недостатки, ПЭВМ Поиск мог запускать актуальную в то время MS-DOS и работать практически со всеми популярными в то время приложениями и играми, начиная от Norton Commander и Digger, заканчивая Windows и Office. И цена, конечно… Если настоящую XT-шку могли позволить себе в основном только организации, то ПК Поиск был более-менее доступен для рядового советского инженера (месячная зарплата). Но обо всем по порядку…
            Много фотографий на калькулятор и скриншотов
          • Ноутбук Compal TS30EG (AMD 80x586, 8 Mb RAM)

              Интересный экземпляр, ноутбук фирмы Compal, построенный на базе процессора AMD 80x585 P75. Суть в том, что это физически сокет 80486 процессора, однако сам процессор в целочисленных операциях приравненный к скорости первопня 75Mhz. Достался мне в такой комплектации: сам аппарат, сменный модуль FDD (дисковод) и блок питания. Внимание, много больших фотографий!
              Читать дальше →
              • +24
              • 13,8k
              • 8
            • Записи и наброски в старых тетрадях (привет из 90-х)


                Привет! Совсем недавно разбирался на даче и нашел пару тетрадей, блокнотиков и листочков с приветом из славных 90-х. Перенесемся на время в 96 год. Итак, я школьник, учусь в 8-ом классе. Дома гордо красуется ПЭВМ «Поиск». После работы он аккуратно накрывается тряпочкой. Там MS-DOS 5.0 на дискетке вместе с debug.exe. Позднее появляются Norton Utilites с красивым интерфейсом, Norton Commander. Ну, игрушки конечно тоже есть.

                Читать дальше →
              • Пишем эмулятор приставки ч2, или немного о CHIP16

                  В предыдущей своей небольшой заметке я описывал принцип построения эмулятора старой игровой платформы CHIP-8 из далеких 70-х. Здесь же речь пойдет о своего рода наследнице – CHIP16. Итак, что же такое CHIP16?

                  CHIP16 – “вымышленная” игровая приставка, которой никогда не существовало в “железе”. Всю спецификацию на нее разрабатывали (-ют) энтузиасты с одного англоязычного форума. Смысл в том, чтобы максимально упростить написание эмулятора, иметь хорошую документацию и поддержку комьюнити. Тем самым позволяя даже новичкам в программировании создать полностью рабочий эмулятор с нуля на фактически любом языке программирования. Сразу оговорюсь, что здесь я не буду приводить примеры кода эмулятора, цель – просто рассказать об этой платформе. И да, конечно все Just for fun!

                  Читать дальше →
                • Полнометражный документальный фильм о демосцене: The Art Of The Algorithms

                    Не так давно увидел свет еще один документальный фильм о демосцене под названием «The Art Of The Algorithms».



                    Над созданием фильма трудилась команда проекта Moleman около двух лет. Это уже второй полнометражный фильм, созданный в рамках этого проекта. Первый фильм рассказывал о различных молодежных суб-культурах, лишь отчасти затрагивая тему демосцены. Второй фильм полностью посвящен рассказу о феномене демосцены. Присутствуют английские субтитры. Настоятельно рекомендуется смотреть вместе с ними, так как в диалогах встречаются английский, польский, финский, а так же венгерский языки.

                    Главная страница фильма: Moleman 2. На ней можно скачать фильм в различных форматах с помощью торрента/HTTP/FTP.
                  • Демо, которых никто никогда не видел

                    Скажу сразу, что я не являюсь демомейкером, сценером или даже программистом, поэтому мое мнение — это всего лишь мое мнение. Я, так сказать, «любитель» что-ли.

                    Расскажу как «это» было у меня. Начинал я с советского полу-IBM совместимого компьютера «Поиск». Конфа: аналог i8088 процессора, CGA монитор. Начал «программировать» с batch-файлов (.BAT) ибо была книжка по MS-DOS и дискетка с этим самым MS-DOS. Никаких бейсиков, ассемблеров, паскалей или, тем более, си в помине не было, и переписать их откуда-то то же не было возможности. Потому как у всех остальных школьников тогда был минимум — китайский тетрис а как максимум — Dendy, в качестве высшего достижения компьютерной индустрии.
                    Читать дальше →
                  • Немного о JIT-компиляции или пишем оптимизированный интерпретатор Brainfuck

                      Суть языка Brainfuck в том, что мы всегда бегаем по ячейкам ленты, уменьшая или увеличивая значения в них. В циклах мы можем пробегать из одного конца в другой, что-то подсчитывая, зачастую используя много вложенных циклов. Не трудно догадаться, что интерпретация этого языка относительно медленна. Конечно, на современных компьютерах этого практически не заметно, но… Предлагаю небольшой тест: берите написанный вами интерпретатор, и запускайте вот этот не хитрый код:

                      >+>+>+>+>++<[>[<+++>-
                       >>>>>
                       >+>+>+>+>++<[>[<+++>-
                         >>>>>
                         >+>+>+>+>++<[>[<+++>-
                           >>>>>
                           >+>+>+>+>++<[>[<+++>-
                             >>>>>
                             +++[->+++++<]>[-]<
                             <<<<<
                           ]<<]>[-]
                           <<<<<
                         ]<<]>[-]
                         <<<<<
                       ]<<]>[-]
                       <<<<<
                      ]<<]>.


                      Дождались конца выполнения? Согласитесь, что это было не так быстро, как могло показаться сразу. Что ж, давайте посмотрим, как сделать интерпретатор, который будет выполнять данный код не больше чем за несколько секунд.
                      Опять brainfuck, ассемблер и паскаль