- I-Tiny386 ilingisa i-i386 ku-ESP32-S3 namabhuzu Windows 95 ngevidiyo, inethiwekhi nomsindo.
- Ukusebenza okunesizotha: ibhuthini ~imizuzu emi-4; I-Notepad, i-Solitaire ne-IE isebenza.
- Ikhodi ku-C99 (~6k LOC), ilayisense ye-BSD-3; Idemo yeWebAssembly iyatholakala.
- Ukusekelwa kwamanje kwe-JC3248W535; ukuphatheka okungenzeka kwamanye ama-microcontroller.

Okwakubonakala njengehlaya lesithangami esikhathini esingeside esidlule sekungokoqobo: IWindows 95 iqala kabusha ku-ESP32-S3 Sibonga i-minimalist x86 emulator ebizwa ngokuthi i-Tiny386. Kudevkit encane enesikrini esithintwayo esingu-3,5-intshi, isistimu yeMicrosoft iyaqala, ithatha imizuzu embalwa futhi igijima kancane, kodwa ivula i-Notepad, idlala iSolitaire futhi ilayisha ngisho newebhusayithi yakudala kunethiwekhi.
Umuntu onesibopho ngunjiniyela u-He Chunhui (hchunhui), owakhile i-i386 emulator kusukela ekuqaleni ku-C99 futhi uyifake ku-Espressif microcontroller. Into ephawulekayo akukhona nje ukuthi iyasebenza, kodwa, ngokusho kolwazi olushicilelwe ku-GitHub, i-Hackster / Hackaday, nemidiya ekhethekile, lokhu cishe okokuqala ngqa umuntu ekwazile ukulayisha iWindows ku-Espressif. hardware I-ESP32, ngemva kwezinyathelo ezibalulekile zangaphambilini njengokuqaliswa kwe- Linux 5.0 kwamanye amabhodi e-ESP32 kanye nesithombe se-Linux 6.3 ku-Olimex ESP32-S3-DevKit-LiPo.
Iyini i-Tiny386 futhi ubani ngemuva kwayo?
I-Tiny386, empeleni, i-virtual x86 PC, ebhalwe nge-C99 futhi yakhelwe ukuthi iphathekeUmongo wayo i-emulator ye-CPU Intel i386 “elula futhi eyisimungulu”—ngamazwi ombhali—ngenhloso ecace kakhulu: ukusebenzisa isoftware eyi-16 kanye ne-32 bit ngangokunokwenzeka ngaphandle kokuyithwalisa kanzima ngobunkimbinkimbi obukhulu.
I-virtual CPU isebenzisa isethi yemiyalo engu-80386 futhi yengeza 486 kanye 586 imiyalelo lapho zidingeka khona ukuze ziqalise izikhwebu ze-Linux zesimanje nezinhlelo ze-Windows zangaleso sikhathi. I-kernel izungeze imigqa yekhodi engu-6.000 (LOC), okumangazayo uma kubhekwa ukuthi ikwazi ukuphatha ini, futhi ngokukhetha ihlanganisa x87 FPU ukulingisa ngesofthiwe eyidingayo.
Njenganoma iyiphi iphrojekthi encane, kunezikhala okufanele zigcwaliswe. Empeleni, Izici ezinjengokulungisa iphutha, ukusebenza kwezingxenyekazi zekhompuyutha, nokuhlola imvume ethile azikho.Noma kunjalo, isisekelo siseyiqiniso: kumasofthiwe amaningi akudala e-DOS/Windows 3.x/95 ngisho nasekuqaliseni isistimu ye-Linux yesimanje, ukuqaliswa kwamanje kuphezu komsebenzi.
Ulingisa kanjani i-i386 PC ku-ESP32-S3
Ukwazisa ukufaneleka, kufanelekile ukukhumbula ukuthi yayiyini i-80386: a I-32-bit x86 processor enezigaba eziyisithupha zamapayipi kanye ne-MMU ididiyelwe, yethulwa maphakathi nawo-80s. Kwakuyisisekelo senkathi yonke yama-PC womuntu siqu, amalaptop kanye namaseva, anezindlela zangempela nezivikelwe eziphawula ukuvela kwesofthiwe.
Ngakolunye uhlangothi, i I-ESP32-S3 Kuyi-microcontroller yamanje, ebiza kancane enamakhora amabili e-Tensilica Xtensa LX7 ku-240 MHz, uxhumano lwe-Wi-Fi/Bluetooth, kanye nokusetshenziswa kwamandla okuphansi kakhulu. Yize ukuqhathanisa kungaqondile (ukulingisa kuhlale kunesimo esibi), amandla aluhlaza ale SoC nokusekelwa kwenkumbulo yangaphandle ye-PSRAM kuyenza ibe imbangi enamandla. Zikuvumela ukuthi ulingise umshini osebenzayo we-386 ngemifanekiso eyisisekelo, inethiwekhi nomsindo, konke ngaphakathi kwemakrofoni ngokwayo.
Iqhinga lilele endleleni ye-pragmatic: i-CPU ilingiswa ngendlela elula, Imiyalelo ebalulekile iyengezwa ebezingekho ezimweni zesimanje, futhi okunye ukuzizwisa kwe-PC yakhelwe kuma-peripherals abonakalayo asehloliwe kwamanye amaphrojekthi. Le ngxube ye-minimalism kanye nokugaywa kabusha okuhlakaniphile yikhona okwenza kube nokwenzeka ukuthi uhlelo luqale i-Windows 95 ngaphandle kokuphahlazeka.
Ama-peripherals alingisiwe kanye ne-firmware
Ukuze uqedele i-PC ecosystem, i-Tiny386 iboleka ikhodi kuyo I-TinyEMU ne-QEMU ukuze ulingise izingxenye zakudala zomshini we-ISA wasekuqaleni kwawo-90. I-BIOS I-VGABIOS, ngakolunye uhlangothi, iphuma kuphrojekthi ye-SeaBIOS, eyenza kube lula ukuqalisa izinhlelo ngaphandle kokuthembela kuma-ROM obunikazi.
Uhlu lwama-peripheral asekelwayo luhlanganisa izingxenye ezijwayeleke kakhulu kunoma ubani oke wasebenzisa ukulingisa kwe-PC yakudala: phazamisa izilawuli, izibali sikhathi, ikhibhodi, ividiyo, idiski, inethiwekhi, nomsindoImininingwane:
- Isilawuli esiphazamisayo esingu-8259 (PIC) nesibali sikhathi esingu-8254 (PIT), sibalulekile ekubambeni isikhathi kwesistimu.
- 8042 nesilawuli sekhibhodi I-CMOS RTC ngewashi nezilungiselelo eziyisisekelo.
- VGA ISA nge Bosch VBE ukunikeza amamodi evidiyo ahambisanayo.
- Isilawuli sediski se-IDE se isitoreji.
- Ikhadi lenethiwekhi ye-NE2000 ISA, umakadebona elisabalele futhi okulula ukulingisa.
- I-DMA ISA 8257, isipika se-PC, I-Adlib OPL2 kanye ne-Sound Blaster 16 yomsindo.
Ngenxa yalesi khathalogi, uhlelo alubonisi kuphela ihluzo kanye namabhuzu indawo ye-Windows ene-interface, kodwa futhi Inokuxhumana kwenethiwekhi futhi ingadlala umsindo nge abashayeli efanelekile, ehlanganisa isipiliyoni "se-PC endala" ngendlela ephelele ngokumangazayo.
Izingxenyekazi zekhompuyutha eziyisethenjwa: JC3248W535 ene-ESP32-S3
Ukuboniswa okuthathe ukunaka kwawo wonke umuntu kudlula i Isiqondiso JC3248W535Ibhodi lokuthuthukisa eline-ESP32-S3 kanye ne-LCD yesikrini sokuthinta esingu-3,5-intshi. Le devkit ingatholwa cishe ngama- $ 25-30 kumasayithi afana ne-AliExpress, futhi kulokho esikubonile, kufaka phakathi konke okudingayo ukuze udlale imidlalo ye-"90s pocket PC".
Imininingwane eyodwa ebalulekile: imbobo ye-USB-C kule bhodi yomama ibonakala yakhelwe uhlelo futhi elicwengisisiwehhayi njenge-peripheral host USB izinga le-ESP32-S3. Noma kunjalo, nge-chip ye-USB OTG peripheral, umuntu angacabanga ukusetha nge- hlu USB lapho ungaxhuma khona ikhibhodi negundane, udale i-mini-386 ngokufaka okunezintambo eziqondile.
Njengamanje, ukwesekwa kwephrojekthi okusemthethweni kugxile kuleli bhodi elithile, futhi umbhali ubonisa lokho I-ESP32-S3 kuphela Isekelwe ngokomdabu. Isakhiwo se-emulator, nokho, sibeka phambili ukuphatheka: ngomzamo ophusile, singathuthelwa kwezinye izilawuli ezincane nezinkundla, okuvula umnyango kumafomethi amaningi nezikrini.
Ukusebenza nolwazi lomsebenzisi
Umbuzo wonke umuntu awubuzayo: kuhamba kanjani? Impendulo emfushane ithi “Iyasebenza, ngokubekezela.Ukuqalisa okuphelele kwe-Windows 95 kuthatha cishe imizuzu emi-4 kudemo yomphakathi. Uma isilayishiwe, isistimu ihamba kancane kodwa iyalawuleka: ungavula i-Notepad, udlale i-Solitaire, futhi uze uqalise i-Internet Explorer.
Ukuxhumana kwenethiwekhi kuqalisiwe, ngakho-ke i-emulator ingakwazi Layisha amawebhusayithi ayisisekeloUmbukiso ukhombisa ukuthi ivula kanjani i-info.cern.ch, iwebhusayithi yokuqala emlandweni, enezela ukuthinta okujabulisayo kwe-nostalgia endaweni ye-Windows 95 esebenza ku-microchip ebiza ngaphansi kwama-euro angu-30.
Mayelana nokusebenza, kuyaqondakala ukuthi uhlelo luphushelwe emikhawulweni yalo: ukulingisa kwengeza phezulu, futhi i-ESP32-S3 ayinakho ukusheshisa kwezithombe ze-PC-grade. Ngaphandle kwalokhu, umuzwa jikelele "ukusebenziseka emaphethelweni" Kungaphezu nje kokulula "kuyaqala futhi kube yiqhwa." Uma udlala ividiyo ngesivinini esiphindwe kabili—okuyinto ethandwayo kulabo asebeyibonile—ibekezeleleka nakakhulu.
Njengeqiniso elijabulisayo, i-Tiny386 ingagijima InhlekeleleLeso sivivinyo sakudala "uma singayisebenzisi i-Doom, ayilungile". Futhi ngenxa yemishini yomsindo eyenziwe nge-virtual (isipika se-PC, i-Adlib OPL2 ne-SB16), isici somsindo siphinde simbozwe ngangokunokwenzeka ngaphakathi kwemikhawulo yehadiwe.
Amasistimu okusebenza asekelwe nesofthiwe
Ikhathalogi, eseyivele ikhonjisiwe kuvidiyo, ifaka phakathi I-Windows 3.1 / 3.2 (ngokuhlukile kwe-Chinese 3.1) kanye ne-Windows 95. Ngaphandle kwalokho, umbhali ugcizelela ukuthi i-Tiny386 “Kufanele isebenzise isofthiwe eminingi engu-16/32-bit”, nokuthi ngokunwetshwa kwemiyalo engu-486/586 kuyenzeka ukuthi uqalise kokubili izikhwebu ze-Linux zesimanje kanye ne-Windows NT yangaleso sikhathi.
Umniningwane owodwa othakazelisa kakhulu ukuthi i-Tiny386 iyakwazi qalisa i-Linux kernel ngokuqondilengaphandle kokudlula ku-BIOS yendabuko, eyenza kube lula ukugeleza komsebenzi wokuhlola. Ukuze uhlole ngaphandle kokuhlanganisa ihadiwe, iphrojekthi iphinde inikeze idemo kuWebAssembly eqalisa i-Windows 3.2 esipheqululini, futhi isho ezinye izindlela ezifana ne-FreeDOS noma i-JSLinux kulabo abafuna ukuqhathanisa isipiliyoni sokulingisa kuwebhu.
Emkhakheni wohlelo lokusebenza, ngaphezu kwe-Doom eshiwo ngenhla, izinhlelo eziyisisekelo zeWindows 95 (I-Notepad, I-Solitaire ne-Internet ExplorerLezi zifakazele ukuthi ziyasebenza, nemikhawulo yokusebenza esobala. Lobu ubufakazi obanele bokuphetha ngokuthi ihluzo, okokufaka/okuphumayo, nesitaki senethiwekhi kuhlanganiswe kahle ngokufanele.
Indlela okokufaka nezimbobo kuphathwa ngayo
Ebhodini le-JC3248W535, ukusetshenziswa kwezinto ezithinta okomzimba kumiswe I-USB-C yokuhlelaUkuze unqobe lesi sithiyo, ekusetshenzisweni kwamanje ikhibhodi negundane kungaba qondisa kabusha nge-Wi-Fi maqondana ne-emulator, enikeza ukulawula ngaphandle kwesidingo sezimbobo ezizinikele ku-devkit.
Uma ubheka phambili, ngeke kumangaze ukubona izakhiwo ezisizakala ESP32-S3 USB OTG njengomsingathi, nokuvumela ukudalwa kwehabhu ukuze kuxhunywe amakhibhodi avamile namagundane. Lokhu kweqa kuzosiza kakhulu ukusebenzisana ngaphandle kokuthembela kuzikrini zokuthinta noma izixazululo zokufaka ezikude.
Ilayisense, ikhodi, nezinsiza zokuhlola
Iphrojekthi ishicilelwe ngaphansi 3 isigatshana selayisense ye-BSDLokhu kukhuthaza ukusetshenziswa futhi nokuphatheka kwayo. Ikhodi yomthombo ephelele iyatholakala endaweni yokugcina ye-GitHub. imiyalelo eyisisekelo yokuhlanganisaimibhalo yamafayela okucushwa futhi, kulabo abasheshayo, izithombe ezihlanganiswe ngaphambilini ilungele ukukhanya.
Ngaphezu kwemibhalo yezobuchwepheshe, kukhona a idemo kusiphequluli (GitHub Pages) ekuvumela ukuthi uthole umbono wokuthi iWindows 3.2 iqala kanjani nokuthi uhlelo luphendula kanjani, ngaphandle kokudinga noma iyiphi ihadiwe. Labo abafuna ukujula bangathola ulwazi nezingxoxo kumasayithi afana ne-Hackster.io ne-Hackaday.io, nasemiphakathini efana /r/hardware, lapho lezi zenzo ze-retro-tech ngokuvamile zikhiqiza izingxoxo ezijabulisayo.
Izitolo zemidiya ezifana ne-CNX Software kanye ne-Tom's Hardware zihlanganise ukuthuthukiswa, zigqamisa imininingwane efana ne- uhlu lwama-peripherals alingisiweUkuncika kwe-SeaBIOS ku-BIOS/VGABIOS kanye nesimo samanje sokusekelwa kwebhodi le-JC3248W535. Eqinisweni, ingxenye yokusatshalaliswa ifike nomfutho womphakathi—sibonga amathiphu afana nekaZoobab—, echaza isivinini iphrojekthi eye yafika ngaso phambili endaweni yesehlakalo.
Ukusuka ku-Linux ku-AVR kuye ku-Windows 95 ku-ESP32-S3
Ukubeka izinto ngombono, labo abakhumbula imizamo ukuze ukuqala i-Linux kuma-microcontrollers angu-8-bit (njenge-AVR) yazi ukuthi kungathatha isikhathi esingakanani. Uma kuqhathaniswa nalokho, ukubona i-ESP32-S3 ilingisa i-386 esebenzisa i-Windows 95 kuzwakala "kushesha" futhi, ngokuqinisekile, kusebenza kakhulu.
Izimpumelelo zangaphambilini ziphinde zabonwa ku-ESP32 ecosystem: I-Linux 5.0 kumabhodi we-ESP32 futhi, kamuva nje, isithombe se-Linux 6.3 ku- I-Olimex ESP32‑S3‑DevKit‑LiPoKodwa ukufika kwe-Windows kulo mndeni wamakhompiyutha amancane kuphawula inguquko ekuhloleni imikhawulo, ngenxa yekhethelo lenhloso nokuthi kunzima kangakanani ukusebenzisa indawo enemifanekiso yakudala.
Imikhawulo yamanje namathuba okuthuthukisa
Uhlu "olungakabi" luhlanganisa i-debugger ehlanganisiweUkusebenza kwezingxenyekazi zekhompuyutha kanye nokuhlolwa kwemvume ethile, ngaphezu kwezingqinamba zokusebenza ezingenakugwemeka eziza nokulingisa okumsulwa, nakho kuyizithiyo. Kuphinde kube kubi ukuthi, okwamanje, ukwesekwa okusemthethweni kukhawulelwe ku- JC3248W535Lokhu kukhawulela izinhlobonhlobo zezikrini nezinsiza ezitholakala njengezijwayelekile.
Ngasohlangothini oluhle, indlela ye-Tiny386 iqondile kangangokuthi kukhona vula indawo yokwenza kahleUkuthuthukiswa kwememori yangaphandle (ukubambezeleka kwe-PSRAM), ukulingisa okuhle kwe-CPU, ukubhekana nezindlela ezibucayi ezingase zibe khona kumagraphics noma kuma-peripherals ediski, kanye nokusebenzisa i-USB OTG ukuthuthukisa ulwazi ngamadivayisi angempela. Konke okuncane kuyasiza lapho isabelomali somjikelezo wokuthuthukiswa siminyana kakhulu.
Ukulondolozwa, imfundo, nokuzijabulisa kwe-retro
Ngale kwesisekelo sokuthi "ngoba singakwazi", amaphrojekthi afana nalawa anenani elibalulekile lezemfundo nokongiwa. Nge-Tiny386, abathuthukisi nothisha Bangakwazi ukukhiqiza kabusha izindawo zomlando ze-x86 ngaphandle kwezingxenyekazi zekhompuyutha zangempela, ezilokhu ziyindlala futhi ziba ntekenteke, futhi zenze kanjalo endaweni eshibhile kakhulu, enamandla aphansi.
Emphakathini, ivula umnyango hlola isofthiwe endala, ebhala ngokuziphatha kwezinhlelo zefa kanye nokumisa izinkundla zokucobelelana ngolwazi lapho kuchazwa khona, ngezibonelo ezibambekayo, ukuthi izindlela zangempela nezivikelwe ze-386 zikumise kanjani ukwakheka izinhlelo ezisebenzayo njenge-Windows 3.x/95 kanye nokuvela kwe-Linux.
Kukhona futhi isici samasiko okungafanele sithathwe kancane: kuyaxaka—futhi kuyahlekisa kakhulu—ukuthi “ukuzizwa sinamandla” namuhla kufanele ukulingisa i-CPU yama-80s kumbhobho wesimanje, lapho siphatha emaphaketheni ethu omakhalekhukhwini abanamandla aphindwe kazinkulungwane kunalawo ma-PC asekuqaleni. Lokho kuqhathanisa kusiza ukuqonda ukuthi sesihambe kangakanani nokuthi kungani ukulingisa kuyithuluzi elinamandla.
Izakhiwo zangaphakathi: izindlela, inkumbulo kanye ne-BIOS
Izindlela ezihlanganisiwe ze-i386 okwangempela futhi kuvikelwe, i-pagination kanye ne-MMU eyabeka izisekelo ze inkumbulo ebonakalayo Kuma-PC, i-Tiny386 iphindaphinda izici ezibucayi zalokho kuziphatha ukuze yenze amasistimu okusebenza azizwe “esekhaya,” ehlanganisa ukulingisa kwe-CPU nesethi yama-peripherals asabela lapho isofthiwe ilindele amasignali amadala e-ISA.
Nansi insika I-SeaBIOSI-BIOS ne-VGABIOS esetshenzisiwe itholakala kulo mthombo. Lokhu kuqinisekisa ukuhambisana nezinqubo zokuqalisa ezisekelwa kabanzi futhi kugwema ukuthembela kuma-ROM avaliwe. Ngesikhathi esifanayo, uma kunesidingo, i-emulator ingadlula i-BIOS futhi layisha i-Linux kernel ngokuqondile, isinqamuleli esiwusizo kakhulu sokuhlola.
Ukuphatheka kanye ne-ecosystem
Ibhalwe ku-C99 futhi inomongo we-CPU omfushane, phatha i-Tiny386 Kwezinye izinkundla, umsebenzi uba oqondile: mane usebenzise isendlalelo se-I/O futhi uvumelanise ukuhlanganiswa nesibonisi, okokufaka, kanye nesitoreji. Umbhali ngokwakhe ugqamisa ukuphatheka njengamandla amakhulu ephrojekthi.
Lokhu akuzuzisi nje kuphela labo abafuna ukuyisa kwamanye ama-micro noma ama-SBC, kuphinde kwenza kube lula kubantu besithathu engeza ama-peripherals, zama ukulungiselelwa noma wakhe iziphetho ezithile (isibonelo, ukuze uqalise ngokuqondile izithombe ezihlukile ze-Windows noma ukusatshalaliswa kwe-retro DOS/Linux).
Yini ebonisiwe kuze kube manje
"Ubufakazi bempilo" ye-Windows 95 nge Iqala emaminithini angu-4 Iwukukhanga inkanyezi, kodwa akusiyo yodwa. I-Windows 3.1/3.2, ukuphequlula kwewebhu okuyisisekelo (okuhlanganisa i-info.cern.ch), izinhlelo zokusebenza zesistimu, nesofthiwe yesithonjana efana ne-Doom nayo yaboniswa.
Ngokuhambisana, kukhona a Idemo yeWebAssembly Iqalisa i-Windows 3.2 esipheqululini, indlela enhle yokuthola ukulingisa ngaphandle kokunamathisela noma ukukhanyisa noma yini. Futhi nge-tech-savvy eyengeziwe, inqolobane inikeza ukucushwa kanye nesithombe esihlanganiswe ngaphambilini ukuze uqalise ku-JC3248W535 ngobunzima obuncane.
Ukuqhathanisa nokunye okuhlangenwe nakho ku-ESP32

Uma kuqhathaniswa namanye amademo afana neLinux ku-ESP32 "ngaphandle kwehadiwe", ukugxumela kokuthi IWindows 95 ifakiwe Yengeza okuthakaselwayo okukhethekile: iphoqa ukukhiqizwa kabusha kwezithombe ezingasho lutho kanye nesitaki somshayeli, kanye nokubhekana nokulindelwe kwesixhumi esibonakalayo ebesingekho ebhuthini yekhonsoli.
Okuhlangenwe nakho ne I-Olimex ESP32‑S3‑DevKit‑LiPo ne-Linux 6.3 Kubonisa ukuthi i-ESP32-S3 ecosystem inendawo yokumangala. I-Tiny386 iphusha lowo mngcele endaweni ye-Windows, ivala umbuthano obubonakala ugcinelwe ama-SBC anamandla afana ne-Raspberry Pi.
Ekugcineni, okusobala ukuthi, ngobuhlakani obuthile, umbhobho obiza kancane Kungaba umshini we-retro omuhle okholisayo, okwazi ukuqala amasistimu aphelele futhi usinikeze i-masterclass ekwakhiweni kwekhompyutha yama-90s.
Ibhekwa iyonke, indaba ye-Tiny386 ihlanganisa izimpumelelo ezimbalwa: ukulingisa okufushane kwe-i386Ama-peripherals abalulekile ahlanganiswe kahle, i-BIOS ingumthombo ovulekile, ukuphatheka kwaklanywa kusukela ngosuku lokuqala, kanye nedemo ethi, nakuba ihamba kancane, efundisa okubalulekile: ukuthi iWindows 95 ne-Linux zingasebenza ku-ESP32-S3 ngokwethembeka okungaphezu kokuhloniphekile.
Futhi yebo, inekhwalithi ethile yobunkondlo ukuthi ukukhumbula "umlingo" we-Windows 95 ngo-2025 ngeke sithinte iPentium endala, kodwa kunalokho sisebenzisa... i-emulator yemigqa engu-6.000 Kanye ne-devkit enesikrini esithintwayo esilingana ephaketheni lakho. Ukwenza ikhompuyutha ngezinye izikhathi kuba mnandi kakhulu lapho i-nostalgia ixubene nobuhlakani.
Umbhali oshisekayo ngomhlaba wamabhayithi nobuchwepheshe ngokujwayelekile. Ngiyathanda ukwabelana ngolwazi lwami ngokubhala, futhi yilokho engizokwenza kule bhulogi, ngikubonise zonke izinto ezithakazelisayo kakhulu ngamagajethi, isofthiwe, ihadiwe, izitayela zobuchwepheshe, nokuningi. Inhloso yami ukukusiza ukuthi uzulazule emhlabeni wedijithali ngendlela elula nejabulisayo.