Making an Emulator in JavaScript?
1. Introduction
Hola a todos. Gracias por estar aquí en lugar de la otra charla. Quería construir un emulador de Game Boy en JavaScript, pero resultó ser más difícil de lo esperado. Así que hablaremos sobre cómo construir un emulador en JavaScript. Mi nombre es Sarah, soy ingeniera de producto en ePilot. Estamos contratando. Soy originaria de Portugal, viví en Berlín durante cinco años. ¡Gracias!
Hola a todos. Muchas gracias por estar aquí en lugar de la otra charla muy interesante que está sucediendo ahora mismo. Lamento que nos hayan puesto a ambos al mismo tiempo. Así que si han visto el horario antes, como hace dos días o como hace una semana, en realidad decía construir un emulador de Game Boy en JavaScript, así que sabemos cómo fue eso. Pero básicamente, ese era mi plan principal porque pensé que sería fácil. Pensé, solo haré un emulador de Game Boy. Resulta que eso es realmente difícil. ¿Quién lo hubiera pensado, eh?
Y básicamente, sentí que muchas de las cosas que aprendí en el camino harían una buena charla por sí mismas, no porque no lo hice, sino porque quería darles la mejor charla posible. Así que pasó de esto a simplemente construir un emulador en JavaScript. Así que de eso vamos a hablar. Como dijo Nathaniel, mi nombre es Sarah. En realidad, ya no trabajo en Orama, pero olvidé decírselo. Soy ingeniera de producto en una empresa llamada ePilot. De hecho, estamos contratando. Quiero decir, también estamos trabajando. Y soy de Colonia. Así que vengan a unirse a nosotros. No tienen que unirse a nosotros en Colonia. Vivo en Londres. Está bien. Quiero decir, también pueden... Colonia suena bien. Ya saben. Sí. Así que sí. Nuevamente, soy originaria de Portugal. Viví en Berlín durante cinco años. Odio el aeropuerto. Pero eso es todo lo que necesitan saber sobre mí. Muchas gracias.
2. Emulation and Types
La emulación es cuando algo pretende ser otra cosa, como un ordenador pretendiendo ser una PlayStation 1. Hay dos tipos de emulación: emulación de hardware, donde el hardware es el mismo o similar pero no fabricado por el fabricante original, y emulación de software, que es en lo que nos centraremos.
Bien, quiero comenzar la charla diciendo que lo que voy a mostrarles es definitivamente legal. Y hay dos razones por las que puse esta diapositiva. La razón uno es que siempre quise una diapositiva como esta en las charlas que hice. Pero la razón dos es que creo que hay una gran idea errónea sobre la emulación y el hecho de que es ilegal. Y no sé cómo en muchos países se ha vuelto legal o cuál es el precedente. Conozco el de EE. UU. No soy estadounidense, pero siento que todos somos estadounidenses de una manera extraña. Así que ahí lo tienen. Así que en EE. UU. , allá por el año 2000, había una empresa llamada Bleep. Lo juro por Dios, es una empresa real. Y la llamaron Bleep. Y hicieron un emulador de PlayStation 1 para Macs, de todas las cosas. Y le pidieron a Sony su bias, que era algo propietario de Sony, para que pudieran hacer el emulador. Sony dijo, nueve. Y ellos dijeron, está bien, entonces haremos el nuestro. Y hicieron el emulador, lo lanzaron en MacOS. Y hay videos de Steve Jobs diciendo, podemos ejecutar videojuegos en un Mac. Ya no, pero se podía en el año 2000. Ahora necesitas un Linux. Pero sí. Y luego Sony los demandó. Y ellos dijeron, no puedes hacer esto. Y resulta que no podían, porque no tenían ningún código propietario. Así que lo contamos como ingeniería inversa, que generalmente está protegida por la ley. Si se preguntan qué pasó con Bleep, Sony los compró y mató el emulador. Pero hicieron un montón de dinero. Así que eso es bueno. Genial.
Sin embargo, no soy abogado. Así que no te metas con Nintendo. En serio, no te metas con Nintendo. Bien, ¿qué es la emulación? Así que la emulación, lo voy a decir así, la emulación es cuando algo está pretendiendo ser algo más. Así que mi ordenador pretende ser una PlayStation 1, ya sea a través de software o hardware. Y puede ser, se usa principalmente para videojuegos, pero también puede usarse para sistemas operativos reales. Como, creo que puedes ejecutar Windows 95 en el navegador, lo cual es una maldición, pero ¿por qué no? Si puedes hacerlo. Todo lo que se puede escribir en JavaScript eventualmente se escribirá en JavaScript. Supongo que ahora TypeScript. Pero sí. Así que digamos que tienes este ordenador, y este ordenador es como, no, en realidad soy una PlayStation. Así que puede leer ese código, interpretarlo, ejecutar las instrucciones que se supone que debe ejecutar, y hacer la cosa. Sin embargo, hay dos tipos de emulación, y quiero asegurarme de que sepamos la diferencia en lo que realmente vamos a estar hablando. Así que hay emulación de hardware, y digamos que realmente sabes cómo hacer chips. ¿Verdad? Tienes ese software elegante y envías todo a la única empresa que patrocina a todos los YouTubers. Y eso es básicamente, digamos que tienes un chip para un Game Boy, y haces las partes exactas, así que realmente podemos leer el juego. Es emulación de hardware. El hardware es exactamente el mismo o muy similar, solo que no hecho por Nintendo, o Sega, o lo que sea. Pero esto no es de lo que vamos a estar hablando.
Comments