Zifi esp8266 WiFi z80 driver source free download
Сама ссылка на исходный код: zifi_driver.asm
В исходнике есть сигнализация бордером.
Начальный инит — настройка модуля, подключение к точке доступа: call init_zifi
Для настройки точки нужно имя точки доступа (АР, SSID) и пароль, они заданы по меткам:
как это делать у клиента — пока остаётся под вопросом.
Инит занимает несколько секунд, но выполняется один раз при старте.
И, наконец — загрузка, get_url:
указываем пагу и адрес для загрузки, результат — длина загруженного блока в виде А:HL.
в ответ мы должны получить строку с ip-адресом, с которого происходило подключение.
Это даст возможность подключить собранного франкенштейна к РС. После этого устанавливаем драйвер для «usb2ttl adapter», и у вас в системе появляется новый СОМ-порт.
Номер этого порта нужно указать в настройках эмулятора:
В принципе — всё, остальное за Вами!
zifi_driver.asm
В исходнике есть сигнализация бордером.
Применение
Для использования необходимо сделать три шага:Начальный инит — настройка модуля, подключение к точке доступа: call init_zifi
Для настройки точки нужно имя точки доступа (АР, SSID) и пароль, они заданы по меткам:
cmd_cwjap_ap db "название точки доступа" ; SSID
...
cmd_cwjap_pass db "пароль"
как это делать у клиента — пока остаётся под вопросом.
Инит занимает несколько секунд, но выполняется один раз при старте.
Дальше — рабочий цикл.
Второй шаг — подготовка URL для запроса. Готовить будем адрес http://httpbin.org/ip.
; create http
ld hl,test_url
call parse_url
И, наконец — загрузка, get_url:
указываем пагу и адрес для загрузки, результат — длина загруженного блока в виде А:HL.
; set page for download data
ld a,page_for_download
ld (zipd_page+1),a
ld hl,#0000 ; start adress
ld (zipd_adr+1),hl
call get_url
ld a,5
out (#fe),a
; lenght of received data: #00 : #0000
ld a,(readed_len_high+1) ; high byte lenght
ld hl,(readed_len_low+1) ; low word lenght
jr $
test_url db "http://httpbin.org/ip",#0d
в ответ мы должны получить строку с ip-адресом, с которого происходило подключение.
Отладка
Придётся собрать из этих двух штук одну:Это даст возможность подключить собранного франкенштейна к РС. После этого устанавливаем драйвер для «usb2ttl adapter», и у вас в системе появляется новый СОМ-порт.
Номер этого порта нужно указать в настройках эмулятора:
ZiFi=COM11 ; NONE or COM1-COM255
В принципе — всё, остальное за Вами!
zifi_driver.asm
PS: Чего здесь нет?
Нет http-заголовков, нет https skype telnet youtube unzip dihalt stream mp3 player
В комплект так же не входят мозги ddp & vbi, но общение на эту тему — приветствуется!
2 комментария
Что представляет тебе эта библиотека?
Данный код позволяет отправлять http запрос методом get.
Метод get используется для передачи данных и адреса в командной строке, и позволяет отправлять на указанный адрес переменные с параметрами: www.google.com.ua/search?q=zx+spectrum&ie=utf-8
Параметры запроса разделяются имперсандом и указывают на способ их обработки принимающим запрос скриптом.
Результатом работы скрипта является его ответ, который может выглядеть как текст, или байтовые данные. например — файл, графика, любой текст.
Другими словами, сейчас метода get хватает для отправки/приёма scores игры, получения различных файлов и т.д.
Именно такой метод используется в zifi.
Изменением построения http заголовка в подпрограмме parse_url — можно получить работу с остальными http методами, такими как post — для отправки бинарных данных на сервер, и другими. Модуль это позволяет, и никаких проблем не возникнет, кроме как написание своего правильного формирования нужного заголовка по требованиям w3c и rfc иже с ним :)
Если у вас есть желание организовать подобный способ связи через обычный RS порт — приглашаю разобраться с исходниками моего учителя в этом — DDp, вот первая реализация драйвера с работой по стандартному порту
Ждемс еще новостей/публикаций/пояснений/разъяснений..;)