Перейти к публикации
Форум - ComputerCraft
MrConstructor303

Rome Shell for OpenOS

Рекомендованные сообщения

Rome* - рабочая среда для OpenOS.

Скачать:https://github.com/MrConstructor303/Rome(в разработке)
Rome ещё в стадии разработки, поэтому идея будет обдумываться и меняться!!!
Прошлые версии:





Обновления шапки:


23/01/2016
01/02/2016 версия для CC не будет выпущена вследствие ее неактуальности
02/02/2016 небольшие поправки
06/02/2016

17/02/2016

15/03/2016

 

Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уходи от КК, КК хороший мод, но он намного скучнее ОК. В ОК ты можешь создать своё ядро, загрузчик, свой пакет программ и утилит, вобщем реальную ось. А в КК все псевдо ос- просто графическая оболочка

С набором программ

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, что напомнили. Мне, видимо, опять придётся попотеть.

Вот только найти бы эмулятор Opencomputers для винды, я бы свою ось создал именно для этого мода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, что напомнили. Мне, видимо, опять придётся попотеть.

Вот только найти бы эмулятор Opencomputers для винды, я бы свою ось создал именно для этого мода.

Если ты пишешь именно ось,а не графическую оболочку,то просто скачай чистый луа: http://kent.dl.sourceforge.net/project/luabinaries/5.2/Executables/lua-5.2_Win32_bin.zip

Если надо,то могу помочь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, работает :-)

Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И не вздумай запускать свою ось из под OpenOS. Запускай по нормальному, с init.lua, через биос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И не вздумай запускать свою ось из под OpenOS. Запускай по нормальному, с init.lua, через биос.

А я что написал?=)Как раз про ОСь,а не про графическую оболочку=)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё равно для тестирования моей ОС требуется эмулятор Opencomputers, т. к. она использует функции биос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё равно для тестирования моей ОС требуется эмулятор Opencomputers, т. к. она использует функции биос.

Как раз в соседней теме есть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я проверял программу, она ещё не доработана, подожду новую версию, а так СПАСИБО :)))


Честно говоря, я создаю не ОС, а дополнение к существующей.

Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Большое спасибо за то, что вы не удалили мою тему про оболочку Rome OS. Наверняка ее исходники используются для некоторых других программ. Долго не обновлял, потому что был занят учебой(я студент) и не хватало идей.

 

Короче, я планирую переделать с нуля свою оболочку для CC и OC, даже версию придумал Rome 1.0 Reloaded Edition или Rome-RE 1.0

 

Разработку начну завтра. Через пару недель может появиться версия 1.0-rc1

Заметьте, я выпускаю сначала для CC, а затем для OC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Большое спасибо за то, что вы не удалили мою тему про оболочку Rome OS. Наверняка ее исходники используются для некоторых других программ. Долго не обновлял, потому что был занят учебой(я студент) и не хватало идей.

 

Короче, я планирую переделать с нуля свою оболочку для CC и OC, даже версию придумал Rome 1.0 Reloaded Edition или Rome-RE 1.0

 

Разработку начну завтра. Через пару недель может появиться версия 1.0-rc1

Заметьте, я выпускаю сначала для CC, а затем для OC.

Не на маркетолога случайно учишься?

 

Посмотрел код, lib/error улыбнуло.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не на маркетолога случайно учишься?

 

Посмотрел код, lib/error улыбнуло.

Я учусь на программиста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То есть, как я понял, товарищ MrConstructor пишет с нуля ядро оси, ее либы, софт, заменяя все стандартные файлы в CC-компе на кастомные? Идея крайне похвальная, прям зауважал поначалу, но что-то мне все это напоминает... кхм, кхм, что-то до боли знакомое и существующее...

 

a632002ca5238fd6a9be0a279d7fb520.png

b7dc031caed175b84675639ab51f3541.jpg

f3cc698d52ccaede6179acc1804a3720.png

Изменено пользователем ECS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я учусь на программиста.

Если на программиста, то ребутать через 5 секунд после вывода сообщения об ошибке - плохой тон.

Делай "пресс ани кей то ребут". Чтобы пользователь, при ошибке, успел осознать всю тщетность бытия.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

что-то до боли знакомое и существующее...
 

Я правильно понял, он чей-то код взял? Но тогда это, наверное, открытый проект, и из него можно брать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Я правильно понял, он чей-то код взял? Но тогда это, наверное, открытый проект, и из него можно брать...
 

 

Не-не-не, тут все куда прозаичнее: на первом скрине код его функций для сериализации таблиц, а на втором дефолтный код из textutils, которые поставляются с CraftOS. Дело не в копипастинге, а в изобретении велосипедов, причем велосипедов без седушки, вилки и педалек, образно выражаясь. Короче, у меня порвало очко от того, что парень по сути сделал либу textutils.serialize, при этом не обеспечив полного ее функционала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Не-не-не, тут все куда прозаичнее: на первом скрине код его функций для сериализации таблиц, а на втором дефолтный код из textutils, которые поставляются с CraftOS. Дело не в копипастинге, а в изобретении велосипедов, причем велосипедов без седушки, вилки и педалек, образно выражаясь. Короче, у меня порвало очко от того, что парень по сути сделал либу textutils.serialize, при этом не обеспечив полного ее функционала.

 

Дело в том, что я ещё новичок в этом деле. Это мой первый проект. Вот и решил переделать с нуля.

Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Дело в том, что я ещё новичок в этом деле. Это мой первый проект. Вот и решил переделать с нуля

Все, молчу-молчу. Просто повыеживаться захотелось. 

  • Like 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то разработка RomeOS затянулась в связи с переходом на OпенКомпьютерс. Забил на КомпьютерКрафт, т. к. после посещения вашего сервера решил, что версия для КК не будет актуальна.

 

Версия для ОК не будет отдельной веткой ОС, а за основу возьму OpenOS, только добавлю несколько либов, GUI и т. п.

 

У меня хорошие новости, я зарегистрировался в Sourceforge: https://sourceforge.net/projects/romeos/

Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

я зарегистрировался в Sourceforge

Хм, а смысл?

Зайдя на него я увидел лишь это:

No (more) commits

А где код то? И зачем надо юзать эту проприентарщину SF?

Есть же старый добрый GitHub (Торвальдс одобряет :smile9: ), тем более он более уместен для данного проекта (публикация исходников).

А как мне кажется, SF нацелен на распространения собранных файлов (их git я не беру в счет).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хм, а смысл?

Зайдя на него я увидел лишь это:

No (more) commits
А где код то? И зачем надо юзать эту проприентарщину SF?

Есть же старый добрый GitHub (Торвальдс одобряет :smile9: ), тем более он более уместен для данного проекта (публикация исходников).

А как мне кажется, SF нацелен на распространения собранных файлов (их git я не беру в счет).

Я только вникаю в мир свободного софта. А гитхаб у меня есть: https://github.com/MrConstructor303/RomeOS. А кода нет, потому что проект на стадии закрытого теста. Пытаюсь создать многооконный интерфейс с помощью библиотек gml, thread , которые используются в RomeAPI.

Но я застрял на ошибке в моей либе(RomeAPI), которая ругается на отсутствие Shell API при попытке запустить RomeAPI.loadTask(process)

 

Вот часть кода где ошибка:

...
local thread = require("thread")
...
RomeAPI.tasks = {}
...
function RomeAPI.loadTask(process)
  RomeAPI.tasks[process] = thread.create(dofile, "/usr/bin/"..process..".lua") --здесь прячется ошибка
end
...
Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какую библиотеку thread используешь? И что говорит ошибка?

Изменено пользователем Zer0Galaxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какую библиотеку thread используешь? И что говорит ошибка?

Которую взял отсюда: http://computercraft.ru/topic/634-mnogopotochnost-v-opencomputers/

 

Уже ваша помощь не требуется. Сам ошибку исправил. Надо было перезапустить машину.

Но у меня появился баг. При загрузке процесса окно не реагирует на нажатия.

Есть идеи, как исправить?

function RomeAPI.loadTask(process)
  RomeAPI.tasks[process] = thread.create(shell.execute, process)
end
Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Лучше вместо gml использую forms(http://computercraft.ru/topic/1016-oc-lyogkaia-biblioteka-gui/). Почему-то документация к либам от Zer0Galaxy проста и понятна даже для чайника, вроде меня. Если я у него беру код для своего проекта, следовательно может стать соавтором, или хотя бы указать в его соучастии.

Теперь по делу. Можно вместо event.pull использовать event.listen  и обработчики событий

Изменено пользователем MrConstructor303

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прошел почти месяц после начала разработки, а я всего лишь создал простенькую графическую библиотеку для своей уникальной оболочки, называемую Rome API. Я эту библиотеку адаптировал под черно-белые мониторы, чтобы потом мою ОС можно было уснанавливать на роботов. Моя библиотека пока годится только для экспериментов.
Что она из себя представляет:
Плюсы:
 + ускоряет процесс управления роботом, так как не придется вводить команды;
 + в появлением новых версий будут новые функции
 
Минусы:
 - для запуска приложений все таки придется выйти в терминал
 - библиотека еще сырая
 - дизайн окна убогий, так как оно представляет из себя только кучу кнопок, расставленные в ряд
 
Скриншоты:

 


post-219-0-96461300-1455702296_thumb.png

post-219-0-47059000-1455702352_thumb.png

 

 

 

Скачать можно отсюда: https://github.com/MrConstructor303/Rome-API/releases

Изменено пользователем MrConstructor303
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так, так. Давай разберемся. Ты пишешь новую операционную систему или графическую оболочку под OpenOS? Если новую систему, то зачем используешь опеновские библиотеки term, event и т.д? Без OpenOS они работать не будут. А если графическую оболочку, то называй вещи своими именами.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прошел почти месяц после начала разработки, а я всего лишь создал простенькую графическую библиотеку для своей уникальной оболочки, называемую Rome API. Я эту библиотеку адаптировал под черно-белые мониторы, чтобы потом мою ОС можно было уснанавливать на роботов. Моя библиотека пока годится только для экспериментов.

Что она из себя представляет:

 

 ГУИ для роботов ? В этом есть смысл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
local form = { caption="", elements={} }
  . . .
function RomeAPI.newForm(caption)
  local object = form
  object.caption = caption
  return object
end

В корне не верный подход. При попытке создать второй экземпляр формы, ты перетрешь свойство caption и перечень элементов ранее существовавшей формы. Рекомендую ознакомиться со способами реализации ООП под Луа.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×