Framework-ul .NET a fost dezvoltat inițial de Microsoft la începutul anilor 2000 pentru a simplifica dezvoltarea de software pe Windows. Tehnologia a fost ulterior portată pe alte platforme de calcul, dar acum programatorii ingenioși încep să aducă .NET în locuri unde nu a fost niciodată destinat să ruleze.
În cadrul conferinței Build din acest an, programatorul Microsoft Jon Peppers și-a prezentat proiectul personal de codare, demonstrând cum a portat tehnologia .NET pe consola Nintendo Entertainment System (NES). Proiectul „.NES” a realizat aparent imposibilul, aducând unele funcționalități de bază ale .NET pe o consolă de jocuri lansată inițial în 1985.
NES-ul este echipat cu un CPU de 8 biți care rulează la 1,78 MHz, 2 KB de RAM și doar 512 KB de spațiu de stocare. Hardware-ul consolei nu ar fi suficient nici măcar pentru a găzdui iconițele aplicațiilor moderne iOS și Android, a spus Peppers, deoarece arhitectura consolei japoneze este prea depășită pentru orice eforturi moderne de dezvoltare.
Cu toate acestea, Peppers a transformat limitările semnificative ale consolei într-o provocare personală. Dezvoltatorul a învățat cum să convertească Limbajul Intermediar Comun al .NET (MSIL) instrucțiuni de bytecode executate în mediul de rulare al framework-ului în asamblare M6502. În cele din urmă, a reușit să aducă mediul de bază .NET pe NES.
După ce a petrecut mult timp experimentând cu ingineria inversă, MSIL, formatele binare și altele, Peppers a rulat cu succes un cod „Hello World” și alte demonstrații simple în noul mediu .NES. Totuși, .NES nu este încă suficient de capabil pentru a oferi altor programatori o modalitate „ideală” de a crea jocuri sau alte aplicații NES.
Peppers a publicat codul alpha al .NES pe GitHub, oferindu-le altor dezvoltatori instrumentele necesare pentru a experimenta cu proiectul său. Pagina .NES afirmă că doar cinci programe C# sunt cunoscute ca funcționând în acest moment. Funcționalitățile care nu sunt încă operative includ debugger-ul și șirurile non-ASCII, printre altele.
Versiunile timpurii ale framework-ului original .NET au fost proiectate să ruleze pe sisteme de operare Windows 98 sau mai recente, dar tehnologia a fost recent portată și pe Windows 95 de un alt dezvoltator ingenios cu o pasiune pentru sistemele de operare PC antice. Datorită acestui ultim proiect de portare, mii de jocuri și aplicații pot rula acum pe prima versiune de Windows pe 32 de biți.