Disponibili i nuovi report del mese di agosto sui progressi raggiunti dall’emulatore RPCS3

Disponibile il nuovo report sui progressi raggiunti dall’emulatore RPCS3 nel mese di agosto. RPCS3 ad oggi è l’unico programma che ci permette di emulare gran parte dei titoli commerciali della console PlayStation 3 su PC Windows e Linux.

Un mese ricco di modifiche e correzioni che ha visto eladash, Nekotekina e kd-11 darci dentro con le richieste di pull. Se pensavi che luglio fosse un mese importante per RPCS3, preparati per questo nuovo rapporto sui progressi.

Da solo il developer eladash ha contribuito con ben 20 richieste di pull mentre si prefiggeva l’obiettivo di riunire tutto il suo lavoro in RPCS3 prima dell’inizio del suo servizio di coscrizione.

Non volendo essere da meno, Nekotekina e kd-11 fecero anche una dozzina di richieste pull ciascuna migliorando le varie parti dell’emulatore.

Oltre al seguente rapporto, ulteriori dettagli sul lavoro di Nekotekina e kd-11 per il mese di luglio e sui contributi futuri possono essere trovati nei loro report settimanali sul Patreon.

Sommario

In agosto ci sono stati cambiamenti abbastanza importanti nel modo in cui i giochi vengono conteggiati nelle statistiche di compatibilità con tutti i giochi multiplayer online nella categoria Introduzione e di seguito esclusi.

Tutto questo è stato fatto per rappresentare al meglio lo stato di avanzamento dell’emulatore, e anche perché questi titoli non hanno più accesso ai server, in quanto sono stati spenti da tempo.

Pertanto, anche se RPCS3 diventasse completo al 100%, questi giochi non funzioneranno a meno che qualcuno non installi un server privato ed emuli accuratamente il server originale.

Questi titoli sono ancora presenti nell’elenco di compatibilità e sono rappresentati con un simbolo di un fulmine accanto al loro titolo. Mentre verranno comunque visualizzati in tutte le query di ricerca, non saranno più inclusi all’interno delle statistiche per mostrare un quadro più accurato dello sviluppo di RPCS3.

Passando ai miglioramenti effettivi, i nostri tester hanno finalmente colto il rallentamento degli ultimi mesi e hanno ampiamente testato la categoria Ingame che ha dato alla categoria Giocabili il più grande aumento dell’anno.

Ogni altra categoria ha visto grandi riduzioni con Ingame che ha perso 88 partite e Intro e Loadable che hanno registrato una delle loro più grandi cadute nelle percentuali, rispettivamente del 17% e del 20%.

Compiuto anche un grande sforzo per unire i titoli duplicati nell’elenco di compatibilità che ha favorito il calo di queste categorie.

Come menzionato nel rapporto sui progressi del mese precedente, la categoria Nothing è raddoppiata in 4 partite a causa di test errati, ma da allora questo problema è stato risolto riportando la categoria in soli 2 partite.

Sulle statistiche Git, sono state aggiunte 8536 righe di codice e 5418 rimosse attraverso 71 richieste pull da 15 autori. Per un aspetto più dettagliato, potrete visualizzare la pagina della cronologia per la compatibilità dei giochi che possono essere eseguiti su RPCS3.

Annunci importanti

VCRUNTIME140_1.dll mancante

Per gli utenti Windows, se si verifica un errore che indica che VCRUNTIME140_1.dll manca durante il tentativo di eseguire RPCS3, installare Visual C++ Runtime 2019.

Con il passaggio all’utilizzo di alcune funzionalità disponibili solo con gli strumenti di compilazione v142 in Visual Studio 2019, RPCS3 ora richiede il runtime di Visual c++ più recente.

Principali miglioramenti

Incremento della versione a 0.0.7 (#6446)

Alla luce di tutti i recenti miglioramenti apportati, RPCS3 ora viene aggiornato alla versione 0.0.7! Ciò è atteso da tempo considerando l’aumento della compatibilità e delle prestazioni visto da gennaio 2019.

Oltre ai miglioramenti apportati al core, abbiamo visto anche l’inclusione del supporto per gli accessori della PlayStation 3 e il controller DualShock 3, un’interfaccia della tastiera nativa su schermo, vari nuovi temi per l’interfaccia utente dell’emulatore e la possibilità di aumentare i frame cap utilizzando opzioni come la frequenza di Vblank e la scala degli orologi.

Miglioramenti apportati alla compatibilità rispetto al traguardo precedente

Sfortunatamente, il log delle modifiche completo non è ancora disponibile in quanto è un enorme sforzo per documentare poiché copre oltre 800 commit.

Tuttavia, gli utenti che desiderano conoscere tutti i miglioramenti apportati all’emulatore dalla versione 0.0.6 possono leggere i nostri rapporti mensili sui progressi a partire da febbraio 2019.

Alcuni miglioramenti selezionati sono stati descritti nella sezione Miglioramenti principali di ogni mese mentre l’elenco completo dei miglioramenti disponibile nella sezione Altri miglioramenti.

Nota che la versione contrassegnata su GitHub serve solo a segnare il traguardo. Si consiglia a tutti gli utenti di scaricare l’ ultima build principale dal nostro sito Web per ottenere tutti gli ultimi miglioramenti e vantaggi.

Miglioramenti apportati da eladash (#6286)

Chi segue RPCS3 conosce di certo eladash come uno sviluppatore che ha immensamente migliorato quasi ogni parte dell’emulatore, in particolare l’accuratezza e le prestazioni dell’emulazione PPU e SPU.

Grazie al suo lavoro, un gran numero di giochi è diventato compatibile con i ricompilatori PPL e SPU LLVM, le prestazioni su CPU non TSX sono notevolmente migliorate e i suoi contributi relativi ai contributi lv2 e MFC hanno notevolmente migliorato la stabilità del gioco.

Lo sviluppatore è anche noto per l’analisi dei problemi che affliggono i giochi presenti nelle categorie Caricabile e Intro e per aiutarli a passare alle categorie Ingame e Giocabili.

In particolare, alcuni dei suoi casi più importanti sono stati i titoli Naughty Dog e capire l’ultimo numero che ha impedito a Metal Gear Solid 4 di avviarsi correttamente.

Sfortunatamente, eladash deve dire addio al progetto in quanto deve soddisfare i requisiti di coscrizione militare del suo paese. Ciò significa che i suoi contributi saranno notevolmente ridotti da agosto fino alla fine del suo mandato.

Tuttavia, non volendo lasciare le cose incompiute, eladash ha deciso di completare la maggior parte dei suoi contributi e di farli confluire nella repository principale di RPCS3.

Il risultato finale di questo è stato la fusione di 20 richieste pull in questo solo mese, ognuna indirizzata a una parte diversa dell’emulatore.

Mentre tutti amiamo vedere i contributi di eladash all’emulatore, semplicemente non è possibile coprire tutti i contributi che ha fatto nel mese.

Invece, abbiamo deciso di concentrarci su alcuni importanti contributi che hanno apportato grandi benefici a tutti noi. per l’elenco completo dei contributi forniti da eladash, fare riferimento alla sezione Altri miglioramenti.

Innanzitutto, eladash ha migliorato l’implementazione di varie istruzioni relative alla PPU come FCTIW, FCTIWZ, FCTID e FCTIDZ quando l’operando in virgola mobile viene arrotondato a un numero intero maggiore di INT32_MAX.

Successivamente, ha fissato il conteggio dei turni nell’implementazione dell’interprete PPU delle istruzioni SRD e SLD mascherando il conteggio dei turni con 127.

Mentre questi miglioramenti possono sembrare minori, il suo impatto è stato a dir poco significativo. Insieme ad altri miglioramenti apportati alla richiesta pull, Metal Gear Solid 4 è entrato in gioco per la prima volta su RPCS3! Come comunità, non credo che avremmo potuto chiedere un regalo di separazione migliore di questo.

eladash sa sicuramente come uscire con il botto!

Inoltre, eladash ha migliorato anche sys_get_current_time() per ridimensionare il tempo relativamente all’avvio dell’emulatore anziché Epoch per risolvere i problemi in cui l’orologio di sistema sarebbe tornato indietro dopo circa 30 minuti all’inizio del timestamp al primo avvio dell’emulatore.

Correzioni MGS4 e miglioramenti della cache di superficie (#6357, #6376, #6388, #6415, #6436, #6448)

Diverse settimane fa, durante l’analisi e la correzione delle regressioni, kd-11 ha riscontrato un problema particolarmente sconcertante nei nuovi giochi della Naughty Dog, come in The Last of Us e Uncharted 3.

Diversi report degli utenti hanno indicato che la qualità grafica regrediva e presentava un sacco di rumore nella loro presentazione.

Dopo aver trascorso giorni ad analizzare log e tracce, kd-11 ha capito che queste non erano in realtà regressioni ma piuttosto problemi che erano sempre presenti nei giochi e nascosti sotto altri bug. Ora che erano all’aperto, kd-11 ha deciso di approfondire questi problemi e vedere se potevano essere risolti.

Inizialmente, kd-11 non è riuscito a trovare alcuna soluzione possibile, fino a quando non ha notato che questi giochi usano le SPU oltre a RSX per rendere la grafica che lo ha portato a teorizzare come un gioco sarebbe stato visualizzato con Cell e RSX allo stesso tempo.

Ha aggiunto una routine di hash di memoria per scansionare ampie sezioni di memoria alla ricerca di alterazioni e ha riscontrato un successo: Il motore stava eseguendo il rendering in parallelo con entrambi i processori e reiniettando i risultati del frame precedente nell’ultima fase del frame successivo.

Ciò significava che era necessario inizializzare accuratamente la memoria con i contenuti delle celle, una funzionalità già pianificata, ma in gran parte non implementata chiamata “Read Color Buffers” e “Read Depth Buffers”.

Alcuni giorni dopo, questa funzionalità è stata implementata e i risultati sono stati immediatamente promettenti. Gli utenti possono trovare queste opzioni nella scheda Avanzate del menu Impostazioni.

Nel frattempo, anche kd-11 ha ricevuto lamentele per le prestazioni molto scarse in questi giochi, ed è stato riferito che l’utilizzo dell’opzione “CPU blit” sembrava aiutare in questo.

Per chi non lo sapesse, CPU Blit simula il motore di copia GPU sulla CPU che è naturalmente inefficiente ma offre una migliore precisione.

Tuttavia, dalle segnalazioni degli utenti era chiaro che abilitando questa opzione si otteneva un vantaggio in termini di prestazioni ed era un chiaro indicatore che qualcosa era rotto.

Analizzando ulteriormente questo, kd-11 ha riscritto il comportamento del motore blit per simulare un controller DMA adeguato e trattare PlayStation 3 VRAM come memoria completamente separata dalla memoria principale di PlayStation 3.

Ha anche aggiunto un pool di mirroring di memoria DMA con un pool di memoria sparsa, ma questo viene comunque gestito manualmente invece di fare affidamento sul driver GPU.

Questo lavoro ha drasticamente migliorato le prestazioni del codice e ha fornito alcuni fotogrammi in più nei titoli interessati, inclusi giochi Naughty Dog, God of War 3, ecc..

Mentre il nuovo lavoro DMA del motore blit non è ancora completo, il suo miglioramento delle prestazioni è già promettente. Si noti che nella maggior parte dei titoli interessati potrebbe non esserci molto miglioramento nel framerate se RSX non è il collo di bottiglia.

Successivamente, kd-11 ha creato un PR soprannominato “fix MGS4”, che implementa i float a 24 bit nel passaggio di decodifica delle texture in profondità [D24S8 -> ARGB8], corregge alcuni bug del decompilatore dello shader e corregge il comportamento di vari registri.

In quest’ultimo caso, non tutti i registri vengono creati allo stesso modo. Alcuni registri dispongono di modificatori saturi integrati e i registri texN possono essere modificati attraverso altri registri. Tutti i test scritti da kd-11 sono stati confermati su hardware reale.

Come dice il titolo della richiesta pull, queste modifiche risolvono la maggior parte degli errori grafici trovati in Metal Gear Solid 4, così come molti altri giochi.

Il problema di profondità che ha causato lo sfarfallio della geometria e la possibilità di vedere attraverso muri/personaggi è stato risolto.

Sfortunatamente, il problema che fa apparire le ombre completamente nere è ancora presente poiché la correzione del problema ha causato troppe regressioni in altri titoli e ha dovuto essere rimosso dai miglioramenti di agosto.

Inoltre, kd-11 ha apportato alcuni miglioramenti e modifiche, come l’implementazione del mascheramento del target di rendering separabile, la correzione di texture nere in inFamous 2 e inFamous: Festival of Blood, alcuni problemi grafici in GTA V e un bug di vecchia data che coinvolge le barre della vita mancanti in JoJo’s Bizarre Adventure: All Star Battle.

Infine, kd-11 ha implementato l’accelerazione GPU per la decodifica delle texture, il che avvantaggia i giochi che modificano molto i dati sulla CPU. Dovrebbe anche aiutare ad alleviare l’impatto sulle prestazioni delle opzioni “Read Color Buffers” e “Read Depth Buffers”.

Implementazione di g_fxo (#6381, #6411)

Con i principali contributi di kd-11, diamo un’occhiata a cosa ha fatto Nekotekina. Con una dozzina di richieste pull riunite questo mese, Nekotekina ha migliorato vari componenti principali e risolto alcune vecchie regressioni.

Non possiamo certamente occuparci di tutto qui, quindi concentriamoci sulla rimozione del gestore oggetti fxm a favore di g_fxo.

Prima di capire cosa offrono questi gestori di oggetti, partiamo dall’alto. Una variabile globale è una variabile con portata globale, che è visibile e accessibile in tutto il programma.

L’insieme di tutte le variabili globali è noto come ambiente globale o stato globale. Queste variabili aumentano notevolmente la facilità di lavoro, specialmente quando sono coinvolte molte funzioni.

Tuttavia, sono anche considerati pericolosi in quanto i loro valori possono essere modificati da qualsiasi funzione chiamata, aumentando le possibilità di errori se abusati dai programmatori.

Inoltre, rende il codice generale meno modulare e, pertanto, ha reso necessaria una soluzione alternativa. È qui che arrivano i gestori di oggetti in sostituzione di variabili globali.

Uno di questi gestori di oggetti, fxm è stato utilizzato per ripristinare automaticamente lo stato globale dopo il riavvio dell’emulazione in un modo che impediva l’uso improprio da parte dei programmatori.

Sebbene servisse bene alle funzioni dell’emulatore, si dimostrò abbastanza inefficiente a causa dell’uso dei puntatori di conteggio dei riferimenti e del mutex globale. Oltre a ciò, aveva anche un’API apertamente complessa che si è rivelata fuorviante.

Nekotekina ha cercato di trovare una soluzione più efficiente a questa funzione e di conseguenza ha progettato g_fxo. Questo nuovo gestore di oggetti leggero è progettato con un’API più semplice e fornisce un oggetto che “esiste” senza alcun sovraccarico di sincronizzazione!

Una volta finalizzato, fxm è stato deprecato e sostituito con g_fxo in tutte le parti dell’emulatore che lo utilizzava. Mentre questi miglioramenti potrebbero non essere facilmente visibili nei giochi di oggi, pone le basi per ulteriori miglioramenti della stabilità dell’emulatore.

Gli utenti che desiderano saperne di più sui contributi di Nekotekina e sul loro impatto sull’emulatore, possono leggere il suo aggiornamento di stato su Patreon.

Funzione schermata (#6334)

Dopo aver aggiunto il supporto per DualShock 3, microfoni, chitarre e varie altre periferiche negli ultimi mesi, GalCiv è tornato per aggiungere un’altra funzionalità molto richiesta, il supporto degli screenshot nativi.

Sebbene disponiamo già di numerosi metodi per acquisire screenshot dei giochi a cui giochiamo, tutti si limitano a prendere screenshot alla risoluzione dello schermo.

Con l’introduzione del ridimensionamento della risoluzione in RPCS3, gli utenti sono stati in grado di aumentare la risoluzione interna fino a risoluzioni folli come 10240×5760, ma gli screenshot condivisi sono stati purtroppo compressi fino alla risoluzione dello schermo che raramente superava il 4K.

Quindi c’era una crescente necessità di catturare lo screenshot prima di ridimensionarlo alla risoluzione del monitor. Qui è dove GalCiv è saltato dentro e ha deciso di catturare lo screenshot direttamente dal framebuffer della GPU proprio prima che venga passato al monitor.

Con una piccola guida di kd-11, GalCiv è stato in grado di implementare questa funzionalità sia nel backend OpenGL che in Vulkan. Gli utenti possono ora premere F12 per fare uno screenshot nel gioco (nel formato PNG) che verrà salvato nella directory /screenshots/.

Combinando la nuova funzionalità di screenshot con la patch widescreen per Demon’s Souls si ottengono sfondi incredibili! Più schermate scattate a risoluzione nativa grazie a questa nuova funzionalità.

Miglioramenti dell’interfaccia utente (#6350, #6407, #6110)

La GUI di RPCS3 ha visto un costante miglioramento durante tutto l’anno e questo mese non fa eccezione. Uno sviluppo importante è la nuova scheda Avanzate nel menu Impostazioni per mostrare le impostazioni selezionate che erano nascoste nella scheda Debug o non presenti nella GUI.

Ciò consente agli utenti di modificare facilmente impostazioni come “Vblank frequency” e “Clocks scale” dalla GUI invece di modificare manualmente i file config.yml personalizzati specifici del gioco.

Con la nuova ondata di patch 60FPS che sfruttano queste opzioni di impostazione, la scheda Avanzate ridurrà sicuramente gli sforzi dell’utente di utilizzare tali patch.

La prossima serie di miglioramenti non è rivolta all’interfaccia grafica (GUI), ma in realtà l’esatto contrario, l’interfaccia della riga di comando (CLI).

Per molto tempo, gli utenti hanno espresso la necessità di un’implementazione della CLI più solida in RPCS3. Sebbene RPCS3 avesse una CLI, era molto limitato nelle sue capacità e soffriva di alcuni bug che gli impedivano di essere veramente utili.

Per molto tempo, ciò non ha comportato problemi in quanto gli utenti dovevano utilizzare la GUI nativa dell’emulatore e solo un gruppo di nicchia di utenti ha effettivamente provato a utilizzare l’emulatore tramite la CLI.

Tuttavia, poiché l’emulatore è maturato nel corso degli anni, vi è una crescente necessità di implementare una suite automatizzata che esegua test che avvisino efficacemente gli sviluppatori di eventuali regressioni causate dalle loro modifiche.

Ma prima ancora di pensare di provare a creare un tale framework, l’emulatore dovrebbe essere in grado di accettare comandi tramite CLI o altri metodi non GUI.

A tal fine, Megamouse ha deciso di migliorare la CLI e consentire all’emulatore di funzionare in modalità senza testa senza alcuna interfaccia grafica o grafica.

Tuttavia, poiché sono stati avviati lavori per migliorare la CLI di RPCS3, il gruppo di nicchia di utenti della CLI è riemerso e ha chiesto l’ aggiunta di una modalità non GUI in aggiunta alla modalità senza testa.

Entrambe le modalità adottano lo stesso approccio ma differiscono nel loro obiettivo. Il parametro –no-gui non mostrerà la GUI di RPCS3 ma consentirà ai giochi di avviarsi con una finestra di gioco mentre il –headless Il parametro fornirà una modalità completamente priva di output visivo (nessuna GUI o finestra di gioco).

Insieme a questo, il parametro –hidpi per avviare RPCS3 con o senza ridimensionamento DPI elevato (1 per abilitato, 0 per disabilitato, il valore predefinito è 1).

Questo non sovrascrive QT_AUTO_SCREEN_SCALE_FACTOR impostato nell’ambiente, quindi gli utenti possono ora impostare liberamente il proprio ridimensionamento.

Anche il parametro –version è stato migliorato per mostrare il numero di versione dell’app. Fai clic qui per un elenco completo dei parametri accettati dall’emulatore.

Giochi

JoJo’s Bizarre Adventure: All-Star Battle

Per molto tempo, JoJo’s Bizarre Adventure: All-Star Battle ha funzionato con prestazioni eccellenti ma non è stata classificata come giocabile a causa di un singolo bug grafico, mancando le barre di salvataggio durante la battaglia.

Dopo oltre un anno, kd-11 è finalmente riuscito a risolvere il problema permettendo a questo titolo di essere finalmente considerato giocabile. Inoltre, si dice che ci sia anche una nuova patch 60FPS in lavorazione insieme ad altre mod. Tutto sommato, è un buon momento per i fan di JoJo!

Crysis 3

Ma può far funzionare Crysis? Bene, un po ‘… Ad agosto, Crysis 3 ha fatto progressi per la prima volta in gioco e segna la pietra miliare di tutti i titoli della serie Crysis in grado di progredire in gioco su RPCS3.

Tuttavia, stiamo parlando di Crysis 3, quindi il gioco è attualmente estremamente instabile su RPCS3 e soffre anche di gravi problemi grafici. Soon™

Football americano e rugby

Questo mese ha visto migliorare la compatibilità di 4 titoli di rugby e gridiron. Con la maggior parte dei problemi grafici risolti, NCAA Football 14 e Tecmo Bowl Throwback sono stati finalmente giocati!

D’altra parte, All-Pro Football 2K8 e Rugby League Live 2 sono entrati in gioco per la prima volta. Purtroppo, All-Pro Football 2K8 soffre di basse prestazioni e alcuni bug grafici mentre Rugby League Live 2 attualmente soffre di gravi problemi grafici.

Deception IV: Blood Ties & The Nightmare Princess

Il titolo esclusivo PlayStation Deception IV: Blood Ties e il suo pacchetto di espansione Deception IV: The Nightmare Princess sono stati testati e sono risultati giocabili.

Questi titoli sono entrati in gioco già nel 2017, ma soffrivano di basse prestazioni che ne impedivano la giocabilità. Grazie ai recenti miglioramenti dell’emulatore, entrambi i titoli funzionano a piena velocità su hardware di fascia media.

Auto da corsa e combattimento

La prossima è una bella dose di titoli di corse automobilistiche e combattimenti. Innanzitutto abbiamo due titoli di corse, MotorStorm RC e Ben 10 Galactic Racing che ora sono completamente giocabili sull’emulatore.

Ma se le armi legate ai veicoli sono più il tuo stile, Full Auto 2: Battlelines & Calling All Cars! sono stati trovati anche completamente giocabili questo mese con problemi minimi!

Mobile Suit Gundam: Target in Sight & Armored Core: For Answer

Guardando i titoli di mecha, Mobile Suit Gundam: Target in Sight è risultato giocabile con buone prestazioni e grafica portando il numero di titoli giocabili della serie Gundam a 3.

Armored Core: For Answer

In precedenza, questo titolo soffriva di un bug di fisica in cui il personaggio sarebbe caduto all’infinito nel corso del gioco, mantenendo questo titolo nella categoria Introduzione.

Grazie ai recenti miglioramenti della precisione apportati all’emulatore, questo bug è stato corretto e il gioco procede in gioco e ha prestazioni sorprendentemente forti.

Il gioco sembra anche rendere bene la grafica, ad eccezione del modello del personaggio. Un utente nei nostri forum, makotech222 , è riuscito a finire il gioco sull’emulatore senza un singolo crash. Sono necessari ulteriori test per determinare se questo titolo è effettivamente giocabile.

Journey: Collector’s Edition mini-games

Coloro che acquistano Journey: Collector’s Edition hanno ricevuto Flow and Flower di Thatgamecompany oltre a Journey sul singolo disco Blu-ray.

Ma non è tutto, il disco includeva anche 3 minigiochi mai visti prima da Game Jams : Grave Diggers, Duke War!! e Nostril Shot.

Questi 3 titoli non sono stati rilasciati su nessuna altra piattaforma né rilasciati come giochi stand-alone. In seguito a test recenti, tutti e 3 i titoli sono stati completamente riproducibili su RPCS3!

Sebbene siano titoli di piccole dimensioni, la loro compatibilità di successo ribadisce l’obiettivo fondamentale degli emulatori di preservare i giochi che altrimenti andrebbero semplicemente persi nel tempo.

Altri miglioramenti

Nel corso del mese sono state unite numerose richieste di pull che non sono riuscite a raggiungere la sezione Principali miglioramenti.

Abbiamo raccolto un elenco di tutti questi miglioramenti qui e abbiamo allegato una breve panoramica a ciascuno di essi.

Assicurati di controllare i link forniti, dato che le pagine GitHub di solito rivelano ulteriori dettagli, così come i cambiamenti del codice stesso. Per vedere l’elenco completo delle richieste di pull direttamente su GitHub, clicca qui.

Potrete scaricare la versione più recente dell’emulatore collegandovi a questo indirizzo per PC Windows e Linux. Se vi piace potrete anche contribuire allo sviluppo con una piccola donazione sul Patreon.

Fonte: rpcs3.net

(Visited 1 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *