Biskupová

erb Vitaj, zlatá baňa informácií k ASUS ScreenDUO/OC Palmu!

No, len tak pre informáciu, na internete neexistuje rozsiahly článok o ScreenDUO. Nevím o žádnom v angličtine, né to aby bóv voláky ešte aj po našom jazyku.
Dostali sme sa na začátek šeckého. Nie zrovna až sveta a ľudstva, ale začátek toho ako vzniklo ScreenDUO. Keďže som ale neni žádny inžiríl z ASUSu(a v momentálnej dobe to zaťál ešte ani neplánujem) tak presné opodstatnení a vznik tohoto gadgetu nepoznám. Tak ale pekne odzačátku tak jako sa patrí.
Voláke malé technologické okínko:
základom šeckého je 320x240 TFTčkový displej
na povrchu tlačítkovom sa nachádza dpad, back a enter tlačítka, zapínacé tlačítko s prídavnými tlačítkami "1" a "2"
nútri to šecko poháňa čistoteoretický ARM chrúst značky ASMedia
mal by byť schopný funguvať aj bez mašiny, to je dočilku vec neskúmaná
~4/5fps refreshrate, možno sa dá aj polepšiť voláko dá, to ale až neskór kým rozumy a časy dajú
a aby toho nebolo málo, tento ASUS gadget vyšiel niekedy v roku 2007 pre dosku P5B Premium Vista Edition. (to je aj dóvod prečo vlastne toto doma mám)




Toť taký pekný nákuk do nútrajšku, takisto nútrajšek se sklopeným displejom

Jaké sú možnosti ovládať toto čudo?

Začína to zaujímavo, na začátku bol okrem boha aj driver na ScreenDUO, ten oficiálny mal doteraz 3 verzie z toho tá posledná ide oficiálne iba na Windows XP a Windows Viste.
Oficiálny ovládač sa dá rozdeliť na dve časti, WinUSB časť a Windows SideShow časť driveru. Neoficiálne s oficiálnym ovládačom je Windows SideShow sekcia driveru schopná aj na Windows 7 a mala by ísť aj na Windows 8. Na Windows 8.1 a 10 určite ale nie Windows SideShow ovládač, tam už iba WinUSB ktorý bol určený pre XPčko keďže na Windows 8.1 a 10 už neni podpora Windows SideShowu v systéme.

Keď sa kloníme k neoficiálnemu driveru, tam to začína byť pestré...
Na upresnenie, začátek neofiko driveru začal niekedy ešte v roku 2010 a na linuxe. Keďže ale jednoduchosť toho kódu že bol napísaný v C a že bol vóbec opensource mi aspoň dovolilo istú vec. Fork! Forknúť už viac preforkovaný a doplnený kód v auguste 2019 a spustiť lavínu nápadov a zmien a vecí.. Začal som s kódom od mayorbobstera. Teraz sa mój kód nacháďa na GitHube ako screenduo-userspace, kompiluvaný je na C++ , používa kúštek vác knižníc(špecificky libpng, sdl a lua) a ide aj na Windowse, macOSe a Linuxe aby každá platforma nesmútila za svojim buildom.

Laický popis fungovania

Jak dobre už víme, originálny driver robil kompozituvaní na mašine(tak jako aj tento driver) a potom to cez WinUSB tlačil do screendua po častiach. Zároveň sledoval pohyb na USBčku a čakal na tlačítkové správy zo screendua na ktoré on potom zase naspák reagoval tlačením screen updatov.
Úplne prvý neofiko kód fungoval tak, pustil sa a on cez libusb potlačil obrázek z internetu s Tuxom.
Čilajšá verzia ale funguje razantne ináč, aspoň čo sa týka obrázkovej záležitosti. Tá čilajšá verzia funguje tak že sa pustí a potom to prejde z C++ na lua kód ktorý zase spracováva veci ďalej. Lua tam je naschvál, aby sa dali rýchlo a jednoducho robiť zmeny v kóde a aby sa dali replikovať funkcie originálneho duo driveru z 2007 pre Windows(jako napríklad aplikácie) bez toho aby sa to šecko moselo rvať do C++ kódu.

Na kerého svatého vlastne tento driver existuje?

Len tak.
Fakt bez srandy. Ono hlavne je to aj tak že ja som sa každý rok musel s nejakou vecou srať a ScreenDUO bolo u mňa doma od 2008 a už bolo tomu tak dlho že som to chcel vidieť ísť. Preto v auguste 2019 sa mi ho podarilo rozbehať na náhodnej ASUS socket 775 doske a teda potom aj skúmať či neni nejaký driver na linux/macOS. Potom jako sa mi podarilo nájsť screenduo4linux tak sa mi ho podarilo aj "preportuvať" ten kód na macOS. Ono to skór bol vačší problém sa s tým zoznámiť keďže nikdy predtým som ešte nerýpal moc do makefilov, kompilátorov, hentoho a tohoto. (Túto záležitosť som si potom neskór overil keď som kompiluval a opravuval MilkyTracker pre SailfishOS na OnePlus 6Tčku v apríli 2020 alebo keď som ríšil inakšé záležitosti medzi rokmi následujúcimi)

Takže ešte raz, čoho šeckého je ten nový driver schopný?

Pokál dobre vím tak nových driverov neni moc, medzi aktualizuvané patrí iba tento.
Tento "nový" driver je momentálne schopný pár vecí:
- ví istý textový režim cez kerý sa dá dotlačiť a zobraziť text
- ví screen režim kerý funguje tak že C++ kód loopuje dookola načítavanie 230KB(320x240) súboru screen.bmp
- ví špeciálny skrytý režim o ktorom sa na GitHube nehovorí ale v kóde je, --cat
- ví UI mód ktorý niekedy fungoval iba cez C++ ale od 8.9. ide už iba cez spoluprácu C++ a lua kódu kóli tej jednoduchosti šeckého

Čo ešte takého je v pláne?

Na začátek bych bol najvác rád keby sa mi podarilo opraviť bugy, dorobiť UI funkcie, opraviť funkcie a najhlavnejšé by bolo keby sa mi to podarí spraviť jako nejakú macOS službu(alebo aplikáciu) aby ten driver nemusel furt bežať v termináli.
Bohužál kopa z toho je nad moje sily a chuť kerú bych bol mal na srání s takouto vecou. Takže to zanehám už na volakoho iného napotom inokedy.

Týmto sa končí príbeh toho jak som volakedy svojho času dávav dokopy voláke ASUS ScreenDUO len tak z prdele.
Caddy v2.7.6 - Mac mini Fedora Linux Asahi Remix 39, zobrazuvaní stránky próbuvané na Safari 17.0 - macOS 14.0 Sonoma, poslenný čas úpravy bol konaný na 100% cez ScreenDUO.