top of page

FRANK zmienia RP2350 w działający komputer retro klasy 386

1 dzień temu
12 minut(y) czytania

FRANK uruchamia teraz A 386 PC for Your RP2350 na mikrokontrolerze, mimo wymagań pamięciowych i peryferyjnych kompletnego PC. Projekt open source emuluje procesor i386, grafikę VGA, pamięć masową, urządzenia wejściowe oraz kilka historycznych systemów dźwiękowych. Według jego twórców potrafi uruchomić DOS, Windows 3.x, Windows 95 i Linux.

Ten rezultat podważa typowy podział między mikrokontrolerami a komputerami ogólnego przeznaczenia. RP2350 zwykle steruje sprzętem wbudowanym, dysponując ograniczoną pamięcią i bez desktopowego systemu operacyjnego. FRANK wykorzystuje go natomiast jako fundament rozpoznawalnego PC, wyposażonego w obrazy dysków i fizyczne wyjście obrazu.

Istotne porównanie nie dotyczy FRANK-a i współczesnego desktopa. Chodzi o różnicę między emulacją całego systemu a mniejszymi, wyspecjalizowanymi projektami retro działającymi już na mikrokontrolerach. Wcześniejsze projekty odtwarzały pojedyncze konsole lub 16-bitowe PC. FRANK rozszerza to podejście na większy zestaw sprzętowych wymagań oczekiwanych przez 32-bitowe oprogramowanie PC.

A 386 PC for Your RP2350 odtwarza więcej niż sam procesor

FRANK ma znaczenie, ponieważ emuluje użyteczną platformę PC, a nie jedynie zestaw instrukcji Intela.

Projektowy FRANK 386 firmware opisuje emulator i386 z częściową obsługą instrukcji i486 oraz i586. Opcjonalny komponent x87 emuluje jednostkę zmiennoprzecinkową używaną przez część starszego oprogramowania. Te dodatki poszerzają zakres systemów operacyjnych i aplikacji, które maszyna może próbować uruchomić.

Emulacja procesora to tylko jedna część systemu. Oprogramowanie PC oczekuje również kontrolerów przerwań, zegarów, interfejsów klawiatury, sprzętu wideo, dysków i urządzeń dźwiękowych. FRANK musi odtworzyć wystarczająco dużo tych komponentów, aby programy rozpoznały spójny komputer zgodny z IBM PC.

Obecna lista funkcji obejmuje wyjście VGA i HDMI w rozdzielczościach do 640 na 480 pikseli. Pamięć masowa pochodzi z karty SD zawierającej obrazy dyskietek, dysków twardych lub CD-ROM-ów. Użytkownicy mogą podłączyć urządzenia PS/2 albo klawiatury i myszy USB, zależnie od konfiguracji firmware.

Obsługa dźwięku obejmuje kilka standardów z różnych okresów historii PC. Lista zawiera głośnik PC, AdLib OPL2, Sound Blaster 16, dźwięk Tandy, Covox i Disney Sound Source. Ta szerokość wsparcia ma znaczenie, ponieważ gry DOS często bezpośrednio obsługiwały konkretny sprzęt dźwiękowy.

FRANK zawiera także menedżer dysków umożliwiający zmianę wirtualnych nośników podczas działania emulatora. Ekran ustawień steruje wielkością pamięci, generacją procesora, emulacją zmiennoprzecinkową, urządzeniami dźwiękowymi, opcjami wejścia i ustawieniami zegara sprzętowego. Dzięki tym kontrolkom system przypomina bardziej konfigurowalny komputer retro niż statyczną demonstrację.

Emulator może udostępnić od jednego do ośmiu megabajtów pamięci gościa. Osiągnięcie górnej granicy wymaga ośmiu megabajtów zewnętrznej pamięci pseudo-static RAM, zwykle nazywanej PSRAM. PSRAM to zewnętrzna pamięć dynamiczna udostępniana przez prostszy interfejs, odpowiedni dla konstrukcji wbudowanych.

Wymóg ten tworzy istotne rozróżnienie. Standardowa płytka Pico 2 zawiera 520KB wbudowanej pamięci SRAM, ale nie oferuje ośmiu megabajtów PSRAM. Zbudowanie kompletnej maszyny wymaga więc zgodnej płytki RP2350 z dodatkową pamięcią oraz odpowiednimi połączeniami dla wyświetlacza, pamięci masowej i urządzeń wejściowych.

Lista obsługiwanego sprzętu odzwierciedla tę rzeczywistość. FRANK jest przeznaczony dla własnej płytki, wariantów Murmulator, Olimex PICO-PC oraz Waveshare RP2350-PiZero. Cztery układy GPIO uwzględniają różne sposoby, w jakie te płytki podłączają wideo, pamięć masową, klawiatury, kontrolery i dźwięk.

Nie jest to uniwersalny obraz firmware dla każdego niemodyfikowanego Pico 2. To emulator zaprojektowany wokół rodziny przygotowanych komputerów RP2350. To rozróżnienie pozwala zachować imponujący charakter osiągnięcia, nie ukrywając sprzętu potrzebnego do jego odtworzenia.

Projekt opiera się również na plikach BIOS-u i obrazach dysków systemów operacyjnych zapisanych na karcie SD. Użytkownicy muszą dostarczyć oprogramowanie, z którego mają prawo korzystać. FRANK zapewnia wirtualną maszynę, ale nie eliminuje kwestii licencyjnych dotyczących komercyjnych systemów operacyjnych i gier.

Co najważniejsze, projekt łączy te komponenty w jedno środowisko rozruchowe. Mikrokontroler może teraz udostępnić staremu oprogramowaniu interfejsy, których oczekuje ono od fizycznego PC. Ta integracja tworzy centralne napięcie: czy elastyczność może zrekompensować surowe ograniczenia zasobów.

Dlaczego RP2350 może obsłużyć kompletny model PC

RP2350 sprawdza się tutaj, ponieważ przewidywalne I/O i kontrola programowa są równie ważne jak surowa szybkość procesora.

Specyfikacja RP2350 specification od Raspberry Pi wymienia dwa rdzenie Arm Cortex-M33 lub dwa rdzenie Hazard3 RISC-V taktowane zegarem do 150MHz. Układ zawiera 520KB pamięci SRAM i obsługuje USB zarówno w trybie hosta, jak i urządzenia. Udostępnia także dwanaście programowalnych maszyn stanów I/O.

Programowalne I/O, zwykle skracane do PIO, składa się z małych silników sprzętowych wykonujących krótkie programy do przesyłania danych przez piny. Silniki te obsługują sygnały wymagające precyzyjnego taktowania bez zmuszania głównych procesorów do zarządzania każdą zmianą stanu. Taka konstrukcja pomaga systemowi wbudowanemu generować wideo lub komunikować się z nietypowymi urządzeniami peryferyjnymi.

FRANK potrzebuje takiej kontroli. Wyjście VGA wymaga stałego strumienia taktowanych danych pikselowych i synchronizacyjnych. Dostęp do karty SD, wejście z klawiatury, obsługa myszy, kontrolery gier i dźwięk konkurują o czas procesora oraz piny.

Tradycyjny komputer przekazuje wiele z tych zadań wyspecjalizowanemu sprzętowi. Projekt mikrokontrolerowy musi podzielić je między oprogramowanie, stałe peryferia, DMA i programowalne I/O. DMA, czyli bezpośredni dostęp do pamięci, przenosi dane bez zmuszania CPU do kopiowania każdej jednostki samodzielnie.

RP2350 zawiera trzy bloki PIO, z których każdy ma cztery maszyny stanów. Dokumentacja PIO documentation Raspberry Pi podaje, że maszyny te kładą nacisk na deterministyczne taktowanie oraz ścisłą integrację z GPIO i DMA. FRANK może wykorzystać te cechy do utrzymywania zewnętrznych interfejsów podczas wykonywania emulatora przez główne rdzenie.

Projekt nie pozostaje w ramach opublikowanego przez producenta limitu 150MHz dla RP2350. Jego konfiguracja kompilacji oferuje ustawienia zegara RP2350 na poziomie 378MHz lub 504MHz. Pozwala również ustawić zewnętrzną pamięć PSRAM na 133MHz albo 166MHz.

Ustawienia te oznaczają znaczące podkręcanie. Overclocking uruchamia komponent powyżej udokumentowanej częstotliwości pracy, co może zwiększyć wydajność kosztem mniejszych marginesów czasowych, napięciowych i termicznych. Ustawienie działające na jednej płytce może zachowywać się inaczej na innej.

Domyślna kompilacja emulatora używa ustawienia CPU 378MHz oraz ustawienia PSRAM 133MHz. Własna kompilacja może wybrać 504MHz i szybszą pamięć zewnętrzną. Ustawienia środowiska uruchomieniowego mogą również zmienić częstotliwości procesora i pamięci przed ponownym uruchomieniem.

Mechanizm ten wyjaśnia, dlaczego FRANK jest czymś więcej niż prostą konsekwencją nowszego krzemu. Twórcy łączą wydajny rdzeń emulatora, agresywne ustawienia zegara, pamięć zewnętrzną i starannie przydzielone peryferia. Każdy element kompensuje ograniczenie pozostawione przez pozostałe.

Zewnętrzna pamięć PSRAM zapewnia pojemność potrzebną 32-bitowemu oprogramowaniu PC, ale jej dostęp jest kosztowniejszy niż do wbudowanej pamięci SRAM. Podkręcanie daje interpreterowi więcej cykli, lecz cykle te nie usuwają każdego opóźnienia pamięci. PIO zmniejsza presję związaną z I/O, ale nie wykonuje instrukcji x86.

Obciążenie zależy więc od orkiestracji. Generowanie wideo musi pozostać stabilne podczas działania kodu gościa. Operacje dyskowe nie mogą zakłócać urządzeń wrażliwych na taktowanie. Emulacja dźwięku musi generować regularne próbki, nie zagładzając emulowanego procesora.

Ta orkiestracja wyjaśnia również, dlaczego płytki oparte na RP2350 przyciągają twórców emulatorów. Układ oferuje bezpośredni dostęp do niskopoziomowego zachowania sprzętu bez konieczności używania desktopowego systemu operacyjnego pod spodem. Programiści mogą kontrolować niemal każdą warstwę między oprogramowaniem gościa a pinami.

Kompletny komputer z Linuxem mógłby uruchomić dojrzały emulator z dużo większymi zasobami. Wprowadziłby jednak również większy stos programowy, większe zużycie pamięci i mniej bezpośrednią kontrolę nad taktowaniem. FRANK bada przeciwną drogę: mały host odtwarzający większą historyczną maszynę za pomocą ściśle zarządzanych zasobów.

FRANK rozwija kierunek Tiny386 poza pierwotnego hosta

Główna rywalizacja projektu to pełnosystemowa ambicja kontra węższe emulatory, które zwykle mieszczą się na mikrokontrolerach.

FRANK bazuje na rdzeniu Tiny386 core Chunhui He, emulatorze pierwotnie kojarzonym ze sprzętem klasy ESP32. Tiny386 implementuje główną mechanikę wykonywania x86 w kompaktowym kodzie C. Uwzględnia również koncepcje peryferiów zaczerpnięte ze sprawdzonych projektów.

Twórcy FRANK-a, Mikhail Matveev i DnCraptor, przenieśli ten fundament na RP2350. Ich repozytorium przypisuje Tiny386 emulację procesora i386 oraz kluczowych peryferiów PC. Wskazuje też kilka projektów, które dostarczyły pomysłów platformowych lub implementacji komponentów.

Jednym z tych poprzedników jest emulator Pico-286 emulator. Pico-286 obsługuje oprogramowanie dla 8086, 8088, 80186 i 286 na sprzęcie RP2040 oraz RP2350. Jego obecność pokazała, że mikrokontroler klasy Pico może obsłużyć użyteczne wczesne środowisko PC.

Przejście z modelu 286 do modelu i386 ma znaczenie. i386 wprowadził 32-bitowy model programowania i funkcje stronicowania kojarzone z bardziej wymagającymi systemami operacyjnymi. Oprogramowanie zbudowane wokół tych możliwości oczekuje szerszej i bardziej złożonej maszyny.

FRANK nie ogranicza się do ścisłego zachowania i386. Częściowa obsługa późniejszych instrukcji pomaga mu dotrzeć do oprogramowania, które w przeciwnym razie odrzuciłoby starszy procesor. To praktyczny wybór zgodności, choć sprawia, że maszyna mniej przypomina precyzyjne odtworzenie jednego historycznego PC.

To samo praktyczne podejście widać w zestawie peryferiów. Prawdziwy komputer zazwyczaj nie łączyłby jednocześnie wszystkich wymienionych urządzeń dźwiękowych. Emulator może udostępniać wybieralne modele sprzętu, ponieważ zgodność ma większe znaczenie niż odtwarzanie pojedynczej fabrycznej konfiguracji.

Umieszcza to FRANK-a na innej ścieżce niż emulacja konsol. Konsola oferuje w dużej mierze stały cel sprzętowy i kontrolowaną bibliotekę oprogramowania. PC musi akceptować systemy operacyjne, sterowniki, interakcje z BIOS-em, układy pamięci masowej i aplikacje pisane dla wielu konfiguracji.

Ta otwartość zwiększa zarówno atrakcyjność, jak i trudność projektu. Użytkownicy mogą instalować znane oprogramowanie produktywnościowe, gry, narzędzia lub systemy operacyjne. Każdy program może jednak dotknąć innego fragmentu modelu sprzętowego i ujawnić kolejne brakujące zachowanie.

Dziedzictwo FRANK-a pokazuje także, jak projekty emulatorów open source gromadzą możliwości. Tiny386 dostarcza centralny model wykonywania. Pico-286 wnosi koncepcje integracji z RP2350 i zarządzania dyskami. Komponenty wywodzące się z QEMU pomagają reprezentować klasyczne peryferia PC.

SeaBIOS zapewnia fundamenty BIOS-u open source, a FatFs obsługuje dostęp do pamięci sformatowanej w FAT. Inny kod wspiera syntezę dźwięku, pliki konfiguracyjne i wejście specyficzne dla płytek. Rezultat jest mniej pojedynczym, odizolowanym wynalazkiem niż starannym połączeniem wielokrotnie wykorzystywanej pracy nad systemami.

Model ten kontrastuje z projektowaniem własnego komputera retro wokół prostszego procesora. Własna maszyna może określać tylko funkcje, których chce jej twórca. FRANK przyjmuje znacznie trudniejszy cel kompatybilności wyznaczony przez dekady oprogramowania PC.

Wybór ten wywiera presję na inne retroprojekty wykorzystujące mikrokontrolery. Użytkownicy coraz częściej oczekują, że firmware zapewni dopracowane menu, nośniki wymienne, wiele metod wprowadzania danych i dźwięk. Dowód techniczny ograniczający się jedynie do wiersza poleceń konkuruje dziś z projektami sprawiającymi wrażenie kompletnych produktów.

FRANK podnosi te oczekiwania, pozostając jednocześnie projektem inżynieryjnym. Jego repozytorium zawiera skrypty budowania i konfiguracje płytek, jednak instalacja nadal wymaga kompatybilnego sprzętu i przygotowanej pamięci masowej. Odbiorcami pozostają osoby swobodnie poruszające się w świecie firmware'u, okablowania i obrazów dysków.

Ograniczenie to nie umniejsza znaczenia projektu. Wskazuje ono obecną granicę między odtwarzalnym komputerem hobbystycznym a urządzeniem konsumenckim. Jej przekroczenie będzie wymagało lepszego pakowania, przetestowanych obrazów oraz udokumentowanej wydajności w popularnym oprogramowaniu.

Twardym limitem jest stała wydajność, a nie ekrany startowe

Uruchomienie Windowsa lub Linuxa potwierdza kompatybilność, ale nie świadczy jeszcze o szybkości, dokładności ani niezawodności w codziennym użyciu.

Repozytorium podaje, że FRANK uruchamia DOS, Windows 3.x, Windows 95, Linux i inne systemy. To użyteczna deklaracja kompatybilności. Nie zawiera jednak ustandaryzowanych benchmarków czasu uruchamiania, wydajności aplikacji, liczby klatek na sekundę ani przepustowości emulowanego procesora.

Ta luka ma znaczenie, ponieważ wydajność emulacji zmienia się wraz z obciążeniem. Edytor tekstu może przez długi czas oczekiwać na dane wejściowe. Gra może stale obciążać CPU, grafikę, timery, audio i pamięć masową.

Doprowadzenie systemu operacyjnego do pulpitu testuje też inne zachowania niż długotrwałe korzystanie z aplikacji. Programy instalacyjne mogą wymagać kontroli pamięci, przejść do trybu chronionego i nietypowego dostępu do dysku. Notatki dotyczące rozwiązywania problemów w FRANK już dokumentują konkretne dostosowania dla instalacji i uruchamiania Windows 95.

Przykładowo dokumentacja zaleca pominięcie jednej kontroli pamięci podczas instalacji, gdy instalator zgłasza brak dostępnej pamięci. Kieruje też użytkowników do osobnej poprawki dla błędu ochrony systemu Windows. Te obejścia wskazują na użyteczne postępy, ale pokazują również, że kompatybilność pozostaje warunkowa.

Limit ośmiu megabajtów pamięci gościa wyznacza kolejną granicę. Taka pojemność jest hojna dla wielu programów DOS i wczesnych aplikacji Windows. Pozostaje jednak ograniczona dla późniejszego oprogramowania Windows 95 lub bardziej ambitnych konfiguracji Linuxa.

Pojemność pamięci to tylko część problemu. Emulator wielokrotnie tłumaczy lub interpretuje instrukcje gościa przy użyciu procesora o innej architekturze. Musi też odwzorowywać urządzenia, których założenia czasowe powstawały z myślą o fizycznych magistralach i dedykowanych kontrolerach.

Niektóre starsze programy celowo synchronizują się z dokładnym zachowaniem obrazu lub procesora. Dema i gry mogą opierać się na nieudokumentowanych efektach czasowych. Funkcjonalnie poprawny model sprzętu nadal może generować błędy wizualne lub nieprawidłowe tempo działania, gdy te założenia zostaną naruszone.

Audio wprowadza kolejną wrażliwość. Oprogramowanie Sound Blaster może zależeć od czasu przerwań, działania DMA i harmonogramów uzupełniania buforów. Krótkie opóźnienie niezauważalne w arkuszu kalkulacyjnym może stać się słyszalnym kliknięciem lub zatrzymać grę.

Podlinkowana dyskusja społeczności szybko skupiła się na tej niepewności. Komentujący chwalili skalę maszyny, lecz wielokrotnie pytali o wydajność. Inni zauważyli, że oprogramowanie zależne od timingu zawsze było trudne dla maszyn wirtualnych i emulatorów.

Te komentarze są reakcjami, a nie kontrolowanymi testami. Mimo to wskazują właściwe sceptyczne pytanie. Długa lista kompatybilności staje się bardziej użyteczna, gdy każda pozycja zawiera przetestowane wersje, ustawienia konfiguracji, zaobserwowaną szybkość i znane błędy.

Podkręcanie dodatkowo komplikuje te dowody. Wyniki uzyskane przy 504MHz nie muszą reprezentować każdej płytki RP2350. Stabilność może zależeć od różnic między układami, jakości zasilania, chłodzenia, układu płytki i zewnętrznego PSRAM.

Wsparcie projektu dla czterech układów płytek poszerza dostępność, lecz zarazem rozszerza macierz testową. Ścieżki HDMI i VGA mogą wykorzystywać różne zasoby. Wejście USB wyłącza konsolę szeregową USB w jednej konfiguracji, zmieniając sposób diagnozowania awarii przez użytkowników.

Ostrożna interpretacja rozdziela zatem trzy twierdzenia. FRANK wyraźnie implementuje komponenty potrzebne do podjęcia próby stworzenia kompletnego środowiska PC. Deweloperzy podają, że uruchamia się kilka systemów operacyjnych. Szersze twierdzenia dotyczące szybkości i kompatybilności nadal wymagają powtarzalnych pomiarów.

Użyteczny zestaw benchmarków powinien obejmować więcej niż jedną sztandarową aplikację. Mógłby mierzyć benchmark CPU dla DOS, przepustowość pamięci masowej, szybkość odświeżania VGA, stabilność audio i czas uruchamiania systemu operacyjnego. Każdy wynik powinien określać płytkę, taktowanie, ustawienie PSRAM, tryb wyświetlania i wersję firmware'u.

Testy dokładności dodałyby kolejny wymiar. Zestawy instrukcji mogą sprawdzać flagi, wyjątki i zachowanie trybu chronionego. Testy sprzętowe mogą badać kolejność przerwań, rozdzielczość timerów, rejestry VGA i komunikację z kartą dźwiękową.

Testy te nie zmniejszyłyby uroku projektu. Ułatwiłyby porównanie i odtworzenie jego osiągnięcia. Pomogłyby też deweloperom ustalić, czy awaria wynika z emulatora, oprogramowania gościa czy niestabilnego podkręcenia.

Dopóki takie dane się nie pojawią, A 386 PC for Your RP2350 należy rozumieć jako wyjątkowo kompletny i obiecujący port. Nie jest on jeszcze zmierzonym substytutem dojrzałych emulatorów desktopowych ani oryginalnego sprzętu.

Emulacja na mikrokontrolerach staje się kategorią platform

FRANK pokazuje, że elastyczne mikrokontrolery obsługują dziś projekty systemowe zarezerwowane dawniej dla procesorów aplikacyjnych.

RP2350 przyciągnął już porty emulatorów konsol, generatorów obrazu, syntezatorów i wczesnych środowisk PC. Projekty te opierają się na wspólnej strategii: łączą dwa rdzenie ogólnego przeznaczenia z programowalnym I/O, DMA, pamięcią zewnętrzną i bezpośrednim dostępem do sprzętu.

Mikrokontroler różni się od procesora aplikacyjnego spotykanego w komputerze desktopowym lub jednopłytkowym komputerze Linux. Zwykle wykonuje jeden obraz firmware'u bez pamięci wirtualnej ani systemu operacyjnego ogólnego przeznaczenia. To prostsze środowisko daje deweloperom przewidywalną kontrolę, ale mniej zasobów.

Autorzy emulatorów mogą wykorzystać tę przewidywalność. Jeden rdzeń może koncentrować się na wykonywaniu kodu gościa, podczas gdy drugi obsługuje wideo, audio lub pamięć masową. Sprzętowe maszyny stanów mogą utrzymywać sygnały zewnętrzne nawet wtedy, gdy procesory napotykają kosztowne obciążenie.

Taki podział jest szczególnie wartościowy dla systemów retro. Starsze wyświetlacze i urządzenia wejściowe często potrzebują regularnego timingu bardziej niż ogromnej przepustowości. Ich oryginalne procesory były też znacznie wolniejsze od współczesnych rdzeni mikrokontrolerów, pozostawiając przestrzeń dla interpretacji programowej.

i386 rozwija tę formułę znacznie dalej niż konsola 8-bitowa. Wprowadza tryb chroniony, większe adresy, złożone instrukcje i rozbudowany zbiór peryferiów PC. Sukces FRANK sugeruje, że limit zależy obecnie od projektu całego systemu, a nie od jednego deklarowanego taktowania.

Projekt zmienia również to, jak może wyglądać komputer retro. Tradycyjna rekonstrukcja wykorzystuje oryginalne układy, programowalne macierze bramek lub płytkę Linux. Rozwiązanie oparte na RP2350 zajmuje pozycję pośrednią między tymi podejściami.

Oryginalne komponenty zapewniają historyczne zachowanie, ale mogą być rzadkie i trudne do zintegrowania. Projekty FPGA odtwarzają logikę cyfrową bezpośrednio, często oferując dobre właściwości czasowe. Systemy Linux zapewniają dojrzałe emulatory i obfite zasoby, lecz ukrywają maszynę pod większym komputerem.

Emulator na mikrokontrolerze pozostaje mały i możliwy do przeanalizowania. Deweloperzy mogą śledzić firmware, przypisywać pojedyncze piny i rozumieć, jak każde urządzenie peryferyjne trafia do gościa. Kompromis polega na tym, że oprogramowanie musi wykonać więcej pracy w ramach ograniczonego budżetu wydajności.

Ten kompromis czyni takie projekty użytecznymi nie tylko dla nostalgii. Demonstrują one planowanie zadań, zarządzanie pamięcią, implementację protokołów i I/O czasu rzeczywistego pod presją. Deweloper może badać, jak złożony system zostaje uproszczony bez utraty rozpoznawalności.

FRANK pokazuje też wartość przenośnych implementacji w C. Kompaktowy rdzeń emulatora może przechodzić między sprzętem ESP32 i RP2350, ponieważ unika głębokiej zależności od jednego systemu operacyjnego hosta. Warstwy specyficzne dla płytek łączą następnie rdzeń z wideo, pamięcią masową i wejściem.

Przenośność pozostaje niepełna, ponieważ techniki wyświetlania i I/O różnią się między układami. RP2350 PIO nie występuje w każdym mikrokontrolerze. Różnią się również interfejsy pamięci zewnętrznej i zachowanie DMA.

Mimo to rdzeń wielokrotnego użytku zmienia ekonomikę eksperymentowania. Deweloperzy nie muszą odtwarzać interpretera x86 przed przetestowaniem nowej płytki. Mogą skupić się na rozmieszczeniu pamięci, harmonogramowaniu peryferiów i akceleracji specyficznej dla hosta.

Wynikająca z tego konkurencja jest produktywna. Pico-286 może optymalizować się pod wcześniejsze oprogramowanie PC i niższe wymagania. FRANK może dążyć do kompatybilności 32-bitowej. Projekty konsolowe mogą wymieniać ogólność na lepszą liczbę klatek na sekundę i dokładniejsze zachowanie sprzętu.

Żadna z tych dróg nie wygrywa w każdym zastosowaniu. Ich współistnienie pokazuje, że emulacja na mikrokontrolerach stała się kategorią platform, a nie zbiorem odizolowanych popisów. Wspólne płytki, formaty firmware'u i wzorce sprzętowe mogą obsługiwać kilka odtworzonych maszyn.

Trzy sygnały pokażą, czy FRANK stanie się czymś więcej niż demem

Kolejny etap zależy od zmierzonej wydajności, szerszych dowodów kompatybilności oraz łatwiejszego odtworzenia na obsługiwanych płytkach.

Pierwszym sygnałem jest opublikowany zestaw benchmarków. FRANK potrzebuje wyników, które powiążą wydajność gościa z wersją firmware'u, modelem płytki, taktowaniem CPU, szybkością PSRAM i trybem wideo. Powtarzalne liczby pokażą, czy port RP2350 konsekwentnie przewyższa wcześniejsze hosty Tiny386.

Zestaw benchmarków wyjaśniłby też wartość dwóch dostępnych poziomów podkręcania. Jeśli wyższe ustawienie przynosi znaczące zyski bez błędów na kilku płytkach, argument dotyczący wydajności projektu stanie się mocniejszy. Częste awarie lub uszkodzenia obrazu go osłabią.

Drugim sygnałem jest publiczny katalog kompatybilności. Zrzuty ekranu z uruchamiania przyciągają uwagę, lecz długotrwałe testy dostarczają lepszych dowodów. Raporty powinny obejmować instalacje, aplikacje, gry, tryby audio, formaty dysków i urządzenia wejściowe.

Użyteczny katalog odróżniałby oprogramowanie w pełni użyteczne od programów, które jedynie się uruchamiają. Powinien rejestrować wymagane poprawki i specjalne wybory konfiguracji. Informacje te przekształciłyby rozproszone eksperymenty użytkowników w zasób inżynieryjny.

Trzecim sygnałem jest prostsze wdrożenie. Gotowy firmware już zmniejsza część obciążenia, lecz sprzęt specyficzny dla płytek i przygotowanie pamięci masowej pozostają istotne. Jasne przewodniki po okablowaniu, zweryfikowane kombinacje akcesoriów i wersjonowane przykłady konfiguracji ułatwiłyby odtwarzanie wyników.

Usprawnienia wdrożeniowe pokażą również, czy projekt może wspierać nowych użytkowników bez przytłaczania jego opiekunów. Rosnąca kolejka zgłoszeń dotyczących okablowania i konfiguracji dysków sugerowałaby problemy z pakowaniem. Wkłady dodające płytki, testy lub dokumentację wskazywałyby na zdrowszą platformę.

Te sygnały są ważniejsze niż kolejny nietypowy cel uruchomieniowy. FRANK już pokazał, że RP2350 może obsłużyć zarys 32-bitowego PC. Pozostaje pytanie, czy wielu użytkowników potrafi odtworzyć tę samą maszynę i uzyskać porównywalne zachowanie.

Deweloperzy powinni śledzić wydania repozytorium, raporty kompatybilności i wkłady do benchmarków. Entuzjaści retrokomputingu powinni porównywać te wyniki z Pico-286, emulatorami desktopowymi i oryginalnym sprzętem przed wyborem platformy. Projektanci płytek powinni obserwować, które konfiguracje pamięci i wideo powodują najmniej kompromisów.

A 386 PC for Your RP2350 jest przekonujący, ponieważ jego ograniczenia pozostają widoczne. Każdy megabajt, cykl zegara i ścieżka I/O muszą uzasadniać swoje miejsce. Ta presja czyni projekt wyjątkowo klarowną demonstracją działania emulacji.

Testuj projekt wyłącznie na zgodnym sprzęcie, z udokumentowanymi ustawieniami oprogramowania układowego i oprogramowaniem, z którego możesz legalnie korzystać. Następnie odnotuj coś więcej niż tylko to, czy pojawia się pulpit. Zmierz, co działa, jak się zachowuje i która konfiguracja umożliwiła uzyskanie rezultatu.

 
 

Zacznij bezpłatnie

Asystent AI działający przede wszystkim lokalnie, z funkcją zarządzania wiedzą osobistą

Aby zapewnić lepsze działanie AI,

remio obsługuje obecnie wyłącznie Windows 10+ (x64) i M-Chip Macs.

Twój partner AI w pracy
Zrób więcej z remio

Planuj. Twórz. Dostarczaj.
Wszystko w jednym miejscu.

bottom of page