OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 23 Сентябрь, 2019 04:09

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Поделия SovietPony
СообщениеДобавлено: Суббота, 15 Декабрь, 2018 00:38 

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 54
Откуда: Equestria
Я думаю все уже давно в курсе о моих поделках, но на всякий случай вброшу и сюда, раз зарегистрировался.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Суббота, 15 Декабрь, 2018 11:18 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4302
Откуда: Россия, Орёл
SovietPony писал(а):
BlackBox ARM Compiler (bbarm)
Наверно самое интересное моё поделие. Да, я работаю над новым бэкэндом для компилятора из ББ и он уже кое-как работает. Что примечательно, выхлоп тестируется на смартфоне.
Планирую опубликовать где-то около нового года, как раз к тому времени решу большенство проблем.

Да, пожалуй это действительно самое интересное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Понедельник, 17 Декабрь, 2018 00:04 

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 54
Откуда: Equestria
Сделал консольную тулзу на основе DevDiff и даже подключил её к git. Инструкции в README.
Проверял только wine... так что не гарантирую отсутствия проблем. А пинус версия BB от Ивана и ко всё так же не запускается на моём дистрибутиве, так что тоже не тестировал.
Сделано всё наспех, уже больше нет сил и времени на эти диффы, в ближайшее время вернусь к работе над bbarm.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Понедельник, 17 Декабрь, 2018 10:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9141
Откуда: Россия, Орёл
Спасибо, круто.

Успехов!

И ждём новостей :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Понедельник, 17 Декабрь, 2018 18:54 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 326
Цитата:
пинус версия BB

латынь? английского мало ;)

bbarm - заинтриговали...
А для "в каком виде" ARM?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Понедельник, 17 Декабрь, 2018 20:16 

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 54
Откуда: Equestria
Всм в каком виде?

Вот уже давно есть модули 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. Всё остальное вроде работает.

Вроде ничего не забыл.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Вторник, 18 Декабрь, 2018 22:21 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 326
Для расширения кругозора где это посмотреть?

SovietPony писал(а):
Всм в каком виде?

Ну, для какой архитектуры? Это для андроида (тогда v7a или v8a), или для v5 (а может и для v4, а вдруг...)?
Цитата:
...armv7l/armv6t2...

А тут уже я не понял: v7 бывает -a, -r, -m - первые две имеют наборы команд arm32 и thumb2, третья только thumb2.
Вот arm32 очень интересно было-бы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Поделия SovietPony
СообщениеДобавлено: Вторник, 18 Декабрь, 2018 23:12 

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 54
Откуда: Equestria
Artyemov писал(а):
Для расширения кругозора где это посмотреть?
Пока нигде. Я конечно вбрасывал старую версию где-то в сентябре в беседе вк, но оно уже давно не актуальное и страшное. И нынешний DevCPCARM тоже страшненикий и требует некоторого перепиливания.
Artyemov писал(а):
Ну, для какой архитектуры? Это для андроида (тогда v7a или v8a), или для v5 (а может и для v4, а вдруг...)?
Целюсь в первую очередь на armv7/-A потому что других железок у меня нет. -R тоже сделаю, они незначительно отличаются (хотя тестировать профили тоже нету на чём). Более старые версии arm думаю тоже не проблема сделать. Armv6 точно не проблема.
А armv8 не буду делать. Во-первых, это надо делать отдельный кодогенератор, а во-вторых, BlackBox не адаптирован для 64-битных процессоров ни по части рантайма, ни по части компилятора. Тут очень много работы. Да и опять же тестировать не на чем.
Artyemov писал(а):
А тут уже я не понял: v7 бывает -a, -r, -m - первые две имеют наборы команд arm32 и thumb2, третья только thumb2.
Вот arm32 очень интересно было-бы.
Я использую обычный режим arm. Просто в armv6t2 есть инструкции MOVW/MOVT для загрузки констант. Если не ошибаюсь, то только это и мешает поддержке чистого armv6.

Я похоже немножко обманул со сроками публикации, потому что вернулся к работе над BMBB вместо компилятора. Ну так припёрло.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB