Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Декабрь 2024
ПнВтСрЧтПтСбВс
1
2345678
9101112131415
16171819202122
23242526272829
3031
Теги
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

16 ноя 2024 Сб Новое веяние графического построения

Наконец-то у меня появилась возможность просто взять и сделать программу, которая бы рисовала кодом, а не это вот все. Теперь я могу просто брать и в своей админке проверять то, что не мог проверять раньше, а именно нарисовать например, вот таким кодом:
cls(); let cat = "CAT on THE KittyCat";
for (let i = 1; i < 100; i++) circle(160,100,i,clr(i));
print(cat,86,11,clr(15));
print(cat,85,10,clr(0));
И при этом получиться такая вот картинка.
mg8ga2-noname.png
Причем совершенно невозбранно. Это классно, ведь теперь есть возможность быстро рисовать и проверять кодом и загружать картинки вот сюда в блог и не только. Раньше мне приходилось очень сложно и много рисовать в Quick Basic, но эти времена ушли и стали наступать новые, более интересные времена.
Еще у меня есть микросхема EPM240 и я отчаянно пытаюсь придумать ей применение. Один из вариантов, сделать для нее подключение к микросхеме памяти и юзать на полную катушку. С другой стороны, надо бы придумать что-то поинтереснее, чем просто создавать одно и то же постоянно. Самым удобным методом было бы конечно, загрузить программу в SRAM и там исполнять ее, но проблема в том, что эта SRAM работает срамно медленно. Ну вот если посудить, то чтобы запросить один байт памяти, требуется отослать 8 бит команду, 16 бит адреса и 8 бит данных (чтение или запись). Медленно, крайне медленно, даже если запускать на 12.5 мгц, то это скорость 390625 байт в секунду. Для сравнения, спектрум читал 875000 байт в секунду, что быстрее в 2.24 раза.
С другой стороны, если отбросить все умозаключения и страдания из-за скорости, то что меня парит? 381кб в секунду это не прямо настолько мало, чтобы совсем ничего не делать. Но проблема еще в том, что графику надо бы где-то отображать... То есть, если еще и читать из этой памяти графику, то скорость работы процессора вообще будет невероятно медленной.
Итак, представим что надо отобразить экран 256 на 192, это значит что придется запрашивать на скорости 12.5 мгц, а значит что эффективных тактов будет 256/400, так как строк по ширине у VGA для разрешение 640 на 400 будет равно 800. Итак, это дает 64% загрузки, остается лишь 4.5 чтения из памяти на один сканлайн.
Хорошо, это слишком медленно и представим что мы следуюший сканлайн вообще выводить не будем. Это дает 400 тактов / 32 = 12.5 чтений или записей на 1 линию. Итого, на две линии будет суммарно около 17 чтений или записи. Всего строк 192, а значит, 3264 байт на кадр. Помимо 192 строк, остаются свободными 65 строк на гашение кадра и прочей лабуды. Это дает 65*12.5 = 812 байт на кадр.
Итого 4076 байт на кадр или 4076x60 = 244560 байт в секунду, 238Кб в секунду. На самом деле, это не так плохо! 40% падения производительности с пропуском сканлайнов.
И получится то, что можно с последовательной SRAM выводить как графическое изображение, так и выполнять код одновременно с выводом, что очень неплохо. Надо теперь подумать, как бы реализовать такую минималистичную систему и процессор для этого дела. Ведь количество LE крайне ограничено. Смогу ли я вообще сделать в таком небольшом объеме хоть что либо? Кто знает.
Теги: Сайт

27 мая 2023 Сб Что-то я долго сюда не писал

Мне писать то нечего было, не вел сайт, ничего не делал почти два месяца. Да что почти, два месяца и не писал. Недавно вот только начал опять что-то делать, чуть поправил сайт кое-где, и написал пару программ по трехмерному бейсику. Довольно интересная задача, конечно, по бейсику была, где нужно трехмерный графоний сделать. Я сделал, только скорость не устраивает, конечно. Надо переписать либо на ассемблер, либо на Си. Лучше на Си, потому что асм хоть и хорош, но уж слишком медленный и писать на нем тяжело.
Буду улучшать сайт постепенно. Сделал вот на сайте некоторые улучшения, чтобы проще было статьи синхронизировать, а еще надо бы доделать так, чтобы медиафайлы загружались нормально.
Еще, связанная с трехмерной графикой, тема. Мне давно хочется сделать полноценное 3Д, и при этом я пробую разные платформы. Например, можно было бы попробовать сделать трехмерный ускоритель именно на Verilog, если это получится у меня.
Теги: Сайт

15 янв 2023 Вс Статья про код Хэмминга

Как же давно я хотел написать эту статью по этим кодам, и вот день этот настал и я смог затащить эту изи-катку, как выражаются CS:GO-еры. Интерес к этому коду у меня возник еще тогда, когда я обнаружил, что SDRAM-память для Марсохода2 у меня жестко сбоит и совершает непоправимые ошибки. Видимо, память битая оказалась, что очень плохо. Тогда я стал искать, как это исправить и наткнулся на статью о том, что существует волшебный метод, как исправить единичные ошибки в сообщении. И это оказался код Хэмминга.
Сначала я пытался его понять, но у меня не получилось разобраться в самой сути. Я читал в разных источниках, но не находил простого объяснения, как именно это дело работает. И вот вчера как говорится, психанул и начал искать. Вначале сам прикинул, как это может работать, а потом прочел прекрасную статью от хабраюзера и на меня прямо снизошло Знание!
Сообщениеr0r10r2123r34567
Бит №123456789101112
Бит #0xxxxxx
Бит #1xxxxxx
Бит #2xxxxx
Бит #3xxxxx

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

12 янв 2023 Чт Добавил возможность поиска по тегам

Любой блог основан на том, что:
  • В нем есть записи по дням
  • Есть теги, по которым можно искать
Так вот, я сделал теги и это хорошо. Теги будут отображаться справа, выделяясь размером как наиболее частые например, и как менее частые. Теговая система в целом, не то что удобна или неудобна, а в это как дань традициям. Какой же блог без тегов?
Это был глубоко риторический вопрос. В общем-то, потихоньку делаю сайт, как получается, как могу. В дальнейшем обязательно надо добавить улучшения в календарь.
Теги: Сайт

10 янв 2023 Вт Автоматический подбор NAND

Мне только что пришла одна интереснейшая мысль, которую я постараюсь как-нибудь реализовать. Дело в том, что у меня есть микросхема К155ЛА3, которая, как все знают, является весьма популярной микросхемой. Так вот, тут подумал, что с ее помощью можно делать довольно много цифровых устройств, в том числе даже триггеры, но, а насколько хорошо выйдет у этих 4-х элементов симулировать комбинаторную логику? С кое-какой она успешно справляется, например, сделать мультиплексор не составит труда. А демультиплексор? Вот тут уже задача посложнее. Я не смог найти быстрого решения, и потому придумал одну вещь. Что если переложить задачу поиска необходимого кода на компьютер?
То есть как. У нас есть 2 входа, 2 выхода (например), и 4 элемента NAND с 8 входами. На каждый из входов можно прицепить один из 4 выходов NAND и 2 входа (тут опционально настраиваем).
Задача - найти такую комбинацию, при которой выходы будут соответствовать входам в комбинационной схеме. Для этого придется перебрать (2+4)^8=1679616 различных комбинации брутфорсом. Это почти 1.7 млн комбинации. Так вот, пусть этим займется великий и могучий Javascript! Я сделаю утилиту прямо в браузере, чтобы он считал. Не сегодня может, не знаю, но как смогу.
Это будет интересно. Заодно, возможно, подберу комбинационную схему DEMUX, если она существует, конечно. Я тут статью уже 3-й день написать не могу по микросхеме К155ЛА3, застрял на демультиплексоре. Помню же, раньше его делал! Но забыл. И потерял схему. Как только мне удалось, без понятия. Может быть, я вообще совершил ошибку и не сделал его, а подумал что сделал.
Теги: Сайт, Идея

07 янв 2023 Сб Ностальгия и не только

Мне нравится думать о прошлом, о том, что там было все хорошо, не считая то, что на самом деле, там было так же, но когда думаешь о прошлом из будущего, то все равно кажется, что там все хорошо, потому что прошлое уже прошло, а настоящее и будущее еще нет и это, на самом деле, пугает. Ведь будущее не определено и это как раз то, что меня напрягает больше всего, а именно — неопределенность. dash2
Хочу сделать сайт так, чтобы он был уютным, чтобы хотелось заходить и читать что-нибудь, изучать или просто отдыхать. Благодаря этому блогу, может быть, если мне не надоет сюда писать со временем, этот сайт и будет таким, о котором я мечтал всегда.
Вчера вечером сделал очень важную фишку, это создал код во вкладке Сервисы, где можно будет генерировать различные модули для ПЛИС, не скачивая их например, с шаблонов, а создавая, просто нажав на кнопку "Генерация", и модуль появляется откуда ни возьмись. Сегодня хотел бы встроить еще генерацию отладочных плат моих, у меня их в целом-то 5, но сделаю только для двух самых важных для меня в данный момент — это Циклон 4 и Циклон 5. Остальные, если будет время, доделаю потом.
А теперь можно и рассказать о моих страданиях по поводу ютуба, которые у меня никогда не прекращаются, вот уж наверное с 2012 года или даже раньше. Этот ютуб как кость в горле, ни туда ни сюда, болтается себе. Один раз у меня было там 100 подписчиков, но я не выдержал и удалил его. Надо осознать то, что ютуб — это вообще не моё, и что мне там лучше не появляться, потому что у него есть большое количество недостатков, такие как, например, а что мне там делать? lol Я считаю это огромным недостатком. Столько лет уже пытаюсь выйти в ютуб и не могу, и не смогу никогда, так что тогда пытаться, стараться?
Вот у меня есть сайт, где можно будет писать то, что захочется и на этом всё. Это самое лучшее решение из всех.

05 янв 2023 Чт Доделал верстку под мобильники

Итак, вчера после того как написал хвалебный псто в отношении своего нового блога, лег я короче, поспать и думаю, давай достану телефон и посмотрю, что да как. А там так разъехалось, что я ужаснулся просто. Решил утром встать и поправить это нехорошее дело на хорошее дело, и вот теперь все нормально работает.
Еще вчера перед сном смог внедрить такую систему, чтобы можно было несколько canvas-приложений встраивать прямо в посты и это уже на самом деле, очень давняя фича, которую я хотел внедрить. Я еще ее не доделал, но суть такая, что например, я пишу код в js для специального класса, который у меня тут есть и он довольно хорошо сделан в целом, и в пост встраиваю эту иллюстрацию. Вот пример такой иллюстрации. Это куб, который был взят из статьи:

Рис 1. Кубойд вращается как куб
Сегодня планирую еще доделать несколько вещей, в том числе генератор памяти для плис, универсальный под все altera, и cyclone, которые у меня есть. Там код реально, универсальный для всех чипов, надо лишь только сделать, чтобы можно было через drag&drop бросать код и его конвертил как надо. Это один из вариантов, чтобы с сайта можно было прямо скачивать.
Мне нравится мой сайт, он уже представляет из себя не только справочник, но и блог. Хорошо бы еще статьи написать дальше, но как известно, лень — плохая штука, не дает этого сделать.
А вообще за последние 2 дня я довольно сильно отрефакторил код своего сайта, чтобы мне самому было еще удобно разрабатывать под него. Раньше все валялось не пойми где, сейчас вот всё в относительном порядке.
Теги: Сайт, JS

04 янв 2023 Ср Самый первый пост в блоге

Ну что, сегодня я наконец-то, смог сделать то что давно хотел, это блог на собственном сайте. Для этого мне пришлось целый день поработать над ним, но по итогу, все получилось. Да, не до конца, тут много дел еще по сути то, надо еще картинки уметь красиво подцеплять, а не так как сейчас, через сложные загрузки. Надо проще все сделать, чтобы добавил картинку и она тут появилась. Также надо доделать календарь, теги, перемотку по страницам. Все это не прямо актуально в данный момент, но после того, как тут наберется достаточное количество записей, это станет важным.
Я так то очень ленивый и потому делать буду только когда совсем припрёт. Да, смайлы бы добавить, они бы разбавили однородный скучный и унылый текст. Кстати, смайлы надо не простые, а те, которые в аське были.
Так вот, мне кажется, писать я сюда в этот блог почаще буду и побольше. На разные темы, в том числе и на тему моих страданий и мучений. Этот блог хоть и не скрыт от посетителей, но я закрыл доступ к нему из robots.txt, чтобы нельзя было найти его через поиск гугла. А зачем искать этот бред, что я тут пишу? Оно того не стоит. Именно для того, чтобы высказаться, я сюда и пишу всё.
Да, не прямо все я буду сюда писать что хочу, но уж побольше, чем обычно пишу в статьях. Там все же, надо материал подавать не так... Кстати пока писал, подумал что надо создать возможность внедрять сюда canvas и скрипты выполнения что-то на canvas. Подумаю над этим, конечно. Но потом, ибо девиз прокрастинатора — это "потом". А я как раз именно прокрастинатор.
Теги: Сайт
<< Ранние записи | Поздние записи >>