Regresar   Foro de marcianitos.org > Pinballs y otras máquinas automáticas > Pinballs

 
 
Old 21-feb-2008, 13:38   #111
Manofwar
Marciano
 
Avatar de Manofwar
Ghostri he diseñado varios hardware; marcadores con y sin microcontrolador PIC, multiplexados para ahorrar componentes o sin multiplexar. Pásame por privado un correo y te envío los esquemas, el firmware del PIC y la dll.

Paturlas, a ver si tengo un rato y pruebo tu tabla.

Joseccgc, gracias por la info, pero me parece que esas son las medidas del marcador completo. Lo que necesito es el alto del número del marcador.

Creo que para el hardware voy a optar por la versión con PIC y displays multiplexados. Con esta opción se consigue ahorrar componentes, un circuito impreso más fácil de realizar (1 sola cara) y a la vez más pequeño. Esto implica comprar o hacerse un programador de PIC, pero el desembolso es pequeño o la dificultad de hacerlo es mínima.

En cuanto a la dll, tengo implementadas algunas funciones para el control, son estas:

SetDisplayNumber (ID_Display, Number): Presenta un número en un único display seleccionado.

SetDisplayText (ID_Display, Character): Presenta un carácter en un único display seleccionado.


SetDisplayVPinMame (ID_Display, Segments): Esta función hace lo mismo que la anterior, pero con los valores que VPinMame devuelve en su función ChangedLeds.

SetPort(AddrPort): Establece la dirección del puerto paralelo donde está conectado el hardware

SetLamp(ID_Lamp, OnOff): Enciende o apaga la bombilla seleccionada.

SetSolenoids(ID_Solenoid, OnOff): Enciende o apaga la bobina seleccionada.

Funciones a medio hacer:

ChangedSwitches(): Función que devuelve un array de dos dimensiones con una relación de ID de los interruptores que han cambiado desde la última consulta y su estado (On/Off)

SetScoreNumber(ID_Score, Value); Función que presenta en un marcador (agrupación de 7 ó 2 displays) el valor numérico pasado.

SetScoreText(ID_Score, Text); Función que presenta en un marcador (agrupación de 7 ó 2 displays) el string pasado.

Esto es todo por ahora, si falta alguna función que pueda ser útil y facilite posteriormente la programación de la tabla sólo pedidla y veré lo que puedo hacer.

Saludos

Editado por Manofwar en 22-feb-2008 a las 12:11.
   
Old 21-feb-2008, 16:01   #112
joseccgc
VmWareando ESX 3.5
 
Avatar de joseccgc
Jopelines, como controlas. Animo.
   
Old 22-feb-2008, 12:29   #113
kapotik
Usuario registrado
manofwar a mi tambien me interesaria probar el har, me podrias pasar lo mismo que le ofreciste a ghostri? gracias
   
Old 22-feb-2008, 12:41   #114
Manofwar
Marciano
 
Avatar de Manofwar
Sin problemas, mándame privado con email.

Saludos
   
Old 25-feb-2008, 15:21   #115
Manofwar
Marciano
 
Avatar de Manofwar
A los que me han pedido esquemas del hardware, decirles que van a tener que esperar unos días.

Este fin de semana he estado de visita en la casa de mis suegros y el aburrimiento hizo que replantease todo el hardware, dejandoló en unos integrados menos. Esto implica algún cambio también en el software. Así que un poco de paciencia.

En unos días espero haber recibido los displays, así que lo probaré antes de enviaros los esquemas y demás.

¿Álguien tiene catálogo con precios de repuestos de pinball? Es para ir mirando y a la hora de que la tabla este diseñada, hacer un pedido para montarla.

Saludos
   
Old 25-feb-2008, 19:12   #116
el pelanas
Marciano
La segunda modificacion de la tabla que hice, sin dianas pero con el tema de la iluminacion de los premios activados solucionada (bueno, es un poco "ñapa" pero hay que fijarse):

http://mihd.net/acgh38

Y aqui, la ultima modificacion, con dianas abatibles y cambios en el juego:

http://mihd.net/d9v36p

y aqui esta la mesa de paturlas modificada, ahora puntua, cuenta las bolas y las partidas, solo le he podido poner un premio (de bola extra) porque no he tenido mas tiempo, pero para ponerle mas premios y reglas al juego no es mas que fijarse en los scripts, copiar los mismos parrafos EXACTAMENTE IGUAL, RESPETANDO ESPACIOS, LINEAS, MAYUSCULAS, MINUSCULAS -que si no no funciona- (pero con las luces que quieras que activen el premio) y cambiar el premio por el que se quiera:

http://mihd.net/hci7az

os explico un poco para que trasteeis:

PREMIO DE BOLA EXTRA (que ya esta hecho): AddBall 1 (si quieres que en vez de 1 bola extra quieres que de 3, pues escribes AddBall 3)

PREMIO DE PARTIDA (ESPECIAL): en vez de escribir AddBall, escribes AddCredit

PREMIO DE PUNTOS: AddScore 500000 (premio de 500000 puntos)

ejemplo: tengo 2 dianas: Wall1 y Wall2, un contacto: Trigger1, y 4 luces: Light1, Light2, Light3 y Light4

y quiero hacer una combinacion para que tirando las 2 dianas, me de una partida cada vez que la bola pise el contacto: se hace EXACTAMENTE asi, tomad nota:

lo primero de todo, pinchamos en Wall1, vamos a OPTIONS y marcamos las opciones "can drop" y "has it event" (o algo asi creo que ponia, estan las dos en el mismo apartado), y esto mismo lo hacemos con Wall2

ahora, vamos a SCRIPT y escribimos, EXACTAMENTE TAL CUAL LO DIGO AQUI, Y ESCRIBIENDOLO EXACTAMENTE DE LA MISMA FORMA, RESPETANDO MAYUSCULAS, MINUSCULAS, ESPACIOS, LINEAS, TODO:

Sub Wall1_Hit()
Wall1.IsDropped=1
Light1.State=1
Check
End Sub

Sub Wall2_Hit()
Wall2.IsDropped=1
Light2.State=1
Check
End Sub

Sub Trigger1_Hit()
Light3.State=1
End Sub

Sub Check

If Light1.State=1 and Light2.State=1 Then
Light4.State=1
End If

If Light1.State=1 and Light2.State=1 and Light3.State=1 Then
AddCredit 1
Light3.State=0
End If

la luz 4 (Light4) es la que se enciende justo en el sitio (diana/pasillo/etc...) en el que se ha activado el premio, y para que quede guay se le pone un cartel (decall) en el que pone ESPECIAL, BOLA EXTRA o el premio que sea

la luz 3 (Light3) es la que se ilumina cuando la bola pisa el contacto pero para que vuelva a dar premio tiene que encenderse otra vez (.State=1) por lo tanto, para que pueda volverse a encender, primero tiene que apagarse (.State=0) esta luz hay que ocultarla para que no se vea porque es la "ñapa" que hay que hacer

las luces 2 y 1 (Light2 y Light1) se encienden al derribar, cada una, su correspondiente diana

y para que al colarse la bola se apague todo y suban las dianas y reste una bola, hay que escribir en el apartado SCRIPT:

Sub Drain_Hit()
Drain.DestroyBall
Light1.State=0
Light2.State=0
Light3.State=0
Light4.State=0
Wall1.IsDropped=0
Wall2.IsDropped=0
AddBall -1
End Sub



he cambiado la fisica (elasticidad, fuerza bumpers, inclinacion) a mi gusto porque iba lentisima (puede ser por mi ordenador, que es una tortuga y por eso tengo que ponerle 13 de inclinacion, elasticidad 7 y 9 en los petacos, fuerza en los bumpers 20, esque si no me va muy lento el juego, y tengo que acelerarlo de alguna forma, jejejejeje) pero luego a vosotros os va como un trueno, bueno, cambiais la fisica a vuestros gustos

espero vuestras opiniones, y si algo no os sale, me preguntais

un saludo
   
Old 25-feb-2008, 19:13   #117
joseccgc
VmWareando ESX 3.5
 
Avatar de joseccgc
Jopelines, sois la caña de España. Que nivel, Maribel.
   
Old 27-feb-2008, 12:48   #118
el pelanas
Marciano
perdon, se me habia olvidado:

en el apartado SCRIPT tambien teneis que escribir, TAL CUAL LO ESCRIBO, no estoy seguro si encima de todo lo que os he puesto antes o puede ir debajo o no importa el orden :

dim Score, Ball, Credit

"dim" en minuscula y TODAS LAS DEMAS PALABRAS con la primera letra en Mayuscula y separadas con una coma y despues un espacio

y no estoy seguro si tambien hay que incluir las palabras Points, Balls, Credits, Check

saludos
   
Old 27-feb-2008, 16:49   #119
kursh_Allegory
Editor Marciano
pelanas,

Lo que hace la frase dim Score, Ball, Credit es definir esas 3 variables

Vamos.., que para definir variables (las que contendran valores como puntuaciones, numero de bolas, partidas etcetc) tienes que poner

Dim variable1, variable2, etc... y así todas las que quieras, puedes poner varias lineas con dim, y en visual basic al menos puedes crearlas en mitad del programa aunque es recomendable poner estas definiciones al principio.

usease que las palabras Points, Balls, Credits, Check si no las pones no pasa nada....

si en alguna parte del programa se usa por ejemplo Points = Points + 10

si que habrá que "definirla" incluyendola en la linea de "Dim"

espero te sirva de ayuda..

me molaría implicarme pero el curro me come las horas y me es imposible recordar como se programaba, pero era muy intuitivo y relativamente sencillo

animo
   
Old 28-feb-2008, 02:55   #120
Manofwar
Marciano
 
Avatar de Manofwar
Ya tengo el hardware de los marcadores casi al 100%. A falta de unos integrados, sólo he podido poner un display. Es el display del centro en el marcador de la Canasta en VPinball.

La prueba. No es de mucha calidad pero se ve el funcionamiento.


Editado por Manofwar en 28-feb-2008 a las 03:02.