Página 1 de 1

Emuladores hechos en "Basic"

Publicado: 01 Oct 2012, 20:03
por jepalza
Como veo que a algunos os ha interesado el tema de la emulación de sistemas retro en el lenguaje Basic, he recopilado aqui algunos de los que tengo o que he encontrado por la red, y a ser posible, con código fuente, que es mas entretenido.
Algunos, los he convertido a lenguaje mas moderno, el FreeBasic, por diversión, o para poder disponer de la emulación de la CPU en otros emuladores, y los tengo guardaditos en mis HD.

Los que no regalan el código fuente, quedará la duda de si están hechos en basic puro, o si llevan partes de C o ASM.

CPU Z80:
GB --> GameBoy Emulador, incluye fuente en VBasic
ZBOY --> Emulador de GB que empezó siendo Basic, y ha acabado siendo "C", pero los fuentes Basic viejos, aún los entregan.
VBSpec --> Emula un Spectrum "cuasi" perfecto, con fuentes en Vbasic.

CPU 6502:
BasicNES --> Nintendo NES con fuentes.
NESEM --> Otro emulador de NES,con fuentes, pero en Qbasic

CPU 6809:
Thomson Mo5 --> Emulador de Thomson Mo5 de cosecha propia, mio 100%, en freebasic con fuentes.

CPU 8086:
PCEmu --> Emulador de PC 8086 modo CGA en Visual Basic, con fuentes. Pero la última versión, lleva mucho de "C" y no entrega esas fuentes (las viejas solo Basic sí)
PC8086 --> otro que acabo de encontrar, pero no lo he probado.

CPU CHIP8:
VBCHIP --> incluye el fuente en VB.

CPU 6510:
C64 --> este si tiene el fuente, pero no lo encuentro ahora mismo por el foro.
VB64 --> C64 en VisualBasic, pero no "regala" el fuente.

Como veis hay mucho donde elegir. Hay mas variante, pero ahora no recuerdo dónde las ví.
Me falta uno de Apple-II en Qbasic, pero no encuentro la página.

Algunos los he convertido de VisualBasic a Freebasic para poder emular otros sistemas a mi gusto, y los otros, los tengo tal cual, originales en VisualBasic.
(por ejemplo, el de Spectrum, lo he convertido a FreeBasic, quitando cosas innecesarias, justo para jugar sin florituras)

De mi emulador de 6809 ( por cierto, el único en el mundo, nadie mas ha hecho uno en Basic) aparte del Thomson, estoy haciendo un emulador del juego arcade "Star Rider", famoso juego LaserDisc al estilo del "Drangon's Lair", enterito en Basic, incluida la emulación del Video LaserDisc en tiempo real, y va como un tiro, pero tengo problemas y no logro avanzar la emulación, y lo tengo parado. Dejo algún vídeo de él.





Aqui, con video de fondo en tiempo real, pero desfasado respecto al juego:

Re: Emuladores hechos en "Basic"

Publicado: 01 Oct 2012, 20:42
por Kusfo
Juas, pues no conocía ni la mitad de ellos!!

Muchas gracias!!

Re: Emuladores hechos en "Basic"

Publicado: 01 Oct 2012, 20:48
por mentalthink
Bua Jepalza te has lucido!!! porque aquí no se ponen Karmas si no te pongo "un puñaó"...

Vaya info... gracias!!!

Re: Emuladores hechos en "Basic"

Publicado: 01 Oct 2012, 21:07
por jepalza
Ya veréis, si conseguís compilar alguno, lo divertido que es modificar las cosas para que hagan lo que tú quieras. Yo por ejemplo, como diversión, convertí el emulador de Spectrum de VB a FB y le metí un rollo para localizar vidas infinitas a los juegos. No funciona nada bien, pero como diversión, ha sido todo un reto.

Y el placer que produce ver resultados a medida que avanzas en la emulación, eso no tiene precio. Me ha ocurrido en docenas de ocasiones, pero especialmente, en el emulador del StarRider al conseguir que el vídeo se muestre de fondo junto a los gráficos (con la trasparencia): cuando lo logré, falto poco para derretirme en la mesa.... <rX

Re: Emuladores hechos en "Basic"

Publicado: 01 Oct 2012, 22:12
por antoniovillena
Esto le viene bien tanto a los que se quieren iniciar en el mundo de la emulación como a los que ya están y quieren saber cómo se emula una máquina en concreto con un código legible. Aunque todo depende de cómo lo organice el programador, normalmente los fuentes en Java y en Basic son más asequibles que los que están en C o C++.

Re: Emuladores hechos en "Basic"

Publicado: 02 Oct 2012, 02:23
por Namek
Yo empece mi emulador de Spectrum en AMOS BASIC en el Amiga 500, luego lo pase a BLITZ BASIC en el Amiga 1200 y por ultimo converti todo el codigo de emulacion del Z80 y la pantalla a ensamblador del motorola 68000, mas tarde pude versionalo para PALM OS y ATARI ST utilizando el mismo codigo ASM de la CPU. Que tiempos aquellos y que buenos ratos programando y aprendiendo... :D

Re: Emuladores hechos en "Basic"

Publicado: 02 Oct 2012, 07:15
por jepalza
Ademas, todos sabemos de la dificultad del C++ (yo lo tengo atragantado, y no pasa, ni con aguja de punto de cruz) o de lo liante (dentro de lo fácil) del "C" puro, frente a la sencillez de toda la vida del Basic, y como hoy día ya no apenas diferencias en velocidad y versatilidad de los Basic frente al "C" (salvando distancias), con un Basic de ahora y la velocidad de los PC actuales, puedes hacer virguerías programando Basic.
Incluso, juegos 3D al estilo "Doom", y sin complicarse la cabeza en rollos de herencias, polimorfismos, clases y la madre que los ...

Y soy de los defensores acérrimos del Basic y su potencial, por eso, me gusta demostrar, que el Basic puede vivir junto al "C" sin echar nada de menos, y meterme con retos que pocos harían, por no comerse la cabeza depurando un código, buscando esas décimas de segundo necesarias, que el "C++" no necesita.

Re: Emuladores hechos en "Basic"

Publicado: 02 Oct 2012, 07:44
por Hark0
Muchisimas gracias por todo los enlaces... con todo el material que has puesto, creo que tengo para no pocos dias de "entretenimiento"....

=D>

(actualmente utilizando GLBasic.... ;-), a ver si soy capaz de adaptar/reprogramar/portar "algo" de todo este material a GLB... ;-D


Saludos.