ZiFi или интернет для Z80
Сетевые разработки ведутся уже давно.
Давно существует прототип ethernet плата от nedopc, в U16 встроен ethernet контроллер, есть и зарубежные разработки в этой области.
Но почему же мы до сих пор их не используем?
Сейчас я вижу одну главную проблему. Существующее железо для сети лежит как прототип.
Для этого железа нет никакой программной поддержки.
Как вы думаете, почему?
В первую очередь — это равнение на существующий мир. Скайп, интернет-приложения, видеохостинги, всё богатство сети — в нашем спектруме?
Как посмотришь на обьём — сразу опускаются руки. Даже большой командой решить большинство вопросов реализации доступных нам на РС сервисов — невозможно из-за ограничения существующих и популярных сейчас платформ на базе Z80 и совместимых со спектрумом.
Но я вижу, что пришло время.
У меня есть видение, как реализовать такого рода вещь.
Что хочется? Охота, сидя за Evo и слушая AY музыку с сайтов, подкачивать демы, выбирать и закачивать игры, смотреть на графику, почитывать статейки и журналы, попивая пиво ;)
Итак, текущая реализация доступа к сети следующая:
0. Учитывая современные разработки железа для работы с сетью, выбираем устройство, доступное для установки в спек и программной поддержки.
В данном случае делаем упор (с подачи DDp) на интересную и недорогую железку под названием EPS8266, а это — WiFi доступ, что даже лучше чем кабель имхо.
Я договорился с великолепными DDp и TSL насчёт разработки уже не прототипа, а готового к использованию устройства. DDp поделился драйверами под z80, TSL разрабатывает готовое (и, важно — недорогое устройство на базе выбранной DDp платы) с поддержкой сразу нескольких уровней доступа к сети;
1. Ограничиваем сеть только необходимыми для нашей небольшой машинки ресурсами.
Для начала — довольно крупные ресурсы с нативными для спектрума данными и файлами: zxart, vtrdos, pouet, zxaaa — как каталоги ресурсов;
2. Приготовлен экспорт от них в формате, доступном для парсинга;
3. Пишется оболочка, поддерживающая:
— работу со списками файлов с этих сайтов;
— доступ к файлам сайтов и их обработку — загрузку, сохранение на носитель, отображение, воспроизведение.
Итак, представляю вам мою разработку.
Оболочка разрабатывается под TSconf, и для использования всей системы будет необходимо сделать следующее:
— заказать небольшую платку для zx evo (средняя стоимость планируется максимум до 10 у.е.)
— скачать и прошить обновление для прошивки (сейчас в разработке)
— прописать в текстовом файле AP, логин и пароль для доступа
— запустить ZiFi.
Итак, что реально сейчас имеем:
1. Железная реализация прошла этап обсуждений и сейчас введётся разработка программной части — драйвер. Скорость доступа — 115200. Ожидаемая скорость закачки TRD — немножко меньше минуты.
2. Оболочка всё так-же в альфа версии, много Бажина и Йожина, но:
— есть 4 раздела — скачать, слушать, смотреть, читать. Каждый раздел выдаёт перечень доступных серверов, и выбрав нужный — получаем списки доступных на нём ресурсов. Список можно будет расширить при наличии функции экспорта с нового сайта. Экспорт очень простой, все заготовки есть, приглашаем!
— подключены на базовом уровне драйвера прямого доступа к EPS8266 от DDp, формируются и передаются все необходимые заголовки HTTP.
— мы уже можем получать доступ к серверам для закачек демо (для спектрума и конфы) и игр: vtrdos, zxaaa, pouet. Экспорты готовы, большое спасибо moroz1999, nyuk, ShadowMaker, я тож чуток тут поработал :)
— получать доступ к серверу zxart для просмотра графики и прослушивания музыки. Сейчас поддерживается РТ2/3, и SXG для графики. Графический просмотрщик уже в рабочем состоянии, плеер тоже работает.
— получать доступ к серверу hype для чтения текстов с сайта. Тексты отображаются, но примитивным образом.
Что необходимо сделать:
— работа с SD. Все полученные файлы будут сохраняться в отдельную папку на SD. Чтение настроек точки доступа;
— поиск по выбранному серверу, доработка отображения страниц пагинации, упрощение доступа к разделам файлов сервера;
— вывод графического предпросмотра для серверов, предоставляющих графику. Пока всё отображается стандартным текстовым отображением;
— отработка форматирования полученного текста, поддержка большого обьёма текста.
— переделать доступ к сети на уровне новых драйверов от TSL; вполне возможно пристроить драйвера под ваше железо в оболочку, работающую под TS-Config.
— фиксить интерфейс, наработанные баги и прочие йожины.
В самых дальних планах — умный и красивый браузер страниц (пусть и примитивный, текстовый :D ), поддержка IRC, подключение zxpress, возможно — zxtunes, других достойных и полезных ресурсов
В этой теме буду отписывать о текущем состоянии разработки и программной части оболочки.
ZiFi for TS Configuration.
Ссылка на текущую альфу zifi. Тестовый вариант с предзагруженными данными.
Эмулятор лежит здесь
Обсуждение железа
77 комментариев
— добавлен небольшой тестовый прогрессбар «загрузки» файла
— отработка необходимого действия с загруженным типом файла — после его выбора.
не нужно я щитаю
Зачем это надо?
троллейбус.джпгВо-первых, это пресса. Многие любят и ждут новой прессы, но вполне очевидно, что пресса на реале уступает интернету:
* на реале нет фидбека, почти никто не напишет письмо с комментарием. в интернете жизнь, это факт.
* на реале нужно собирать, оформлять — не все авторы текста могут это осилить.
* на реале оно имеет низкую аудиторию.
Решением проблемы прессы для реала является интернет. Тот же хайп — это и есть пресса, только статья грузится не с дискетки, а с сайта.
Не за горами тот момент, когда можно будет не только почитать хайп, но и послушать музыку в статье, как в e-zine — всё в наших руках.
Зачем нужен хайп на реале? Этот вопрос не имеет практической ценности, с тем же успехом можно спросить, а зачем нужен реал? Зачем нужен софт для реала? Зачем вообще нужен спекки? Ответьте сами себе, если интересно, а потом экстраполируйте.
Почему бы сразу не сделать html/youtube/instagram/
youporn?Сразу ничего не делается. Если с первой попытки делать мегасуперпроект, то можно сразу забыть о результате.
Двигаться надо понемногу:
* Сделали оболочку-мокап
* Сделали железо (софт-то уже будет)
* Адаптировали пару ресурсов под оболочку
* Запустили, порадовались
* Допилили еще пару фич — отработали показ картинок в sxg, например
* Показ отработан, нагородили пару веб-сервисов по конверсии любых картинок в sxg на лету
* Прилепили еще пару ресурсов через внешние сервисы (как это уже сделано для поуэта)
* Приделали показ бинарной разметки типа гипертекста от Витамина, или чего-то со схожей идеологией
* Приделали простенький веб-сервис по конверсии взрослого html в zx-гипертекст
* Сделали нативный саппорт нового гипертекста на паре порталов
* и так далее, шаг за шагом.
Идея ясна? Пока проект на самых первых шагах, шаги могут меняться, отменяться, дополняться по ситуации. А могут вообще заброситься, если не будет интереса. Всё зависит от вас, товарищи пользователи :)
Суть в том, что большие проекты не стартуют с нуля, всё начинается с прототипа. Мы сегодня немножко избалованы той видимой «простотой», с которой мегасервисы в интернетах стартуют сегодня, но это — иллюзия, все с чего-то начинали, вставая на ноги через велосипеды, костыли и мокап-затычки.
Помечтайте пока что немного, не судите только по тому, что есть сейчас, а подумайте о том, какие веселые хрени можно делать в будущем.
Как насчет пошаговых MMO на ZX? Написать сервер пошаговой MMO на PHP на 20 человек — как нефиг делать. Её можно дорабатывать, допиливать новый контент, карты, территории. Можно вообще виртуальный мир напилить, где юзеры могли бы сами участвовать в наполнении карт, а ля майнкрафт какой-нибудь, а?
Как насчет эксклюзивного демо, которое запускалось бы прямо с сайта и подчитывало свои блоки через zifi?
Как насчет эксклюзивных веб-ресурсов, которые можно посмотреть только с реала?
Как насчет статей на хайпе, выходящих только под реал, или выходящих на реале на неделю раньше?
Подумайте, у вас наверняка будут идеи и похлеще.
Так вот, чтобы всё это стало возможным, начать надо с азов. Запустить что-то простое, потом усложнить, потом переделать, потом расширить. Осилит дорогу идущий, и хорошая новость в том, что путь уже начался.
zx81-siggi.endoftheinternet.org/index.html
Здесь автор пишет пару слов о нем.
Это как спросить: «Какой % обладателей zx совместимых компьютеров грузят программы с магнитной ленты?»
Увы, но государственная служба спектрумовской статистики таких данных предоставить не может.
Но есть и положительная сторона! Для использования стандартной прошивки Бейз и TSconf необходимо перешить компьютер довольно простым образом, и у вас все возможности пентевы в одном флаконе.
Обе сиситемы переключаются с клавиатуры, в нужный Вам момент.
Ответ на вопрос «Какой % обладателей пентевы юзает ?-conf?» не несет никакого практического смысла. Потому что:
— мы не пишем софты, исходя из того, скольким пользователям они понравятся,
— мы не пишем софты под заказ,
— мы не пишем софты, чтобы прославиться в веках и заработать миллиарды.
Вместо этого:
— мы предоставляем возможность работы нашего хардварного концепта на другой аппаратуре, в других реализациях — в случае пентевы с данным вифи сможет работать любая конфигурация ФПГА пентевы, использующая набортный контроллер атмега128,
— мы не копирастим, не нычем сорцы, не запрещаем кому-либо пользоваться любыми нашими разработками; мы и сами используем чужие — такова жизнь.
Отсюда вывод: оболочка пишется под ту конфу, которая нравится автору оболочки, но мы делаем все возможное, чтоб таковая появилась под другие конфигурации. Все, кроме собственно написания оболочки — это уж вы сами.
</пафос>
ибо это творчество. и прикольно!
Имея рабочую сеть, можно налабать огромное количество интереснейших игр как для p2p так и с использованием большого брата (PC) клиент-сервер ориентированных игр.
С удовольствием покодил бы что-то сетевое для Спекки.
Осталось дело за малым — подключение к существующему железу без пайки и резки дорожек, иначе получит малое распространение.
пофикшен баг с кликом по роботу сверху.
… и скоро ждём драйвера сд от Koshi
небольшие фиксы вывода списка ссылок
есть дрова на сд карту с чтениями записями и работой с папками
Спасибо Koshi !
тесты пройдены, позже подключу сохранение практически всех загруженных файлов.
папка DOWNLOADS, посоны! ;)
+ отработано сохранение файлов.
+ поиск по выбранному серверу.
* пофиксил багу с переходом на действие вывода списка при загрузке результатов поиска.
+ добавил вывод расширения для файлов в закачках. ну, trd крупный, а scl — быстро зальётся ;)
* фиксы паг для загрузки разного типа продов.
* фикс пагинации.
а вообще нужно форматированием вывода заняться. слова рвутся, примитивно сейчас очень.
а вот несколько потоков загрузки — это тема.
копаюсь в хттп
scr/sxg просмотр
предвар загрузки
обновки:
+ прогрессбар
+ подсветка нажатого
+ поиск. он есть, на серверах ещё не включен :)
+ подключена расзиповка, но всплыли некоторые проблемы, решаем.
+ пует, с инхансом
+ sxg вьювер
;)
надо готовить faq
+ Плеер музыки заменён на замечательный многоформатный плеер от Vitamin , за что ему большое спасибо.
о сколько нам открытий чудных
готовит зифы лёгкий дух!
копаюсь с модулем
+ появился поиск по зхарт
+ распаковка большинства популярных архивов.
+ TSConf игры и демы
а вот что видим в эмуле:
ещё есть над чем работать :)
ZiFi всё ближе :)
Все разделы работают как должны.
= пофикшен баг с зависанием при воспроизведении музыки при наличии только single АУ.
= пофикшена обработка расширений файлов для записи на сд
= пофикшена длина загруженных файлов.
+ работает загрузка и сохранение файлов.
но ещё надо половить рыбу в этой реке, встречается всякое. в часности блок загрузки из сети нужно дорабатывать, сейчас всё довольно упрощённо.
но таки да, обьявляю:
Beta
Надо будет приготовить доку по самосбору и перешивке устройства.
я вчера-сегодня как раз прошивку осваивал
ну и компиляцию прошивок заодно
если брать простой модуль-платку-без-всего то людям же понадобиться пара замыкаторов для прошивки, не?
я начал с тестовой прошивки, и рецепт начинаеться с «Запускаем arduino IDE» — для zifi может тоже сработает, но пока не тестил да не true.
А true способом at прошиву изначально собирали похоже в linux — родной sdk под винду явно недопилен, makefile корявые.
Так что я для скорости банально спросил там на форуме как именно ее компиллировали. Надо бы настроить свою среду для сборки at прошивок. У них там наворочали несколько вариантов toolchain да и SDK свой пилят… но для zifi это все дело второе, главнео залить готовую прошивку
есть готовый файл, как именно заливать?
пошагово
самое главное что методик то уже в интернетах готовых много
однако модулей полно всяких разновидностей. ну пусть мы берем конкретный модуль.
а к модулю надо бы еще подключить usb TTL и для введения в режим прошивки замыкать контакты. вот тут надо поискать решение попроще.
для прошивки есть 100500 разных прошивочных утилит, включая однокнопочные, но заточенные под разные схемы прошивки. ну тут определимся.
но в целом вопрос в том: стоит ли расматривать все-все варианты подключения или четко один? Обязательно же кто нить захочет по своему сделать :)
щас у меня вот лежит отдельно усю ттл, отдельно есп 01. надо готовить доку как всё это подготовить к вставке в еву на постоянку.
1. Коротим GPIO0 на землю.
2. Включаем модуль.
3. Запускаем флешер например отсюда.
надо же модуль с usb, надо схему
последовательность для прошивки там будто сложнее но это не суть
ссылка ведет нас к прошивке «скачать с регистрацией» и прошиватору на котором котором кнопок как на самолете
1) гулите схему подключения
2) вот прошивка
3) вот программа — нажать тут
забиваю такое в faq
вообще надо будет на форуме зарегаться уже чтоли
Зарегайся уже чтоли.
образ винта с установленной прогой
копируем в папку с эмулем.
устанавливаем виртуальный компорт, создаём пару портов с доступными номерами.
запускаем кабельный драйвер от psb с параметром выбранного порта — например: ic.exe COM 1
запускаем эмуль, переходим на вкладку INPUT, выбираем там в меню модем: COM 2
ОБЯЗАТЕЛЬНО надо галку поставить — ENABLE STRICT BAUDRATE EMULATION
тыкаем в меню зифы, смотрим, наслаждаемся.
после ресета всё лежит в папке довнлоадс.
Eсли попёрло — ставим нужный порт в unreal.ini: Modem=COM2
но настоящая магия — на реале.