di  -  mercoledì 25 febbraio 2009

Windows 3.11Quello dell’emulazione è un settore di cui m’interesso da più di vent’anni ormai, da quando cioé rimasi a bocca aperta vedendo su MC MicroComputer la foto di un’Amiga che faceva girare il DOS grazie a IBeM (il cui nome è tutto un programma), il primo emulatore 8086. Meraviglia che si ripeté quando arrivò l’emulatore Commodore 64 dell’arcinota ReadySoft (sì, proprio la software house che portò Dragon’s Lair su Amiga e altri sistemi).

Da allora enormi passi sono stati fatti, e numerosi emulatori di e per i sistemi più o meno blasonati hanno calcato la scena, per cui mi è difficile rimanere stupito leggendo una notizia riguardo un emulatore che ha fatto capolino su una piattaforma, se non per il fatto che un ben noto “concorrente” di Nokia giri sul suo N95

In effetti vedere le immagini di Windows 3.1 girare sul questo telefonino “di punta” fa un po’ sorridere, considerato che Microsoft ha da tempo deciso di espandersi proprio nel settore mobile dominato da Nokia, che è diventato sempre più strategico a causa dei notevoli volumi che genera (ricordiamo che in Italia abbiamo più telefonini che abitanti).

Il piccolo prodigio è avvenuto grazie al porting di un ben noto software, DOSBox, che nasce per emulare interi PC, sebbene abbastanza datati. Infatti supporta al più un 386 come CPU, dalla monocromatica Hercules fino alla SuperVGA VESA come scheda grafica, e una nutrita serie di vecchie schede audio (dallo speaker, alla mitica SoundBlaster, fino addirittura alla ben più complicata GUS).

Purtroppo la velocità di esecuzione che garantisce DOSBox non è molto elevata, a causa dell’assenza di un compilatore JIT. Infatti la CPU viene emulata tramite un tradizionale ciclo leggi opcode -> decodificalo -> esegui l’istruzione -> controlla se ci sono operazioni “di manutenzione” (generalmente interrupt che nel frattempo sono arrivati) -> ritorna all’inizio del ciclo.

Nella notizia si parla di un 486, ma bisogna tenere sempre presente che un conto è l’architettura che si sta emulando, e tutt’altra cosa è la velocità di esecuzione ottenuta. Per essere chiari, con un programma come DOSBox si potrebbe emulare anche un AMD64 (o x86-64 che dir si voglia; quindi una CPU a 64 bit), ma a velocità ridicole visto l’hardware che mette a disposizione l’N95.

A proposito di ciò, dalle specifiche di questo modello di cellulare la CPU in dotazione è un OMAP 2420 della Texas Instruments, basato su core ARM-11 e che, quindi, garantisce delle buone prestazioni, sebbene con una pipeline a 8 stadi questo processore nasca per raggiungere frequenze ben superiori ai 333Mhz dell’N95, ma suppongo che un clock così basso sia stato scelto per contenere i consumi.

Personalmente mi aspetto da DOSBox, quindi, delle prestazioni a metà strada fra quelle di un 386 e un 486. Quindi sufficienti a far girare in scioltezza Windows 3.1 e le sue applicazioni. D’altra parte un 486 a 25Mhz sulla carta è in grado di erogare 15MIPS che, trattandosi di un microprocessore CISC, sono istruzioni decisamente più complicate di quelle che normalmente fa girare un ARM, e che richiederanno a quest’ultimo non poche risorse per la loro decodifica ed esecuzione.

Il limite più grosso che noto in questo caso non è tanto la velocità di esecuzione della CPU x86 (accettabile come dicevo prima), quanto la risoluzione offerta dall’N95: una 240×320 che mal si concilia con la 640×480 che è la minima indispensabile per far girare Windows 3.1. Si nota dalle immagini, infatti, la scarsa qualità resa a causa dell’operazione di scaling necessaria.

Comunque coi 128MB di memoria che ha in dotazione l’N95 non credo che DOSBox abbia particolari difficoltà a far girare anche Windows ’95 e, perché no, anche Windows ’98. Gli unici limiti che permangono sono quelli a cui ho accennato prima: la velocità di esecuzione e la risoluzione video.

Rimane pertanto un bell’esperimento, in attesa che si facciano strada cellulari dotati di una risoluzione più elevata, ma nulla toglie che nel frattempo si possa utilizzare DOSBox non tanto per smanettare con Windows 3.1, quanto per rispolverare qualche vecchio gioco che a 320×200 (risoluzione “principe” in quanto utilizzata dal famigerato mode 13h delle VGA) sarà sicuramente godibile…

10 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    ech0s
     scrive: 

    Un porting per DOSBox sarebbe possibile anche su PSP, dato che le risorse hardware a livelo CPU e RAM sono all’incirca soddisfatte, e la risoluzione dello schermo è certamente più alta di quella di un N95, o sbaglio?

  • # 2
    Cesare Di Mauro
     scrive: 

    Non sbagli, e un porting c’è già. La PSP ha uno schermo 16:9 da 480×272, per cui la resa della grafica è sicuramente migliore rispetto all’N95.

    Purtroppo la dotazione di memoria non è comparabile a quella dell’N95: 32MB per la vecchia FAT, e 64MB per le slim e la 3000. Ma con 64MB ci si possono fare diverse cose.

    Tra l’altro la CPU della PSP dovrebbe essere decisamente più performante dell’ARM-11 del N95, pur girando alla stessa frequenza.

  • # 3
    AndreaG.
     scrive: 

    Su un noto sito cinese c’è l’occorrente per far girare win95 su n95-2 che ha 128mb di ram. sul 95-1 che ne ha di meno consigliano di far girare massimo win 3.1

  • # 4
    Daniele
     scrive: 

    Come sempre Cesare proponi un articolo non solo interessante ma anche molto attuale.
    Che un sistema operativo Microsoft possa girare su di uno smartphone che non la casa di Redmond non ha nulla a che vedere sembra una cosa notevole ma non poi cosi sconvolgente, sono anni che assistiamo al porting di versioni più o meno funzionanti del kernel linux su calcolatrici, orologi, lavatrici, ecc. naturalmente scherzo ;)
    Ma le idee che mi vengono leggendo l’articolo sono diverse … e se nel prossimo panorama di mid-netbook a base di Arm che dovrebbero giungere sul mercato ci fossero delle soluzioni poliedriche in grado di fare un multi-boot Symbian, Linux(Android) e Windows Mobile?
    O meglio ancora … se Microsoft dovesse rendersi conto che sia tempo di sviluppare un sistema dedicato a questo nuovo mercato un pochino più flessibile del suo Mobile e meno esoso e onnipotente dei vari xp-vista-seven studiato appunto per soluzioni tanto Intel quanto Arm … potrebbe inoltre essere una mossa ragionevole per contenere l’eventuale espansione di piattaforme concorrenti.

  • # 5
    download manager
     scrive: 

    Ma quindi, se ho ben capito, potrei riuscire a far girare Indiana Jones and the Fate of Atlantis sul mio cell?

    Arf! Se mi date conferma avrò un orgasmo! :D

  • # 6
    MegaDom
     scrive: 

    @ download manager
    Veramente quello si può già fare da taaaanto tempo!
    Esiste infatti una versione di ScummVM per Symbian da un paio d’anni (credo)
    Per chi non lo sapesse ScummVM è una Virtual Machine che permette di giocare a decine di avventure grafiche punta e clicca che utilizzano il motore SCUMM (Script Creator Utility for Maniac Mansion) come tutte le avventure della LucasArts (compresi quindi i Monkey Island, gli Indiana Jones, Sam & Max, etc)…
    …e non solo! Infatti da un pò di tempo a questa parte è compatibile anche con giochi che non utilizzano lo Scumm come ad esempio i primi due Broken Sword, la serie di Simon The Sorcerer e tanti altri…
    Per maggiori informazioni, compatibilità giochi e download per tutte le piattaforme vi rimando al sito ufficiale http://www.scummvm.org
    ;-D

  • # 7
    Cesare Di Mauro
     scrive: 

    @Daniele. I netbook sono sostanzialmente dei PC, per cui il multiboot sarà possibile, anche se sull’uso di Symbian è tutto da vedere.

    Non credo che MS sia interessata al mercato dei netbook basati su ARM, perché la quota di mercato è irrisoria.
    Per quelli x86 invece è interessata ovviamente, e per questo a fine anno arriveraà seven.

    @download manager: ovviamente è possibile utilizzando DOSBox, ma come suggerisce MegaDom è molto meglio utilizzare ScummVM, visto che è stato realizzato proprio allo scopo e non richiede di farsi carico del pesante fardello dell’emulazione.

    Ovviamente per tutti i vecchi giochi DOS (in particolare) o Windows 3.1 che non ricadano nella sfera di ScummVM, puoi sempre usare DOSBox.

  • # 8
    Nome
     scrive: 

    Interessante l’articolo, e fantastico il post di MegaDom!
    Però non trovo DosBox per Symbian, sul sito ufficiale non c’è, e cercando in internet non sono ancora riuscito a trovarlo: voi avete qualche info?

  • # 9
    Cesare Di Mauro
     scrive: 

    Trovi tutto qui: http://www.ipmart-forum.pl/showthread.php?t=8715&page=18 ;)

  • # 10
    Nome
     scrive: 

    Grazie per il link! Ho fatto un po’ fatica a registrarmi perchè mi dava un errore e non capivo quale, non mastico il polacco..alla fine avevo sbagliato a riscrivere la password, ora tutto ok

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.