Pull to refresh
84
0.4
Send message

Предлагаю отдельно (от обсуждения под оригиналом) под этим постом обсудить конкретно и чисто с точки зрения ретро-разработки (то есть без «рыночная экономика то, плановая экономика сё»), какие необычные варианты архитектур и даже элементной базы были в 1960-е.

Обсуждения того, надо или не надо идти своим путём, там было достаточно — а вот чем интересным отличались те или иные пути, явно сто́ит обтрепать под шампанское отдельно, не так ли? ;)

Одна ячейка Гутенмахера чего стоит. Питается сразу тактированием, можно сказать :)

Tags:
-1
Comments0

Вот на чём я хочу электронную книгу. А не на этих ваших ведроидах. Ну да, какодемонов на ней не погоняешь — скорость рефреша не та, да ещё с учётом необходимой софтовой прокладки для эмуляции VGA на еинке…

Но, тем не менее.

Натуральный DOS, весь зоопарк ретро-софта (и современного софта от любителей ретро-программирования).

Один ватт потребления, плюс пятый «Нортон» легко позволяет отправлять в спячку камень при помощи кастомного скринсейвера.

VGA 640×480×16 достаточно для небольшого экрана (типа моей, и не только моей, любимой PB360+, хотя у этой пятидюймовки был, в общем-то, 800×600, но и 640×480 вполне ОК). В крайнем случае можно заморочиться с VBE, это даже не такой уж и адок на фоне эмуляции регистров VGA.

CF в качестве «харда». Да, толстый, но в ебук-то явно влезает без проблем.

Сугубо гиковская возможность распаять любые разъёмы соответствующей эпохи по желанию, превратив её в любой желаемый контроллер-с-экранчиком. Были бы на краю платы площадки оставлены. Хоть дисководный (стримеры, ага; ну или какой-нибудь девайс с шаговыми моторами, которые типично цепляются к ардуинкам).

А ещё можно «дайте две» и сделать раскладушку с двумя страничками, соединив их в локалку :) И к зоопарку древних пошаговых игр добавятся ещё те, в которые можно поиграть по COM-порту :) Да-да, локалка из двух ретро-ПК в кармане, а ещё она по совместительству книжка с двумя страничками (для 5" самое оно).

Насчёт стоковых устройств ввода — видимо, четыре клавиши ↑↓←→, пробел, Enter, Esc, тачпад и две кнопки мыши к нему. USB там есть — дома для конфигурирования можно воткнуть клавомышь. Раз VGA всё равно эмулировать — поверх него можно сделать вызываемую отдельной кнопкой экранную клавиатуру. Тут, однако, надо заметить, что «тачпад поверх экрана» не есть тачскрин: DOS-софт «таких словей не знает» и перемещение пальца по экрану приводит к перемещению стрелки курсора совсем в другом месте (кто под UTM SE играл, тот знает). То есть оно механически тачскрин, но по факту — тачпад поверх экрана. И да, это часто удобнее, чем «настоящий» тачскрин — палец не закрывает курсор %) Но если делать именно так, разместив тачпад прямо на экране — то как раз для экранной клавиатуры он сможет выступать в роли тачскрина, эмулятор VGA ведь мы сами пишем и он-то прекрасно понимает, с чем работает и где там расположены изображения кнопок (а заодно и пространство вывода деликатно ужмётся в два раза, чтобы экранная клавиатура не закрывала экран).

Насчёт нестоковых устройств ввода — порог вхождения в кастомизацию пека нулевой. Любой гик умеет в пека эпохи дос. Будут и клавиатуры Лапера, и кастомные «под любимую игру» на всю заднюю стенку, чтобы на ощупь 8 пальцами кнопки давить, и что угодно будет.

Но в первую очередь это читалка — искаропки фридос и в автоэкзеке прописан reader.exe. Ремонтопригодная, на базе неубиваемой SoC промышленного класса, по мере износа любая флэшка меняется, жрёт мало, размеры «жилетные», короче, та 360-я, которой всем нам так не хватает, но «на стероидах».

Вот так вот, хотел по-быстрому в два абзаца, а хватило бы на небольшую статью, если проиллюстрировать каждый тезис (а без иллюстраций небось опять вышло не сильно понятнее, чем тасманские дьяволы в мультиках изъясняются).

Короче, символов осталось меньше 1К, так что заканчиваю: если кто-то из релоцировавшихся задумывается о том, чтобы взять да выкатить на рынок что-нибудь типично-стартаперное, подумайте об этом. Сайт производителей жив, наверное, что-то для кого-то ещё клепают понемногу. Даже если по нормальной цене можно только партию в 100К заказать — 100К книжек не так уж и много. Главное, чтобы ценник в итоге вышел «как хорошая книжка» (не думайте, что это прямо так уж мало).

Tags:
+6
Comments8

В этот раз не буду ждать никаких пятниц, потому что вся начинающаяся неделя — гигантская суперпятница перед гипервыходными. В этот раз я выкатил особо отбитый инженерный бред, по сути скорее даже геометрическую головоломку. Может, боян, не проверял. Оно мне только что прибредилось в полусне.

Ахинейно-поршневой двигатель с симметричным поршнем и параллельными ахинеями.
Ахинейно-поршневой двигатель с симметричным поршнем и параллельными ахинеями.

Вот такой вот «двигатель», у которого поршень в виде «колобашки» без всяких шатунов сидит сам на шатунной шейке коленвала. Косинусную составляющую вращения он, естественно, отрабатывает сам, а синусную… как говорил сатирик, вы побольше воздуха наберите и покрепче сядьте — синусную отрабатывает весь сдвоенный цилиндр, болтаясь вверх-вниз на маленьких поршеньках-направляющих (для этого сверху и снизу в нём сделаны дополнительные маленькие цилиндрики). В этом месте вы все уже представили, какой массой мы собираемся размахивать в воздухе туда-сюда, а самые сообразительные — ещё и какие там будут перекосы и какое адское трение (усилие-то приложено несбалансированное).

Проржавшись, переходим к занимательной геометрии, поскольку в силу описанного считать это двигателем уже нельзя. В геометрии можно сделать следующие допущения: охлаждающая рубашка не нужна, 1200 оборотов при 50 кубиках нам достаточно (масса не страшна), вместо свечи вспышки обеспечивает маг-пирокинетик, трение в малых ЦПГ отсутствует. В общем, переходим к математической абстракции.

И тут становится интересно: можно ли, правильно выбрав диаметры малых ЦПГ, положение их перепускных окон на главном цилиндре, положение выпускных и продувочных окон на них самих и так далее, реализовать не просто фыр-фыр-двухтактник, в котором окна в главном цилиндре открываются «сразу на улицу», а какой-нибудь более интересный цикл: Аткинсона, Миллера или, наоборот, Цоллера (Доппельколбен, который решает противоположную Аткинсону задачу), ну или там, не знаю, Уткинсона, Мурчинсона, Пушкина, Кукушкина или вообще Нак-Мак-Фиггля. Допустим, что к продувочным окнам ведут идеально гибкие шланги (абстракция же; в принципе, в реальной модели, если бы она была нужна, это более-менее обходится тоже).

Сами понимаете, что одни двигаются по синусу, другие — по косинусу, перепускные окна открываются согласно косинусоиде, выпускные и продувочные — согласно синусоиде, и всё это можно произвольно двигать вдоль ходов поршней, причём независимо. А если это кажется слишком лёгкой задачей — добавим возможность наклонять группу малых ЦПГ на небольшие углы (чтобы отрабатывали не чистый синус, а какую-то смесь), да ещё и вместо поршней в некоторых местах сделать полноценные золотники, которые открывают окна только при строгом совпадении положений, а не «от N мм и до мёртвой точки» (они же, кстати, и в шлангах не нуждаются, потому что наружная часть у них неподвижна).

В общем, такая вот небольшая тригонометрическая головоломка. Занимательная и в целом практически бессмысленная. Пафнутий Львович Чебышёв, конечно, назвал бы это задачкой для первого класса спецшколы для умственно отсталых, но простым смертным типа нас с вами может представлять интерес. Не забывайте только, что в малых ЦПГ при движении газ тоже не исчезает «в никуда», чтобы не получить незапланированный компрессионный двигатель, например. Задачка-то геометрическая, но граничные условия у неё от «реального» ДВС, иначе будет слишком просто.

Tags:
-3
Comments1

@Regnar, навеяло статьёй

Свалился на меня «последний из 32-битных могикан», но машинка прямо финал возможностей архитектуры — насколько я понял, видит спокойно 8 гигов рамы (PAE во все поля?), слотов не пожалели, в общем, в такое чудо бы камень хотя бы на 2 ядра, но, увы…

Я его практически не смотрел ещё и ХЗ когда посмотрю (вроде не совсем мёртвая), но превентивно задам вопрос. Допустим, поставил я туда 32-битный BunsenLabs. Допустим, я хочу запустить какое-нибудь 64-битное приложение, которое в 32 битах давно уже не обновляется. Допустим, мне пофиг, что там в плане скорости (очень важное допущение, потому что оно как бы понятно, что там будет).

Насколько это реально — настроить для него резервативию… презервацию… короче, специально обученный загон с софтовой эмуляцией 64 бит? Существуют ли решения? Чтобы их установить и отконфигурировать, обязательно пройти все круги ада, как в той статье?

Практического смысла это по понятной причине не несёт — просто пятничное.

Tags:
Total votes 2: ↑0 and ↓2-2
Comments0

…и ещё немного пятничного наброшу, если не возражаете.

Не без помощи @TonnyRed, который явно на два порядка лучше меня разбирается в АКПП, эта бредятинка обрела более-менее реализуемые черты. Если в этот раз в этом есть смысл, можете считать его соавтором. Если совсем чушь — он не виноват, это всё я.

1) Постановка задачи: добавить к МКПП ограниченные возможности по плавному преобразованию оборотов в крутящий момент с тем, чтобы покрыть ими самые актуальные для АКПП ситуации: «ползём по пробке битый час», «паркуемся задом вверх по склону с зазором 10 см и поворотом», «раскачиваем машину в грязи, стараясь не дать колесу провернуться». В общем, все те, где меньше всего хочется играть сцеплением, ловя нужную степень. Не нарушить обычную работу МКПП. Не спрашивать, нахуа.

2) Решение: в обычную МКПП добавляем второй ведущий вал, связываем его с первым через «гидробублик», который, как говорит Википедия, «сочетает свойства гидромуфты и гидротрансформатора», то есть может на малых оборотах не просто пробуксовывать (как гидромуфта или обычное сцепление), а ещё и преобразовывать это в крутящий момент (как говорит Википедия, до трёхкратного, что весьма немало). Только «бублик», без всяких планетарок и прочего, входящего в состав АКПП. На этот второй ведущий вал переносим шестерни первой и задней передачи. Увеличиваем их примерно раза в три.

3) Работа: аналогично обычной МКПП. Сцепление выжали, передачу включили/переключили, сцепление отпустили. Оба вала уже после сцепления, поэтому они отцепляются вместе (правда, потребуется какой-то особо суровый синхронизатор, потому что «бублик» сильно больше весит, чем голый вал, иначе получим «и хрюкотали ЗиЛюки»). В принципе, большой разницы нет, что на том валу, что на этом, в любом случае мы включили передачу и можем ехать. Но если это одна из тех передач, которые берутся с «гидровала» — у нас есть возможность, не выключая сцепления, плавно трогаться и останавливаться (за счёт проворота «гидробублика» на малых оборотах), а также развивать нормальный для этих передач крутящий на выходе (когда обороты двигателя большие, а выходной вал заторможен массой автомобиля и обороты ещё не набрал), ну и до кучи (что на обычной механике по понятной причине не получится) — разгоняться до типичных для третьей передачи скоростей (когда «бублик» «переходит из режима гидротрансформатора в режим гидромуфты» © та же Википедия). Не то что бы это было сильно нужно, вторую-то никто не отменял, но когда-то и удобно может быть…

Особенно приятно, что теперь оно дружится с вот этим вот и избавилось от лишних сущностей типа «заодно раздатка» (как и обычная механика). Делаем на руль рычажок и включаем круиз-режим, когда электрика пытается противостоять любому изменению скорости (в обычном режиме она отслеживает педаль газа и помогает, наоборот, эту самую скорость изменить. Даже если двигатель вообще остановлен и мы на нейтрали едем чисто на электрике, в той же пробке, например). В круиз-режиме же (сбрасывается тем же рычажком или нажатием тормоза) можно завысить передачу и ехать в режиме «газ — это выключатель» (на малокубатурном моте разница в КПД за счёт более полного использования сжатия составила «изрядно не доехал до Ярославля на полном баке»/«проехал километров 50 за Ярославль на полном баке», такой вот цикл Отто). Втопили газ — а электрика разогнаться не даёт, заряжает суперконденсатор, а потом и аккумулятор. Отпустили — а она не даёт потерять скорость. Обычный гибрид в его лучшем виде, но ещё и с ручной оценкой «а с каким зарядом аккумулятора я хочу миновать Пушкино, если мне неделю потом никуда не ехать». Плюс подключение мозга к процессу оценки устойчивости машины в данной дорожной ситуации при данном положении педали газа, когда «одни тащат, другие тормозят». В общем, есть где позадрач развернуться.

—————————————————————————————————

ЗЫ: чтобы два раза не ходить. Что господа физики думают про судьбу нейтрона? Чем может отличаться взаимодействие W-бозонов в разных постановках эксперимента? Может, в них дело?

Tags:
Rating0
Comments5

Поставлю-ка я это на автопубликацию, чтобы к утру пятницы было.

Задумался я, а какие креативные альтернативы минутной стрелке придумывало человеческое безумие? Какие могло бы придумать? Какая-нибудь система зеркал, чтобы часовая двигалась сама по себе, а переотражённый лучик мотался вокруг в 12 раз быстрее, образуя минутную стрелку?

Мне в голову пришёл только нониус. Его я и отрендерил лютым дерьмокодом, чтобы посмотреть, как это могло бы выглядеть.

Ускорено в 60 с лишним (или нет, зависит от тормозов) раз.
Ускорено в 60 с лишним (или нет, зависит от тормозов) раз.

Не подумайте дурного, это не секунды и единственная минутная стрелка! Это часовая стрелка (точнее, часовой круг) и минуты в виде нониуса. Я их просто ускорил практически до секундной, плюс-минус возможные тормоза, чтобы можно было (не рехнувшись от скуки) пронаблюдать, как это чудище показывает разные значения времени. Ускорил бы ещё сильнее, но так есть хотя бы шанс попытаться прочитать нониус «на лету», не делая скриншотов.

Я честно проверил — смотрел рандомный кадр, определял время и потом смотрел название кадра (оно у меня было, до того, как собрал их в гифку). Таки работает! Только надо помнить, что маленьких делений не 5, а 6. Потому, что это не минуты для минутной стрелки. Это — десятиминутия для часовой. То есть их не 60 на всём круге, а 72, ибо 12 часов по 60 минут, разделить на десять. А единицы минут — на нониусе.

Можно, конечно, сделать менее садомазохистский вариант шкалы, но там точность уже будет до пяти минут, потому что круги будут разбиты одинаково — часовой на 12 часов и минутный на 12 «пятиминутий». И будут постоянно подводить рефлексы, потому что на автомате хочется интерпретировать совпадающие деления шкалы как показания минутной стрелки (то есть читать их от верхней точки, она же — «12 часов», она же — «0 минут»). А они таки нониус! И читать их надо от текущего положения часовой стрелки. Камень я не дам этот вариант я рендерить не буду.

Поскольку в реале часовая стрелка не носится с такой скоростью, есть достаточно времени, чтобы перевести взгляд со шкалы на нониус и прочитать минуты. Желающие могут попробовать вырезать из чёрного картона (или не картона, хаб добавил не просто так) сей девайс и подсветить изнутри светодиодами, если хочется соригинальничать и повесить у себя дома часы, по которым не всякий с первой попытки определит время :) Хотя, конечно, определённые требования к размеру циферблата и остроте зрения этот креатифффф предъявляет.

Tags:
Total votes 11: ↑11 and ↓0+12
Comments10

Держите порцию пятничного бреда: что, если скрестить механическую коробку и примитивный гидравлический автомат, обеспечивающий нормальную работу только на малых скоростях (упростив его за счёт этого), и прицепить его на место первой и обратной передач?

Следите за руками: там, где удобнее автомат (трогание в сложных условиях, раскачка в грязи, ползание отрезками в пробке) — врубаем «первую» (реально где-то до третьей) и едем, не насилуя сцепление и имеем все преимущества «плавного» преобразования. В нормальных условиях — перещёлкиваем на вторую и далее, имея все плюсы полного ручного контроля и плюсы по КПД (для того, чтобы оптимально выбрать передачу, нужно, как правило, знать будущее хотя бы на пол-километра вперёд, что определённым образом ограничивает возможности автоматики).

А поскольку автомат надо отцеплять от вала с обеих сторон (чтобы механика его «за хвост» не крутила) — можно заодно и придать ему функцию раздатки, ну, раз всё равно сцепные муфты ставить. Наши «первая» и «задняя» выходят на все четыре, раз уж мы всё равно собираемся пользоваться ими на малой скорости в лужах и ямах, а механика, работающая в условиях чистой дороги и экономии топлива — только на один мост с обычным дифференциалом (второй можно сделать с каким-нибудь необычным, чтобы гребли два от этого моста и как минимум одно от обычного).

Всё это пятничная чушь и пища для инженерных паззлов, конечно. Чисто поломать для развлечения голову «а как бы я это всё вписал в конструкцию». В наше время намного больше смысла в установке двух рекуперативных мотор-колёс вместо вторых обычных колёс (которые не ведущие). А если хочется оптимального ручного контроля (и заодно почувствовать себя пилотом «Сопвича», следящим за ста приборами одновременно) — такой гибрид с рекуперацией даёт в этом плане чуть ли не больше возможностей, чем любая механика (особенно если он с этой самой механикой и совмещён, и дважды особенно — на малокубатурных движках, которые и без электрики-то по жизни работают с полным сжатием, потому что находятся или в состоянии ХХ, или в состоянии «тапка в пол», без промежуточных значений, а уж если лишнее/недостающее берётся с мотор-колёс, то они вообще в своей стихии).

ЗЫ: добавил хаб «гаджеты», потому что вот. Не то что бы прямо в формате «гаджета», но в формате устанавливаемой опции-то уж точно.

ЗЫЫ: а что будет, если перевести классический мускулокар 60-х/70-х на пропан? Запас по мощности у него дикий, мы ничего особо не потеряем. А что мы получим в плюс? Цену за км? Возможность вписаться в современные экологические нормы?

Короче, всем пятницы :)

Tags:
Total votes 1: ↑1 and ↓0+1
Comments11

@SystemSoft, вот если бы вы пришли к какому-то общему знаменателю в вопросах API c этой темой, глядишь, новая открытая платформа бы появилась…

Я бы вот прямо сам бы покодил под такие микро-игрушки (если бы сговорились на Си) :)

Чёрт, прямо обидно, что оскверняю супер-пятницу недостаточной абсурдностью мысли. Была с утра идейка предложить новый форм-фактор ATX-корпуса, но нет сил сейчас делать технический рисунок :(

Tags:
Total votes 2: ↑1 and ↓10
Comments1

А что б не вспомнить такой носитель данных, как перфолента?

Вот смотрите: допустим, 5 мкм лавсан, потом 1 мкм алюминий и снова 5 мкм лавсан. УФ-лазер с механическим приводом перфорирует поперёк ленты дорожки с шагом, скажем, тот же 1 мкм (УФ может и лучше, но пока не будем пальцы гнуть). Поскольку механика позиционирует луч с точностью до «куда-то туда» — применяем старые добрые старт- и стоп-биты.

На ленте шириной в 5 мм мы легко пробьём 4096 бит, старты, стопы и ещё останется запас с краёв. А чтобы прочитать её значительно быстрее, чем мы это макраме вымучивали — берём линейную ПЗС-матрицу от сканера (разрешение 1×16384 или примерно того порядка), сканируем всю ширину ленты разом, ну и (ваш Кэп) просто её протягиваем. Перекосы головки чтения относительно головки записи решаются кольцевым буфером — там хранится несколько последних строчек и нет никаких проблем найти там реальное положение дорожек, я такие синхронизации за пучок пятачок делал, задача детская.

В результате наши 4 килобита на микрон дают 512 терабайт в габаритах кассеты C-90, минус Рид-Соломон. Если я, конечно, по причине крайней усталости в нулях не запутался. Вот такая вот перфоленточка…

Tags:
Total votes 2: ↑2 and ↓0+3
Comments21

Провалявшись в мангале почти две недели, silnie raspiedrony akumulator так и остался на 3.8В, давление как будто немного повысилось — но это можно легко списать на жару.

Такая вот электрохимическая загадка.

Tags:
Total votes 3: ↑2 and ↓1+1
Comments0

BREAKING NEWS! Akumulator raspiedriło.

Silnie raspiedrony akumulator został znaleziony wczoraj.
Silnie raspiedrony akumulator został znaleziony wczoraj.

Не, ну не вчера, а неделю с лишним назад уж, поди. Но для красного словца…

В общем, прибираюсь на столе, беру древний планшет, который недавно очень всех выручил в качестве запасной электронной книжки, а в упаковке что-то щёлкает… Открываю — о курва! Аккумулятор «распедрило», да так распедрило, что он просто вскрыл корпус! Видимо, одна из последних державшихся защёлок и издала этот звук.

Сильно распедренный аккумулятор имеет интересное обозначение 3.7V — это не те ли модные «полимерные аккумуляторы с более высоким рабочим напряжением и итоговой эффективной ёмкостью»? Что-то подобное у меня случилось в GPD Win 1, кстати говоря. Но там обозначения не помню, как бы не 3.75 было написано. В общем, всё сложно у них с химией. Сложно и страшновато.

Предыстория у них примерно одинаковая: эксплуатировались до заметной просадки в ёмкости (этот — вообще «до потери пульса»), затем были брошены недозаряженными и дошли за счёт саморазряда до глубокого разряда. Именно в стадии глубокого разряда и начался педрёж.

«Ещё более третий», чем эти два, аккумулятор (из телефона, тоже брошенного без регулярной подзарядки) был когда-то, из чистого любопытства, с осторожностью заряжен от внешнего контроллера и повёл себя довольно-таки удивительно: послушно скукожился обратно (процесс занял пару месяцев, то ли микро-утечки, то ли отработал положенное какой-то катализатор), начал держать какие-то остатки ёмкости и вообще показал себя как потенциальный аккум для фонарика (если бы не было страшно им теперь пользоваться вообще). По второму разу его уже не педрит.

Решив повторить эксперимент, я запер аккумулятор в специально обученный стальной чан и стал заряжать (забыв измерить напряжение до начала, и горько об этом жалея — самое интересное ведь!) Однако, напряжение так и не стабилизировалось. Плата истерически замигала красным и синим, указывая на то, что аккумулятор постоянно теряет заряд сам по себе и его требуется подзаряжать примерно два раза в секунду (пусть и крошечными импульсами, но ведь требуется же!) Отключив плату, я продержал его где-то с полсуток и убедился, что саморазряд заканчивается где-то на 3.8 вольта, после чего напряжение более-менее держится.

Почти неделю повторяя это, я с удивлением обнаружил, что аккумулятор стабилизировался в своём новом качестве — в качестве подушки на 3.8 В. Эксперимент предварительно закончен, аккумулятор возложен в специально обученный кулёк и водворён в хорошо изолированный от всего горючего мангал (нет, буквально мангал!), а ещё через пару дней надо бы проверить — пошёл ли саморазряд ещё дальше 3.8 В (просто медленнее, поэтому выглядит стабильно) и не распедрило ли его ещё сильнее. Если он решит там всё-таки садануть от души — это его половые трудности, в мангале-то. У него даже возможности выскочить на реактивной струе оттуда нет, даже если он в итоге «пукнется».

Но всё-таки вопрос возник напряжённый: почему некоторые, особенно старые, работают до полной потери ёмкости (которая асимптотически приближается к нулю и даже хуже — к ёмкости никель-кадмиевого равного размера, которая отрицательна, лол), а некоторые — так и норовят пукнуться с фейерверком? Вариаций химии там море, Википедия не даст соврать. Как понять, какой аккумулятор будет педрить, а какой — нет? О LiFePO4 и LTO речь вообще не идёт, с ними всё ясно, их дед бил-бил — не разбил, баба била-била — не разбила, NASA били-били — и сертифицировали для космонавтики, а вот что обстоит с вариациями на тему «уже сегодня в вашем мобильнике»?

Tags:
Total votes 11: ↑10 and ↓1+12
Comments10
Как можно видеть, строки 5 и 6 используют вдобавок уменьшенный интервал.
Как можно видеть, строки 5 и 6 используют вдобавок уменьшенный интервал.

Была даже абсолютно безумная мысль замутить электронную книжку на таком вот сегментном принципе, но не знаю, что меня больше останавливает: глазоломность шрифта или перспектива паять около 10 000 светодиодов в размере 0402 (или хотя бы 0603).

ЗЫ: добавил «ненормальное программирование» просто потому, что оно напрашивается сначала в эмуляции погонять и оценить степень невыносимости такого шрифта.

Tags:
Total votes 10: ↑10 and ↓0+14
Comments3

Частично переписал рейкаст по Брезенхему-Доку (нет, ну правда, «колесо пред-рассчитанных лучей» от @Swamp_Dokдало прямо роскошный буст к скорости) под чистые 8 бит старого доброго 6502-го.

Всё, как и обещал в камменте: 16 бит в первом приближении как бы не быстрее 8 бит, потому что выковыривать нибблы из байта на процессоре, который даже сместить на 4 бита одной командой не может (надо использовать 4 сдвига на 1 бит) — такое себе, а в этих 16 битах старший и младший байты живут в основном самостоятельными жизнями, довольно редко взаимодействуя в переносе (что ещё больше углубляет мой восторг от гениальности алгоритма «Брезентыча», если это вообще возможно). Я уже мысленно собрал уровни из тех замечательных крошек-чанков 16х16 клеточек и даже продумал, как бы нам хранить в одном байте 4 клетки, чтобы пореже из памяти тянуть (итого 2 бита на клетку — пустота, стенка, первый моб и второй моб из двух возможных на один чанк), да и даже как именно нам связывать такие чанки, как анимировать переходы и т. д, но, судя по всему — не пригодится. Не похоже, чтобы было где хранить данные для повторного использования, не похоже, чтобы можно было быстро вытащить нужные биты.

Разберу сейчас подробно один из 8 вариантов ветвления (раньше было два — шаг по X, смещение по Y и наоборот, а сейчас добавились ещё и варианты для разных знаков шага и смещения, ибо индивидуальная обработка каждого случая позволяет ещё кучу тактов сэкономить). Самый простой вариант — первый, X и все в плюс.

Дам этот кейс скрином, ибо.
Дам этот кейс скрином, ибо.

Координаты игрока мы храним нормальными 16-битными, 8 бит на номер клетки и 8 бит на координаты в ней. Работать с ними мы будем один раз — в рамках физики. Для рейкаста они нужны отдельно в виде старшего байта, отдельно в виде младшего. Три из них мы видим в трёх верхних строчках, где они копируются в координаты луча. Четвёртая — чуть ниже, где BrezToStart вычисляется «по-старинке», там я ещё не изжил пекашный код. Зато смещение мы берём (четвёртая строчка) уже из «колеса», расчётов — ноль!

Дальше мы видим, что предыдущее значение координаты смещения стало 8-битным. Дело в том, что нам не нужно значение клетки — мы его и так знаем. А вот пиксельное значение — запомнили.

Дальше мы делаем 8-битное сложение. Первая величина — младший байт координаты смещения POS PIX, вторая — (long)BrezToStart*(long)RayDY/RayDX. Её я тоже пока вычисляю явно — но она, несомненно, напрашивается на табличное представление. В результате имеем новый POS PIX и флаг переноса.

Тут, как я уже намекал, мы можем не проверять память, если не было переноса. Ну, и полного 16-битного суммирования не делаем, максимум — инкремент (в отличие от компилятора, мы знаем, какие бывают суммы, а какие — нет).

Проверка памяти требует вычислить довольно длинный адрес. Тут я хочу пойти на грязный хак: возможно, сделать карту [32][256], чтобы ничего не умножать на 64, и старший байт писать прямо в код, в тело инструкции LDA. Кармак в Wolf3D, помнится, раздухарился ещё жёстче… да, хранение переменной прямо в коде, да ещё в 4 разных местах — тоже потребует копирования её туда-сюда. Но после входа в «основной цикл шагания» обратно мы уже не возвращаемся — возможно, я придумаю способ держать её и в коде, и в одном экземпляре. Это позволит проверять карту простым LDA $DEAD, X (где X — вторая координата, которая до 256, а вместо $DEAD мы подкидываем нашу переменную, в case 0 это будет POS CELL, которая меняется от адреса карты до него же плюс 32<<8). Хотя, возможно, через Indirect я это сделаю ещё быстрее! Не попробуешь — не узнаешь, собственно, почему я и «подсел» на эту задачу. Никакие Factorio рядом не валялись :)

Функция AddToZBuffer8Bit тоже демонстративно отрицает 16-битное суммирование — фишка в том, что переносов там не возникает! Поэтому все аргументы вычисляются через 8-битные суммы.

Ну, и косые стенки я убрал, а смещение всей сцены на доли тайла — вернул. Надо какой-то шлем там нарисовать, который «не успевает за мышкой» :) Тогда можно рефрешить рендер «через кадр», пусть дёргается вместе со статусбаром — типа фича :)

Tags:
Total votes 4: ↑4 and ↓0+6
Comments16
, отчитываюсь: дыня серебристая «армянский огурец» на эхиноцистис — 2 из 2-х ОК. Снизу она, сверху — арбуз, «нервных огурцов» на отдельное жилище каждому не хватило.
@Demosfen, отчитываюсь: дыня серебристая «армянский огурец» на эхиноцистис — 2 из 2-х ОК. Снизу она, сверху — арбуз, «нервных огурцов» на отдельное жилище каждому не хватило.

Второй эксперимент фотографировать не стал, но там то же самое. Неделя, полёт нормальный. Развивается не особо быстро, но я её привил ещё до того, как семечко покровы сбросило. Да и арбуз сверху что-то на себя отжирает, конечно.

Вторую семядолю «нервный огурец» потерял при другом эксперименте, менее удачном (кажется, я попал в полость внутри стебля вместо стенки). Итого он уже третью прививку на себе несёт (всхожесть его оказалась ниже ожидаемой и эксперименты стали напоминать коммуналку). На втором эксперименте, кстати, тоже сверху ещё и арбуз «вторым пассажиром», как и тут. Но там он «в укол», в «толстомясую» часть, где стебель ещё сплошной (около сантиметра длиной, потом там полость начинается).

Надрезал, срезал, приложил к мясистой стенке стебля, стараясь, чтобы не провалилось в полость, а прижалось косым срезом именно «к мясу». Судя по промежуточному результату — таки прижалось.

Первые эксперименты уже переросли настолько, что чуть ли не цвести собираются, а на дворе пока только апрель начался. Поэтому я и не особо рассчитывал на что-то, кроме эксперимента как такового. Да и сорта арбузов там «что за столом выплюнул», никак не связанное со средней полосой.

Дыня, которая просто дыня — у меня тоже как-то больше похожа на труп.

Итого можно сказать, что удалось «запрячь» это похабное инвазивное растение в какую-то полезную деятельность. Ещё бы научиться на корне борщевика кориандр выращивать — вообще супер было бы :)

Tags:
Total votes 3: ↑3 and ↓0+5
Comments2

Интересно, до какой скорости можно разогнать 6502-е ядро с современными технологиями?

Допустим, у нас есть чиплет «6502 + 64К SRAM», выполненный в максимально быстром исполнении, вплоть до экзотики типа арсенида галлия (ядро проектировали не дураки и уложились в три с половиной тысячи транзисторов, что тогда было немало для кремния, а сейчас — для арсенида галлия тоже, насколько я знаю, очень до фига).

…и есть несколько кремниевых чиплетов с умножителем, DRAM и прочей веселухой. Или даже один кремниевый чиплет с этим всем, плюс с бутлоадером, который прогружает наши 64К с некоего SPI и после этого снимает с 6502-го ресет.

Собираем их в микросборку, цепляем к портам 6502-го, которые замаплены в ключевые адреса его крошечной памяти.

Команды 6502-го выполняются фиксированное время, причём довольно небольшое (в тактах. А арсенид галлия этих тактов нам даёт не просто много, а очень много). Пульнул той же DDR указание, занимается своими делами, через некоторое время прочитал от неё ответ. Мы с точностью до команды знаем, когда за ним лезть в порт.

Фактически мы получаем, что у нас в SRAM крутится микрокод. Но мы имеем к нему полный доступ и можем напихать туда команд типа «логарифм по основанию ква с половинкой кря и ограничением результата от гага до муму», смотря какие мы там нейросети, графоний или обработку звука мы там делаем.

Ну то есть в камментах я такое уже высказывал, но тут мне именно сама архитектура больно шибко зашла. Там даже система команд просто кричит — «сделайте на мне движок микрокода!!!»

Вопрос, правда, в количестве транзисторов в GaAs. SRAM шибко большая, но там за единицу времени переключается только одна ячейка, а остальные спят сном праведника. А вот три с половиной тысячи ключей самого 6502-го могут выдать огоньку, превышающего возможности технологии. Тут я не шибко великий технолог по чипам, увы.

Tags:
Total votes 3: ↑3 and ↓0+5
Comments7

Ну вот, в очередной раз напророчил, блин.

Три года уже с того моего видео, что процессорная плата и материнская — должны быть разными сущностями. Или даже не три, лень точно смотреть, а «Труба» люто округляет даты.

Вот и дожили до дня, когда AMD на вопрос о съёмной оперативной памяти отвечает — «невозможно, слишком длинные линии получаются».

Если бы процессор вставлялся в сокет на процессорной плате, а она бы втыкалась в материнку руткомплексом экспресса — этой проблемы бы не было. Сокет практически не удлиняет линий процессора, а процессорная плата с распаянной памятью — по сути тот же SODIMM, но с произвольной разводкой и поэтому не страдающий от лишней длины линий.

Не суть важно, вынуть старый (или сдохший) SODIMM из материнки — или вынуть из него процессор и переставить в новый, большой и живой.

А вот следующий шаг, который надо сделать — и который опять никто не сделает. Посмотрим ещё через три года, как я снова был прав, но рыночек снова порешал по самому тупому и деструктивному пути.

Всё стало плохо в тот момент, когда айтишники стали плыть по течению, как простые потребители.

Tags:
Total votes 3: ↑2 and ↓1+4
Comments0
Я отмоделировал на выходных, как должен смотреться «Вольф на Денди».
Я отмоделировал на выходных, как должен смотреться «Вольф на Денди».

Я сделяль. Ну как «отмоделировал» — ну, так, плюс-минус. Но в целом — да, из тайлов 32×30, часть которых имеет скошенные углы, можно сложить вполне играбельный шутер. Основной адресат, конечно, @Swamp_Dok— но побегать-поглядеть приглашаются все желающие, ибо появилось наконец где побегать и на что поглядеть.

Досбокс кладёт наглухо — код «буквально-учебно-школьный», оптимизации ровно ноль. Чтобы лучше читалось, ага. Так что если оська в принципе не умеет в DOS16 — будет пошаговая стратегия :(

Я б не стал это делать под DOS16, но просто это не проект-самоцель, а ответвление «по-быстрому» от другого проекта, чисто любопытство удовлетворить. Поэтому так уж вышло. Заранее пардон всем тем, кому я любопытство раззадорил, а побегать не дал.

Tags:
Total votes 5: ↑5 and ↓0+9
Comments27

@Demosfen, скажите, это считается за хорошую, среднюю или плохую совместимость?

Если не очень видно — могу вообще прямо макро сделать в области срастания.
Если не очень видно — могу вообще прямо макро сделать в области срастания.

Арбуз взял абы какой, без планов выращивать, просто попрактиковаться. Чего ели, из того и набрал семян. Прививал на «нервный огурец» эхиноцистис (ну потому что это не настоящий совсем уж «бешеный огурец», но тоже какой-то не самый уравновешенный из огурцов — выстреливает семенами из своих двухствольных плодов), метод — «в укол», то есть просто лезвием безопасной бритвы вырезал точку роста и косо срезанный арбуз туда ткнул, по фотке, наверное, видно, что срез смотрел влево (там хоть как-то срослось, а справа всё по нулям, надо было шкурку чуть поскоблить, наверное).

Прижал нано-прищепкой (деревянные такие), губки узковаты (сжимают очень локально и сильнее, чем нужно — это усилие бы на площадь в 2-3 раза больше распределить…) и накрыл потом отрезанной бутылкой. Снизу осталась огромная щель, заткнул её влажной тряпкой и больше не трогал — тряпка сама высохла, потом её достал, ещё через пару дней бутылку снял, ещё вот дня два без всего, только подсветка и полив — вроде полёт пока нормальный.

Рядом виден второй колпак (справа) — под ним всё так же, но пока на стадии «тряпка высохла, вынимаем тряпку». Ещё третий запланировал «в шесть семядолей» — привить арбуз на арбуз и потом на «нервный огурец», но огурец ещё не подрос :) Больше семядолей для бога питательных веществ, даёшь нечеловеческую многоножку! :-D

Оно должно так выглядеть или там явные признаки того, что всё опять сдохнет, как в прошлом году с лагенарией у меня (не) вышло?

Tags:
Total votes 2: ↑2 and ↓0+2
Comments8

Специально для людей, озверевших от одинаковости дизайна телефонов-лопат, я решил вытащить из древних архивов сугубо пятничный шизодизайн шизотелефона в форме эдакого магического др… кристалла.

Магический дристалл Телефон в форме шестигранной призмы. Чисто выпендриться, не ищите в этом смысл.
Магический дристалл Телефон в форме шестигранной призмы. Чисто выпендриться, не ищите в этом смысл.

Дизайн безумно древний, досмартфонной эпохи, поэтому пришлось его немного додумать. Шиза имеет шесть рабочих поверхностей, образующих непрерывный (или какой уж удастся собрать из доступных на рынке) сенсорный OLED-экран. Внутри находится гиродатчик, отвечающий за то, чтобы работал или один большой экран, повёрнутый к пользователю, или один большой и смежный с ним маленький. При вращении экраны переключаются, ну а контент при этом скроллится — то есть навигация по полному пространству экрана осуществляется не свайпом, а «разматыванием свитка». Какой именно экран повёрнут к пользователю — пользователь изначально задаёт коротким тыком по этому экрану, дальше его удерживает гиро. Причём именно коротким, т. к. нажатие и удержание на противоположный экран вызывает появление точного курсора, что позволяет не закрывать экран пальцами, двигая ими «по задней стенке», и попадать в мелкие элементы (да что уж там, даже начертить что-то несложное, типа этой картинки к статье). Пока указательные или средние пальцы на задней стенке удерживают курсор — тык большим пальцем по экрану считается не туда, куда ткнул палец, а туда, где был курсор, то есть телефон работает в режиме «мышка-тачпад с кнопками».

Концы «кристалла» скрывают под собой камеру (одну, естественно — зачем ему вторая, если его можно просто повернуть), микрофон, динамик и снабжены двумя слегка затупленными серебристо-нержавеечными «остриями» (точнее, «тупиями», чтобы ладони не разодрать). Для красоты, прочности (догадываетесь ведь, чем именно он будет обычно ударяться при падении?) и в качестве аварийной зарядки (основная — беспроводная), путём подачи 5-8 вольт в любой полярности. Сам девайс состоит из эпоксидки во имя хоть какого-то практического смысла (полная непотопляемость), но «тупия» отвинчиваются, чтобы добраться через водозащитную резинку до симки и SPI, т. к. нам это чудо как-то шить-перепрошивать придётся явно не один раз, в том числе и «раскирпичивать» наверняка.

Аккумулятор влезет весьма немаленький, но из-за проблем теплопроводности (да и из-за закрытости документации на мощные SoC) придётся ставить мелкий холодный проц «из открытых» и в плане ведроида плясать от всяких проектов типа «Ведро for x86» или скорее «Репликанта». А подходящую для его форм-фактора клавиатуру уже изобрели.

Tags:
Total votes 1: ↑0 and ↓1-1
Comments0

Уловисто пошли «затылочные лампочки». В этот раз, правда, не «Старт», а «Эра» — без характерного отверстия в коробке, но внутри всё вполне даже «затылочное» :)

Крышка снимается плоской отвёрткой легко, защёлкивается обратно плотно, резисторы 5.1 и 3.6, и, главное, какое замечательное отверстие осталось от CON2 :) Из-за него я в этот раз срезал 5.1, то есть занизил мощность не очень сильно (и даже не срезал, просто перерезал дорожку). Дело в том, что отверстие позволило мне с превеликой осторожностью просверлить «юбку», не шуранув сверлом в проходящие там провода (не знаю, правда, насколько это электробезопасно — обнажать скрытый там под пластиком алюминий!) и получить длинную «самоварную трубу» с хорошей тягой (лампа работает без абажура, цоколем вверх).

Со «Стартами» отличить лампу «с той схемотехникой» от лампы с немного другой «смехотехникой» можно было в большинстве случаев по габаритам, указанным на коробке (хоть на миллиметр, а обычно отличаются). Как быть с «Эрами» — не знаю, статистики пока не набрал. Это мой первый «улов», но довольно удачный — «прямоточная труба» вот прямо порадовала :)

Tags:
Total votes 2: ↑2 and ↓0+4
Comments4

Information

Rating
2,005-th
Registered
Activity