› Foros › Multiplataforma › Desarrollo
Revocool escribió:perdonar mi suprema ignorancia...
q es esto??
sea lo q sea, se ve q te lo has currao muxo....
asias Salu2
PD: te e mandao un MP
Se podria usar, por ejemplo, para cargar un hilo en el arm7 y comunicar el hilo principal y el hilo del arm7 de una forma sencilla?(por ejemplo, en un emu para usar el arm9 para el main y la emulacion de un nucleo gordo, y en el arm7 un nucleo pequeño??)
Tiene muy buena pinta(estoy empezando ha ver cosas con varios hilos), estaria bien que se enterasen los desarolladores de DSLinux, supongo que le podrian sacar mucha chicha.
Saludos y gracias por tu esfuerzo!!
otto_xd escribió:Ok, muchas gracias por la aclaracion.
De todas formas es muy muy muy interesante lo que cuentas, espero que saques una version publica igual de bien comentada que tus esound, asi da gusto leerse la documentacion
Saludos
Neopiro escribió:Wow, primero la libreria de sonido, ahora la de multitherad... creo que los de palib deverian fijarse un poco en ti, e intentar meter tus cosas en su version, y aun mas los de LibNDS.
Bueno, muchas gracias, espero (supongo que "esperamos") la libreria, documentacion y ejemplos... la de Sound venia muy completa toda documnetada y muy bien..
ANIMO
Hermes escribió:
Tranquilo, que todo llegará!
De momento, prefiero publicar mis fuentes de forma 'despegada', ya que es mejor así: que ellos decidan que intergan y como lo integran.
Por otro lado, ya tengo rulando el multithread en ARM7, ya que la version en la que estoy trabajando ahora, fallaba por un fallo de optimizacion del compilador muy curioso.
Digamos que ponemos un bucle asi:
while(manolo==0) ;
Pues en el ARM7, se traducia por algo asi:
reg=manolo;
while(reg==0);
Y claro, 'manolo' es actualizado desde una interrupcion, pero de la segunda manera, no sale del bucle en la vida
Al final, he pasado la funcion a ensamblador y santas pascuas, jejeje
DemonR escribió:
Juer, con eso tuve muchos problemas en una cosa que hice hasta que descubrí que se podía declarar un argumento volatile en c
ninor escribió:Una idea para la librería: Los semáforos y otros mecanismos de concurrencia (cooperativos)
Cuando 'liberes' la librería le echaré un vistazo.
Un saludo,
Hermes escribió:void multithread_disabled(); :-> Importante funcion que prohibe el cambio de hilo (util por ejemplo, para acceder a una funcion que es llamada desde varios hilos pero que no soporta reentradas)
ninor escribió:Corrígeme si me equivoco:
Este método, se ejecuta dentro de cualquier hilo, y no se cambiará de hilo hasta que se haga el 'multithread_enable', no?
Si es así, ya tienes implementado un sistema para declarar una sección crítica, y no harían falta semáforos (aunque no sea exactamente lo mismo).
Por cierto, qué es lo que gestiona la ejecución de los hilos?
Habrá prioridades?
Creo que te estoy mareando... y yo también me estoy mareando
Un saludo,
Hermes escribió:El fallo se manifiesta de dos formas: cuelgue directo o corrupcion de la pantalla superior espectacular.
Hermes escribió:En fin, que ya está todo solucionado y todo funciona perfectamente, aunque he preferido optar por usar una pila independiente de 1024 bytes, para los handlers y evitar futuros problemas.
ninor escribió:
Y has creado la pila en un espacio de memoria aparte?
Ya estoy deseando ver la docu.
Un saludo,
Neopiro escribió:PD: una pregunta... seria posible mediante esta libraria hacer como si tuviesemos solo un procesador en lugar de dos? es decir, para el programador no muy habil como puedo ser yo, es posible hacer que la potencia de los dos procesadroes se sume (aunque se pierda algo por el camino) de forma transparente...? Supongo que no, pero solo era una duda que tenia.
magurin escribió:Hermes, felicidades por el proyecto, acabas de darme la ilusión para volver a programar para DS.
Mañana empiezo a instalarme todo y probar cosas.
Un abrazo.
PD: Creo que deberían abrir un foro exclusivamente de programación, más que nada por encontrar más fácilmente toda la documentación que hay.
flipe22 escribió:con esto se podria hacer funcionar a la vez en la DS por ejemplo el moonshell mientras chateas con el beup?