Mini-Cabinato MAME e linux: aiuti e suggerimenti

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Blallo »

masalapianta ha scritto:1) usa un lcd, non avrai il gusto del retrò, ma non ti becchi un fottio di raggi x a distanza ravvicinata, hai più spazio, consumi meno corrente, produci meno calore e non devi bestemmiare in cinese a cercare e/o adattare schede video arcade che escano a 15Khz
Vero, ma unisco l'utile (schermo crt avuto completamente gratis) al dilettevole (resa retrò)
Ovviamente per aprirlo e montarlo andrò da un tecnico, non voglio rischiare di prendere la 220

Potrei pensare all'LCD qualora ne volessi fare un altro
masalapianta ha scritto:2) per il cabinato se usi multistrato hai leggerezza e resistenza meccanica ed all'umidità ma costo elevato e lavorazione non facilissima, se usi mdf hai resistenza meccanica, facilità di lavorazione e costi più contenuti rispetto al multistrato, ma pesa molto e non è resistentissimo all'umidità (cosa che si può ovviare con opportuni primer, vernici e trasparente), con il truciolato ha costi bassissimi ma tutto il resto fa schifo. (in ogni modo ti servirà almeno una circolare, un seghetto alternativo, un trapano, punte forstner e nel caso opti per l'mdf una mascherina adeguata (no quelle bianche di carta non sono adeguate), in quanto la polvere di mdf è tossica se respirata)
Credo proprio userò il multistrato alla fine
Un bartop non è enorme, quindi dovrò prendere meno materiale (costi) e tagliare meno roba (lavorazione)
Per fortuna ho anche amici che ci sanno fare ;)
masalapianta ha scritto:3) per mobo+cpu: l'sdlmame (come anche il mame) usa perlopiù la cpu per l'emulazione, con una scheda video particolarmente buona ti ci pulisci il didietro (quindi evita di spenderci soldi); considera che attualmente non esiste al mondo una cpu abbastanza veloce da emulare correttamente tutte le rom supportate dal mame, quindi scordati roba come pandaboard o atom o anche cpu non recentissime, ti serve almeno un dual core (il mame parallelizza molti calcoli, quindi con singolo core non vai da nessuna parte) di ultima generazione per riuscire ad arrivare più o meno bene ad un buon numero (ma non tutti) di giochi di fine anni novanta.
Quindi le schede precedentemente consigliate da ansa89 (con APU AMD) non andrebbero bene (a meno che non abbiano più core)

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

Volendo ci sono dei processori atom dual core, ma non so, anzi non credo siano paragonabili agli i{3,5,7} in termini prestazionali.

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da masalapianta »

jimmy_page_89 ha scritto: Quindi le schede precedentemente consigliate da ansa89 (con APU AMD) non andrebbero bene (a meno che non abbiano più core)
non vanno bene comunque (così come non vanno bene gli atom anche se dual core), ti servono cpu con una buona potenza di calcolo, mentre negli amd di cui sopra, negli atom e negli arm cortex si privilegia l'efficienza energetica (per carità per un uso desktop medio sono anche un overkill, ma laddove serve tanta potenza di calcolo te li dai in faccia); ovviamente il tutto dipende da quanti e quali giochi ritieni indispensabile emulare e a quali puoi rinunciare. Io fossi in te comincerei a provare il mame su un dato pc, così da vedere quali giochi riesci a far girare su una cpu di potenza nota; in tal modo, una volta scelti i giochi irrinunciabili, puoi farti un'idea di quale potenza di calcolo debba avere la cpu che sceglierai per il cab.

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Blallo »

Offtopic: @masalapianta ne hai mai fatto uno? se si, sarei curioso di vederlo :D

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da masalapianta »

jimmy_page_89 ha scritto:Offtopic: @masalapianta ne hai mai fatto uno? se si, sarei curioso di vederlo :D
ero partito con il farne uno, ma dopo averci riflettutto bene mi son reso conto che il mio interesse era relativo solamente al gioco e non all'avere un cassone quanto più simile ai cassoni da bar della mia infanzia (in poche parole, del retrò me ne frego), quindi alla fine quel che mi serviva era qualcosa del genere:
http://www.youtube.com/watch?v=QyI8eYbg5Ao
http://www.youtube.com/watch?v=fT3gm5KxQY8
un lcd sui 32" su un mobile sufficientemente alto da permettere il gioco in piedi e con un ripiano sporgente su cui sbattere i controlli; quel che fino ad oggi mi ha frenato è l'lcd: i monitor lcd da 32" praticamente sono quasi assenti nel mercato consumer, esistono solo come nicchia abbastanza costosa per altri tipi di applicazioni non consumer (videoconferenze, ecc..); di contro all'euronics vicino casa ho visto tv lcd e plasma da 32" a 40" 1080p con luminosità di almeno 500 candele per metro quadro a prezzi molto bassi (sui 350 euri, visto che ora van di moda gli lcd con retroilluminazione a led, i prezzi dei non-led son crollati), ma mi rifiuto di mettermi in casa un televisore, soprattutto ora che ho dei figli (qualcuno sa se c'è un modo per estirpare fisicamente il sintonizzatore dalle moderne merdavisioni, senza comprometterne il funzionamento come semplice monitor?).
Btw se non trovo in tempi brevi un monitor 32" a prezzo umano penso che piglierò joystick, pulsanti ed un i-pac2 da arcadeshop.de e mi limiterò ad usare controlli arcade su un pc, tanto son cose che dovrei acquistare comunque e quando trovo l'lcd giusto metto in piedi il cab.

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

Riesumo questo topic per postare un paio di patch per forzare l'uscita della scheda video a 15KHz.
Allegati
patch-3.0.zip
Patch per kernel linux 3.0
(4.41 KiB) Scaricato 294 volte

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

E qui l'ultima patch.
Allegati
patch-3.1.zip
Patch per kernel linux 3.1
(4.38 KiB) Scaricato 275 volte

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Blallo »

Grazie mille!

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

Riuppo questo topic per aggiungere un fix a questi driver necessario per il funzionamento di questa light gun.
In allegato il pacchetto completo e di seguito il diff:

Codice: Seleziona tutto

diff -ru topgun-0.2/Makefile topgun-0.3/Makefile
--- topgun-0.2/Makefile	2008-04-15 00:44:02.000000000 +0200
+++ topgun-0.3/Makefile	2011-11-17 13:04:54.874277113 +0100
@@ -11,6 +11,7 @@
 	rm -f lcdtopgun.o lcdtopgun.ko
 	rm -f lcdtopgun.mod.c lcdtopgun.mod.o
 	rm -f Module.symvers
+	rm -f modules.order
 	rm -f .lcdtopgun*
 	rm -fr .tmp_versions
 
diff -ru topgun-0.2/lcdtopgun.c topgun-0.3/lcdtopgun.c
--- topgun-0.2/lcdtopgun.c	2008-04-15 02:03:12.000000000 +0200
+++ topgun-0.3/lcdtopgun.c	2011-11-17 12:56:27.137848492 +0100
@@ -9,6 +9,9 @@
  *
  *  History:
  *
+ *  2011-11-17 - 0.3: (Stefano Ansaloni) General update
+ *   - Compiles and runs on newer kernels (tested up to 3.1.1).
+ *
  *  2008-04-14 - 0.2: (Adolfo R. Brandes) General update
  *   - Compiles and runs on newer kernels (tested up to 2.6.24).
  *   - Rewrote the setting of bits, based on xpad360.
@@ -54,11 +57,16 @@
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v0.2"
+#define DRIVER_VERSION "v0.3"
 #define DRIVER_AUTHOR "Christophe Thibault <chris@aegis-corp.org>"
 #define DRIVER_DESC "USB EMS LCD TopGun driver"
 #define DRIVER_LICENSE "GPL"
 
+/*
+ * Missing macro (at least on linux >= 3.0)
+ */
+#define info(format, arg...) printk(KERN_INFO "%s: " format "\n" , __FILE__ , ## arg)
+
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE(DRIVER_LICENSE);
@@ -167,7 +175,7 @@
 
 static int usb_topgun_open(struct input_dev *dev)
 {
-	struct usb_topgun *topgun = dev->private;
+	struct usb_topgun *topgun = input_get_drvdata(dev);
 	int status;
 
 	if (topgun->open++)
@@ -185,7 +193,7 @@
 
 static void usb_topgun_close(struct input_dev *dev)
 {
-	struct usb_topgun *topgun = dev->private;
+	struct usb_topgun *topgun = input_get_drvdata(dev);
 
 	if (!--topgun->open)
 		usb_unlink_urb(topgun->irq);
@@ -198,7 +206,7 @@
 	struct input_dev *input_dev;
 	struct usb_endpoint_descriptor *endpoint;
 	struct usb_host_interface *interface;
-	int pipe, maxp, i;
+	int pipe, maxp, i, ret_reg;
 	char path[64];
 	char *buf;
 
@@ -224,7 +232,7 @@
 		return -ENOMEM;
 	}
 
-	topgun->data = usb_buffer_alloc(usbdev, 8, GFP_ATOMIC, &topgun->data_dma);
+	topgun->data = usb_alloc_coherent(usbdev, 8, GFP_ATOMIC, &topgun->data_dma);
 	if (!topgun->data) {
 		input_free_device(input_dev);
 		kfree(topgun);
@@ -233,7 +241,7 @@
 
 	topgun->irq = usb_alloc_urb(0, GFP_KERNEL);
 	if (!topgun->irq) {
-		usb_buffer_free(usbdev, 8, topgun->data, topgun->data_dma);
+		usb_free_coherent(usbdev, 8, topgun->data, topgun->data_dma);
 		input_free_device(input_dev);
 		kfree(topgun);
 		return -ENODEV;
@@ -264,14 +272,13 @@
 	input_dev->name = topgun->name;
 	input_dev->phys = topgun->phys;
 	usb_to_input_id(usbdev, &input_dev->id);
-	input_dev->cdev.dev = &intf->dev;
-	input_dev->private = topgun;
+	input_set_drvdata(input_dev, topgun);
 	input_dev->open = usb_topgun_open;
 	input_dev->close = usb_topgun_close;
 
 	/* Start name manipulation. */
 	if (!(buf = kmalloc(63, GFP_KERNEL))) {
-		usb_buffer_free(usbdev, 8, topgun->data, topgun->data_dma);
+		usb_free_coherent(usbdev, 8, topgun->data, topgun->data_dma);
 		kfree(topgun);
 		return -ENOMEM;
 	}
@@ -297,7 +304,7 @@
 	topgun->irq->transfer_dma = topgun->data_dma;
 	topgun->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
 
-	input_register_device(topgun->dev);
+	ret_reg = input_register_device(topgun->dev);
 
 	if (debug)
 		printk(KERN_INFO "input: %s on %s\n", topgun->name, path);
@@ -316,7 +323,7 @@
 		usb_unlink_urb(topgun->irq);
 		input_unregister_device(topgun->dev);
 		usb_free_urb(topgun->irq);
-		usb_buffer_free(interface_to_usbdev(intf), 8, topgun->data, topgun->data_dma);
+		usb_free_coherent(interface_to_usbdev(intf), 8, topgun->data, topgun->data_dma);
 		kfree(topgun);
 	}
 }
Allegati
topgun-0.3.tar.bz2
Driver EMS TopGun for linux
(9.56 KiB) Scaricato 269 volte

Avatar utente
brainvision
Packager
Packager
Messaggi: 761
Iscritto il: ven 26 dic 2008, 18:23
Nome Cognome: Leonardo Totaro
Slackware: x86_64-current
Kernel: 3.7.1
Desktop: xfce 4.10
Località: bologna (bo)
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da brainvision »

accidenti, mi piacerebbe davvero poterne costruire uno.. quasi quasi ci faccio un pensierino serio.. e a tal proposito vi faccio qualche domandina, per cominciare..
1. quanto tempo richiederebbe un simile progetto potendo dedicarci diciamo un 4 / 5 ore al giorno?
2. quanto spenderei solo di materiali non hardware specifici di un PC (quindi legno, pulsanti e joystick)?
3. una scheda madre socket 775 con 2 GB RAM + cpu 3,0 GHz single core ma HT (quindi 2 core virtualizzati) andrebbe bene come base o riuscirei ad emularci ben poco?

grazie mille..

P.S.: sto vedendo anche altri siti e.. accidenti!!! che ficata!! ;)

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Blallo »

brainvision ha scritto:1. quanto tempo richiederebbe un simile progetto potendo dedicarci diciamo un 4 / 5 ore al giorno?
Dipende... se hai dimestichezza con gli strumenti, e aggiungendo che ti deve arrivare roba dalla germania, un mesetto scarso, anche 2 settimane.
brainvision ha scritto:2. quanto spenderei solo di materiali non hardware specifici di un PC (quindi legno, pulsanti e joystick)?
conta 160€ solo per la plancia... il resto è incognita, perchp se cerchi bene puoi anche trovarli gratis
brainvision ha scritto:3. una scheda madre socket 775 con 2 GB RAM + cpu 3,0 GHz single core ma HT (quindi 2 core virtualizzati) andrebbe bene come base o riuscirei ad emularci ben poco?
Tutti quelli anni 80 tranquillamente, quelli anni 90 con qualche calo.

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

brainvision ha scritto:accidenti, mi piacerebbe davvero poterne costruire uno.. quasi quasi ci faccio un pensierino serio.. e a tal proposito vi faccio qualche domandina, per cominciare..
1. quanto tempo richiederebbe un simile progetto potendo dedicarci diciamo un 4 / 5 ore al giorno?
2. quanto spenderei solo di materiali non hardware specifici di un PC (quindi legno, pulsanti e joystick)?
3. una scheda madre socket 775 con 2 GB RAM + cpu 3,0 GHz single core ma HT (quindi 2 core virtualizzati) andrebbe bene come base o riuscirei ad emularci ben poco?

grazie mille..

P.S.: sto vedendo anche altri siti e.. accidenti!!! che ficata!! ;)
Costruirlo da solo è una bella impresa.
Secondo me, se il tuo interesse è rivivere una sala giochi anni '80, allora ti conviene prendere un cabinato già pronto all'uso con cablatura jamma, poi ci ficchi dentro un pc (quello che hai proposto al punto 3 dovrebbe andare bene per cominciare) con una jammasd.
Poi, magari dopo qualche tempo, puoi intraprendere l'avventura di costruirne uno da zero.

In ogni caso ti consiglio http://www.arcadeitalia.net ed eventualmente http://forum.arcadecontrols.com

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

Piccolo aggiornamento dei driver per la topgun.
In allegato i driver e di seguito il diff:

Codice: Seleziona tutto

diff -ru topgun-0.2/Makefile topgun-0.3.1/Makefile
--- topgun-0.2/Makefile	2008-04-15 00:44:02.000000000 +0200
+++ topgun-0.3.1/Makefile	2011-11-17 13:04:54.874277113 +0100
@@ -11,6 +11,7 @@
 	rm -f lcdtopgun.o lcdtopgun.ko
 	rm -f lcdtopgun.mod.c lcdtopgun.mod.o
 	rm -f Module.symvers
+	rm -f modules.order
 	rm -f .lcdtopgun*
 	rm -fr .tmp_versions
 
diff -ru topgun-0.2/lcdtopgun.c topgun-0.3.1/lcdtopgun.c
--- topgun-0.2/lcdtopgun.c	2008-04-15 02:03:12.000000000 +0200
+++ topgun-0.3.1/lcdtopgun.c	2011-11-30 11:57:08.786148463 +0100
@@ -3,16 +3,25 @@
  *
  *  (c) 2006 Christophe Thibault <chris@aegis-corp.org>
  *      2008 Adolfo R. Brandes <arbrandes@gmail.com>
+ *      2011 Stefano Ansaloni <>
  *
  *  Based on GunCon2 linux driver by Brian Goines
  *  and the Xpad linux driver by Marko Friedemann
  *
  *  History:
  *
+ *  2011-11-30 - 0.3.1: (Stefano Ansaloni) Fix "info" macro
+ *   - Rewrote the "info" macro (for aesthetics reasons).
+ *   - Use "printk" instead of "info" in "usb_topgun_init()".
+ *   - Tested up to linux kernel 3.1.4.
+ *
+ *  2011-11-17 - 0.3: (Stefano Ansaloni) General update
+ *   - Compiles and runs on newer kernels (tested up to 3.1.1).
+ *
  *  2008-04-14 - 0.2: (Adolfo R. Brandes) General update
  *   - Compiles and runs on newer kernels (tested up to 2.6.24).
  *   - Rewrote the setting of bits, based on xpad360.
- *   - Added module option debug=1
+ *   - Added module option debug=1.
  */
 
 /*
@@ -54,11 +63,16 @@
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v0.2"
+#define DRIVER_VERSION "v0.3.1"
 #define DRIVER_AUTHOR "Christophe Thibault <chris@aegis-corp.org>"
 #define DRIVER_DESC "USB EMS LCD TopGun driver"
 #define DRIVER_LICENSE "GPL"
 
+/*
+ * Missing macro (at least on linux >= 3.0)
+ */
+#define info(format, arg...) printk(KERN_INFO format "\n" , ## arg)
+
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE(DRIVER_LICENSE);
@@ -124,7 +138,7 @@
 #endif
 
 	if (debug) {
-		printk(KERN_INFO "topgun_debug: data :");
+		printk(KERN_INFO "lcdtopgun_debug: data :");
 		for(i = 0; i < 20; i++) {
 			printk("0x%02x ", data[i]);
 		}
@@ -167,7 +181,7 @@
 
 static int usb_topgun_open(struct input_dev *dev)
 {
-	struct usb_topgun *topgun = dev->private;
+	struct usb_topgun *topgun = input_get_drvdata(dev);
 	int status;
 
 	if (topgun->open++)
@@ -185,7 +199,7 @@
 
 static void usb_topgun_close(struct input_dev *dev)
 {
-	struct usb_topgun *topgun = dev->private;
+	struct usb_topgun *topgun = input_get_drvdata(dev);
 
 	if (!--topgun->open)
 		usb_unlink_urb(topgun->irq);
@@ -198,7 +212,7 @@
 	struct input_dev *input_dev;
 	struct usb_endpoint_descriptor *endpoint;
 	struct usb_host_interface *interface;
-	int pipe, maxp, i;
+	int pipe, maxp, i, ret_reg;
 	char path[64];
 	char *buf;
 
@@ -224,7 +238,7 @@
 		return -ENOMEM;
 	}
 
-	topgun->data = usb_buffer_alloc(usbdev, 8, GFP_ATOMIC, &topgun->data_dma);
+	topgun->data = usb_alloc_coherent(usbdev, 8, GFP_ATOMIC, &topgun->data_dma);
 	if (!topgun->data) {
 		input_free_device(input_dev);
 		kfree(topgun);
@@ -233,7 +247,7 @@
 
 	topgun->irq = usb_alloc_urb(0, GFP_KERNEL);
 	if (!topgun->irq) {
-		usb_buffer_free(usbdev, 8, topgun->data, topgun->data_dma);
+		usb_free_coherent(usbdev, 8, topgun->data, topgun->data_dma);
 		input_free_device(input_dev);
 		kfree(topgun);
 		return -ENODEV;
@@ -264,14 +278,13 @@
 	input_dev->name = topgun->name;
 	input_dev->phys = topgun->phys;
 	usb_to_input_id(usbdev, &input_dev->id);
-	input_dev->cdev.dev = &intf->dev;
-	input_dev->private = topgun;
+	input_set_drvdata(input_dev, topgun);
 	input_dev->open = usb_topgun_open;
 	input_dev->close = usb_topgun_close;
 
 	/* Start name manipulation. */
 	if (!(buf = kmalloc(63, GFP_KERNEL))) {
-		usb_buffer_free(usbdev, 8, topgun->data, topgun->data_dma);
+		usb_free_coherent(usbdev, 8, topgun->data, topgun->data_dma);
 		kfree(topgun);
 		return -ENOMEM;
 	}
@@ -297,7 +310,7 @@
 	topgun->irq->transfer_dma = topgun->data_dma;
 	topgun->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
 
-	input_register_device(topgun->dev);
+	ret_reg = input_register_device(topgun->dev);
 
 	if (debug)
 		printk(KERN_INFO "input: %s on %s\n", topgun->name, path);
@@ -316,7 +329,7 @@
 		usb_unlink_urb(topgun->irq);
 		input_unregister_device(topgun->dev);
 		usb_free_urb(topgun->irq);
-		usb_buffer_free(interface_to_usbdev(intf), 8, topgun->data, topgun->data_dma);
+		usb_free_coherent(interface_to_usbdev(intf), 8, topgun->data, topgun->data_dma);
 		kfree(topgun);
 	}
 }
@@ -332,7 +345,7 @@
 {
 	int retval = usb_register(&usb_topgun_driver);
 	if (retval == 0) 
-		info(DRIVER_DESC " " DRIVER_VERSION " initialized" );
+		printk(KERN_INFO "%s: " DRIVER_DESC " " DRIVER_VERSION " initialized\n" , usb_topgun_driver.name);
 	return retval;
 }
 
Allegati
topgun-0.3.1.tar.bz2
EMS TopGun driver for linux
(9.67 KiB) Scaricato 262 volte

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Blallo »

Grazie per continuare a dare seguito a questo topic ansa89 :D

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Mini-Cabinato MAME e linux: aiuti e suggerimenti

Messaggio da Ansa89 »

Di nulla.
Man mano che riesco a fare qualcosa di utile (o che perlomeno io reputo tale), mi piace condividerlo :) .

Rispondi