Schede Gioco Comma 6/6a – Una proposta alternativa

Schede Gioco Comma 6/6a - Overview

Il mondo dei giochi da bar ha subito una notevole evoluzione negli ultimi 10-15 anni, passando, in relativamente poco tempo, da giochi semplici dove l’elettronica era molto contenuta, ad architetture di calcolo sempre piu’ complesse fino a richiedere l’impiego di componenti sempre piu’ complessi.

Inoltre negli ultimi tempi si e’ visto un incremento notevole del numero di sale per scommesse al cui interno sono presenti un numero elevato di macchine da gioco, anche nell’ambito delle attivita’ commerciali come bar o simili si nota un incremento notevole del numero di queste macchine.

Contemporaneamente il governo ha posto tutta la sua attenzione su queste macchine nel doppio tentativo di diminuire l’evasione fiscale e contemporaneamente proteggere il giocatore sprovveduto evitando che possa perdere troppi sodi.

Comma 6 e 6°

Il primo tentativo di controllare il settore del gioco da bar e’ stato l’introduzione delle macchine omologate comma6, cio’ e’ stato fatto connettendo queste macchine ai centri AAMS in modo telematico per poter interrogare le macchine e verificare, in quasi tempo reale, la rispondenza delle stesse alla vigente legislazione

Il comma6a introduce un ulteriore elemento di controllo realizzato mediante una smart card, data da AAMS da inserire nella scheda elettronica del gioco. I dati piu’ importanti vengono scambiati fra AAMS e la macchina da gioco tramite comunicazioni criptate, implementate nella smart card, che garantiscono i dati e al tempo stesso rendono impossibile la loro alterabilita’.

Inoltre il comma6a richiede ulteriori controlli cha vanno dal pagamento della vincita, alla durata delle partita…

Architettura di una scheda gioco

Il panorama italiano delle comma6 era praticamente basato sull’impiego di architetture impieganti micro-processori 16bit con quantita’ di memoria di decine di KB che accoglievano programmi scritti, in molti casi, con linguaggi tipo assembler o quasi. In altre parole erano architetture custom che non rispondevano a standard architetturali globali come quelli oggi impiegati. Il passaggio alla comma6a, dovendo rinverdire anche l’HW, ha richiesto, e continua a farlo, di rinnovare velocemente queste architetture. E’ chiaro che sara’ difficile restare insensibili ai vantaggi prestazionali economici e di velocita’ che architetture moderne offrono. Su queste moderne piattaforme sono stati inizialmente ambientati i giochi precedenti e poi sviluppati di nuovi.

Proprio lo sviluppo di nuovi giochi, con caratteristiche piu’ spinte dei precedenti sta richiedendo nuovo HW con performances aumentate e architetture moderne. Contemporaneamente all’HW anche il SW si sta adeguando lasciando i linguaggi un po’ troppo primitivi come l’assembler e impiegando il C o altro, ma non solo, via via si sta introducendo l’uso di sistemi operativi e con loro anche l’uso di librerie standard per la gestione della grafica, del suono…

Per una serie di ragioni logistiche che vanno dal costo, alla dissipazione o agli ingombri o, ancora piu’ importante, al rispetto dei requisiti espressi dalla normativa, le architettura basate su PC standard sono poco apprezzate, anche se hanno il vantaggio di contenere il costo dello sviluppo HW. Si preferisce ricorrere ad architetture sviluppate appositamente che allo stesso tempo permettano l’impiego di tecniche di programmazione standard.

E’ necessario notare come lo sviluppo di una nuova piattaforma HW abbia comunque un costo non trascurabile sia di sviluppo che di omologa che poi di produzione.

Tutto cio’ ha come risvolto il fatto che sia sempre piu’ difficile per gli operatori di piccole dimensioni restare al passo con i piu’ grandi sia per le richieste di risorse economiche che per mancanza di quelle tecniche. In pratica tutti gli operatori non hanno piu’ margini di manovra e si trovano a non poter piu’ sviluppare le loro idee ma sono costretti a rivolgersi ai pochi grandi operatori che, di fatto, stanno monopolizzando il mercato.

Analisi dell’architettura

Una scheda elettronica per la macchina da gioco consta delle seguenti maggiori sezioni:

    Interfaccia di I/O del tipo JAMMA
    Interfaccia CCTALK
    Interfaccia audio (fino a 10W) mono o stereo
    Interfaccia Smart-Card
    interfaccia seriale per AAMS
    Interfaccia verso il desk composta da una serie di input (switch) e output (led o lampade)
    Interfaccia verso i dispositivi di manutenzione e refill
    Gestione di dispositivi di controllo effrazione
    Capacita’ di temponare la mancanza di alimentazione per poter effettuare il salvataggio dei dati sensibili
    Interfaccia VGA (ormai ne vengono richeste due)
    Processor (uno o piu) per l’esecuzione del programma

Alcune sezioni si basano su componenti e architetture standard mentre altre devono essere sviluppate ad hoc. Lo sviluppo di HW ad hoc presenta una serie di problemi che vanno da:

    Costi e tempi di sviluppo alti
    Debugging, collaudi, certificazioni da fare
    Obsolescenze di componenti

La scelta, poi, del processor e’ estremamente critica perche’ legata ad una lunga serie di fattori fra i quali:

    know specifico del componente
    disponibilita’ e costi per l’ambiente di sviluppo e di collaudo
    debugging test e omologazioni da fare
    parametri soggettivi di valutazione che vengono da esperienze precedenti sullo stesso processor o similare

All’HW deve poi essere associato il SW, vera anima della macchina da gioco. Le varie sezioni del SW possono essere cosi’ identificate:

    driver di I/O
    gestione dei parametri sensibili
    gestione del protocollo verso AAMS, particolarmente pesante nel caso comma6a
    gestione dll’interfaccia berso il giocatore includendo anche l’aspetto grafico
    gestione delle vincite (detto motore di pagamento)

Da questa analisi nasce la proposta che segue e che intende minimizzare i tempi e i costi di sviluppo ma, allo stesso tempo, offrire una architettura che puo’ senz’altro stare in linea con i tempi.

Una proposta alternativa

Data la difficolta’ di generalizzare un solo tipo di processor (troppi fattori ne influenzano la scelta) la nostra architettura prevede che l’HW sia suddiviso in due parti, la prima,costituita dai periferici mentre la seconda dal processor. Di per se, questa scelta non produce nulla, ma se l’architettura e’ ben fatta grazie all’impiego di standard di interfaccia si ottengono i seguenti benefici:

    a)scelta del processor non sara’ piu’ vincolante, potranno essere usati processor diversi con caratteristiche diverse
    b)Elevate prestazioni in termini di velocita’, espandibilita’ …
    La separazione dell’IO solleva il processor dai compiti di gestione in real time che o deprimono le performances dei periferici oppure quelle del processor.
    c)Interfaccia con il processor standard (diverse interfacce point-to-point ), quindi il processor godra’ di tutte le librerie o API pubbliche isponibili
    d)Riusabilita’ della piattaforma stessa o facile re-industrializzazione della stessa, si consideri che la piattaforma non necessita di PCB ad elevato numero di layer e quindi tecnologicamente semplice.

La seconda parte della scheda gioco e’ composta dal processor. Come detto precedentemente il tipo di processor non e’ vincolante per la piattaforma di I/O, la connessione fra le due sezioni sara’ realizzata in accordo agli standard mondiali (vedi 1).

Questa suddivisione da’, in termini logistici i seguenti vantaggi:

    1)la piattaforma di I/O e il processor possono essere sviluppati contemporaneamente senza influenze dell’uno sull’altro. Cio’ riduce enormemente i tempi di sviluppo
    2)Riduzione dei problemi di integrazione HW data la possibilita’ di impiego di standard.
    I vantaggi sono ancora piu’ evidenti se si immagina come sia possibile sviluppare il programma su di un processor standard invece che sul target (magari perche’ non e’ ancora pronto oppure perche’ le facilities di collaudo sono piu’ performanti).

HW Periferico

Con termine HW periferico intendiamo l’HW di base che contiene tutte le interfacce della macchina da gioco. Il modulo HW periferiche si basa sull’impiego di due micro-controllori, il primo, di prestazioni contenute, restera’ sempre acceso grazie alla presenza della batteria. Questo uestomicro presenta un consumo estremamente basso per poter aumentare la durata della batteria (si parla di mesi), il consumo e’ il suo parametro principale. Altro componente che restera’ sempre acceso e’ il chip per la gestione dell’RTC se non integrato nel primo processor

Il secondo processor piu’ generoso come performances ha il compito di interfacciare tutti i periferici con il processsor centrale. In pratica il suo compito e’ quello di realizzare un dispatcher fra, il/i processor principali e i periferici. Questo compito e’ affidato ad un moderno micro-controller a 32bit.

In talune applicazioni potrebbe essere richiesto al processor principale della sezione di I/O anche lo sviluppo di alcuni task operativi. Per esempio, l’interfaccia verso AAMS puo’ essere suddivisa in almeno due livelli:

    il primo, piu’ semplice, implementa solo lo scambio con la smart-card adattando l’interfaccia fisica e oi svolgendo la cifratura/decifratura dei dati
    il secondo prevede la presa in carico completa del protocollo lasciando al processor centrale il compito del solo gioco.

Per realizzare questi task il, soprattutto per il mantenimento dei dati sensibili processore usa una memoria di tipo FLASH e una memoria RAM sotto backup.

SW

Lo sforzo, forse maggiore, e’ proprio quello di sviluppare il SW della scheda da gioco. Ci sono una serie piuttosto lunga di parametri che devono esere tenuti in conto e alcuni di questi, come la validita’ del gioco, non potranno essere verificati fin quanto il progetto sara’ installato e funzionante.

Questa suddivisione dell’HW aiuta anche nello sviluppo del SW permettendo lo sviluppo e il testing contemporaneo di piu’ moduli SW. Per esempio, grazie all’interaccia standard fra le parti e’ possibile sviluppare e testare il SW senza avere a disposizione il target, basta un semplice PC che faccia da simulatore.

L’architettura modulare dell’HW si riflette anche sul SW permettendo lo sviluppo contemporaneo delle due parti (qualora si necessario sviluppare anche la parte sull’IO).
Il sw di gioco puo’ essere sviluppato, debuggato e validato su di un processor di sviluppo (PC o altro) piuttosto che sul target godendo di tutte le facilities disponibili in un ambiente PC.

Prestazioni

La scheda di I/O e’ cosi’ organizzata:

    Batteria in back-up da 1A/h

Costi, Tempi e Disponibilita’

HW Periferico
Un progetto del modulo di HW Periferico e’ ormai completo. A seguito di un ordine di fornitura sara’ possibile iniziare la produzione con la fornitura di 5 esemplari entr 6 week dall’ordine. Siamo in grado da subito di accettare una richiesta di “customizzazione” del prodotto in genere senza costi aggiuntivi ma con forniture di almeno 20 pz alla volta.

Si e’ notato come alcuni embedded procesor pur avendo a bordo le risorse per l’audio, per il networking o piu’ semplicemente per l’I/O standard non presentano pero i driver fisici specifici, intendiamo l’amplificatore di BF, o i driver di linea (RS232…), sotto richiesta siamo in grado di generare un modulo con i driver richiesti senza costi di sviluppo.

HW Processor e Grafica
La parte HW di processing della scheda da gioco non e’ determinate ai fini del buon funzionamento della scheda di IO. La filosofia di base e’ sempre basata sulla standardizzazione delle interfacce, in questa ottica la scheda di gioco e’ in grado di accogliere piu’ processor comunicanti fra loro. Questa architettura ha permesso lo sviluppo di schede con:

    un solo processor che fungeva sia da CPU che da GPU (Graphic Processor Unit).
    Un processor di elaborazione ed un GPU
    Un processor di elaborazione e fino a tre moduli GPU.

L’interfaccia di scambio e’ di nuovo una interfaccia standard ad alte prestazioni che connette tuti i processor, la sezione di IO e’ connessa ad un solo processor contemporaneamente ma puo’ essere “pilotata”, in tempi diversi, da piu’ processor.

SW
Grazie all’elevata standardizzazione del progetto siamo in grado di:

    a)fornire il modulo con le librerie che lasciano il cliente in grado di gestire direttamente i periferici connessi (Layer walk-throw).
    b)Sviluppare librerie in grado di effettuare una serie di servizi che gestiscono i periferici (tutti o in parte) “sollevando” il processor da task in tempo reale (Layer). Il costo di sviluppo sara’ valutato in funzione delle specifiche.

Come ulteriore performances il modulo di I/O puo’ ospitare librerie (o in genere moduli) del cliente, in questo caso il dispatching viene comunque fatto dal sw di base che provvede a “chiamare” le procedure del cliente.

Caratteristiche Tecniche della Scheda di Gioco sezione HW Periferico

Meccaniche

    Dimensioni: 200x160 mm
    Dotata di fori di fissaggio meccanico per il coperchio

Elettriche

    Alimentazione: 5V per 500mA
    Batteria: 1.2A/h

Periferici

    Connettore Jamma
    16 ingressi TTL
    16 uscite con open-collector
    Batteria in backup con capapcita’ di 5Vx1A/ora
    Interfaccia RS232 per AAMS
    Interfaccia RS232/RS422 con il processor
    Interfaccia LAN con il processor 10/100Mbps
    Interfaccia SPI con il processor
    RTC presettabile dal processsor
    Tamper interno controllato anche durante l’assenza della tensione di alimentazione
    Possibilita’ di connessione di un tamper esterno
    Interfaccia per Smart-Card

Tamper

    Un primo tamper connesso al contenitore della scheda gioco
    Un secondo tamper a protezione del vano o del cablaggio della scheda gioco
    Un terzo tamper a protezione dell’apertura della macchina da gioco

Avvisatori acustici

    Un primo avvisatore acustico per tamper abbinato all’apertura della scheda gioco
    Un secondo e terzo segnale come avvisatore rispettivamente per il secondo e terzo tamper

Graphic Processor
Esattamente in questo momento vi sono una serie di sconvolgimenti proprio nell’ambito dell’embedded graphic processing. Societa’ di grosso calibro come INTEL o NVIDIA suggeriscono architetture e chip-set con prestazioni da brivido (milioni di triangoli prodotti al secondo), la lotta si sta spostando sulla grafica 3D con macchine di rendering appositamente studiate.
Questi componenti pur rivolgendosi al mercato embedded in realta’ tendono a coprire il mercato dei pc portatili di nuova generazione ed in genere di unita’ mobili che possano permettere all’utente di lvorare come con il pc di casa.

Non e’ chiaro quanto questo trend penetrera’ anche in mercati diversi che non richiedono prestazioni elevatissime ma magari vogliono poter costruire il circuito senza tecnologie esasperate.

Proprio per questa ragione anche i piu semplici chip, quali gli ARM stanno migrando su tecnologie piu’ spinte ma senza richiedere uno forzo che deve essere ripagato da centinaia di migliaia di esemplari.
Probabilmente nel 2010 anche gli ARM evolveranno (ci sono ormai segni inequivocabili di cio’) verso macchine grafiche piu’ complesse che andranno a coprire il mercato del portatili di basso profilo (attenzione basso significa comunque una macchina di tutto rispetto paragonata agli esempi di oggi).

In quest’ambito e’ interessante un chip della ATMEL (famiglia ARM9 serie 9263) che grazie a particolari strutture interne e’ poco penalizzato dal traffico dati prodotto da una VGA del tipo 1Kx1K.

La proposta per un processor grafico allo stato dell’arte, facilmente avvicinabile da utenti da poche migliaia di esemplari, si basa sull’impiego di questo componente.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend