Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

07 окт 2024 Пн Блог чёкнутого Лиса

Есть такая привычка у меня, писать программы снова и снова, снова и снова, снова и снова, и каждый раз они начинаются как обычно:
110 PRINT "HELLO WORLD! ";
220 GOTO 10
И это классно, потому что мне нравится не вылазить с песочницы и делать одно и тоже годами, такова моя судьба. Теперь вот моя идея заключается в том, чтобы писать в блог все что я могу придумать по поводу того, что такое 8088, который является моим любимым процессором и который делаю годами и никак сделать не могу, потому что лень заела. Не знаю как бы его сделать, но начну.
Хочу его сделать для OMDAZZ EPC4 на 10К элементов, чтобы было. А там как пойдет. В общем и целом, план такой. Есть система регистров [ax, bx, cx, dx, sp, bp, si, di] и этих регистров на самом деле, всего лишь 8. Есть и другие регистры, сегментные [es, cs, ds, ss] и специальные [flags, ip]. Они тоже являются регистрами, но доступ к ним другого характера.
Как и обычно, процессор мне надо сделать именно простой, напоминающий 8088, потому что он простой. На этот раз я хочу попробовать вариант сделать не как раньше делал, через сначала считывание опкода, префиксов, а вот попробовать сделать считывание опкода и выполнение его. Пока не придумал как это будет точно, но посмотрим по ходу дела, как говорится. Посмотрим... Например, можно сделать сохранение регистров на негативном CLK, почему бы и нет, спектрум так вот смог сделать.
1// ЛИСНЫЙ ПРОЦЕССОР 8088
2module fox86
3(
4    input               clock,      // Тактовая частота 25
5    input               reset_n,    // Сброс процессора
6    input               ce,         // Разрешение работы процессора
7    output      [19:0]  address,    // Адрес 1Мб
8    input       [ 7:0]  in,         // Входящие
9    output reg  [ 7:0]  out,        // Исходящие
10    output reg          we          // Разрешение на запись
11);
12endmodule
Так выглядят процессоры, которые создаются лисами. Стандарт. Теперь переходим к разработке системы. Обычно я делаю сначала считывание префиксов, после идет разбор байта modrm, считываются данные операндов из регистров или памяти, потом выполняются и записываются обратно. Это тоже стандартная схема работы. Лучше я пока придумать не смог.
Теги: Дневник

28 июн 2024 Пт Новый проект

Свой проект я буду делать постепенно и не спеша. Еще мне хочется много чего сделать, например, у меня есть новая ПЛИС, CE4 на 10К элементов, которую я так полностью еще не проверил до конца. Сегодня мне бы хотелось проверить ее работу, запустить VGA поначалу, попробовать подключить PLL, создать простой стартовый шаблон для начала работы.
Еще хочу сделать вывод экрана тоже, в 128 на 128 точек, из памяти. Могу сказать, что буферизация тут будет именно двойная, не иначе. Количество памяти, которое требуется на такое разрешение равно 128 x 128 (16384 пикселей), но так как в 1 байте 2 пикселя, из-за 16-ти цветов, то для одного видеобуфера необходимо всего лишь 8К. Однако, учитывая двухбуферную память, мне все равно потребуется 16К.
Всего в чипе CE4 встроенной памяти на 46К. Вычитая оттуда видеопамять, получаем свободное место 30Кб всего лишь. В этой памяти дополнительно будет храниться область спрайтов, на 256 знаков. Это займет 8x8x256 пикселей, что равно 16К пикселей. И да, 16 цветов, значит будет 8К.
Остается всего лишь 22К памяти для программ и данных. Это мало, на самом деле. Несмотря на это, все равно достаточно для написания простых игр.
Теги: Процессор

27 июн 2024 Чт Впечатление от PICO8

Признаться, меня крайне впечатлил проект PICO8, о котором я узнал совсем недавно и сильно заинтересовался им. Мне захотелось создать аналог такого проекта, но с использованием Верилога и ПЛИС. У меня нет задачи полностью повторить проект или сделать его абсолютно совместимым, я хочу сделать именно аналог. Для этой цели потребуется много чего.
  • Сначала, необходимо создать среду разработки, SDK
  • Для этого мне необходимо реализовать какой-нибудь процессор, чтобы эта среда могла запускаться
  • Поэтому я создам вначале процессор LIS собственной разработки
  • Параллельно созданию SDK, мне также потребуется VM (виртуальная машина), которая будет исполнять скомпилированный из LUA код. То есть, создам еще один процессор, но выполняющий более высокоуровневые операции.
  • Написать программное обеспечение
Задача крайне сложна, и я для того, чтобы собственно, создать процессор LIS, мне еще потребуется для него ассемблер. Да, ассемблер не так сложен, как LUA, но все-таки, желательно сделать так, чтобы он работал не только из обычного компьютера, но и сам смог на процессоре LIS ассемблировать в код процессора LIS, собственно.
Еще одна интересная деталь. Я хотел бы попробовать использовать SDRAM для того, чтобы запускать программы там, поскольку в первую очередь, байткод VFM8 (Virtual Fox Machine 8) будет исполняться непосредственно там.
Теперь остается вопрос, как я буду писать код? Скорее всего, я буду просто записывать его под видео, накладывать нейромузыку Яндекса и просто выкладывать в виде блога разработчика.
Теги: Процессор

27 апр 2024 Сб Снова процессор 8088

Я тут кое-что понял, и понял следующее. Хочу начать разработку снова процессора 8088, слегка усовершенствованного, на верилоге, для того, чтобы поставить его на плис CYCLONE, и запустить на нем программное обеспечение, которое напишу я сам.
  • БИОС
  • Операционная система, минимальная
  • Простые игры
  • Демонстрации
Ну в общем, создать собственную платформу на основе корпуса Электроники МС 1502 чтобы там было следующее:
  • ПЛИС CYCLONE с 25 Мгц генератором
  • Клавиатура PS/2 (может быть и мышь)
  • Карта SD
  • SDRAM
  • VGA на 640 x 400
  • Аудиовыход
  • Джойстик для SEGA
  • Поддержка картриджей расширения в качестве шины ISA
И может быть, что-то еще добавится в процессе. Например WIFI. Вот такая моя мысль, что хочется сделать.
Теги: Процессор

15 фев 2024 Чт Новогодние игрушки, мишки и кормушки

Жизнь такова, что Новый Год наступает всегда внезапно и потому надо готовиться к нему с самых малых лет, пока железо еще горячо и не остыла лава (потому что пол — это лава). Зачем я пишу этот ненавистипсто? Просто потому что так положено, а если положено, то и брать нельзя, ибо положено не моё, а чужое что-то. Думаете, я с ума сошел? Вы совершенно верно думаете! Так и есть, я слетел с катушек и теперь я не тот Лис, а другой, обновленный, с совершенно новым чердаком. Теперь это мега- пупер- супер- Лиииис, безумный, веселый, беззаботный, игрииииивый!
НЕТ
Все что я написал выше, чушь собачья. Просто написал для того, чтобы поддержать образ якобы безумного ученого, у которого постоянно рвутся реактивы, все вспыхивает, горит, пламеника, и так далее. Детям такое нравится. Но я не умею ничего делать такого, чтобы кому-то что-то нравилось. Всё слишком плохо, для этого мира.
Из размышлений о том, что в общем-то, хотел бы сделать:
  • Контроллер SD-карты, написанный на VeriLOG;
  • Нейронную сеть в ПЛИС без обучения, просто нейрораспространение информации;
  • Тормозной рендеринг треугольников;
И то, и другое слишком сложно сделать, потому что мне лень.
Теги: НовыйГод

19 янв 2024 Пт Наступающий Новый, 2025 год

Знаете, мне надоело думать о том, что как будто Новый Год 2024 наступил. Его нет, я уже хочу его свайпнуть влево. Вот в чем смысл всех этим приготовлений к Новому Году, если через год опять будет Новый Год? С серьезными щщами громогласно заявляю — сегодня, 19 января, я буду готовиться в Новому, 2025 году!
Время скоротечно, потому что через один год мой пост потеряет всю актуальность и я буду говорить, что 2025 года не существовало никогда, и что надо готовиться к новому, 2026 году и так далее. И так каждый божий год! Сколько можно? Как можно это терпеть?
Самое интересное вот в чем. Я же не успеваю подготовиться к Новому Году вообще никак, то есть, вот например, был новый год или не был? Не был. Я его не праздновал, потому что я не хочу праздновать Новый Год. Мне не нужен никакой год, где все равно будет ровно то же самое, что и было раньше. Не существует для меня этого праздника уже.
1697515878_flomaster-top-p-risunok-lisa-novogodnyaya-krasivo-31.jpg
Теги: НовыйГод

14 дек 2023 Чт Удивительно, но скоро 2024

Но всего лишь 5000 лет назад никто и слыхом не слыхивал ни про какие новые годы и прочие праздники. Для планеты Земля совершенно неважно, какой год сейчас, с геологической точки зрения, не имеет значения номер года, причем этот номер отсчитывается от какого-то определенного события. Поэтому плевать на новый год, он потерял свою актуальность уже очень, очень давно. Что я сделал из того, что запланировал в прошлом году? Ничего.
Теги: НовыйГод

07 окт 2023 Сб Потрясающая производительность

Я так мало пишу на сайте и в блоге, раз в месяц, что можно сказать, что у меня производительность просто невероятна. Целый пост в один месяц, да и то, не информативный.
И вот это все, что я хотел сказать на сегодня.
Теги: Бред

07 сен 2023 Чт Я в постоянном поиске как создать процессор

И этот поиск никогда не остановится. Я всегда буду пытаться его сделать, но все прекрасно знают, что это ничем хорошим не закончится никогда. Может тогда мне попробовать все-таки сделать синтезатор AY аппаратно? Ведь это было бы хорошим достижением!
Тем более, это не настолько сложная вещь, насколько кажется. У меня есть готовый код, который я могу применить для верилога. Чего я постоянно боюсь... Просто надо начать и само по себе пойдет.
_0i8jNpdWZY.jpg
Теги: Процессор

21 июл 2023 Пт Ужасающее число ГРЭМА

На старт, внимание!

Все только и носятся с этим числом, как будто оно золотое, везде, куда не пойдешь, только и говорят, что о Грэме. И соленый прибой, и подруги поцелуй. В булочных только и разговоров, что о Грэме, и о числе. Там говорят о том, как чертовски здорово наблюдать за огромным огненным Числом, как оно тает в математическом безумии. И еле видимый свет знания, словно от свечи, горит где-то в глубине сознания сумасшедшего Математика в психушке… да, поэтично для двух обдолбанных оборванцев, которые решили вынести всем мозг и кассу в том числе. Но это оставим на потом, а сейчас хочу рассказать про число Грэма.
Начнем с того, что есть стрелочная нотация Кнута (и пряника). Об этом можно и Вики прочитать. Вот например, 3 \uparrow 3 , это 3 в степени 3, то есть, 3, умноженное три раза на себя, то есть, 3 \cdot 3 \cdot 3 = 27 . Двадцать семь... еще ничего не началось, а уже какой-то беспредел творится. Ладно, это только очистки от семечек. А что будет с семечками?

Поехаааали!

Если указать две стрелки подряд, например 3 \uparrow\uparrow 3 , то это будет обозначать уже целую башню, однако, башню еще не снесет, снос башни будет позже. Что за башня такая? Это вот что, 3 \uparrow\uparrow 3 означает, что башня из степеней будет равна 3, то есть, вот так 3 \uparrow (3 \uparrow 3) = 3^{3^3} или, если раскрыть 3 \uparrow 3 , это будет 27, правильно? Да, и тогда решение будет 3^{27} = 7625597484987 . Нехилово, да, аж ~ 7.6 триллионов? Это даже еще не семечки, а так, не кожура, ни очистки. Это чисто еще можно сосчитать хотя бы. А теперь начнутся семечки.
Возьмем на заметку, что вычислялось только 3 \uparrow\uparrow 3 , а что будет с 3 \uparrow\uparrow\uparrow 3 , это я скажу так, жесть что будет. Можно сказать, что 3 \uparrow\uparrow\uparrow 3 = 3 \uparrow\uparrow (3 \uparrow\uparrow 3) . Ощущается, что сейчас будет? Будет боль. Ну давайте раскроем, что ли. Итак, 3 \uparrow\uparrow 3 = 7625597484987 , это сосчитали, да... Итак, ну что теперь получается: 3 \uparrow\uparrow 7625597484987 , так... Ну и жесть. Хорошо, а теперь надо раскрыть 3 \uparrow\uparrow 7625597484987 и это вообще что такое, а? Это получается, что будет 3 в степени 3, которая в степени 3, которая в степени 3, и так далее, и так 7625597484987 раз. Это если записывать просто число, еще даже не вычисленное, то надо составить числовую башню от Земли до Марса! И это еще не вычисленная башня!
photo_2023-05-11_21-49-08.jpg
Вычо! Даже такое число вычислить уже не представляется реальным. Его вычислить НЕВОЗМОЖНО!

Думаешь, конец?

И это что, конец? Как бы не так. Это не то что не конец, это даже не начало. Мне даже страшно говорить, что дальше будет. Есть число, которое называется g_1 и оно равно 3 \uparrow\uparrow\uparrow\uparrow 3 . Короче, что такое это число? Ну, надо разложить сначала верхнюю часть: 3 \uparrow\uparrow\uparrow (3 \uparrow\uparrow\uparrow 3) — тут можно сказать, просто. А теперь смотрите, что за туфта получается уже. Во-первых, тут число 3 \uparrow\uparrow\uparrow 3 — якобы можно раскрыть, это вот та самая башня из троек, возведенных друг в друга и простирающихся до Марса. Мне страшно дальше говорить, честно, меня это пугает!
А теперь смотрите что получается, если взять за X это вот огромное число, которое представляет собой башню до Марса, надо построить 3 \uparrow\uparrow\uparrow X и это равно... да вы с ума сошли!? Это значит, что нам нужно построить башню из вот таких чисел 3 \uparrow\uparrow (3 \uparrow\uparrow (3 \uparrow\uparrow (.... 3 \uparrow\uparrow 3 ...) , и причем эта башня будет размером с мегакошмарное число X , которое было раньше вычислено. Грэм был настоящим математическим извращенцем.
Ладно, вот представим, что число башня будет размером в то неописуемое число, так надо же еще вычислить 3 \uparrow\uparrow X , а как мы помним, это означает количество X башен для числа 3. Ладно, допустим, мы добрались до последнего числа из количества башен, которое уже представить невозможно, а там будет 3 \uparrow\uparrow 3 = 27 . Хорошо, теперь откатимся назад на предпоследнюю башню, и там 3 \uparrow\uparrow 27 , то есть, это 27 башен числа 3... 27 башен! Это число уже никогда не вычислить, и ладно бы, не вычислить, так надо еще 3 \uparrow\uparrow Y возвести, где Y — это то полученное ранее число, состоящее из нехилого числа башен. То есть, это 3 с количеством башен неописуемого количества башен, и так, считая с конца, возводя башни в башни и башнями погоняя, мы доберемся наконец, до первой 3 \uparrow\uparrow M , где M — то число, которое из невыносимого количества башен состоит, и получим такое число башен, которые не влезут не то что в Вселенную, ни даже вообще ни во что, мыслимое и немыслимое.

Разрыхлитель мозгов

И знаете что? Это только число g_1 . У меня уже у самого мозг взорвался. А теперь пришло время по-настоящему повеселиться. Вы ведь представляете, что происходит с 3 \uparrow\uparrow\uparrow\uparrow 3 ? Я не особо. А что будет, если количество нотации Кнута будет 6, 10, 100 или например, миллиард? Нет? И я нет. А Грэм, как бы в насмешку, не остановился на этом и количество знаков Кнута он сделал равным g_1 и полученный результат назвал g_2 . Вызывайте скорую, тут человеку плохо!
Думаете, я закончил на этом? Нет! Дело в том, что есть число g_3 , которое равно 3, возведенное в число Кнута аж g_2 раз. И ну так 64 раза, собственно. g_{64} = 3 количество стрелок Кнута здесь g_{63} 3. Очуметь не встать.
Я уже давно лежу и мне плохо, несмотря на дебильную улыбочку на лице. Это потому что я с ума сошел от такого натиска.