Микрокомпьютер GMC-4

    По наводке Сергея Вакуленко, я купил GMC-4. Все-таки в подобных устройствах есть какой-то неповторимый шарм. Заказал в забавном японском магазине гаджетов Japan Trend Shop.



    GMC-4 — это четырех битный микро-компьютер. Характеристики компьютера:
    • размер слова 4 бита
    • восемь регистров, один регистр-флаг
    • 15 однословных и 16 двухсловных машинных инструкций
    • память программ 80 слов
    • память данных 16 слов
    • ПЗУ c набором из 7 игр: орган, угадай мелодию, дави моль, теннис, таймер, музыкальный плеер, генератор морзе
    • семь светодиодов — порт вывода шины адреса
    • семисегментный индикатор — порт вывода шины данных
    • 20-кнопочная клавиатура — порт ввода
    • динамик для вывода звука
    • кнопка сброса
    • питание от 3-х батареек AA


    Вся архитектура описывается одним небольшим документом — Programming the Gakken GMC-4 Microcomputer.

    Сегодня приехала моя посылка. GMC-4 является приложением к одному из выпусков журнала «Otona no Kagaku» издательства Gakken, 24-й номер за 2009 год. Коробка с конструктором приклеена к журналу. Все на японском.



    Забавно, на обратной стороне коробки изображены машинные инструкции GMC-4. Все умещается в одну таблицу.



    Плата, пищалка, подставка, фрагменты клавиатуры и винты.



    Инструкция на японском — это жестко.



    Ставим батарейки и закрепляем пищалку.



    Плата.





    Наклеиваем клавиатуру.





    Включаем… It's alive! Alive!!!



    Итак: клавиатура, семисегментник, под ним процессор, затем пипка «hard reset». Сверху семь светодиодов, управляемых индивидуально. Они, например, используются для отображения текущего адреса. Мне это все напомнило ЮТ-88. В его первой модификации был только семисегментный индикатор и похожая клавиатура.



    Попробуем чего-нибудь написать. Например, простая программа, которая ждет нажатия на клавиатуре и затем отображает код нажатой кнопки на семисегментном индикаторе.

    00: 0     KA 0       ; Считываем код кнопки (0-F) в A. Если нажата, то Flag=0, иначе Flag=1.
    01: F00   JUMP 00    ; Если Flag=1 (не нажата), то переходим на 00.   
    04: 1     AO         ; Выводим A на семисегментник и устанавливаем Flag=1
    05: F00   JUMP 00    ; Если Flag=1 (тут всегда 1), то переходим на 00.
    

    Для ввода жмем:

    RESET 0 INCR F INCR 0 INCR 0 INCR 1 INCR F INCR 0 INCR 0 INCR RESET
    

    Для запуска: RESET 1 RUN



    Интересно, эта железка позволяет пошагово трассировать программу. Если запустить программу через RESET 6 RUN, то она будет останавливаться после каждой инструкции, и текущий адрес будет на верхних светодиодах в двоичном коде. Для выполнения следующей инструкции надо нажать INCR и т.д. Можно прервать программу, нажав RESET, и, например, посмотреть содержимое регистров. Они являются ячейками памяти. Какая никакая отладка.

    Теперь программа по сложнее: бегущий огонек по верхним семи светодиодам с отображением текущего номера на семисегментнике.

    00: 80    TIA 0     ; A=0
    02: 1     AO        ; Выводим A на семисегментник.
    03: 3     CY        ; Сохраняем A в Y.
    04: E1    CAL SETR  ; Зажигаем светодиод, номер которого в Y.
    06: 84    TIA 4     ; A=4
    08: EC    CAL TMR   ; Задержка (A+1)*0.1 секунд (0.5 сек).
    0A: E2    CAL RSTR  ; Гасим светодиод, номер которого в Y.
    0C: 3     CY        ; Восстанавливаем A из Y.
    0D: 91    AIA 1     ; A = A + 1
    0F: C7    CIA 7     ; Если A=7, то Flag=0. Иначе Flag=1.
    11: F02   JUMP 02   ; Переход на 02, если Flag=1. Также устанавливаем Flag=1.
    13: F00   JUMP 00   ; Безусловный переход на 00 (Flag=1 после предыдущей команды).
    

    Коды: 8 0 1 3 E 1 8 4 E C E 2 3 9 1 C 7 F 0 2 F 0 0



    Что есть из средств разработки


    Увы, почти все ресурсы на японском, но Google Translate творит чудеса.

    Симулятор



    Автоматический загрузчик



    Языки программирования




    Вместо заключения


    Классная игрушка. Я начал программировать на Радио-86РК в машинных кодах, набивая их в Мониторе. Тут почти такие же ощущения. Выпуск журнала, приложением которого является GMC-4, судя по картинкам (я по-японски не читаю, увы), содержит иллюстрированную историю микропроцессоров, начиная с Intel 4004. Далее идут десятки различных примеров программ и проектов, в которых используется GMC-4. Красота!
    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 27
    • 0
      Черт, придется купить
      • +5
        $66 + доставка 20$… не дороговато для такой игрушки?
        • 0
          Для игрушки, имхо — нет ))
          Ибо $86: деньги
          GMC-4: удовольствие и эмоции
          • +5
            Просто куда интересней и дешевле собрать такую поделку самому.
            • +2
              кому интереснее собирать, кому пользоваться собранным. каждому своё =)
              • +1
                В двойне интереснее собрать и пользоваться самому.
                • 0
                  Тут надо выбрать правильный уровень сложности, чтобы был кайф. Сделать такое, например, на PIC16 или 18 не комильфо. Делать полностью на логике-рассыпухе — по-моему, жестковато в реализации. Наверное, если сделать на ПЛМ, то было бы в меру сложно и интересно.
                  • 0
                    Ну на пиках свет клином не сошёлся. Кстати, мне кажется вполне легко можно реализовать на базе любого контроллера такой интрепретатор комманд. На ПЛМ конечно будет кошернее.
      • 0
        просто «Назад в будущее 4» какоето… то роботы-подводные лодки, отечественные клеточные процессоры и одноплатные компьютеры за гроши, а теперь еще и это))
        • –1
          Вот недавно тема же была про китайский планшет за 100 баксов… Где логика?
          Если это, конечно, как в денди сесть поиграть, то все в порядке, все ради ностальгии, иначе странная игрушка :)
          • +4
            >> Включаем… It's alive! Alive!!!
            скорее それは生きている!生きている! :)
            • +1
              ТруЪ,

              на транзисторах бы собрать
              • +1
                Напомнило мой старый MK-52.
                • 0
                  А может существуют какие-нибудь более дешевые аналоги из китая? Очень заинтересовался, но $86 долларов за это заплатить не готов.
                  • +2
                    дави моль — whack-a-mole? :)
                    • +4
                      До старой доброй Электроники 580 далеко:
                      image
                      • +1
                        А по виду она не очень добрая (мягкая и пушистая).
                        • +2
                          Так это антивандальное исполнение student edition :)
                        • +2
                          Фото в хорошем разрешении:

                          Электроника 580
                          • 0
                            А таблица слева — это просто справочник команд?
                            • +1
                              Да, можно на лету переводить команды в шестнадцатеричный код и обратно.
                          • –1
                            Каваи
                            • 0
                              А что, например, можно реализовать на таком компьютере? Вы говорите есть проекты примеры. Я понимаю что поиграться интересно, но практическое применение какое-то имеется?
                              • 0
                                Ну там есть всякие простецкие игры, интерфейс которых можно сделать через имеющиеся устройства. И всякие несложные роботы, машинки, тракторы и т.д., управляемые этой штукой.
                                • +1
                                  На электронике 580 точно помню генерили синусоиду и другие простенькие сигналы, подключив к ЦАП конечно же.
                                • +1
                                  Надо раскопать свою MK-61…

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