Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 23.01.2021 во всех областях

  1. 2 балла
    С реализацией беда, прям кошмар-ужас-ужас. Наивные люди полагают, что FORTH это язык, но в действительности это идея интерпретатора. Такая себе сферическая в вакууме идея и ничего больше. Ну и стек еще, но это просто традиция. Сначала пытался все реализовать как деды завещали, но при помощи Lua. Споткнулся на оптимизации. FORTH по идее работает настолько близко к железу, что для него даже ассемблер не нужен, достаточно написать транслятор, а остальное делается самим Фортом (сверху приправляется ассемблерным языком, написанным на Форте, но это по желанию). Lua в качестве ассемблера не годится, слишком высокоуровневый. Есть фортоподобные поделия, реализованные на языках высокого уровня, но для знакомого с традиционными реализациями, они работают крайне странно и необычно. По факту там только игры со стеком. В моем понимании, Форт-программист имеет доступ ко всей системе. Это значит, что форт-система может модифицировать сама себя, есть доступ к входным и выходным данным, к стекам и всей памяти. В связи с этим, я начал делать прослойку между Lua и FORTH в виде процессора виртуальной машины. Немного увлекшись реализовал эмулятор DCPU-16. Но для DCPU-16 уже есть FORTH, да и прослойка получается слишком жирная. Изначальная попытка написать FORTH на Lua у меня сильно конфликтовала с желанием все оптимизировать. Дошло до того, что слова Форта, которые должны работать шитым кодом транслировались в Lua-код, код загружался как обычные функции, а на них ссылаются слова. Я решил, что это мрак какой-то и забросил. Но добавить Форт в опенкомпы все-таки очень хочется. Начал изучать наследников и вообще все фортоподобные языки (даже зачерпнул немного стековой эзотерики). Их уже больше сотни, а если учитывать реализации под конкретные архитектуры, то их несколько сотен наберется. Помимо основной идеи голого интерпретатора есть еще много всего интересного и полезного, но никаких определенных тенденций нет, полный хаос. Добрался до стековых процессоров, в основном они не очень логичные, даже сомнительные, но для реализации на FPGA вполне годятся. И вот тут мне очень понравился процессор J1, он подкупает своей простотой и емкостью инструкций (хотя первая версия очень избыточна и не особо продуманна, есть возможность расширить набор инструкций, что мне очень пригодится). Автор его использует довольно странно, вместо традиционной форт-системы он сделал так, что форт-слова определяются как макросы ассемблера. От форта там название и синтаксис, но на самом деле только ассемблер и макросы, ловко спрятанные под синтаксисом транслятора. Я же решил использовать архитектуру J1 в более традиционной манере, быстро набросал ядро, ассемблер, потом на ассемблере разработаю Форт-транслятор. Для работы с прерываниями надо будет прокинуть ввод-вывод в память, чтобы можно было работать с любыми устройствами опенкомпов. Само-собой надо расширить набор инструкций для превращения сигналов в прерывания, доступа к большему объему памяти и большему количеству операций. Но это еще не все. Понимание недостаточной оптимальности и избыточности заставляет создать еще один вариант, более быстрый и эффективный. Это будет компиляция интересных идей наследников Форта при высокоуровневой реализации, вроде Cat или Joy. Заодно выкинуть весь легаси-мусор, который даже в стандарты засунули. Получается два Форта: Традиционный, совместимый, на виртуальном процессоре J1. Мунспик. Быстрый, удобный, максимально приближенный к реалиям опенкомпов. Совсем не похожий на древний Форт83.
  2. 1 балл
    И было это в стародавние темные времена. Когда Программисты были слабы как дети, Инженеры сильны в растеневодстве и умели работать с реакторами, но Воины были сильнее всех. И появился страшный воин, что сметал всех на своем пути, который жил ради одной великой цели - Священной Цитадели! Страшные были времена, когда все в ужасе шарахались от каждой тени, боясь, что там прячется их погибель. И начали игроки строить бункеры и крепости, чтобы хоть как-то защитить свои жизни. Сложнее всего было Программистам, они не могли ни вырастить себе еды, ни запустить реактор, чтобы обеспечить себя энергией. И тогда однажды, темной ночью, в огромном бункере был построен огромный реактор, который получил название "Сердце Стива". Как гласят предания и древние свитки, данный реактор был построен сумашедшим профессором игроком @@electronic_steve. Согласно чертежам "Сердце Стива" это огромный геотермальный реактор, который питается разным хламом и вырабатывает немерянные гигаваты энергии... Сегодня я раскрою завесу тайны и раскажу вам о том, как построить огромный геотермальный реактор, который будет стабильно вырабатывать 440 eu/t Особенность данного реактора - он вообще не требует урана для своей работы. В качестве топлива используется разный хлам, от булыжника до листьев. Взорвать данный реактор не выйдет ни при каких обстоятельствах. И, что самое интересное, данный реактор без программирования не запустить. Внимание! Данный реактор не рекомендуется к постройке на серверах, в связи с тем, что при его работе довольно сильно нагружается сервер, возможны лаги, резкая просадка фпс и прочие неприятности, вплоть до регенерации региона где стоит данная установка. Данную схему разрешается использовать для проверки своего уровня знания в программировании (а запустить его ох как непросто), а также топовым игрокам, которым уже реально нечем заняться. Официально заявляю, что данная постройка была разработана не мной, а игроком @@electronic_steve, я лишь немного доработал конструкцию и выкладываю сюда. Ну что-же приступим к подготовке строительства реактора. Для начала проверим наличие модов, необходимое для постройки реактора: OpenComputers - мод добавляющий компьютеры и прикладное оборудование для него IndustrialCraft / Mekanism - технический мод, из него будем брать геотермальные генераторы GanysNether - из него возьмем только вулканическую печь Все есть? Тогда готовим МНОГО ресурсов, а именно: IC2/Mex геотермальный генератор - 22 шт IC2/Mex провода высоковольтные ~ 64 шт GanysNether вулканическая печка - 4 шт ОС провода ~ 48 шт ОС транспозеры - 7 шт ОС компьютер Т2 - 1 шт ОС монитор Т2 - 1 шт ОС клавиатура - 1 шт ОС преобразователь энергии - 1 шт По желанию: ОС робот - 1 шт ОС батареи ~ 5 шт ОС зарядка - 1 шт Готовы? Тогда начинаем размечать территорию. Размеры реактора составляют 9х9х6. Заранее предупреждаю, высоту я на 1 блок слегка увеличил, чтобы можно было хоть как-то подлезть под реактор. Дальше все просто, расставляем ОС провода по центру, а так-же поднимаем их вверх на 3 метра. По центру ставим транспозер. Транспозер окружаем по кругу вулканическими печками. Этот транспозер у нас будет распределять мусор по вулканическим печам. Навешиваем, как в продолжение вулканической печи, еще 4 транспозера - они будут выкачивать лаву из вулканических печей и передавать на генераторы. Собственно, на установленные транспозеры лепим генераторы, если у них есть точки выхода энергии, то ими наружу. Получится такой вот ежик с 16 генераторами, но на этом реактор еще не построен. Снизу выбираем любую вулканическую печь и навешиваем на неё транспозер с генераторами. Тоже самое делаем зеркально с другой стороны. Таким образом вы должны навесить 6 генераторов. ВНИМАНИЕ! Вешать генераторы только снизу! Между генераторами заталкиваем 2 ОС батарейки, они нам нужны для автономной работы генератора, пока он будет в отключке. Сверху, в свободные выемки между генераторами запихиваем батарейки, их там 3 штуки влезет. Устанавливаем сундук, в который будет идти всякий хлам, робота и собственно компьютер. Я рекомендую комплектацию оборудования как на скрине, но если есть желание, можете добавить что-то еще. Теперь вооружаемся проводами и лесами, начинаем опутывать весь наш реактор проводами. Собственно не мне вас учить, как правильно и компактно проложить провода, но если кто не понял глядите на картинку, что снизу или на первую. Ну и финальный этап - запуск компьютера для проверки работы транспозеров. Запрашиваем систему о наличии транспозеров, должно отобразиться 7 штук. Собственно на этом постройка великого реактора на транспозерах завершена, теперь можно со спокойной совестью начинать запускать его. Алгоритм работы реактора прост: 1. Транспозер распределитель берет мусор из сундука сверху и по очереди раздает его в 4 вулканических печи 2. Вулканическая печь перерабатывают мусор в лаву 3. Боковые и нижние транспозеры забирают лаву из вулканической печи и распределяют её по генераторам 4. Генераторы преобразуют лаву в энергию и выбрасывают её на провода и так по кругу. При помощи робота можно автоматизировать процесс крафта разного хлама, что лучше всего крафтить увы незнаю, во времена когда данный реактор появился, его питали каменными пулями, так как они крафтились сразу по 32 штуки с 1 булыжника. Сейчас - все на ваш выбор. Реактор успешно был построен, теперь остается только написать ПО для него и можно спокойно генерировать энергии не опасаясь, что он рванет, закончится уран или еще что-то. А на этом я с вами прощаюсь. Поведал вам столь необычную схему @@Asior, от всей души благодарю проект http://computercraft.ru а также людей, что принимали участие в постройке "Сердце Стива", всячески подсказывали, объясняли, рассказывали и т.д.: @@Fingercomp, @@electronic_steve @@qwertyMAN @@Asummonster Ну и конечно же админа @@Alex, за то, что забыл отключить крафт вулканической печки. Всем удачи, надеюсь вы сможете запустить данный реактор без каких-либо проблем, а я пойду выкину ненужный теперь радий и наконец то медведя запущу, погреться у теплого реактора... P.S. Надеюсь все, кто заметил отсылки к себе, во вступительном слове данной статьи не будут держать на меня зла, надо же было как-то привлечь внимание целевой аудитории. P.S.S. Да программы нет, моя цель была только показать какую дичь раньше строили, а запускать это, уже вам.
  3. 1 балл
    /me обиделся и ушел в подполье делать лагодромы
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...