Teorias sobre como hacer backups

1, 2, 3, 4, 5, 6
Originalmente enviado por dawser
billy, ¿cómo se desactivan las excepciones en C++?. ¿Qué juegos has compilado "sin excepciones"?. Con todo el respeto, que uno no sepa o no domine algunos conceptos y facilidades de un lenguaje de programación es algo que no tienen porqué llevar a menospreciarlas. Piensa que si el estándar incluye las excepciones y todos los compiladores (y la STL) las soportan, es por algo. Piensa también en programas de más de unos miles de líneas de código hackeadas por algún genio que no necesita comentarlas porque se las sabe de memoria. Piensa en programas que usando múltiples threads necesiten alguna forma de recuperarse de errores imprevistos, en programas servidor que no pueden simplemente "salir" cuando encuentran el más leve error...

No todo el mundo programa juegos.

Todo esto es sólo una reflexión, con todo el respeto y sin ánimo de ofender. El problema es que a veces somos demasiado chapuceros, y nos gusta leernos un par de documentos "del ASPI" y leer sectores de un DVD como locos sin más en lugar de aprender bien las cosas [ginyo]



Entiendo tu punto de vista, claro que lo entiendo, pero la experiencia que yo tengo en C++ (mayormente en juegos) es la de NO usar excepciones, ya que ralentizan un webo...(en C no hay excepciones y los programas son igual de buenos que en C++)simplemente se usan "petadas" (funciones de error) que hagan ellas el trabajo sucio.



Obviamente no me considero un "master" de la programación...pero tampoco considero que el VB sea una kk...(como dicen algunos, no puedes hablar con el empresario de que sea una kk, ya q automáticamente te tachan de la lista).

Lo de ser chapuceros con las ASPI, tienes razón, he leído un par de docs, y he probado algunas cosillas "a lo cutre" (no he seguido pq no tengo DVD), pero esque para ser "Experto" en algo hay que echar muuuuchas horas, y la verdad es que convertirme en un Experto en ASPI.....como que no :-p, prefiero ser un experto en [beer] [beer] jeje.

Un saludín.
Pues el problema es, LG DRD-8160B baje el firmware de una web, en formato .hex, pero ocupa 300K el mamon asi que los programas de cambio de formato de .hex a .bin algunos no permiten mas de 64K, yo en concreto baje el HEX2BIN , le dije que el fichero era de 1024 ( para forzarlo ) y que lo convirtiera. Pero claro, ahora viene el problema, yo desensamble el .bin con el H8S ya que pensaba que ese era el procesador, pero NOOOOOOOOO no lo es, parece ser que es otro, asi que menuda putada, y no encuentro por ningun sitio cual es el procesador en concreto! argg
En fin de todas formas lo que desensamble con el H8S me salio un peazo txt de 1.3M, el cuel edite y a partir de cierto punto se repetia hasta el final, asi que todo eso deduzco que son la extension de las 300K hasta completar el 1024 que le force, y lo borre.
Pero claro, deduzco que me pierdo aparte del poco ASM y las nulas ASPI que se, porque no es el fichero correcto :)
De tods formas, es raro porque el fichero resultante si tiene sentido, hice una busqueda de el AND.*3F y me aparecen cosas con sentido, como la que puse ya hace unos dias.

En fin que a mi los del EvoX me la pelan, sigo con lo mio :) aunque medio desesperado ya!
¿por qué piensas que hay que usar comandos específicos de tu DVD y no vale con los genéricos del estándar?. Esos están muy bien documentados en t10.org.
Originalmente enviado por dawser
¿por qué piensas que hay que usar comandos específicos de tu DVD y no vale con los genéricos del estándar?. Esos están muy bien documentados en t10.org.


no sé si habrás leído el hilo entero...o tienes información que desconocemos :), pero los dvd de xbox tienen una TOC falsa, y los datos del juego están detrás de esa toc falsa....y por lo que he visto, ningun comando de las aspi, permite "retocar" la TOC...(aunque he visto por ahí un reset...que me ha gustado, pero no encuentro info sobre él :( )


saludos.
En mi humilde opinión, me parece que la opción que comentas como "Enable C++ exception handling" no tiene nada que ver con el uso de "try" y "catch" habitual. Visual C++ (que por otro lado no es el único ocmpilador de C++ :) ) antes de incorporar muchas de las características del estándar ISO del 97 tenía por defecto un comportamiento de manejo de excepciones asíncrono. Esto es que cualquie instrucción podía generar una excepción. El uso de "C++ exceptions" hace que sólo se tengan en cuenta excepciones generadas en bloques "try-catch", lo que hace que el código generado sea más compacto (y menos a prueba de fallos). Por otro lado cuando hablo de C++, en general hablo del lenguaje en sí. Visual C++ ha sido siempre una implementación mediana del estándar, hasta que .NET ha mejorado las cosas. Como compilador es bueno y rápido, pero en lo que se refiere a soporte del lenguaje no es más que intermedio, peor que gcc, por ejemplo.

En cuanto a lo de los comandos estándar, yo que tú le preguntaría a Yursoft, no quiero ser satanizado ni nada parecido. Soy un "novato" en el foro. Aunque llevo visitando ElOtroLado desde hace mucho tiempo, siempre he preferido permanecer pasivo. La Naturaleza nos da dos oidos para escuchar y una sóla boca para hablar la mitad (Epíteto ?). También tenemos dos ojos para leer antes de hablar...el problema es que el hombre crea máquinas infernales como el teclado que nos deja diez dedos para escribir paridas sin parar (como éstas) [jaja]

Saludos a todos :)
weno, ya nos estamos pasando de offtopic.:)


ok, (lo de desactivar las excepciones ha sido una cagadilla mía, aun así, los juegos se compilan sin soporte para execpciones,te he puesto el ejemplo de visual C, pq el Gcc,etc... no los domino -aunque el visc, tampoco :)- el caso es q se desactivan ! :) )

de todos modos, se te ve más experto que yo (no es un piropo, ser más experto que yo es fácil XD XD XD), así q no me pienso meter contigo :)...pero un día de éstos hazte un tetris, que te quiero comentar unas cosillas sobre el bucle principal :)



bueno, respecto lo de las instrucciones estándar....éso es lo que yo pienso tb...que tiene que haber una manera de leerlo "estándar "(que es microsoft, por favor :) )...no tengo dvd, asín q no puedo hacer muchas pruebas, pero imagino que si intento "jakear" el cd, haciéndole leer un CD más grande que el que hay....

weno

saludines.
[Madox] por internet hay bastantes programas que utilizan las aspis.Yo hace tiempo me baje unos cuantos para ver como se utilizaban,como ayuda.
Ya hace tiempo de esto y la verdad no recuerdo las paginas. Pero he encontrado en mi viejo disco duro un txt que contenia esta pagina http://www.geocities.com/SiliconValley/Byte/7125/ prueba aqui y si no hay nada en cualquier buscador poniendo aspis visual c o el lenguaje que sea fijo que te salen bastantes paginas con codigo abierto.
SALUDOS
Originalmente enviado por Yursoft
Si no sabeis exactamnet esi habeis desamblado la firmware con el desamblador del micro correcto, fijaos en cosas que no cuadran que son por ejemplo, realizacion de un Comparar y luego hacer una suma sbre ese mismo registro, o un salto incondicional despues de un comparar, o carga del mismo registro con diferentes valores seguidos... ;)


Si bueno, eso en el 90% de los casos, por que siguen haciendo cosas muy raras a veces XD

Desde luego quien ha programado las firmwares no puede ser humano XD
Gracias elric pero el link no funciona [tomaaa]
Para desensamblarlo entero lo mejor es el IDA y paciencia. Como a muchas partes del código se llega sólo mediante saltos a través de registros o llamadas a interrupciones, lo mejor es buscar instrucciones lógicas y volver a desensamblar desde ahí (pulsando C).

Por ejemplo, si tienes un Toshiba, que usa el Z80, cosas como FE XX (=cp XX) donde XX puede ser un código de comando o el ya comentado E6 3F (=and 3F) para limpiar la parte del AGID de un determinado byte de algunas instrucciones (READ DVD STRUCTURE, REPORT KEY,...). Con eso es fácil encontrar en qué dirección de memoria se almacenan los bytes correspondientes a la entrada de comandos y a partir de ahí y con el manual (para saber qué bytes almacenan cada parámetro) sacar la parte del código que corresponde a los distintos comandos. Así se pueden buscar comandos que no deberían estar ahí...;)
dawser podrias comentarme un poco lo q hace este trocito de codigo para ver com funciona esto :

0000 F3 DI
0001 31FFC7 LD SP,$C7FF
0004 C37900 JP $0079

0007 00 NOP
0008 B7 OR A,A
0009 ED52 SBC HL,DE
000B C9 RET


Por ejemplo la linea q dice ( 0000 F3 DI ) a q hace referencia el F3
La instruccion DI q significa, es q las instrucciones la mitad no se q significan, JP es un salto?? SBC es la llamada a una subrutina??

Tambien aparecen JR, EX, DJNZ, LDIR, etc.


Y el IDA q es un programa para desensamblar???


Un saludo [ginyo]
Aquí encontrarás la datasheet del Z80, que creo que es más fácil que escribir todas las instrucciones del Z80 :)

http://z80.info/zip/z80cpu_um.pdf

El IDA es un desensamblador, pero tampoco te preocupes mucho porque ya veo que te has hecho con otro. Para algo tan sencillo (por cantidad de código) cualquiera vale. El IDA es muy útil cuando quieres buscar referencias cruzadas o tienes programas de varios megas...
Gracias por la info dawser [ginyo]
Veo q el tema esta parado [decaio]

En cuanto tenga un poco de tiempo o cuando termine de currar me pongo con las instrucciones del procesador Z80 [ginyo]

A ver si alguien se anima y pone algo de info [sonrisa]

Un saludo [ginyo]
Yo llevo 3 semanas haciendo un curso y he estado muy liado y casi sin tocar el ordenador.

Termino esta semana, asi que a ver si me puedo volver a poner :)
Yo tengo una teoria de como hacer backups, me he currado un programilla que se llama evox, y me conecto por ftp a la xbox, para leer los DVD.

Notese que es broma, pero me hace gracia recusitar este hilo tan antiguo, y para sacar conclusiones, a veces nos complicamos tanto para algunas cosas, cuando en realidad son mucho mas "faciles"....
268 respuestas
1, 2, 3, 4, 5, 6