Page 1 of 1

Эмулятор Atari 2600

Posted: Tue Aug 02, 2022 8:24 pm
by Александр Пивоваров
Atari 2600 должна также быть в этой ОС, если есть NES)

Re: Эмулятор Atari 2600

Posted: Tue Aug 02, 2022 9:57 pm
by bad_Dr3dd0x
Ты создал эту ветку с каким посылом?

Re: Эмулятор Atari 2600

Posted: Tue Aug 02, 2022 10:04 pm
by Александр Пивоваров
Не знаю) от балды придумал)

Re: Эмулятор Atari 2600

Posted: Tue Aug 02, 2022 11:11 pm
by rgimad
Разве эмулятора Atari 2600 нет в колибри?

Re: Эмулятор Atari 2600

Posted: Wed Aug 03, 2022 7:57 am
by Александр Пивоваров
Лично, не помню, вроде не было

Re: Эмулятор Atari 2600

Posted: Thu Aug 04, 2022 12:13 am
by rgimad
Нашел https://github.com/bojle/atari2600e . На сишке, только тут SDL2, но там несколько функций лишь из него используется. В этих местах на SDL1 переделать и в принципе можно собирать под КОС.

Re: Эмулятор Atari 2600

Posted: Thu Aug 04, 2022 9:55 am
by Valery
Использование SDL2 функций:
- tia.c : определение окна приложения и обработки событий
(по-моему лучше сразу переписать на Kolibri OS)
- pia.c : используются константы для сканкодов (copy paste из SDL)

На мой взгляд правильнее будет сначала попробовать портировать по прямой на Kolibri OS
даже без использования каких либо библиотек.
Если не получится, тогда есть libc.obj ...

P.S.
Не пользуюсь я этой программой, поэтому главная проблема:
"Как проверить работоспособность порта?"
А так может быть даже и взялся бы ...

Re: Эмулятор Atari 2600

Posted: Thu Aug 04, 2022 11:48 am
by rgimad
Насчет SDL согласен: можно попробовать обойтись без него.

Насчет этого категорически нет. Избегать стандартной библиотеки Си и писать как попало это костыли.
Один уже так писал программу SHELL (там была просто дичь прям в коде свои реализации strcmp и прочих, плюс для работы с файлами не стандатные сишные а напрямую через кривые апи сисфн70), правда не от хорошей жизни, а потому что тогда нормальной libc для колибри еще не было.
Если не получится, тогда есть libc.obj ...

Re: Эмулятор Atari 2600

Posted: Thu Aug 04, 2022 9:46 pm
by Valery
напрямую через кривые апи сисфн70
Вот тут у меня кардинальные идеологические расхождения с командой разроботчиков Kolibri OS:
я считаю libc (сам стандарт в любой реализации) анахронизмом так как выражение "всё есть файл"
сейчас имеет совсем другой смысл, чем тогда, кагда этот стандарт создавался.
В этом плане API Kolibri OS (в.т.ч. системная функция 70) как раз более удобен,
может быть и несколько корявый но более удобный чем libc.

Однако у меня не тот ранг, чтобы спорить с командой разроботчиков Kolibri OS.
Поэтому если я и возьмусь за порт, то
- C - версия будет для себя;
- для Kolibri OS (как сообщества) уже только на ассемблере
.

P.S.
Извините за OffTopic .

Re: Эмулятор Atari 2600

Posted: Fri Aug 05, 2022 8:27 pm
by Vaicheslav97
Libc и подобные библиотеки нужны чтобы облегчать процесс портирования и написания программ.
В случае портирования если их не будет придётся на каждое использование функций из этой библиотеки городить свой велосипед. А та мы будем иметь свой централизованный велосипед который даст возможность портировать программу быстрее и лучше.
Для написания программ можно не использовать эти библиотечные функции, но опять же так бывает проще программисту.

Re: Эмулятор Atari 2600

Posted: Fri Aug 05, 2022 11:53 pm
by Valery
Libc и подобные библиотеки нужны чтобы облегчать процесс портирования и написания программ.
Так с этим я не спорю, только кроме простого динамического подключения libc, есть ещё:
(1) Copy Paste исходного кода libc;
(2) Более рациональное "авторское" решение.

Если надо ~5 тривиальных функций, то (1), если же имеется какаято устойчивая комбинация нетривиальных функций, то обычно (2)
может быть лучше (а может и не быть). При этом в контексте Kolibri OS надо бы держать в уме последующую оптимизацию на ассемблере.