[DEV] M.A.M.E. SDL Plus by F. Lancioni

Qui si parla di M.A.M.E.
Rispondi
Avatar utente
Newton
Messaggi: 324
Iscritto il: gio ago 03, 2017 7:43 am
Ha ringraziato: 57 volte
È stato ringraziato: 53 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.4 by F. Lancioni

Messaggio da Newton »

Administrator ha scritto:
dom apr 25, 2021 10:07 pm
Ho trovato il "problema" (e non è il codice), domani con calma vi spiego meglio
Date una medaglia a questo uomo :lol:
Questi utenti hanno ringraziato l'autore Newton per il post (totale 2):
GuybrushClaus83
Reputazione: 20%

Avatar utente
Administrator
Site Admin
Messaggi: 435
Iscritto il: gio feb 25, 2016 6:32 pm
Ha ringraziato: 0
È stato ringraziato: 301 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.4 by F. Lancioni

Messaggio da Administrator »

Claus83 ha scritto:
dom apr 18, 2021 12:34 pm
Ciao a tutti, ho notato un problema con la rom wizard of wor, sia con samples che senza, c'è un forte ronzio di fondo
Claus83 ha scritto:
lun apr 19, 2021 12:47 pm
Stesso problema con Gorf
Administrator ha scritto:
dom apr 25, 2021 10:07 pm
Ho trovato il "problema" (e non è il codice), domani con calma vi spiego meglio
Innanzitutto il "problema" è stato risolto e in giornata verrà rilasciata la versione 1.41 :geek:

Come si evince dalle virgolette, e come avevo già accennato, non è un problema del codice del M.A.M.E., quantomeno non del codice che ho scritto io :lol: Mi spiego meglio facendo una delle mie famose premesse...

Il codice sorgente originale del M.A.M.E. quando viene compilato fornisce una miriade di warning da parte del compilatore. Alcuni sono innocui, altri possono generare problemi su architettura ARM e non x86 o viceversa. In generale quindi è bene avere un codice pulito che compili senza warning. Per quanto riguarda il codice che ho scritto per creare questo porting è così, il compilatore non genera nessun warning, cosa diversa è per il codice pre-esistente, vuoi per gli anni passati tra la versione originale e il compilatore attuale, vuoi per sviste dello sviluppatore che a suo tempo ha scritto quella porzione di codice.

Questo caso è borderline: su x86 tutto ok, su ARM si presenta un problema, però non sempre, dipende infatti dai flags di ottimizzazione passati al compilatore. Ieri dopo aver analizzato il codice ero a un punto morto, ho addirittura fatto il porting del romset wow dal codice della versione 0.78 (anche se a prima vista sembrava identico dal punto di vista logico) ma non cambiava niente e non c'era un'evidenza di un problema, a maggior ragione senza warning da parte del compilatore. A quel punto ho fatto una prova estrema, ho rimosso tutti i flags di ottimizzazione e ho compilato il codice in modo che il compilatore non lo ottimizzasse dal punto di vista della velocità di esecuzione: risultato, il rumore di fondo è scomparso!

Le possibilità sono 2:
  1. il compilatore ha un bug
  2. il codice non è ben scritto
La prima non è una possibilità così fantascientifica come sembra, però è improbabile, quindi propendo per la seconda opzione. C'è qualcosa quindi nel codice sorgente del M.A.M.E. che non è ben scritta e che salta fuori nel momento in cui il compilatore deve prendere delle decisioni per eseguire l'ottimizzazione. Si dice infatti che più si chiede al compilatore di ottimizzare e più, se ci sono, salteranno fuori i problemi :lol:

Dal mio punto di vista sono tranquillo, il mio codice è ok, quantomeno dal punto di vista del compilatore, eventuali bug logici sono un'altra cosa ma non è questo il caso.

Comunque non allarmatevi, ho poi eseguito delle prove e aggiunto nuovamente i flags tranne quello problematico, quindi dal punto di vista della velocità di esecuzione non è cambiato niente, anzi forse su Raspberry Pi v1 si è recuperato qualcosina :-)

Vi è piaciuto il momento Super Quark (come ha scritto qualcuno?) :lol: Beh, torno a lavoro, la pausa è finita ;-)
Questi utenti hanno ringraziato l'autore Administrator per il post (totale 2):
GuybrushClaus83
Reputazione: 20%
"A volte sono le persone che nessuno immaginava potessero fare certe cose quelle che fanno cose che nessuno può immaginare" A. Turing
_____________________________________________________________
Aiutiamo il forum con una donazione :-)

Hardware:
Raspberry Pi Model B Rev 2
Raspberry Pi 3 Model B Rev 1.2
Raspberry Pi 4 Model B Rev 1.2

Avatar utente
Claus83
Messaggi: 457
Iscritto il: sab apr 25, 2020 12:12 am
Ha ringraziato: 205 volte
È stato ringraziato: 38 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.4 by F. Lancioni

Messaggio da Claus83 »

Ragazzi Queste non sono spiegazioni di informatica che potete trovare qua e là sui forum dedicati...qui c’è vera conoscenza e padronanza nel mestiere... 8-) Mitico!! Grande Administrator! 👏
"Che strano gioco... la sola mossa vincente è quella di non giocare..."

dal film "Wargames - giochi di guerra" (1983)
--------------------------------------------------------------------------------------
Raspberry Pi 4 Model B Rev 1.2

Avatar utente
Guybrush
Site Admin
Messaggi: 2340
Iscritto il: gio feb 25, 2016 6:33 pm
Ha ringraziato: 142 volte
È stato ringraziato: 152 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Guybrush »

Disponibile versione 1.41 che corregge, a livello di flags di compilazione, i problemi segnalati da Claus83 e riportati da Administrator qui

Buon divertimento ;-)
Questi utenti hanno ringraziato l'autore Guybrush per il post:
Claus83
Reputazione: 10%
"Dobbiamo costruire computer per le masse, non per le classi" J. Tramiel
_____________________________________________________________
Aiutiamo il forum con una donazione :-)

Hardware:
Raspberry Pi Model B Rev 2 (x2)
Raspberry Pi 3 Model B Rev 1.2

Avatar utente
Claus83
Messaggi: 457
Iscritto il: sab apr 25, 2020 12:12 am
Ha ringraziato: 205 volte
È stato ringraziato: 38 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Claus83 »

Buongiorno a tutti, per quanto riguarda gli artworks in formato lyt, devo tener conto di questo ?
"Che strano gioco... la sola mossa vincente è quella di non giocare..."

dal film "Wargames - giochi di guerra" (1983)
--------------------------------------------------------------------------------------
Raspberry Pi 4 Model B Rev 1.2


Avatar utente
Guybrush
Site Admin
Messaggi: 2340
Iscritto il: gio feb 25, 2016 6:33 pm
Ha ringraziato: 142 volte
È stato ringraziato: 152 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Guybrush »

Claus83 ha scritto:
mar apr 27, 2021 2:16 pm
Buongiorno a tutti, per quanto riguarda gli artworks in formato lyt, devo tener conto di questo ?
No, quello era correlato alla versione originale del M.A.M.E. che però supportava solo immagini in bassa risoluzione. Usa gli esempi allegati, il codice è stato totalmente cambiato da quel post
"Dobbiamo costruire computer per le masse, non per le classi" J. Tramiel
_____________________________________________________________
Aiutiamo il forum con una donazione :-)

Hardware:
Raspberry Pi Model B Rev 2 (x2)
Raspberry Pi 3 Model B Rev 1.2

Avatar utente
Claus83
Messaggi: 457
Iscritto il: sab apr 25, 2020 12:12 am
Ha ringraziato: 205 volte
È stato ringraziato: 38 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Claus83 »

Ok immaginavo...solo un indizio, poi voglio arrivarci da solo...ci sono delle relazioni tra i valori di cui tener conto?
"Che strano gioco... la sola mossa vincente è quella di non giocare..."

dal film "Wargames - giochi di guerra" (1983)
--------------------------------------------------------------------------------------
Raspberry Pi 4 Model B Rev 1.2

Avatar utente
Guybrush
Site Admin
Messaggi: 2340
Iscritto il: gio feb 25, 2016 6:33 pm
Ha ringraziato: 142 volte
È stato ringraziato: 152 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Guybrush »

Claus83 ha scritto:
mar apr 27, 2021 4:15 pm
Ok immaginavo...solo un indizio, poi voglio arrivarci da solo...ci sono delle relazioni tra i valori di cui tener conto?
Risposta breve:
No :lol:

Risposta estesa:
Ad esempio i parametri di sf2ce sono questi:

Codice: Seleziona tutto

Width="4000" Height="3743"
GameAreaWidth="2920" GameAreaHeight="2190"
GameAreaX="540" GameAreaY="822"
Width e Height sono banalmente larghezza e altezza in pixel dell'immagine .png, niente di misterioso.

GameAreaWidth e GameAreaHeight rappresentano larghezza e altezza dell'area dove si vuole che venga mostrato il gioco, nel caso di sf2ce rappresentano il "buco" presente nell'immagine, espresse in pixel rispetto all'immagine.

GameAreaX e GameAreaY sono la coordinata X e la coordinata Y, espresse in pixel, dove il gioco verrà posizionato (l'origine è in alto a sinistra) e in questo caso rappresentano l'angolo in alto a sinistra del "buco" nell'immagine.

Il codice è intelligente quindi poi tutto verrà ricalcolato all'avvio del gioco in modo che l'aspect ratio del cabinato originale venga mantenuto, quindi se GameAreaWidth e GameAreaHeight non sono ad esempio 4:3 (come il cabinato originale di sf2ce) non importa, ci penserà M.A.M.E. SDL Plus (diciamo c'ha pensato Administrator :lol:) a ricreare tutto correttamente
Questi utenti hanno ringraziato l'autore Guybrush per il post (totale 2):
Claus83JohnTitor
Reputazione: 20%
"Dobbiamo costruire computer per le masse, non per le classi" J. Tramiel
_____________________________________________________________
Aiutiamo il forum con una donazione :-)

Hardware:
Raspberry Pi Model B Rev 2 (x2)
Raspberry Pi 3 Model B Rev 1.2

Avatar utente
Newton
Messaggi: 324
Iscritto il: gio ago 03, 2017 7:43 am
Ha ringraziato: 57 volte
È stato ringraziato: 53 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Newton »

Ho realizzato alcuni artwork in formato lyt, posso allegarli ai miei post e poi li spostate voi?
Questi utenti hanno ringraziato l'autore Newton per il post (totale 2):
GuybrushJohnTitor
Reputazione: 20%

Avatar utente
Guybrush
Site Admin
Messaggi: 2340
Iscritto il: gio feb 25, 2016 6:33 pm
Ha ringraziato: 142 volte
È stato ringraziato: 152 volte

Re: [DEV] M.A.M.E. SDL Plus - v1.41 by F. Lancioni

Messaggio da Guybrush »

Newton ha scritto:
mar apr 27, 2021 8:18 pm
Ho realizzato alcuni artwork in formato lyt, posso allegarli ai miei post e poi li spostate voi?
Certamente :-)
"Dobbiamo costruire computer per le masse, non per le classi" J. Tramiel
_____________________________________________________________
Aiutiamo il forum con una donazione :-)

Hardware:
Raspberry Pi Model B Rev 2 (x2)
Raspberry Pi 3 Model B Rev 1.2

Rispondi