From: Kak <jb...@ti...> - 2002-09-29 23:18:19
|
On Mon, 30 Sep 2002 23:41:57 +0200, Alvaro Alea wrote: buenas :) > >bueno, despues de 5 dias si poder enviar mails, ya estoy aqui. >KAK, creo que se te lee, al menos sales en los mensajes de la= web. >=BFSantiago? andas por ahi? bienvenido otra vez :) una cosa, no me pongas con mayusculas hombre, que no son siglas y= queda feo ;) >Para empezar tengo malas noticias, creo que soy el administrador= de >la lista, >(creo significa que tengo una vaga idea de haberla creado yo= hace >mas de >un a=F1o) y se me ha olvidado el pasword, y nombre de la cuenta,= asi >que la >lista es inadministrable. mmm.. quizas se pueda crear otra mailing list, al menos en sourceforge dice "mailing lists: 1" ... si pone 1 sera porque= debe poder haber mas, no? :) de todas formas por mi no hay ningun problema, no creo que los tipicos impresentables spamers (ahora solo se me viene UN nombre= a la cabeza) se pasen por aqui :) >Espero a que haya eco de este mensaje y empezamos a discutir, "a= mi >me gustan >mas los streams que los samples" ;-) :) estoy totalmente de acuerdo contigo, los streams (de allegro) son= mucho mas apropiados para lo que queremos hacer que no el sistema= de samples que uso en msdos. el problemaaaa es que mientras que en windows 98 los streams funcionan de miedo, bajo msdos los streams= van de pena: Lo que en realidad hacen los streams es reservar un cierto= numero de bloques para reproducir, de tal forma que cuando pides un= puntero, te devuelve uno de los bloques reservados, mientras va tocando= los otros bloques. El problema es que en msdos, por alguna razon que no acabo de entender, el numero de bloques es 1, de tal manera que tienes que= esperar a que acabe de tocar el bloque que esta tocando, para= poder anyadir mas datos detras (cosa que es una estupidez). el sistema de samples de msdos en loop "emula" el sistema de= streams (de hecho son lo mismo), solo que los streams de allegro en dos= no se oyen bien (por lo mencionado anteriormente), mientras que el= sistema de samples en windows tampoco va bien. creeme que intente encontrar una funcion que funcionara bien para= los dos sistemas, pero no pude dar con el. piensa que la parte teoricamente dificil (emulacion de sonido) me trajo solo medio= dia, mientras que la parte teoricamente facil (pasarle esos datos al allegro) me trajo un par de dias, porque no habia manera de= encontrar una funcion buena para los dos sistemas. al final puse una funcion para cada sistema, asi iba bien con los= dos, y fuera problemas :) yo tambien queria hablar sobre un tema, la emulacion de modelos= con paginacion: tengo ya una version que rula todos los juegos 128 que he= probado, pero no se si el sistema es el mismo que teniais pensado vosotros= para hacerlo... explico los cambios que he hecho, y si teneis= algo mejor puedo mirar de cambiarlo: primero de todo, me he cargado la RAM propiamente dicha. Entonces= he creado X arrays de paginas de ROM, y Y arrays de paginas de RAM ,= ambas de 16 kas (x=3D4 e y=3D8, pero depende de que modelos se emulen se podrian= anyadir mas paginas... de momento para el +3 ya iria bien) el estado de paginacion del sistema se guarda en un array de 4 punteros (uno para cada pagina). El primero apunta obviamente a= ROM siempre (0...16383), el segundo apunta siempre a la pagina 5 (16384..32768), el tercero a la pagina 2 (32768...49152) y el= cuarto es variable, y puede apuntar a cualquier pagina RAM (incluidas la= 2 y la 5) entonces lo unico que hace falta cambiar son el z80memread y z80memwrite, pasa a ser un acceso a memoria a un desplazamiento,= suma, un and y dos accesos a memoria (si no me he colado) o sea, antes era RAM[pc] y ahora es page[pc>>14][pc&16383] parece que sea poco, pero desgraciadamente en ordenadores= lentillos la cosa baja un poco. si alguien encuentra alguna forma mejor y= mas rapida, acepto sugerencias ;) tambien tengo emulado el port 7ffd (para paginacion) y la= pantalla "virtual", pero bueno, estos dependen de como se haga la= emulacion de paginacion. venga, un saludo :) |