Știri Proaspete

Sistemul de operare Sylphide: un sistem de operare de scop general pentru computerele bazate pe microcontrolori

De Andrei Nistor · 30.10.2026

Ce proiect este acesta?

Sylphide OS: O platformă software pentru sisteme de tip retro bazate pe microcontrolere

În peisajul actual al calculatoarelor clasice, există o mișcare crescută în jurul conceptului de retrocomputing, care cuprinde o varietate vastă de abordări.

Unii entuziaști se concentrează asupra restaurării mașinilor vechi, adesea pentru a le păstra în stare funcțională din motive de colecționare sau de amintiri, considerând că emulatoarele nu reușesc să recreeze autenticitatea experienței originale.

Alți pasionați de electronică se dedică reconstrucției hardware-ului vechi, fie folosind componente moderne accesibile, fie căutând cipuri originale din epocă pentru cei dispus să plătească prețul.

Pe lângă hardware, există o gamă largă de emulatoare la mai multe niveluri de abstracție, disponibile online pentru aproape toate platformele anterioare anului 1990. O altă categorie de dezvoltatori creează software, în special jocuri, folosind mediu de dezvoltare modern, dar cu țintă finală pe mașini vechi.

În acest context, proiectul Sylphide OS introduce o direcție distinctă: utilizarea microcontrolerelor moderne ca bază pentru sisteme de calcul care imită experiența calculatoarelor din anii '80. Aceste plăci sunt ieftine, tot mai răspândite, iar oferta lor se așteaptă să crească semnificativ în viitor.

Diferența fundamentală între un calculator tradițional și o placă cu microcontroler constă în arhitectura lor.

Calculatoarele clasice se bazează pe procesori puternici, dotate cu numeroase periferice, inclusiv tastatură, ecran și mouse, în timp ce microcontrolerele integră un nucleu mic cu memorie limitată și periferice de tip embedded direct pe cip, precum UART, SPI, ADC, I2C, contoare și timere.

Deși tehnologia a avansat și diferențele s-au estompat, provocarea principală rămâne capacitatea de a ieși pe un afișaj standard, precum VGA sau HDMI, în loc de ecrane LCD mici bazate pe SPI sau interfața DSI.

De asemenea, intrarea de date poate fi complexă, deoarece mulți microcontroleri nu au funcția de gazdă USB, iar când o au, adesea doar un singur port este utilizabil, în timp ce ideal ar fi necesare cel puțin două porturi pentru tastatură și mouse, plus al treilea pentru stick de stocare.

Chiar și când reușești să aduni toate aceste componente, mediul este sever limitat, cu memorie mică și suport de culori redus, ceea ce creează o atmosferă autentică a calculatoarelor timpurii anilor '80 și '90, atât pentru utilizatorul final cât și pentru programatorul.

În cadrul acestui proiect, definiția unui „calculator” include obligatoriu o interfață de intrare prin tastatură și mouse, fie PS/2, fie USB, un conector de afișaj standard (VGA sau HDMI) și un framebuffer real, fără generare de semnal video în timp real. Stocarea datelor se face de obicei pe card microSD, deși stick-urile USB sunt acceptate de asemenea. Rețeaua (Ethernet sau Wi-Fi) nu este o cerință strictă, dar constituie o funcționalitate dorită. Rezumatul este că proiectul vizează platforme aflate între „plăci de dezvoltare” (fără ecran sau tastatură) și calculatoarele monocelulare care pot rula Linux.

Totul este hardware deschis, cu placa PCB proiectată în KiCad, iar fișierele sursă pentru software și hardware sunt disponibile pe depozitul Mercurial de pe freehackers. org/electronics/sylphide-os. Proiectul este dezvoltat de Thomas Capricelli, iar numele „Sylphide OS” provine de la numele sub care acesta lucrează ca consultant.

Din punct de vedere hardware, Sylphide OS a fost conceput de la început pentru a rula pe mai multe platforme diferite, fiecare având o pagină dedicată. Printre țintele curente se numără: placa Olimex esp32-p4-pc, considerată produsul principal, nou și puternic; o placă minimalistă bazată pe Raspberry Pi Pico 2 cu suport VGA și USB, realizată personal; și FabGL, o clasică veche cu intrare PS/2 și ieșire VGA.

Care e starea curentă a proiectului?

Există de asemenea un emulator care rulează pe gazda Linux, folosit în procesul de dezvoltare.

Autorul menționează alte ținte posibile și încurajează cititorii să sugereze hardware potrivit pentru acest tip de sistem de operare, sau chiar să înceapă propriile porturi, cu condiția să-l contacteze mai întâi.

În ceea ce privește software-ul, în epoca actuală, un sistem de operare pentru PC este o legătură complexă de componente (nucleu, șoferi, biblioteci, programe), dar în trecut, era un program integrat și autonom, concentrat pe interfața grafică. Deoarece fiecare producător de calculatoare avea propriul sistem de operare, numărul de șoferi era mic. Această abordare este exact cea pe care proiectul încearcă să o recreeze.

La nivel intern, Sylphide OS utilizează FreeRTOS, un nucleu de nivel scăzut frecvent utilizat pe acest tip de platformă, care oferă instrumente pentru executarea sarcinilor și rutine de nivel scăzut.

Deasupra acestui nucleu, sistemul adaugă: șoferi pentru mouse, tastatură, afișaj, stocare și rețea, o interfață grafică completă și diverse programe.

Scopul este de a fi suficient de versatil pentru a fi utilizabil pe platforme extrem de limitate (framebuffer mic, afișaj monocrom, RAM redus), în timp ce rămâne capabil să exploateze funcționalități pe sisteme cu specificații mai ridicate.

Codul este scris preponderant în limbajul C, folosit pentru partea de nivel scăzut, șoferii și biblioteca de randare, și în C++ pentru interfața grafică. Unele ținte utilizează și asamblator pentru șoferii. C++ este aplicat într-o formă foarte limitată, folosind doar funcționalități care nu vor umfla dimensiunea software-ului, ceea ce este critic când resursele sunt limitate.

Starea curentă a proiectului este versiunea 0.1, unde accentul a fost pus pe crearea unui cadru curat și stabil și pe dezvoltarea șoferilor potriviți pentru câteva ținte. Ce se oferă în prezent include: configurare bazată pe kconfig, un cadru care suportă diferite SDK-uri și platforme, instrumente de dezvoltare, randare grafică de nivel scăzut cu framebuffer, biți și fonturi, trei ținte plus emulatorul cu șoferi funcționali, și o interfață grafică cu desktop, meniu, ferestre și manager de ferestre.

Există de asemenea un panou de informații care afișează detaliile hardware-ului și software-ului, demonstrând capacitatea de culori.

Funcționalitățile încă lipsă, dar planificate cu hotărâre, includ: suport pentru stocare (microSD, USB), rețea (Ethernet, Wi-Fi), widget-uri (buton, casete de verificare, dialoguri modale) și încărcarea de executabile externe din cardul de stocare.

Structura proiectului este organizată astfel: directorul `docs` conține documentația, directorul `main` conține software-ul, unde se află punctul de intrare `main. c`, modulul de randare grafică `gfx_generic. c`, biți și fonturi, cod specific platformei în `arch`, randare grafică de nivel scăzut în `gfx` și managerul de ferestre în `gui`. Directorul `tools` conține instrumente auxiliare.

Pentru a urma evoluția proiectului, se poate subscrie la blogul autorului. Pentru contact, se folosește IRC (meseajare instantanee) pe canalul #freehackers din rețeaua Libera, accesibil prin interfață web dacă nu se cunoaște IRC.

Există de asemenea un formular de contact. Contribuția la proiect începe cu contactarea autorului, urmată de crearea unui cont pe GitLab la freehackers. org/explore, unde se poate face fork al depozitului. În caz de probleme, autorul încurajează contactul direct, fără rușine.