User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 21

Tema: Mmuhack para Wiz por Exophase

  1. #1

    Fecha de ingreso
    Jul 2006
    Ubicación
    Granada
    Mensajes
    12,650
    Mencionado
    79 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    81
    Agradecer Thanks Received 
    1,126
    Thanked in
    Agradecido 719 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    22

    Mmuhack para Wiz por Exophase

    Exophase acaba de un mmuhack para la Wiz. Os dejo aquí su post:

    Cita Iniciado por Exophase
    I wrote an mmuhack that follows the old fashioned technique that Squidge first introduced. In other words, something that modifies sys_newuname rather than a kernel module (since I can't write those w/o source). However, it is different from Squidge's in a couple ways. First, it scans /proc/kallsyms (or /proc/ksyms if it can't load that) to get the address of sys_newuname, so it shouldn't be as prone to breaking between kernel versions. Second, it flushes icache/dcache between uname patches - this is vital or it won't work for coherency issues (it is self modifying code afterall). Third, it does some sanity checks to make sure the process is working as expected along the way.

    I tried to flush icache/dcache in the usual GP2X way (with syscall 0x9F0002) but it didn't work. Maybe you have to do icache/dcache separately now instead of it merging the two, I don't know, I didn't investigate. Instead I just wrote some functions to flush all of icache/dcache in software by loading in new things. If anyone can point out an alternative that'd be good. I tried making the dcache flush load the icache flush routine instead of from a BSS section area but that failed to work - it might be that text section things are not data cacheable.

    Anyway, here are the files:

    http://exophase.devzero.co.uk/wiz_mmuhack.c
    http://exophase.devzero.co.uk/asm_util.S

    I'm getting as much as 2ms per frame improvement or more (hard to tell exactly, timing is really inconsistent for some reason) so it's definitely worth it, even if your program just writes to the whole framebuffer once per frame (Temper potentially does multiple, for BG and sprites).

    Edit: Still doesn't work all the time, not at all sure why. Just keep trying it until it does, I guess :/ (tell me if anyone has any ideas)

  2. #2

    Fecha de ingreso
    Sep 2005
    Ubicación
    Getafe
    Mensajes
    1,399
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    116
    Agradecer Thanks Received 
    7
    Thanked in
    Agradecido 7 veces en [ARG:2 UNDEFINED] posts
    ¿¿Pero no decia que no estaba mu contento con la Wiz??

  3. #3

    Fecha de ingreso
    Mar 2006
    Ubicación
    0o0`-_-´0o0
    Mensajes
    22,256
    Mencionado
    45 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,494
    Agradecer Thanks Received 
    495
    Thanked in
    Agradecido 336 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Raydenito Ver mensaje
    ¿¿Pero no decia que no estaba mu contento con la Wiz??
    Pues por eso intenta arreglar la velocidad de respuesta de la ram.

    Y sí, tampoco le gustaban los controles pero es un coder y al fin y al cabo les gusta programar, juegan más bien poco

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

  4. #4

    Fecha de ingreso
    Jun 2004
    Ubicación
    Vivo en el pito foro...
    Mensajes
    20,687
    Mencionado
    70 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    231
    Agradecer Thanks Received 
    742
    Thanked in
    Agradecido 466 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    28
    Dijo que sin el MMUHACK las aplicaciones cargaban peor que en la 2x...con él ya se vería.

  5. #5

    Fecha de ingreso
    Jul 2003
    Ubicación
    Cerca de BCN ...
    Mensajes
    8,466
    Mencionado
    10 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Puede ganar hasta 2ms extra por frame? Esto es una pasada!

    A ver si consiguen perfeccionarlo entre todos. O aún mejor, a ver si GPH suelta el código fuente y pone las cosas más fáciles.
    "No hay malos alumnos, sino malos profesores" | "Humor = Tragedia + Tiempo" (by Joan Pera)
    (NGP Platinum)(Cy) ¡¡El Mercata AOJtil!!

  6. #6

    Fecha de ingreso
    Mar 2006
    Ubicación
    0o0`-_-´0o0
    Mensajes
    22,256
    Mencionado
    45 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,494
    Agradecer Thanks Received 
    495
    Thanked in
    Agradecido 336 veces en [ARG:2 UNDEFINED] posts
    Todo este proceso tb lo pasó la GP2X, al final los emuladores iban casi el doble de rápido que en los primeros meses.Supongo que pa verano como mucho ya tendremos los emus de GP2X corriendo realmente el doble de rápido que en GP2X , no como ahora que corren muy poco más rápido y eso con más del doble de mhz.

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

  7. #7

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    12
    Thanked in
    Agradecido 9 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por AOJ Ver mensaje
    A ver si consiguen perfeccionarlo entre todos. O aún mejor, a ver si GPH suelta el código fuente y pone las cosas más fáciles.
    El código lo ha soltado a algunas personas, lógicamente hasta que no salga a la venta no van a soltar nada de código a disposición de todo el mundo.

  8. #8

    Fecha de ingreso
    Jul 2006
    Ubicación
    Granada
    Mensajes
    12,650
    Mencionado
    79 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    81
    Agradecer Thanks Received 
    1,126
    Thanked in
    Agradecido 719 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    22
    Cita Iniciado por Puck2099 Ver mensaje
    El código lo ha soltado a algunas personas, lógicamente hasta que no salga a la venta no van a soltar nada de código a disposición de todo el mundo.
    La pregunta es si lo soltarán cuando salga la consola, aunque por tu frase parece que si...

    Saludos.
    < - >
    Cita Iniciado por Squidge
    It seems to work just like my original on the gp2x

    kk = frames/sec.

    Without MMU hack:
    root@wiz:/mnt/sd# ./fbtest.gpe
    The framebuffer device was opened successfully.
    320x240, 16bpp
    The framebuffer device was mapped to memory successfully.
    kk = 1, time = 1199554732
    kk = 101, time = 1199554733
    kk = 152, time = 1199554734
    kk = 153, time = 1199554735
    kk = 152, time = 1199554736
    kk = 152, time = 1199554737
    kk = 152, time = 1199554738
    kk = 153, time = 1199554739
    kk = 152, time = 1199554740
    kk = 152, time = 1199554741
    kk = 152, time = 1199554742
    kk = 152, time = 1199554743
    kk = 153, time = 1199554744
    kk = 152, time = 1199554745
    kk = 152, time = 1199554746
    kk = 152, time = 1199554747
    kk = 152, time = 1199554748
    kk = 153, time = 1199554749
    kk = 152, time = 1199554750
    kk = 152, time = 1199554751

    with MMU hack

    root@wiz:/mnt/sd# ./fbtestmmu.gpe
    The framebuffer device was opened successfully.
    320x240, 16bpp
    The framebuffer device was mapped to memory successfully.
    got uname location 533a8
    uname backup: e1a0c00d e92dd810 e24cb004 e1a04000
    uname now: e3a000a3 e12fff1e e24cb004 e1a04000
    test 1: expected 0xA3, got a3
    uname now: e3a000e9 e12fff1e e24cb004 e1a04000
    test 2: expected 0xE9, got e9
    modifying pagetable at 1d00000
    hacking coarse pagetable entry mapping to 2a00000
    hacking coarse pagetable entry mapping to 2a00000
    [snip!]
    kk = 1, time = 1199554908
    kk = 186, time = 1199554909
    kk = 236, time = 1199554910
    kk = 236, time = 1199554911
    kk = 236, time = 1199554912
    kk = 236, time = 1199554913
    kk = 235, time = 1199554914
    kk = 236, time = 1199554915
    kk = 236, time = 1199554916
    kk = 236, time = 1199554917

    55% improvement. Nice!

    Nice work Exophase, now all we need is a kernel module


    Viva el Exophase

    Saludos.
    Última edición por nintiendo1; 09/02/2009 a las 22:04 Razón: Edición automática anti doble-post.

  9. #9

    Fecha de ingreso
    Sep 2005
    Ubicación
    Getafe
    Mensajes
    1,399
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    116
    Agradecer Thanks Received 
    7
    Thanked in
    Agradecido 7 veces en [ARG:2 UNDEFINED] posts

    Exclamation

    Un 55 % de mejora

    Madredelamorhermoso...

  10. #10

    Fecha de ingreso
    Mar 2008
    Ubicación
    Aquí
    Mensajes
    2,205
    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
    Entradas de blog
    15
    Y eso que es, ¿una especie de librería o algo, que optimiza?

  11. #11

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    12
    Thanked in
    Agradecido 9 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por Bizkaitarra Ver mensaje
    Y eso que es, ¿una especie de librería o algo, que optimiza?
    Cachea la memoria para acelerar los accesos.

  12. #12

    Fecha de ingreso
    Jul 2004
    Ubicación
    Hernani
    Mensajes
    400
    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
    puf, que buena mejora sí señor. A ver cuanto mejora el mame cuando lo integre franxis y nos hacemos una buena idea del potencial de la consola

  13. #13

    Fecha de ingreso
    Jul 2004
    Ubicación
    Los Jardines de Babilonia
    Mensajes
    13,694
    Mencionado
    8 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    94
    Agradecer Thanks Received 
    127
    Thanked in
    Agradecido 98 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    103
    cuanta ram tiene la wiz? y la gp2x?

  14. #14

    Fecha de ingreso
    Mar 2008
    Ubicación
    Aquí
    Mensajes
    2,205
    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
    Entradas de blog
    15
    Cita Iniciado por Puck2099 Ver mensaje
    Cachea la memoria para acelerar los accesos.
    Ajam, ta bien el asunto, una especie de paginación en más baja escala esta bien
    Supongo que en cada programa se usará como una librería o similar no? es lo que no entiendo muy bien, si es así o no.

  15. #15

    Fecha de ingreso
    Jun 2004
    Mensajes
    1,229
    Mencionado
    4 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido %1$s veces en 1 post
    Cita Iniciado por Ozius Ver mensaje
    puf, que buena mejora sí señor. A ver cuanto mejora el mame cuando lo integre franxis y nos hacemos una buena idea del potencial de la consola
    El MAME gana muy poco de velocidad (quizás un 5%) en el modo de video normal, como en la gp2x, ya que el acceso a la memoria alta se reduce a escribir en el framebuffer completo de video cada FPS (utilizando el memcpy() en ensamblador ARM). Si que se gana algo más de rendimiento al usar el modo de video escalado de 16 bit, ya que implica bastante más trabajo que los memcpy().

    Lo que si que se gana es en poder cargar juegos más grandes, ya que puedo usar la memoria alta como la RAM accesible con Linux con la misma velocidad (en teoría, en la práctica estoy teniendo algunos problemas con "algo" que usa parte de la memoria alta y que al sobreescribirlo me produce relentizaciones horrendas, a ver si doy con ese "algo").

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

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