Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Календарь записей
Май 2024
ПнВтСрЧтПтСбВс
12345
6789101112
13141516171819
20212223242526
2728293031
Теги
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

30 мар 2023 Об архитектуре FAT32SD

Уровень 1. Физический. Модуль для общения по SPI на физическом уровне. Обработка команд от вышестоящего над ним контроллера. Команды такие a) Инициализация SPI через 80 тактов на частоте 100 кГц, b) Прием и отсылка байта данных, c) Включение и выключение устройства.
Уровень 2. Транспортный. Контроллер чтение и записи на диск. Полный цикл инициализации устройства, то есть, включение, отсылка команд, получение данных, чтение и запись секторов с опорой на 512 байтный буфер.
Уровень 3. Прикладной. Работа с файловой системой FAT16/32, при помощи уровня 2 осуществляется передача данных по секторам, запрос имени файла, поиск файлов на диске, чтение в память или из памяти (sram).
Принцип работы.
Сначала в память записывается имя файла (неограниченное количество символов), дается ссылка, куда читать и писать (в ту же память, возможно или другую), отсылается команда. Например — чтение файла, получение списка всех файлов в директории, запись файла, создание директорий и т.д. Пока контроллер работает, он будет BSY=1. Работать он может долго, так что надо будет проверять BSY статус.
Не знаю, надо ли сделать вызов Interrupt. Может сделаю. Если дойду до этого вообще!
Метки: Разработка

08 мар 2023 Делаю шаблоны кода

Сегодня сделал заготовку, стартовый проект, можно сказать, шаблон для AVR процессора. Я оснастил его простым видеоадаптером, который берет данные для знакогенератора из 2К ROM, а данные для 80 x 50 символьной сетки из 4Кб общей памяти процессора. Сама по себе организация памяти это 64Кб для ROM + 64K для RAM. Конечно же, на девборде DE0, 130К из 308К возможных — я специально оставил там места для 125К видеоадаптера 640 x 400 x 16 цветов.
Вот такие вот технические характеристики устройства. Занимает этот процессор 1550 ALM (это примерно 3000 LE), не скажу, чтобы прямо значительно, но чем больше ALM/LE, тем дольше синтез проекта занимает по времени, так что, лучше делать процессоры небольшими, чтобы быстрее компилировался.
Это лишь первая итерация. Вторая итерация проекта будет включать в себя поддержку PS/2 Keyboard, SDCARD, но пока что без SDRAM, потому что я еще никак доделать не могу, но обязательно нужно. Вообще, у меня в планах сделать видеокарту, которая управляется командами и буфером команд, то есть, процессор складывает необходимые данные в буфер команд и дает команду на обработку, а видеопроцессор это все дело выполняет. Запись в память происходит через порты, последовательно, чтобы ускорить передачу.
У меня сегодня появилась идея такая, сделать фейковый процесс инсталяции Windows 98, и проверить на нем как раз вот это все, все возможности контроллера видеопроцессора. В будущем, я обязательно должен освоить работу с SDRAM, это прямо реально нужно мне, очень нужно! Может даже и сделаю этот SDRAM в ближайшее время как раз. Надо еще дописать все остальное, такое как тестбенчи и верилятор. Это небольшая проблема, но все-таки, надо написать шаблон для верилятора именно отдельный поначалу, чтобы потом его легко было мержить с другими проектами.
И да, у меня только завтра и послезавтра рабочий день, а потом долгожданный отпуск yahoo
Метки: Дневник, Разработка

06 мар 2023 Логический анализатор на CLOCK

Как-то подумал я, а как же работает PLL и написал микропрограмму для верилога и своей девборды DE0, чтобы визуализировать это дело.
photo_2023-03-06_20-36-08.jpg
Получились вот такие вот домики. Здесь я делаю замеры 25 мгц и 6.25 мгц на основной частоте 100 мгц. Как можно понять из диаграммы, сигналы плотно пригнаны друг к другу и идут ровно, нигде не смещаясь, и это ровно то, что мне нужно.
Метки: Разработка

04 мар 2023 Наконец-то синтезировал в ПЛИС проект

У меня этот проект с Award Modular уже длится довольно давно, потому что я делаю его иногда, и вот сегодня я сделал наконец, синтез в DE0 девборде, чтобы показалось, наконец, на реальном железе. Работает вполне прилично, все хорошо и четко выводит, без искажений. Скриншот что ли приложить... но думаю, что не стоит, потому что я так уже заспамил как только мог этими скриншотами. Еще сегодня доделал якобы "отсчет" памяти, где отсчитывается 8 Мб, хотя он вообще ничего не отсчитывает на самом деле, просто так работает, от балды. Что-то выложить видео не могу, не поддерживается браузером.
Что вообще могу я сделать?
  • Первая задача, которую надо обязательно сделать, так это показ биоса, а точнее, его муляжа, чтобы было ощущение, как будто из под биоса сидишь пентиумского
  • Второе, это выдача на экран характеристик "компа"
  • Поддержка SD-карты
  • Поддержка памяти SDRAM
  • Мини-дос
  • Микро-Бейсик
Это слишком много хотелок. Самое важное, ради чего вообще все это затевалось, это конечно, фейковый биос.
Метки: Разработка, ПЛИС

03 мар 2023 Доделал этот Award Modular

Или, проще говоря, Energy Star EPA POLLUTION PREVENTER наконец-то готов.
Снимок экрана от 2023-03-03 21-47-35.png
Сколько же я пытался разобраться в этом, сколько страдал. Сегодня еще сделал функцию деления 16-битного числа HL на DE, с результатом в HL и остатком в DE. Потребовалось дополнительные 2 байта памяти для этого действия.
Позже попробую сделать вывод на экран прогресса проверки "памяти", так сказать, а далее хочу сделать так, чтобы можно было легко запустить синий экран великого Биоса и не париться сильно с этим вопросом, сделать все этим менюшки там фейковые. Все это только для того, чтобы у меня был вывод биоса и ощущение того, что наконец-то доделал то что хотел.
Прошло ровно 2 месяца как я каждый день что-то записываю в блоге, не пропуская ни одного дня. Начал 4 января, а сейчас уже 3 марта. Это меня радует, хоть я и обещал, что писать могу не всегда, но мне пока что есть о чем писать.
Метки: Дневник, Разработка

24 фев 2023 Треугольник на верилоге

Наконец-то я смог сделать это! Да, треугольник на верилоге получился не так легко и быстро, но я и не рассчитывал на то, что это получится быстро, но мне удалось. Возможно, не полностью все смог сделать правильно и оптимально, но то что есть, тоже уже не так плохо.
Сегодня отнес в свою комнату мощную плис на 150к элементов, Циклон 4, и сумел настроить квартус, чтобы он с ней смог работать. Программатор работает не очень быстро и даже с первого раза не получилось запрограммировать, был какой-то странный сбой, но потом все удалось.
Однако, то, что я нарисовал, меня не устраивает, потому что это не трехмерная графика, а чисто двухмерный зарисованный треугольник. Существует и другой алгоритм, который можно реализовать, но делать его буду сначала на Си++, а уже потом на верилоге, если получится. Трехмерная графика не такая простая, даже простой рендерер сделать на верилоге непросто.
Какие планы на то, чтобы сделать трехмерную сцену? Что на ней будет? Сам не знаю, может, простой трехмерный куб допустим, только вот одна интересная штука есть, этого всего мало. Передвижение в трехмерном мире может, и отличная идея, но сам этот мир должен тоже как-то меняться и чего-то там надо делать. Все это слишком примитивно получается.
Я хотел бы попробовать поделать сначала "биос", или такой, эмулятор его, который задумывал ранее. Тоже, хочется его сделать. Посмотрим, что получится...
Метки: Разработка

17 фев 2023 Вчера начал делать небольшую игру

Давно уже я мечтаю о том, чтобы создать свою собственную, пусть и небольшую, игру. Вообще-то, как я говорил ранее, пытаюсь избежать возврата к прошлому, но создание игры не такое плохое занятие, на самом деле, и вряд ли можно сказать, что это как-то связано с прошлым. Мне ведь хочется ее создать для того, чтобы отвлечься от реальности, не так ли?
Снимок экрана от 2023-02-17 10-36-05.png
Что вчера смог сделать, это просто анимацию бегущего лиса, пока что без интерактивности, и также, движение фона с тайловой картой, которая пока что будет простой. Что вообще планирую делать дальше.
План такой:
  • Сделать интерактивное движение и анимации, чтобы мог управлять. Наложить элементы декора на карту. Сделать столкновение с поверхностями
  • Взаимодействие с некоторыми предметами (яблоки например), сделать чтобы при беге и движении выбивались листики из под лап, наложить интерфейс поверх кадра, добавить музыку и звуки
  • Редактор карт на месте, так сказать
  • Добавить персонажей, взаимодействие с ними, вывод "облачков" диалогов, придумать свой лисий алфавит, который будет "транслироваться" в русский
  • Игровые логические механики и предметы
Суть такая. Основная миссия Лиса — это вернуть похищенное золотое яблоко, который является магическим сердцем Долины Лисов. Без него поселение лисов постепенно чахнет, и они уходят оттуда в поисках пропитания, покидают свои норы. Для того, чтобы это выяснить, Лису потребуется преодолевать различные логические препятствия и ловушки.
Метки: Разработка
<< Ранние записи | Поздние записи >>