Skip to main content

Impresoras TITO en máquinas de juego: qué hacer cuando se va la luz a mitad de un ticket

Imprimir un ticket TITO parece la parte fácil de una máquina electrónica de juego (EGM): el jugador cobra, la máquina descuenta los créditos y la impresora saca un voucher con su número de validación. Funciona miles de veces al día sin que nadie lo piense.

Hasta que se va la luz a mitad de la impresión. Integrando impresoras térmicas JCM GEN5 y TransAct Epic 950, ese fue por mucho el caso más difícil: decidir si un ticket a medio imprimir es válido o hay que anularlo (void).

Cómo se imprime un ticket

El flujo normal, bien hecho, sigue la regla de primero registrar, después actuar:

  1. Guardar en NVRAM “ticket pendiente por X créditos” con su número de validación, y descontar los créditos.
  2. Mandar el ticket a la impresora.
  3. Cuando la impresora confirma, marcar el ticket como impreso.

Si la luz se va antes del paso 2 o después del 3, no hay problema. El problema está en medio.

El momento que decide todo: el número de validación

Un ticket sin número de validación es solo papel. En cuanto la impresora alcanza a escribir el número, el ticket existe: alguien lo puede llevar a la caja o a otra máquina. A partir de ese punto solo hay dos salidas correctas:

  • El ticket es válido y los créditos ya se descontaron.
  • El ticket se anula de forma explícita y queda registrado.

Lo que nunca puede pasar es devolver los créditos a la máquina y que el ticket siga siendo válido. Eso es pagar dos veces.

Físicamente, un ticket anulado tampoco se ve siempre igual. En nuestras pruebas, según el escenario de corte, a veces salía con “VOID” impreso y a veces salía en blanco. Por eso el papel no puede ser la fuente de verdad: lo que cuenta es lo que quedó registrado en la máquina y en el sistema del casino.

Después de anular, la máquina reintenta la impresión con un ticket nuevo, y el anulado ya no lo acepta ninguna otra máquina. El jugador recibe su dinero una sola vez.

Por qué es tan difícil

Sobre el papel, la regla es simple. En la práctica, el problema es el tiempo:

  • No sabes exactamente dónde se cortó. La luz se fue en algún punto entre “mandé el ticket” y “la impresora confirmó”. ¿Alcanzó a imprimir el número? ¿Solo la mitad?
  • La impresora reinicia igual que la máquina. Al volver la energía, cada una tiene que reportar su estado, y la máquina tiene que interpretarlo antes de hacer cualquier otra cosa.
  • El jugador no espera. Mientras la máquina reinicia, el jugador puede jalar el ticket que quedó en la boca de la impresora. Si la máquina pensaba anularlo al terminar de arrancar, ya es tarde: el ticket se fue sin anular.

Cada impresora habla distinto

La JCM GEN5 y la TransAct Epic 950 hacen lo mismo, pero no reportan su estado igual. Cada una tiene sus propias banderas para indicar si hay un ticket presentado, si se retiró, si hubo atasco o si se quedó sin papel, y no siempre significan exactamente lo mismo.

La solución que recomiendo es una capa por modelo que traduzca las banderas de cada impresora a un conjunto común de estados. Así, la lógica de recuperación se escribe y se prueba una sola vez, y agregar otro modelo de impresora no obliga a tocarla.

Recomendaciones

  • El número de validación es el punto sin retorno. Diseña el flujo alrededor de esa pregunta: ¿pudo haber quedado impreso o no?
  • Guarda en NVRAM cada cambio de estado de la impresión, no solo el inicio y el final.
  • Al arrancar, pregunta primero a la impresora. Antes de habilitar el juego o devolver créditos, resuelve el ticket pendiente con el estado real de la impresora.
  • Ante la duda, nunca devuelvas créditos con un ticket posiblemente válido afuera. Trátalo como emitido o anúlalo de forma explícita y registrada.
  • Anular y reintentar. Un ticket anulado no debe poder cobrarse en ninguna máquina ni en caja, y la impresión se reintenta con uno nuevo.
  • Prueba cortes de luz en cada modelo, en distintos puntos de la impresión, y prueba también jalar el ticket mientras la máquina reinicia.

¿Necesitas ayuda con impresoras o validadores?

Somos un equipo en Ciudad de México que trabaja con fabricantes y estudios de juegos en SAS, periféricos (impresoras TITO, validadores de billetes, botoneras) y certificación GLI. Puedes ver lo que hacemos en desarrollo SAS y periféricos EGM o leer también cómo recuperar billetes y tickets en validadores.