OberonCore https://forum.oberoncore.ru/ |
|
Поделия SovietPony https://forum.oberoncore.ru/viewtopic.php?f=47&t=6329 |
Страница 1 из 1 |
Автор: | SovietPony [ Суббота, 15 Декабрь, 2018 00:38 ] |
Заголовок сообщения: | Поделия SovietPony |
Я думаю все уже давно в курсе о моих поделках, но на всякий случай вброшу и сюда, раз зарегистрировался. Bare Metal BlackBox (bmbb) Как следует из названия - это попытка портировать BlackBox на голое железо. На данный момент просто реализуется консолька на базе StdInterpreter и Minixfs. Работы ещё целый вагон, но оно запускается и даже играет музыку на спикере :) Скриншот / Gitweb BlackBox Chip8 Emulator (bbchip8) Изучал как делать вьюшки и случайно сделал эмулятор Chip-8. Ничего интересного, на самом деле. Скриншот / Тарбол BlackBox ARM Compiler (bbarm) Наверно самое интересное моё поделие. Да, я работаю над новым бэкэндом для компилятора из ББ и он уже кое-как работает. Что примечательно, выхлоп тестируется на смартфоне. Планирую опубликовать где-то около нового года, как раз к тому времени решу большенство проблем. BlackBox diffutils (bbdiff) Здесь я делаю аналоги diff/patch/diff3 для ББ и его бинарных докуметов. Бонус в сравнении с уже готовенькими утилитам - это то что учитывается форматирование и наличие вьюшек. Делается оно для того что бы было проще поддерживать форки ББ, да и вообще что бы было удобно вести коллективную разработку на ББ. Гарантировать 100% надёжность я пока не могу, но оно работает. Скриншот / Gitweb |
Автор: | Борис Рюмшин [ Суббота, 15 Декабрь, 2018 11:18 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
SovietPony писал(а): BlackBox ARM Compiler (bbarm) Наверно самое интересное моё поделие. Да, я работаю над новым бэкэндом для компилятора из ББ и он уже кое-как работает. Что примечательно, выхлоп тестируется на смартфоне. Планирую опубликовать где-то около нового года, как раз к тому времени решу большенство проблем. Да, пожалуй это действительно самое интересное. |
Автор: | SovietPony [ Понедельник, 17 Декабрь, 2018 00:04 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Сделал консольную тулзу на основе DevDiff и даже подключил её к git. Инструкции в README. Проверял только wine... так что не гарантирую отсутствия проблем. А пинус версия BB от Ивана и ко всё так же не запускается на моём дистрибутиве, так что тоже не тестировал. Сделано всё наспех, уже больше нет сил и времени на эти диффы, в ближайшее время вернусь к работе над bbarm. |
Автор: | Илья Ермаков [ Понедельник, 17 Декабрь, 2018 10:29 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Спасибо, круто. Успехов! И ждём новостей |
Автор: | Artyemov [ Понедельник, 17 Декабрь, 2018 18:54 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Цитата: пинус версия BB латынь? английского мало bbarm - заинтриговали... А для "в каком виде" ARM? |
Автор: | SovietPony [ Понедельник, 17 Декабрь, 2018 20:16 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Всм в каком виде? Вот уже давно есть модули DevCP{V,C,L}ARM, на выхлопе обычные ocf с кодом для armv7l/armv6t2 (нужно закомментировать буквально несколько строк или поставить условия что бы генерировать для обычного armv6, но я такой целью пока не задавался). Использую модифицированный линковщик Dev2 что бы производить эльфы, выхлоп ассемблера смотрю через модифицированный дизассемблер из linref. Всё тестирую на ведрофоне с установленным в chroot CRUX ARM 3.4. Kernel пока что нету (соответственно остального тоже нету). Летом даже уже писал helloworld'ы и факториалы с выхлопом в консоль, но я месяц назад всё переписал и утратил поддержку нахаченного сишного abi, так что просто пялюсь как что гоняет значения между регистрами в gdb. Что нужно ещё сделать: поддержку LONGINT, [SHORT]REAL, операции над строками, починить вызов type-bound процедур, добавить проверки на NIL и границы массивов, вернуть возможность делать биндинги, кое-чего реализовать из SYSTEM. Всё остальное вроде работает. Вроде ничего не забыл. |
Автор: | Artyemov [ Вторник, 18 Декабрь, 2018 22:21 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Для расширения кругозора где это посмотреть? SovietPony писал(а): Всм в каком виде? Ну, для какой архитектуры? Это для андроида (тогда v7a или v8a), или для v5 (а может и для v4, а вдруг...)? Цитата: ...armv7l/armv6t2... А тут уже я не понял: v7 бывает -a, -r, -m - первые две имеют наборы команд arm32 и thumb2, третья только thumb2. Вот arm32 очень интересно было-бы. |
Автор: | SovietPony [ Вторник, 18 Декабрь, 2018 23:12 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Artyemov писал(а): Для расширения кругозора где это посмотреть? Пока нигде. Я конечно вбрасывал старую версию где-то в сентябре в беседе вк, но оно уже давно не актуальное и страшное. И нынешний DevCPCARM тоже страшненикий и требует некоторого перепиливания.Artyemov писал(а): Ну, для какой архитектуры? Это для андроида (тогда v7a или v8a), или для v5 (а может и для v4, а вдруг...)? Целюсь в первую очередь на armv7/-A потому что других железок у меня нет. -R тоже сделаю, они незначительно отличаются (хотя тестировать профили тоже нету на чём). Более старые версии arm думаю тоже не проблема сделать. Armv6 точно не проблема.А armv8 не буду делать. Во-первых, это надо делать отдельный кодогенератор, а во-вторых, BlackBox не адаптирован для 64-битных процессоров ни по части рантайма, ни по части компилятора. Тут очень много работы. Да и опять же тестировать не на чем. Artyemov писал(а): А тут уже я не понял: v7 бывает -a, -r, -m - первые две имеют наборы команд arm32 и thumb2, третья только thumb2. Я использую обычный режим arm. Просто в armv6t2 есть инструкции MOVW/MOVT для загрузки констант. Если не ошибаюсь, то только это и мешает поддержке чистого armv6.Вот arm32 очень интересно было-бы. Я похоже немножко обманул со сроками публикации, потому что вернулся к работе над BMBB вместо компилятора. Ну так припёрло. |
Автор: | Иван Денисов [ Суббота, 15 Февраль, 2020 21:40 ] |
Заголовок сообщения: | Re: Поделия SovietPony |
Актуальные ссылки на проекты SovietPony https://repo.or.cz/bmbb.git https://repo.or.cz/cpc.git |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |