Ive posted a new uclibc toolchain and rootfs to the dingoo files. This was a complete rebuild of all apps and libraries to default to using software floating point. So far with the nbench benchmarks it shows large improvements over the previous toolchains. The developer who had also been working on quake just tested it out and just with a recompile he went from 3.4fps to 9.8fps, so it may be worth checking out.
I noticed some improvement on a quick test of visualboy advance, previously it had been completely unusable with 0-2% of performance reported from its built in ratings. With just a recompile and using the new libs it actually got up 53% on Mario golf, that seemed to be a pretty intensive rom too.
The directory has been renamed as well since this was a complete rebuild I didnt want it getting mixed up with the previous toolchain, so just remember to sort the files by date to grab the newest ones and unpack the toolchain into /opt
Hope this helps some people out squeezing out some more performance without much tweaking
Thanks for all you work dude.
I haven't followed the software float issue. Just to be sure I understand it:
- The kernel has floating point support, but I guess it does it by emulating floating point code via exceptions, which is far from optimal.
- The toolchains can be compiled so the float operations are performed in software. This does not involve exceptions nor the kernel, which means less overhead (context switch and such) and an extraordinary performance boost for float-intensive applications.
Is this correct?.
< - >Ya está el installer del dual-boot en google code
Ha habido un pequeño debate sobre el nombre y lo he cambiado a DINGUX. Por favor actualizad los links a www.dingux.com, ya que el antiguo www.lingoox.org ya no funciona (veré si lo arreglo más adelante, pero ahora me voy a dormir que falta me hace).
Lo del nombre fué una chorrada. Resulta que alguien comentó que sonaba exáctamente igual que "gook", que es una forma despectiva de llamar a los asiáticos. No es que fuera como para rasgarse las vestiduras, pero puesto que la cosa está empezando, mejor cambiarlo ahora, porque más adelante será mucho más complicado.
Aún no me ha llegado la A320 con el LCD nuevo, así que aunque en principio la variante para el ILI9331 debería funcionar, no tendré la certeza hasta que alguien lo confirme.
Última edición por booboo; 25/06/2009 a las 05:54 Razón: Edición automática anti doble-post.
@booboo: ya he visto que has subido el dual-boot a code.google
Por cierto, he conseguido identificar un bug con el sonido que me estaba llevando por el camino de la amargura: cada cierto tiempo petardeaba y el emu/juego/loquesea pegaba un parón bastante molesto. Me pasaba tanto con las SDL, como escribiendo directamente en el DSP con cualquier programa que usara sonido y lo he solucionado reduciendo el número máximo de fragmentos que se pasan a SSNDCTL_DSP_SETFRAGMENT de 16 a 12.
Ahora tengo que probarlo con las SDL modificando el código de la librería que se encarga de eso, aunque estoy casi convencido de que funcionará![]()
Muchas gracias por el dual-boot, ahora que es público veamos como continua el tema de optimizaciones y nuevos emus y ports.
muchas gracias por el trabajo booboo. Con que se optimizaran los emus de cps1 cps2 y neogeo ya mereceria la pena ya que el de snes va mas o menos bien y el de mega va bien salvo el scroll.
Ahora solo falta que alguien se curre un tutorial para tontos con windows. Un saludo y gracias
ruben
ya he instalado del dual boot. Y todo ha ido bien. Pero al pulsar select al arrancar, la dingo se keda completamente colgada mostrando el logo de dingoox. He metido el archivo zImage-20090625-ILI9325 en la sd.
Esto es lo normal porque no hay ninguna aplicacion para arrancar? o deberia salir otra cosa?
vale, ya esta arreglao. El nombre tenia ke ser zimage a secas. Ahora veo el proceso de arranque con el pinguino. Pero al final del mismo, pone kernel panic - not syncing: vfs: unable to mount root fs on unknown-block(179,2)
Vuelvo a tener la misma duda que antes:
Esto es lo normal porque no hay ninguna aplicacion para arrancar? o deberia salir otra cosa?
< - >es curioso, yo opino al contrario que tu. XDD
< - >bajate el dual boot y mira el readme:
creo que eso es bastante pa tontosINSTRUCTIONS FOR WINDOWS:
1- Place your A320 in USB boot mode by resetting it while holding
the B button pressed.
2- Open a command line shell: Start --> Run --> "cmd".
3- Change to the directory where you put the files.
4- Execute:
USB_Boot.exe
5- This tool is also command-line driven, execute these commands
(replace ILI9325 by ILI9331 if you have the later LCD type):
boot 0
load 0x80600000 zImage_dual_boot_installer_ILI9325 0
go 0x80600000 0
5- You should now see your A320 booting linux and launching the
flasher script. Follow the instructions on the A320 screen.
![]()
Última edición por dj syto; 25/06/2009 a las 07:34 Razón: Edición automática anti doble-post.
Booboo, I believe that is pretty much the gist of using the soft-float. If you notice on bootup the kernel says where its loading an algorithmic floating point emulator, that is the kernels fpu. From what I can find, yes, the kernel just has traps the invalid ops and then has to handle them on its own. Soft float is a set of gnu standard calls that replace all that and handle it in the software instead. So as long as everything has been compiled with soft float then it will use these new calls instead, but this only works if your libraries have been compiled with it so that all the fpu calls exist in them.
I have seen posted on some uclibc threads that the only real way to get full advantage of this is to compile everything with the switch or else it doesnt do much good, which is why just compiling an application with -msoft-float doesnt really show much performance gains since the none of the libs it depends on was built with it either, so it really helps to have an entire toolchain based on it. Using the ones I posted they all default to enabling it.
I havent tried recompiling the kernel yet with that option enabled, Im not sure if it would really do anything so thats pretty much why I havent, since now everything would be handled in software the kernel shouldnt really be concerned with whether or not it loaded the fpu since no calls are made to it now. Now if you do start using soft-float that should let you eliminate the fpu emulator from the kernel which can bring down size, not sure what other if any improvements it would make.
Última edición por ezelkow1; 25/06/2009 a las 08:40
Es bastante pa tontos para la gente que sepa ingles. La gente que no sepa ingles, que hay mucha, siempre tendra que pedir ayuda.
y esos emus van mal sobre todo el de neogeo que hay muchos juegos que con sonido van peor. En cps1 el final fight va peor que el cadillac and dinosaurs por ejemplo
ruben
pues si, en lo del ingles tienes razon. Te lo traduzco:
Y bueno. en el final fight no se ke problema ves. Yo me lo he pasado entero en la dingoo y no he visto ningun fallo. Y va perfectoINSTRUCSIONES PA BINDOUS!:
1- Pon tu a320 en modo usb, reseteandola mientras dejas presionado el boton B.
2- Abre una linea de comandos de msdos: inicio --> ejecutar --> "cmd".
3- Cambia al directorio donde has puesto los archivos descomprimidos
4- Ejecuta:
USB_Boot.exe
5- Esta aplicacion tambien se ejecuta en lineas de comandos, por lo tanto, escribe:
(sustituye ILI9325 por ILI9331 si tienes el ultimo tipo de LCD):
boot 0
load 0x80600000 zImage_dual_boot_installer_ILI9325 0
go 0x80600000 0
5- Ahora deberias ver tu a320 arrancando linux y ejecutando el script de flasheo. Sigue las instrucciones en la pantalla de la dingoo a320.![]()
Última edición por dj syto; 25/06/2009 a las 08:42
Instrucciones para Windoze:
1- Pon tu A320 en el modo USB boot reseteando la consola y manteniendo presionado el botón B.
2- Abre una consola de comandos: Inicio --> Ejecutar --> escribe "cmd" y pulsa enter.
3- Cambia al directorio donde dejaste los archivos.
4- Ejecuta:
USB_Boot.exe
5- Esta herramienta funciona bajo consola, ejecuta estos comandos
(cambia ILI9325 por ILI9331 si tienes una de las pantallas LCD más actuales):
boot 0
load 0x80600000 zImage_dual_boot_installer_ILI9325 0
go 0x80600000 0
5- Deberías ver ahora tu A320 iniciando linux y arrancando el script de flasheo. Sigue las instrucciones en la pantalla de la A320.
el final fight me va raro, no se, lo noto peor que el cadillac, va como menos fluido
ruben
Hola.
Soy nuevo en el foro, esta semana me llegó la Dingoo A320, y la verdad es que esta consola tanto por su precio como por su potencial, es una maravilla. El caso es que soy programador, y una de las cosas que tenia pensado para esta consola es hacer algún porting. He intentado compilar desde Windows, pero no tengo el Visual Studio, y no he conseguido compilar desde Cygwin, además al no haber un port nativo de la librería SDL, que dificulta la adaptación de emuladores, así que linux es una opción más que valida, y más desde que está el dual boot. Me encargo del porting y mejora del UAE4ALL para MorphOS, un sistema operativo compatible con Amiga, ya me he familiarizado bastante con el código, mi intención es portar el UAE4ALL para Dingux. Me bajé de Ingenic el toolchain para linux que me imagino será necesario para compilar en Dingux, el resto de material supongo que estará en el Google code del Dingux. ¿Aparte del toolchain de Ingenic, el material del Dingux que hay en Google code, y la librería SDL es necesario algo más para compilar para Dingux?
Marcadores