Hello World для платформы DM42 (SDK)

А вот опубликовали Hello World reference приложение для DM42 SDK.

#include _main.h_
#include _dmcp.h_

void program_main() {
  lcd_clear_buf();
  lcd_writeClr(t24);
  lcd_putsR(t24, "TEST PROGRAM");
  lcd_putsAt(t24, 4, "Hello World!");
  lcd_refresh();

  wait_for_key_press();
}

Строим приложение:

./DMCP_SDK$ make
...
bin/add_pgm_chsum build/TESTPGM_flash.bin build/TESTPGM.pgm
SHA1: d49985543a5e0c9fa496228a0fd9c6e6c1478804
arm-none-eabi-size build/TESTPGM.elf
   text    data     bss     dec     hex filename
    816    1080      28    1924     784 build/TESTPGM.elf

Заливаем загружаем через системное меню бинарный файл TESTPGM.pgm в DM42:
zaliv

и запускаем программу:
Hello World FW

Можно начинать портировать Каллисто.

Я на DM42 форуме ответил про то, как установить тулчейн и собирать DM42 Hello World под Windows. Может, кому пригодится. Правда, там бинарные тулзы DM42 надо перекомпилировать под Windows тоже

Отличная новость, SDK есть, осталось найти время и мотивацию уровня 2009 года с бурными дискуссиями вокруг МК-161.

Скорее всего, той мотивации уже не достичь. Даже слово "Каллисто" в новости выше не помогло :)

Хотя DM42 форум вполне живой нынче.
И вот, в дополнение к hello world приложению Майкл обещал выложить в гитхаб

"A simple RPN calculator demo application will follow."

Если речь про меня, то DM42 не слишком мотивирует. То, что иностранцы способны выпускать достойную электронику — очевидно. Помогать им делать ПО тоже есть кому. 99,99% русских программеров день и ночь программируют зарубежные устройства.

Сейчас мне интересней развить Каллисто-2 для МК-161, на основе черновиков и Каллисто Классик. Здесь мало кто другой справится. Но если кто захочет расходовать собственные силы для переноса Каллисто на DM42 или iOS, поддержать и помогать справляться с возникающими трудностями могу.

ИМХО, здесь проще всего написать на Си загрузчик двоичного образа. А сам образ делать на SP Forth по технологии Каллисто-2. При этом есть два пути. Либо примитивы переводятся на ассемблер DM42, при этом на SP Forth пишется или заимствуется форт-ассемблер. Либо загрузчик содержит виртуальную машину МК-161. Как она делается, см. исходники ВК-6.

Виртуальная машина интересней. Каллисто под DOS я ещё не начинал писать. Но склоняюсь к идее сделать уровень языка МК доступным не только на МК-161.