SlideShare una empresa de Scribd logo
Taller de Desarrollo de
Videojuegos en Megadrive
@pocket_lucho @1985alternativo
¿Quienes somos?
http://fasebonus.net/1985alternativo/
¿Qué es la Megadrive/Genesis?
● Lanzamiento 29 de Octubre de 1988 en Japón.
¿Qué es la Megadrive/Genesis?
● Lanzamiento 29 de Octubre de 1988 en Japón.
● Tercera consola de Sega, sucesora de la Master System.
¿Qué es la Megadrive/Genesis?
● Lanzamiento 29 de Octubre de 1988 en Japón.
● Tercera consola de Sega, sucesora de la Master System.
● Cuarta generación, competencia de Pc-Engine, NeoGeo y SNES.
¿Qué es la Megadrive/Genesis?
● Lanzamiento 29 de Octubre de 1988 en Japón.
● Tercera consola de Sega, sucesora de la Master System.
● Cuarta generación, competencia de Pc-Engine, NeoGeo y SNES.
● Ventas de 30-40 millones de unidades y más de 900 juegos.
¿Qué es la Megadrive/Genesis?
● Lanzamiento 29 de Octubre de 1988 en Japón.
● Tercera consola de Sega, sucesora de la Master System.
● Cuarta generación, competencia de Pc-Engine, NeoGeo y SNES.
● Ventas de 30-40 millones de unidades y más de 900 juegos.
● Tuvo 2 expansiones, Mega CD y 32X.
¿Por qué programar la Megadrive?
● Potente.
¿Por qué programar la Megadrive?
● Potente.
● Componentes comunes y bien documentados.
¿Por qué programar la Megadrive?
● Potente.
● Componentes comunes y bien documentados.
● Multitud de opciones de lenguajes donde elegir.
¿Por qué programar la Megadrive?
● Potente.
● Componentes comunes y bien documentados.
● Multitud de opciones de lenguajes donde elegir.
● Compiladores y herramientas disponibles.
¿Por qué programar la Megadrive?
● Potente.
● Componentes comunes y bien documentados.
● Multitud de opciones de lenguajes donde elegir.
● Compiladores y herramientas disponibles.
● Posibilidad de fabricación.
¿Por qué programar la Megadrive?
● Potente.
● Componentes comunes y bien documentados.
● Multitud de opciones de lenguajes donde elegir.
● Compiladores y herramientas disponibles.
● Posibilidad de fabricación.
● Autorización de SEGA.
¿Por qué programar la Megadrive?
● Potente.
● Componentes comunes y bien documentados.
● Multitud de opciones de lenguajes donde elegir.
● Compiladores y herramientas disponibles.
● Posibilidad de fabricación.
● Autorización de SEGA.
● MOLA.
Comparativa Megadrive vs Iphone X
Genesis does what Nintendon´t
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
● C (SGDK http://github.com/Stephane-D/SGDK).
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
● C (SGDK http://github.com/Stephane-D/SGDK).
● Emulador (Gens KMOD).
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
● C (SGDK http://github.com/Stephane-D/SGDK).
● Emulador (Gens KMOD).
● Una Megadrive.
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
● C (SGDK http://github.com/Stephane-D/SGDK).
● Emulador (Gens KMOD).
● Una Megadrive.
● Cartucho Flash (http://krikzz.com/store/).
¿Qué necesito para programar para
ella?
● Un ordenador (Windows, Linux, OSX, VM...).
● Ensamblador (SJASM, ASM68K o SNASM68k).
● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
● C (SGDK http://github.com/Stephane-D/SGDK).
● Emulador (Gens KMOD).
● Una Megadrive.
● Cartucho Flash (http://krikzz.com/store/).
●
Mucha paciencia.
Procesadores
- Motorola 68000 de 16 bits a 7,61 MHz (PAL) o 7,67 MHz
(NTSC) → 7.68 millones de ciclos por segundo, a 60 FPS
nos deja 128.000 ciclos por frame (p.e. add.l 8 ciclos, para
PAL 153.600 ciclos).
- Zilog Z80 de 8 bits a 3,55 MHz (PAL) o 3,58 MHz (NTSC).
Sonido y CPU principal en modo de compatibilidad con
Master System (Sin BIOS ni FM).
Memoria
● RAM Principal: 64 KB
– Programa.
● VRAM: 64 KB (VDP soporta 128 KB)
- Tiles, tablas de planos/sprites y el scroll horizontal (entero,
bloques de 1 celda o 1 linea), situación a elección del
programador.
● CRAM: El VDP tiene 64 entradas de 9-bit, 64 palabras en total,
para guardar 64 colores.
● VSRAM: El scroll vertical (total o bloque de 2 celdas) también
está incluido en el VDP.
● RAM de Sonido: 8 Kb
VRAM
Cartucho
● Capacidad de los cartuchos: hasta los 4 MB = 32 Mbits,
con mapper 32 MB = 256 Mbits (en bancos de 512 kb),
Super Street Fighter II llegó a los 40 Mbits (6 MB).
Gráficos - VDP
● Un procesador VDP (Video Display Processor) es el encargado
de generar y manejar los gráficos (sprites, planos de scroll, etc.).
Deriva del VDP de Sega Master System VDP para compatibilidad
(Modo IV) que a su vez deriva del Texas Instruments TMS9918A.
● Resolución: (Modo V) 40 columnas 320 x 224, 36 columnas 256 x
224, más un modo entrelazado de 448 lineas de alto (Sonic 2) y
posibilidad de 240 en PAL.
● Planos A, B y Window. Este plano puede ser usado como
remplazo del A (menús). Los planos se pueden mover por
completo o por zonas especificas horizontal y verticalmente.
Tamaño 32*32, 32*64, 32*128, 64*32, 64*64 y 128*32.
Gráficos - VDP
● Paleta: 512 colores (múltiplos de 34), de los cuales podrán
elegirse 60 para mostrarse simultáneamente con una
configuración habitual de 4 paletas de 16 colores cada una,
siendo el primer color transparente (más cambiando la paleta
durante el barrido y/o activando el modo shadow-highlight).
● Sprites simultáneos en pantalla: 80/64, 20/16 máximo por
scanline. Tamaños desde 8x8 hasta 32x32 (8x16, 8x24...).
● El VDP dispone de 25 registros, 24 de ellos programables.
Algunos aparentan no hacer nada y no están documentados, son
rastros del VDP original de Master System. El ultimo registro solo
es de lectura y sirve para obtener información sobre su estado.
Capas (Backgrounds)
Sonido
● Chip de sonido principal de 6 canales FM Yamaha YM2612.
– El sexto canal tiene un modo DAC donde puede reproducir un
PCM de 8 bit.
● Chip de sonido adicional de 4 canales PSG (Programmable Sound
Generator) Texas Instruments SN76489, incluido dentro del VDP.
Vista en detalle de la PCB
MINILIBS
● Simpleza y accesibilidad como objetivo.
● Control básico de paletas, controles, capas,
sprites, interrupciones, sram y sonido.
● Basado en código de Steff (SGDK), Shiru
(PSG), Chilly Willy y propio.
● Herramientas de conversión GFX por
@PixelArtM
● GCC 4.5.2 (2010)
Contenido MINILIBS
● Appack.s – Descompresión de GFX.
● Crt0.s – Cabecera y arranque.
● Hw_md.s – Funciones de soporte.
● Minilib.c – Funciones gráficas.
● Sram_a.s y sram_control.c – Control de la
SRAM.
● Makefile.gen
● Genbuild.bat
Carpeta SOUND
● Sound.c – control del Driver XGM y PSG.
● Z80_xgm.s80 – driver XGM.
● Z80_def.i80, z80_fct.i80 y z80_mac.i80 –
código auxiliar del driver XGM.
● En carpeta XGM se convierten las canciones
VGM y samples WAV.
● En carpeta PSG se convierten los sonidos
PSG.
Ayuda
● Carpeta DOC, GENESIS Technical Overview
y VDP - The MegaDrive Wiki.
● Carpeta TOOLS, conversores gráficos de
paletas, fondos y sprites por PixelArtM.
● Carpeta EXAMPLES, desde Hola Mundo a
manejo de la SRAM pasando por el Sonido.
Fin de la teoría
Ahora toca Dale Fraaaaan!

Más contenido relacionado

Similar a Taller «Programación en lenguaje C para Sega Megadrive», con Pocket_Lucho

Requerimientos minimos so
Requerimientos minimos soRequerimientos minimos so
Requerimientos minimos so
Adrian Jesus
 
Unidad 3 hardware y software.
Unidad 3 hardware y software.Unidad 3 hardware y software.
Unidad 3 hardware y software.
DieGoth Dscdjsbvsdj
 
Tarjetas de video historia manuel
Tarjetas de video   historia manuelTarjetas de video   historia manuel
Tarjetas de video historia manuel
johnfag
 
Tarjetas de video historia manuel
Tarjetas de video   historia manuelTarjetas de video   historia manuel
Tarjetas de video historia manuel
johnfag
 
Requerimientos SO Adrian Peña Rodriguez
Requerimientos SO Adrian Peña RodriguezRequerimientos SO Adrian Peña Rodriguez
Requerimientos SO Adrian Peña Rodriguez
Adrian Jesus
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
Ruben Dario Garcia
 
Mejores consolas
Mejores consolasMejores consolas
Mejores consolas
Marlon Ramón
 
Mi ordenador perfecto
Mi ordenador perfectoMi ordenador perfecto
Mi ordenador perfecto
vym21
 
S.O
S.OS.O
S.O
ruis006
 
Presentación de mantenimiento2
Presentación de mantenimiento2Presentación de mantenimiento2
Presentación de mantenimiento2
leyohana14
 
Hardware y software
Hardware y softwareHardware y software
Hardware y software
SaulSAES
 
Mantenimiento
MantenimientoMantenimiento
Mantenimiento
oscarcuaran95
 
Plantilla fase1 103380_13
Plantilla fase1 103380_13Plantilla fase1 103380_13
Plantilla fase1 103380_13
lcate
 
CUADRO COMPARATIVO
CUADRO COMPARATIVOCUADRO COMPARATIVO
CUADRO COMPARATIVO
cantorchina
 
Hardware y software
Hardware y softwareHardware y software
Hardware y software
Sulma Campos
 
Hardware y-software
Hardware y-softwareHardware y-software
Hardware y-software
rarsow
 
Plantilla fase1 103380_13
Plantilla fase1 103380_13Plantilla fase1 103380_13
Plantilla fase1 103380_13
lcate
 
Kmilitha tipo de computadores
Kmilitha tipo de computadoresKmilitha tipo de computadores
Kmilitha tipo de computadores
Adriana Guerrero
 
Taller de modalidad de informatica
Taller de modalidad de informaticaTaller de modalidad de informatica
Taller de modalidad de informatica
Alejandra Barrera Cortes
 
Relación entre sistemas operativos y hardware
Relación entre sistemas operativos y hardwareRelación entre sistemas operativos y hardware
Relación entre sistemas operativos y hardware
imyoursforeverlove
 

Similar a Taller «Programación en lenguaje C para Sega Megadrive», con Pocket_Lucho (20)

Requerimientos minimos so
Requerimientos minimos soRequerimientos minimos so
Requerimientos minimos so
 
Unidad 3 hardware y software.
Unidad 3 hardware y software.Unidad 3 hardware y software.
Unidad 3 hardware y software.
 
Tarjetas de video historia manuel
Tarjetas de video   historia manuelTarjetas de video   historia manuel
Tarjetas de video historia manuel
 
Tarjetas de video historia manuel
Tarjetas de video   historia manuelTarjetas de video   historia manuel
Tarjetas de video historia manuel
 
Requerimientos SO Adrian Peña Rodriguez
Requerimientos SO Adrian Peña RodriguezRequerimientos SO Adrian Peña Rodriguez
Requerimientos SO Adrian Peña Rodriguez
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Mejores consolas
Mejores consolasMejores consolas
Mejores consolas
 
Mi ordenador perfecto
Mi ordenador perfectoMi ordenador perfecto
Mi ordenador perfecto
 
S.O
S.OS.O
S.O
 
Presentación de mantenimiento2
Presentación de mantenimiento2Presentación de mantenimiento2
Presentación de mantenimiento2
 
Hardware y software
Hardware y softwareHardware y software
Hardware y software
 
Mantenimiento
MantenimientoMantenimiento
Mantenimiento
 
Plantilla fase1 103380_13
Plantilla fase1 103380_13Plantilla fase1 103380_13
Plantilla fase1 103380_13
 
CUADRO COMPARATIVO
CUADRO COMPARATIVOCUADRO COMPARATIVO
CUADRO COMPARATIVO
 
Hardware y software
Hardware y softwareHardware y software
Hardware y software
 
Hardware y-software
Hardware y-softwareHardware y-software
Hardware y-software
 
Plantilla fase1 103380_13
Plantilla fase1 103380_13Plantilla fase1 103380_13
Plantilla fase1 103380_13
 
Kmilitha tipo de computadores
Kmilitha tipo de computadoresKmilitha tipo de computadores
Kmilitha tipo de computadores
 
Taller de modalidad de informatica
Taller de modalidad de informaticaTaller de modalidad de informatica
Taller de modalidad de informatica
 
Relación entre sistemas operativos y hardware
Relación entre sistemas operativos y hardwareRelación entre sistemas operativos y hardware
Relación entre sistemas operativos y hardware
 

Más de RetroAccion

Noriaworks Indies en los 90´s
Noriaworks Indies en los 90´sNoriaworks Indies en los 90´s
Noriaworks Indies en los 90´s
RetroAccion
 
RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...
RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...
RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...
RetroAccion
 
RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...
RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...
RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...
RetroAccion
 
RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...
RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...
RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...
RetroAccion
 
2019 07-02 mih fiss edited
2019 07-02 mih fiss edited2019 07-02 mih fiss edited
2019 07-02 mih fiss edited
RetroAccion
 
RetroMañia 2016: Charla-taller "Construye tu propio Pong"
RetroMañia 2016: Charla-taller  "Construye tu propio Pong"RetroMañia 2016: Charla-taller  "Construye tu propio Pong"
RetroMañia 2016: Charla-taller "Construye tu propio Pong"
RetroAccion
 
Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008
Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008
Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008
RetroAccion
 
Taller «Tennis for two»
Taller «Tennis for two»Taller «Tennis for two»
Taller «Tennis for two»
RetroAccion
 
El arte gráfico de los videojuegos
El arte gráfico de los videojuegosEl arte gráfico de los videojuegos
El arte gráfico de los videojuegos
RetroAccion
 
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro..."Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
RetroAccion
 
"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]
"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]
"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]
RetroAccion
 
"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]
"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]
"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]
RetroAccion
 

Más de RetroAccion (12)

Noriaworks Indies en los 90´s
Noriaworks Indies en los 90´sNoriaworks Indies en los 90´s
Noriaworks Indies en los 90´s
 
RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...
RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...
RetroEuskal 2019:Taller «Hasta en la sopa: el desconocido mundo de los microc...
 
RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...
RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...
RetroEuskal 2019: Charla-taller «PlayStation: 25 años de la consola que trajo...
 
RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...
RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...
RetroEuskal 2019: Charla-taller «Sound Blaster: cómo una compañía asiática ca...
 
2019 07-02 mih fiss edited
2019 07-02 mih fiss edited2019 07-02 mih fiss edited
2019 07-02 mih fiss edited
 
RetroMañia 2016: Charla-taller "Construye tu propio Pong"
RetroMañia 2016: Charla-taller  "Construye tu propio Pong"RetroMañia 2016: Charla-taller  "Construye tu propio Pong"
RetroMañia 2016: Charla-taller "Construye tu propio Pong"
 
Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008
Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008
Charla "Una recreativa de museo", por Jaime Cornejo, en RetroLleida 2008
 
Taller «Tennis for two»
Taller «Tennis for two»Taller «Tennis for two»
Taller «Tennis for two»
 
El arte gráfico de los videojuegos
El arte gráfico de los videojuegosEl arte gráfico de los videojuegos
El arte gráfico de los videojuegos
 
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro..."Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
 
"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]
"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]
"Aprende a construir tu propia recreativa" [Taller RetroEuskal'09]
 
"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]
"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]
"La Corona Encantada: regreso a la edad de oro" [Charla RetroEuskal'09]
 

Último

Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 

Último (20)

Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 

Taller «Programación en lenguaje C para Sega Megadrive», con Pocket_Lucho

  • 1. Taller de Desarrollo de Videojuegos en Megadrive @pocket_lucho @1985alternativo
  • 3. ¿Qué es la Megadrive/Genesis? ● Lanzamiento 29 de Octubre de 1988 en Japón.
  • 4. ¿Qué es la Megadrive/Genesis? ● Lanzamiento 29 de Octubre de 1988 en Japón. ● Tercera consola de Sega, sucesora de la Master System.
  • 5. ¿Qué es la Megadrive/Genesis? ● Lanzamiento 29 de Octubre de 1988 en Japón. ● Tercera consola de Sega, sucesora de la Master System. ● Cuarta generación, competencia de Pc-Engine, NeoGeo y SNES.
  • 6. ¿Qué es la Megadrive/Genesis? ● Lanzamiento 29 de Octubre de 1988 en Japón. ● Tercera consola de Sega, sucesora de la Master System. ● Cuarta generación, competencia de Pc-Engine, NeoGeo y SNES. ● Ventas de 30-40 millones de unidades y más de 900 juegos.
  • 7. ¿Qué es la Megadrive/Genesis? ● Lanzamiento 29 de Octubre de 1988 en Japón. ● Tercera consola de Sega, sucesora de la Master System. ● Cuarta generación, competencia de Pc-Engine, NeoGeo y SNES. ● Ventas de 30-40 millones de unidades y más de 900 juegos. ● Tuvo 2 expansiones, Mega CD y 32X.
  • 8. ¿Por qué programar la Megadrive? ● Potente.
  • 9. ¿Por qué programar la Megadrive? ● Potente. ● Componentes comunes y bien documentados.
  • 10. ¿Por qué programar la Megadrive? ● Potente. ● Componentes comunes y bien documentados. ● Multitud de opciones de lenguajes donde elegir.
  • 11. ¿Por qué programar la Megadrive? ● Potente. ● Componentes comunes y bien documentados. ● Multitud de opciones de lenguajes donde elegir. ● Compiladores y herramientas disponibles.
  • 12. ¿Por qué programar la Megadrive? ● Potente. ● Componentes comunes y bien documentados. ● Multitud de opciones de lenguajes donde elegir. ● Compiladores y herramientas disponibles. ● Posibilidad de fabricación.
  • 13. ¿Por qué programar la Megadrive? ● Potente. ● Componentes comunes y bien documentados. ● Multitud de opciones de lenguajes donde elegir. ● Compiladores y herramientas disponibles. ● Posibilidad de fabricación. ● Autorización de SEGA.
  • 14. ¿Por qué programar la Megadrive? ● Potente. ● Componentes comunes y bien documentados. ● Multitud de opciones de lenguajes donde elegir. ● Compiladores y herramientas disponibles. ● Posibilidad de fabricación. ● Autorización de SEGA. ● MOLA.
  • 16. Genesis does what Nintendon´t
  • 17. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...).
  • 18. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k).
  • 19. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k). ● Basic (http://devster.monkeeh.com/sega/basiegaxorz/).
  • 20. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k). ● Basic (http://devster.monkeeh.com/sega/basiegaxorz/). ● C (SGDK http://github.com/Stephane-D/SGDK).
  • 21. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k). ● Basic (http://devster.monkeeh.com/sega/basiegaxorz/). ● C (SGDK http://github.com/Stephane-D/SGDK). ● Emulador (Gens KMOD).
  • 22. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k). ● Basic (http://devster.monkeeh.com/sega/basiegaxorz/). ● C (SGDK http://github.com/Stephane-D/SGDK). ● Emulador (Gens KMOD). ● Una Megadrive.
  • 23. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k). ● Basic (http://devster.monkeeh.com/sega/basiegaxorz/). ● C (SGDK http://github.com/Stephane-D/SGDK). ● Emulador (Gens KMOD). ● Una Megadrive. ● Cartucho Flash (http://krikzz.com/store/).
  • 24. ¿Qué necesito para programar para ella? ● Un ordenador (Windows, Linux, OSX, VM...). ● Ensamblador (SJASM, ASM68K o SNASM68k). ● Basic (http://devster.monkeeh.com/sega/basiegaxorz/). ● C (SGDK http://github.com/Stephane-D/SGDK). ● Emulador (Gens KMOD). ● Una Megadrive. ● Cartucho Flash (http://krikzz.com/store/). ● Mucha paciencia.
  • 25. Procesadores - Motorola 68000 de 16 bits a 7,61 MHz (PAL) o 7,67 MHz (NTSC) → 7.68 millones de ciclos por segundo, a 60 FPS nos deja 128.000 ciclos por frame (p.e. add.l 8 ciclos, para PAL 153.600 ciclos). - Zilog Z80 de 8 bits a 3,55 MHz (PAL) o 3,58 MHz (NTSC). Sonido y CPU principal en modo de compatibilidad con Master System (Sin BIOS ni FM).
  • 26. Memoria ● RAM Principal: 64 KB – Programa. ● VRAM: 64 KB (VDP soporta 128 KB) - Tiles, tablas de planos/sprites y el scroll horizontal (entero, bloques de 1 celda o 1 linea), situación a elección del programador. ● CRAM: El VDP tiene 64 entradas de 9-bit, 64 palabras en total, para guardar 64 colores. ● VSRAM: El scroll vertical (total o bloque de 2 celdas) también está incluido en el VDP. ● RAM de Sonido: 8 Kb
  • 27. VRAM
  • 28. Cartucho ● Capacidad de los cartuchos: hasta los 4 MB = 32 Mbits, con mapper 32 MB = 256 Mbits (en bancos de 512 kb), Super Street Fighter II llegó a los 40 Mbits (6 MB).
  • 29. Gráficos - VDP ● Un procesador VDP (Video Display Processor) es el encargado de generar y manejar los gráficos (sprites, planos de scroll, etc.). Deriva del VDP de Sega Master System VDP para compatibilidad (Modo IV) que a su vez deriva del Texas Instruments TMS9918A. ● Resolución: (Modo V) 40 columnas 320 x 224, 36 columnas 256 x 224, más un modo entrelazado de 448 lineas de alto (Sonic 2) y posibilidad de 240 en PAL. ● Planos A, B y Window. Este plano puede ser usado como remplazo del A (menús). Los planos se pueden mover por completo o por zonas especificas horizontal y verticalmente. Tamaño 32*32, 32*64, 32*128, 64*32, 64*64 y 128*32.
  • 30. Gráficos - VDP ● Paleta: 512 colores (múltiplos de 34), de los cuales podrán elegirse 60 para mostrarse simultáneamente con una configuración habitual de 4 paletas de 16 colores cada una, siendo el primer color transparente (más cambiando la paleta durante el barrido y/o activando el modo shadow-highlight). ● Sprites simultáneos en pantalla: 80/64, 20/16 máximo por scanline. Tamaños desde 8x8 hasta 32x32 (8x16, 8x24...). ● El VDP dispone de 25 registros, 24 de ellos programables. Algunos aparentan no hacer nada y no están documentados, son rastros del VDP original de Master System. El ultimo registro solo es de lectura y sirve para obtener información sobre su estado.
  • 32. Sonido ● Chip de sonido principal de 6 canales FM Yamaha YM2612. – El sexto canal tiene un modo DAC donde puede reproducir un PCM de 8 bit. ● Chip de sonido adicional de 4 canales PSG (Programmable Sound Generator) Texas Instruments SN76489, incluido dentro del VDP.
  • 33. Vista en detalle de la PCB
  • 34. MINILIBS ● Simpleza y accesibilidad como objetivo. ● Control básico de paletas, controles, capas, sprites, interrupciones, sram y sonido. ● Basado en código de Steff (SGDK), Shiru (PSG), Chilly Willy y propio. ● Herramientas de conversión GFX por @PixelArtM ● GCC 4.5.2 (2010)
  • 35. Contenido MINILIBS ● Appack.s – Descompresión de GFX. ● Crt0.s – Cabecera y arranque. ● Hw_md.s – Funciones de soporte. ● Minilib.c – Funciones gráficas. ● Sram_a.s y sram_control.c – Control de la SRAM. ● Makefile.gen ● Genbuild.bat
  • 36. Carpeta SOUND ● Sound.c – control del Driver XGM y PSG. ● Z80_xgm.s80 – driver XGM. ● Z80_def.i80, z80_fct.i80 y z80_mac.i80 – código auxiliar del driver XGM. ● En carpeta XGM se convierten las canciones VGM y samples WAV. ● En carpeta PSG se convierten los sonidos PSG.
  • 37. Ayuda ● Carpeta DOC, GENESIS Technical Overview y VDP - The MegaDrive Wiki. ● Carpeta TOOLS, conversores gráficos de paletas, fondos y sprites por PixelArtM. ● Carpeta EXAMPLES, desde Hola Mundo a manejo de la SRAM pasando por el Sonido.
  • 38. Fin de la teoría Ahora toca Dale Fraaaaan!