Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Christian010

#1
Que tal, hoy les traigo esta máquina virtual para CHIP-8 que codifique para entrar en el mundo de la emulación.  :D

CHIP-8 es un pequeño intérprete que venía en ciertas computadoras antiguas y en la actualidad permite ejecutar ciertas joyas como PONG, SPACE INVADERS, TETRIS entre otras.

Capturas:



(Esto es PONG, la pelotita acababa de anotar cuando tome la captura xD)






Está escrita en viejo y confiable ANSI C (O al menos la mayor parte, use Visual Studio para compilarlo y me vi forzado a usar algunas instrucciones _s), utiliza Allegro 5 para manejo de gráficos, controles, reloj y sonido. Es muy rápido, casi no consume nada de recursos y gracias a su capacidad de ejecutar ciertas instrucciones de 2 modos (No todos los programas de CHIP-8 esperan el mismo comportamiento de algunas instrucciones) es altamente compatible. A excepción de ciertos ROMs híbridos, ningún ROM de CHIP-8 se le resiste.

Además de la gran precisión de emulación y el buen manejo de recursos este emulador incluye una función "AntiFlickering" que elimina en la gran mayoría de los juegos (depende de cómo haya sido programado) el molesto efecto de parpadeo que aqueja al CHIP-8 debido a su diseño. Hasta donde yo sé (tampoco es que haya investigado mucho) este es el único emulador de CHIP-8 que cuenta con esto.

El código es limpio y está escrito con mucho cuidado (O por lo menos eso creo xD), tiene buena documentación y podría ser una excelente herramienta a modo de ejemplo para aquel que estudia organización y estructura de computadoras o algo similar.

La aplicación se puede ejecutar por la línea de comandos, pero lo más fácil es que descargues el empaquetado que pondré aquí abajo, descomprimas, tomes algún ROM (ya incluí algunos, tienen extensión .ch8) y lo sueltes encima de Emuleightor.exe

Emuleightor.zip (El empaquetado con el programa ya compilado y algunos juegos, podria requerir una versión de .NET framework)

Emuleightor.c (Código fuente solo)

Emuleightor.zip (Solucion de VS 2013, para aquellos que no quieren pelearse con las dependencias de Allegro, solo requiere que la version para Visual Studio de este se encuentre descomprimida en C:\allegro)

PD: Los controles dependen mucho del juego, pero las teclas mapeadas son:

1234
QWER
ASDF
ZXCV
#2
WarZone / Hack-Web_EAS
19 Abril 2011, 23:17 PM
Hola,

Solo pasando a preguntar si la prueba Hack-Web_EAS esta operativa.

Cierta URL oculta en un Iframe esta devolviendo un error 404, y no estoy seguro si es un error en la prueba o es para simular un sistema escolar jodido (Que seria toda una novedad)  :laugh:.

Salu2  :D
#3
Software / DLL Genius 1.0 (Liberado)
9 Enero 2011, 16:36 PM
Bueno, esta aplicacion es la que termino en primer lugar en el concurso [Ehn-Dev 2010]. En ese momento estaba en fase beta, pero la versión final ya esta lista y aquí se las dejo:

DLL Genius es una aplicación que te permitirá descargar y registrar librerías .DLL automáticamente con solo indicar el nombre de esta.

Ademas, también te permitirá registrar y des registrar archivos .OCX y .DLL que tengas en tu equipo.



Descarga

#4
Bueno aqui les tengo un tuto para cargar un listview desde visualbasic.net,  y guardarlo.

Utilizaremos Microsoft Visual Basic 2008

Primero abrimos un nuevo proyecto y agregamos 2 botones y un listview

Propiedades: listiview con gridlines en true,view en detalis, y agregamos 2 columnas

al final queda asi:



ahora el codigo para cargar el listview, este cargara 2 archivos de texto que se encuentren en la misma carpeta que la app el primero lo llamaremos primero y sera el que se agregue en la primera columna el otro lo llamaremos segundo y sera el que se cargue en la segunda columna.

el programa leera linea por linea el archivo y por cada linea agregara un item al listview


   'la declaramos como un sub para poder llamarla despues facilmente
    Sub leer()
        'comprobamos que existen los arcivos de texto
        If My.Computer.FileSystem.FileExists(Application.StartupPath + "/primera.txt") And My.Computer.FileSystem.FileExists(Application.StartupPath + "/segunda.txt") Then
            'borramos el listview por seguridad
            ListView1.Items.Clear()
            'empezamos a leer
            Dim sr As New System.IO.StreamReader( _
    Application.StartupPath + "/primera.txt", _
    System.Text.Encoding.Default, _
    True)
            ' Leer el contenido mientras no se llegue al final
            While sr.Peek() <> -1
                ' Leer una líena del archivo
                Dim s As String = sr.ReadLine()
                ' Si no está vacía, añadirla al listview
                ' Si está vacía, continuar
                If String.IsNullOrEmpty(s) Then
                    Continue While
                End If
                'añadirla al listview
                ListView1.Items.Add(s)
            End While
            ' Cerrar el archivo
            sr.Close()
            'abrimos el segundo archivo
            Dim sd As New System.IO.StreamReader( _
       Application.StartupPath + "/segunda.txt", _
       System.Text.Encoding.Default, _
       True)
            ' Leer el contenido mientras no se llegue al final
            While sd.Peek() <> -1
                'Creamos un bucle algo complicado para poner el subitem
                Dim na As Integer
                na = 0
                Dim laItem As ListViewItem
                Dim a As Integer
                For a = 1 To ListView1.Items.Count
                    If na = ListView1.Items.Count Then
                    Else
                        For Each laItem In ListView1.Items
                            'Leer una líena del archivo
                            Dim s As String
                            s = sd.ReadLine
                            ' Si no está vacía, añadirla al listview
                            ' Si está vacía, continuar
                            If String.IsNullOrEmpty(s) Then
                                Continue While
                            End If
                            'añadirla al listview
                            ListView1.Items(na).SubItems.Add(s)
                            na = na + 1
                        Next
                    End If
                Next
            End While
            sd.Close()
            'ordenamos los datos
            ListView1.Sort()
        Else
            MsgBox("No se encontro la base de datos, se cargara con las tablas vacias", MsgBoxStyle.Critical, "Error")
            ListView1.Items.Clear()
            'aqui va el mensaje de error si no se encuentra los archivos de texto
        End If


y para llamar la instruccion solo hace falta escribir leer() en el codigo, si queremos que cargue al presionar el boton seria

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        leer()
    End Sub


y ya con esto la aplicacion carga los datos



ahora lo segundo, guardar los datos

    Sub guardar()
        'borramos la base de datos antigua
        If My.Computer.FileSystem.FileExists(Application.StartupPath + "/primera.txt") Then My.Computer.FileSystem.DeleteFile(Application.StartupPath + "/primera.txt")
        'hacemos un bucle para obtener los datos de la primer columna
        Dim nu As Integer
        nu = 0
        Dim loItem As ListViewItem
        Dim i As Integer
        For i = 1 To ListView1.Items.Count
            If nu = ListView1.Items.Count Then
            Else
                For Each loItem In ListView1.Items
                    'guardamos la nueva base de datos
                    My.Computer.FileSystem.WriteAllText(Application.StartupPath + "/primera.txt", ListView1.Items(nu).Text + vbCrLf, True)
                    nu = nu + 1
                Next
            End If
        Next
        'borramos la segunda
        If My.Computer.FileSystem.FileExists(Application.StartupPath + "/segunda.txt") Then My.Computer.FileSystem.DeleteFile(Application.StartupPath + "/segunda.txt")
        'hacemos de nuevo un bucle
        Dim na As Integer
        na = 0
        Dim laItem As ListViewItem
        Dim a As Integer
        For a = 1 To ListView1.Items.Count
            If na = ListView1.Items.Count Then
            Else
                For Each laItem In ListView1.Items
                    'lo guardamos
                    My.Computer.FileSystem.WriteAllText(Application.StartupPath + "/segunda.txt", ListView1.Items(na).SubItems(1).Text + vbCrLf, True)
                    na = na + 1
                Next
            End If
        Next
    End Sub


y al igual que con el otro lo podemos llamar como guardar ()

en el boton seria

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        guardar()
    End Sub


y ya con eso queda, este codigo se puede usar en varios proyectos

solo le hace falta como modificar los datos  ;D pero eso es facil de hacer

les dejo el proyecto ya compilado

http://www.badongo.com/file/12099321

salu2  ;D
#5
Bueno pues estos 3 proyectos antes eran freeware pero ya no puedo seguir actualizandolos asi que ahora los libero open para quien lo quiera

USB Protection: http://www.badongo.com/file/12085180

Antivirus para usb con capacidad de actualizarse, tiempo real, escaneo,cuarentena y mantener un control de los archivos del usb.Este se lleva en el pendrive y se puede ejecutar ahi



Portable Cyber Control: http://www.badongo.com/file/12085194

Control de ciber cafe portable

Pc Protection: http://www.badongo.com/file/12085187

Parecido a usb protection. pero este se instala en el pc y cuando un usb se conecta lo escanea.

salu2  :D
#6
Bueno pues traigo mi primer aporte para esta comunidad una pequeña vacuna para las variantes de los virus RECYCLER

bueno primero necesitamos saber que Usb escanear, para eso agregamos un control "ComboBox" lo agregamos y ponemos un boton con el texto "actualizar"  con el siguiente codigo:

        ComboBox1.Items.Clear()
        Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim drive As IO.DriveInfo
        For Each drive In allDrives
            If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
                ComboBox1.Items.Add(drive.Name)
            End If
        Next

con este boton el combox obtendra la lista de todos los usb conectados al equipo
(ademas seria bueno agregarlo al load del formulario)

luego ponemos un boton con el texto "escanear"

y el siguiente codigo


'Este para evitar errores
        If ComboBox1.SelectedItem = "" Then
            MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
        Else
            'Aqui va el codigo de la vacuna
            Try
                'declaramos cual es la unidad
                Dim usb As String
                usb = ComboBox1.Text
                'buscamos la clasica carpeta
                If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                    'Obtenemos los archivos reales de la carpeta
                    For Each foundFile As String In My.Computer.FileSystem.GetFiles _
        (usb + "/RECYCLER", _
        FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los archivos
                        IO.File.SetAttributes(foundFile, IO.FileAttributes.Normal)
                    Next
                    'Obtenemos las subcarpetas reales de la carpeta
                    For Each foundDirectory As String In _
                    My.Computer.FileSystem.GetDirectories _
                    (usb + "/RECYCLER", _
                     FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los subdirectorios
                        IO.File.SetAttributes(foundDirectory, IO.FileAttributes.Normal)
                    Next
                    'Quitamos privilegios a la carpeta en si
                    IO.File.SetAttributes(usb + "/RECYCLER", IO.FileAttributes.Normal)
                    'y por fin la borramos
                    My.Computer.FileSystem.DeleteDirectory(usb + "/RECYCLER", FileIO.DeleteDirectoryOption.DeleteAllContents)
                    'Nos aseguramos que ya no hay virus
                    If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                        MsgBox("No se logro eliminar el virus", MsgBoxStyle.Exclamation, "Error")
                    Else
                        MsgBox("Virus eliminado con exito", MsgBoxStyle.Information, "Exito")
                    End If
                Else
                    'Si no se encontro el virus este mensaje aparece
                    MsgBox("No se encontro el virus", MsgBoxStyle.Information, "Informacion")
                End If
            Catch
                'Un mensaje de error personalizado simple
                MsgBox("Error durante la operacion", MsgBoxStyle.Critical, "Error")
            End Try
        End If


en total el codigo de la vacuna seria este:


Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ComboBox1.Items.Clear()
        Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim drive As IO.DriveInfo
        For Each drive In allDrives
            If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
                ComboBox1.Items.Add(drive.Name)
            End If
        Next

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.Items.Clear()
        Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim drive As IO.DriveInfo
        For Each drive In allDrives
            If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
                ComboBox1.Items.Add(drive.Name)
            End If
        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Este para evitar errores
        If ComboBox1.SelectedItem = "" Then
            MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
        Else
            'Aqui va el codigo de la vacuna
            Try
                'declaramos cual es la unidad
                Dim usb As String
                usb = ComboBox1.Text
                'buscamos la clasica carpeta
                If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                    'Obtenemos los archivos reales de la carpeta
                    For Each foundFile As String In My.Computer.FileSystem.GetFiles _
        (usb + "/RECYCLER", _
        FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los archivos
                        IO.File.SetAttributes(foundFile, IO.FileAttributes.Normal)
                    Next
                    'Obtenemos las subcarpetas reales de la carpeta
                    For Each foundDirectory As String In _
                    My.Computer.FileSystem.GetDirectories _
                    (usb + "/RECYCLER", _
                     FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los subdirectorios
                        IO.File.SetAttributes(foundDirectory, IO.FileAttributes.Normal)
                    Next
                    'Quitamos privilegios a la carpeta en si
                    IO.File.SetAttributes(usb + "/RECYCLER", IO.FileAttributes.Normal)
                    'y por fin la borramos
                    My.Computer.FileSystem.DeleteDirectory(usb + "/RECYCLER", FileIO.DeleteDirectoryOption.DeleteAllContents)
                    'Nos aseguramos que ya no hay virus
                    If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                        MsgBox("No se logro eliminar el virus", MsgBoxStyle.Exclamation, "Error")
                    Else
                        MsgBox("Virus eliminado con exito", MsgBoxStyle.Information, "Exito")
                    End If
                Else
                    'Si no se encontro el virus este mensaje aparece
                    MsgBox("No se encontro el virus", MsgBoxStyle.Information, "Informacion")
                End If
            Catch
                'Un mensaje de error personalizado simple
                MsgBox("Error durante la operacion", MsgBoxStyle.Critical, "Error")
            End Try
        End If
    End Sub
End Class


bueno espero que les guste y les dejo el link de descarga  ;D
http://www.badongo.com/file/11279851
se aceptarn dudas comentarias y demas  :P
salu2  ::)