[ARREGLADO] Problema con XELECTOR (no funciona) en XBOX v1.1 con TSOP M8+F+G+MOD

Buenas, tengo una Xbox descrita en el título y el problema que tengo es que no me deja hacer por ejemplo; para el botón POWER que lance el XBMC4XBOX (lo hace), pero a la hora de lanzar el CoinsOP 8 Massive (lo tengo puesto en G:/EL nombre QUE me DICE el ASISTENTE de XELECTOR) vamos que por rutas no creo que sea... y la cuestión es que si le doy al botón de abrir bandeja, simplemente la abre y lanza el XBMC4XBOX y se olvida del CoinOPs... ¿Alguna idea? @hal9000 puedes echarme una mano, por favor? Te lo agradecería :)
Que versión de BDI estás usando?. Doy por supuesto que te dejó seleccionar el co cuando lo configuraste.
También supongo que lo que te refieres a abrir la bandeja es arrancar con el botón eject, dejar que la xbox cierre la boca y ahí debería de lanzar el co massive
Gracias por tu pronta respuesta Hall, pues creo que la última...
La última es BDI 108_rev01.rar . Si es en raíz de G, la ruta que te pide es G:\Coinops Massive\
Has probado a configurar que te lance el Splash?, a ver si te da el mismo error?
Supongo que has tenido en cuenta que ppara que te haga el dualboot debes elegir que botón hace la función. Me explico un poco mas.
Si se elige que con el Eject se inicie por ejemplo el Evox y luego me voy a Ambos, en vez de Power y configuro XBMC, me va a arrancar en todos los casos con XBMC
Le doy a power, configuro el XBMC4XBOX con ese botón, después CAMBIAR a EJECT, un ratito de carga y ya dentro del menú BOTON EJECT, elijo la opción correcta Premium Massive en la ruta correcta... Creo que lo hago bien, no?

EDITO: @hal9000 De 10 veces que la enciendo con el EJECT, 2 ha cargado el CoinOPs8 Premium Massive
Vale, Premium Massive en G: y no te da ningún error al seleccionarlo?
Cuando en vez del Premium te sale el XBMC, puedes lanzar el Premium desde el XBMC?
EDIT
Ufff que raro es como si se cerrase demasiado deprisa la bandeja y la app que se encarga de controlar esto, lo diera por cerrada.
Usas exploit o chip?
Lo elijo y no da ningún error, después salgo y se va al xbmc, apago la xbox y la enciendo con eject, entonces la bandeja se queda abierta y lanza xbmc, después puedo entrar al massive en su correspondiente sección... Cuando cierra la bandeja y LED naranja entonces si carga el masive, sino... Xbmc al canto.

He probado a dejar de fábrica el borg-OS y lo mismo
Se atranca la bandeja de tu xbox?. De todas formas se por donde van los tiros y por increíble que parezca he perdido las fuentes para compilar el xbe (trayboot) y no hay forma humana de encontrarlas en la red
No, va perfecta, se abre que da gusto... Como dato relevante, el lector no es el de serie, es otro que se lo cambié hace tiempo, pero hasta hoy no me dio por hacerle dualboot
A que te refieres con que no es el de serie, que es de PC o de otra XBOX. el problema es que el fichero xbe encargado de comprobar si la bandeja está abierta o cerrada y según sea cerrarla y lanzar una determinada app, lleva un un pequeño retardo de milisegundos, me imagino que hay que aumentarlo. Como he mencionado estoy revolviendo cielo y tierra paro no hay forma de localizar las fuentes.
Me refiero que viene de otra XBOX, el que tenía estaba estropeado se lo cambié hace tiempecillo. Justo lo mismo pensé yo, creo que el tema está en el tiempo de respuesta es tan bajo que no lanza la app, con aumentarlo un poquito fijo que se corrige, pero claro, no aparecen las fuentes... Una lástima. Aún así; ¿Se podría hacer de tal manera que al darle al ABRIR lance la app sin que llegase a abrir la bandeja y ahorrarse el proceso "Abrir-cerrar"?

EDITO: @Hal9000 como dato importante, si enciendo la consola dándole a EJECT tan rápido que a veces nisiquiera enciende la consola de lo rápido que acciono el botón, la probabilidad de que cargue el Massive aumenta a casi un 70% de las veces... Es curioso!
Entonces, pasa lo siguiente. arrancas con Eject, se abre la bandeja y se vuelve a cerrar pero sin llegar a cambiar de color el led y por ende no arranca lo que tengas seleccionado.
Lo del cambio de color del led es importante pues con eso se sabe si hace bien el trayboot
Te explico con pelos y señales:

Enciendo la consola con power = carga XBMC4XBOX
Enciendo la consola con eject = Probabilidad de que cargue Coins o no, según tenga ganas la consola de cargarlo o no xD

Si se queda la bandeja abierta = carga XBMC4XBOX
Si se cierra y cambia led = carga Coins

A mi nunca se me ha cerrado sola y seguía con led normal, siempre que se cierra sola, cambia led para cargar coins.
OK, he conseguido las fuentes, dime que tienes ahora mismo, el xelector normal?

;; Traystate3.asm

%include "header.asm"

kernel_thunk:

HalReadSMBusValue:      dd   0x80000000 + 45
HalReturnToFirmware:      dd   0x80000000 + 49
HalWriteSMBusValue:      dd   0x80000000 + 50
LaunchDataPage:         dd   0x80000000 + 164
MmAllocateContiguousMemory:   dd   0x80000000 + 165
MmPersistContiguousMemory:   dd   0x80000000 + 178
            dd   0          ; end of table   
   align 4

start:   cld
fan:    push   word 000Ah         ; speed 10-50 (00Ah-032h) Puesto a minimo (000A)
   push   byte 0
   push   byte 6            ; fan_register
   push   byte 20h      ; pic_address
   call   dword [HalWriteSMBusValue]
   push   byte 1
   push   byte 0
   push   byte 5          ; fan_mode
   push   byte 20h      ; pic_address
   call   dword [HalWriteSMBusValue]
;----------------------------------------
   mov     eax,tray_data1      ; get tray state
   push   eax
        push    byte 0
        push    byte 3
        push    byte 20h
   call   dword [HalReadSMBusValue]
        cmp     byte [tray_data1], 10h   ; 10h = open, anything else is closed
   je      short .t_opn
   mov   eax, 000Fh         ; ORANGE led "closed". Cambiado a verde (000F)
   call    set_led            ; go set it
   jmp   short do_xbe      ; normal boot tray_data2 is zero
;----------------------------------------
.t_opn   mov   eax,00FFh           ; RED led $F0 "open for now". Cambiado a naranja (00FF)
   call    set_led         ; go set it
;-------
   mov   eax,0x1FFFFFFF
dly_0   dec   eax
   jnz     short dly_0      ; ~ 1 sec
;----------------------------------------
   push   byte 1         ; close tray
   push   byte 0
   push   byte 0Ch        ; tray_mode
   push   byte 20h      ; pic_address
   call   dword [HalWriteSMBusValue]
;----------------------------------------
TS_lp:   mov   eax,0x01FFFFFF
dly_1   dec   eax
   jnz     short dly_1      ; ~ 1/15 sec
;-------
   mov     eax, tray_data2      ; read after tray is closed
   push   eax
        push    byte 0
        push    byte 3
        push    byte 20h
   call   dword [HalReadSMBusValue]
;-------
        cmp     byte [tray_data2],40h   ; 40h = no disk
   je      short do_xbe      ; Bandeja cerrada, va al dash primario
        cmp     byte [tray_data2],60h   ; 60h = game disk
   jne     short do_xbe      ; Bandeja abierta, al cerrarse va al dash alternativo haya o no haya un metido disco
;   jne     short TS_lp      ; Bandeja abierta, al cerrarse va al dash alternativo siempre y cuando no haya un disco
;-------
   mov   eax, 00EBh         ; Orange Red Orange Green
   call    set_led         ; change it (xmas tree) and boot Cdrom
   mov   esi,[LaunchDataPage]
   mov   ebx,[esi]
   jmp   short go_cd      ; boot cd default.xbe. Si el disco no está firmado con la key Habibi salta el error 21
;----------------------------------------
do_xbe:   mov   esi,[LaunchDataPage]
   mov   edi,0x0100      ; bytes to hold xbe path ?????
   mov   ebx,[esi]
   test   ebx,ebx
   jnz   .memok

   push   edi
   call   dword [MmAllocateContiguousMemory]
   mov   ebx,eax
   mov   [esi],eax

.memok:   push   byte 1
   push   edi
   push   ebx
   call   dword [MmPersistContiguousMemory]

   mov   edi,ebx
   xor   eax,eax
   mov   ecx,0x0100      ; bytes to zero ?????
   rep   stosd

   or   dword [ebx],byte -1
   mov   [ebx+4],eax
   lea   edi,[ebx+8]
   
   cmp     byte [tray_data2],0h   ; if zero tray was closed at boot
   je   short bt_nm      ; boot normal
   lea   esi,[xbestr_nd]
   push   byte XBESTRLEN_ND   ; boot no disk xbe
   jmp     short go_xbe
;-------
bt_nm   lea   esi,[xbestr]
   push   byte XBESTRLEN
go_xbe   pop   ecx
   rep   movsb
go_cd   push   byte 2
   call   dword [HalReturnToFirmware]
.inf:   jmp   short .inf
;----------------------------------------
set_led:
   push   eax         ; must be dword size
   push   byte 0
   push   byte 8          ; led_register
   push   byte 20h      ; pic_address
   call   dword [HalWriteSMBusValue]
   push   byte 1
   push   byte 0
   push   byte 7          ; led_mode
   push   byte 20h      ; pic_address
   call   dword [HalWriteSMBusValue]
   ret   
;--------------------------------------------------------------------------------------
tray_data1   dd 0      ; put tray data here (yes, it's in the code section)
tray_data2      dd 0        ; 2nd read if tray was open at boot (after close)

   align 16

xbestr      db '\Device\Harddisk0\Partition2\xodash\data;close.xbe',0   
      times 31 db 0         ;;
XBESTRLEN   equ $-xbestr

   align 16

xbestr_nd   db '\Device\Harddisk0\Partition2\xodash\data;open.xbe',0
      times 5 db 0            ;; > patch back
XBESTRLEN_ND   equ $-xbestr_nd
;--------------------------------------------------------------------------------------
%include "footer.asm"
Xelector normal, power+eject (power led normal, eject led naranja) con arranque XBMC en power y CoinsOP Massive Premium en Eject
XBOX v1.1 con TSOP M8+ (F+G+MOD)
Borrado
Luego lo pongo



Nota
No está compilado con el SDK de Microsoft
Prueba realizada, de 10 intentos, han fallado 3 veces, las otras 7 ha cargado el CoinsOps del tirón. Así que aún no va fino fino [+risas]

Edito: Hice backup del default.xbe original por si las moscas renombrándolo a defaultbkp.xbe
Espera que no es ese fichero, bueno si, pero ese solo actuá en modo exploit, luego te paso el bueno

Copiar en E:\Apps\Borg-OS\xelector\ el fichero ya existe, sobreescribirlo.


No lleva SDK de Microsoft

Adjuntos

Ok, restauro entonces el original y ya cuando tengas tiempo pues me pasas el otro! Así se corrigue para futuras versiónes del Borg-OS :D
@Hal9000 de 10 intentos, 7 cargó correctamente CoinsOPS y 3 ejecutó XBMC quedándose la bandeja abierta.

Lo cual, sigue fallando [tomaaa]

EDITO: Hice una segunda prueba y... 3 veces cargó CoinsOPs y 7 el XBMC. Justo al revés.

Esto es una lotería. [poraki]
Venga. otraaaaaa prueba, donde antes


Sino te va, siempre te queda xselect y hacer el dualboot según el boton que pulses del mando al arrancar.

Adjuntos

Nop, ahora 50% posibilidades de que cargue tanto uno como otro (xbmc o coins). Tampoco va correctamente...

EDITO: Estoy probando BOTONES FíSICOS EN LA CONSOLA, NADA DE MANDOS REMOTOS NI NADA EH! jaja

EDITO 2: La cuestión es que el XSelect me es más incómodo porque yo con el dualboot voy sobrado, paso de encender la consola dejando pulsado un botón en el mando, se me hace incómodo :-S

Sino a unas malas... Restauro la configuración inicial desde Borg.OS y la dejo que se encienda con ambos botones y cargue XBMC4XBOX y ya desde ahí cargo el CoinsOpMassivePremium
De 10 intentos, 6 veces cargó XBMC y 4 CoinsOP. Sigue fallando a tope [mad]

Tienes pensado probar algo más? o Restauro con el Borg.OS y lo dejo como dije que haría
Highwind escribió:De 10 intentos, 6 veces cargó XBMC y 4 CoinsOP. Sigue fallando a tope [mad]

Tienes pensado probar algo más? o Restauro con el Borg.OS y lo dejo como dije que haría

Puedo mirar algo.. pero ya con mas tiempo. El motivo del fallo es por lo que sea cuando intenta comprobar la bandeja, cree que está cerrada, de ahí que no la cierre, no haya cambio de color del led y que no salte el dash deseado
No hace falta restaurar, con que hagas un ciclo de xelector inverso y xelector normal ya queda todo borrado

EDITADO

Mas pruebas.

Adjuntos

Con prueba 7 nunca he llegado a entrar con eject aunque hace algo curioso: "Consola apagada, enciendo con eject, se abre la bandeja y cuando aún no está abierta del todo se pone un instante de color naranja el led pero vuelve al verde y la bandeja se queda abierta, cargando XBMC

Prueba 8: ESTA PARECE LA DEFINITIVA!! 100% exito, lo he probado dándole un toque rapido al eject, dejandolo pulsado un ratito, etc. sea como sea, habré probado unas 20 veces y todas funcionaron! asi que...

Prueba 9: Me la ahorro jajaja

Gracias @hal9000 por la grandísima ayuda! Ya para la próxima revisión del Borg.OS una cosita menos que ya funciona :D

Saludos!!!!

Por cierto, tengo mucho tiempo libre, si necesitas ayuda en algún momento probando cosas, cuenta conmigo!
Te falta la prueba 10, al menos ya se lo que pasa en tu xbox, creo que tienes la animación quitada y la bios carga rápida como el diablo, tan rápida que ejecuta el dual.xbe estando la bandeja casi abierta, pero no del todo y eso equivale a cerrada.
Si tuvieras exploit esto no te pasaría pues como es algo mas lento en cargar no tendrías problemas
He puesto un retardo de 2 segundos, eso le da tiempo a la bandeja de abrir del todo.

EDit

la 10 es mala

Adjuntos

Claro @hal9000 tal como dice el anuncio del hilo, Xbox 1.1 con TSOP M8 F+G+MOD = Salta animación fluber!

Lo dicho, por ahora me quedo con la 8 que me funciona el 100% de las veces! y te vuelvo a decir que si necesitas ayuda con lo que sea, cuenta conmigo!
Mira la 11, si te va bien del todo ya la incluyo de serie en el BDI [sati]

Adjuntos

Va perfectisima, unas 25 pruebas y todas más que perfectas, eres un fuera de serie, @hal9000 enhorabuena!
hal9000 escribió:Mira la 11, si te va bien del todo ya la incluyo de serie en el BDI [sati]

A mi me pasa algo parecido con Exploit. ¿Se me solucionará con el 11? (uso Eject para XBMC)
Con exploit?, es raro puesto que el exploit es mas larga la carga y no es capaz de "ganar" a la bandeja.
De todas formas mañana intento sacar una rev del BDI con los tiempos del dualboot alargados
Nota.
En el exploit no es ese el fichero encargado del trayboot
hal9000 escribió:Con exploit?, es raro puesto que el exploit es mas larga la carga y no es capaz de "ganar" a la bandeja.
De todas formas mañana intento sacar una rev del BDI con los tiempos del dualboot alargados
Nota.
En el exploit no es ese el fichero encargado del trayboot


¿Entonces tengo que esperar a que se cierre la bandeja? Tampoco es que sea una molestia, la verdad, aunque hasta que no leí en el tema que había que esperar y demás pensaba que estaría bug o algo lo del dualboot
Hay dos forma de hacer el tray boot, una es que cierre automáticamente la bandeja y otra es que se quede abierta hasta que el usuario la cierre.
En todo los casos, si se cierra, antes del cambio de color del led, equivale a bandeja cerrada.
36 respuestas