Multicartridge Atari con CPLD

Proyectos realizados por los Retronianos, también links a proyectos externos y sitios relacionados con Modding y DIY... A crear si ha dicho...
Responder
Avatar de Usuario
SpaceInvader
Mensajes: 217
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Multicartridge Atari con CPLD

Mensaje por SpaceInvader » Sab Feb 04, 2017 3:13 am

Presento mi nueva página web, es un multicartridge Atari con un CPLD de XILINX.

Imagen

Link: https://gamemasterquilpue.000webhostapp ... n_CPLD.htm

Gracias a xt5 por su contribución, saludos.
Última edición por SpaceInvader el Vie May 26, 2017 8:19 pm, editado 1 vez en total.

Avatar de Usuario
xt5
Mensajes: 391
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por xt5 » Dom Feb 05, 2017 8:05 pm

Si es que el código para la versión de 128KB, está basado en el código publicado (que es la versión para 1MB), entonces debería ser compatible con las ROMs del Turbosoftware de 128KB. ;)

Felicitaciones por el trabajo!!

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por vitoco » Jue Feb 09, 2017 11:06 pm

¿Cuál es la función del CPLD? Como que de repente me pierdo con las componentes "complejas" metidas en proyectos de fierros... ¿Qué cosas reemplaza además de las componentes lógicas de los multicart normales?

Avatar de Usuario
SpaceInvader
Mensajes: 217
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por SpaceInvader » Vie Feb 10, 2017 3:24 am

En este caso, el cpld reemplaza a unas 4 compuertas y 8 flip-flops D, dos integrados ttl, dependiendo del hardware en que se ha basado el programador original. Pero puede hacer mucho más, hay unas 800 compuertas usables en el xc9536xl.

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por vitoco » Vie Feb 10, 2017 7:36 am

Gracias space... mi duda nacía porque en tu página tienes un par de diagramas mostrando la configuración de la placa y la componentes usadas, pero no vi nada sobre comportas lógicas y webaditas de álgebra binaria a la que nos acostumbramos en la vieja escuela. Eso ya no se usa? Cómo se enseña ahora?

Avatar de Usuario
xt5
Mensajes: 391
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por xt5 » Vie Feb 10, 2017 12:43 pm

El CPLD solo reemplaza la lógica combinacional y secuencial tal como dice SpaceInvader, y aun así sigue siendo un proyecto 100% de fierros, lo único que cambia es que en vez de hacer conexiones en la placa entre componentes discretos, haces ese ruteo con las primitivas que te ofrece internamente el CPLD.

El CPLD (y los FPGAs) son programables de cualquier forma que puedas describir un sistema digital, y representar funciones booleanas, es decir con esquemáticos entre compuertas, de manera algebraica, etc.

La teoría de sistemas digitales que se enseña ahora no ha variado en las ultimas décadas, solo ha variado la forma en que puedes implementarla.

Es todo un mundo, y su curva de aprendizaje es muy empinada, antiguamente se usaba mucho esquemáticos y lenguajes como ABEL o CUPL (que utilizan álgebra booleana, tablas de verdad, etc), que para un proyecto como este cart funciona muy bien, pero para diseños gigantes como una CPU, Codec, GPU, etc., no te servirá en la practica.

En la actualidad los dos lenguajes estándares de descripción de hardware, que te permiten expresar diseños de forma mas productiva son VHDL y Verilog, han estado allí por mucho tiempo y es necesario aprender al menos uno ellos para entender bien como funciona el diseño de sistemas digitales de gran tamaño.

En la actualidad se buscan alternativas aun mas productivas para describir propiedad intelectual, de los candidatos que tienen un futuro prometedor está Chisel (basado en Scala) y Migen (basado en Python), y no es que utilices código Scala o Python que será usado "en el chip", si no que lo usas para "expresar un esquemático complejo".

Respecto a este cart, es 100% equivalente al cart de Turbosoftware (y no al Atarimax como dice el autor), aquí está su definición

Código: Seleccionar todo

-- Engineer: Robin Edwards
-- Create Date:    09:31:23 02/22/2015 

-- atarimax 8-mbit banking scheme

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity BankSwitch is
port (
		 CCTL, CLK : in std_logic;								-- cartridge 'CCTL, PHI2
		 ADDR_IN : in std_logic_vector (7 downto 0);		-- low 8 address lines of cartridge bus
		 BANK_OUT : out std_logic_vector (5 downto 0);	-- to high EEPROM address bits
		 RD5 : out std_logic										-- cart enable
);
end BankSwitch;

architecture Behavioral of BankSwitch is
	signal cart_disabled : std_logic;
begin
	RD5 <= NOT cart_disabled;
	
	process (CLK)
	begin
		if (rising_edge(CLK)) then
			if (CCTL = '0') then
				if (ADDR_IN(7) = '1') then
					cart_disabled <= '1';
					BANK_OUT <= "000000";
				else
					cart_disabled <= '0';
					BANK_OUT <= ADDR_IN(5 downto 0);
				end if;
			end if;
		end if;
	end process;
end Behavioral;

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por vitoco » Sab Feb 11, 2017 10:26 pm

Tengo tantas cosas pendientes que no sé si meterme en una más...

... igual me pican los dedos!!! :oops:

Gracias por aclararlo, tocayo.

Chongo
Mensajes: 19
Registrado: Mié Abr 26, 2017 11:42 am

Re: Multicartridge Atari con CPLD

Mensaje por Chongo » Mié May 17, 2017 4:23 pm

Estimados:

Tiempo atraz (en realidad años atras) me tente con un proyecto de cartridge para atari 8bits que aparece en AtariAge. Pero este año con la ayuda de Space Invader logre que funcionara.

Imagen

Es un Cartridge para Atari de 8 Bits, que permite utilizar las imagenes de 128k y 512k creadas para los AtariMax.

El armado es bastante sencillo, ya que solo requiere 2 IC, el EPROM y el Xilinx. Ademas de 4 componenetes.
Imagen

Uno de esos componentes es un regulador de voltaje, ya que si bien el Xilinx puede manipular datos a 5v, para su operacion solo funciona con 3,3V.

Lo mas complicado, en un principio fue la programacion del Xilinx, pero con la ayuda de Space Invader (quien programo los Xilinx) logre que el cart operara correctamente.

Lo mejor de este proyecto es que el PCB cabe exacto en los Catridge XEGS del tipo Ruged (los con las mismas lineas en los costado). Pero queda bastante bien en los XEGS planas y en algunas otras carcazas antiguas de Atari.
Imagen

Todos los archivos de la placa y para programar el XC9536XL estan en el link de mas arriba. Pero OJO, que lo que mas me demoro fue comprar el XC9536 sin la XL.
Otro dato importante es que la placa esta diseñada para los EEprom del tipo 29 y para que por ejemplo funcionen los 27c040 hay que cortar la pista entre los pines 32 y 31, y realizar un puente del pin 1 al pin 31.

Por ahora me faltan algunos XILINX pero vienen en camino, cuando los tenga listos me comprometo a regalar 3 a los usuarios de este foro.

Saludos a todos y cualquier duda, estoy para contestarla.

Avatar de Usuario
SpaceInvader
Mensajes: 217
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por SpaceInvader » Vie May 26, 2017 8:31 pm

Hola Chongo, al fin se vieron tus posteos. Aprovecho de arreglar mis links, tengo nuevo sitio web, el otro murió y nos echaron a todos jaja

Este cart es bastante sencillo de realizar, excepto por la grabación del Xilinx, que es complicada. Yo estuve como 10 meses tratando de grabarlo...

Saludos, y bienvenido al foro.

Avatar de Usuario
xt5
Mensajes: 391
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: Multicartridge Atari con CPLD

Mensaje por xt5 » Mié Ago 02, 2017 2:11 am

Chongo escribió:Estimados:

Uno de esos componentes es un regulador de voltaje, ya que si bien el Xilinx puede manipular datos a 5v, para su operacion solo funciona con 3,3V.
....
Todos los archivos de la placa y para programar el XC9536XL estan en el link de mas arriba. Pero OJO, que lo que mas me demoro fue comprar el XC9536 sin la XL.
Otro dato importante es que la placa esta diseñada para los EEprom del tipo 29 y para que por ejemplo funcionen los 27c040 hay que cortar la pista entre los pines 32 y 31, y realizar un puente del pin 1 al pin 31.
Felicidades por el proyecto!!
No entiendo, te demoraste en comprar los XC9536 "sin la XL", pero el diseño es para los XC9536XL?
Los XC9536XL son tolerantes a los circuitos de 5V, y tienen drive suficiente para comunicarse con ellos, ante las dudas tienes que ver que el VIH, VIL, VOH, VOL tengan los umbrales adecuados especificados en la hoja de datos.

Me quedan algunos XC9536XL por ahí, pero no recuerdo el tipo de paquete, voy a revisar.

Responder