VCC Emulador para coco3, alguien se apunta, C++, VS2015

Avatar de Usuario
luiscoco
Mensajes: 2328
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 30 veces
Agradecimiento recibido: 44 veces
Contactar:

VCC Emulador para coco3, alguien se apunta, C++, VS2015

Mensajepor luiscoco » 08 May 2017 20:40

Estoy tratando de ayudar en un proyecto de modificación del emulador VCC que fue liberado por el creador hace dos años y no le han hecho mucho aun, en la lista mail de coco, no he logrado mucho desde hace un mes.

Es uno de los pocos emuladores para coco3, no emula coco 1 ni 2 y mucho menos Dragon, aunque me gustaria que hiciera mas cosas
El XROAD también es bueno, solo es para coco 1 y 2 mas Dragon, usa otra tecnología, y creo que esta libre, voy a ver si está interesado en hacer algo mas.

Yo he podido hacer algunas cosas, pero soy de nivel medio en estas herramientas nuevas, ademas que necesito conversar y decidir con personas que entiendan el código, en la lista coco hay muchos usuarios más que programadores a este nivel, además de que los que pueden no quieran.

El código fuente esta en:
https://github.com/VCCE/VCC
y en esta pagina esta un original, aun no lo entiendo bien, ya que el primero tiene varios branch
https://github.com/vcc6809/VCC

Le estoy colocando teclado internacional, y configuraciones variables
COPY/PASTE directo al emulador
Joystick Hi-res y otras opciones

Actualmente está bastante avanzado pero hay cosas de requieren cambios profundos, y no se si pueda, -nb

Pantalla.png
Pantalla.png (11.36 KiB) Visto 524 veces

Avatar de Usuario
ron
Mensajes: 17110
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 491 veces
Agradecimiento recibido: 499 veces

Re: VCC Emulador para coco3, alguien se apunta, C++, VS2015

Mensajepor ron » 08 May 2017 21:02

¿ Pero el VCC es solo para Windows , verdad ?
¿ Qué está hecho en C ?

Avatar de Usuario
luiscoco
Mensajes: 2328
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 30 veces
Agradecimiento recibido: 44 veces
Contactar:

Re: VCC Emulador para coco3, alguien se apunta, C++, VS2015

Mensajepor luiscoco » 08 May 2017 21:06

Si es para windows, lo queremos pasar a otro lado, pero al parecer con las nuevas tecnologías se puede hacer desde VS2015, no se mucho del tema, pero al parecer lo puedo compilar por ejemplo para Android, yo no le tengo miedo a pasarlo a otras librerías como la SDl que usa XROAR pero la idea es discutir todo esto.

Con respecto al lenguaje, empezó en C luego algunas partes pasaron a C++, hay gente que quiere retro compatibilidad para XP y VC6 pero es cada vez más difícil, hay 50 formas de hacer cada cosa, hay 50 librerías para hacerlo multiplataforma, creo que el código está más enredado de lo necesario, y se han hecho avances en ordenación del codigo interno, pero esta en varios branch y me esta costando un mundo unir las cosas.

Avatar de Usuario
minter
Mensajes: 1306
Registrado: 22 Jul 2014 18:51
Agradecido : 526 veces
Agradecimiento recibido: 272 veces

Re: VCC Emulador para coco3, alguien se apunta, C++, VS2015

Mensajepor minter » 09 May 2017 10:32

Sería bueno hacer un Amigawave de como se estructura, se concibe y se programa un emulador.
No entrar en detalles técnicos, algo divulgativo.
Me parece un tema interesante que nunca pude entender.
Al igual que una implementación en FPGA de un sistema SI lo entiendo, un emulador se me escapa.
¿Cómo se compone? Su estructura, sus interpretaciones...
No centrarse en una máquina, sino a nivel mas general.

Avatar de Usuario
luiscoco
Mensajes: 2328
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 30 veces
Agradecimiento recibido: 44 veces
Contactar:

Re: VCC Emulador para coco3, alguien se apunta, C++, VS2015

Mensajepor luiscoco » 09 May 2017 15:08

Bueno pues, el concepto básico es imitar las piezas de hardware por medio de software en un computador mas rápido y que pueda con el trabajo, en los FPGA es igual, solo que lo que codificas o programas en el core, es un programa que cambia las puertas lógicas del controlador haciendo que este se comporte como uno o varios chips reales, por lo tanto al final y si haces el core bien, tendrás hardware igualito (en funcionamiento) al original, claro por afuera se ve el chip FPGA y lo demás que lleva, estas imitaciones de hardware también se pueden hacer con muchos transistores, como originalmente fueron o incluso con circuitos analogicos como un CPU analogico que siempre me intrigo (que los hay).

Así imitas la zona de memoria, hoy en dia es super facil tomas 64kb en una so 2 variables y ya tienes la RAM de una de nuestras máquinas, una ROM es algo similar, luego imitas el CPU, le creas en tu software emulador unas rutinas que le dicen a tu imitación de cpu en cual posición está, Program counter, con un integer sobra, y varias variables como registros del CPU, luego cada vez que tu rutina de CPU lee la RAM/ROM ejecuta lo que está escrito que seguramente será ordenar la información de otra manera en la misma RAM, también existen ciertas posiciones de memoria especiales, los puertos, que al accesarlos manejas otros chips, para estos también necesitas crear rutinas que imiten el funcionamiento de estos chips de puertos.

Si el equipo a imitar es un Amiga tendrás que imitar muchos custom Chip, si es una COCO o un ZX81, tiene menos hardware que imitar.

Luego y lo más importante es que lo que imites debe hacerse a la misma velocidad del equipo que imitas, no solo la funcionalidad sino la velocidad esto es primordial para un buen emulador.

Por supuesto la salida de video y de audio es también muy importante para que todo salga bien

Estamos hablando que hay que ver muy bien en qué máquina se está procesando y saber su velocidad, para después hacer los ciclos exactos para la máquina en cuestión.

Aunque lo más difícil es hacer que funcione en varios equipos como PC-Windows, Linux, MAC, Android y demas, por eso casi siempre hay un emulador o varios para cada plataforma.

Modernamente, también es más difícil trabajar esto, debido a la cantidad de lenguajes en los que se hacen emuladores, C, C+, C# son parecidos, pero se puede hacer hasta en basic, también es muy bueno en JAVA y se puede hacer en muchos más.

También influyen la cantidad de técnicas de programación y estilos en un software libre, además de la cantidad de librerías que puedes utilizar y si es entre varios, pues en ponerse de acuerdo y elegir lo mejor ya es un desafío.

Yo creo que tardo más en entender como lo hizo otro que hacerlo desde cero, pero como no conozco todo, seguro me tranco, como estoy ahora, jeje

Avatar de Usuario
luiscoco
Mensajes: 2328
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 30 veces
Agradecimiento recibido: 44 veces
Contactar:

Re: VCC Emulador para coco3, alguien se apunta, C++, VS2015

Mensajepor luiscoco » 13 May 2017 20:29

Alguien se apunta? para ideas o que sepa C++, VS2015


Volver a “Tandy CoCo”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado