====== Flash Floppy OSD — версия под GoTek для бокового слота Yamaha MSX ======
Здесь описана версия доработки [[msx:flash_floppy_osd:|]] для [[msx:side_slot_gotek_adapter:side_slot_gotek_adapter|]].
Вид платы STM32F103C8T6 с припаянными контактами, резисторами и перемычкой:
\\ {{:msx:flash_floppy_osd:side_slot_gotek_adapter-stm32f103c8t6.jpg?350|}}
{{anchor:gotek}}
====== Адаптер эмулятора GoTek для бокового слота Yamaha MSX ======
Доработка платы [[msx:side_slot_gotek_adapter:|]]:
\\ {{:msx:flash_floppy_osd:side_slot_gotek_adapter-fix.svg?350|}}
{{:msx:flash_floppy_osd:side_slot_gotek_adapter-1.jpg|}}
{{:msx:flash_floppy_osd:side_slot_gotek_adapter-2.jpg|}}
{{anchor:videomodule}}
====== Видеомодуль ======
Доработка платы видеомодуля:
\\ {{:msx:flash_floppy_osd:side_slot_gotek_adapter-video_module-fix.jpg?350|}}
{{anchor:yis503iiir}}
====== Yamaha YIS-503IIIR ======
Доработка платы [[msx:yamaha_yis-503iiir:|]]:
\\ {{:msx:flash_floppy_osd:yis-503iiir_side_slot-fix_2.jpg?350|}}
{{:msx:flash_floppy_osd:yis-503iiir_side_slot-fix_1.jpg|}}
{{anchor:connection}}
====== Схема соединений ======
^ STM32 ^^[[msx:cartridge_slot:cartridge_slot#pin60|Боковой слот MSX]]^FF OSD 3CH Board 1.0 (CN2)((нумерация стандартно = слева направо))^
|А15||@#800080:4|1 (гейт)|
|B15||@#663300:6|2 (цвет)|
|А8||@#FFFF00:8|3 (синхронизация)|
| |||
^ STM32 ^^[[gotekemulator:sfr1m44-u100k:sfr1m44-u100k#screen|GoTek (J7)]]^ ^
|B6|SCL|@#0e34f1:4|
|B7|SDA|@#339933:3|
|3.3|VCC|@#CC0000:2|
|G|GND|@#000000:1|
|A0|перемычка|
|A1|:::|
| |||
^ STM32 ^^USB-TTL^ ^
|5V|5 V| |
|G|GND| |
|A9|RXD| |
|A10|TXD| |
[[github>keirf/flashfloppy-osd|FF OSD: On Screen Display for FlashFloppy]]
{{anchor:partslist}}
====== Список деталей ======
^Код^Название^Кол-во^Назначение^
|МГТФ 1х0.05 мм|Провод монтажный 3х180 мм|3|Плата STM32 — FF OSD 3CH Board 1.0|
|BL-T (DS-1071)|Контакт для розеток BLS и BLD|3|:::|
|Контакты гнездо–штырь 2.54мм, длина 20см (нужных цветов)||3|:::|
|BLS-3 (DS1071-1x3)|Гнездо на кабель 1х3 с контактами 2.54мм|1|:::|
|PLS-3 (DS1021-1x3)|Вилка штыревая 2.54мм 1x3|1|:::|
|Разъем PBS-1x3|Гнездо на плату, шаг P2.54|1|:::|
|Контакты гнездо–гнездо 2.54мм, длина 10см (нужных цветов)||4|Плата STM32 — [[gotekemulator:sfr1m44-u100k:sfr1m44-u100k#screen|GoTek (J7)]]|
|BLD-4|Разъём BLD 2x02|1|:::|
|PBS-1x8|Гнездо на плату, шаг P2.54|1|FF OSD 3CH Board 1.0 — видеомодуль|
|PLS-8R (DS-1022-1x8R)|Вилка штыревая 2.54мм 1х8 угловая|1|:::|
|Трубка термоусадочная (прозрачная), ширина 25мм, длина 50 мм||1|:::|
|PLS-10R (DS-1022-1x10)|Вилка штыревая 2.54мм 1х10,угловая|1|Плата STM32 (по схеме)|
|PLS-2 (DS1021-1x2)|Вилка штыревая 2.54мм 1x2|1|:::|
|JUMPER-B-Z|Перемычка 2.54мм 2|1|:::|
====== Режим загрузки программы ======
Загрузки нужно:
- Установить жёлтые перемычки на плате STM32:
- Boot 0 — 1
- Boot 1 — 0
- Подключить адаптер [[usb-uart_ch340g:usb-uart_ch340g|USB-TTL]] по [[#connection|схеме]].
После выполнения загрузки нужно вернуть жёлтые перемычки на плате STM32:
* Boot 0 — 0
* Boot 1 — 0
===== Тест =====
Для начала нужно убедиться в том, то проходит тест [[github>keirf/Greaseweazle/wiki/STM32-Fakes|STM32 Fakes]].
В примерах загрузки используется [[stm32flash:stm32flash|]]
/*
Для загрузки {{blinky_test-v0.20.hex|blinky-test}} нужно использовать [[stm32:stm32#STM32CubeProgrammer|STM32CubeProgrammer]], тип подключения: UART.
Пример вывода при загрузке:
22:53:45 : Activating device: OK
22:53:45 : Chip ID: 0x410
22:53:45 : BootLoader protocol version: 2.2
22:53:45 : Device Read Unprotect requested
22:53:46 : UPLOADING OPTION BYTES DATA ...
22:53:46 : Bank : 0x00
22:53:46 : Address : 0x1ffff800
22:53:46 : Size : 16 Bytes
22:53:46 : UPLOADING ...
22:53:46 : Size : 1024 Bytes
22:53:46 : Address : 0x8000000
22:53:46 : Read progress:
22:53:46 : Data read successfully
22:53:46 : Time elapsed during the read operation is: 00:00:00.151
22:54:21 : Read File: /tmp/blinky-test-f1-1.2.hex
22:54:21 : Number of segments: 1
22:54:21 : segment[0]: address= 0x8000000, size= 0x10000
22:54:26 : Memory Programming ...
22:54:26 : Opening and parsing file: blinky-test-f1-1.2.hex
22:54:26 : File : blinky-test-f1-1.2.hex
22:54:26 : Size : 64 KBytes
22:54:26 : Address : 0x08000000
22:54:26 : Erasing memory corresponding to segment 0:
22:54:26 : Erasing internal memory sectors [0 63]
22:54:27 : Download in Progress:
22:54:38 : File download complete
22:54:38 : Time elapsed during download operation: 00:00:12.114
*/
Загрузка теста {{blinky_test-v0.20.hex|blinky-test}}:
sudo stm32flash -b 115200 -vw blinky_test-v0.20.hex /dev/ttyUSB0
вывод:
stm32flash 0.5
http://stm32flash.sourceforge.net/
Using Parser : Intel HEX
Interface serial_posix: 115200 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (STM32F10xxx Medium-density)
- RAM : 20KiB (512b reserved by bootloader)
- Flash : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote and verified address 0x08020000 (6.15%) Done.
При нормальной работе теста на плате должен мигать каждые 500 мс зелёный светодиод PC13.
Также можно наблюдать за ходом теста, подключившись по UART, для работы можно использовать [[miniterm:|]]:
sudo miniterm /dev/ttyUSB0 115200 --parity N
вывод:
--- Miniterm on /dev/ttyUSB0 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
........
** Blinky Test **
** Keir Fraser
** https://github.com/keirf/Greaseweazle
Serial = ff51:0673:7250:4855:5517:8718
Flash Size = 128kB
Device ID = 0x0000
Revision = 0x0000
Testing I2C1... OK
Testing I2C2... OK
Testing SPI1... OK
Testing SPI2... OK
Testing TIM1... OK
Testing TIM2... OK
Testing TIM3... OK
Testing TIM4... OK
DMA Test #1... OK
DMA Test #2... OK
DMA Test #3... OK
DMA Test #4... OK
Testing 64kB Flash... OK
Enable TIM4 IRQ... .OK
Testing 20kB SRAM (endless loop)..............
===== Загрузка прошивки =====
Для загрузки можно использовать программу [[stm32flash:stm32flash|]]
[[github>keirf/flashfloppy-osd/wiki/Firmware-Programming|Описание процесса от автора]]
-
sudo stm32flash -b 115200 -vw FF_OSD-v1.9.hex /dev/ttyUSB0
вывод:
stm32flash 0.5
http://stm32flash.sourceforge.net/
Using Parser : Intel HEX
Interface serial_posix: 115200 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (STM32F10xxx Medium-density)
- RAM : 20KiB (512b reserved by bootloader)
- Flash : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote and verified address 0x0800355c (100.00%) Done.
- Подключение:
sudo miniterm /dev/ttyUSB0 115200 --parity N
вывод (настройки по умолчанию):
--- Miniterm on /dev/ttyUSB0 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
** FF OSD v1.9 **
** Keir Fraser
** https://github.com/keirf/FF_OSD
Config corrupt: Resetting to Factory Defaults
Current config:
Sync Polarity: Low
Pixel Timing: 15kHz
Display Height: Normal
Display Output: PB15/SPI2
Display Enable: None
H.Off: 42
V.Off: 50
Rows: 2
Columns: 16-40
Keys:
Space: Select
O: Down
P: Up
Sync lost
Назначение клавиш терминала для настройки:
|Пробел|выбор параметра|
|o|уменьшить значение (↓)|
|p|увеличить значение (↑)|
Для корректной работы нужно установить следующие значения:
Sync Polarity: Low
Pixel Timing: 15kHz
Display Height: Normal
Display Output: PB15/SPI2
Display Enable: PA15 Act.LOW
H.Off (1-199): 145
V.Off (2-299): 35
Рекомендуемые параметры для [[gotekemulator:flashfloppy|FlashFloppy]], (файл ''FF.CFG'')
host = msx
display-type = auto
oled-font = 6x13
display-order = default
osd-display-order = 0,1
osd-columns = 16
display-off-secs = 5
====== Ссылки ======
[[zxpkru>threads/34630-flash-floppy-osd-dostupen-dlya-msx!.html?p=1167185#post1167185|Тема на форуме zx-pk.ru]]
{{tag>MSX RBSC}}