Siempre es interesante seguir el desarrollo de un emulador y aprender. Mucha suerte con el proyecto.
Estás en mi lector de RSS, famigo![]()
animo!
¿En que lenguaje vas a implementar el emulador?
Genial, yo desaparezco un rato y a todos les entran delirios de grandeza.......
Java, según la cabecera del blog y en el post de punto de partida.
:: Developia :: http://www.developia.info :: a.k.a Uguru
Ánimo, todo lo que sea documentación sobre la GB es más que bienvenida.
Igual te vale de algo mi tutorial de ASM de GB, alguna particularidad explico por ahi...
http://wiki.ladecadence.net/doku.php...de_ensamblador
Mucha suerte, si eso vete actualizando este hilo para recordarnos visitar tu blog!
si mecesitas ayuda quizas puedas probar a mandar algun email al creador de este emulador de gameboy: http://bgb.bircd.org/
Para mi es el mejor emulador de gameboy que he probado. la emulación es a mi parecer perfecta.
Lo malo es que es solo para windows, pero consume muy pocos recursos. creo que puede funcionar en un 386/486 a fullspeed.
Por eso supongo que quzás pueda responderte a alguna duda que tengas.
esta bien el articulo de la instruccion LD, pero te faltaron los registros I, R, SP, PC, IX e IY y sus registros simples Ix, iX, Iy e iY (por lo general estos ultimos no documentados, pero factibles en los z80)
< - >echale un ojo a este link http://es.wikipedia.org/wiki/Zilog_Z80 te puede ser util
Última edición por SplinterGU; 09/08/2011 a las 15:36 Razón: Edición automática anti doble-post.
Me alegro que te gustara, los registros IX e IY parece ser que no existen en GameBoy, existen en el Z80 pero no en la versión que usa GameBoy (que tampoco tiene los registros sombra A', H', F'...) SP y PC son registros de 16bits, así que las instrucciones que trabajan con ellos son las de carga de 16bits, las tocare más adelante, aún así me faltan todavía unas cuantas instrucciones LD por comentar, para otra entrada.
Al principio habia leido que el Z80 de GameBoy era similar al de Zilog pero fabricado por Sharp, pero lo cierto es que a pesar de que son muy parecidos el de GameBoy es una versión bastante, pero bastante simplificada.
Los registros I y R supongo que si que existen pero las instrucciones LD no trabajan directamente con ellos son registros para interrupciones y cosas asi, todavia no tengo ni idea de como funcionan las interrupciones en GameBoy.
Estoy siguiendo estas tres fuentes, echales un vistazo que son geniales:
http://www.pastraiser.com/cpu/gamebo...y_opcodes.html
http://verhoeven272.nl/cgi-bin/FSgz?...docs&GBcontent
http://www.zilog.com/docs/z80/um0080.pdf
Última edición por deimian86; 09/08/2011 a las 16:30
Me podeis ayudar un poco con la ultima entrada?
http://blog.deimian86.com/?p=144
La parte IV del juego de instrucciones, la última de las instrucciones LD HL, (SP+e) es exclusiva de GameBoy, no existe en Z80, como estoy siguiendo el manual de usuario del Z80 para documentarme sobre las instrucciones en esta no la quiero cagar y contar una mentira xD si alguien que sepa bien me puede confirmar que la instrucción funciona asi. Mi duda es sobretodo si la instruccion modifica el valor de SP (que la logica me dice casi al 100% que no, pero no lo he encontrado escrito en ningun lado).
Está genial explicada, y efectivamente SP no se ve modificado por la instrucción. El resto de cosas, flags modificados, etc, está todo correcto :-)
Cuando tengas dudas, echale un vistazo a los Pan Docs...
http://gbdev.gg8.se/wiki/articles/Pan_Docs
En la sección de instrucciones(aritmetico/logicas de 16 bit), ahi la tienes:
ld HL,SP+dd | F8 | 12 | 00hc | HL = SP +/- dd ;dd is 8bit signed number
mnemonico, opcode, ciclos, flags (znhc), y funcionamiento.
Última edición por xzakox; 11/09/2011 a las 14:35
Marcadores