PDA

Ver la versión completa : Ordenador Old School! Estilo antiguo pero con hardware actual.



ArChEr
19/01/2013, 18:27
Pues hace bastante tiempo que se me pasa por la cabeza construir un ordenador como los antiguos MSX, Spectrum, Amstrad y demás ordenadores de la epoca pero con componentes actuales. El caso es que me he animado a empezar y estoy escribiendo el interprete de Basic.

El interprete del video esta corriendo sobre un arduino mega y se introduce el codigo mediante un terminal... en este caso e usado el hyperterminal de windows.


http://youtu.be/CZPVR4YhRmw

Aunque esté corriendo en arduino es solo un concepto ya que esta no será la placa principal del ordenador, como placa principal he elegido una STM32F4DISCOVERY (http://www.st.com/internet/evalboard/product/252419.jsp). Algunas de sus caracteristicas son:

Procesador ARM de 32bits a 168Mhz
1024KB de memoria Flash para el programa ( Ahi ira el interprete de Basic )
192KB de RAM
CS43L22, audio DAC with integrated class D speaker driver

Como veis esta placa es suficiente para hacer un ordenador de este estilo. Además quiero ampliarle la memoria RAM al máximo que pueda.

El caso es que ahora mismo el sistema funciona mediante un terminal de texto "HyperTerminal" y quiero ponerle ya un sistema gráfico para conectarlo directamente a un monitor VGA y tener algo que realmente se parezca a esos magnificos ordenadores.

La placa microVGA la he descartado porque es un "emulador" de Terminal ANSI el cual solo tiene texto y mi intención es que tenga gráficos donde poder programar juegos y trastear.

Así que estoy barajando estas dos opciones:

- MOD-VGA (https://www.olimex.com/Products/Modules/Video/MOD-VGA/) (Gameduino)
Video output is 400x300 pixels in 512 colors
All color processed internally at 15-bit precision
Compatible with any standard VGA monitor (800x600 @ 72Hz)
Background Graphics
512x512 pixel character background
256 characters, each with independent 4 color palette
pixel-smooth X-Y wraparound scroll
Foreground Graphics
each sprite is 16x16 pixels with per-pixel transparency
each sprite can use 256, 16 or 4 colors
four-way rotate and flip
96 sprites per scan-line, 1536 texels per line
pixel-perfect sprite collision detection
Audio output is a stereo 12-bit frequency synthesizer
64 Independent Voices 10-8000 Hz
Per-Voice Sine Wave or White Noise
Sample Playback Channel

- uVGA-III (http://www.4dsystems.com.au/prod.php?id=149)
Simple VGA interface to variety of monitors and LCD screens.
Supports the following resolutions,
- 320 x 240 (QVGA)
- 640 x 480 (VGA)
- 800 x 480 (WVGA)
Supports RGB 65K true to life colours.
Powered by the 4D-Labs PICASO processor.
15K bytes of flash memory for user code storage and 14K bytes of SRAM for user variables.
8 x 16 bit timers with 1 millisecond resolution.
13 x General Purpose I/O pins. Upper 8 bits can be used as an I/O Bus for fast 8-bit parallel data transfers.
On-board micro-SD memory card adaptor for multimedia storage and data logging purposes.
Dedicated PWM Audio pin supports FAT16 audio WAV files and complex sound generation.
Display full colour images, animations, icons and video clips.
Supports all available Windows fonts and characters.
15 pin D-type standard VGA connector to interface to any external VGA monitor
A 30 pin header for I/O expansion and future plug-in daughter boards.

No se por cual decidirme o si hay alguna otra opción mejor... El Mod-VGA está bastante bien y tiene 32Mb de ram... En cambio el uVGA-III tiene muy buena resolución pero no he visto nada de la memoria que tiene por lo que no se como irá el tema para sprite y tiles...

Otra opción sería programar mi propio chip grafico con una FPGA pero eso me queda muy lejos de momento aunque ya estoy mirando documentación sobre el tema.

Alguien sabe alguna alternativa mas para valorar? o me puede dar su opinión sobre estas placas?

Un saludo!

josepzin
19/01/2013, 18:32
En Retrowiki y Zonadepruebas (en los dos o solo en uno de ellos) estan metidos en proyectos similares, creo que Radastán es el que está en eso. No sé si los conoces.

SplinterGU
19/01/2013, 18:42
no me queda claro que es lo que sera de la vieja escuela (igual estoy algo dormido), si sera porque lleva basic? o sera un emulador de alguna de las consolas que mencionas? solo tendra basic o se podra programar en assembler o C?

no me queda bien clara la idea...

-----Actualizado-----

por que en lugar de escribir un basic propio no adaptas uno de los free que ya existen? te ahorrarias mucho trabajo.

ArChEr
19/01/2013, 18:47
no me queda claro que es lo que sera de la vieja escuela (igual estoy algo dormido), si sera porque lleva basic? o sera un emulador de alguna de las consolas que mencionas? solo tendra basic o se podra programar en assembler o C?

no me queda bien clara la idea...

-----Actualizado-----

por que en lugar de escribir un basic propio no adaptas uno de los free que ya existen? te ahorrarias mucho trabajo.

Pues sera como la vieja escuela porque tendra un interprete de basic y tambien podrás programar en código maquina como se podia hacer con estos... basicamente es construir un ordenador con un interprete para poder hacer programas/juegos facilmente como cuando estaban estos ordenadores que cualquiera con un libro de basic podia hacer cosillas...

Como ves es simplemente por hobby y por la satisfacción de crear un ordenador.

-----Actualizado-----


En Retrowiki y Zonadepruebas (en los dos o solo en uno de ellos) estan metidos en proyectos similares, creo que Radastán es el que está en eso. No sé si los conoces.

Pues no sabia que haia proyectos similares... voy a pasarme por alli a ver si veo algo.

josepzin
19/01/2013, 19:16
Pues no sabia que haia proyectos similares... voy a pasarme por alli a ver si veo algo.

Radastan está haciendo lo mismo que tu, un ordenador por el gusto de hacerlo, seguro que su proyecto te interesa!

SplinterGU
19/01/2013, 19:20
ahora entiendo... gracias... bonito proyecto! adelante con eso!

JoJo_ReloadeD
19/01/2013, 21:21
La idea es un programa (el basic) que se ejecuta en la cpu que interactua con el usuario directamente, recibiendo ordenes y ejecutando lo introducido...

Habra forma de que el usuario toque el hardware real?

Buena suerte con el proyecto y animo :)

xzakox
20/01/2013, 15:34
Te recomiendo que le eches un vistazo al stellaris launchpad de Ti, es también un ARM cortex, especificamente:

30717



Microcontrolador Stellaris LM4F120H5QR con núcleo ARM® Cortex™-M4F con las siguientes características:

Operaciones de punto flotante
Velocidad de operación máxima de 80 MHz
256 KB de memoria flash
EEPROM interna
SRAM de 32 KB
8 UARTs
4 I2C
4 SPI
27 Temporizadores


Interfaz ICDI (In-Circuit Debug Interface) USB incluida en la tarjeta.
Conexión micro USB-B para depuración.
Conexión micro USB-B de dispositivo para aplicaciones de usuario.
Switch selector de alimentación de dispositivo/depuración.
Pines BoosterPack XL, compatible con muchas tarjetas BoosterPack existentes.
2 botones para aplicaciones de usuario
Botón de reset
1 LED RGB
Puente (jumper) para medición de corriente
Cristal principal de 16 MHz
Cristal de 32.768 KHz para hibernación y reloj en tiempo real (RTC – Real Time Clock)


Todo eso por 5$ envio incluido... y todas las herramientas para programarla, debug, etc, puedes usarlas libres, está portado el GCC, libc, etc, y hay ya muchos tutoriales y documentación.
http://www.ti.com/ww/en/launchpad/stellaris_head.html

Segata Sanshiro
20/01/2013, 15:47
Todo eso por 5$ envio incluido... y todas las herramientas para programarla, debug, etc, puedes usarlas libres, está portado el GCC, libc, etc, y hay ya muchos tutoriales y documentación.
http://www.ti.com/ww/en/launchpad/stellaris_head.html

En la web de TI pone 12$, pero aun así es la caña.

xzakox
20/01/2013, 17:18
En la web de TI pone 12$, pero aun así es la caña.

Ok, cierto, 5$ era oferta de lanzamiento, cuando lo pillé yo, igualmente eso, 12$ GI por la placa que incluye el programador/debugger, cristales, botones, el led rgb, con su cajita, cable USB, etc...

Wave
20/01/2013, 21:57
Ok, cierto, 5$ era oferta de lanzamiento, cuando lo pillé yo, igualmente eso, 12$ GI por la placa que incluye el programador/debugger, cristales, botones, el led rgb, con su cajita, cable USB, etc...
12$? me dan ganas de pedir una aun sin saber que haria con ella xDDD

SplinterGU
20/01/2013, 22:13
12$? me dan ganas de pedir una aun sin saber que haria con ella xDDD

pues si... jeje

ArChEr
21/01/2013, 04:46
pues si... jeje

Hombre son 12.99 y supongo que habra que sumarle el envio... y alomejor te cobran el VAT por ser a españa...

xzakox
21/01/2013, 08:08
No, no, el envio va incluido, llega por agencia como muestra comercial o algo asi, y no cobran aduana.
Yo he pedido ya como 4 veces placas de desarrollo de Ti (msp430, stellaris, cc), y siempre ha sido asi.

Acabo de hacer la prueba en la tiStore, no hay gastos de envio, son al cambio ~9.75€

Documentación de por ejemplo, como desarrollar en linux:
http://recursive-labs.com/blog/2012/10/28/stellaris-launchpad-gnu-linux-getting-started/

Lo bueno de estos stellaris, además del core Cortex M4F claro, es que llevan la IORom (no recuerdo el nombre exacto), una serie de funciones I/O preprogramadas en ROM, con lo que para configurar/usar casi de cualquier manera sus periféricos, solo tienes que llamarlas desde tu programa (la libreria de GCC incluye llamadas), por ejemplo:

ROM_GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_GREEN|LED_BLUE, LED_RED);

He hecho cosillas con las dos, stm32 y stellaris, y la verdad me gusta bastante más el soporte que Ti da a sus productos y a la comunidad (si he trabajado más con los MSP430 de Ti).

Dullyboy
21/01/2013, 08:52
Menos de 20 euros (sumando envio) no pagan aduanas.