====== 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}}