Newsgroup: it.comp.software.emulatori
Titolo: E' possibile ricompilare il MAME in ASM??????

Mi chiedo se č possibile opuure no.....

 Mi chiedo se č possibile opuure no.....
Riscrivere si' (buona fortuna..), ricompilare no, dato
che e' scritto in C.
-- 
Saluti
                                          James \Diskdoctor\ Ossi
      ___
     ////  A M I G A : the REAL pathfinder
___ //// RetroPlay  
http://www.retroplay.com
\\\X///             ICQ 13963485
 \XXX/           *Powered by Linux*

 > Mi chiedo se è possibile opuure no.....


 Diciamoci la verità,il MAME è lento se non hai un buon sistema...
Perche', semplificando molto, ogni linea di codice di C corrisponde a 10
istruzioni ASM, e facendo il conto che il MAME e' piu' di 1000 linee...
In piu', l' ASM e' molto piu' a "basso livello" (tradotto: e' molto piu'
incomprensibile) del C.
Personalmente, preferisco programmare in C che in ASM (anche se, a volte,
qualche cosa si e' costretti a fare in ASM)
Bow-wow
Killer
--
Killer, webmaster di
http://go.to/KingdomAmiga
sito dedicato al miglior computer di sempre
Ronaldo: cosi' tenero che si rompe come un grissino...

 Diciamoci la verità,il MAME è lento se non hai un buon sistema...
E' "il prezzo" da pagare per avere L'emulatore definitivo
 --
  Jerle Shannara
Togli NO SPAM dall'email

 istruzioni ASM, e facendo il conto che il MAME e' piu' di 1000 linee...
Magari... solo il file mame.c sono 800 righe... Non le ho contate, ma
secondo me raggiungiamo le 5000


Mi chiedo se è possibile opuure no.....
Possibile lo e' di certo, ma tu hai il tempo e soprattutto le palle di
tradurre decentemente tutto il codice C in ASM?
Io francamente no ^_^;


E comunque non servirebbe a molto. Anzi, direi proprio a niente. Ormai i
compilatori C riescono a fare molto meglio di qualunque cod3r. L'ASM
conviene usarlo solo dove è veramente necessario.
E poi è praticamente impossibile riscrivere il mame in asm! Sto proprio
in questi giorni studiandone i sorgenti e devo constatare che è
complesso quasi come un SO (complesso, non complicato)! In effetti lo si
può considerare come un ambiente nel quale si inseriscono quelli che
sono dei "piccoli" drivers che vanno ad emulare le varie piattaforme.
MAME fornisce dei servizi generici ai quali fanno riferimento i vari
drivers, proprio come un OS.
Saluti,
Fabio Alemagna

 istruzioni ASM, e facendo il conto che il MAME e' piu' di 1000 linee...


drivers, proprio come un OS.
E lo scopri oggi? :D

 E lo scopri oggi? :D
Devo dire di sì. Sapevo che usava il sistema dei drivers, ma non mi ero
mai soffermato molto sull'implementazione. Poi ho scoperto che mess, il
mame degli home computers, emula pure l'Amiga, al che mi sono detto
"come cavolo si può fare a considerare l'emulazione di un Amiga un
driver?!". Quindi sono andato a vedere i sorgenti e ho constatato con
non poca sorpresa che tutto il codice che emula l'amiga sta in circa
80Kb di sorgente! Ed io che stavo scrivendo un mio emulatore... :) Cmq
tutto questo va a discapito della velocità. 
Aspettatevi presto delle novità per quanto riguarda l'emulazione amiga
del mess :D
Saluti,
Fabio Alemagna

 secondo me raggiungiamo le 5000
Solo \drivers\cps1.c sono 6500 linee...
Il numero di linee di codice e' circa quello che hai detto tu moltipilicato
per 150.
No, non le ho contate... c'e' chi lo ha fatto dopo aver letto questo thread...
e ovviamente usando un programma, non "a mano" :-)

 e ovviamente usando un programma, non "a mano" :-)
[fabio@localhost xmame-0.37b.1]# cat `find -path \*.c` | wc -l
 759755
[fabio@localhost xmame-0.37b.1]# cat `find -path \*.h` | wc -l
  46150
Per chi non masticasse unix significa: 759755 linee nei files .c e 46150
negli headers
Saluti,
Fabio Alemagna

E' "il prezzo" da pagare per avere L'emulatore definitivo
Anche perche` ci sono due cose da tenere sempre presente quando si parla
del MAME:
1) Il MAME non e` stato creato per emulare, ma per *preservare*.
L'emulazione per quanto bella sia rimane un NICE SIDE EFFECT, come e`
scritto bello chiaro sul readme;
2) Il codice del MAME e` scritto in C per una semplice ragione: la
PORTABILITA`. Se cosi` non fosse non esisterebbero le versioni Windows,
Linux, OS/2, BeOS, MacOS, Amiga, fotocamere digitali, eccetera, ma soltanto
la versione DOS (che, diciamo, e` quella "ufficiale"). E` pur vero che
molti usano la versione DOS, ma "molti" non vuol dire "tutti". E visto
anche il punto 1 direi che si puo` tranquillamente sacrificare la velocita`
in favore della portabilita` (e non ultimo, della chiarezza) del codice.
Poi ci potremo lamentare quanto ci pare, ma dobbiamo sempre tenere presenti
queste due cose. Se anche una di queste due cose venisse lasciata perdere
da parte del MAME Team, probabilmente morirebbe il progetto.
-- 
Massi "No, cadenti non e` il cognome, si scrive minuscolo" cadenti.
ATTENZIONE!! Mettete "
iol.it
" dopo la chiocciola!
Attualmente sono affetto dalla Pokemon-trading-cards sindrome:)
Ulteriori info: 
http://www.wizards.com/Pokemon/

 da parte del MAME Team, probabilmente morirebbe il progetto.
Che il cielo ce ne scampi...


 per 150.
La miseria  °o°


per 150.
x_x
Vabbe' che in 3 anni il tempo c'e', di scriverle, pero' mi son sentito
male lo stesso...
Mi fai un favore?
Gli fai contare anche le righe di codice del kernel
2.2.nonsoqualesiamarrivati + tutte le relative patch? ^_^


kernel 2.2.14 della mandrake 7.0:
[fabio@localhost linux]# cat `find -path \*.c` | wc -l
1633211
[fabio@localhost linux]# cat `find -path \*.h` | wc -l
291648
1633211 bytes di files .c ("appena" il doppio di mame) e 281648 bytes di
headers
Ciao,
Fabio Alemagna

 headers
Ehmm,  Ovviamente sono linee, non bytes :)
Saluti,
Fabio Alemagna


Possibile sarebbe possibile, il fatto e' che non ne vale la pena:
quando esegui un programma, nel 90% del tempo di esecuzione viene
eseguito il 10% del codice. Questo vuol dire che per avere un
sensibile aumento delle prestazioni, ti basta ottimizzare le parti
critiche del codice e non tutto il codice. In poche parole, sarebbe
uno sbattimento inutile...
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

Ciň non toglie che sia un emulatore come il suo stesso nome dice...
E` vero, ma il nome spesso conta poco. Penso al No$Gmb... credo di non
essere stato il solo all'inizio a pensare che fosse gratis (No$...:P).


 essere stato il solo all'inizio a pensare che fosse gratis (No$...:P).
Ah, allora non lo č? ;)


Ah, allora non lo č? ;)
Vallo a chiedere al programmatore, lui sara` felice di risponderti :)


essere stato il solo all'inizio a pensare che fosse gratis (No$...:P).
Guarda che LO E'... Ma solo per i giochi gb e sgb :P

Guarda che LO E'... Ma solo per i giochi gb e sgb :P
Il che corrisponde ad una versione limitata, che puoi sbloccare
registrandoti. Quindi?
-- 
Night Ranger
srq...@yvoreb.vg
Applica ROT13 per rispondere
ICQ# 63076483

Ah, allora non lo è? ;)
Beh diciamo che e' gratis per il GB, se tu lo usi anche per il GBC
devi pagare.
Se non erro pero' la versione 486 e' invece completamente gratuita.

registrandoti. Quindi?
Quindi e' come avere due emulatori distinti.