oberon-07-compiler icon indicating copy to clipboard operation
oberon-07-compiler copied to clipboard

gorg64_spkplay и Оберон

Open galaxysite opened this issue 9 months ago • 2 comments

Попробовал написать свой проигрыватель для стандартного динамика на Обероне. Декларации для типа Word нашёл, запись сделал, но дальше возникли одни вопросы как сделать ряд вещей. На самом деле плеер невелик по размеру кода, но по системной сложности выше обычного. Ему нужны ioperm, доступ к портам, системные вызовы, обработка сигналов. На доступе к портам уже не нашёл решения. Но может быть к этому не готов сам Оберон в текущей версии ? Или я чего-то не понял ?

https://github.com/galaxysite/gorg64_spkplay Здесь есть версии на Паскале, ассемблере и Си. Также есть весь органайзер с этим плеером: http://soft.self-made-free.ru/GORG64_166.tar.xz

Если же он реализуем на Обероне может быть включить его в качестве примера использования наряду с hello и animations. Явно этого не хватает. Сигналы, порты и системные вызовы нужны всегда.

galaxysite avatar May 06 '24 05:05 galaxysite

Теоретически, конечно, можно сделать, если это возможно на Паскале. Но это будет не очень просто. Я смотрю, в Паскале используются процедуры на асме, значит на Обероне придется писать соответствующие процедуры в маш. кодах. Для системных вызовов Linux есть процедура syscall в модуле LINAPI. Как использовать .so - библиотеки, можно посмотреть в том же "animation".

AntKrotov avatar May 06 '24 07:05 AntKrotov

Ну да, я так и понял, что это не просто. В Си есть для этого outb, в Паскале написано на асме, в старых досовских Паскалях был некий массив ports. Трудно понять как это состыковывается с Обероном. Тогда попробую написать на первый случай вариант, работающий через системные вызовы и патч ядра. Спасибо за ответ !

galaxysite avatar May 06 '24 09:05 galaxysite