Creacion de nueva consola (#2)

1, 2, 3, 4, 511
Imagen


F.A.Q.
¿ Que es Prodigy ?
>Es una consola casera y libre.
¿ Y que me puede ofrecer, que no me ofrezcan las comerciales ?
>Satisfacción ,al comprobar que algo construido por ti genera algo en la pantalla. Sensación que no te reportara ninguna PSP o REV.
¿ La tengo que montar yo ?
>Si, esa es la gracia...
¡¡Pero yo no tengo ni #€¬ IDEA !!!!
>Tranquilo, esta diseñada para que cualquier usuario con un poco de experiencia pueda montarla.
¿ Cuanto costara ?
>Está por ver, pero unos 200€ +/-
Bufff eso es una pasta...
>Bueno, tampoco te obligamos a comprar todos los componentes de una sentada...
¿ Estáis solos ?
>Por ahora si, solo nos conocen en algun hilo y en medio EOL. Pero dentro de poco la haremos internacional.
¿ Que juegos tendrá?
>Los que tu programes
¿ Estas de coña no ?
> Now...
¡¡¡¡ Yo no se programar, y es muy difícil !!!!
>Para eso estamos aquí para aprender y compartir conocimientos. No te preocupes te ayudaremos.

El wiki está muy desordenado....

[WIKI DEL PROYECTO ( Gracias SickBoy y f5inet )]

¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,

Recopilacion de enlaces interesantes:

¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,

Opencores.org

Arcade FPGA

Accelerador grafico 3D por FPGA

Xilinx

Altera

Estudio de acceleradores 3D en VHDL

Literatura VHDL para micros Altera

Ray tracing

¿ Que es el VHDL ?

Simulador VHDL completo y gratuito

Libro de lenguaje FPGA

Libro de computadoras en VHDL

Nes en una FPGA ( japones)

Xgamestation

FPGAGame

PONG en FPGA

Asteoides en FPGA

[FPGA] Nes, Atari, etc.. videos incluidos

Imagen
Continuación de 'Creacion de nueva consola'

Elohe escribió:
f5inet escribió:por cierto elohe, y esos examenes? salieron bien?

Aun no he acabado.... GRRRRRR mataria a los profesores... mira que si solo me hubiesen regalado 0.2 puntos en varias asignaturas habria aprovado....
alegria, alegria!!! tenemos nuevo hilo!!!! :P

mas de 500 mensajes... quien lo hubiera imaginado eh darkangelus???
Creo que ya te entendi, quieres que la letras salgan desde las lineas y luego se corten verdad?


PD: Felicidades por el nuevo hilo
Saludos
Quiero agradecerselo a:

>Elohe

>f5inet

>SickBoy

>d@VID

>elneocs

>wizardy

>FrisKo

>hellmasterx

>BladeRunner

>Karpico

>bit64

>poss_sseido

>Rolod

>Sylvan

>SuperLopez

>Hermes

>6502

>Shadowlayer

>noeru_m

>CROXNAR

>TerChU

>NeonNeT

>coleco

>Darkbatman

>anonimoX

>Bidule

>caren103

>arkaitz

>MegaPs2

>ARM

>dodger

>Staff EOL

>Samerman

>Ruby Gloom

>supermoves

>Haley_JO_fan

>WayneGacy

>NaNdO

>[Lande]

>payo

>Spira

>hjs

>boudd

>Also

>GoldraK

>BaByKiNg

>chicobaby

>tmaniak

>nu_kru

>Urian

>pink_chocobo

>ZholvaX

>Pirriaco

>jean la montard

Despues del peloteo tipico [666] vamos a lo que importa

El cierre es genial, " Elohe cagandose en tó " [qmparto] [qmparto] [qmparto] [qmparto]

Nunca un proyecto había atraído a tanta gente. ¡¡ Y eso que no tenemos nada!!! cuando Prodigy este funcionando .... . [amor] [babas] [babas]

Cito a f5inet :

con respecto a decisiones definitivas de micros... el SH4 me parece fenomenal, y si pudieramos encontrar el micro que unia el SH4 y el PowerVR que estaba haciendo renesas ya seria la reostia, el problema sera el posible pago de royalties que habria que soltarle a PowerVR, ademas que seguramente sera BGA el dichoso micro...
---------------------------------
Si es BGA, además es el que utilizaran los de Ñ-joy.... ( aunque ellos quieren el SH7780 con el PowerVR ). Tambien que nosotros no haremos una Dreamcast, si no algo PRODIGIOSO ;)

Total que con el SH4 nos podemos dar un canto en los dientes por haberlo encontrado.

Cito a f5inet :

ademas, para que necesitas NVRAM si en la CF o SD tienes todo el espacio que quieras para guardar las partidas...
---------------------------------
Hay le has daó, ese era el plan [jaja] . Cuando la cosa este más adelantada la podemos utilizar como memory card y meter juegos hasta en BLU-RAY-DISCK ;)

Aaaaahhhhhh con que eso era PATA, y yo que creia que era alguna pata de Jamon [qmparto] [qmparto] [qmparto]

Bromas aparte, GRACIAS Elohe por la explicacion [oki]

6502 no me habia fijado que te has currado el micro de Ethernet ( lo has buscado y todo ). Aunque no lo gastemos as aportado una tienda más [oki]

Bueno tengo malas noticias EL PRECIO , al utilizar SDRAM en micro y querer poner tanta 128MB nos saldria por 100€ +/- si utilizaramos memoria de ordenadores portatiles para los prototipos mejor que mejor... ( 128MB a 32BIT = 20€ x2 = 40€ y tenemos 128MB y 64BIT de bus de datos ) Eso si, siempre SDRAM !!!



hellmasterx

Bueno que despues se corten no se me había ocurrido.... pero prueba haber que tal !!! XD
siempre nos podriamos currar un adaptador DDR a SDR en un CPLD mas unos cuantos buffers triestado(esto ultimo para gartar una CPLD mas pequeña si usamos memoria estandar de PC)... pero de momento prefiero usar SDRAM normal, en el prototipo podemos usar la memoria mas lenta, la de 100MHZ que es mas barat pero tndriamos la siguiente limitacion:
HZ CPU/HZ RAM
240/120 (960MB/seg RAM, 480MB/s Dispositivos a 32bits)
200/100 (800MB/seg RAM, 400MB/s Dispositivos a 32bits)
240/80 (640MB/seg, 320MB/s Dispositivos a 32bits, a lo mejor se puede hacer funcionar la comunicacion con dispositivos a 480MB/s )

nota, el el bus PCI tranfiere 127.2 MB, el AGP 1X a 254.3 MB/s y el AGP 2X a 508.6 MB
PD. Marco la velocidad maxima, seguramente distintos comopentes tengan distinta frecuencia para comunicacion, el usar FPGA seguramente nos permita alcanzar los maximos teoricos.

Dios lo que duele no usar BGA, todo lo bueno esta en BGA.... La grafica esta limitada en el bus de memoria a 64bits y puede que pueda comunicarse a 64bits y/o ser DDR. .... Si usasemos una FPGA tocha, metiamos un controlador de memoria DDR de pc de doble canal y la maquina seria UMA... [mad][mad][mad] creo que estoy desvariando, tanto estudiar es malo.
mmmmmm......¿ cuanto costara la maquina para soldar BGA ? ( Tanto beber me hace mal [borracho] )


¿32bit? no querias 64? si es asi se rebajaria a 50€ ....
64bits a RAM y 32bits a dispositivos, la comunicacion con ram y con dispositivos tierne un ancho de bus diferente, y es algo muy normal.
Elohe e contactado con la sede de Farnell de españa y nos suministran el CPU. Pero como no lo tienen en el catalogo hay que pedirlo a Renesas directamente. Para que estos suministraran el material tendriamos que gastarnos en un pedido 500€ minimo ( +/- 40 chips ).


Micro: HD6417750RF240

¿ que hacemos ?
primero esperar, seguramente los podamos conseguir en menor cantidad, seguramente podramos conseguirlos como muestras de prueba... todo es cuestion de si puedo hacerlo por la universidad.
¿ Cuantos micros lleba ya la consola ? estoy echo un lio ya ... CPU seguro
FPGA 2
¿ y alguna CPLD ?
Tantas modificaciones me marean [mad]
¿Podria hacer un resumen de micros ? ( no hace falta los nombres )

Jopé, con la Uni a tus espaldas vale, ;) pero gente como yo no [qmparto] . Es decir que eres un particular y ya te estan colgando el telefono ... [carcajad] ( los de Farnell me han atendido bien, tarde pero bien )
ademas, para que necesitas NVRAM si en la CF o SD tienes todo el espacio que quieras para guardar las partidas...


Cierto pero se supone que la CF no estará siempre conectada. Eso soluciona lo de guardar partidas pero no lo de guardar la configuración como se hace en una Gamecube, Nintendo DS o Sega Saturn por ejemplo.

En teoría el "Dashboard" tendrá que guardar algunos parámetros de configuración como son el idioma, el tipo de audio, parámetros de configuración ethernet... Obligas al usuario a configurar la consola cada vez que cambies a una CF nueva. Lo obligas a tener siempre puesto un llavero USB. Algunas consolas guardan la configuración en una tarjeta de memoria, pero eso a mi no me parece demasiado elegante.

Un poco de memoria flash resuelve el problema, pero si no con las compact flash se puede ir tirando ;-). Como dice Elohe lo importante es que el hardware corra juegos lo demás son pijerías y add-ons.

Darkangelus futurlec es una tienda bastante barata para componentes electrónicos, me han hablado bien de ella. Esta en thailandia o en otro lugar del sudeste asiático no lo recuerdo bien. También tienen integrados ethernet para bus ISA pero el que yo digo es de bus PCI.

http://www.futurlec.com/ICSFRealtek.shtml


Lamentablemente no tienen casi CPU.
k yo recuerde era:

CPU: SH4
GPU: xilinx 300k puertas
comm+SPU: atmel ARM9 (acceso a USB, CF, ethernet, etcetc...)

voto por memoria SDRAM con un ancho de banda de 64 bits y 100Mhz.

aunque quizas si podemos usar CF y tiene un ancho de banda aceptable, quizas podamos reducir el tamaño de la ram a 32 MB y usar el nucleo de linux para que use por defecto un ficherito de la CF/SD como memoria swap... es una opcion a tener en cuenta...

respondiendo a 6502, la configuracion interna apuesto que no llegara a 256 bytes de informacion, que se podra guardar en cualquier eeprom de cualquiera de los chips que integra la consola, o meterle algun pic flash de esos de 64Kb por 2€ o asi...
f5inet escribió:respondiendo a 6502, la configuracion interna apuesto que no llegara a 256 bytes de informacion, que se podra guardar en cualquier eeprom de cualquiera de los chips que integra la consola, o meterle algun pic flash de esos de 64Kb por 2€ o asi...


Cierto por eso yo recomendaba usar un RTC poque sulen tener entre 80 y 200 bytes de nvram más que suficientes para ese cometido a parte de poder usarse como reloj/calendario/alarma. Un RTC con interfaz SPI de Dallas Semiconductors es bastante económico y se pueden conseguir por menos de 4 €. Texas instruments me dio uno como muestra gratuitamente hace unos meses. Pero como dices un chip de flash o un microcontrolador con algo de eeprom pueden realizar esa función pero sin ningún valor añadido. No quiero resultar pesado con el tema: RTC out, al menos para mí :-)

A todo esto ¿Linux estará en flash directamente en placa o hará falta tener una CF con el sistema siempre conectado? Porque si hay flash en placa directamente la configuración se podría guardar ahí.
De momento los compoentes son:
CPU: SH4
GPU: xilinx 300k puertas
SPU+PATA+USB+RED: xilinx 300k puertas en prototipo, luego se pondar una de menor tamaño si no se necesitan muchas puertas, eso si la SPU que tengo en mente se chupa unas cuantas....

6502, la maquina dispone de dos bios con tecnologia flash, la primera es muy pequeña y su unica funcion es la de arrancar el OS de la otra flash o ponerse en modo de prueba si en la flash secundaria falla la comprobacion de RIPEMD160 (CRC) para el OS y asi poder actualizarla, esta segunda flash dispondra de sitio para meter datos y archivos de configuacion de maquina, que por cierto no seran muchos (idioma, red, audio y no creo que ninguno mas haga falta).

Por cierto los caracteres soportados por las fuentes internas de la maquina englobaran: CJK , Latin+, Cirilico y simbolos utiles que no esten presentes en los mapas de caracteres citados(que seran pocos).
realmente el reto es meter un kernel linux con todas las 'features' que se necesiten en menos de 1MB :D:D
Gracias Elohe por responder tan rápido.

En la segunda Bios supongo que irá tambien un kernel de linux. Voy a intentar generar un kernel mínimo para SH4 para hacernos una idea del tamaño que podría llegar a alcanzar.

Saludos.
respesto a features minimas:

- planificador y multihilo
- memoria virtual
- soporte IPv4 y ethernet
- soporte framebuffer y el driver que generemos
- soporte CF y soporte formato de archivos FAT32

he estado haciendo pruebas y a lo minimo que lo he dejado ha sido a 800KB, eso si, en x86
f5inet escribió:respesto a features minimas:

- planificador y multihilo
- memoria virtual
- soporte IPv4 y ethernet
- soporte framebuffer y el driver que generemos
- soporte CF y soporte formato de archivos FAT32

he estado haciendo pruebas y a lo minimo que lo he dejado ha sido a 800KB, eso si, en x86


memoria virtual no nos hace falta
framebuffer no hace falta, no nos aporta nada a nuestra maquina.

mira esta version de linux: http://www.uclinux.org/ , es para cpus sin mmu, pero te puyedes guiar para tamaños minimos.
el framebuffer era por el acceso directo al buffer de video desde un programa linux.

si mal no recuerdo, SDL necesitaba tenerlo activo para usarse en consola.

tambien podemos usar SVGALIB, pero creo que sera mas trabajo adaptar SVGALIB (que es antigua y poco soportada) a adaptar SDL (que se usa tb en windows)

con respecto a sonido, un driver especializado y una escritura directa a /DEV/DSP deberia bastar, no creo que sea necesario adaptar ningun demonio tipo ALSA o OSS.

el tema de 3D es algo mas espinoso, que yo sepa no hay nada que dibuje usando OpenGL directamente a consola...

y con respecto a la memoria virtual la defiendo a capa y espada, no hay nada mas fastidioso que un programa se quede pillado porque no tiene memoria disponible en alguna situacion de carrera que al programador se le haya escapado... ademas, que la VMM nos evitaria gran parte de fragmentacion de memoria...
f5inet escribió:el framebuffer era por el acceso directo al buffer de video desde un programa linux.

si mal no recuerdo, SDL necesitaba tenerlo activo para usarse en consola.

tambien podemos usar SVGALIB, pero creo que sera mas trabajo adaptar SVGALIB (que es antigua y poco soportada) a adaptar SDL (que se usa tb en windows)

con respecto a sonido, un driver especializado y una escritura directa a /DEV/DSP deberia bastar, no creo que sea necesario adaptar ningun demonio tipo ALSA o OSS.

el tema de 3D es algo mas espinoso, que yo sepa no hay nada que dibuje usando OpenGL directamente a consola...

y con respecto a la memoria virtual la defiendo a capa y espada, no hay nada mas fastidioso que un programa se quede pillado porque no tiene memoria disponible en alguna situacion de carrera que al programador se le haya escapado... ademas, que la VMM nos evitaria gran parte de fragmentacion de memoria...


Con lo del Frame-buffer a lo mejor he confundido, el asunto es usar escritura directa sobre buffer, en pocas palabras nosotros usaremos una variente del frame-buffer, pero no es framebuffer, normalmente se le tiende a llamar DirectFrameBuffer ademas de que presscindimos de consola.

LA memoria virtual no es problema, trabajamos sobre una arquitectura limitada y cerrada, y para evitar esas situaciones de carrera existen otras tecnicas menos costosas.
hombre, obviamente prescindiremos de BASH, pero al referirme a la consola es una forma de referirme al proceso que se lanza una vez INIT ha terminado de inicializar perifericos...

por cierto, es importante que el ramdisk desde el cual cargue el kernel y se lancen las rutinas de deteccion tenga posibilidades de cargar 'extensiones', porque en un futuro querremos ampliar la consola con acelerador 3D y lector IDE y varias cosas mas... (entre ellas yo voto por una webcam) [hallow]

ya el reto no es tanto hacer un kernel de linux lo mas pequeño posible, (que ya de por si es un reto lo bastante interesante) sino el hacer una initrd (initial ramdisk) por debajo de 1MB, eso si sera todo un logro [jaja] (o como poco, por debajo de los 2MB)

aqui hay un link interesante de lo que hace linux para arrancar...
http://www.cpqlinux.com/sysinit.html

hay que tener en cuenta que lo que delega linuxrc(espacion initrd) a init(particion / montada) para arrancar, lo tendremos que hacer nosotros desde el espacio initrd (no tenemos ningun sistema de archivos fisico aun montado). entre esas cosas incluyen activar en enlace ethernet, cargar la pila TCPIP, cargar el protocolo USB, activar DHCP o configurar manualmente la direccion IP...

parece que sera divertido :D

post increiblemente interesante de IBM...

"This installment of "Migrating from x86 to PowerPC" discusses detailed similarities and differences between booting Linux on an x86-based platform (typically a PC-compatible SBC) and a custom embedded platform based around PowerPC, ARM, and others."

http://www-128.ibm.com/developerworks/library/pa-migrate2/?ca=dgr-lnxw09BootProcess
¿ Habeis visto el video de la GPX2 ? es buenisimo . Sale una placa toda tocha con montones de micros y despues la version final en sin carcasa. Todo ambientado con musica "mu" heavy [qmparto] [qmparto]

GPX2 Esta en DOWNLOAD.

Tengo ganas de hacer algo parecido con Prodigy [qmparto]

PD: La version de 10MB esta muy bien

PD2: ¿ Cuantos megas a la GPU ? ¿ unos 16MB a 128BIT ? ( son 4 micros de los que puse )
Hola Gente.

La verdad es que no he leido el hilo completo, lo haré cuando tenga tiempo :D

Primero que nada, muchas felicidades por la idea. Yo había pensado hace tiempo algo parecido, pero claramente no llegó a pasar de ahí. Pero vosotros habéis conseguido aunque sea soporte de mucha gente. Enhorabuena.

Sólo una cosita: He leido que pensáis usar tarjetas SD/CF para algunas cosas. Es una idea estupenda, pero por ejemplo leí una idea de alguien que decía usar la CF/SD como SWAP de Linux. Yo sólo aporto que una vez leí en algún lugar de la red que un tipo grabó un Windows 95 en una tarjeta SD, y la usó asiduamente hasta que a los 6 meses la tarjeta no volvió a funcionar. Por eso, lo del swap me parece una idea un poco mala, así como todas las opciones que sean tirar mucho de escritura en SD (no se si la lectura afecta en algo también, pero...)

Bueno, espero no haber dicho una locura. a ver si puedo meterme algún día en el proyecto, porque está realmente interesante :D
hombre, las memorias on-silicon como se le dicen, tienen un limite de escrituras... y si, es posible que el tema de swap eche a perder algunos clusters... pero para eso se marcan como defectuosos y en paz...
f5inet, me parece que tienes poca ideas de sistemas endebidos, muchos de los procesos que dices de iniciar ya pueden estar iniciados al arrancar el sistema, nos podemos saltar muchas comprobaciones de hardware ya que el que nosotros usamos en inmutable, no necesitamos cargar 'extensiones', nuestro sistema no tiene que ser tan estricto a nivel de separacion del programa al hardware, es mas los juegos deben de poder acceder directamente al hardware sin problemas, los drivers de sonido y graficos an de ser minimalistas, todo dispositivo USB desconocido por el os debe de poder ser directamente acesible desde el juego, no necesitamos SWAP, eso es algo creado para los ordenadores que no tiene ningun sentido en sistemas endebidos... Voy ha hacer una lista de lo que necesitamso y no necesitamos de soporte en el OS y las razones. pero seguramente no este asta en fin de semana de la semana que viene, ya que el jueves de la seman que viene tengo el ultimo examen.

Ten en cuenta que muchas de las cosas que normalmente se hacen en los drivers nosotros la implementaremos directamente en las librerias, para hacelerar la ejecucio0n.

[f5inet] cambia el chip y piensa en un sistema endebido y no en uno tipo PC. Empieza informandote por aqui: http://www.linuxdevices.com/
Elohe, la verdad es que no he programado mucho en sistemas embebidos, pero si tengo una idea que mientras mas cerca del silicio, mas provecho le sacaremos.

mi idea con respecto a la VMM y demas cosas habituales de linux de inicializar perifericos es dar 'feedback' al apretar el boton de encendido si algo no funciona bien, no mostrar una simple 'luz roja de panico' si todo no ha ido como se esperaba.

te recuerdo que yo soy de la vieja escuela, de la epoca del DOS y del ASM para dibujar un simple pixel en pantalla, donde era mas rapido hacer offset=(y<<8)+(y<<6)+x que offset=(y*320)+x, pero tambien tengo en cuenta que hay que dar el mayor soporte posible, para que cualquier programador con ganas de meterle mano al SDL y al compilador, sea capaz de generar un par de puntos dando vueltas por la pantalla... en ese aspecto creo que la VMM es algo que deberiamos soportar, precisamente porque los programadores que tienen ideas ingeniosas y frescas son los que menos se preocupan en rebajar esa bonita textura de 1024x1024x32 que ocupa 4 megas en memoria y le echa abajo todo el programa sin mayor explicacion al haber un 'malloc failed' no controlado...

y si, estoy de acuerdo que la mayoria de cosas que deben hacer los drivers se implementen en el SDK, puesto que la memoria que ocupe el kernel debe mantenerse lo mas bajo posible, entre otras cosas porque asi necesitaremos una flash mas pequeña...

por cierto, PDF la mar de chulo de un sistema basado en SH4 ya ensamblado totalmente [666]
http://www.hitachi-ul.co.jp/e/prod/SH-SE/pdf/ms7760cp01p.pdf
Siguiendo con la petición de ayuda de Darkangelus para traducir la datasheet he traducido la tabla de características de la CPU, para que así nos hagamos una idea general de como es la CPU que se va a usar.

Tabla 1.1 Características de la serie SH7750

=== LSI ===
- Frecuencias de operación: 240 MHz, 200 MHz, 167 MHz, 133 MHz, 128 MHz
- Potencia de cálculo:
- 432 MIPS (240 MHz), 360 MIPS (200 MHz), 300 MIPS (167 MHz), 240 MIPS (133 MHz), 230 MIPS (128 MHz)
- 1.7 GFLOPS (240 MHz), 1.4 GFLOPS (200 MHz), 1.2 GFLOPS (167 MHz), 0.9 GFLOPS (133 MHZ, 128 MHZ)

- Arquitectura superescalar: ejecución paralela de dos instrucciones
- Encapsulados: 256-pin BGA, 208-pin QFP, 264-pin CSP
- Bus externo:
- Bus de direcciones de 26 bits y bus de datos de 64 bits
- Frecuencia del bus externo de 1/2, 1/3, 1/4, 1/6 o 1/8 de la frecuencia interna

=== CPU ===
- Arquitectura original Hitachi SH
- Bus interno de 32 bits
- Archivo de registro general:
- 16 registros de 32 bits de uso general (y 32 registros ocultos para el programador "shadow registers")
- 7 registros de control de 32 bits
- 4 registros de sistema de 32 bits
- Juego de instrucciones RISC (compatible con las series SH)
- Instrucciones de 16 bit de longitud para mejorar la eficiencia
- arquitectura de Load-store
- delayed branch instructions (intrucciones de salto delayed :-?)
- ejecución condicional
- Juego de instrucciones C-based
- Arquitectura superescalar: ejecución paralela de dos instrucciones incluyendo el coprocesador FPU
- Tiempo de ejecución: Máximo de dos ciclos por instrucción.
- Espacio virtual de direccionamiento: 4 Gbytes (448 Mbyte de espacio de memoria externa)
- Identificadores de ambito ASIDs: 8 bits, 256 direcciones virtuales
- Multiplicador integrado
- Pipeline de 5 fases


=== FPU ===

- Coprocesador integrado en el chip.
- Soporta precisión simple (32 bits) y doble (64 bits)
- compatible con datos y exepciones cumpliendo el estándar IEEE754
- Dos modos de redondeo: Al más cercano o redondear a cero.
- Manejo de números desnormalizados: truncamiento a cero o generación de interrupción segun la norma IEEE754
- Registros de punto flotante: 32 bits x 16 palabras x 2 bancos
(precisión simple x 16 palabras ó doble precisión x 8 palábras) x 2 bancos
- Registro de 32 bits para la comunicación CPU-FPU (FPUL)
- Soporte de la instrucción FMAC (multiply-and-accumulate multiplicación-y-acumulación)
- Soporte de las instrucciones FDIV (división) y FSQRT (raíz cuadrada)
- Soporte de las instrucciones FLDI0/FLDI1 (carga de constantes 0,0 y 1,0)
- Tiempos de ejecución:
- Latencia (FMAC/FADD/FSUB/FMUL): 3 ciclos (precisión simple), 8 ciclos (precisión doble)
- Pitch (FMAC/FADD/FSUB/FMUL): 1 ciclo (precisión simple), 6 ciclos (precisión doble)
NOTA: FMAC solo esta soportado para precisión simple.
- Instrucciones gráficas 3D (geometría, solo en precisión simple):
- Conversión operaciones de matriz para vector de 4 dimensiones (FTRV): 4 ciclos (pitch), 7 ciclos(latencia)
- Producto vectorial de vectores de 4 dimensiones (inner product) (FIPR): 1 ciclo (pitch), 4 ciclos(latencia)


=== Generador de pulsos de reloj (CPG) ===

- Elección del reloj principal:
- SH7750, SH7750S: 1/2, 1, 3, o seis veces EXTAL (cristal exterior)
- SH7750R: 1, 6, o 12 veces EXTAL
- Modos de reloj:
- Frecuencia de CPU: 1, 1/2, 1/3, 1/4, 1/6, o 1/8 veces el reloj principal
- Frecuencia de BUS: 1/2, 1/3, 1/4, 1/6, o 1/8 veces el reloj principal
- Frecuencia de periféricos: 1/2, 1/3, 1/4, 1/6, o 1/8 veces el reloj principal
NOTA: las frecuencias máximas varían según el modelo.
- Modos Power-Down:
- Modo sleep
- modo standbye
- función standbye modular
- Perro guardián de un canal



=== Unidad de gestión de memoria (MMU) incompleto ===

- Espacio de direcciones de 4 Gbyte, 256 address space identifiers (8 bit ASIDs)
- Modo de memoria virtual single y multiple
- Soporte de multiple tamaño de página: 1 Kb, 4 Kb, 64 Kb y 1 Mb


=== Memoria Cache (solo para SH7750 y sh7750S, el SH7750R tiene el doble de ambas caches 16 Kb IC 32Kb OC) ===

- Cache de instrucciones (IC):
- 8 Kb, mapeado directo
- 256 entradas, bloques de 32 bytes
- Modo normal
- modo indexado
- Cache de datos (OC)
- 16 Kbytes, mapeado directo
- 512 entradas, bloques de 32 bytes
- modo normal
- modo indexado
- modo RAM (8-Kbyte cache + 8 kbyte RAM)
- elección de método de escritura ( copy-back o write-Through)
- El contenido de la memoria cache es accesible por direccionamiento directo (se puede usar como memoria integrada)
- Pila de almacenamiento (32 Bytes x 2 entradas)


=== Controlador de interrupciones ===

- 5 fuentes de interrupción externas: NMI, IRL3, IRL2, IRL1 y IRL0
- 15-level encoded external interrupts: IRL3 to IRL0
- Módulo de interruciones de perifeéricos integrados en la CPU: el nivel puede ser configurado para cada módulo.


=== UBC User break Controller * ===
- Módulo de depuración


=== COntrolador de Bus (BSC) ===

- Soporte de acceso a memoria externa de bus de 64/32/16/8 bit
- Espacio de memoria externo dividido en siete areas, cada una de hasta 64 Mb, con los siguientes parámetros configurables para cada área:
- Tamaño del bus (8, 16, 32 ó 64 bits)
- Número de ciclos de espera (función hardware-wait también soportada)
- Conexión de DRAM, DRAM síncrona y ROM posible configurando el tipo de espacio
- Soporte de página rápida y DRAM EDO
- soporte de interfaz PCMCIA
- Pines CS0 a CS6
- DRAM síncrona DRAM funciones de refresco
- Intervalo de refresco programable
- Soporte del modo de refresco CAS-before-RAS y modo de autorefresco
- DRAM síncrona DRAM función de acceso burst
- Seleccionable modo Big endian o little endian


=== Controlador de acceso directo a memoria (DMAC) ===
- 4 canales de DMA, 8 para la versión R del micro
- Tamaño de transferencia: 8, 16, 32 ó 64 bits o transferencias de 32 bytes
- Modo de direccionamiento:
-single address
- dual address
- Peticiones de transferencia: externas, modulos integrados o auto-peticiones
- Modos de bus: Robo de ciclos o modo burst
- Soporte de transferencia de datos bajo demanda


=== Unidad de Temporizador (TMU) ===
- Timer de recomienzo automático de 32 bits, 3 canales 5 para la versión R del chip
- función de captura de entrada
- selección de 7 relojes de entrada


=== Reloj de tiempo real (RTC) ;-) === *** Parece que al final si habrá reloj ^_^ ***
- RTC integrado en la CPU con funciones de calendario
- Cristal Oscilador de 32 kHz integrado con una resolución máxima de 1/256 segundos.


=== Interfaces de comunicacion serie (SCI y SCIF) ===
- Dos canales de comunicación serie full-duplex
- Canal 1 (SCI)
- Elección de modo síncrono o asíncrono
- soporte de interfaz smart Card
- Canal 2 (SCIF)
- Soporte de modo asíncrono
- Pilas FIFO separadas de 16 bytes para transmitir y para recibir



NOTA FINALES: La única CPU con soporte para 240MHz es la SH7750R que tiene el doble de cache y más canales de DMA entre otras mejoras. Viene en encapsulados BGA y QFP.

En la discusión de la memoria Virtual si, memoria virtual no, la verdad es que como programador se lo útil que es pero no se si usarla en la consola es una buena idea. Siempre podríamos poner en el kernel soporte de memoria virtual, y despues si algún programador necesita más memoria que cree un fichero de swap en el propio medio del juego que esta desarrollando. Lo podría hacer en el propio código del juego.

Un saludo.
Una pregunta indiscreta... cuando veremos una especie de prototipo, algo tó soldadito, la consola aunq solo sean suscomponentes ensamblados... alguna imagen física. Otra cosa de donde se pueden conseguir carcasa de CD o unidades externas, para ver cual nos quedamos para PRODIGY [oki]
uf david, una primera imagen real de la consola... hasta dentro de 6-8 meses minimo... y eso si nos damos mucha prisa...
f5inet escribió:uf david, una primera imagen real de la consola... hasta dentro de 6-8 meses minimo... y eso si nos damos mucha prisa...


joder macho a este paso la sacaremos pa hacerle la competencia a la PS4 ein?

No enseri, decidid q componentes elegimos, y donde los podemos conseguir, luego un tutorial que ponga como soldarlos y tal (para gente como yo, los q soldamos si vemos esquemas o si no no tenemos ni idea) y ya esta, una vez la tengamos cada uno en casa vamos experimentando cosas, la gente tiene ganas de que suceda ya algo en este proyecto, mira personalmente no me importaría tener el cacharro en casa y tardar 2 meses en ver correr algo en la consola, pero por lo menos ya tenedríamos algo con lo que experimentar.
david, ten por cuenta que precisamente lo mas dificil es hacer un hardware fiable y estable. que una vez el hardware sea elegido y ensamblado el desarrollo del soft, si hay gente experimentada implicada y se hacia de forma paralela al hard, apenas puede tardar 3 meses...

yo cuando me meti en el proyecto sabia que como minimo hasta dentro de un año no iba a ver nada...
Y para que la prisa [+furioso]

Es mejor ir normal (no lento) al ritmo que vamos un poco mas metidos en el tema, saldra algo bueno :-P Lo que no hay que dejar pasar es dejar morir el project [pos eso] Buscando specs fiables, podremos poco a poco ve nacer soft para Prodigy [bye]

Saludos
¿Cuanto costaría comprar todo el hardware?¿Donde se compraría?¿Habría que pedir cada componente a tiendas especificas?

Ya se que me adelanto un poco pero es que me salen estas dudas y el dinero es un problema (aún estoy ahorrando para un portatil para trabajar mas comodamente)

Estaría muy bien que cuando todo el hardware estubiese elegido alguien crease una guia de como conseguir las piezas y montarlas adecuadamente. Y en la supuesta guia tambien se podría poner modelos del funcionamientode la consola diciendo como funciona cada componente y para que sirve.

Ya se que pido mucho pero me interesa el proyecto no solo para decir "Esta consola la hice yo" sino más bien para aprender.

Y por último, ¿creis que montar y todo el tinglado lo podrá hacer alguien con poca esperiencia en electonica y alguna mas en programación (saqué un 5.5 en la asignatura de pascal y casi me suspenden con esa nota porque los profesores son unos cabrones [poraki] )?


Cuando me pongo a escribir no hay quien me pare :-) . Bueno, suerte a todos los que tienen examenes ahora y que aprobemos todos.
d@VID escribió:
joder macho a este paso la sacaremos pa hacerle la competencia a la PS4 ein?

No enseri, decidid q componentes elegimos, y donde los podemos conseguir, luego un tutorial que ponga como soldarlos y tal (para gente como yo, los q soldamos si vemos esquemas o si no no tenemos ni idea) y ya esta, una vez la tengamos cada uno en casa vamos experimentando cosas, la gente tiene ganas de que suceda ya algo en este proyecto, mira personalmente no me importaría tener el cacharro en casa y tardar 2 meses en ver correr algo en la consola, pero por lo menos ya tenedríamos algo con lo que experimentar.



La cosa es dificil y mas si no sabemos definitibamente los componentes que constaran :D . Tampoco tenemos prisa, si lo hacemos demasiado rapido y sin mirar nada tendremos una ps2. No es que tengamos su potencia si no sus fallos y errores. Yo soy el primero que la quiere ver montada pero hasta ahora no se puede tener más que paciencia [sati] . Aunque sabemos el SH4 que es, y donde esta y como conseguirlo preferimos no comprar nada ( es más le dije a Elohe que me iba a pillar un par de micros del SH4 y me recomendo que me esperara ).


Spira escribió:Ya se que pido mucho pero me interesa el proyecto no solo para decir "Esta consola la hice yo" sino más bien para aprender.


Bueno Spira justamente ese es el lema de la consola X-D . Haber yo por ejemplo e aprendido un WEBO [qmparto] . Tambien decir que hay un data sheet de un tal SH4 en perfecto ingles aun por traducir, ohacer un tutorial de como soldar etc... El de soldar puedo enseñar yo teorica pero hay que practicar... ¿ Teneis el soldador S14 que recomendamos en el otro hilo ? Pues ya teneis una faena ... [sati] XD
Yo no tengo el s14. Queria comprarlo pero al final me acabe comprando un soldador cutrisimo para ir tirando. Seguramente me acabaré comprando el s14 porque parece que merece la pena.

Me voy a mirar el pdf a ver si entiendo algo.
las piezas supuestamente elohe y darkangelus nos buscaran/diran los sitios donde comprarlas. si esto va saliendo adelante podemos montar una asociacion sin animo de lucro y podemos hacer un pedido en nombre de la asociacion (eso si, el dinero por delante)

el coste que barajamos sera por debajo de los 200€, y la idea es comprar los chips y que uno mismo se solarize su placa y suelde los componentes.
el apartado soft lo haremos entre todos...

por cierto, si hace falta yo me curro la tradu del PDF del data sheet del SH4, pero solo si REALMENTE vamos a usar ese micro... no quisiera yo pegarme el gran curro traduciendo para luego no usarlo...
f5inet escribió:las piezas supuestamente elohe y darkangelus nos buscaran/diran los sitios donde comprarlas.



Pues ya te lo digo en DIGI-KEY XD

Haber si podemos empezar ya de una vez ( malditos examenes de Elohe cawento )

f5inet respecto a la traduccion estoy con tigo. No quiero que te curres algo que luego no utilicemos...

¿ Las caracterissticas del soft podrian ser estas ?

" de serie "

MP3

MPEG4

Firefox

De programacion ando un poco perdido...

¿Las SDL que son exactamente ?

f5inet me tendras que hacer un tuto para habrir "explosion" por que no me entero de ná [qmparto] [qmparto] [qmparto]


PD: ¿ Alguien a "picao" algun SH4 de DIGI-KEY ? faltan 5 haber si me tengo que enfadar [666]

[soy el guardian de los SH4 [qmparto] ]
Darkangelus escribió:f5inet respecto a la traduccion estoy con tigo. No quiero que te curres algo que luego no utilicemos...

¿ Las caracterissticas del soft podrian ser estas ?
" de serie "
MP3
MPEG4
Firefox

De programacion ando un poco perdido...

¿Las SDL que son exactamente ?
f5inet me tendras que hacer un tuto para habrir "explosion" por que no me entero de ná [qmparto] [qmparto] [qmparto]


ok, cuando se decida en firme el SH4 y si se ve que es interesante, podria currarme una tradu.

las caracteristicas de serie sera que la consola bootee el juego que tenga en la CF insertada :P
obviamente, si algun programador se siente con ganas, es trivial hacer un reproductor de MP3 o de MPEG4, incluso una adaptacion de firefox.

las SDL son unas librerias como DirectX, pero que son multiplataforma (teoricamente tu coges un juego de windows hecho en SDL, y si esta bien hecho, simplemente recompilandolo en Linux, tienes el MISMO JUEGO en linux, o incluso en MAC OS X)

'explosion' esta hecha con otra libreria que se llama 'allegro' y te tienes que bajar la libreria aparte y copiarla en el windows, como indique por la pagina 48-49 del hilo anterior
Darkangelus cuanto vale el soldador S14? y otra preguntilla, al final q se va a acer con la FPGA se va a usar?, me recomendais pillarme la Spartan3 esa de la q se ablo?

Viva Prodigy!!

PD: Elhoe suerte con los examens!
FrisKo escribió:Darkangelus cuanto vale el soldador S14? y otra preguntilla, al final q se va a acer con la FPGA se va a usar?, me recomendais pillarme la Spartan3 esa de la q se ablo?


Si vale, es el mas economico y bueno pra el proyecto. Tambien esta el soldador de Elohe ( no me acuerdo cual, si buscas por el hilo antiguo [ me hace gracia decir eso XD ] lo encontraras ) que es mas profesional.


Tambien decir que las FPGAs ( son 2 XD ) si se utilizaran ya que son indispensables como GPU y SPU


Adjunto un diseño de Prodigy

PD: M e e pillado una PSP para ver lo que hace la competencia ( tenia que dar una excusa ¿ no ? [burla2] ) esta mañana y la verdad

[tadoramo] PSP

Si pudieramos utilizar el BGA se iban a enterar los de sony XD

PD2: Elohe los componentes SMD ( condensadores y etc.. ) seran estandar ¿no ?, se que hay mas pequeños pero los veo dificiles de soldar....



XD
El jbc s14 está sobre 30 €
A mi me costo 25€ [noop]

Busca en otra tienda...
otro mas pero no estoy sastisfecho (devi poner un font mas grande)
http://members.lycos.co.uk/hellmasterx0/prodigy3.html

Saludos
De Memoria virtual nada, esos fallos que dices f5inet se pueden detectar en modo debuging y hay otras tecnicas para evitarlos, creo que con 128MB de ram no habra problemas.

Mi soldador el el JBC SL-2020 vale sobre unos entre 65 y 80€ depende donde lo pilles

JBC SL-2020 SPECIFICATIONS:
• Direct mains supply at 230V 50Hz.
• Power: 40W.
• Reserve power: 200W.
• Temperature selection: 100...400 ºC. (regulacion de tenperatura)
• Time for 300 ºC: 40 seconds.
• Fitted with R-10 D tip.

SOBRE LA MAQUINA, los primeros prototipos funcionaran a menos de la mitad de la velocidad real, esto es para simplicar el desarrollo, una vez que funcionen perfectamente ya se hacen funcionar a mayor velocidad, esto es por razones tecnicas para evitar algunos problemas de acoplo de señales, el obejtivo es el siguiente para la frecuencia de bus 25MHZ -> 50MHZ -> 100MHZ -> 120MHZ, recordar que la CPU va a el doble o mas de la frecuencia de bus.
Solo dije que costaba cerca de 30.

En lo referente al logo, ¿no es mejor que crezca por encima y por debajo a la vez? Y un sonidito cuando se parte la palabra quedaria bien, creo que en la master system II cuando aparecia el logo de sega la consola hacia un pitidito (pling). Pues uno parecido a ese le quedaría clavado.


Y un apunte, creo que si el logo se parte de repente en vez de tan dspacio quedaría mejor.


Estas son mis opiniones, a ver si sirven de algo.
ok elohe, nada de memoria virtual en el kernel principal de la consola...

ya me apañare yo para que la consola una vez booteada cargue otro kernel que si la soporte [666] :P

por cierto, he encontrado una coleccion de iconos bastante desenfadados que pienso que pueden venir bien para usar en el GUI del menu de Prodigy

Imagen

es un tema para Gnome, particularmente me gustan esos iconos para algo desenfadado como una consola...

aqui tienes el explosion.rar completo, descomprimir y ejecutar, con la libreria y todo. esta enviado por you-send-it, asi que estara disponible solo unos 7 dias...

http://s40.yousendit.com/d.aspx?id=2E4N9K5AH23QT27MOL95GPCBBW
Tan mu wapos los iconos tio que theme es ese para Gnome k me ha molado para instalarmelo. Ala a seguir asi tios
es el set de iconos 'gartoon'
puff, me acabo de enterar del proyecto
siento no poder ayudaros por que no se nada de electronica, pero os animo a continuar
y ahora me voy a hechar una mirada al wiki del proyecto
501 respuestas
1, 2, 3, 4, 511