Open galaxysite opened 4 months ago
Теоретически, конечно, можно сделать, если это возможно на Паскале. Но это будет не очень просто. Я смотрю, в Паскале используются процедуры на асме, значит на Обероне придется писать соответствующие процедуры в маш. кодах. Для системных вызовов Linux есть процедура syscall в модуле LINAPI. Как использовать .so - библиотеки, можно посмотреть в том же "animation".
Ну да, я так и понял, что это не просто. В Си есть для этого outb, в Паскале написано на асме, в старых досовских Паскалях был некий массив ports. Трудно понять как это состыковывается с Обероном. Тогда попробую написать на первый случай вариант, работающий через системные вызовы и патч ядра. Спасибо за ответ !
Попробовал написать свой проигрыватель для стандартного динамика на Обероне. Декларации для типа Word нашёл, запись сделал, но дальше возникли одни вопросы как сделать ряд вещей. На самом деле плеер невелик по размеру кода, но по системной сложности выше обычного. Ему нужны ioperm, доступ к портам, системные вызовы, обработка сигналов. На доступе к портам уже не нашёл решения. Но может быть к этому не готов сам Оберон в текущей версии ? Или я чего-то не понял ?
https://github.com/galaxysite/gorg64_spkplay Здесь есть версии на Паскале, ассемблере и Си. Также есть весь органайзер с этим плеером: http://soft.self-made-free.ru/GORG64_166.tar.xz
Если же он реализуем на Обероне может быть включить его в качестве примера использования наряду с hello и animations. Явно этого не хватает. Сигналы, порты и системные вызовы нужны всегда.