Bellatrix 0.0.1: wciskasz power w Raspberry Pi i wstaje Amiga. Bez Linuksa
Nowy emulator startuje na gołym Raspberry Pi 3B — żadnego Linuksa pod spodem, żadnego hypervisora, nic. A najlepsze zostawiłem na koniec: zgadnijcie, kto go napisał.
Znacie to uczucie, jak odpalacie Amigę w emulatorze i zanim zobaczycie Kickstart, przewija się pół ekranu logów systemd? No właśnie. Bellatrix idzie w drugą stronę: wkładacie kartę SD do Raspberry Pi 3B, wciskacie zasilanie i maszyna budzi się od razu jako Amiga. Bez systemu operacyjnego. Bez warstwy pośredniej. Emulator JEST systemem.
Wersja 0.0.1 wyszła 12 lipca. Autor podpisuje się JJDSNT i złożył projekt z trzech dużych klocków: silnika JIT Emu68 Michała Schulza (tak, tego od PiStorma), własnej biblioteki chipsetu o nazwie Rigel — emulującej CIA, Agnusa, Paulę i Denise — oraz interpretera Musashi jako bezpiecznej alternatywy dla JIT-a. Do tego cała obsługa żelaza napisana od zera: protokół magistrali, runtime wielordzeniowy, USB HID przez CherryUSB, Bluetooth przez BTStack, karta SD i prosty launcher, też bare-metal.
W paczce release'u dostajemy sześć wariantów kernela. Musashi w odmianie 68000 i 68040 plus Emu68, każdy w wersji jedno- i wielordzeniowej. Autor uczciwie zaleca na start build Musashi-68040, bo integracja JIT-a z Emu68 jest na razie eksperymentalna — potrafi być dużo szybsza, ale potrafi też się wysypać. Doceniam, że ktoś pisze to wprost w README zamiast obiecywać cuda.
Co realnie działa? Kickstart 1.3 z Workbenchem 1.3, AROS, klawiatura i mysz po USB. Działa też Bluetooth — i to nie „teoretycznie”: skanowanie, parowanie i wejście z klawiatury, myszy oraz joysticka chodzą od początku do końca. Jak na wersję z dwoma zerami w numerze, całkiem konkretna lista.
Lista braków jest równie konkretna, bo autor jej nie ukrywa. Nie ma jeszcze bootowania z partycji RDB na karcie SD, nie ma startu z obrazów ISO, nie ma RTG ani zweryfikowanego dźwięku po HDMI. Czyli na dziś: Workbench 1.3 z obrazków ADF i zabawa w granicach OCS. Repozytorium ma 571 commitów, w środku głównie C z solidną domieszką asemblera.
Skąd ten pomysł w ogóle? Ze sceny, oczywiście. Bellatrix otwarcie przyznaje się do inspiracji Omegą — projektem Bloodline'a z forum EAB, który od lat krąży wokół dokładnie tej samej idei: Raspberry Pi jako samodzielna, gotowa po włączeniu Amiga. A z drugiej strony rodzinnie blisko mu do PiStorma, tylko role się odwracają. W PiStormie Pi siedzi w gnieździe procesora prawdziwej Amigi i udaje procesor. Tu nie ma prawdziwej Amigi. Pi gra cały orkiestron samo.
No i został ten smaczek, który obiecałem w zajawce. JJDSNT pisze wprost w opisie repozytorium: projekt jest wygenerowany przez AI. Nie „wspomagany”, nie „konsultowany”. Wygenerowany. Człowiek dyrygował, sztuczna inteligencja pisała bare-metalowy kod pod BCM2837, protokół magistrali i sterowniki USB. Pięćset commitów z okładem.
Przyznam się: pierwszą reakcją było prychnięcie. AI piszące emulator Amigi — akurat tej maszyny, przy której pół sceny dostaje wysypki na sam skrót „AI”? A potem otworzyłem repo, zobaczyłem działający Bluetooth HID na gołym metalu i prychnięcie mi przeszło. Bo bare-metal na Pi to nie jest klejenie landing page'y. To jest ta robota, przy której normalnie siedzi się z dokumentacją Broadcoma i debuguje mryganiem diody.
Czy to zagra na dłużej? Nie wiem. Projekty bare-metal mają brzydki zwyczaj umierania między wersją 0.0.x a pierwszą używalną — sama Omega jest tu trochę memento, bo idea wisi na EAB od lat i publicznego wydania jak nie było, tak nie ma. Ale Bellatrix ma coś, czego tamtym brakowało: wydany release, sześć gotowych kerneli do wgrania i listę TODO zamiast listy marzeń.
Pi 3B leży u mnie w szufladzie od dawna — kupione do PiHole'a, wymienione na czwórkę, zapomniane. W weekend dostanie kartę SD z Bellatriksem i Kickstartem 1.3. Sam jestem ciekaw, ile z tego marketingu przeżyje zderzenie z moim telewizorem.