› Foros › Retro y descatalogado › Consolas clásicas
Yo creo que deberías crear un hilo específico para ese "port", con videos datos y demás. Seguro que le interesa (y le hace ilusión) a mucha gente.
Como hago una animacion a partir de parte algo asi:
http://1.bp.blogspot.com/_nJFDVNowGvY/S ... PRITES.png
La carga de binarios no me sale, me da un fallo, mañana lo explongo que es tarde, y la animaciones de sprites no me entero de nada, deberias explicar cada parte del codigo como en la primera parte del manual, y un poco la forma de trabajar la MD con las animaciones, porque por ejemplo no se si dentro de los archivos *.img ya hay varios frames de animacion. Y si quiero coger otras animaciones a las de sonic para ir practicando, como lo hago? por ejemplo cuadros de animacion en *.bmp para mugen que son faciles de encontrar.
siento el trabajo que te as tomado en optimizar la imagen, pero he debido explicarme mal, yo no quiero hacer ningun porte todabia, demasiado tengo con intentar entender el codigo. Lo de Ryu lo puse como ejemplo, preguntaba que como hago para usar una secuencia de imagenes y crear asi una animacion, debe estar explicado en la tercera parte del tutorial, pero yo no entiendo el codigo, no se que parte del codigo es la que escoge los sprites de la imagen grande, ni el codigo que tendria que usar si quiero que cada frame de mi animacion sea una imagen independiente.
Lo del ejemplo de Ruy fue por eprovechar secuencias de frames de animacion que se encuentran facil en internet y creo que usadas principalmente para mugen.
Con la carga de binarios estoy trabajando ahora, creo que podre solucionar el error solo, a ver si me voy metiendo en materia proque me veo mas torpe....
Con la carga de binarios estoy trabajando ahora, creo que podre solucionar el error solo, a ver si me voy metiendo en materia proque me veo mas torpe....
loadtiles suelo,320,256
pallettes suelo_pal,0,0,16
sonic=addsprite(4,3)
pallettes sonic_pal,1,0,16
Drawtilesinc 256,0,20,40,8
x=160
loadtiles sonic,12,576
propsprite sonic,576,1
movesprite sonic,x,303
suelo_pal:
DATAINT $0EA0,$0EA0,$00EE,$004A,$0EEE,$0040,$00E0,$00A0
DATAINT $0EAE,$00AE,$0000,$0004,$0000,$0000,$0000,$0000
sonic_pal:
DATAINT $0E6E,$0A00,$0E44,$004A,$04AE,$0EEE,$0EAA,$0000
DATAINT $0004,$004E,$0000,$0000,$0000,$0000,$0000,$0000
sonic:
datafile sonic.img,BIN
suelo:
datafile suelo.img,BIN
theelf aver si te curras algun cargador de roms para megacd , ¿se podria hacer algo asi? porque el streets of rage1 del sega arcade collection de megacd lo vuelca entero en la ram y ocupa 8mb.
Si, en cierto modo, programar para megadrive es un galimatías, programar para mega cd tiene que ser una odisea. He leído cosillas en un foro de la genesis y comentan que es complicado por todo el tema del buffer, bus de datos y tal.
Precisamente me estaba preguntando si sería fácil "portar" el código de ese "metal slug" al mega cd. Mayormente porque estaría impresionante meterle la música original.
theelf aver si te curras algun cargador de roms para megacd , ¿se podria hacer algo asi? porque el streets of rage1 del sega arcade collection de megacd lo vuelca entero en la ram y ocupa 8mb.
Genial idea, Theelf! hacia tiempo que queria hacer un tutorial en español y en condiciones del basiegaxorz.
P.D: Esto no tendria que ir mejor en desarrollo?
No creas que no le he dado vueltas, anoche me acoste a las 4 liado haciendo una animacion despues del codigo anotado que subiste, y hoy tambien he estado unas horas y ya lo he dado por imposible. Es que como te dije soy muy torpe, tampoco quiero que creas que abandono a las primeras de cambio y me es mal facil que me hagan las cosas, estaria angañandome ami mismo.
Me cago en la puta, lo que a pasado es que anoche estaba animado 5 sprites de 12 tiles, y hoy hice 4 sprites nuevos de 4x4 tile y estube trabajando con ese codigo, pero al subirlo he subido la version anterior del archivo. Voy a ver que as subido. Gracias!
Lo que estoy aprendiendo....
Yo diría que el Kega tiene la opción de emular a 1x/2x/4x y 8x. Prueba a ver...
Options/setconfig/sega cd/readahead
Cuál sería el orden correcto a la hora de colocarlo? palettes espacio nombre del archivo barra baja pal y luego los números (número de paleta, cero porque queremos todos los colores, y dieciséis porque es la capacidad de la paleta). Dónde está el error?
sonic=addsprite(4,3)
pallettes sonic_pal,1,0,16
theelf escribió:Ah lo de poner "_pal" es cosa mia, para que se indentifique mejor, y sepa a simple vista la paleta de que sprite es. Podes ponerle el nombre que quieras a la paleta
Por cierto , sube los ejemplos a otro sitio RS es horroroso, no hace mas que ponerme continuamente el cartel de intentelo mas tarde
Si que dejé el espacio. Lo que hice fue copiar tu código, y sustituir los datos de sonic (el nombre) por los de mi archivo.
Entonces, el orden sería palettes espacio y luego el nombre del archivo, no? quizá ahí esté el error.
Voy a empezar a trapichear, modificando cosas, y probando, que seguro que así me sale...
No uso msn, pero te seguiré dando la brasa por aquí
mario=addsprite(4,4)
loadtiles mario,16,256
pallettes mario_pal,0,0,16
mario:
datafile mario.img,BIN
mario_pal:
DATAINT $0464,$0464,$0688,$0466,$0444,$0488,$0024,$0246
DATAINT $0022,$0AAA,$08A8,$0AA8,$0244,$08EE,$0000,$0000
impresionante tu proyecto de conversion del metal slug . yo gracias al tuto he conseguido cargar mi primer fondo,un tablero de HeroQuest, bien! y ya tengo dudas existenciales es que son 1000 tiles con digamos resolucion 40x25 y lo que nose es como tengo que tratar la imagen o hacerla de cero para trabajar los tiles y para que ocupando la pantalla completa no suponga mas de 1000 tiles(tengo el paint shop pro), lo cual se me convierte en una paradoja espaceotemporal ke flipo xDDD pq si kiero pantalla completa para un fondo digamos 320x224 que es 40x28 que son 1120 tiles y estamos limitados a 1088,como ahorro tiles ?
he leido algo, como que un mismo tile lo podriamos poner por toda la pantalla 320x224 y solo ocuparia en memoria el espacio de un tile,o no? bueno esque con eso estoy mas liao que la pata de un romano con eso y como adaptar los colores tambien, haber si me puedo bajar la demo tecnica del fondo ese que adaptaste haber si me aclaro pq el RR ese es mas plasta que yo
Un vídeo o gif en movimiento de ese Metal Slug de MD, por DIOSSSSS!!!! xD
theelf escribió:Pero si les hace ilusion, escojo algun punto del codigo donde funcione
HACE, HACE!!
A mi ya me salió lo que estaba intentando. Supongo que puse un número de más, o no puse el nombre correctamente.
El caso es que se veía mi dibujo, pero desfigurado, por lo que, probablemente, el problema vendría del imagenesis.
Ya que estáis comentando cosas del metal slug, y las limitaciones de la megadrive, aprovecho para hacer unas preguntas:
Si, en teoría, 80 sprites es el límite máximo que puede mostrar la consola, que ocurriría si subimos la frecuencia de su procesador? He leído en foros americanos que la megadrive es facilmente overclockeable (a 10/12 e incluso a 17mhz), y me interesaría saber que es lo que pasaría con el límite de sprites.
Lo que comenta la gente es que desaparecen las ralentizaciones, pero no comentan nada de los parpadeos (lo que pasaba en el mega turrican cuando explotaba el segundo jefe, y disparabas a la vez), por lo que estaría bien saber si esto último también se solventa con el overclock.
En la neo geo nunca he visto parpadeos (380 sprites podía mover la muy cerda), pero si ralentizaciones (en la saga metal slug, mayormente, y en el blazing star). Si overclockeamos en nebula, los juegos van a fullspeed sin ningún tipo de slowdown.
P.D: Yo también tengo ganas de ver esa demo técnica
personaje = addsprite(4,6):
pallettes personaje_pal,1,0,16:
propsprite personaje,576,1:
x = 160:
movesprite personaje,x,303:
loadtiles sintitulo,320,256
Pallettes sintitulo_pal,0,0,16
Drawtilesinc 256,0,20,40,8
do
j=joypad():
if j.2 then
movesprite personaje,x,303:
x++:
end if:
loop
sintitulo_pal:
DATAINT $0EC0,$0EC0,$0EC4,$0EEE,$0EE8,$0EC2,$0EA6,$0EA8
DATAINT $0CC0,$04E2,$04E0,$02E0,$02C0,$02A0,$0000,$0000
personaje_pal:
DATAINT $0EC0,$0EC0,$0222,$02EE,$0EEE,$0000,$0000,$0000
DATAINT $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
tiledata_personaje:
DATALONG $11111111 ' Tile #0
DATALONG $11111111
(etc...)
Me he puesto a ver si consigo mostrar el sprite pero no me funciona. Te dejo la parte del código que supongo que es la interesante:
personaje = addsprite(4,6):
personajeA = addsprite(4,4)
personajeB = addsprite(2,4)
personajeA = addsprite(4,4)
personajeB = addsprite(2,4)
pallettes personaje_pal,1,0,16
Pallettes fondo_pal,0,0,16
BGColor 0, 5
loadtiles personajeA,16,1
loadtiles personajeB,8,17
propsprite personajeA,1,1
propsprite personajeB,17,1
x = 160
movesprite personajeA,x,270
movesprite personajeB,x,302
loadtiles fondo,40,26
Drawtilesinc 26,0,23,8,5
Drawtilesinc 26,8,23,8,5
Drawtilesinc 26,16,23,8,5
Drawtilesinc 26,24,23,8,5
Drawtilesinc 26,32,23,8,5
Drawtilesinc 26,40,23,8,5
do
j=joypad()
if j.2 then
movesprite personajeA,x,270
movesprite personajeB,x,302
x--
end if
if j.3 then
movesprite personajeA,x,270
movesprite personajeB,x,302
x++
end if
sleep 1
loop
personaje_pal:
DATAINT $0EC0,$0222,$02EE,$0EEE,$0000,$0000,$0000,$0000
DATAINT $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
fondo_pal:
DATAINT $028E,$028E,$0000,$0ACE,$002C,$0E84,$0000,$0000
DATAINT $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
personajeA:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #6
DATALONG $00000000
DATALONG $00000000
DATALONG $00000100
DATALONG $00001111
DATALONG $00111111
DATALONG $00111122
DATALONG $00111122
DATALONG $00112222 ' Tile #7
DATALONG $00012222
DATALONG $00012222
DATALONG $00002222
DATALONG $00003330
DATALONG $00033333
DATALONG $00033333
DATALONG $00003333
DATALONG $00003333 ' Tile #8
DATALONG $00022233
DATALONG $00022333
DATALONG $00022333
DATALONG $00022333
DATALONG $00222333
DATALONG $00222333
DATALONG $00022333
DATALONG $00032333 ' Tile #9
DATALONG $00002233
DATALONG $00002223
DATALONG $00003223
DATALONG $00003333
DATALONG $00003333
DATALONG $00003333
DATALONG $00003233
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $20000000
DATALONG $20000000
DATALONG $20000000 ' Tile #13
DATALONG $20000000
DATALONG $20000000
DATALONG $00000000
DATALONG $00000000
DATALONG $30000000
DATALONG $30000000
DATALONG $30000000
DATALONG $30000000 ' Tile #14
DATALONG $30000000
DATALONG $33000000
DATALONG $33000000
DATALONG $33000000
DATALONG $33000000
DATALONG $33000000
DATALONG $30000000
DATALONG $30000000 ' Tile #15
DATALONG $30000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $30000000
DATALONG $30000000
DATALONG $30000000
DATALONG $00000000 ' Tile #18
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #19
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #20
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #21
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
personajeB:
DATALONG $00000000 ' Tile #4
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #5
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000222 ' Tile #10
DATALONG $00000222
DATALONG $00000220
DATALONG $00000220
DATALONG $00000330
DATALONG $00000333
DATALONG $00000333
DATALONG $00000333
DATALONG $00000033 ' Tile #11
DATALONG $00000033
DATALONG $00000444
DATALONG $00000444
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #16
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #17
DATALONG $00000000
DATALONG $40000000
DATALONG $44000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #22
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #23
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
fondo:
DATALONG $11111111 ' Tile #0
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #1
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #2
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #3
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #4
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #5
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #6
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #7
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $22222222
DATALONG $11111111 ' Tile #8
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #9
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #10
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #11
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #12
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #13
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #14
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $11111111 ' Tile #15
DATALONG $11111111
DATALONG $33333333
DATALONG $44444444
DATALONG $44444444
DATALONG $33333333
DATALONG $22222222
DATALONG $44444444
DATALONG $44444444 ' Tile #16
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44343443
DATALONG $44343333
DATALONG $44344444
DATALONG $44333333
DATALONG $44444444 ' Tile #17
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44344343
DATALONG $44333343
DATALONG $44444443
DATALONG $33333333
DATALONG $44444444 ' Tile #18
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44343443
DATALONG $44343333
DATALONG $44344444
DATALONG $44333333
DATALONG $44444444 ' Tile #19
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44344343
DATALONG $44333343
DATALONG $44444443
DATALONG $33333333
DATALONG $44444444 ' Tile #20
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44343443
DATALONG $44343333
DATALONG $44344444
DATALONG $44333333
DATALONG $44444444 ' Tile #21
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44344343
DATALONG $44333343
DATALONG $44444443
DATALONG $33333333
DATALONG $44444444 ' Tile #22
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44343443
DATALONG $44343333
DATALONG $44344444
DATALONG $44333333
DATALONG $44444444 ' Tile #23
DATALONG $44333333
DATALONG $44344443
DATALONG $44343343
DATALONG $44344343
DATALONG $44333343
DATALONG $44444443
DATALONG $33333333
DATALONG $44444444 ' Tile #24
DATALONG $44444444
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $44444444 ' Tile #25
DATALONG $44444444
DATALONG $22222222
DATALONG $22222224
DATALONG $22222424
DATALONG $22222424
DATALONG $22222424
DATALONG $22222424
DATALONG $44444444 ' Tile #26
DATALONG $44444444
DATALONG $22222222
DATALONG $44225222
DATALONG $34425222
DATALONG $34425222
DATALONG $34425222
DATALONG $34425222
DATALONG $44444444 ' Tile #27
DATALONG $44444444
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $44444444 ' Tile #28
DATALONG $44444444
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $44444444 ' Tile #29
DATALONG $44444444
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $44444444 ' Tile #30
DATALONG $44444444
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $44444444 ' Tile #31
DATALONG $44444444
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22222222
DATALONG $22252225 ' Tile #32
DATALONG $25222522
DATALONG $52525252
DATALONG $25252525
DATALONG $55525552
DATALONG $52555255
DATALONG $55555555
DATALONG $25552555
DATALONG $22223424 ' Tile #33
DATALONG $22233444
DATALONG $52533344
DATALONG $25333333
DATALONG $55333333
DATALONG $55533333
DATALONG $55523333
DATALONG $25552222
DATALONG $34425322 ' Tile #34
DATALONG $34425332
DATALONG $44423335
DATALONG $33333332
DATALONG $33333322
DATALONG $33333325
DATALONG $33333225
DATALONG $22222255
DATALONG $22252225 ' Tile #35
DATALONG $25222522
DATALONG $22525252
DATALONG $55252525
DATALONG $55525552
DATALONG $52555255
DATALONG $55555555
DATALONG $25552555
DATALONG $22252225 ' Tile #36
DATALONG $25222522
DATALONG $52525252
DATALONG $25252525
DATALONG $55525552
DATALONG $52555255
DATALONG $55555555
DATALONG $25552555
DATALONG $22252225 ' Tile #37
DATALONG $25222522
DATALONG $52525252
DATALONG $25252525
DATALONG $55525552
DATALONG $52555255
DATALONG $55555555
DATALONG $25552555
DATALONG $22252225 ' Tile #38
DATALONG $25222522
DATALONG $52525252
DATALONG $25252525
DATALONG $55525552
DATALONG $52555255
DATALONG $55555555
DATALONG $25552555
DATALONG $22252225 ' Tile #39
DATALONG $25222522
DATALONG $52525252
DATALONG $25252525
DATALONG $55525552
DATALONG $52555255
DATALONG $55555555
DATALONG $25552555
theelf escribió:De nuevo, desde mi ignorancia, el maximo de cada sprite es 32x32, si la MD puede mover 80 a la vez... pues sumemos.. 320x224=10x7 sprites de 32x32=70 sprites
O sea que si sumamos todos los sprites, podemos llenar la pantalla y nos sobrarian 10 sprites. No creo que la limitacion de los sprites sea un problema, si no tanto la problematica de programar y de la rom, para cargar/descargar sprites de la ram a la vram cuando se necesiten, repito, desde mi desconocimiento exacto del hardware.
No se bien a que le llamas parpadeos, me imagino que te refieres a cuando se descarga un sprite de memoria, ese tiempo que la MD se toma en pasarlo de la rom a la ram, y luego a la vram.
También está el pier solar y sucedaneos, pero esos supongo que si que tendrán un devkit oficial, al igual que los de tectoy. Y ya es raro que estos últimos no hayan hecho cosas parecidas al metal slug aprovechando juegos ya hechos (como ya hicieron con wonderboy y demás, en el que se limitaron a cambiar el nombre del juego, y el sprite ).
Oye theelf, gracias por tu ayuda, aún no he tenido un rato para probarlo, pero te aseguro que voy a intentar seguir todos tus tutoriales (mientras pueda), pero cuando las circustancias me lo permitan.
Sólo quería asegurarme de agradecer tu esfuerzo en ayudarnos desinteresadamente, ya que no sé cuando podré poner en práctica lo último que me has dicho. Pero lo haré, y cuando tenga más dudas volveré a preguntar.
Gracias y enhorabuena por este gran tema.
Mis cuentas:
64Kbis Vram = 64x1024 = 65536 bytes X 8 = 524288 Bit.
Aparte, 1pixel tengo entnedido que ocupa 4bit para una paleta de 16 colores luego un tile ocupa 64x4 =256bit
524288/256 =2048 Tiles, esto ya lo veo un dato contradictorio a lo que se dice aqui, y a demas si dividimos entre tamaño maximo de sprite (4x4tiles), 2048/16 = 128, los mismo 128 sprites maximos que pone la Snes en pantalla.
¿Cual es la explicacion?
Scroll B = $E000 - $FFFF [8192 Bytes]
Scroll A = $C000 - $DFFF [8192 Bytes]
Patterns (Tiles 1520-1535) = $BE00 - $BFFF [1856 Bytes]
Window = $B000 - $BDFF [2240 Bytes]
Patterns (Tiles 1396-1407) = $AE80 - $AFFF [384 Bytes]
Sprite = $AC00 - $AE7F [640 Bytes]
H Scroll = $A800 - $ABFF [1024 Bytes]
Patterns (Tiles 0-1343) = $0000 - $A7FF [43008 Bytes]
Sam30 escribió:Me puede confirmar alguien si mis calculos son correctos:
SNES Vram 65536 bytes - 544 bytes como tabla de direccion de tiles "OAM" = 64992 bytes
32 bytes por tile = 4 bits por píxel; 8x8 = 64 pixel x 4bit = 256bit = 32bytes
64992 / 32 = 2031 tiles.
theelf escribió:Los 128 sprites de la SNES, es marqueting, no los puede mover fluidos ni de coña . Otra cosa, ten en cuenta que la resolucion de la SNES es 256x224,un 20% menos que los 320x224 de la MD.
Si lo hago mediante carga de binarios, al cargar archivo.img,bin como le digo que tiles de ese archibo quiero que cargue para cada sprite??
Tengo que usar una imagen para cada uno de los 72 sprites que componen la animación completa?
Teniendo en cuenta que las tiles se leen de arriba abajo y de izquierda a derecha, entonces si tengo una imagen de 10x8 tiles, el sprite A(2x4) tendria las tiles 0,1,10,11,20,21,30,31. El sprite B(4x4) tendria 2,3,4,5,12,13,14,15,22,23,24,25,32,33,34,35. Y asi hasta el sprite F.