un emulador de game boy escrito en ruby (parte 1)

45
Un emulador de Game Boy escrito en Ruby (Parte 1) Jano González

Upload: jano-gonzalez

Post on 12-Jul-2015

1.180 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Un emulador de Game Boy escrito en Ruby (parte 1)

Un emulador de Game Boy escrito en Ruby (Parte 1)

Jano González

Page 2: Un emulador de Game Boy escrito en Ruby (parte 1)

@janogonzalezhttp://janogonzalez.com

Page 3: Un emulador de Game Boy escrito en Ruby (parte 1)

https://github.com/janogonzalez/janogb

Fork me on GitHub

Page 4: Un emulador de Game Boy escrito en Ruby (parte 1)

El comienzo de esta historia

Page 5: Un emulador de Game Boy escrito en Ruby (parte 1)

Tutorial de Imran Nazar para crear un emulador de Game Boy en JavaScript

Page 6: Un emulador de Game Boy escrito en Ruby (parte 1)

Podría seguirlo, pero programar en otro

lenguaje...

Page 7: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 8: Un emulador de Game Boy escrito en Ruby (parte 1)

Comencé por conocer la CPU...

Page 9: Un emulador de Game Boy escrito en Ruby (parte 1)

Son 8 registros de 8 bits, más

un PC y un SP de 16

Page 10: Un emulador de Game Boy escrito en Ruby (parte 1)

A F

B C

D E

H L

PCSP

Page 11: Un emulador de Game Boy escrito en Ruby (parte 1)

Luego las instrucciones...

Page 12: Un emulador de Game Boy escrito en Ruby (parte 1)

LD, ADD, SUB, AND, OR, XOR, INC, DEC, etc..

Page 13: Un emulador de Game Boy escrito en Ruby (parte 1)

Mhh... Voy a hacer un port en Java...

Page 14: Un emulador de Game Boy escrito en Ruby (parte 1)

Empecé a desarrollar en Java, pero...

Page 15: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 16: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 17: Un emulador de Game Boy escrito en Ruby (parte 1)

Hay muchos métodos similares...

¿Qué puedo hacer?

Page 18: Un emulador de Game Boy escrito en Ruby (parte 1)

Ruby y Metaprogramación al

rescate

Page 19: Un emulador de Game Boy escrito en Ruby (parte 1)

No más getters y setters

Page 20: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 21: Un emulador de Game Boy escrito en Ruby (parte 1)

49 métodos en una declaración (o algo así...)

Page 22: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 23: Un emulador de Game Boy escrito en Ruby (parte 1)

En realidad, antes de comenzar me hice otra

pregunta...

Page 24: Un emulador de Game Boy escrito en Ruby (parte 1)

¿Cómo diablos voy a saber si mi programa va a

estar correcto?

Page 25: Un emulador de Game Boy escrito en Ruby (parte 1)

TDD al rescate

Page 26: Un emulador de Game Boy escrito en Ruby (parte 1)

♪ A little RSpec ♪

Page 27: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 28: Un emulador de Game Boy escrito en Ruby (parte 1)

Menos código sería mejor...

Page 29: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 30: Un emulador de Game Boy escrito en Ruby (parte 1)

Quiero mejorar el código...¿Qué puedo hacer?

Page 31: Un emulador de Game Boy escrito en Ruby (parte 1)

Sintactic Sugar e Idioms al rescate

Page 32: Un emulador de Game Boy escrito en Ruby (parte 1)

Parámetros con nombre y defaults

Page 33: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 34: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 35: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 36: Un emulador de Game Boy escrito en Ruby (parte 1)

If postfijo

Page 37: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 38: Un emulador de Game Boy escrito en Ruby (parte 1)

Métodos encadenados

Page 39: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 40: Un emulador de Game Boy escrito en Ruby (parte 1)
Page 41: Un emulador de Game Boy escrito en Ruby (parte 1)

Lo que falta...

● Cargar juegos ● Interrupciones● Gráficos● Sonido● En fin, casi todo

Page 42: Un emulador de Game Boy escrito en Ruby (parte 1)

Si termino, sería el primer emulador de Game Boy

escrito en Ruby

Page 43: Un emulador de Game Boy escrito en Ruby (parte 1)

Antes de terminar...Un mensaje de nuestros

auspiciadores

Page 44: Un emulador de Game Boy escrito en Ruby (parte 1)

Visitahttp://gemaroja.com

Page 45: Un emulador de Game Boy escrito en Ruby (parte 1)

Game Boy es una marca registrada de Nintendo

Foto de Aretha Franklin: http://es.wikipedia.org/wiki/Archivo:Aretha_Franklin_on_

January_20,_2009.jpg