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 комментариев

avatar
— Пофиксил отображение sxg, не выключалось отображение индикатора громкости при воспроизведении музыки
— добавлен небольшой тестовый прогрессбар «загрузки» файла
— отработка необходимого действия с загруженным типом файла — после его выбора.
  • VBI
  • +4
avatar
ЭТО должно иметь быстрый поиск типа ctrlf и alt(буква)
avatar
длина списка продов с сайта — 120 позиций на страницу.
не нужно я щитаю
avatar
а вот поиск по выбранному сайту — будет
avatar
Я считаю, что это одна из важнейших тем на современном спекки.

Зачем это надо? троллейбус.джпг
Во-первых, это пресса. Многие любят и ждут новой прессы, но вполне очевидно, что пресса на реале уступает интернету:
* на реале нет фидбека, почти никто не напишет письмо с комментарием. в интернете жизнь, это факт.
* на реале нужно собирать, оформлять — не все авторы текста могут это осилить.
* на реале оно имеет низкую аудиторию.
Решением проблемы прессы для реала является интернет. Тот же хайп — это и есть пресса, только статья грузится не с дискетки, а с сайта.
Не за горами тот момент, когда можно будет не только почитать хайп, но и послушать музыку в статье, как в e-zine — всё в наших руках.

Зачем нужен хайп на реале? Этот вопрос не имеет практической ценности, с тем же успехом можно спросить, а зачем нужен реал? Зачем нужен софт для реала? Зачем вообще нужен спекки? Ответьте сами себе, если интересно, а потом экстраполируйте.

Почему бы сразу не сделать html/youtube/instagram/youporn?
Сразу ничего не делается. Если с первой попытки делать мегасуперпроект, то можно сразу забыть о результате.
Двигаться надо понемногу:
* Сделали оболочку-мокап
* Сделали железо (софт-то уже будет)
* Адаптировали пару ресурсов под оболочку
* Запустили, порадовались
* Допилили еще пару фич — отработали показ картинок в sxg, например
* Показ отработан, нагородили пару веб-сервисов по конверсии любых картинок в sxg на лету
* Прилепили еще пару ресурсов через внешние сервисы (как это уже сделано для поуэта)
* Приделали показ бинарной разметки типа гипертекста от Витамина, или чего-то со схожей идеологией
* Приделали простенький веб-сервис по конверсии взрослого html в zx-гипертекст
* Сделали нативный саппорт нового гипертекста на паре порталов
* и так далее, шаг за шагом.
Идея ясна? Пока проект на самых первых шагах, шаги могут меняться, отменяться, дополняться по ситуации. А могут вообще заброситься, если не будет интереса. Всё зависит от вас, товарищи пользователи :)
Суть в том, что большие проекты не стартуют с нуля, всё начинается с прототипа. Мы сегодня немножко избалованы той видимой «простотой», с которой мегасервисы в интернетах стартуют сегодня, но это — иллюзия, все с чего-то начинали, вставая на ноги через велосипеды, костыли и мокап-затычки.

Помечтайте пока что немного, не судите только по тому, что есть сейчас, а подумайте о том, какие веселые хрени можно делать в будущем.
Как насчет пошаговых MMO на ZX? Написать сервер пошаговой MMO на PHP на 20 человек — как нефиг делать. Её можно дорабатывать, допиливать новый контент, карты, территории. Можно вообще виртуальный мир напилить, где юзеры могли бы сами участвовать в наполнении карт, а ля майнкрафт какой-нибудь, а?
Как насчет эксклюзивного демо, которое запускалось бы прямо с сайта и подчитывало свои блоки через zifi?
Как насчет эксклюзивных веб-ресурсов, которые можно посмотреть только с реала?
Как насчет статей на хайпе, выходящих только под реал, или выходящих на реале на неделю раньше?
Подумайте, у вас наверняка будут идеи и похлеще.

Так вот, чтобы всё это стало возможным, начать надо с азов. Запустить что-то простое, потом усложнить, потом переделать, потом расширить. Осилит дорогу идущий, и хорошая новость в том, что путь уже начался.
avatar
Немного не по теме, но, якобы этот сервер работает на базе zx81.
zx81-siggi.endoftheinternet.org/index.html

Здесь автор пишет пару слов о нем.
avatar
Оболочка разрабатывается под TSconf
Какой % обладателей пентевы юзает TSconf?
avatar
А почему это важно?

Это как спросить: «Какой % обладателей zx совместимых компьютеров грузят программы с магнитной ленты?»
avatar
У меня есть один знакомый, который подсчитывает количество проданных плат, считает количество программ под АТМ, и вообще любит считать...

Увы, но государственная служба спектрумовской статистики таких данных предоставить не может.

Но есть и положительная сторона! Для использования стандартной прошивки Бейз и TSconf необходимо перешить компьютер довольно простым образом, и у вас все возможности пентевы в одном флаконе.
Обе сиситемы переключаются с клавиатуры, в нужный Вам момент.
avatar
<пафос='146%'>
Ответ на вопрос «Какой % обладателей пентевы юзает ?-conf?» не несет никакого практического смысла. Потому что:
— мы не пишем софты, исходя из того, скольким пользователям они понравятся,
— мы не пишем софты под заказ,
— мы не пишем софты, чтобы прославиться в веках и заработать миллиарды.
Вместо этого:
— мы предоставляем возможность работы нашего хардварного концепта на другой аппаратуре, в других реализациях — в случае пентевы с данным вифи сможет работать любая конфигурация ФПГА пентевы, использующая набортный контроллер атмега128,
— мы не копирастим, не нычем сорцы, не запрещаем кому-либо пользоваться любыми нашими разработками; мы и сами используем чужие — такова жизнь.
Отсюда вывод: оболочка пишется под ту конфу, которая нравится автору оболочки, но мы делаем все возможное, чтоб таковая появилась под другие конфигурации. Все, кроме собственно написания оболочки — это уж вы сами.
</пафос>
avatar
у меня по этой теме была кучка негативных мыслишек но к счастью я сдержался.
ибо это творчество. и прикольно!
avatar
драйвер колёсика мыши пофиксился :)
  • VBI
  • +1
avatar
Было бы не плохо получить какой-то реализованный _вне_ ZX Spectrum'а TCP/IP стэк. Пусть это будет TS-Conf, конфа получила распространение не только на ZX Evo, но и как сказано выше на U16, Speccy2010 и Черт знает где еще.

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

С удовольствием покодил бы что-то сетевое для Спекки.
avatar
В описании увидел, что стек реализован.
Осталось дело за малым — подключение к существующему железу без пайки и резки дорожек, иначе получит малое распространение.
avatar
добавил подсветку выбранного раздела.
пофикшен баг с кликом по роботу сверху.
… и скоро ждём драйвера сд от Koshi
  • VBI
  • +2
avatar
moroz1999 поддержал идею насчёт радио в рт3 формате для зифы, будет радио с zxart.
небольшие фиксы вывода списка ссылок
  • VBI
  • +4
avatar
некоторое подобие строки поиска подготовлено
  • VBI
  • +2
avatar
йохохо и бутылка рома!
есть дрова на сд карту с чтениями записями и работой с папками
Спасибо Koshi !
  • VBI
  • +3
avatar
бомба! не драйвер а сказка! :)
тесты пройдены, позже подключу сохранение практически всех загруженных файлов.
папка DOWNLOADS, посоны! ;)
avatar
+ чтение и парсинг настроек SSID из текстового файла
+ отработано сохранение файлов.
+ поиск по выбранному серверу.
* пофиксил багу с переходом на действие вывода списка при загрузке результатов поиска.
+ добавил вывод расширения для файлов в закачках. ну, trd крупный, а scl — быстро зальётся ;)
* фиксы паг для загрузки разного типа продов.
* фикс пагинации.
  • VBI
  • +3
avatar
Параллельно бы еще начать пилить exZXAAA =) с серверной стороны.
avatar
* пофиксил окно прокрутки вывода текста.
а вообще нужно форматированием вывода заняться. слова рвутся, примитивно сейчас очень.
  • VBI
  • +1
avatar
ирц у нас будет
  • VBI
  • +2
avatar
продолжая мысли о функционале самого модуля esp. сегодня поглядел повнимательнее, как с ним и что. А у него масса прошивок, в целом можно написть свою и нагрузить его всяким парсингом. но это получаеться совем другой уклон…
avatar
это совсем другая история
а вот несколько потоков загрузки — это тема.
avatar
Благодаря усилиям psb вчера прикрутили его драйвер для кабеля к рс + сокет-сервер.
копаюсь в хттп
  • VBI
  • +2
avatar

  • VBI
  • +5
avatar
Круто!
avatar

scr/sxg просмотр
  • VBI
  • +4
avatar

предвар загрузки
  • VBI
  • +4
avatar
Текущие дрова на вайфай:
  • VBI
  • +1
avatar
текущее состояние разработки:
  • VBI
  • +6
avatar


обновки:
+ прогрессбар
+ подсветка нажатого
+ поиск. он есть, на серверах ещё не включен :)
+ подключена расзиповка, но всплыли некоторые проблемы, решаем.
+ пует, с инхансом
+ sxg вьювер
  • VBI
  • +3
avatar
  • VBI
  • +1
avatar
Server: Apache / DataZone, бгг :)
avatar
не ржы, твой сервак :D
avatar
Интересно, а какой зифирка User Agent передает? :)
avatar
А давай ты с морозом прошерстите accesslog на тему zifi, zx и скажете количество найденного? ;)
avatar
Рад бы, но у меня прямого доступа к access log нет на этом хостинге :)
avatar
db «User-Agent: ZiFi (ZX Evo)»
;)
avatar
Ага. сразу вспоминаеться баян с user agentами по типу «zx spectrum firefox» или как то так…
avatar
кому баян, а кому и User-Agent
avatar
  • VBI
  • +4
avatar
это подойдет для прошивки esp.
надо готовить faq
avatar
Для прошивки и эмуляции в анрыле через юсб-компорт.
avatar
Эта железка уже у меня, спасибо tsl
avatar
+ Добавились разделы «Системные программы» и «Пресса» сайта vtrdos
+ Плеер музыки заменён на замечательный многоформатный плеер от Vitamin , за что ему большое спасибо.
  • VBI
  • +3
avatar
Плеер действительно ¡АГОНЬ! заслушал до дыр уже треки в MTC формате ;)
avatar
organism зацени чей там вьювер 5ым пунктом ;)
avatar
Nuts_
о сколько нам открытий чудных
готовит зифы лёгкий дух!
avatar

копаюсь с модулем
  • VBI
  • +1
avatar
спасибо moroz1999 & nyuk !
+ появился поиск по зхарт
+ распаковка большинства популярных архивов.
  • VBI
  • +3
avatar
таки заборол 7z ?(:
avatar
друзья помогли!
avatar
в разделе Downloads:
+ TSConf игры и демы

  • VBI
  • +2
avatar
первый запуск на реалах довольно неудачный, бум фиксить.

а вот что видим в эмуле:


ещё есть над чем работать :)
  • VBI
  • +1
avatar
сейчас — тестирование и изучение особенностей работы с чипом на реале.
  • VBI
  • +2
avatar
STS это вещара. Возврат к корням.
avatar


ZiFi всё ближе :)
  • VBI
  • +2
avatar
добавил поиск по разделам vtrdos
  • VBI
  • +1
avatar
Похоже, уже статус беты.
Все разделы работают как должны.

= пофикшен баг с зависанием при воспроизведении музыки при наличии только single АУ.
= пофикшена обработка расширений файлов для записи на сд
= пофикшена длина загруженных файлов.
+ работает загрузка и сохранение файлов.
  • VBI
  • +2
avatar
Шикарно! Большая работа проделана.
avatar
ещё есть чем заниматься, но базовый функционал — фунциклирует полностью :)
но ещё надо половить рыбу в этой реке, встречается всякое. в часности блок загрузки из сети нужно дорабатывать, сейчас всё довольно упрощённо.
но таки да, обьявляю:
Beta

Надо будет приготовить доку по самосбору и перешивке устройства.
avatar
ну я надеюсь спишемся?
я вчера-сегодня как раз прошивку осваивал
ну и компиляцию прошивок заодно
если брать простой модуль-платку-без-всего то людям же понадобиться пара замыкаторов для прошивки, не?
avatar
А дай пошаговый квикстарт как ее компилить.
avatar
тут дело такое:
я начал с тестовой прошивки, и рецепт начинаеться с «Запускаем arduino IDE» — для zifi может тоже сработает, но пока не тестил да не true.
А true способом at прошиву изначально собирали похоже в linux — родной sdk под винду явно недопилен, makefile корявые.
Так что я для скорости банально спросил там на форуме как именно ее компиллировали. Надо бы настроить свою среду для сборки at прошивок. У них там наворочали несколько вариантов toolchain да и SDK свой пилят… но для zifi это все дело второе, главнео залить готовую прошивку
avatar
важен сам процесс
есть готовый файл, как именно заливать?
пошагово
avatar
я думаю тут есть место для обсуждения:
самое главное что методик то уже в интернетах готовых много
однако модулей полно всяких разновидностей. ну пусть мы берем конкретный модуль.
а к модулю надо бы еще подключить usb TTL и для введения в режим прошивки замыкать контакты. вот тут надо поискать решение попроще.
для прошивки есть 100500 разных прошивочных утилит, включая однокнопочные, но заточенные под разные схемы прошивки. ну тут определимся.
но в целом вопрос в том: стоит ли расматривать все-все варианты подключения или четко один? Обязательно же кто нить захочет по своему сделать :)
avatar
надо бы самый простой и дешовый вариант. для старта, так сказать.

щас у меня вот лежит отдельно усю ттл, отдельно есп 01. надо готовить доку как всё это подготовить к вставке в еву на постоянку.
avatar
0. Подключаем модуль к РС.
1. Коротим GPIO0 на землю.
2. Включаем модуль.
3. Запускаем флешер например отсюда.
avatar
Подключаем модуль к РС — его ведь в Vga разъем надо подключать да? :)
надо же модуль с usb, надо схему
последовательность для прошивки там будто сложнее но это не суть
ссылка ведет нас к прошивке «скачать с регистрацией» и прошиватору на котором котором кнопок как на самолете
avatar
ну если народ утраивает то рецепт еще проще
1) гулите схему подключения
2) вот прошивка
3) вот программа — нажать тут
забиваю такое в faq
avatar
Пока обрисовал упрощенно. К сожалению пока без нужной конкретики. И Вингуевые утилиты надо еще протестировать
avatar
Тут AndyD нарисовал запредельной красоты информационные материалы по сабжу топика.
avatar
Да там есть толковое, можно у него содрать будет?
вообще надо будет на форуме зарегаться уже чтоли
avatar
Ты его спрашивай можно ли содрать.
Зарегайся уже чтоли.
avatar
Версия для ком-порта, для работы с эмулем:

образ винта с установленной прогой
копируем в папку с эмулем.

устанавливаем виртуальный компорт, создаём пару портов с доступными номерами.
запускаем кабельный драйвер от psb с параметром выбранного порта — например: ic.exe COM 1
запускаем эмуль, переходим на вкладку INPUT, выбираем там в меню модем: COM 2


ОБЯЗАТЕЛЬНО надо галку поставить — ENABLE STRICT BAUDRATE EMULATION

тыкаем в меню зифы, смотрим, наслаждаемся.
после ресета всё лежит в папке довнлоадс.

Eсли попёрло — ставим нужный порт в unreal.ini: Modem=COM2

но настоящая магия — на реале.
  • VBI
  • +5
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.