09 novembre 2021

Supermodel r865

 Compilata la nuova versione 865 dell'emulatore Model 3 per linux, la trovate nel gruppo Telegram, al sesto piano o sul drive, come sempre.


Buon download.


b4nd1t0

22 luglio 2021

Migrazione syxthfloor BBS

 Sto effettuanto la migrazione della BBS sixthfloorbbs.ddns.net su una nuova macchina e riorganizzando i contenuti limitandoli ad Arcade, Commodore e DOS per rendere più semplice la fruizione, non sarà quindi raggiungibile per un po' di giorni, abbiate pazienza.

Potrete comunque continuare ad utilizzare il canale telegram che rimane sempre aggiornato con i pacchetti.

b4nd1t0

24 giugno 2021

mame 0.232

 Mame64 arcadeonly + groovy switchres 2.002b + nonag + d3d9ex - windows

 Mame64 arcadeonly + groovy switchres 2.002b + nonag - linux

 To download all the versions compiled by me you can directly access my drive from here and select the corresponding folder or go to the telegram group or go to the sixthfloor BBS


Attention windows users, i always recommend to download the standard version of mame and replace only the groovy executable after unzipping all the files, and after creating the mame.ini, so you will not have any errors due to old versions of the configuration file.

17 giugno 2021

Creare un server Minecraft Java Edition 1.17 su linux

Un nuovo server.

Tempo fa avevo creato un server Minecraft (Java) per far giocare i miei figli con gli amici senza dover effettuare sottoscrizioni a servizi di hosting (chi ha detto realms?) e senza costringere tutti a disconnettersi se qualcuno hostava il mondo e doveva spegnere il PC (...è prontooooo...), avevo utilizzato un Raspberry Pi4 con 4Gb di Ram.

Ha funzionato egregiamente finché non hanno aggiornato alla 1.17 che richiede la versione 16 di Java, allora, visti i limiti della macchina ho deciso di fare un saltino spostando tutto su un computer  inutilizzato, un Quad Core con un po' di ram ed un SSD da battaglia.

Ho deciso di rivolgermi sempre a linux per mettere su il server, sarà una macchina headless ovviamente.

Scriverò tutta la procedura seguita, mettendo insieme tutte le informazioni reperite sulla rete, non ho inventato nulla, la cosa è più semplice di quanto si immagini.
Non allegherò screenshot o altro materiale visivo, in quanto dovendo lavorare solo sa shell non c'è motivo, dovessero esserci dubbi o problemi, basta chiedere.
Spero possa tornare utile a qualcuno.

Cominciamo.


Per prima cosa ho scaricato la ISO di Ubuntu server 21.04.2 LTS da quì , scegliendo l'opzione 2,
installare poi da DVD o USB seguendo le normali procedure. (ricordare di abilitare ssh durante l'installazione)

Terminata l'installazione, ho iniziato a lavorare direttamente tramite ssh:
sudo apt update
e
sudo apt upgrade
finito l'aggiornamento, iniziamo ad installare qualcosa che ci servirà
sudo apt install wget screen nmap

adesso pensiamo a Java aggiungendo prima il repo

sudo add-apt-repository ppa:linuxuprising/java

diamo conferma ed attendiamo che finisca la procedura, poi

sudo apt update

sudo apt install oracle-java16-installer

alla fine, potremo verificare di aver installato la versione 16 di Java digitando

java --version

poi riavviamo

sudo reboot

A questo punto creiamo un nuovo utente (lo chiameremo minecraft), nelle cui cartelle verranno ospitati i file relativi al server, così non correremo il rischio di incasinare il sistema (cosa che avevo fatto nel Rasp)

sudo useradd -m -r -d /opt/minecraft minecraft

 creiamo anche la password per il nuovo utente con

sudo passwd minecraft

ora creiamo la directory dove ospiteremo i file, come scritto prima (il nome della cartella è a piacere, ricordate nel caso di variare il nome anche nei comandi che daremo dopo)

sudo mkdir /opt/minecraft/survival

procuriamoci il file del server da quì copiando semplicemente il link che troviamo in corrispondenza dell' 1.17, in questo caso il comando sarà

sudo wget -O /opt/minecraft/survival/minecraft_server.jar https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar

è tutto su una linea mi raccomando, ovviamente nel caso cambiasse versione l'indirizzo cambierà e dovrete semplicemente copiarlo e sostituirlo a quanto scritto

una volta scaricato, dobbiamo accettare i termini della licenza

sudo bash -c "echo eula=true > /opt/minecraft/survival/eula.txt"

ora assegnamo la proprietà del server all'utente prescelto

sudo chown -R minecraft /opt/minecraft/survival/

adesso creiamo uno script che avvii in automatico il tutto come servizio

sudo nano /etc/systemd/system/minecraft@.service

incolliamo quanto scritto di seguito nell'editor

[Unit]

Description=Minecraft Server: %i

After=network.target


[Service]

WorkingDirectory=/opt/minecraft/%i


User=minecraft

Group=minecraft


Restart=always


ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui


ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS. SAVING ALL MAPS..."5'

ExecStop=/bin/sleep 5

ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"5'

ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"5'


[Install]

WantedBy=multi-user.target

ATTENZIONE!  nella linea 13 viene indicato quanta memoria può utilizzare minecraft, potete cambiare il quantitativo modificando

-Xmx2G (2 Gb assegnati) con -Xmx4G (assegnando 4Gb ad esempio) come per tutto, più ram c'è meglio è, all'aumentare dei giocatori aumenta la richiesta, regolatevi

ricordate di salvare ed uscite

Ora avviamo il server

sudo systemctl start minecraft@survival

possiamo controllare il suo stato

sudo systemctl status minecraft@survival

e quando abbiamo conferma che tutto è andato per il meglio impostarlo in maniera che si avvii automaticamente ad ogni accensione (o anche riavvio) della macchina

sudo systemctl enable minecraft@survival

Nel caso avessimo necessità di intervenire sul server e volessimo interrompere il servizio, ci basterà digitare

sudo systemctl stop minecraft@survival

adesso verifichiamo che il server sia in ascolto sulla sua porta di default

nmap -p 25565 localhost

se è tutto ok (deve esserlo, sennò avete sbagliato qualche passaggio) siamo pronti per andare avanti.

 

Si ma come ti trovo?

Per essere sempre raggiungibili anche dall'esterno, ci serve un indirizzo fisso da poter comunicare a chi vogliamo, per questo ci rivolgeremo a no-ip ad esempio e registreremo un indirizzo da impostare come quello del server, che chi si vorrà connettere dovrà quindi digitare come indirizzo del server in minecreaft.

Una volta completata la registrazione ed attivato l'indirizzo, dovremo procedere così, sempre da ssh:

cd /usr/local/src/

poi 

sudo wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz

una volta completato il download

sudo tar xf noip-duc-linux.tar.gz

non dimentichiamo di installare build-essential e make prima

sudo apt install build-essential make

finita l'installazione, spostiamoci

cd noip-2.1.9-1

ed ora possiamo dare il comando

sudo make install

Prestare molta attenzione a questo passaggio, infatti al termine dell'installazione verrà effettuata la configurazione dell'account che avete registrato prima, vi verranno chiesti email e password per loggarvi al servizio no-ip, una volta immessi vi verranno elencati gli indirizzi registrati e quali volete aggiornare ad ogni avvio del servizio, anche l'intervallo dopo il quale volete effettuare gli aggiornamenti.

Nel caso ci siano variazioni da fare, il file di configurazione nel quale abbiamo appena salvato i dati, si trova in

/usr/local/etc/no-ip2.conf

editando questo possiamo fare tutte le modifiche del caso.

Una volta completato, passiamo alla creazione ed avvio del servizio noip2 per l’indirizzo dinamico in automatico, quindi come prima, creiamo il file

sudo nano /lib/systemd/system/noip2.service

nel file appena creato scrivere quanto segue

[Unit]
Description=noip2 service

[Service]
Type=forking
ExecStart=/usr/local/bin/noip2
Restart=always

[Install]
WantedBy=default.target

quindi digitare

sudo systemctl daemon-reload

per rendere systemd consapevole della nuova unità (systemd memorizza nella cache i file delle unità e questo comando fa sì che systemd riconsideri la sua cache).

Adesso possiamo controllare il servizio come descritto prima col servizio di avvio del server
sudo systemctl status noip2
sudo systemctl start  noip2
sudo systemctl status noip2
sudo systemctl stop   noip2
sudo systemctl status noip2
per far partire il servizio all’avvio della macchina dobbiamo abilitarlo digitando:

sudo systemctl enable noip2

per disabilitarlo (in caso di manutenzione) dovrai invece digitare:

sudo systemctl disable noip2

Mi pare di aver scritto tutto, non ci resta che mettere la macchina in un angolo (vicino ad una presa di rete)avviarla e goderci il nostro server con avvio automatico, direttamente puntando l'indirizzo da noi registrato, garantisco che i vostri figli ne saranno orgogliosi, personalmente cerco di far fare installazione/manutenzione direttamente a loro, almeno capiscono cosa significa gestire un piccolo server e come si fa, che non fa mai male.

Dovesse interessare, a breve, aggiungerò anche una piccola descrizione di come ho effettuato la migrazione del mondo costruito sull'altro server, direttamente in quello nuovo, così non si perde nulla!

Buon divertimento!

b4nd1t0

23 marzo 2021

Compilare mame ed applicare patch

 Compilare mame per utilizzarlo sui nostri cabinati è una operazione che può risultare inutile (troviamo quasi sempre la versione che ci interessa) ma vuoi per curiosità, vuoi perché vogliamo personalizzarlo, potrebbe venirci voglia di compilarcelo da soli.

Per questo ci viene in aiuto la guida presente sul sito mamedev, grazie alla quale possiamo fare tutto, predisporre l'ambiente per la compilazione e conoscere più o meno tutti i comandi da utilizzare.

Col tempo ho raccolto informazioni quì e là per cercare di ottimizzare, non essendo io un programmatore, quando leggo codice vedo praticamente una lingua aliena, vorrei quindi condividere alcuni consigli, messi insieme leggendo un po' dappertutto.

Le prime difficoltà compaiono quando si vuole applicare una patch, fino a poco fa, era possibile reperire la patch groovy, la d3d9ex e quella nonag da applicare direttamente al sorgente del mame "liscio", con gli ultimi cambiamenti, calamity ha messo su github il sorgente groovymame già pronto con patch groovy e d3d93x, quindi basterebbe compilare ed abbiamo l'eseguibile pronto ma se vogliamo applicare il nonag?

Dobbiamo intanto trovare la patch relativa alla versione che ci interessa, cambiare l'estensione in .diff semplicemente rinominandola per poi applicarla.

il comando per applicare la patch è 

c:\mame_source>patch -p0 <suppression.diff --dry-run

dove sostituiremo i percorsi corretti ed il nome della patch, con i nostri, una volta verificato che non ci siano errori, potremo scrivere lo stesso comando omettendo il --dry-run che di fatto "simula" l'applicazione della patch senza però modificare nulla.

Può capitare infatti che sia disponibile una nuova versione di mame ma la patch non sia stata aggiornata e se ci sono modifiche nella struttura del codice, è necessario effettuare modifiche anche nella patch stessa per far combaciare le cose.

Se si ha fretta, è possibile modificare a mano le linee interessate, leggendo il contenuto del file .diff.

In questo caso consiglio di usare notepad++ e di aprire il file sul quale dobbiamo operare  con quest'ultimo, apparirà tutto più chiaro.

Ecco come compare la patch relativa al mame 0.228, utilizzabile anche sul 0.229


se quando la applicate con il comando patch avete diversi errori, è possibile, come già detto, intervenire manualmente, vediamo come, analizzando cosa c'è scritto.

le linee in blu scuro, ci dicono su quale file del sorgente intervenire

diff -Nru oldsrc/frontend/mame/ui/mainmenu.cpp src/frontend/mame/ui/mainmenu.cpp

in questo caso, una volta andati nella cartella del sorgente, dobbiamo spostarci in 

src/frontend/mame/ui/mainmenu

ed editare il file mainmenu.cpp con notepad++

quest'altra riga ci da delle coordinate 

@@ -130,6 +130,9 @@

ci dice "orientativamente" a quale linea vanno applicate le modifiche, non combacia perfettamente, a me non è successo mai, quindi bisogna armarsi di occhiali e pazienza e trovare la linea confrontando quanto scritto sotto, ad esempio

item_append(menu_item_type::SEPARATOR);

 

+ // DISABLE SELECT NEW MACHINE & FAVORITES

+ if (!machine().options().skip_gameinfo())

+ {

  if (!mame_machine_manager::instance()->favorite().is_favorite(machine()))

  item_append(_("Add To Favorites"), 0, (void *)ADD_FAVORITE);

  else

 in questo caso dovremo aggiungere il codice preceduto dal segno +, tra le linee "item_append...." e "if (!mame_machine_manager...." omettendo i segni + e facendo attenzione a rispettare gli spazi tra le linee e l'incolonnamento (io almeno faccio così).

Nella 0.229 la situazione è questa, siamo alla linea 131 (ci è andata bene)


Il risultato dopo la modifica, sarà questo

item_append(menu_item_type::SEPARATOR);

 

// DISABLE SELECT NEW MACHINE & FAVORITES

if (!machine().options().skip_gameinfo())

{

  if (!mame_machine_manager::instance()->favorite().is_favorite(machine()))

  item_append(_("Add To Favorites"), 0, (void *)ADD_FAVORITE);

  else

Potrebbe essere necessario anche eliminare qualche linea o semplicemente modificarla, se troveremo quindi il segno - sarà da eliminare per poi aggiungere il codice modificato, come indicato nel file.

Ripetiamo questo per ogni chiamata ad ogni file, salviamo ed avremo tutto pronto per la compilazione.


Con questa mini guida ho riportato solo la mia esperienza per quanto riguarda la patch del nonag, ci sono un sacco di altri argomenti da trattare e piccoli trucchi da utilizzare, dovessero interessare, basta contattarmi e vedrò di scrivere qualcosa, sia per le varie versioni di mame che per compilare altri software o emulatori per altre piattaforme (linux?)

Buona compilazione e buon divertimento.

21 marzo 2021

mame 0.229

 Mame64 arcadeonly + groovy switchres 2.002a + nonag + d3d9ex - windows

 Mame64 arcadeonly + groovy switchres 2.002a + nonag - linux

To download all the versions compiled by me you can directly access my drive from here and select the corresponding folder or go to the telegram group or go to the sixthfloor BBS

Attention windows users, i always recommend to download the standard version of mame and replace only the groovy executable after unzipping all the files, and after creating the mame.ini, so you will not have any errors due to old versions of the configuration file.

02 marzo 2021

Supermodel tutorial, SEGA Model3 emulator

Fantastico emulatore che consente di giocare fedelmente e con ottimi risultati ai giochi del Model3 che purtroppo non hanno avuto conversioni per le console casalinghe.

Cercherò di spiegare come configurare ed utilizzare questo pezzo di software che viene costantemente aggiornato e perfezionato, nel momento in cui scrivo siamo alla r851, ricordate che potete trovare l'eseguibile nel gruppo telegram o chiamando la BBS sixthfloor.ddns.net via telnet/ftp.

l'utilizzo base del supermodel è da linea di comando, il che lo rende facilmente integrabile ad un qualunque frontend o magari utilizzabile creando dei semplici script per personalizzare l'avvio di qualunque gioco, ad esempio per avviare Scud Race basta digitare

supermodel scud.zip

questo comando avvierà ili gioco con tutte le impostazioni presenti in Supermodel.ini nella cartella Config, possiamo decidere di modificare le impostazioni nel file quindi o di agire direttamente da linea di comando aggiungendo tutti i parametri che vogliamo, ad esempio, se desideriamo avviare Scud Race in full screen senza influire nei settaggi di tutti gli altri giochi che invece vogliamo avviare in finestra, digiteremo

supermodel scud.zip -fullscreen

 la logica quindi è questa, possiamo trovare tutte le opzioni sulle quali lavorare, sbirciando nell'ultima parte del supermodel.ini citato prima.

Esiste poi un frontend per chi non volesse utilizzare la commandline, realizzato dall'utente nuexzz.. del Supermodel Forum, anche questo viene aggiornato in caso di cambiamenti che ne minerebbero il funzionamento (attualmente siamo alla r846).

Questa la schermata principale dalla quale possiamo regolare tutto, dopo aver indicato il percorso delle roms, non ci rimane che impostare risoluzione e gli altri parametri per poi cliccare Load Rom ed iniziare a giocare.



possiamo regolare la parte audio


la parte dei controlli, consentendoci di utilizzare praticamente ogni periferica


ed emulare la scheda di rete per poter giocare anche in LAN



Come intuibile, ogni opzione che cambieremo verrà registrata nel file supermodel.ini ed influenzerà tutti i giochi, tenetelo a mente.

01 marzo 2021

nuovo giocattolino arrivato

Nuovo (ennesimo a dire il vero, è il terzo pi4) gioiellino.
Su questo mi dedicherò in partisolar modo, prossimamente diversi test per vedere a che punto siamo arrivati. 

27 gennaio 2021

mame 0.228

 Mame64 arcadeonly + groovy switchres 2.001b + nonag + d3d9ex - windows


To download all the versions compiled by me you can directly access my drive from here and select the corresponding folder or go to the sixthfloor BBS

Attention windows users, i always recommend to download the standard version of mame and replace only the groovy executable after unzipping all the files, and after creating the mame.ini, so you will not have any errors due to old versions of the configuration file.

15 gennaio 2021

Nintendo64 fine dei difetti di emulazione

 Ammetto di non essere un grande fan delle console Nintendo, negli anni ho provato a prenderne qualcuna, tipo NES o SNES ma le ho sempre rivendute, il motivo? L'emulazione (di queste citate) è a livelli molto buoni e collegando la macchina al CRT, sarà difficile rendersi conto che non stiamo usando quella vera. Questo discorso, come accennato, vale fino al Nintendo64, su questa macchina, alcuni titoli mi hanno sempre attirato, specialmente quelli di guida e soprattutto le versioni esclusive, diciamo che mi basta leggere quel "64" aggiuntivo per farmi nascere la curiosità e spingermi a provare il gioco, devo effettivamente ammettere che alcuni sono ben fatti e si lasciano apprezzare.

Tornando al titolo del post, dopo diversi anni ho dovuto constatare che, per alcune console, l'emulazione è meglio lasciarla stare, c'è sempre quel titolo che vuoi giocare, che però ha il difettuccio, magari non mina la giocabilità ma tu sai che c'è e, almeno a me, fa passare la voglia fino a quando non lo sistemeranno.

Insomma, per farla breve, per risolvere tutti sti problemini, ho deciso di prendere un vero Nintendo64 e visti i prezzi esagerati che alcune cartucce hanno, un bel cartuccione con SD che mi consente di giocare tutti i titoli, anche quelli USA, eliminando le fastidiose bande nere delle versioni PAL.

Fatte alcune prove, posso affermare che finalmente, riuscirò apprezzare questa console, alla quale sicuramente mi dedicherò con cura.

Di seguito, alcuni appunti e file per chi avesse necessità di ripristinare la SD (nel caso fosse come la mia), aggiungerò alche alcune liste divise per tipologia di titoli che possono magari aiutare ad individuare il gioco cercato (a me ad esempio interessava trovare tutti i titoli che richiedessero/sfruttassero l'espansione aggiuntiva prima di procedere con l'acquisto).

Daje!!

In questa cartella ci sono i file necessari a far funzionare la cartuccia, vanno copiati direttamente nella sd formattata in fat32, andranno poi create elle cartelle con, ad esempio, i giochi divisi per regione o categorie o quello che più ritenete utile.

All'avvio vedrete un semplice file browser dove scegliere il gioco da avviare e finora i giochi mi sono partiti tutti, prediligo quelli USA, almeno non vedo le bande nere.


Expansion Pack Gamelist

08 gennaio 2021

mame 0.227

Mame64 + groovy switchres 2.001a + nonag + d3d9ex - windows

Mame32 + groovy_017t + nonag + nopotfix - windows (on windows XP, booting problems?)

HBMame64 + groovy_017t + nonag + d3d9ex - windows

Mame64 + groovy_017t + nonag - linux



To download all the versions compiled by me you can directly access my drive from here and select the corresponding folder or go to the sixthfloor BBS

Attention windows users, i always recommend to download the standard version of mame and replace only the groovy executable after unzipping all the files, and after creating the mame.ini, so you will not have any errors due to old versions of the configuration file.

03 gennaio 2021