User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Интернет дали!

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool Интернет дали!

    Приветики!

    Специально для криворуких типа меня, я попробовал сделать загрузчик программ в РК через Интернет.

    Это когда очень хочется дописать игру, но девайс для загрузки с SD-карты собрать не получается, программаторы не подходят, да и ещё последний в доме мультиметр сдох... Магнитофонный вход конечно выручает, но меееедленно...

    Мой вариант максимально простой. На основе ESP32C3. Состоит он из куска макетной платы, разъёма, ESP32C3 и 10-ти резисторов, но можно и без них, если очень хочется. Да и разъём можно заменить пучком проводов

    Устройство работает через параллельный порт по команде "R". Слушаем младший бит адреса (PB0), и старший (PC7) бит адреса. Если старший низкий, значит началась передача данных. Если младший изменился, значит в порт ESP32C3 (выводы 0-7) надо выдать очередной байт загруженной программы.

    Чтобы не было проблем с хитрыми компиляторами, всё написано в Arduino IDE. А так же есть один PHP файл, если вы хотите разместить загрузчик у себя на сервере, а если не хотите, то можно использовать для тестов временный. После загрузки файла на сайте, вы увидите, с какими параметрами использовать команду "R". Затем включаете РК, девайс присасывается к WiFi. Если светодиод на ESP32C3 перестал мигать, значит можно вводить команду "R". Бац, программа загружена!

    Вариантов развития такого картриджа много. Можно его и без интернета использовать, как RAM диск. На данный момент к нему пишется программная оболочка с красивостями и использованием файловой системы МК. Но! В одно лицо очень тяжело отлавливать баги. Поэтому предлагаю желающим повторить схему. Она простая:

    0 через резистор 1к PA0
    1 через резистор 1к PA1
    2 через резистор 1к PA2
    3 через резистор 1к PA3
    4 через резистор 1к PA4
    5 через резистор 1к PA5
    6 через резистор 1к PA6
    7 через резистор 1к PA7

    10 через резистор 1к PB0
    20 через резистор 1к PC6
    21 через резистор 1к PC7

    Питание подавать через диод, чтобы во время прошивки РК не пытался запуститься.

    Резисторы - это мой колхозный вариант защиты, чтобы ничего не выгорело, если подвиснет РК или ESP32C3. Они могут оба сработать на вывод данных, тогда будет нехорошо. Но я несколько дней работал без резисторов и диода, и ничего не сгорело.

    В настройках ESP32C3 надо выставить 160 мГц. Работает и на 80 мГц, но проскакивают ошибки.

    Если кто-то озаботится отрисовкой платы, будет вообще хорошо т.к. меня такой способ загрузки вполне устраивает. Купил бы несколько плат. Пожелания: ESP32C3 должна быть повёрнута мордой к юзеру, USB шнур для прошивки втыкать с правой стороны. Выход с питанием на i2c для подключения экрана или джойстиков. Очень хочется wii nunchuk задействовать.

    Код и фотки: ESP32_86RK_Simple.zip

    Нажмите на изображение для увеличения. 

Название:	kMcaGNgF4Fc.jpg 
Просмотров:	325 
Размер:	76.1 Кб 
ID:	80641

    Нажмите на изображение для увеличения. 

Название:	B4uqlYtewMU.jpg 
Просмотров:	276 
Размер:	77.1 Кб 
ID:	80642
    Последний раз редактировалось Hammer; 14.04.2024 в 01:02. Причина: Изменения в коде программ

    Эти 11 пользователя(ей) поблагодарили Hammer за это полезное сообщение:

    Alikberov(05.06.2024), Beaver(12.04.2024), Black Cat / Era CG(12.04.2024), CodeMaster(12.04.2024), Kakos_nonos(13.04.2024), L Juriy(13.11.2024), Pluto(12.04.2024), Pyk(11.04.2024), Shaos(12.04.2024), SoftFelix(12.02.2025), svofski(12.04.2024)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Апдейт по проекту!

    Теперь девайс после включения мигает светодиодом, пока не подключится к вайфаю, потом запускает локальный вебсервер по адресу: http://radio-86rk.local/

    Там вы увидите форму для загрузки файлов. После загрузки своего файла вы увидите с какими параметрами вызывать директиву R.

    Если программа стартует с нулевого адреса, можно использовать команду R,7FFF - программа загрузится с автозапуском.

    Если сразу после включения вызвать директиву R,7FFF - загрузится дисковая операционная система "МИР", сокращённое рабочее название "PEACE-DOS". В данном случае операционка ничего не делает. Уже написано несколько версий этой системы, есть поддержка I2C ногодрыгом и другие фишки, но релизить пока не готов. В этой версии предполагается, что операционка будет давать команды WiFi девайсу и забирать запрошенную информацию.

    Пока можно смело вместо PEACE-DOS положить, например, свою любимую игру, в исходнике это легко сделать.

    Буду рад отзывам. Лично я SD-приводом практически перестал пользоваться за ненадобностью.

    ESP32_86RK_WS.zip

    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	_DSC8153.jpg 
Просмотров:	691 
Размер:	17.2 Кб 
ID:	81554  

    Эти 4 пользователя(ей) поблагодарили Hammer за это полезное сообщение:

    Aleks1985(14.11.2024), Pyk(13.11.2024), SoftFelix(12.02.2025), SoftLight(18.11.2024)

  4. #3

    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    500
    Спасибо Благодарностей отдано 
    334
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    59 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    использовать команду R,7FFF
    Занимательный диапазон адресов.
    Как раз в системную область, видео-ОЗУ и стек.
    wtf

  5. #4

    Регистрация
    11.04.2023
    Адрес
    г. Ташкент, Узбекистан
    Сообщений
    180
    Спасибо Благодарностей отдано 
    56
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Если программа стартует с нулевого адреса, можно использовать команду R,7FFF - программа загрузится с автозапуском.
    Значит «R1,0» или «R1,» так и не отладилось?
    Электроника КР-03; ZX-Spectrum "Ленинград-48"; Atari-130XE; Поиск-1...

  6. #5

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alikberov Посмотреть сообщение
    Значит «R1,0» или «R1,» так и не отладилось?
    Я пока до этого просто не дошёл.

  7. #6

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Именно так и есть, в результате затирания стека при выходе из подпрограммы происходит переход в начало памяти.

    Игры в которые я играю, и которые я сам пишу, к этому относятся вполне лояльно.

    В любом случае, после загрузки файла вы увидите правильный вариант директивы R - запускайте удобным вам способом.



    Забыл написать, есть один известный глюк. Существует версия Монитора, в котором из кода директивы R вырезано обслуживание ROM диска. С этой версией Монитора девайс работать не будет.

    Всем рекомендую брать Монитор из дистрибутива EMU-80.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	wifiex.jpg 
Просмотров:	812 
Размер:	21.3 Кб 
ID:	81558  

  8. #7

    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    500
    Спасибо Благодарностей отдано 
    334
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    59 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    в результате затирания стека при выходе из подпрограммы происходит переход в начало памяти
    Происходит переход по адресу, считанного из указателя стека. ноль там будет или нет.

    Даже если бы было так, переменные Монитора примут случайные значения, синхра поедет (если попадут байты > 80h).
    Стандарт конечного адреса, это 75FFh, в конфигурации без РК ДОС.
    wtf

  9. #8

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    Происходит переход по адресу, считанного из указателя стека. ноль там будет или нет.
    Абсолютно верно!

    Цитата Сообщение от cy6 Посмотреть сообщение
    Даже если бы было так, переменные Монитора примут случайные значения, синхра поедет (если попадут байты > 80h).
    Они примут случайные значения только если вы сами в исходнике сделаете генерацию случайных значений. А можете туда поместить дамп нужных вам переменных Монитора.

    Я туда пробовал картинку вставлять, но она очень быстро исчезает. Была бы видеопамять в начальных адресах, было бы очень красиво!

    А можете использовать директиву R с другими аргументами, не затирая ничего из того, что вам не хочется затирать.

    Очень всё гибко и удобно по принципу работы ROM диска!

  10. #9

    Регистрация
    26.11.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    192
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    133
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Забыл написать, есть один известный глюк. Существует версия Монитора, в котором из кода директивы R вырезано обслуживание ROM диска. С этой версией Монитора девайс работать не будет.
    Всем рекомендую брать Монитор из дистрибутива EMU-80.
    Ага, внезапно выяснилось что обрезанный Барсиком монитор, не работает с ром диском. Поэтому все существующие версии пальмиры работать с этим не будут.
    Радио86 рк (Пальмира), Электроника кр04, Поиск 1

  11. #10

    Регистрация
    14.10.2022
    Адрес
    г. Мурманск
    Сообщений
    31
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так че там? на пальмире будет работать?

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Интернет на спектруме ?
    от AAA в разделе Разный софт
    Ответов: 27
    Последнее: 09.11.2015, 01:05

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •