Emulador de Sega Master System en Basic

Foro dedicado a la emulación de sistemas clásicos en el PC o en otros sistemas.
jepalza

Emulador de Sega Master System en Basic

Mensajepor jepalza » 06 Dic 2013, 12:44

Pongo aquí otro de los emuladores que he hecho en Basic (FreeBasic) en ESTE enlace.

El mérito no es mio al 100%, al igual que ocurre con otros como el de Spectrum que he publicado hace poco. En este caso, estoy empleando el emulador de Z80 que convertí a FreeBasic desde C y el módulo de VDP (controladora de vídeo de SMS/GG) que es de otro usuario. Yo simplemente, he juntado todos los módulos, les he dado "nueva" vida en FreeBasic y un simple menú de cargar cartuchos. Poco mas que el 25% del trabajo es mio, el resto es de fuentes libres de la red.

Funciona BASTANTE mal, tanto, que no llega ni a la mitad los juegos que funcionan. Y de la GameGear menos aún. Pero como ya he dicho otras veces, hago esto por diversión, no por ganar un concurso o dinero. Lo importante es el esqueleto, el núcleo del emulador. El resto, es echarle paciencia e ir depurando hasta lograr un funcionamiento mas limpio. (y que tenga sonido).

sms_emulador_freebasic.jpg
sms_emulador_freebasic.jpg (42.75 KiB) Visto 6912 veces



Viendo los progresos con varios emuladores, la verdad, dan ganas de juntarlos todos, y hacer el primer emulador multisitema en Basic del mundo.... :jumper:

Edición: corregidos un par de fallos que impedían cargar juegos muy grandes. Ahora carga mas y mejor. Los muy grandes, como el R-TYPE de 1mega, van lentos, por que el incesante y contínuo mapeo de ROM y RAM que hace. Tengo que mirar ese a ver si lo mejoro. Los de GG siguen con el mismo problema. 8-[

Actualización: he corregido el problema de la velocidad. Ahora, va mas rápido.

Avatar de Usuario
Kusfo
MSX Turbo R
MSX Turbo R
Mensajes: 437
Registrado: 17 Jul 2012, 13:05
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Sega Master System
Primera consola: Sega Master System
Ubicación: Warcelona
Gracias dadas: 6 veces
Gracias recibidas: 33 veces

Re: Emulador de Sega Master System en Basic

Mensajepor Kusfo » 06 Dic 2013, 14:10

Oh! mola! bajando!
Amstrad CPC6128 + Spectrum +2A + SONY MSX2 HB-F1 + Commodore Amiga 500 + Sega SC-3000 + Sega Mark III + Sega Master System + Sega Megadrive + Sega Saturn+ Sega Dreamcast + Nintendo Nes + Super Nintendo + Nintendo 64 + Nintendo Gamecube + PC-Engine

jepalza

Re: Emulador de Sega Master System en Basic

Mensajepor jepalza » 06 Dic 2013, 14:28

Estaba revisando un poco lo que tengo, y me he dado cuenta de que le he dejado deshabilitadauna linea importante, que si ella, muchos juegos de tamaños mayores a 64k no funcionan.
Lo corrijo luego, junto con alguna mejora que me ha dado por hacerle. La versión que tienes ahora, fallan muchos juegos, sobre todo los de GG.

edito: ya está, he subido una versión corregida que carga mas cartuchos que antes. El R-TYPE da gusto verlo, pero va muy lento aún. Tengo que mejorar el mapeo, que tarda mucho tiempo.

Avatar de Usuario
Kusfo
MSX Turbo R
MSX Turbo R
Mensajes: 437
Registrado: 17 Jul 2012, 13:05
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Sega Master System
Primera consola: Sega Master System
Ubicación: Warcelona
Gracias dadas: 6 veces
Gracias recibidas: 33 veces

Re: Emulador de Sega Master System en Basic

Mensajepor Kusfo » 06 Dic 2013, 18:58

Bajada la nueva versión!

Hay un bug al seleccionar roms, si hay 3 , solo se muestran 2, siempre hay una que no sale.

He probado el Rtype, para ser una versión tan primigenia, funciona muy bien!, lento pero bien!
Amstrad CPC6128 + Spectrum +2A + SONY MSX2 HB-F1 + Commodore Amiga 500 + Sega SC-3000 + Sega Mark III + Sega Master System + Sega Megadrive + Sega Saturn+ Sega Dreamcast + Nintendo Nes + Super Nintendo + Nintendo 64 + Nintendo Gamecube + PC-Engine

jepalza

Re: Emulador de Sega Master System en Basic

Mensajepor jepalza » 06 Dic 2013, 19:29

Vaya, acabo de subir otra versión hace dos minutos, con el problema de la velocidad corregido.
Miro a ver eso del menú, pero poco mas voy a hacer. No me quiero meter a fondo. La idea era mostrar su funcionamiento, poco mas. No quiero llevarlo al 100%. Seguro que alguien lo pilla y lo completa mas que yo.

Por cierto, antes de corregir el fallo de la velocidad, en un I7 iba bien, y en un Pentium centrino 1700 iba lento, pero ahora va bien en ambos.

-- Actualizado 06 Dic 2013, 19:39 --

El fallo del fichero que "se pierde" es muy sencillo, solo es añadir una línea.
Antes:

Código: Seleccionar todo

Sub eligecartucho()
    Dim fichero As String
    Dim f As Integer = 0
    Dim x As Integer
    Dim y As Integer =0
    Dim Salir As Integer = 0
    Dim Encontrados( 7000 ) As String
   
    Cls
    fichero = Dir( directorio+"*", fbArchive )
    Do
        f+=1
        encontrados(f)=fichero
        fichero = Dir( )
    Loop While Len( fichero ) > 0
    ' "borramos" los ultimos 20 para crear un espacio vacio
    For x=f To f+20:encontrados(x)=" ":Next


Ahora:

Código: Seleccionar todo

Sub eligecartucho()
    Dim fichero As String
    Dim f As Integer = 0
    Dim x As Integer
    Dim y As Integer =0
    Dim Salir As Integer = 0
    Dim Encontrados( 7000 ) As String
   
    Cls
    fichero = Dir( directorio+"*", fbArchive )
    Do
        f+=1
        encontrados(f)=fichero
        fichero = Dir( )
    Loop While Len( fichero ) > 0

    f+=1 ' -------------------------------->>>>>> añadir esta linea

    ' "borramos" los ultimos 20 para crear un espacio vacio
    For x=f To f+20:encontrados(x)=" ":Next

Avatar de Usuario
Hark0
Amiga 1200
Amiga 1200
Mensajes: 1695
Registrado: 11 Jul 2012, 23:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: (Otro)
Primera consola: (Otro)
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Emulador de Sega Master System en Basic

Mensajepor Hark0 » 07 Dic 2013, 08:03

Dios... y tiene más emuladores en la saca.... :shock:

¿de donde ha salido este hombre? :mrgreen: ;)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

jepalza

Re: Emulador de Sega Master System en Basic

Mensajepor jepalza » 07 Dic 2013, 09:02

Hark0 escribió:Dios... y tiene más emuladores en la saca.... :shock:

¿de donde ha salido este hombre? :mrgreen: ;)


La "rama" que mas me gusta de la programación, es la "emulación" (que no "simulación") y el 3D, y siempre en Basic.
Tendré unos 30 emuladores empezados, de los cuales, unos 10 en "C" y el resto Basic. Los de "C" creo que están todos por la red circulando, y los de basic, solo está el del Thomson M05, el resto, los que he dejado ahora por aquí, y los que nunca he dejado, ni creo que deje, o bien por que no emulan bien o por que son super-ultra-alfas, como el del "Macintosh Plus" que ya publiqué unas imágenes, pero que no consigo avanzar. (o el del Star Rider).
Tengo por ejemplo un emulador de HP48 que hice en "C" allá por el 96, que he tratado de convertir a Basic, pero no lo he logrado aún. Otro del CHIP8, otro del ZX81 que solo visualiza texto en lugar de gráficos, otro dela intellivisión o del Elektor TV Games, pero todos incompletos, que algún día acabaré.

Me encanta empezar una cosa, pero si me atasco muchos días, lo abandono y empiezo otra hasta que un día se enciende la bombillita y retomo alguno de los abandonados. El que mas tiempo lleva abandonado y mas veces he retomado, es el del StarRider, que no soy capaz de seguir, por lo complejo que es (lleva unos 4 núcleos independientes y tres CPU 6809, y no logro que todo vaya acorde)

-- Actualizado 07 Dic 2013, 09:06 --

jepalza escribió:.... Otro del CHIP8


Me cito a mi mismo, por que de pronto, me ha dado por dejar este emulador. Es tan simple, que se puede dejar como fuente "a pelo", por si alguien lo quiere seguir.
Funcionaba bastante bien, pero está obsoleto y viejo. Necesita una actualización completa, por que en un PC moderno va a 3000 por hora (lo hice en el 94 en QuickBasic, y en 2009 lo pasé a FreeBasic, pero lo dejé tal cual, sin completar ni reparar)

Avatar de Usuario
Zardoz
MSX Turbo R
MSX Turbo R
Mensajes: 283
Registrado: 09 Sep 2013, 19:04
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Madrid
Contactar:

Re: Emulador de Sega Master System en Basic

Mensajepor Zardoz » 07 Dic 2013, 10:08

=D> =D> =D> =D>
Yep, I have a blog :zardoz.es
Emulador DCPU-16 VM
Emulador Trillek

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Emulador de Sega Master System en Basic

Mensajepor radastan » 07 Dic 2013, 13:54

jepalza escribió:Tendré unos 30 emuladores empezados, de los cuales, unos 10 en "C" y el resto Basic. Los de "C" creo que están todos por la red circulando, y los de basic, solo está el del Thomson M05, el resto, los que he dejado ahora por aquí, y los que nunca he dejado, ni creo que deje, o bien por que no emulan bien o por que son super-ultra-alfas, como el del "Macintosh Plus" que ya publiqué unas imágenes, pero que no consigo avanzar. (o el del Star Rider).
Tengo por ejemplo un emulador de HP48 que hice en "C" allá por el 96, que he tratado de convertir a Basic, pero no lo he logrado aún. Otro del CHIP8, otro del ZX81 que solo visualiza texto en lugar de gráficos, otro dela intellivisión o del Elektor TV Games, pero todos incompletos, que algún día acabaré.


Vamos, que tu eres como yo, de los que se quedan programando hasta las 1 de la mañana para sacar algo de tiempo.

:tecle:

Para la siguiente Retromadrid nos vamos a ver con ojeras hasta el cuello. <XX
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

Avatar de Usuario
Kusfo
MSX Turbo R
MSX Turbo R
Mensajes: 437
Registrado: 17 Jul 2012, 13:05
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Sega Master System
Primera consola: Sega Master System
Ubicación: Warcelona
Gracias dadas: 6 veces
Gracias recibidas: 33 veces

Re: Emulador de Sega Master System en Basic

Mensajepor Kusfo » 08 Dic 2013, 11:55

He probado la nueva version con la nueva velocidad, y el Rtype va de lujo!! :-D
Amstrad CPC6128 + Spectrum +2A + SONY MSX2 HB-F1 + Commodore Amiga 500 + Sega SC-3000 + Sega Mark III + Sega Master System + Sega Megadrive + Sega Saturn+ Sega Dreamcast + Nintendo Nes + Super Nintendo + Nintendo 64 + Nintendo Gamecube + PC-Engine


Volver a “Emuladores”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados