Emulador de Arcade Galaxian escrito en FreeBasic

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

Re: Emulador de Arcade Galaxian escrito en FreeBasic

Mensajepor jepalza » 05 Dic 2013, 14:39

Lo del Freebasic como evolución de QB, ya lo he comentado en unas 50 ocasiones, pero te perdono, no es fácil seguirme. Dediqué un hilo a los Basic mas conocidos, y en él ya lo comenté.
Luego, cada vez que pongo un emulador hecho en basic por mi, vuelvo a comentar lo de las maravillas del FreeBasic, se ve que no lo has visto, tambien te perdono (en concreto, cuando puse el emulador de 6809 y del Thomson M05 ambos en FB (freeBasic, no feisbus) <rX

Llevo con FB unos 6 años, y todo virtudes. He hecho incluso aplicaciones 3D que cuesta distinguirlas de las hechas en C++.

Publicar emuladores que hago con el FB, solo pongo aquellos hechos al menos un 50% por mi, y en el caso del Spectrum, solo un 25% es mio, no quiero publicar el trabajo de otro, por mucha conversión que yo haya realizado. No sea que un día el tio que lo hizo vea en los mios indicios de los suyos y se enfade conmigo, a pesar de ser libres y de ser "parecidos", pero no iguales.

Volviendo al tema del Spectrum, el execute "se queda", no sale, hace un bucle infinito, y dentro de él, se llaman a rutinas de interrupción y lectura/escritura de RAM, y es en esas rutinas donde se hace el chequeo de hardware, como el teclado, y ahí ponemos la tecla ESC para poder acabar la simulación.

Si te va a 2000 por hora, es por que no están las pausas bien puestas. Es algo por lo que no me preocupo casi nunca. Como lo hago para mi y mi portátil, (un I7) no me preocupa como les vaya a los demas. Y como siempre entrego fuentes, las cuatro veces que los "regalo", el que quiera, puede meter pausas a su gusto. En realidad, debería ponerlas de modo que vea la velocidad del PC, pero probablemente esté desactivada esa parte.

Lo de que no ves nada en pantalla, es por que está habilitado el doble buffer de pantalla del freebasic (puedes habilitar varias pantallas a la vez). Lo que haces es poner una en la que trabajas "en la sombra", si que se vea como dibujas, y luego, lo vuelcas en la visible. Es se hace con el comando SCREENCOPY. Como el curso normal del emulador aún no ha llegado al comando SCREENCOPY 1,0 no ves nada de lo que dibujas o pintas. Para verlo antes de llegar, pones un SCREENCOPY "a pelo" justo tras los PRINT, y ves la salida, o sino, deshabilitas la creación del doble buffer, quitando el ",,2" en el comando SCREEN 18,,2 dejando solo SCREEN 18, pero entonces, es mas lento al dibujar y ves parpadeos. Para depurar, es lo que yo hago, lo deshabilito o sino uso el SCREENCOPY. Eso ya es de conocer el FB.

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 Arcade Galaxian escrito en FreeBasic

Mensajepor Hark0 » 06 Dic 2013, 11:39

Bueno, como bien comentas, seguirte al 100% es un poco complicado... :P

Cierto que he leido de ti sobre FreeBasic... pero no le habia prestado la atención suficiente. GLB contra FBC tiene la ventaja (la única, me temo) que soporta un huevo de plataformas... y eso para mi es importante. Cuantas más máquinas puedan usar el soft, mejor. Es una pena que FBC no tenga más plataformas destino...

Estoy estudiandome el librito que comento (en Google buscar "freebasic manual pdf", es un fichero de 255 páginas, y dice que es el manual basico, jijijiji), y viendo como funciona FBC, etc.

Lo del mainloop en "execute" ya lo postee, ya lo entendi... ;)

Estoy estudiando como procesas los opcode etc... gracias a los comentarios del src, la cosa esta bastante clara.. gracias.

Sigo viendo tu código...

pd ¿el amstrad cpc no te interesa emularlo? :P
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

jepalza

Re: Emulador de Arcade Galaxian escrito en FreeBasic

Mensajepor jepalza » 06 Dic 2013, 12:48

Hark0 escribió:pd ¿el amstrad cpc no te interesa emularlo? :P

SI, por supuesto.... Lo mismo me meto con él ahora a jugar un ratito... tengo tres días por delante. :-k

Aprovecho para poner otro emulador mas, que ya comenté que iba a subir a la red, el de SMS, que se puede ver en ESTE HILO, a petición de @kusfo (AQUI)

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 Arcade Galaxian escrito en FreeBasic

Mensajepor Kusfo » 06 Dic 2013, 14:39

Como ya te he dicho en el otro hilo, gracias por colgarlo!

Aparte del my_hero, algun juego en especial que hayas probado que funcione mas o menos 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 Arcade Galaxian escrito en FreeBasic

Mensajepor jepalza » 06 Dic 2013, 15:19

Kusfo escribió:Como ya te he dicho en el otro hilo, gracias por colgarlo!

Aparte del my_hero, algun juego en especial que hayas probado que funcione mas o menos bien?


el R-TYPE: ¡qué maravilla pensar que está escrito en BASIC y que va así de fluído y colorido! (por cierto, luego subo una versión a la que le he reparado la velocidad, y ahora va mas alegre)

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: Emulador de Arcade Galaxian escrito en FreeBasic

Mensajepor mentalthink » 06 Dic 2013, 23:01

Gracias Hark0 pero ya sabes como vamos que me envias algo te envio algo, y son tantas cosas que es que no se puede tirar con todo...
Voy a mirar también el FreeBasic a ver que cosicas se pueden hacer en 3D.

jepalza

Re: Emulador de Arcade Galaxian escrito en FreeBasic

Mensajepor jepalza » 07 Dic 2013, 07:14

mentalthink escribió:Gracias Hark0 pero ya sabes como vamos que me envias algo te envio algo, y son tantas cosas que es que no se puede tirar con todo...
Voy a mirar también el FreeBasic a ver que cosicas se pueden hacer en 3D.


Las librerías nativas del FreeBasic incluyen las clásicas OPEN-GL, y se pueden acoplar las DIREXCT-X fácilmente. Tiene ademas NEWTON para efectos de energía (rebotes por ejemplo). Son tantas y tantas las librerías, que poner todas aquí ocuparía páginas de ZDP. Y eso te hablo de forma nativa, osea, que no tienes que buscar nada, simplemente bajas el FB y ya te vienen las librerías activadas. SOlo hay que mirar la carpeta de ejemplos, para ver cuantos vienen.
Simplemente, haciendo un "DIR * en cada carpeta importante, ya arroja estos números:
1200 ejemplos, 1300 cabeceras de librerías y 165 librerías. Las cabeceras por ejemplo, (ficheros "include") tienen llamadas a todas las funciones API de windows, por lo que, son maña puedes hacer en FB un programa tipo windows a la perfección, con sus menus, ventanas, marcos etc. de modo que costaría mucho distinguirlo de algo hecho en C.

Luego, por separado, para 3D, existen al menos 5 librerías mas de terceros, como NINFA3D, IRRLICHT o OGRE por ejemplo. COn las Irrlicht y las Ninfa he ehcho programas en 3D (estilo DOOM) que no envidian en nada a los hechos en C.

Me reitero en lo que he dicho en docenas de hilos en los últimos 5 años:¡SOLO USO FREEBASIC! Para todo, para comer, para dormir.... bromas aparte, es tan POTENTE que te sirve para hacer aplicaciones del día a día, como editores de CNC que hago habitualmente para mi trabajo. Aplicaciones windows, juegos 3D, emuladores, y ya de 2D ni te cuento.
Te sirven los programas de la niñez que hacías para el QuickBasic, etc..

Con el tiempo me he ido haciendo un programa en Basic que convierte programas de C (C++ le cuesta mas) a freebasic, para así ir portando cosas al FB.

He AQUIla librería por excelencia del FreeBasic.

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 Arcade Galaxian escrito en FreeBasic

Mensajepor Hark0 » 07 Dic 2013, 08:00

jepalza escribió:
Hark0 escribió:pd ¿el amstrad cpc no te interesa emularlo? :P

SI, por supuesto.... Lo mismo me meto con él ahora a jugar un ratito... tengo tres días por delante. :-k

Aprovecho para poner otro emulador mas, que ya comenté que iba a subir a la red, el de SMS, que se puede ver en ESTE HILO, a petición de @kusfo (AQUI)



Bravo! =D>
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
commodoro
Amiga 1200
Amiga 1200
Mensajes: 1280
Registrado: 17 Abr 2010, 17:32

Re: Emulador de Arcade Galaxian escrito en FreeBasic

Mensajepor commodoro » 07 Dic 2013, 13:05

Muy impresionante.

Te hago una consideracion, en vez del galaxian, original ¿por que no emular el zero time de petaco?, es mucho mas adictivo y nacional, y ademas como hay 4 juegos en el mame de petaco podrias seguir con los otros.. Petaco en Basic. Suena muy bien.

jepalza

Re: Emulador de Arcade Galaxian escrito en FreeBasic

Mensajepor jepalza » 07 Dic 2013, 14:51

commodoro escribió:Muy impresionante.

Te hago una consideracion, en vez del galaxian, original ¿por que no emular el zero time de petaco?, es mucho mas adictivo y nacional, y ademas como hay 4 juegos en el mame de petaco podrias seguir con los otros.. Petaco en Basic. Suena muy bien.


Por que el Galaxian fué (y sigue siendo) mi juego de la juventud, el de las "10 pesetas por partida" (antes lo fué el Space Invaders con sus 5 pesetas, pero no caló tanto)

Como solo emulo por diversión, solo emulo lo que me gusta o gustó en su día. Hoy día hay emuladores para todo, y no merece la pena volver a inventar la rueda.


Volver a “Emuladores”

¿Quién está conectado?

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