User Tag List

Página 1 de 62 123451151 ... ÚltimoÚltimo
Resultados 1 al 15 de 925

Tema: [OFICIAL]: Scene Dingoo A320

  1. #1

    Fecha de ingreso
    Dec 2003
    Ubicación
    Monte Tharsis
    Mensajes
    8,802
    Mencionado
    29 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    386
    Agradecer Thanks Received 
    238
    Thanked in
    Agradecido 166 veces en [ARG:2 UNDEFINED] posts

    [OFICIAL]: Scene Dingoo A320

    Esto viene de aquí.

    Creo que ya va siendo hora de dedicarle un hilo exclusivo a la scene de la Dingoo para que posteeis vuestros avances, aplicaciones, emuladores, juegos y cualquier cosa que vayais programando

    Para empezar, la aplicación para resucitar la A320 (gracias a A600 por postearlo)

  2. #2

    Fecha de ingreso
    Feb 2003
    Mensajes
    3,122
    Mencionado
    37 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    156
    Agradecer Thanks Received 
    235
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts
    El SDK se puede descargar aquí

    -- Instalación

    Descomprimir 20091214224673499.rar en c:, crear el directorio c:\s2dsdk y descomprimir ahí los subdirectorios inc y lib del 200811281249773499.rar. Ejecutar el c:\cygwin\cygwin.reg y editar el cygwin.bat con lo siguiente:

    Código:
    SET MIPSLIB=c:/cygwin/mipseltools/lib
    SET MIPSTOOLS=c:/cygwin/mipseltools/include
    SET S2DINC=c:/s2dsdk/inc
    SET S2DLIB=c:/s2dsdk/lib
    PATH=c:\cygwin\mipseltools\bin;c:\cygwin\bin;C:\WINDOWS\SYSTEM32;
    Abrir una ventana de DOS, ejecutar el cygwin.bat y ya se pueden compilar los ejemplos con build.bat

    -- FTP Ingenic

    Todos los ficheros se pueden descargar desde megaupload

    Parte1
    Parte2

    El código fuente que nos interesa está en 3sw\02rtos\01uCOS\ucosii_0430.rar


    -- Ingenic Media Extension Instruction Set (MXU)

    Instrucciones de la CPU de Ingenic para mover, sumar, restar, etc con su equivalente en C

    jz_mxu.h


    -- Programa para desempaquetar y empaquetar el firmware

    Click!


    -- Código fuente de apps/emus

    A320speed

    Centipede by Seagal


    -- Tips and tricks

    - Por defecto el LCD se inicializa a 16 bpp, para cambiarlo usamos __lcd_set_bpp(n) (untested)

    Código:
    /* n=1,2,4,8,16 */
    #define __lcd_set_bpp(n) \
      ( REG_LCD_CTRL = (REG_LCD_CTRL & ~LCD_CTRL_BPP_MASK) | LCD_CTRL_BPP_##n )
    - Escribimos en el buffer de sonido con pcm_write (ucosii\jz4740\drv\codec\i2s_jz4740.c) y cambiamos el formato, sample rate, volumen, número de canales, etc con pcm_ioctl (untested)

    Código:
    pcm_ioctl(PCM_SET_SAMPLE_RATE, 44100); //48000,44100
    pcm_ioctl(PCM_SET_FORMAT, AFMT_S16_LE);
    pcm_ioctl(PCM_SET_CHANNEL, 1);
    pcm_ioctl(PCM_SET_VOL, 100);	/* 100% */ 
    
    int pcm_write(char *buffer, int count)
    Hay un ejemplo en ucosii\audio\wave\vplay.c

    - La velocidad del micro se cambia con sys_pll_init(n);

    - La dirección del framebuffer la obtenemos con lcd_get_frame (untested) y el estado de la cruceta/botones con kbd_get_status (untested)
    Última edición por A600; 01/04/2009 a las 18:36

  3. #3

    Fecha de ingreso
    Feb 2005
    Ubicación
    Cádiz / Madrid
    Mensajes
    2,679
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Aquí pongo la utilidad Burn Tool / Recovery Tool para recuperar / desbrickear una Dingoo A320 mal flasheada, traducida casi completamente al inglés, unicamente quedan sin traducir algunos mensajes de salida al hacer el Burn del Firmware, por dificultad de traducirlos incluso con un editor hexa (debido a la codificación ininteligible de los caracteres chinos que se encuentran harcodeados en la propia aplicación), si tuviera el código fuente otro gallo cantaría, pero siendo el programa de Chinachips no creo lo suelten



    Descarga: Recovery Tool [English]

    En el paquete incluyo la aplicación traducida al inglés, el DOC que le enviaron a A600 con las instrucciones en inglés, el DL para la Dingoo A-320 y los drivers para Windows XP/Vista, a parte de un archivo con la suma MD5 del contenido para verificación. Para usarlo se necesita además del archivo HXF de firmware de la Dingoo A320, si lo teneis del anterior paquete o bajado de la web de Dingoo bien, si no lo teneis se puede descargar de aqui:

    Descarga: Firmware 1.03

    Unicamente se necesita el DL (System DL Config) y el HXF (Firmware) para hacer el flasheo / unbrick (Burning System) pero tened en cuenta que despues del unbrick se borra todo ya que antes del flasheo del firmware la utilidad formatea la NAND (por si acaso, antes de realizarlo, extraed la MiniSD, si es que teneis alguna introducida), eso incluye a los emuladores incluidos de serie, pero podeis bajarlos de la web de Dingoo (zona de Descargas) extraer el contenido y copiarlos todos los archivos dentro del directorio GAME de la NAND de la Dingoo.

    Descarga: Emuladores Dingoo A320

    Recordad escanearlo con un antivirus antes de ejecutarlo en Windows y tened en cuenta que al ser una modificación del programa original y no uno propio no hay garantias, ni de que funcione correctamente ni que pueda o no causar algún fallo, así que si lo vais a usar hacedlo solo bajo vuestra propia responsabilidad

    .:: Yo, ya ni veo el código. Solo veo una rubia, una morena, una pelirroja... - Cifra (The Matrix) ::.

  4. #4

    Fecha de ingreso
    Sep 2001
    Ubicación
    BARNA
    Mensajes
    851
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    31
    Agradecer Thanks Received 
    67
    Thanked in
    Agradecido 50 veces en [ARG:2 UNDEFINED] posts
    Os dejo aqui los codigos fuentes actualizados del miniemulador del centipede.

    Por ahora, y como estoy haciendo pruebas constantemente, tengo los codigos fuentes del millipede y el centipede por separado.

    http://www.mediafire.com/?sharekey=b...018c8114394287


    para poder compilar el emu del centipede hay que modificar el fichero 's2dbase_audio.h' de las librerias sd2 y poner a publicas estas variables privadas:

    //### data members:
    private:
    // audio frequency
    s32 m_iFrequency;

    // audio buffer size
    s32 m_iSize;

    // audio length
    s32 m_iLength;

    // audio buffer
    s16* m_pBuffer;

    };

    con cambiar el 'private' de ahí arriba por 'public' es suficiente.

  5. #5

    Fecha de ingreso
    Jan 2004
    Mensajes
    1,240
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts

    Modificar velocidad de la CPU por defecto y Firmware

    ATENCIÓN !!
    Estas modificaciones como cualquier otra del firmware puede enladrillar tu dingoo, así que ten bien claro lo que haces y si eres capaz de solucionarlo.

    Modificar velocidad CPU

    Original de zhnqw de los foros de a320home para modificar la velocidad por defecto del micro en el firmware.

    Tenemos que abrir el HXF de actualización del firmware con un editor exadecimal y buscar la cadena "030005240614043C00F48434", por defecto funciona a 336Mhz y podemos cambiarlo usando los siguientes valores:

    336Mhz=0614 043C 00F4
    366Mhz=D015 043C 80B7
    380Mhz=F216 043C 40A2
    400Mhz=D717 043C 0084
    420Mhz=0819 043C 00B1


    < - >

    Modificar Firmware

    Primero descargar la aplicación AdvanceTool2.

    Descomprimimos el rar y ejecutamos el programa.



    El Botón marcado como ( 1 ) es para seleccionar el archivo HXF del firmware, una vez seleccionado nos creará una carpeta llamada "out_hxf"

    Copiamos o renombramos la carpeta a otra llamama "in_hxf"

    Hacemos las modificaciones que creamos necesarias al contenido de la carpeta si sabemos lo que hacemos.

    Y presionamos el boton marcado como ( 2 ) que nos pedira un nombre para crear el HXF resultante, recuerda que para actualizar desde la dingoo el nombre tiene que ser "a320.HXF".

    Información sobre los archivos y carpetas.

    ccpmp.bin: Supongo que es el programa principal del firmware.

    codecs: Drivers para la reproducción multimedia.

    game: Recursos gráficos de algunos de los juegos que nuestro caso no se usan.

    ivres: ????

    system:
    *code: Emulador de GBA, reproductor Flash, y mas ficheros de los juegos esos que no usamos.
    *fon: Fuentes bmf, visor y creador de fuentes junto con el src aquí
    *nls: Idiomas
    *res: Skins e imagenes usadas por el firmware, con restos de programas o funciones que no usamos y que pueden ser eliminadas.

    user_data: Archivos de configuración.
    Última edición por alien8; 10/04/2009 a las 15:20 Razón: Edición automática anti doble-post.

  6. #6

    Fecha de ingreso
    Feb 2003
    Mensajes
    3,122
    Mencionado
    37 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    156
    Agradecer Thanks Received 
    235
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts
    He estado haciendo algunas pruebas tratando de modificar el framebuffer con _lcd_get_frame pero sin resultado Sólo cuando salgo del programa aparece durante un instante la pantalla cambiada así que algo falla (slcdtest.c)

    Código:
    	frame = _lcd_get_frame();	
    
    	while (1) {
    			for (i = 0;i < 320 * 240;i++) {
    				
    				frame[i] = 0xf81f;
    			}
    			__dcache_writeback_all();
    			while (REG_SLCD_STATE & SLCD_STATE_BUSY);
    			__dmac_channel_set_doorbell(dma_chan);
    			mdelay(100);
    			mdelay(2000);
    			for (i = 0;i < 320 * 240;i++) {
    				frame[i] = 0x07e0;
    			}
    			__dcache_writeback_all();
    			mdelay(2000);
    			for (i = 0;i < 320 * 240;i++) {
    			frame[i] = 0x00ff;
    			}
    			__dcache_writeback_all();
    			while (REG_SLCD_STATE & SLCD_STATE_BUSY);
    			__dmac_channel_set_doorbell(dma_chan);
    			mdelay(100);
    			mdelay(2000);
    			for(i = 0;i < 320 * 240;i++)
    			{
    				frame[i] = 0xffe0;
    			}
    			__dcache_writeback_all();
    			while (REG_SLCD_STATE & SLCD_STATE_BUSY);
    			__dmac_channel_set_doorbell(dma_chan);
    			printf("REG_DMAC_DMADBR = 0x%08x\n", REG_DMAC_DMADBR);
    			mdelay(2000);
    				
    	keyVal = _kbd_get_key();
    
    	if (keyVal == 0x00000800){
    		return -1; 
    	}

    Por lo menos he conseguido poner el LCD a 8bpp con

    Código:
    	REG_SLCD_CFG &= ~SLCD_CFG_DWIDTH_MASK;
    	REG_SLCD_CFG |= SLCD_CFG_DWIDTH_8_x1;
    así que en teoría se podría mejorar dramáticamente el rendimiento de los emus usando 8bpp en vez de 16bpp


    Y estos son los valores de todos los botones:

    Código:
    0x80000000 (A)
    0x00200000 (B)
    0x00000040 (Y)		
    0x00010000 (X)
    0x08000000 (Down)
    0x10000000 (Left)
    0x00100000 (Up)
    0x00040000 (Right)
    0x00000100 (LS) 
    0x20000000 (RS)
    0x00000400 (Select)
    0x00000800 (Start)
    0x00000080 (Power)

  7. #7

    Fecha de ingreso
    Mar 2006
    Ubicación
    0o0`-_-´0o0
    Mensajes
    22,256
    Mencionado
    45 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,496
    Agradecer Thanks Received 
    495
    Thanked in
    Agradecido 336 veces en [ARG:2 UNDEFINED] posts
    A ver si alguien se anima a hacer un port del Pituka de la GP32 o del Caprice de la GP2X y me la compro

    El pituka en la GP32 a 164 mhz tira de lujo la verdad
    Última edición por Rivroner; 10/04/2009 a las 18:38 Razón: Edición automática anti doble-post.

    The eagle never lost so much time as when he submitted to learn of the crow.

  8. #8

    Fecha de ingreso
    Feb 2003
    Mensajes
    3,122
    Mencionado
    37 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    156
    Agradecer Thanks Received 
    235
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Rivroner Ver mensaje
    A ver si alguien se anima a hacer un port del Pituka de la GP32 o del Caprice de la GP2X y me la compro
    jzPituka es el único emu que quiero en la Dingoo

    <---->

    Por fin he conseguido pintar el LCD Es tan sencillo como ejecutar _lcd_set_frame(); cada vez que queramos actualizar el LCD.

    Código:
    unsigned short *frame;
    
    	frame = _lcd_get_frame();	
    
    	for(i = 0;i < 320 * 240 / 3;i++)
    	{
    		frame[i] = 0xf800;
    	}
    	for(;i < 320 * 240 / 3 * 2;i++)
    	{
    		frame[i] = 0x07e0;
    	}
    	for(;i < 320 * 240 / 3 * 3;i++)
    	{
    		frame[i] = 0x001f;
    	} 
    
    	_lcd_set_frame();
    Última edición por A600; 10/04/2009 a las 19:42

  9. #9

    Fecha de ingreso
    Mar 2006
    Ubicación
    0o0`-_-´0o0
    Mensajes
    22,256
    Mencionado
    45 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,496
    Agradecer Thanks Received 
    495
    Thanked in
    Agradecido 336 veces en [ARG:2 UNDEFINED] posts
    ¿Y cuando lo portas ?

    The eagle never lost so much time as when he submitted to learn of the crow.

  10. #10

    Fecha de ingreso
    Mar 2003
    Ubicación
    Cerdanyola
    Mensajes
    3,848
    Mencionado
    46 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    38
    Agradecer Thanks Received 
    1,887
    Thanked in
    Agradecido 614 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por A600 Ver mensaje
    jzPituka es el único emu que quiero en la Dingoo

    <---->

    Por fin he conseguido pintar el LCD Es tan sencillo como ejecutar _lcd_set_frame(); cada vez que queramos actualizar el LCD.

    Código:
    unsigned short *frame;
    
    	frame = _lcd_get_frame();	
    
    	for(i = 0;i < 320 * 240 / 3;i++)
    	{
    		frame[i] = 0xf800;
    	}
    	for(;i < 320 * 240 / 3 * 2;i++)
    	{
    		frame[i] = 0x07e0;
    	}
    	for(;i < 320 * 240 / 3 * 3;i++)
    	{
    		frame[i] = 0x001f;
    	} 
    
    	_lcd_set_frame();
    Probablemente use un double buffer interno o algo asi, de manera que el get_frame devuelve el que no se esta viendo.
    Estas funciones me estan devolviendo las ganas de intentar el SDL port...

  11. #11

    Fecha de ingreso
    Feb 2003
    Mensajes
    3,122
    Mencionado
    37 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    156
    Agradecer Thanks Received 
    235
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Wave Ver mensaje
    Estas funciones me estan devolviendo las ganas de intentar el SDL port...
    Yo y millones de devs a lo largo del mundo mundial te estaríamos eternamente agradecidos

  12. #12

    Fecha de ingreso
    Mar 2003
    Ubicación
    Cerdanyola
    Mensajes
    3,848
    Mencionado
    46 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    38
    Agradecer Thanks Received 
    1,887
    Thanked in
    Agradecido 614 veces en [ARG:2 UNDEFINED] posts

  13. #13

    Fecha de ingreso
    Dec 2003
    Ubicación
    Monte Tharsis
    Mensajes
    8,802
    Mencionado
    29 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    386
    Agradecer Thanks Received 
    238
    Thanked in
    Agradecido 166 veces en [ARG:2 UNDEFINED] posts
    Hey, nos mencionan aquí también

    If you’re a developer for Dingoo, this is the place to be

    The Spanish GP2x forum appears to be where hard core coders for the A320 hang, including Seagal and A600! Click here for a Babelfish translation. You can also find the source code for Seagal’s Millipede emulator, and A600’s overclocking utility there, among other things.

  14. #14

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Cada vez que leo mas cosas de la consola, me entran mas ganas de pillarla xD

  15. #15

    Fecha de ingreso
    Jun 2006
    Mensajes
    142
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Hola, estoy buscando info sobre el SO, y parece ser que es gratuito si no es con fines comerciales, es decir que se puede descargar para modificarlo uno mismo, el problema es que habría que portarlo a la dingoo y no se si sería mejor invertir el esfuerzo en portar el rockbox.

Página 1 de 62 123451151 ... ÚltimoÚltimo

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •