PDA

Просмотр полной версии : Single board ZX Spectrum 128 на ESP32, analog color TV +2 USB host



sdima1357
03.04.2021, 23:30
zx spectrum на одной платке за $2.5 https://www.aliexpress.com/premium/LOLIN32.html без паяльника и напильника

1 Цветной аналоговый выход PAL-TV 50 Hz. (GPIO25)
2 Два контроллера (bitband) USB-HID (DP/DM) GPIO16/ GPIO17 - USB 1 GPIO18/ GPIO19 - USB 2
3 Audio эмуляция AY-3-8910 (GPIO27)
4 SDCard control (.tap .z80 .sna) read pins:
PIN_NUM_MISO 2
PIN_NUM_MOSI 15
PIN_NUM_CLK 14
PIN_NUM_CS 13
5 широкий / узкий экран F4/F5
6 tape normal/fast F11/F12
7 reset F6
ESP - menu
навигация стрелками

Исходный код:
https://github.com/sdima1357/spectrum128_esp32_usb_host_pal_tv

SD card: Partition 1 type Start 2048 : W95 FAT32 (b)
Attributes: 80
Filesystem UUID: xxxx-xxxx
Filesystem: vfat

Директории в корне:

Z48
Put spectrum48 files here.Форматы: .TAP,.Z80,.SNA

Z128
Put spectrum128 files here spectrum128.Форматы: .TAP,.Z80,.SNA
https://github.com/sdima1357/spectrum128_esp32_usb_host_pal_tv/blob/main/images/IMG_20210403_234328.jpg?raw=true



// добавлю
Чудес не бывает. За все надо платить.
1 Цветовая составляющая несколько неправильно написана и не отфильтрована как надо. Просто не успеваю, не хватает ресурсов процессора.
Если на вашем экране сильный алиасинг, добавьте RC LOW PASS FILTER на выход видео.
Если телевизор просаживает сигнал, можно добавить усилитель тока , например эмиттерный повторитель и соотвественно добавить смещение к ЦАПу.

2 Выдача звука идет на частоте строчной развертки 15625 Гц(DAC занят телесигналом, выдавать нечем) То есть его тоже лучше фильтровать и качество звука соотвественное

3 Клавиатуры которые работают только USB-HS (например WIRELESS Logitech) работать не будут. Еще одна моя клавиатура (Dell как ни странно) некорректно обрабатывает ACK. Под нее нужен специальный код. Я не успеваю посчитать CRC на лету и отвечаю только на следующий пакет ACK-ом.
Так вот с ней это не работает. А так из 18 провереных клавиатур не работали только 2 (одна из трех деллей и один лоджитек)

Собственно проект посвящен энтузиастам , создателям клонов спектрума в конце 80, которые на существующей тогда элементной базе смогли создать доступные по цене клоны. Да и самой группе инженеров Клайва сделавших чудесный и дешевый компьютер.

Я специально выбирал самую дешевую конфигурацию сознавая что придется идти на компромиссы , считая что это как можно более полно соответствует духу ZX Spectrum.


//14.6.2021
Цена на платку еще немного упала, до $1.61 https://www.aliexpress.com/item/33049922495.html

ALS
04.04.2021, 07:17
охренеть...

occamlab
04.04.2021, 23:24
Прикольно, а вот такую клавиатуру:
https://www.aliexpress.com/item/4000196882290.html
к ESP32 реально прицепить?

sdima1357
04.04.2021, 23:49
Прикольно, а вот такую клавиатуру:
https://www.aliexpress.com/item/4000196882290.html
к ESP32 реально прицепить?

Вот здесь код работает именно с этой клавиатурой (проверял с такой же но только белой ) первые пять секунд ищет коннект:

https://github.com/rossumur/esp_8_bit

Код не мой . Брал оттуда PAL-TV, частично . Клава кстати барахольная...Батарейка садится за минуты

Dotoro
05.04.2021, 00:43
Вот она рыба моей мечты...
Когда то именно это и искал, просто и дешево

Dotoro
06.04.2021, 16:14
Я как-то в свое время делал что-то похожее на esp8266
только не zx spec a ibm xt,
кстати чем это компилить?

siemensC35
06.04.2021, 16:23
Вот она рыба моей мечты...
Когда то именно это и искал, просто и дешево
Интересно а эмуляция Бетадиса влезет , если да то то вообще жирствеенная вещь будет

Dotoro
06.04.2021, 16:44
Интересно а эмуляция Бетадиса влезет , если да то то вообще жирствеенная вещь будет

Физически да, теоритически это много работы.
даже старый 8266 это одуренно мощный чип а новый esp32 с кучей памяти и двумя ядрами по 240 мгц это очень круто.

sdima1357
06.04.2021, 17:22
Я как-то в свое время делал что-то похожее на esp8266
только не zx spec a ibm xt,
кстати чем это компилить?
install тул:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/

а компиляция описана в https://github.com/sdima1357/spectrum128_esp32_usb_host_pal_tv - прямо на странице . Читайте , компилируйте

- - - Добавлено - - -


Интересно а эмуляция Бетадиса влезет , если да то то вообще жирствеенная вещь будет

Да "жирствеенная" - по цене чашки хорошего кофе.
Должно влезть. Места много(ROM/FLASH для кода) если в RAM (его не очень много) весь диск не держать, сразу блоки сохранять/читать
Проблема не столько с эмуляцией диска, сколько с пользовательским интерфейсом к дисковым файлам. Лень писать. Поэтому и save не написал.Может быть попозже.

ZPilot
07.02.2022, 08:47
Можно разжевать порядок компиляции и прошивки данного проекта. Как ни пытался, не получается. Спасибо доброму человеку!!!

sdima1357
07.02.2022, 14:57
Можно разжевать порядок компиляции и прошивки данного проекта. Как ни пытался, не получается. Спасибо доброму человеку!!!


Попробуйте еще раз.Я удалили лишний файл. Сотрите директорию spectrum128_esp32_usb_host_pal_tv и повторите с начала
remove all code and repeat with new content: (Все удалить и повторить с новым кодом)

export IDF_PATH=$HOME/esp/esp-idf

source $HOME/esp/esp-idf/export.sh

//connect the board, build & flash

git clone https://github.com/sdima1357/spectrum128_esp32_usb_host_pal_tv

cd spectrum128_esp32_usb_host_pal_tv

idf.py flash monitor

ZPilot
10.02.2022, 20:54
А что означает в меню - Tape 0-1-2?

sdima1357
11.02.2022, 16:51
скорость чтения .
0 стоп
1 как настоящий (1:1)
2 максимальная ,ограничена только скоростью эмуляции z80

valera_h
07.03.2022, 13:17
Можно разжевать порядок компиляции и прошивки данного проекта. Как ни пытался, не получается. Спасибо доброму человеку!!!

Тоже тупил сперва, просо скачиваешь IDF-ESP v4.4 , а дальше просто в командной строке набираешь, что он на github -е выложил:

//set right esp32 env for me it:

export IDF_PATH=$HOME/esp/esp-idf

source $HOME/esp/esp-idf/export.sh

//connect the board, build & flash

git clone https://github.com/sdima1357/spectrum128_esp32_usb_host_pal_tv

cd spectrum128_esp32_usb_host_pal_tv

make flash monitor

// or if You don't have make

idf.py flash monitor



На самом деле проект не очень понравился, как ни пытался, эмиттерные повторители делать, картина - г.вно. Лучше вот этот проект попробуй :https://github.com/abelykh0/esp32-z80emu
Там хоть процентов 20 программ идет, но за то хоть не рябит, не пляшет. Не в обиду разработчику, но к хорошей картинке быстро привыкаешь на VGA.

AleBin
31.10.2023, 19:32
Здравствуйте. Собрал как описано пин к пину прошил без проблем. Загружается в zx spectrum. Все работает кроме флешки. Какую не пробовал не работает. Может кто сталкивался подскажет куда глядеть где копать

AleBin
07.11.2023, 20:01
Здравствуйте. Вообщем разобрался сам. Дело было в картридере под mini sd. Перепробовал 3 штуки. Вот только с последней заработала.