Ejecutar comandos mediante AdvMENU, ui_command
- Bubu -
view post Escrito el 21/8/2006, 00:17
Avatar

¿Andandará la meta?

Grupo: Moderadores generales
Mensajes: 1136
Location: En los 80


Status: Offline: ultima azione eseguita il 15/1/2007, 01:00


Hola,

¿sabe alguien cómor se pueden ejecutar comandos externos desde AdvMENU? Sé que se puede, pero no cómo. Leyendo el manual de AdvMENU existe una instrucción del fichero de configuración que es ui_command:

CODE
ui_command "NOMBRE EN MENU" SCRIPT


En mi caso, quiero que desde AdvMENU (bajo MSDOS) se pueda ejecutar el window$, es decir, WIN.EXE. Pues bien, en el advmenu.rc he puesto la siguiente línea:



CODE
ui_command "SALIR AL WINDOW$ ESE" WIN.EXE


Ejecuto AdvMENU, y efectivamente me sale esa opción. Pero cuando la elijo, el menú sigue tan pancho. No se ejecuta nada.

¿Arguna ayudita?
jandrogo
view post Escrito el 21/8/2006, 00:52
Avatar

Ese es mi Wonderboy!!

Grupo: Member
Mensajes: 86
Location: Vallés Occidental


Status: Offline: ultima azione eseguita il 15/1/2007, 17:46


Hola Bubu, antes de nada comentarte que no soy un experto del advmenu/advmame, pero creo que los tiros no van por ahi.

La instrucción a la que te refieres :
CODE
ui_command "NOMBRE EN MENU" SCRIPT

, ejecuta un script del propio 'pseudolenguaje' del advmenu, pero en ningun caso un ejecutable.

La información correspondiente a estos scripts esta en el archivo script.txt/script.htm del directorio doc. Un ejemplo de script seria este, que iluminaria el 3º led del teclado/ipac cuando se mete moneda en el coin1

CODE
script_coin1 on(0, 0b100); delay(500); off(0, 0b100);


Yo estuve mirando este tipo de scripts para que se me encendieran o no las bombillas de los monederos dependiendo de si habian creditos acomulados, pero llegue a un punto que no supe como poner contandores y dejé de interesarme por el tema...

Creo que es complicado lo que quieres hacer, pero tal vez lo consigas engañando al advmenu tratando el win.exe como si fuera un emulador

CODE
emulator "MESS" dmess "mess\mess.exe" ""

CODE
emulator "WINDOWS" windows "windows\win.exe" ""


prueba a ver si esto funciona, y ya contaras el que

un saludete Bubu ;)
- Bubu -
view post Escrito el 21/8/2006, 01:04
Avatar

¿Andandará la meta?

Grupo: Moderadores generales
Mensajes: 1136
Location: En los 80


Status: Offline: ultima azione eseguita il 15/1/2007, 01:00


jandrogo, creo que ese documento de scripts es para asociarlos a eventos:

CODE
You can assign a script at every event. The script is started when the event is triggered


Lo que yo digo son comandos. Mira en el siguiente documento:

ui_command

Fíjate el ejemplo que usa:

CODE
ui_command "Delete Hiscore" \
   rm ~/.advance/hi/%s.hi


Ha creado un comando para borrar los records de un determinado juego, y se ejecuta mediante la instrucción "rm" del Linux. Supongo que en MSDOS habrá forma de ejecutar el win.exe, pero es que no tengo npi...

Muchas gracias, jandrogo
jandrogo
view post Escrito el 21/8/2006, 01:23
Avatar

Ese es mi Wonderboy!!

Grupo: Member
Mensajes: 86
Location: Vallés Occidental


Status: Offline: ultima azione eseguita il 15/1/2007, 17:46


Toda la razón Bubu

Prueba a poner la ruta de windows, que creo que en la línia de código no la tienes puesta:

CODE
ui_command "SALIR AL WINDOW$ ESE" WIN.EXE

CODE
ui_command "SALIR AL WINDOW$ ESE" C:\WINDOWS\WIN.EXE

Si es que tienes el windows instalado asi

A ver si hay suerte ahora, aunque hay una linia en la documentación que mosquea:

"Defines the user commands. These commands are executed as shell scripts. The video mode is not changed, so they must be silent. "

Por lo tanto, como windows tiene unos modos de video diferentes -a parte de la gestion de memoria respecto msdos- lo mas seguro es que no funcione

De todas formas, lucha, lucha :D

Modificado por jandrogo - 21/8/2006, 02:28
- Bubu -
view post Escrito el 21/8/2006, 01:46
Avatar

¿Andandará la meta?

Grupo: Moderadores generales
Mensajes: 1136
Location: En los 80


Status: Offline: ultima azione eseguita il 15/1/2007, 01:00


Pues eso podría ser, torpedo.
Saco ahora mismo el teclado de dentro de la recre y lo cato a ver.

Resultados en los próximos minutos...


Nasti de plasti.

He puesto esto (por cierto, resulta que win es com, no exe, qué cosas...):

CODE
ui_command "SALIR AL WINDOW$ ESE" C:\WINDOWS\WIN.COM


Y ni caso. Si salgo del AdvMENU a MSDOS y ejecuto exactamente C:\WINDOWS\WIN.COM carga el window$ ese sin poblemas. Así que va a ser lo que tú dices, lo del modo gráfico.

Se ve que esto de los comandos sirve para pequeñas instrucciones del S.O. como lo de borrar records.

Va a ser que no. La opción de dar de alta a window$ como un emulador no me acaba de convencer, funcionaría pero no la veo elegante. Quizás si creo un .bat con la orden win dentro y lanzo ese bat... Bueno, gracias de todas formas, jandrogo.




Confirmado, es lo del silent seguro, porque me he creado un comando que genera un fichero jarl.txt y lo hace sin problemas al lanzarlo desde AdvMENU.

Una pena...
jandrogo
view post Escrito el 21/8/2006, 10:56
Avatar

Ese es mi Wonderboy!!

Grupo: Member
Mensajes: 86
Location: Vallés Occidental


Status: Offline: ultima azione eseguita il 15/1/2007, 17:46


Mala suerte Bubu

Windows 98, aunque prácticamente sea un parche que 'tapa' msdos, gestiona la memoria y los modos de video de forma diferente a este. Así que acceder desde el advmenu de msdos a win y volver otra vez a advmenu va a ser tarea dificil

Otra cosa es que entres en windows y luego al salir le pongas 'reiniciar en modo msdos', y a la salida se ejecute un bat que te vuelva a redirigir al advmenu, esto tal vez tire, pero debes encontrar la forma de entrar en windows. La de 'convertirlo' en emulador es la mas obvia pero desconozco si puede haber otra

Un saludo y suerte
- Bubu -
view post Escrito el 22/8/2006, 00:18
Avatar

¿Andandará la meta?

Grupo: Moderadores generales
Mensajes: 1136
Location: En los 80


Status: Offline: ultima azione eseguita il 15/1/2007, 01:00


Pues sí, resulta que hay forma, jiji.
Se trata de hacer que BootGUI sea YES. Como sabéis, Win98 permite 2 modos de instalación. El GUI=NO significa que te quedas en MSDOS y para entrar en Win98 hay que teclear WIN; y el GUI=YES, que significa que entras en Win98 automáticamente tras cargar MSDOS.

El truco está en ponerlo a que YES. De esta manera, se ejecuta el AUTOEXEC que indica que cargue el AdvMENU. En ese momento, la carga de Win98 sepospone porque está corriendo ese pograma del Autoexec. Ahora pulso ESCAPE. Entonces, es cuando se carga wl GUI, es decir, Win98.

Está mu bien así.

Gracias !!!
6 respuesta(s) desde el 21/8/2006, 00:17