Si elijo un archivo que pesa 2048 KBytes. Quiero hacer un programa con Visual C# o en modo consola que sea capaz de partirlo a 1024 KBytes, exactamente partirlo por la mitad, no casi la mitad, sino la mitad exacto.
Cuando sea capaz de hacerlo, que lo vuelva a unir y que estor archivos no estén corruptos.
Estoy usando el programa ILSpy que puedes descargar aquí. http://ilspy.net/
Se trata que muestra algo del código fuente.
Aquí hay un programa hecho en C, creo que lo hizo con el Visual Studio v8.0 del C o el C++, no estoy seguro.
La descarga es un ejecutable. Es el que quiero hacerle ingeniería inversa.
Descarga directa el programa llamado bankswap.exe. Puedes tener aviso en tu navegador favorito porque descarga un archivo exe y por seguridad lo bloquea. Intento 1. Pues no me sirve el ILSpy ya que solo usa VB, C# y otro que no tiene nada que ver con C nativo, sino el tema del .net, no puede hacer nada.
Si hay otro programa mejor para ver algo de código del que está hecho y hacer el propio programa desde cero con C# o el C++ de visual Studio Express.
Lo que he podido hacer es meter una rom en que he hecho con C# y que lo ponga en el escritorio, sin modicarlo, tal como está.
Este programa lo ejecutas, te dice que va a crear un archivo que está metido en el propio exe, te pide una contraseña y es: SNES
Luego te crea un archivo rar donde está el juego dentro o la rom.
Otro método sin pedir contraseña y sin ejecutar el ejecutable o exe es, tene instalado winrar, descomprime el archivo descargado que está abajo y se llama Generador_SNESv0.05.exe, con el ratón haces clic con el segundo botón y haz clic en Extraer aquí.
Ya se ha creado el archivo o la ROM Illusion of Time (E).smc como indica la imagen de abajo sin ejecutar el exe.
Informáticos de buen corazón, tengo un problema importante y necesito vuestra ayuda. En mi Mac tengo dos discos duros, uno para el OS y Aplicaciones y otro para datos. He formateado por error el disco de datos y necesito recuperar esa información, me va la vida en ello. No he sobreescrito nada en absoluto en ese disco desde ese momento. Me he bajado un programa de pago que se llama Stellar Phoenix Mac Data Recovery y he hecho un escaneo profundo y únicamente me encuentra lo que veis en la imagen, que evidentemente no es lo que busco. Me he descargado otro programa que se llama Data Rescue 4 y estoy haciendo otro escaneo profundo (faltan 7 horas), pero me temo que el resultado va a ser similar al anterior. ¿QUE PUEDO HACER? HELP!
El Google Earth de antes ponías coordenadas UTM X,Y y Z como este que quiero poner y no me sale.
328394,16 para X. 3122916,79 para Y 980 m para Z.
Al menos la X y la Y.
Ahora son con grados y no se si este últo Google Earth es capaz de poner todavía las X , Y como antes. No se si está esa opción, al menos no lo encuentro.
Ahora es otra manera, lo expresa así: 28°13'5.50"N 16°45'28.47"O
Compré dos 74HC14. Me arrepentí de comprarlo por que son inversores y son dos IC que podría haber comprado uno que no sea inversor y que tiene 8 puertas.
Quiero saber si hay iguales que este pero que no sea inversores, que no hagan cambios lógicos, solo que tenga histéresis, a parte de ello, este mismo de arriba tiene 6.
1) ¿Hay el no inversor?
2) Si lo hay. ¿Cómo se llama?
3) ¿Hay de más pines?
4) Si los hay de más pines. ¿Cuál es su variedad de los que venden en el mercado hoy en día?
Les dejo el tutorial en pdf con un enlacetemporal para que lo miren y den sugerencias de como está hecho. Hecho en sentido del tutorial si está bien para que los novatos lo entiendan y hacer sus pequeños pinitos con el puerto serie y la electrónica.
Tengo otro hecho con lenguajes C#, VB.net C++, Java y VB 6 que es parte de este, estoy haciendo ahora mismo y me falta añadirle electrónica. Cuando esté acabado compelto, lo haré público. Si quieres un adelante, te lo paso por e-mail.
He hecho algo muy básico con C#. He puesto la compilación de Ilusion of time dentro de un archivo .exe y y comprimido a .rar para ahorras memoria. Por ahora solo hace esto, crear archivo de SNES que está almacenado en los array de una variable dentro del .exe como dije antes, y que se crea al lado del ejecutable. Cuando lo hayas creados si aceptas dentro del programa, puedes probar ese archivo en los emuladores de SNES para saber si realmente funcionen con ustedes también.
Más adelante se podrá ahcer modificacones internas como hacen ustes con los programas que usan y saber detalles como información interna, si es PAL o NTSC y más cosas.
Esto lo hago de modo curiosidad y didactico.
Dentro de él se puede almacenar, cualqueiro archivo, vídeos, fotos, pdf, lo que sea. Eso si, que ocupe muy poco espacio.
Si quieres probar, nos cuentas si has podido generar el archivo y probarlo en un emulador de SNES. En esta versión no se puede modificar nada, solo crear el archivo o juego para probarlo en el emulador. Si lo has probado tengas éxito o no, lo hace saber por aquí en modo Post Data: o por privado.
En cuanto al cartucho, tengo intención de hacer una buena PCB con varios EEPROM, al menos 5 para cada juego de Sonic.
Para que se hagan una idea. Hice algo para una SNES, cambiar de juego en dos EEPROM con 4 juegos pulsando Reset durante dos segundos. Tengo pocos conocimiento sobre cartuchos y EEPROM de Mega Drive. Les puedo ayudar con el mundo de la electrónica y microcontroladores.
Para que se hagan una idea de un mini proyecto. Se trata de hacer lograr que cambie de juego pulsando Reset de la SNES, mientras se muestra con un display de 7 segmentos el orden, y ésta se queda en memoria del PIC como último juego cargado, es decir, si has jugado el juego número 3, al encender la consola se inicia el tercer juego de la placa.
Esquema básico cambio de juego. Los Led amarillos van conectados en los pines de las EEPROM para poder cambiar de juego.
Vídeo probando en una demoboard. Led azules que vean, es el cambio de juego, simulándolo en este caso. El número del display es cada juego. Un display de 7 seg. más pequeño va incrustado al cartucho.
Para quellos que no consiga en su local preferido de electrónica el PIC16F88, me pueden decir cual tienen preguntándoselo, lo cuentan aquí y los programo, así podrán hacer sus placas sin problemas. Los más demandados suelen ser: PIC16F87 PIC16F627A PIC16F628A PIC16F648A y algunos más.
Por si alguien encuentran otros PIC en vez del 16F88.
Hay personas que me han pedido que haga otro esquema, aún no lo he programado, piden el PIC16F630 que el que tienen junto con un decodificador 74LS48. Es más electrónica pero funciona.
Muchos ánimos quien se aventure en hacer su propia PCB. Eso si, hablando de Mega Drive. Para diseñar bien el circuito necesario para cambiar de juegos. Algunos me han pedido que haga pongan un pulsador directamente en el cartucho para seleccionar el juego. Hay mil maneras de hacer algo, así que adelante.
Mirando ejemplos, hay personas que usan microinterruptores en vez de un solo pulsador.
Como ejemplo, quedará una placa PCB así, como muestra abajo.
Gracias a muchos sitios he logrado enviar comandos o datos al puerto serie para que Arduino lo entienda, ya se puede apagar y encender un Led.
En estos momentos me falta lograr que desde el puerto serie con VB 6 me lleguen los datos y se muestre en el componente Text como indica esta imagen.
Su código es hecho hasta el momento es:
Código:
Private Sub Form_Load() With Me.ComboBoxCOM Set WMIObjectSet = GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_PnPEntity") For Each wmiobject In WMIObjectSet If InStr(wmiobject.Name, "COM") Then ComboBoxCOM.AddItem wmiobject.Name
Dim nCom% ' Buscamos el número del puerto: nCom = InStrRev(wmiobject.Name, "COM", , vbTextCompare) nCom = Val(Mid(wmiobject.Name, nCom + 3))
ComboBoxCOM.ItemData(ComboBoxCOM.NewIndex) = nCom End If Next Set WMIObjectSet = Nothing
If ComboBoxCOM.ListCount = 0 Then MsgBox "No se encontraron puertos COM." Exit Sub End If
' Para seleccionar el primer puerto encontrado: ComboBoxCOM.ListIndex = 0 End With End Sub
Private Sub ComboBoxCOM_Click() ' Configurar MSComm With Me.ComboBoxCOM MSComm_Puerto_Serie.CommPort = ComboBoxCOM.ItemData(ComboBoxCOM.ListIndex) End With End Sub
' Si ya has seleccionado un puerto en el comboBox ' Si pulsas conectar abre el puerto y si no lo cierra. Private Sub Command_CONECTAR_Click() If Not MSComm_Puerto_Serie.PortOpen Then MSComm_Puerto_Serie.PortOpen = True ' Abrir puerto serie. Command_CONECTAR.Caption = "DESCONECTAR" ' Mostrar texto en el botón. ComboBoxCOM.Enabled = False Command_Led_8_ON.Enabled = True ' Activar botón ON. Command_Led_8_OFF.Enabled = True ' Activar botón OFF. Else MSComm_Puerto_Serie.PortOpen = False ' Cerrar puerto serie. Command_CONECTAR.Caption = "CONECTAR" ' Mostrar texto en el botón. ComboBoxCOM.Enabled = True Command_Led_8_ON.Enabled = False ' Desactivar botón ON. Command_Led_8_OFF.Enabled = False ' Desactivar botón OFF. End If End Sub
Private Sub Command_Led_8_OFF_Click() ' Envía este cadena de carácter por el puerto serie. MSComm_Puerto_Serie.Output = "Led_8_OFF" End Sub
Private Sub Command_Led_8_ON_Click() ' Envía este cadena de carácter por el puerto serie. MSComm_Puerto_Serie.Output = "Led_8_ON" End Sub
Como dije antes, necesito una ayudita sobre recibir datos desde el puerto serie para completas este tutorial.
¿Estás dispuesto a ayudar?
Un cordial saludo.
PD: Tengo otro con VB .net, C++, C# y Java de lo mismo en PDF, el que lo quiera lo hace saber y pongo unenlace temporal aquí mismo.
PD2: Dejo claro que el tutorial está aún incompelto, sobre todo me falta la parte de la electrónica y en tutorial de VB 6 será colocado dentro del mismo pdf que los demás lenguajes.