theelf escribió:Estuve echando un vistazo a otros emuladores, y leyendo algunos documentos. El tema que como el target es un pentium 3 de gama baja, la mayoria de los emus existentes modernos, al tener core en C, petardean que da gusto
Petardean porque estarán mal programados o serán emus que quieren llegar aun mínimo de fidelidad o son emus de consolas que piden bastante recursos.
Amos no me jodas , ahora resulta que un emulador de Atari ST no se puede programar en C sin petardear en un Pentium 3 que es un buen bicho
Además que muchos exageráis la majia de del ASM sobretodo a la hora de trabajar en procesadores modernos.
Programando como dios manda y sabiendo usar el compilador lo mas seguro es que te genere código mas eficiente del que programarías tu a menos que seas un super guru del ASM.
Y que un emulador de Atari ST en un Pentium III programado en C tiene que correr bien por narices.
Habia pensado en escribirlo en Visual Basic o VisualC, tengo instalado la version de Visual Studio 6
Pues tirara peor que uno programado en C , eso seguro.
Si quieres hacer algo serio y decente reaprendete C y utiliza alguna librería como allegro o SDL.
De lejos la mas correcta y mejor opción.
Creo que si puedo tomar prestado el gui, y las diferentes librerias de otro emu, me vendria al pelo. Tipo aceso a memoria, disco, interrupciones, y lo unico que tendria que hacer es rescribir las partes vitales en assembler, y meter mi core
No creo que eso este en ninguna librería , si no mas bien en el codigo del mismo emulador.
Si quieres hacer eso , la mejor opción pero de lejos es pillar algún emulador ya hecho y modificarlo.
No te convence ninguno? De verdad crees que en dos o tres viajes de avión vas a programar un emu mejor de lo que ya hay? en Visual C?
Mejor modifica alguno y métele las características que quieres que son bastante sencillas de implementar.
Si lo programas en ensamblador siempre tirara mejor y podrias portarlo a otras plataformas (adaptando las instrucciones)
Claro hombre solo hay que "adaptar las instruciones" , que es cosa fácil y sencilla.
Los registros también son idénticos de una maquina a otra y la memoria esta mapeada igual.
Y esta claro que el código optimizado para un micro va a funcionar igual de bien en el otro( o va siquiera a funcionar a secas) , porque las CPU funcionan todas igual y tienen instrucciones parecidas
Mucho mejor que la implementación del compilador en esa plataforma optimice el código específicamente para el micro donde va a parar.
Lo que tu propones seria básicamente escribir el programa otra vez.
Las malas, no dormi, me quede toda la noche despierto, y estoy reventado... me apasiona programar, valla mierda
No es muy sano por mucho que te apasione quedarse toda la noche despierto para hacer lo que sea.
Ni sano ni muy normal.
Espero que estés de vacas o tengas festivo porque vas a ir al curre hecho una ñapa
No me den credito! basicamente, estuve echando vistazo a otros sources, y como injectar mi codigo del motorola 68k, y al final lo logre
Inyectar no has inyectado nada porque se ve claramente en la captura y lo dices tu , tienes el código del programa , simplemente has sustituido tu función por la que venia por defecto ( que supongo habrá sido su buen curro)
Lo que me gustaría saber es si de verdad has conseguido mejorar el rendimiento o existe alguna diferencia.
Lo que tu querías no era la salida 15khz y la entrada de argumentos por la terminal?