¿Qué es un emulador Bare Metal? Es un emulador que corre directamente sobre la máquina, sin sistema operativo detrás.
¿Qué ventajas tiene? Que tienes toda la máquina con todos los recursos para tí, sin restricciones, y el arranque es inmediato.
¿Desventajas? Que a día de hoy no hay un driver de teclado USB en condiciones, así que no hay más remedio que conectarlo a un teclado de Spectrum por el puerto GPIO
¿Cómo se instala? Muy fácil, insertas la tarjeta SD donde tienes el SO de la Raspberry en tu PC y renombras kernel.img a kernel.bak. Te descargas de aquí kernel.img y lo guardas en la tarjeta SD, y luego insertas la tarjeta en la Raspberry. Cuando quieras volver al sistema operativo de antes, restauras kernel.bak a kernel.img.
Bajar la última versión de kernel.img pinchando aquí
¿Cómo conecto el teclado? Pues aquí dejo un esquema.
¿Funciona en la primera versión que sacaron de la Raspberry? De momento no, tendría que hacer otra versión separada porque los puertos están cambiados. Funciona en todos los demás modelos incluido el B+.
Solo veo el Basic, ¿cómo puedo cargar juegos? De momento no se puede, quiero poder cargar desde cinta pero antes tengo que sincronizar el emulador para que vaya al 100% de la velocidad. Si tenéis muchas ganas os puedo subir el kernel.img de algún juego de cartucho mientras tanto.
¿Para qué complicarse si puedes correr Fuse en la Raspberry? Este tipo de preguntas no las voy a contestar.
Es una versión alpha de un emulador así que no le pidáis más. Es el primer emulador Bare Metal para la Raspberry, con el tiempo sacarán más emuladores de este tipo y la gente cacharreará con ellos. Cabe dentro de la carcasa de un gomas y puede ir con la alimentación, el teclado y el puerto EAR. A pesar de que el arranque sea inmediato no deja de ser un emulador.
πBacteria, emulador Bare Metal para la Raspberry Pi
- antoniovillena
- Amiga 1200
- Mensajes: 2013
- Registrado: 16 Abr 2012, 21:22
- Gracias recibidas: 8 veces
πBacteria, emulador Bare Metal para la Raspberry Pi
- Adjuntos
-
- kernel.zip
- (22.73 KiB) Descargado 555 veces
Última edición por antoniovillena el 24 Oct 2014, 17:03, editado 3 veces en total.
- EdgeM
- Atari 1040 STf
- Mensajes: 803
- Registrado: 01 Feb 2008, 12:55
- Gracias dadas: 2 veces
- Gracias recibidas: 5 veces
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Bendito seas Antonio. Este tipo de proyectos me encantan 
¿Está hecho en C o has tirado de ensamblador para ARM?
Por cierto, ¿cómo se sabe si tenemos un modelo de los primeros? Yo compré mi Pi casi al principio...

¿Está hecho en C o has tirado de ensamblador para ARM?
Por cierto, ¿cómo se sabe si tenemos un modelo de los primeros? Yo compré mi Pi casi al principio...
- Zardoz
- MSX Turbo R
- Mensajes: 283
- Registrado: 09 Sep 2013, 19:04
- Sistema Favorito: (Otro)
- primer_sistema: (Otro)
- consola_favorita: Nintendo NES/Clónica
- Primera consola: Nintendo NES/Clónica
- Ubicación: Madrid
- Contactar:
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Que problema hay con el driver USB para el teclado ?
- mcleod_ideafix
- Amiga 2500
- Mensajes: 5316
- Registrado: 06 Oct 2009, 04:12
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: TV Games/Pong Clone
- Ubicación: Jerez de la Frontera
- Gracias dadas: 12 veces
- Gracias recibidas: 53 veces
- Contactar:
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Zardoz escribió:Que problema hay con el driver USB para el teclado ?
Que hay que escribirlo

Al no haber SO detrás, todo el acceso a periféricos de la Pi tienes que hacerlo tú. Eso significa en la práctica coger el código fuente del kérnel de Linux para la Pi, y de ahí sacar:
- El código del driver para el USB host de la Pi
- El código del driver para USB HID
Leerlo, entenderlo, y a partir de ahí, escribir un driver de teclado. No es imposible, pero no es trivial.
Si la Pi fuese un PC y tuviera chipset de PC, podría incorporar emulación de los puertos 60h - 64h, y trabajar con el teclado así es muchísimo más fácil que el USB nativo.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista
- Zardoz
- MSX Turbo R
- Mensajes: 283
- Registrado: 09 Sep 2013, 19:04
- Sistema Favorito: (Otro)
- primer_sistema: (Otro)
- consola_favorita: Nintendo NES/Clónica
- Primera consola: Nintendo NES/Clónica
- Ubicación: Madrid
- Contactar:
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Y el código fuente? Lo tienes subido a github ?
- antoniovillena
- Amiga 1200
- Mensajes: 2013
- Registrado: 16 Abr 2012, 21:22
- Gracias recibidas: 8 veces
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Zardoz escribió:Y el código fuente? Lo tienes subido a github ?
http://sourceforge.net/p/emuscriptoria/ ... iBacteria/
-- Actualizado 23 Oct 2014, 09:08 --
EdgeM escribió:Bendito seas Antonio. Este tipo de proyectos me encantan
¿Está hecho en C o has tirado de ensamblador para ARM?
100% ensamblador
EdgeM escribió:Por cierto, ¿cómo se sabe si tenemos un modelo de los primeros? Yo compré mi Pi casi al principio...
Los primeros disponían de 256Mb de RAM, fíjate en esta foto para ver los megas que tienes.
http://i.imgur.com/6gm8L.jpg
-- Actualizado 23 Oct 2014, 09:17 --
Cambian 3 pines entre la revisión 1.0 y el resto:
- GPIO 0<->GPIO 2 (pin 3)
- GPIO 1<->GPIO 3 (pin 5)
- GPIO 21<->GPIO 27 (pin 13)
http://raspi.tv/wp-content/uploads/2014 ... inouts.png
Si cambiáis el código fuente por vuestra cuenta, los comandos para compilar son:
Código: Seleccionar todo
as -o tmp.o piBacteria.s
ld -e 0 -Ttext=0x8000 -o tmp.elf tmp.o
objcopy tmp.elf -O binary kernel.img
-- Actualizado 23 Oct 2014, 10:03 --
Tiene web propia, he subido una versión provisional.
http://πbacteria.speccy.org
- wilco2009
- MSX Turbo R
- Mensajes: 401
- Registrado: 29 Ago 2013, 15:48
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: ZX81
- consola_favorita: Sega Master System
- Primera consola: Atari 2600
- Gracias dadas: 1 vez
- Gracias recibidas: 7 veces
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Una pasada antonio. Siempre habia querido un emulador como este ya sea para pc o para arm.
Me parece una idea genial.
Me parece una idea genial.
- EdgeM
- Atari 1040 STf
- Mensajes: 803
- Registrado: 01 Feb 2008, 12:55
- Gracias dadas: 2 veces
- Gracias recibidas: 5 veces
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Gracias por la foto para diferenciar modelos... afortunadamente parece que tengo el de 512MB 
¿Hay documentación para programar de esta manera o te lo has currado todo por tu cuenta?

¿Hay documentación para programar de esta manera o te lo has currado todo por tu cuenta?
- jltursan
- Amiga 2500
- Mensajes: 4028
- Registrado: 13 Oct 2006, 19:45
- Sistema Favorito: MSX
- primer_sistema: Dragon
- Ubicación: Serracines, Madrid, España
- Gracias dadas: 57 veces
- Gracias recibidas: 157 veces
- Contactar:
Re: πBacteria, emulador Bare Metal para la Raspberry Pi
Impresionante, vaya partido que se le podría sacar a la Pi trabajando de esta forma 

¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados