SlideShare a Scribd company logo
1 of 37
Download to read offline
Как да убием и последната дискета с
Open Source технологии?
Леон Анави
leon.anavi@konsulko.com
leon@anavi.org
BurgasConf 2023
BurgasConf 2023, Леон Анави
Дискети
 Гъвгав диск покрит с
магнитен слой в пластмасова
защитна опаковка с типични
размери:
 диаметър 8“ (~200 mm),
капацитет от 80 KB до 1,2 MB
 диаметър 5,25“ (~130 mm)
капацитет от 110 KB до 1,2 MB
 диаметър 3,5“ (~90 mm)
капацитет от 720 KB до 2,88
MB
BurgasConf 2023, Леон Анави
Недостатъци на дискетите
BurgasConf 2023, Леон Анави
Флопи-дисково устройство (ФДУ) или просто флопи
 Устройство за четене и запис на
информация на дискети
 Информацията се записва на
пътеки
 Всяка пътека е разделена на
сектори
 Чрез флопи дискетите могат да
се форматират, т.е. да се
извърши процесът на създаване
на пътеки и сектори
BurgasConf 2023, Леон Анави
Къде са се ползвали дискети?
 Компютри
 Синтезатори
 Роботи
 Индустриални машини
BurgasConf 2023, Леон Анави
В България
 ИМКО (Индивидуален Микро Компютър)
 Правец 8
 Правец 8Д
 Правец 16
 Пълдин
BurgasConf 2023, Леон Анави
По света
 1976 Apple I CPU: MOS 6502 @ 1 MHz
 1977 Apple II CPU: MOS 6502 @ 1 MHz
 1979 Atari 800 CPU: MOS 6502B @ 1 MHz
 1981 ZX81 CPU: Z80 @ 3.25 MHz
 1981 IBM PC CPU: 8088 @ 4.77Mhz
 1981 BBC Micro CPU: 6502 @ 2Mhz
 1982 Commodore 64CPU: 6502 @ 1Mhz
 1983 ZX Spectrum CPU: Z80 @ 3.5Mhz
 1985 - Atari ST CPU: 68000 @
8Mhz
 1987 – Commodore Amiga 500
CPU: 68000 @ 7Mhz
 1987 - Acorn Archimedes CPU:
32-bit ARM 32-bit @ 8Mhz
Кой е най-продаваният
компютър
през 20 век?
BurgasConf 2023, Леон Анави
Commodore
BurgasConf 2023, Леон Анави
Commodore 64
 CPU: MOS Technology 6510/8500
@ 1.023 MHz (NTSC) @ 0.985 MHz (PAL)
 RAM: 64KB
 ROM: 20KB
 Графика: VIC-II 320×200px и 16 цвята
 Звук: SID 6581/8580
 Първоначална цена $595
 В производство от 1982 до 1994г.
BurgasConf 2023, Леон Анави
Commodore Amiga 500
 1985 започва серията компютри Amiga
 1987 Излиза Amiga 500
 CPU: Motorola 68000 @ 7MHz
 RAM: 512 или 1024 KB
 Софтуер: AmigaOS (kickstart firmware и
Workbench софтуер)
BurgasConf 2023, Леон Анави
Митичният GoTek
 USB флопи емулатор
 Произвеждан в Китай
 Няколко разновидности с
различни екрани с или без
енкодер
 Проектът е на над 10 години
 Първоначално с
микроконтролер Cortex-m3
STM32F105RBT6
 https://www.gotekemulator.com/
BurgasConf 2023, Леон Анави
Глобалният недостиг на чипове
BurgasConf 2023, Леон Анави
Глобалният недостиг на чипове и STMicroelectronics (ST)
 Mултинационална европейска корпорация
 Най-големият Европейски полупроводников производител
 Основа през 1987г при сливането на френската Thomson Semiconducteurs
и италианската компания SGS Microelettronica, с корени свързани с Адриано
Оливети
 Проектират и произвеждат линията 32-битови RISC ARM микроконтролери
STM32
 Глобалният недостиг на чипове тежко засегна ST и лията STM32, което
доведе увеличение на сроковете за доставки и повишение на цените
BurgasConf 2023, Леон Анави
STM32 алтернативи
 GigaDevice GD32 микроконтролери, които са пин към пин съвместими със
STM32
 В GoTek STM32F105RBT6 e заменен с Artery AT32F415CBT7
BurgasConf 2023, Леон Анави
Програмиране на STM32 микроконтролери
 STM32CubeIDE
Интегрирана програмна среда за STM32 и програмните езици C и C++,
базирана на Eclipse/CDT с GNU ARM компилатор GDB дебъгер. Поддържа ST-
Link и J-Link. Съвместима с MS Windows, MacOS и GNU/Linux дистрибуции.
 Atollic TrueSTUDIO (спряна разработка на нови функционалности
 .... или просто makefile с ARM компилатор
 Други варианти: Arduino sketches, Assembly, Rust, MicroPython, CircuitPython...
BurgasConf 2023, Леон Анави
OpenFlops
 Open source hardware алтернатива на GoTek за USB флопи емулация
 Двуслойна платка проектирана на open source софтуера KiCad
 Използва STM32F105RBT6 (като първоначалните версии на GoTek)
 Платката има същата форма и размери като тази в GoTek, така че е
съвсемстима с всички съществуващи кутии
 Лиценз: CERN OHL v. 1.2
 Проектирана от Giorgioggì (SukkoPera)
 https://github.com/SukkoPera/OpenFlops
BurgasConf 2023, Леон Анави
OpenFlops
 STM32F105RBT6
 USB тип А
 Възможност за добавяне на
I2C дислей и на енкодер
 Бутони за навигация
 Зумер
 UART пинове за
програмиране
 Пинове за конфигурация
BurgasConf 2023, Леон Анави
OpenFlops
BurgasConf 2023, Леон Анави
STM32F105RBT6
BurgasConf 2023, Леон Анави
KiCad
 Open source софтуер за проектиране на печатни платки написан на C++ и
достъпен под GPLv3+ лиценз
 Предоставя инструменти за редактиране на схема и дизайн на печатна
платка до 32 слоя
 Възможности за експортиране на BoM, Gerber файлове и 3D модели
 3D viewer за визуализиране на платката по време на чертането й
 Съвместимост с MS Windows, MacOS и GNU/Linux дистрибуции
 http://kicad.org
BurgasConf 2023, Леон Анави
OpenFlops схема в KiCad
BurgasConf 2023, Леон Анави
OpenFlops платка в KiCad
Корпус: LQFP64
BurgasConf 2023, Леон Анави
OpenFlops за Commodore Amiga 500
BurgasConf 2023, Леон Анави
OpenFlops за Commodore Amiga 500
BurgasConf 2023, Леон Анави
Модификации на OpenFlops
https://www.pcbway.com/project/shareproject/Floppy_Disk_Drive_emulator_OpenFlops_smaller_version_4f72f1eb.html
BurgasConf 2023, Леон Анави
FlashFloppy
 Open source firmware за емулация на флопи дисково устройство и замяната
на дискетите с USB памети или SD/microSD карти
 Съвместим с GoTek и OpenFlops емулатори
 Съвместим с микроконтролери Artery и STM32
 Проектът е стартиран от Keir Fraser през 2014г.
 Код под MIT/BSD лиценз в GitHub: https://github.com/keirf/flashfloppy
BurgasConf 2023, Леон Анави
FlashFloppy
 Написан на C
 Помощни скриптове на Python
 Makefile за крос-компилиране
 Използва ARM GNU GCC
 Docker имидж, който създава FlashFloppy zip архив от командния ред:
docker run -v $(pwd):/output --rm -ti planeturban/docker-flashfloppy
BurgasConf 2023, Леон Анави
FlashFloppy съвместими компютри
 Acorn Archimedes
 Acorn BBC Micro
 Amstrad CPC
 Amstrad PCW
 Amstrad PPC
 Atari ST
 Commodore Amiga
 DEC
 DEC
 Dragon
 IBM 3174
 IBM PC
 IBM PS/2
 Kaypro
 Memotech
 Microware
 MSX
 NEC PC-98
 Sharp
 Sinclair QL
 Spectrum
 Tandy Color Computer
 TI-99/4A
 TSC Flex
 UKNC, DVK
BurgasConf 2023, Леон Анави
FlashFloppy съвместими машини
Синтезатори
 Akai
 E-mu ESI-32
 Ensoniq
 General Music (GEM)
 Korg
 Kurzweil
 Roland
 Roland
 Sequential Circuits
Prophet 3000
 Yamaha
Роботи
 KUKA KRC1
BurgasConf 2023, Леон Анави
Запис на FlashFloppy на STM32
 През USB
 Серийно програмиране
BurgasConf 2023, Леон Анави
Universal Asynchronous Receiver-Transmitter (UART)
 Серийна комуникация, при която скоростта и формата на данните могат да
бъдат конфигурирани
 Поддържа 3 модела на комуникация: simplex, full duplex, half duplex
Устройство 1 Устройство 2
RX
TX
GND
RX
TX
GND
BurgasConf 2023, Леон Анави
Запис на FlashFloppy през UART към USB
BurgasConf 2023, Леон Анави
Запис на FlashFloppy през UART към USB
 stm32flash e open source приложение, което се изпълнява през командния
ред и записва firmware на STM32 ARM микроконтролери използвайки ST
серийния bootloader
 Поддържа UART и I2C
 За OpenFlops и FlashFloppy stm32flash се използва през UART:
sudo stm32flash -k /dev/ttyUSB0
sudo stm32flash -vw hex/flashfloppy-at415-st105-3.39.hex /dev/ttyUSB0
 https://sourceforge.net/projects/stm32flash/
BurgasConf 2023, Леон Анави
Заключения
 Времето на дискетите е безвъзвратно отминало
 Чрез USB емулатори може да се заменят флопитата на стари машини и да
се използват USB флашки вместо дискети
 OpenFlops е open source hardware за USB емулатор на флопи със STM32
микроконтролер
 KiCad е open source програма за проектиране на печатни платки
 FlashFloppy е open source firmware, съвместим с GoTek и OpenFlops
BurgasConf 2023, Леон Анави
OpenFlops заменя дискетите
BurgasConf 2023, Леон Анави
Благодаря Ви!
Полезни връзки:
 https://github.com/keirf/flashfloppy
 https://github.com/SukkoPera/OpenFlops
 https://www.pcbway.com/project/shareproject/OpenFlops_V1.
html
 https://www.kicad.org/

More Related Content

Similar to Как да убием и последната дискета с Open Source технологии?

19. шина pci express. основни характеристики.
19. шина pci express. основни характеристики.19. шина pci express. основни характеристики.
19. шина pci express. основни характеристики.dnaidenowa
 
16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристики16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристикиdnaidenowa
 
6. komp s ma pc-xt
6. komp s ma pc-xt6. komp s ma pc-xt
6. komp s ma pc-xtdnaidenowa
 
21.1. harakteristiki chip set
21.1. harakteristiki chip set21.1. harakteristiki chip set
21.1. harakteristiki chip setdnaidenowa
 
15. графичен порт agp. режими на работа
15. графичен порт agp. режими на работа15. графичен порт agp. режими на работа
15. графичен порт agp. режими на работаdnaidenowa
 
21. osobenosti na arhitekturata north south bridge
21. osobenosti na arhitekturata north south bridge21. osobenosti na arhitekturata north south bridge
21. osobenosti na arhitekturata north south bridgednaidenowa
 
RFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имRFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имOpenFest team
 
45. komp s ma intel core i
45. komp s ma intel core i45. komp s ma intel core i
45. komp s ma intel core idnaidenowa
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Leon Anavi
 
2. arhitektura na dp
2. arhitektura na dp2. arhitektura na dp
2. arhitektura na dpdnaidenowa
 
Адаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройстваАдаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройстваLeon Anavi
 
23. osobenosti na habovata arhitektura
23. osobenosti na habovata arhitektura23. osobenosti na habovata arhitektura
23. osobenosti na habovata arhitekturadnaidenowa
 
Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?Leon Anavi
 

Similar to Как да убием и последната дискета с Open Source технологии? (20)

br10
br10br10
br10
 
19. шина pci express. основни характеристики.
19. шина pci express. основни характеристики.19. шина pci express. основни характеристики.
19. шина pci express. основни характеристики.
 
16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристики16. серийна шина usb. основни характеристики
16. серийна шина usb. основни характеристики
 
6. komp s ma pc-xt
6. komp s ma pc-xt6. komp s ma pc-xt
6. komp s ma pc-xt
 
21.1. harakteristiki chip set
21.1. harakteristiki chip set21.1. harakteristiki chip set
21.1. harakteristiki chip set
 
15. графичен порт agp. режими на работа
15. графичен порт agp. режими на работа15. графичен порт agp. режими на работа
15. графичен порт agp. режими на работа
 
21. osobenosti na arhitekturata north south bridge
21. osobenosti na arhitekturata north south bridge21. osobenosti na arhitekturata north south bridge
21. osobenosti na arhitekturata north south bridge
 
br8
br8br8
br8
 
br13
br13br13
br13
 
RFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имRFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността им
 
Amd k8
Amd k8Amd k8
Amd k8
 
45. komp s ma intel core i
45. komp s ma intel core i45. komp s ma intel core i
45. komp s ma intel core i
 
br12
br12br12
br12
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
 
2. arhitektura na dp
2. arhitektura na dp2. arhitektura na dp
2. arhitektura na dp
 
Адаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройстваАдаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройства
 
23. osobenosti na habovata arhitektura
23. osobenosti na habovata arhitektura23. osobenosti na habovata arhitektura
23. osobenosti na habovata arhitektura
 
Nanoxx
NanoxxNanoxx
Nanoxx
 
Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?Как проектът Yocto помага за създаване на Internet of Things?
Как проектът Yocto помага за създаване на Internet of Things?
 
FOR PGTK
FOR PGTKFOR PGTK
FOR PGTK
 

More from Leon Anavi

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Leon Anavi
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedLeon Anavi
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLeon Anavi
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware MakersLeon Anavi
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareLeon Anavi
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive KioskLeon Anavi
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Leon Anavi
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiLeon Anavi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsLeon Anavi
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiLeon Anavi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareLeon Anavi
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiLeon Anavi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxLeon Anavi
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux DevicesLeon Anavi
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT BrokersLeon Anavi
 
Въведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiLeon Anavi
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source HardwareLeon Anavi
 

More from Leon Anavi (20)

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware Makers
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT Brokers
 
Въведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry Pi
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source Hardware
 

Как да убием и последната дискета с Open Source технологии?

  • 1. Как да убием и последната дискета с Open Source технологии? Леон Анави leon.anavi@konsulko.com leon@anavi.org BurgasConf 2023
  • 2. BurgasConf 2023, Леон Анави Дискети  Гъвгав диск покрит с магнитен слой в пластмасова защитна опаковка с типични размери:  диаметър 8“ (~200 mm), капацитет от 80 KB до 1,2 MB  диаметър 5,25“ (~130 mm) капацитет от 110 KB до 1,2 MB  диаметър 3,5“ (~90 mm) капацитет от 720 KB до 2,88 MB
  • 3. BurgasConf 2023, Леон Анави Недостатъци на дискетите
  • 4. BurgasConf 2023, Леон Анави Флопи-дисково устройство (ФДУ) или просто флопи  Устройство за четене и запис на информация на дискети  Информацията се записва на пътеки  Всяка пътека е разделена на сектори  Чрез флопи дискетите могат да се форматират, т.е. да се извърши процесът на създаване на пътеки и сектори
  • 5. BurgasConf 2023, Леон Анави Къде са се ползвали дискети?  Компютри  Синтезатори  Роботи  Индустриални машини
  • 6. BurgasConf 2023, Леон Анави В България  ИМКО (Индивидуален Микро Компютър)  Правец 8  Правец 8Д  Правец 16  Пълдин
  • 7. BurgasConf 2023, Леон Анави По света  1976 Apple I CPU: MOS 6502 @ 1 MHz  1977 Apple II CPU: MOS 6502 @ 1 MHz  1979 Atari 800 CPU: MOS 6502B @ 1 MHz  1981 ZX81 CPU: Z80 @ 3.25 MHz  1981 IBM PC CPU: 8088 @ 4.77Mhz  1981 BBC Micro CPU: 6502 @ 2Mhz  1982 Commodore 64CPU: 6502 @ 1Mhz  1983 ZX Spectrum CPU: Z80 @ 3.5Mhz  1985 - Atari ST CPU: 68000 @ 8Mhz  1987 – Commodore Amiga 500 CPU: 68000 @ 7Mhz  1987 - Acorn Archimedes CPU: 32-bit ARM 32-bit @ 8Mhz
  • 9. BurgasConf 2023, Леон Анави Commodore
  • 10. BurgasConf 2023, Леон Анави Commodore 64  CPU: MOS Technology 6510/8500 @ 1.023 MHz (NTSC) @ 0.985 MHz (PAL)  RAM: 64KB  ROM: 20KB  Графика: VIC-II 320×200px и 16 цвята  Звук: SID 6581/8580  Първоначална цена $595  В производство от 1982 до 1994г.
  • 11. BurgasConf 2023, Леон Анави Commodore Amiga 500  1985 започва серията компютри Amiga  1987 Излиза Amiga 500  CPU: Motorola 68000 @ 7MHz  RAM: 512 или 1024 KB  Софтуер: AmigaOS (kickstart firmware и Workbench софтуер)
  • 12. BurgasConf 2023, Леон Анави Митичният GoTek  USB флопи емулатор  Произвеждан в Китай  Няколко разновидности с различни екрани с или без енкодер  Проектът е на над 10 години  Първоначално с микроконтролер Cortex-m3 STM32F105RBT6  https://www.gotekemulator.com/
  • 13. BurgasConf 2023, Леон Анави Глобалният недостиг на чипове
  • 14. BurgasConf 2023, Леон Анави Глобалният недостиг на чипове и STMicroelectronics (ST)  Mултинационална европейска корпорация  Най-големият Европейски полупроводников производител  Основа през 1987г при сливането на френската Thomson Semiconducteurs и италианската компания SGS Microelettronica, с корени свързани с Адриано Оливети  Проектират и произвеждат линията 32-битови RISC ARM микроконтролери STM32  Глобалният недостиг на чипове тежко засегна ST и лията STM32, което доведе увеличение на сроковете за доставки и повишение на цените
  • 15. BurgasConf 2023, Леон Анави STM32 алтернативи  GigaDevice GD32 микроконтролери, които са пин към пин съвместими със STM32  В GoTek STM32F105RBT6 e заменен с Artery AT32F415CBT7
  • 16. BurgasConf 2023, Леон Анави Програмиране на STM32 микроконтролери  STM32CubeIDE Интегрирана програмна среда за STM32 и програмните езици C и C++, базирана на Eclipse/CDT с GNU ARM компилатор GDB дебъгер. Поддържа ST- Link и J-Link. Съвместима с MS Windows, MacOS и GNU/Linux дистрибуции.  Atollic TrueSTUDIO (спряна разработка на нови функционалности  .... или просто makefile с ARM компилатор  Други варианти: Arduino sketches, Assembly, Rust, MicroPython, CircuitPython...
  • 17. BurgasConf 2023, Леон Анави OpenFlops  Open source hardware алтернатива на GoTek за USB флопи емулация  Двуслойна платка проектирана на open source софтуера KiCad  Използва STM32F105RBT6 (като първоначалните версии на GoTek)  Платката има същата форма и размери като тази в GoTek, така че е съвсемстима с всички съществуващи кутии  Лиценз: CERN OHL v. 1.2  Проектирана от Giorgioggì (SukkoPera)  https://github.com/SukkoPera/OpenFlops
  • 18. BurgasConf 2023, Леон Анави OpenFlops  STM32F105RBT6  USB тип А  Възможност за добавяне на I2C дислей и на енкодер  Бутони за навигация  Зумер  UART пинове за програмиране  Пинове за конфигурация
  • 19. BurgasConf 2023, Леон Анави OpenFlops
  • 20. BurgasConf 2023, Леон Анави STM32F105RBT6
  • 21. BurgasConf 2023, Леон Анави KiCad  Open source софтуер за проектиране на печатни платки написан на C++ и достъпен под GPLv3+ лиценз  Предоставя инструменти за редактиране на схема и дизайн на печатна платка до 32 слоя  Възможности за експортиране на BoM, Gerber файлове и 3D модели  3D viewer за визуализиране на платката по време на чертането й  Съвместимост с MS Windows, MacOS и GNU/Linux дистрибуции  http://kicad.org
  • 22. BurgasConf 2023, Леон Анави OpenFlops схема в KiCad
  • 23. BurgasConf 2023, Леон Анави OpenFlops платка в KiCad Корпус: LQFP64
  • 24. BurgasConf 2023, Леон Анави OpenFlops за Commodore Amiga 500
  • 25. BurgasConf 2023, Леон Анави OpenFlops за Commodore Amiga 500
  • 26. BurgasConf 2023, Леон Анави Модификации на OpenFlops https://www.pcbway.com/project/shareproject/Floppy_Disk_Drive_emulator_OpenFlops_smaller_version_4f72f1eb.html
  • 27. BurgasConf 2023, Леон Анави FlashFloppy  Open source firmware за емулация на флопи дисково устройство и замяната на дискетите с USB памети или SD/microSD карти  Съвместим с GoTek и OpenFlops емулатори  Съвместим с микроконтролери Artery и STM32  Проектът е стартиран от Keir Fraser през 2014г.  Код под MIT/BSD лиценз в GitHub: https://github.com/keirf/flashfloppy
  • 28. BurgasConf 2023, Леон Анави FlashFloppy  Написан на C  Помощни скриптове на Python  Makefile за крос-компилиране  Използва ARM GNU GCC  Docker имидж, който създава FlashFloppy zip архив от командния ред: docker run -v $(pwd):/output --rm -ti planeturban/docker-flashfloppy
  • 29. BurgasConf 2023, Леон Анави FlashFloppy съвместими компютри  Acorn Archimedes  Acorn BBC Micro  Amstrad CPC  Amstrad PCW  Amstrad PPC  Atari ST  Commodore Amiga  DEC  DEC  Dragon  IBM 3174  IBM PC  IBM PS/2  Kaypro  Memotech  Microware  MSX  NEC PC-98  Sharp  Sinclair QL  Spectrum  Tandy Color Computer  TI-99/4A  TSC Flex  UKNC, DVK
  • 30. BurgasConf 2023, Леон Анави FlashFloppy съвместими машини Синтезатори  Akai  E-mu ESI-32  Ensoniq  General Music (GEM)  Korg  Kurzweil  Roland  Roland  Sequential Circuits Prophet 3000  Yamaha Роботи  KUKA KRC1
  • 31. BurgasConf 2023, Леон Анави Запис на FlashFloppy на STM32  През USB  Серийно програмиране
  • 32. BurgasConf 2023, Леон Анави Universal Asynchronous Receiver-Transmitter (UART)  Серийна комуникация, при която скоростта и формата на данните могат да бъдат конфигурирани  Поддържа 3 модела на комуникация: simplex, full duplex, half duplex Устройство 1 Устройство 2 RX TX GND RX TX GND
  • 33. BurgasConf 2023, Леон Анави Запис на FlashFloppy през UART към USB
  • 34. BurgasConf 2023, Леон Анави Запис на FlashFloppy през UART към USB  stm32flash e open source приложение, което се изпълнява през командния ред и записва firmware на STM32 ARM микроконтролери използвайки ST серийния bootloader  Поддържа UART и I2C  За OpenFlops и FlashFloppy stm32flash се използва през UART: sudo stm32flash -k /dev/ttyUSB0 sudo stm32flash -vw hex/flashfloppy-at415-st105-3.39.hex /dev/ttyUSB0  https://sourceforge.net/projects/stm32flash/
  • 35. BurgasConf 2023, Леон Анави Заключения  Времето на дискетите е безвъзвратно отминало  Чрез USB емулатори може да се заменят флопитата на стари машини и да се използват USB флашки вместо дискети  OpenFlops е open source hardware за USB емулатор на флопи със STM32 микроконтролер  KiCad е open source програма за проектиране на печатни платки  FlashFloppy е open source firmware, съвместим с GoTek и OpenFlops
  • 36. BurgasConf 2023, Леон Анави OpenFlops заменя дискетите
  • 37. BurgasConf 2023, Леон Анави Благодаря Ви! Полезни връзки:  https://github.com/keirf/flashfloppy  https://github.com/SukkoPera/OpenFlops  https://www.pcbway.com/project/shareproject/OpenFlops_V1. html  https://www.kicad.org/