Newsgroup: it.comp.os.amiga
Titolo: UAE patch

Salve a tutti.
Ecco finalmente a voi la tanto agognata (?) patch da me realizzata.
Come ho già ribadito non è niente di speciale, però funzia :)
La posto qui perchè ho perso l'indirizzo al quale dovevo mandarla a Massi, e perchè forse qualcun
altro potrebbe essere interessato.
Per applicare la patch  portatevi nella directory di uae e digitate
patch -p1 < nomefilepatch
prima però, ovviamente, dovrete tagliare la parte che segue e pastarla in un file a vostro
piacimento.
ISTRUZIONI PER L'USO:
1) una volta applicata la patch aprite in un editor di testo il file newcpu.c nella directory src
2) localizzate le stringhe "#define m68k_consecutive_opcodes" e "#define cycles_to_do"
assegnate a questi defines dei valori a vostro piacimento, calibrateli a seconda della velocità del
vosro computer. Su un PII@350 i valori che penso siano ottimali sono: 4 per m68k_consecutive_opcodes
e 2 per cycles_to_do.
Su un PIII@600 ho trovato ottimali i seguenti valori: 4 per m68k_consecutive_opcodes e 1 per
cycles_to_do.
Ricordate che per avere benefici da questa patch m68k_consecutive_opcodes deve essere maggiore di
cycles_to_do, e ricordate pure che su macchine non sufficientemente potenti questa patch non serve a
niente.
Per sapere se la patch funziona quando chiudete UAE date uno sguardo a quanti millisecondi ha
inpiegato in media un frame per essere completato. I millisecondi devono essere vicinissimi a 20,
valori troppo superiori, come 24-25 sono da considerarsi dannosi.
Con alcune combinazioni di valori l'emulatore potrebbe entrare in un loop infinito, a causa del
fatto che le temporizzazioni interne di UAE sono "troppo" regolari :) (E' una cosa lunga da piegare,
cmq). Semplicemente evitate queste combinazioni. :)
Per attivare la patch dovete inserire questa stringa nel file di configurazione:
use_calibrated_maincycle=true
Spero di non aver dimenticato niente; In ogni caso sono disponibile per chiarimenti :)
Ciao,
Fabio Alemagna
PS:
per qualche ragione che non ho approfondito lo script configure non tiene conto dei flags di
ottimizzazione che gli si passano da linea di comando, quindi una volta eseguito lo script aprite in
un editor il Makefile nella directory src e localizzate la riga dove viene definita la variabile
CFLAGS.
A questo punto inserite lì le ottimizzazioni che ritenete necessarie. Con versioni del gcc inferiori
alla 2.95.X sconsiglio di andare oltre -O3.
Le ottimizzazioni che uso io su un PII@350 con gcc 2.95.2 sono '-O6 -fomit-frame-pointer
-mpentiumpro'.
-O6 è forse eccessivo, ma ho sufficiente memoria da non crucciarmene :)
=====================CUT HERE=======================
diff -r -P -u uae-0.8.11/src/Makefile.in uae-0.8.11-1/src/Makefile.in
--- uae-0.8.11/src/Makefile.in	Wed Jul  5 16:39:24 2000
+++ uae-0.8.11-1/src/Makefile.in	Wed Jul  5 15:45:14 2000
@@ -160,7 +160,8 @@
 main.o: config.h
 cia.o: config.h include/events.h
 custom.o: config.h include/events.h blit.h
-newcpu.o: config.h include/events.h
+newcpu.o: newcpu.c config.h include/events.h
+	$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) -funroll-loops $(X_CFLAGS) $(DEBUGFLAGS) $< -o $@
 autoconf.o: config.h
 expansion.o: config.h
 xwin.o: config.h
diff -r -P -u uae-0.8.11/src/cfgfile.c uae-0.8.11-1/src/cfgfile.c
--- uae-0.8.11/src/cfgfile.c	Wed Jul  5 16:39:24 2000
+++ uae-0.8.11-1/src/cfgfile.c	Tue Jul  4 20:58:56 2000
@@ -35,6 +35,7 @@
     {"cpu_speed", "can be max, real, or a number between 1 and 20" },
     {"cpu_type", "Can be 68000, 68010, 68020, 68020/68881" },
     {"cpu_compatible", "yes enables compatibility-mode" },
+    {"use_calibrated_maincycle", "yes use main cycle calibrated by yourself" },
     {"cpu_24bit_addressing", "must be set to 'no' in order for Z3mem or P96mem to work" },
     {"autoconfig", "yes = add filesystems and extra ram" },
     {"accuracy", "emulation accuracy, default is 2" },
@@ -217,6 +218,7 @@
 
     fprintf (f, "cpu_type=%s\n", cpumode[p->cpu_level * 2 + !p->address_space_24]);
     fprintf (f, "cpu_compatible=%s\n", p->cpu_compatible ? "true" : "false");
+    fprintf (f, "use_calibrated_main_cycle=%s\n", p->use_calibrated_maincycle ? "true" : "false");
     fprintf (f, "autoconfig=%s\n", p->automount_uaedev ? "true" : "false");
 
     fprintf (f, "accuracy=%d\n", p->emul_accuracy);
@@ -348,6 +350,7 @@
 	|| cfgfile_yesno (option, value, "gfx_fullscreen_picasso", &p->gfx_pfullscreen)
 	|| cfgfile_yesno (option, value, "ntsc", &p->ntscmode)
 	|| cfgfile_yesno (option, value, "cpu_compatible", &p->cpu_compatible)
+	|| cfgfile_yesno (option, value, "use_calibrated_maincycle", &p->use_calibrated_maincycle)
 	|| cfgfile_yesno (option, value, "cpu_24bit_addressing", &p->address_space_24)
 	|| cfgfile_yesno (option, value, "autoconfig", &p->automount_uaedev)
 	|| cfgfile_yesno (option, value, "parallel_on_demand", &p->parallel_demand)
diff -r -P -u uae-0.8.11/src/include/options.h uae-0.8.11-1/src/include/options.h
--- uae-0.8.11/src/include/options.h	Wed Jul  5 16:39:24 2000
+++ uae-0.8.11-1/src/include/options.h	Tue Jul  4 20:53:56 2000
@@ -87,6 +87,8 @@
     int cpu_compatible;
     int address_space_24;
 
+    int use_calibrated_maincycle;
+
     uae_u32 z3fastmem_size;
     uae_u32 fastmem_size;
     uae_u32 chipmem_size;
diff -r -P -u uae-0.8.11/src/newcpu.c uae-0.8.11-1/src/newcpu.c
--- uae-0.8.11/src/newcpu.c	Wed Jul  5 16:39:24 2000
+++ uae-0.8.11-1/src/newcpu.c	Tue Jul  4 22:44:39 2000
@@ -1189,7 +1189,7 @@
 
     /*n_spcinsns++;*/
     while (regs.spcflags & SPCFLAG_BLTNASTY) {
-	do_cycles (4);
+	do_cycles_slow (4);
 	if (regs.spcflags & SPCFLAG_COPPER)
 	    do_copper ();
     }
@@ -1199,7 +1199,7 @@
 	Exception (9,last_trace_ad);
     }
     while (regs.spcflags & SPCFLAG_STOP) {
-	do_cycles (4);
+	do_cycles_slow (4);
 	if (regs.spcflags & SPCFLAG_COPPER)
 	    do_copper ();
 	if (regs.spcflags & (SPCFLAG_INT | SPCFLAG_DOINT)){
@@ -1234,6 +1234,20 @@
     return 0;
 }
 
+#if defined X86_ASSEMBLY
+STATIC_INLINE int m68k_call_opfunc(uae_u32 opcode) {
+	int cycles;
+	__asm__ __volatile__("\tcall *%%ebx"
+			     : "=&a" (cycles) : "b" (cpufunctbl[opcode]), "0" (opcode)
+			     : "%edx", "%ecx",
+			     "%esi", "%edi", "%ebp", "memory", "cc");
+	return cycles;
+}
+#else
+#define m68k_call_opfunc(opcode) (*cpufunctbl[opcode])(opcode)
+#endif
+
+
 /* It's really sad to have two almost identical functions for this, but we
    do it all for performance... :( */
 static void m68k_run_1 (void)
@@ -1255,14 +1269,7 @@
 #elif COUNT_INSTRS == 1
 	instrcount[opcode]++;
 #endif
-#if defined X86_ASSEMBLY
-	__asm__ __volatile__("\tcall *%%ebx"
-			     : "=&a" (cycles) : "b" (cpufunctbl[opcode]), "0" (opcode)
-			     : "%edx", "%ecx",
-			     "%esi", "%edi", "%ebp", "memory", "cc");
-#else
-	cycles = (*cpufunctbl[opcode])(opcode);
-#endif
+	cycles = m68k_call_opfunc(opcode);
 	/*n_insns++;*/
 	cycles &= cycles_mask;
 	cycles |= cycles_val;
@@ -1294,14 +1301,7 @@
 #elif COUNT_INSTRS == 1
 	instrcount[opcode]++;
 #endif
-#if defined X86_ASSEMBLY
-	__asm__ __volatile__("\tcall *%%ebx"
-			     : "=&a" (cycles) : "b" (cpufunctbl[opcode]), "0" (opcode)
-			     : "%edx", "%ecx",
-			     "%esi", "%edi", "%ebp", "memory", "cc");
-#else
-	cycles = (*cpufunctbl[opcode])(opcode);
-#endif
+	cycles = m68k_call_opfunc(opcode);
 	/*n_insns++;*/
 	cycles &= cycles_mask;
 	cycles |= cycles_val;
@@ -1313,6 +1313,46 @@
     }
 }
 
+
+/*  Faster implementation of the above functions.
+ *  You have to calibrate this piece of code in relation of your computer speed.
+ *
+ *  NOTICE:
+ *  This function depends on the presence of the -funroll-loops flag when compiling.
+ *
+ *  2000-7-3 Fabio Alemagna
+ */
+
+#define m68k_consecutive_opcodes 4
+#define cycles_to_do 2
+
+static void m68k_run_3 (void)
+{
+    for (;;) {
+		uae_u32 opcode;
+		int i;
+		
+		for (i=m68k_consecutive_opcodes; i>1; i-=1){
+			opcode = get_iword (0);
+			(void) m68k_call_opfunc(opcode);
+			if (regs.spcflags) {
+				if (do_specialties ())
+					return;
+			}
+		}
+		opcode = get_iword (0);
+		(void) m68k_call_opfunc(opcode);
+			
+		if (cycles_to_do == 1) do_cycles_fast();
+		else do_cycles_slow(cycles_to_do);
+			
+		if (regs.spcflags) {
+		    if (do_specialties ())
+				return;
+		}
+	}
+}
+
 #ifdef X86_ASSEMBLY
 STATIC_INLINE void m68k_run1 (void (*func)(void))
 {
@@ -1348,7 +1388,10 @@
 	}
 	if (debugging)
 	    debug ();
-	m68k_run1 (currprefs.cpu_compatible ? m68k_run_1 : m68k_run_2);
+	if (currprefs.use_calibrated_maincycle)
+		m68k_run1(m68k_run_3);
+	else
+		m68k_run1 (currprefs.cpu_compatible ? m68k_run_1 : m68k_run_2);
     }
     in_m68k_go--;
 }
=====================CUT HERE=======================

 patch -p1 < nomefilepatch
Argh! Ecco una cosa importante che ho dimenticato! La patch va applicata
alla versione 0.8.11 di UAE... forse può andare anche con la 0.8.12, non
ne sono sicuro, e peggio ancora non sono sicuro se funziona con le
precedenti.
Ciao,
Fabio Alemagna
PS:
Sono graditi eventuali commenti :)

alla 2.95.X sconsiglio di andare oltre -O3.
Sicuro? Io ho messo -O6; ho 256Mb di ram, nulla di male?
--
Giuseppe Gigante

 Sicuro? Io ho messo -O6; ho 256Mb di ram, nulla di male?
Be', le versioni precedenti (l'egcs, in pratica) oltre ad avere vari
pericolosi bugs, anzichè ottimizzare, a quel livello dis-ottimizzano :)
Ciao,
Fabio Alemagna

alla versione 0.8.11 di UAE... forse può andare anche con la 0.8.12, non
Perchè la 0.8.12 è uscita? :-?
Che offre di nuovo?
--
Giuseppe Gigante

pericolosi bugs, anzichè ottimizzare, a quel livello dis-ottimizzano :)
Ah. Io uso il gcc compreso nell'ultima OpenLinux Caldera. Non dovrebbe
crearmi rogne.
--
--
Giuseppe Gigante

 Si, un vecchio giochino in OCS...lo uso come passatempo.
Be', quello continua ad usarlo con la vecchia versione :)
Ciao,
Fabio Alemagna

 Che offre di nuovo?
Solo qualche bug risolto, niente di più. Anzi, per alcune cose è più
lento.
Comuque trovi tutto qui: 
ftp://ftp.freiburg.linux.de/pub/uae/
Per inciso la patch funziona anche con la versione 0.8.12.
Ciao,
Fabio Alemagna

Ma su un misero pentium 200 questa patch migliora qualcosa?
                         Maurizio
-- 

 Ma su un misero pentium 200 questa patch migliora qualcosa?
Potrebbe, non so. Devi provare per saperlo.
Ciao,
Fabio Alemagna

Per inciso la patch funziona anche con la versione 0.8.12.
Vedi su.
---
Giuseppe Gigante

Be', quello continua ad usarlo con la vecchia versione :)
Se emulo un EC020 FPU, va. 020 Full, no. Mah!
Eppure su 040 fila. Quasi quasi proverò a promuoverlo a CGX!
--
Giuseppe Gigante

 Ma su un misero pentium 200 questa patch migliora qualcosa?
Credo proprio che i valori giusti siano quelli per il PII@350, 4 a 1.
Comunque, qualche vantaggio si dovrebbe averlo, perchè passando dal K6@233
(che ha una FPU paragonabile ad un P100), al P!!!, il vantaggio in velocità
è stato minimo, impercettibile (Trauma Zero, per darti un'idea di un gioco,
scatta inesorabilmente, mentre continuo ad avere rogne nel tentativo di far
andare AmIRC, che manda in stallo UAE, e fa crashare Windows in WinUAE).
La miglioria l'ho avvertita sul Workbench, come risposta dei software
(WordWorth 4 SE non s'avvia dopo tre anni), e come refresh. Naturlamente,
con i vecchi giochini in adf, specie se pirarati in malo modo, o con intro
"sporche", la modifica di Alemagna è un incentivo al non funzionamento.
Cmq, dipende da che UAE usi. Io la modifica l'ho fatta sulla versione Linux,
perchè posso mountare senza problemi le Zip formattate in FFS, e gestirle
senza problemi. Mounto anche hdd, un Conner da 850Mb, che uso come "navetta"
tra Amiga e il PiCi, cosa che WinUae non mi permette (su Linux ho il kernel
col supporto FFS, mi basta creare un punto di montaggio, o dare un bem mount
ed il gioco è fatto).
Non l'ho messa su WinUAE, e quindi non ti so dire.
--
Giuseppe Gigante

 "sporche", la modifica di Alemagna è un incentivo al non funzionamento.
Vedi sopra.
Ciao,
Fabio Alemagna

 comodo per me.
Te l'ho detto, mi pare fosse 6:2, ma non ne sono sicuro. Comunque non
vedo il problema: quando la scoprirai te ne accorgerai :)
Ciao,
Fabio Alemagna

Vedi sopra.
Per me è un'offesa alla piattaforma usare UAE solo per giocare a qualche
giochino...cosa volete da me, ma sono convnto che se UAE è strutturato così
male, è solo per mantenere la piena compatibilità  con i giochi "sporchi", e
non per fornire un sistema emulato abbastanza affidabile.
--
--
Giuseppe Gigante

 non per fornire un sistema emulato abbastanza affidabile.
uhmmm.... non dovrei dirlo, anche se l'ho detto un sacco di altre volte,
ma sto (stavo?) lavorando ad un emulatore di Amiga pure io... Ora i
lavori sono fermi da parecchio, ma per quello che fa, ed è abbastanza, è
molto, ma molto più veloce di UAE. Diciamo anche fino a 5 volte più
veloce.
Io l'ho buttata lì, se qualcuno è interessato al progetto, magari i
lavori possono riprendere, ora non ho il tempo ne la testa di continuare
a cimentarmi in una impresa del genere da solo :)
Avrei intenzione di rilasciare il SW sotto GPL...
Ciao,
Fabio Alemagna

Avrei intenzione di rilasciare il SW sotto GPL...
Purche` ne faccia anche una versione DOS/Win...
Sarebbe interessante (anche se probably poco compatibile) implementare una
riscrittura/simulazione del Kickstart, tipo come fanno Bleem e VGS con la
PSX, in modo da:
1) non violare i diritti perche` trattasi di codice nuovo e non sotto
copyright
2) non costringere gli utenti ad avere un Amiga/comprare Amiga
Forever/agire illegalmente.
-- 
 $B%^%C%7!!%+%G%s%F%# (J - (Massi cadenti)
Sito web: 
www.metalslug4lamers.com
 (andateci ^__^)
E-mail: massi.cadenti(at)
metalslug4lamers.com

 Forever/agire illegalmente.
Uhmmm... Per questo esiste già AROS, e di problemi legali ne ha già
abastanza :)
Comunque nessuno mi ha offerto aiuto, quindi per il momento non se ne fa
niente...
Saluti,
Fabio Alemagna

PSX, in modo da:
Ma tu sai con chi stai parlando? :D

Avrei intenzione di rilasciare il SW sotto GPL...
Fallo!
--
--
Giuseppe Gigante

 In che fase è? Ci posso lanciare il Workbench?
In una fase mooolto embrionale. diciamo che è emulato quasi tutto il
chipset, ma il processor ancora no. Stvo lavorando ad una mia emulazione
per il 68000 (ne parlai qualche tempo fa su ATML), ma non ho avuto il
tempo di continuarlo. 
Per adesso non è utilizzabile, ci posso fare solo dei bench :)
Se però qualcuno mi desse una mano... :)
Saluti,
Fabio Alemagna

niente...
Io,nel mio piccolo, non credo di poterti essere molto d'aiuto (tranne per il
porting in Win9X :) )
Bow-wow
Killer

 porting in Win9X :) )
Allora non se ne fa niente :))
Ciao,
Fabio Alemagna

 porting in Win9X :) )
Potrebbe essere un buon inizio, anche se prediligo Linux. La feature di
montare le mie partizioni FFS è comodissima.
--
Giuseppe Gigante

 Ma tu sai con chi stai parlando? :D
Con un programmatore.
--
Giuseppe Gigante

Se però qualcuno mi desse una mano... :)
Magari...
--
Giuseppe Gigante

 Con un programmatore.
cough cough :) Non sarei io a doverlo dire, ma forse GoTrax si riferiva
ad un'altra cosa... Non specific cosa però :)
Ciao,
Fabio Alemagna

 Magari...
Ora come ora ho iniziato un piccolo progettino... sto scrivendo un
driver AHI per l'emulazione della scheda sonora sotto UAE. Ho cominciato
stamane e sono già a buon punto: non è così difficile, tutto sommato :)
Ciao,
Fabio Alemagna

 pedissequa.
Per me sarebbe buono un'emulatore di Amiga anche senza supporto del chipset ma
con il minimo indispensabile per fargli aprire uno schermo CGX/P96. Non sono
interessato ai giochini... per quelli c'e' UAE, eventualmente. A me interessa
poter usare il Workbench e i programmi che uso abitualmente, tipo Yam, IBrowse
e altri. Sarebbe un'interessante alternativa ad UAE.
-- 
Ciao!
     Mule` Antonio         ICQ: 16738896  Nick: Yanosh
-- 
Cerchi il manuale o i dischi di installazione di hardware usato per Amiga? 
Li trovi su: 
http://www.L8R.net/install/index.html
-- 
<tsb>AmiWorld - #
http://amiga.eden.it#
<tsb>God's in his heaven, allright with the world

    Some people read tea leaves
UIN/ICQ# 7387142                             to  predict the  future. We
                                             prefer hamburgers.
                                                        -The Economist

ad un'altra cosa... Non specific cosa però :)
*nod*nod*
^_^;

 stamane e sono già a buon punto: non è così difficile, tutto sommato :)
Questo e' molto interessante. :-) Funzionerebbe su UAE con l'audio
disabilitato, visto che verrebbe usata la scheda sonora del peecee in modo
diretto? Quando potrebbe essere pronto?


 Si potrebbe fare un emulatore di Draco! Non sarebbe un'idea malaccio, no?
Piu' o meno e' quello che intendevo io. :-) Comunque, anche il DraCo e' un'
emulatore di Amiga senza chip custom. ;-))


 Quando potrebbe essere pronto?
Mah, non ti so dire con esattezza, meglio non dare date  :)
Sono a buon punto, comunque :)
Ciao,
Fabio Alemagna

 Sono a buon punto, comunque :)
Ottimo. :-)


 possibile farlo funzionare ugualmente?
Solo uaesound, credo :)
 
Ciao,
Fabio Alemagna

non per fornire un sistema emulato abbastanza affidabile.
Pero' il primo Shadow of the Beast non funziona:(
--
Mario Ciampa - ICQ UIN 9601776 - Nick: MCMXC
A1200PPC 603e/200 - PIII/500 DVD
Autore della fanfic "Il misterioso segreto di Sailor Moon"
Pubblicata su 
http://members.xoom.it/mcmxc/index.html

 Pero' il primo Shadow of the Beast non funziona:(
Sei sicuro?
A me risulta che funziona... ma con il WinUae 0.8.6 R6
Bow-wow
Killer (ma chi cacchio e'?)

 stamane e sono già a buon punto: non è così difficile, tutto sommato :)
E' già qualcosa.
Serve un betatester? Vorresti presentare il tuo progetto con due righe?
--
--
Giuseppe Gigante

 Vorresti presentare il tuo progetto con due righe?
uhmmm... in che senso, scusa? :)
Ciao,
Fabio Alemagna

A me risulta che funziona... ma con il WinUae 0.8.6 R6
Io ho la 0.8.8 R8...


 Io ho la 0.8.8 R8...
Forse per quello...
Provo e poi ti faccio sapere (magari in mail)
Bow-wow
Killer

 Io ho la 0.8.8 R8...
Io anche..
Ciao
Andrea Taglietti



Nel modo più semplice: ha i cia :)
 Non sono sicuro che il DraCO abbia "propriamente" i CIA, nel senso
hardware (gli stessi o dei cloni), ma neppure nel senso di
un'implementazione completa ("annegata" nell'elettronica della
scheda-madre). Sappiamo che le locazioni $bfe... forniscono i giusti
risultati e che i segnali necessari al SO ci sono, ma non so se sia
possibile programmarli a basso livello (senza passare dal SO che sia
appoggia alla/e cia/b.resource).
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...Ea enim elatio, si iustitia vacat pugnatque, in vitio est/

 appoggia alla/e cia/b.resource).
Quello che è importante dei CIA sono i due timers ed i relativi
interrupts. Senza queli l'amiga non "vive". Ed i timers vanno
programmati.
Ciao,
Fabio Alemagna

Hai provato a settare il flag 'slow but more compatible' sotto il tab CPU ?
Yes! Ci deve essere altro che non va...com'e' il resto della tua
config?


Provo e poi ti faccio sapere (magari in mail)
Grazie!:)


 Il DraCo come aveva risolto il problema?
Ha effettivamente gran parte della CIAA (i modelli piu' recenti anche della
CIAB) e di INTENA, INTREQ, INTENAR e INTREQR emulati in hardware: queste
componenti vengono usate da exec molto prima che sia possibile intervenire per
impedirglielo -- in pratica exec gira correttamente su qualcunque cosa che
abbia un 680x0 e ram a partire dall'indirizzo 0, una CIA e i 4 registri di
controllo degli interrupt -- da quel punto in poi si potrebbe fargli trovare,
direttamente nella rom i moduli residenti per controllare altre periferiche...

 eseguire programmi amiga...
"Caro" chrys, ti ringrazio per il maniaco e, perchč no, anche per il
depresso. Ho risparmiato i soldi dello psichiatra. Non č che mi
prescriveresti anche qualche cura? Grazie.
Saluti,
Fabio Alemagna

 prescriveresti anche qualche cura? Grazie.
E' piu' che ovvio che UAE sta prendendo una strada assurda e insensata: come
mai non c'e' un emulatore di C64 che emula un 65816, uno schermo a 80 colonne
ed un hard disk (benche' tutte queste periferiche esistano, e qualcuno sia
persino arrivato ad usarle)? Perche' non serve a nulla: quel poco in piu' che
ti da l'emulazione di queste cose te lo fornisce migliore e piu' veloce
l'ambiente che ospita l'emulatore. Il medesimo discorso vale per un UAE con
68040, Picasso 96 e AHI: cosa ci fai girare sopra? AmigaWriter? FinalWriter?
Voyager? Heretic II?

 Voyager? Heretic II?
E perchè no? C'è gente che lo usa con Yam, con Amirc... Se l'emulazione
dela CPU fosse più veloce potrebbe benissimo essere un SOSTITUTO del
sistema ospite. E' questo quello a cui si sta arrivando. Ma più che
altro è una sfida con se stessi, come quando uno scrive delle demo (non
quelle dei programmi commerciali). Ma anche quelli devono essere dei
maniaci depressi...
Ah, per non parlare poi di Chys(tian) Bauer, che con un emulatore ci ha
fatto i soldi...
Ma dico: SONO CAZZI TUOI SE UNO VUOLE FARE UN PROGRAMMA CHE PER TE E'
INUTILE? Prima di dare del maniaco depresso al primo che passa, rifletti
bene, forse faresti meglio a stare zitto. 
Ah, hai dimenticato di prescrivermi la cura...
Saluti,
Fabio Alemagna

 bene, forse faresti meglio a stare zitto. 
Una risposta cosi' non puo' che confermare che non c'e' alcun supporto
razionale a quanto stai facendo se non una pulsione maniacale. Sei libero di
continuare... non sono certo io che vengo a fermarti... Non ti piace la mia
opinione? Pazienza.

 opinione? Pazienza.
La tua opinione è oltremodo offensiva ed irrazionale. Rasenta quasi il
razzismo, oserei dire. Noi, poveri reietti sconsolati e maniaco depressi
programamtori di emulatori. 
Saluti,
Fabio Alemagna, il maniaco depresso.

"Caro" chrys, ti ringrazio per il maniaco e....
 Non credo proprio si stesse riferendo a te, ma agli sviluppatori che
stanno dietro UAE.
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...nostris animus augetur/

Nel Duemila del Signore, Fabio Alemagna, aveva scritto:
FA>Per quanto mi riguarda, scrivere emulatori è una delle cose...
 Ma quali (e quanti) emulatori hai scritto ?
 Ti rispondo io ? *ZERO* .
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...un uomo solo al comando, la sua maglia è bianco-celeste/

 stanno dietro UAE.
E tra i quali ci sono anche io.... 
Saluti,
Fabio Alemagna

  Ti rispondo io ? *ZERO* .
Se non sai non parlare, per piacere....
Saluti,
Fabio Alemagna

E tra i quali ci sono anche io....
 Ma non farmi ridere. Una volta ti avrei definito un "lamer" (e non c'è
nulla di male) , adesso non saprei...visto che non fai che gloriarti
di meriti che non hai.
 Ah, aspettiamo tutti con ansia il tuo lavoro con AHI su UAE (che non
arriverà mai).
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...ceterum censeo, delenda est Carthago/

Se non sai non parlare, per piacere....
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 :-?
 Vedo comunque che non rispondi. Quanti emulatori hai scritto, Alemagna ?
 Lo vogliamo dire al grande pubblico di ICOA ?
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...decima flottiglia MAS/

 arriverà mai).
Pensala come vuoi, i fatti parleranno da soli.
Saluti,
Fabio Alemagna

  Lo vogliamo dire al grande pubblico di ICOA ?
Il oubblico di ICOA sa di cosa parlavo, dato che l'ho detto un centinaio
di volte. Se vuoi ti faccio vedee i sorgenti, magari m dai una mano,
ammesso che tu ne sia capace...
E FINISCILA una volta per tutte con questi puerili attacchi personali.
Sei entrato in una discussione con il solo scopo di sputtanarmi, senza
neanche badare al discorso che si stava facendo. Sei solo un mocciosetto
senza speranze.
Saluti,
Fabio Alemagna

 stanno dietro UAE.
Gia' ma c'e' gente che deve sentirsi chiamata in causa sempre e comunque...
Poi avevo anche scritto il tutto fra <RANT> e </RANT> evidenziando che era uno
sfogo a meta' tra il serio e l'ironico... 

 programamtori di emulatori. 
Tu sei offensivo e volgare... Non ho nulla contro chi programma EMULATORI,
anzi, scrivere emulatori e' una attivita' complessa ed interessante, che
richiede grande abilita' nella programmazione del sistema emulante unita ad
una profonda conoscenza del sistema emulato (o una grande dedizione per
trovare le informazioni necessarie -- cosa spesso difficile) -- ma solo con la
strada CHE STA PRENDENDO UAE, una strada che vuole stravolgerne la natura di
emulatore di Amiga per farne una specie di rifugio per ex amighisti. 

 personale e per premiare la dedizione di Bauer, 
Personalmente ho comprato ShapeShifter solo perche' su mac potevo vedere i
filmati Quicktime in modo quasi decente anche con il solo AGA mentre su Amiga
c'era solo QT e CyberQT. Da quando mi sono registrato a MooVid non ho piu'
avuto necessita' di usare ShapeShifter, tant'e' che ho cancellato la sua
partizione. 
-- 
Ciao!
     Mule` Antonio         ICQ: 16738896  Nick: Yanosh
-- 
Cerchi il manuale o i dischi di installazione di hardware usato per Amiga? 
Li trovi su: 
http://www.L8R.net/install/index.html
-- 
<tsb>AmiWorld - #
http://amiga.eden.it#
<tsb>God's in his heaven, allright with the world

 emulatore di Amiga per farne una specie di rifugio per ex amighisti.
Una tua opinione, una RISPETTABILISSIMA opinione, ma č un'opinione ed in
quanto tale puň essere non condivisa, e chi non la condivide NON E' un
maniaco depresso. Spero che questo sia chiaro.
Saluti,
Fabio Alemagna

punto
Sigh! YAM su WC sarebbe il bello dei miei sogni!!!!!!!!


emulare una specie di DraCo...
Io invece trovo che sia uno sforzo utile e apprezzabile. UAE permette di
utilizzare AmigaOS praticamente ovunque... io l'ho messo sul portatile e
funziona benissimo, e soprattutto mi ha eliminato un bel limite.
--
Giorgio Signori of Softwave Development \ ->   
http://www.yure.go.to
  \
Amiga.it -Italian Amiga&LinuxPPC magazine\ -> 
http://www.skylink.it/ear\

 funziona benissimo, e soprattutto mi ha eliminato un bel limite.
Allora perche' non un vero emulatore di draco? Intendo un emulatore di 680x0
non preciso al ciclo ma inteso ad emulare ogni singola istruzione nella
maniera piu' efficiente possibile, accoppiato ad una emulazione hardware
minimale (solo CIA e registri di controllo degli interrupts -- il minimo per
far partire exec). Sarebbe molto piu' semplice da scrivere rispetto ad un
intero amiga e non essendo costretto a rispettare le temporizzazioni in
maniera rigorosa sarebbe anche molto piu' veloce...
Tutte le devices (dischi, seriali, parallele, video e audio) offerti tramite
devices, picasso/cybergfx e ahi...

 Sigh! YAM su WC sarebbe il bello dei miei sogni!!!!!!!!
YAM e CED... Se mai saro' costretto ad usare un PC (perche' prima o poi
l'amiga 4000 cadra' in briciole, ed dubito che il prodotto di Amiga, Inc sara'
il degno sostituto) dovro' scrivere una versione almeno di YAM... Ci ho
provato su unix ma non sono andato molto avanti (e SICURAMENTE non sara' unix
che sostituira' il mio amiga...) in effetti non sono molto motivato: finche'
la "cosa vera" funziona...

 devices, picasso/cybergfx e ahi...
Si può fare comunque e lo si sta facendo.
Saluti,
Fabio Alemagna

 uhmmm... in che senso, scusa? :)
Presentare con due righe di testo  il tuo progetto! :-)
--
--
Giuseppe Gigante

devices, picasso/cybergfx e ahi...
In realtà UAE, con p96, disattivando seriali e parallele,  e con massima
potenza di emulazione CPU (e OCS come base) non è molto distante da tutto ciò
(ci manca davvero solo un driver AHI), e permette comunque in ogni momento di
essere usato anche per il vecchio software. UAE ha salvato moltissimi dei
vecchi giochi e del vecchio software che sul 1200 040 PPC non andava.


 vecchi giochi e del vecchio software che sul 1200 040 PPC non andava.
Da quello che ho sentito dire (non ho mai usato UAE, dopo le prime esperienze
sui 486, quando era appena usabile...) e' decisamente piu' lento di un 4000,
ed e' limitato dalla sincronizzazione tra 680x0 e chipset -- mi pare infatti
che Alemagna abbia rilasciato una patch che "allenta" questa sincronizzazione
velocizzando l'esecuzione di codice non correlato all'hardware... E' facile
prevedere che con una emulazione di CPU non cyle-accurate gli incrementi di
velocita' possano essere in effetti notevoli (tenendo anche presente che il PC
medio e' ormai ad almeno 500 MHz)...

 sarà più bisogno di emulare.
Appunto, a maggior ragione una scrittura razionalizzata che emuli il minimo
indispensabile e senza essere troppo paranoica con i timings sarebbe piu'
veloce, senza contare probabilmente piu' facile che adattare il codice
esistente che a quanto so (poco), esiste intorno all'emulazione del
chipset...

Voyager? Heretic II?
UAE (come pure Fellow) emulano *Amiga*.
Per *Amiga* si intende TUTTA la gamma Amiga, e non solo i modelli 500 o il
1200. Dai modelli della fu-Commodore a quelli di Amiga Inc..
Non vedo dove sia il problema.
Eppure anche il Mac emula il PC, e l'Amiga 500 a suo tempo ha emulato
egregiamente PC e Atari ST. E inoltre penso che con gli odierni processori
basati su PowerPC (che ricordo NON sono emulati) non dovrebbero esserci
problemi ad emulare Winbaco9x sotto VirtualPC.
La velocita` non la conosco, ma se anche fosse lento, anche certi giochi
sotto MAME lo sono, ma nessuno si sogna di lamentarsene (oddio, forse con
VirtualPC si avrebbe ragione a lamentarsi visto che _si_paga_, mentre il
MAME e` gratis...).
Concludendo, mi dispiace, ma non concordo neanche un poco con quello che
hai scritto. Pazienza.
-- 
マッシ　カデンティ - (Massi cadenti)
Sito web: 
www.metalslug4lamers.com
 (andateci ^__^)
E-mail: massi.cadenti(at)
metalslug4lamers.com
Now listening: Concerto di Mendelssohn per violino e orch. op.64

opinione? Pazienza.
Tutti i programmi non commerciali in origine sono utili solo a chi li ha
creati. Se scrivo qualcosa (qualsiasi cosa, anche non un sw, ma una musica,
un testo, un libro, un romanzo, una poesia ecc., purche` non parta con
l'idea di ricavarci qualcosa) non me ne frega niente che sia utile agli
altri, la scrivo per me. Se e` utile anche agli altri, tanto meglio. E non
continuo che andrei ancora + OT. E me ne trattengo veramente a stento,
credimi.


emulatore di Amiga per farne una specie di rifugio per ex amighisti. 
Rifugio per ex amighisti?
E che ci sarebbe di male in tutto cio`? Paura che gli amighisti attratti
dalla possibilita` di usare UAE buttino via l'Amiga?
Sono fermamente convinto che chi ha seguito Amiga negli ultimi anni (a
livello hw, intendo) non se ne freghi nulla di avercelo emulato. Tutt'al
piu` per curiosita` personale, per vedere l'emulatore "fin dove arriva" e
basta.
Invece chi ha seguito fino al 500 o al 1200, non se ne frega poi molto di
emulare gli Amiga attuali, fidati...
E dimentichi che UAE permette ad un Amiga di ultima generazione di emulare
un Amiga di vecchia generazione. Certo non e` ancora perfetto, ma quanti
emulatori al giorno d'oggi possono definirsi perfetti? Non molti, specie
per macchine cosi` complesse come Amiga e` molto, ma molto difficile.
E onore e gloria a chi ci prova (anche senza riuscirci).
P.S. Fabio, adesso non ti esaltare... ricorda: non e` che ho dato ragione a
te, ho dato torto a Chris, ma semplicemente perche` non concordo con quello
che ha detto...


 che ha detto...
E chi si esalta... io resto della mia idea. Non ci sarebbe stato nulla
di male se Chrys avesse detto le stesse cose che ha detto senza dare del
MANIACO DEPRESSO a me e a chi come me lavora a questo progetto.
Saluti,
Fabio Alemagna

PC medio e' ormai ad almeno 500 MHz)...
Allora ti consiglio di provarlo. Qui da me, su un AMD a 333Mhz va ben più
veloce di un 4000 base, all'incirca come un 3000 con scheda grafica... il
feeling è davvero ottimo.


 feeling č davvero ottimo.
Strano... C'e' gente che dice che su un P!!! 600 va come un 1200...

 Strano... C'e' gente che dice che su un P!!! 600 va come un 1200...
Evidentemente č gente che
1) non sa come configurarlo
2) non l'ha mai usato
Su un PIII@600 č *VELOCE*, soprattutto con la mia patch
Saluti,
Fabio Alemagna

Strano... C'e' gente che dice che su un P!!! 600 va come un 1200...
Evidentemente non l'hanno provato a fondo, credo.
A meno che non intendano avere l'AGA emulato al 100%, emulazione audio
perfetta e ad altissima frequenza, non usare il P96 etc etc...
Ma all'utente Amiga "serio" non serve l'AGA quando si ha il P96, nè l'audio a
44Khz... io ho avuto un Amiga 020 14Mhz con FastRam per anni, sfruttato in
ogni singolo mhz, e posso dirti con certezza che nell'uso da WB UAE sul 333Mhz
è molto più veloce di diverse misure, idem per le applicazioni che usano il
processore, con la "piccola" differenza che sullo 020 AGA il WB era ultralento
in 64 colori a 640x512 interlacciati, mentre su UAE schizza a 64mila colori.


credimi.
Snifff...  qualcuno   che  crede  ancora  nel   valore  artistico  della
programmazione :))
Si,  e`  vero. Se  scrivo  un  programma per  non  lucrarci  sopra o  su
commissione, al 99% lo rendo GPL. Anche perche` se serve a qualcun altro
non vedo perche`  gli debba proibire di usarlo. O  di adattarlo alla sua
situazione.
-- 
The Hitman - 
http://members.xoom.it/hitman/
    / Fan #2 di Mexico '86
e-posta : sonicblast (at) 
tiscalinet.it
        / Fan #1 di SFPWX (SNES)
Song of the week: "Brave New World" Iron Maiden/ CoEsperto  di ICSE dei
            Gli iron son tornati, e sul serio  / Beat'em'Up SNK/NeoGeo

 Su un PIII@600 è *VELOCE*, soprattutto con la mia patch
Cosa fa esattamente la tua patch? E' una qualche modifica intel-related (tipo
ottimizzazione in assembler, schedulazione) oppure qualcos'altro di piu'
portabile?

 al minimo.
La differenza e' che il UAE e' stato disegnato per accoppiare i cicli del
680x0 con il cicli del chipset in modo da emulare le interazioni tra 680x0 e
ECS... Eliminando queste operazioni (inutili, visto che poi si usa P96 e AHI)
si semplifica notevolmente il codice e si migliorano le prestazioni...

 in 64 colori a 640x512 interlacciati, mentre su UAE schizza a 64mila
colori.
Come risoluzione grafica è nettamente surperiore ad un AGA, ma non come
potenza.
Certo, io l'EC020 l'ho usato troppo poco (neppure 5 giorni, poi mi presi la
030), e per me UAE è solo un pezzo di spunto in grafica, e un pianto nel
resto.
--
--
Giuseppe Gigante

 portabile?
Qualcosa di portabilissimo, non fa altro che eliminare gran parte
dell'overhead che c'è nel ciclo principale dell'emulatore.
Ciao,
Fabio Alemagna

 emulatore di Amiga per farne una specie di rifugio per ex amighisti.
E che cosa c'e' di male, se a te non piace non usarlo, poi gli altri
che lo vogliono usare lo usano. Mi pare sia una liberta' di base. Cosi'
come un programmatore che programma la quindicimilionesima versione
inutile di Tetris o Solitaire ha tutti i diritti di farlo.
Luca
------
To reply remove "nojunk" from 
gdi...@hpu.nojunk.edu
http://www.geocities.com/SouthBeach/Canal/3184
 (Under Construction)
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 Sigh! YAM su WC sarebbe il bello dei miei sogni!!!!!!!!
A chi lo dici, butterei subito OE fuori dal.. windows.


 il degno sostituto)
dubito...dubito... intanto non hai ancora visto una pera e nemmeno una
linea di codice e tantomeno il disegno di una finestra. Vorrei sapere
da dove vengono tutti questi dubbi. No, non rispondermi, in realta' non
mi interessa saperlo.


 mi interessa saperlo.
E' meraviglioso: appena un messaggio fa' ti battevi per la liberta' di
qualcuno di usare uae, di scrivere un emulatore come lo vuole, etc... etc...
Pero' la liberta' di decidere che il prodotto di Amiga Inc, non sara' un degno
sostituto del mio Amiga 4000, io non la merito, vero?
Non ho visto nulla? Si, in effetti il SDK non e' praticamente nulla... Ma e'
quello che ci e' dato vedere: una JVM -  incompleta, e assolutamente NON
velocissima come era stata publicizzata; un compilatore C che genera VP - che
e' lo stesso gnu C che posso usare su qualunque altro sistema operativo; una
specie di Macro-Assembler - che dovrebbe essere il modo consigliato di
programmare il sistema, in un'epoca in cui tutti cercano i di programmare al
livello piu' alto possibile; una interfaccia grafica che a livello di
funzionalita' e estetica avrebbe da imparare anche da Windows 3.1
Questo e' quello che offre amiga, inc.
Il tutto accoppiato ad una ditta che vanta partnership con chiunque gli venda
anche solo un foglio di carta; che dichiara pubblicamente che la memoria
virtuale e' una cosa inutile (anzi dannosa!), per poi ritrattare con una
dichiarazione esattamente opposta ad un paio di mesi di distanza; che offre ai
suoi beta tester (beta tester a PAGAMENTO) un agreement assurdo e vergognoso,
e poi lo cancella con un messaggio semiufficiale dichiarando che si e'
trattato di "un errore legale"...
No, non e' la mia idea di sostituto del mio A4000, ma evidentemente non ho il
diritto di deciderlo...

qualcuno di usare uae, di scrivere un emulatore come lo vuole, etc... etc..
[.....]
 Bravo Chris ! Con questo messaggio ti sei guadagnato il mio "K" , fra i
flag di Thor ! :)
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...c'è chi parte con un raga della sera e finisce per cantare la Paloma/

 flag di Thor ! :)
Grazie. Cosi' mi risparmiero' le tue risposte ai miei messaggi.
La verita' sul SDK che tanto adorate vi offende a tale punto?

La verita' sul SDK che tanto adorate vi offende a tale punto?
 Mi sa che hai sbagliato persona ! :-)
Saluti.
--
    _
 Fa/_)io         - Amiga Group Italia -
  /__)enedetti   
http://www.amyresource.it/AGI/
/...mi ritornu in cantari/

  Mi sa che hai sbagliato persona ! :-)
Si, infatti ero sicuro di aver risposto a luca diana...

 La verita' sul SDK che tanto adorate vi offende a tale punto?
Ma quale verità, scusa? :)) 
Saluti,
Fabio Alemagna

 si semplifica notevolmente il codice e si migliorano le prestazioni...
L'avrò spiegato un migliaio di volte ma evidentmente fai finta di non
capire. Puoi eliminare TUTTO l'HW dall'emulazione, tutto tranne un
piccoo particolare: I CIA e gli interrupt. Detto questo 
1) O mi trovi un sistema per emulare i CIA che non costringa a
sincronizzarli con l'emulazione della CPU
2) O usi la sincronizzazione
Per il punto (1) non c'è alcun sistema "pulito" per farlo. 
Saluti,
Fabio Alemagna