Karoshi MSX Community
05 de Julio de 2021, 09:13:44 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: Un programa que convierta caracteres de SC2 a data para basic.  (Leído 4177 veces)
0 Usuarios y 1 Visitante están viendo este tema.
toniman
Visitante
« : 28 de Enero de 2011, 10:10:02 am »

Hola.

¿Conoceis algun programa que al meterle un archivo grafico de sc2 saque los datas para basic?
Es que yo soy algo paquete para hacerlo a mano.
En línea
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #1 : 28 de Enero de 2011, 10:42:06 am »

Buenas!

nMSXtiles http://pentacour.com/blog/msx/nmsxtiles-v0-6 permite importar un png (que puede ser una captura de un emulador ) y después exportarlo como datos. No se si es lo que buscas.

Saludos!
En línea
toniman
Visitante
« Respuesta #2 : 28 de Enero de 2011, 11:09:29 am »

Gracias, es este tipo de datos:

130 '***** DATAS GRAFICOS *****
140 DATA 30,30,78,30,30,78,78,78
150 DATA 00,01,03,03,03,03,01,00
160 DATA FC,FE,B2,00,C3,8C,FF,FE
170 '***** DATAS COLOR GRAFICOS *****
180 DATA 61,61,21,A1,A1,A1,B1,B1
190 DATA A1,A1,A1,B1,B1,A1,A1,A1
200 DATA A1,A1,A5,A5,4F,A5,A1,61

Es posible?
En línea
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #3 : 28 de Enero de 2011, 12:21:00 pm »

Más o menos. Te lo da en decimal (para una futura versión se podrá elegir a hexadecimal). Prueba a instalarlo, crea un proyecto vacío y elige la opción de Export ASM y mira si el fichero lo puedes adaptar a tus necesidades.

Cualquier cosa me comentas!
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #4 : 28 de Enero de 2011, 02:13:44 pm »

Hola!

Te dejo un conversor múltiple para línea de comandos que me hice en 2005 y no he llegado a usar nunca. Soporta bastantes formatos de salida diferentes, pero para lo que tú quieres necesitas hacer lo siguiente:

bin2txt -b fichero.bin > salida.txt

Donde, evidentemente, el "fichero.bin" es el archivo de origen y "salida.txt" el de salida. Como ves, emplea una redirección, si no incluyes el "> salida.txt" te mostrará el resultado de la conversión en pantalla directamente.

El formato de salida "BASIC" te generará los datos de la forma siguiente

10 DATA &H00,&HFF ...

Por lo tanto, tendrás que quitarle tú a mano con un editor de texto la parte del "&H" (te vale un comando de substitución automática).

En la carpeta comprimida encontrarás la versión para Win32/consola (.EXE) y para Linux de 32 bits (igual tendrías que darle permisos de ejecución a la versión Linux con un chmod +x o algo así).

Ya me contarás...
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #5 : 28 de Enero de 2011, 02:17:54 pm »

Ojo. Ahora que me doy cuenta, no sé si es lo que querías.

BIN2TXT convierte archivos binarios a diferentes formatos de texto, pero evidentmente no te convierte el formato de imagen para que sea visible en un MSX. Eso tienes que hacerlo en una herramienta aparte.

Si te bajas una distribución oficial del asMSX encontrarás una herramienta que se llama PCX2MSX (o algo así) que te convierte imágenes en formato PCX (muy cutre) y que cumplan las restricciones de color de SCREEN 2 a dos ficheros binarios, uno con los datos de patrones (.CHR) y otro con los datos de colores (.CLR).

Si coges esos CHR y CLR los puedes convertir a DATAs con la otra herramienta, BIN2TXT.

A ver si esto te ayuda...
En línea
toniman
Visitante
« Respuesta #6 : 28 de Enero de 2011, 06:50:12 pm »

Muchas gracias a los dos. Mirare a ver si puedo conseguirlo.

Vereis, resulta que Kotai me ha dicho que quiere hacer un juego de carreras conmigo, de perspectiva frontal, como Pitstop 2 (la carretera es parecida a la del Hyper Rally), entonces, lo que hemos quedado el y yo es en que yo le daria varias posiciones de carretera, pongamos 5 posiciones, curva fuerte, curva floja, recta y a la derecha igual. Cada posicion de la carretera tiene 3 frames de animacion en los caracteres de SC2. Luego tengo que pasar los graficos a datas hexadecimales, pero yo no lo he hecho nunca, me va a dar el lio Smiley

Yo lo que quiero es que el programador coja mis carreteras en sc2 como tiles de un grafico, ahorrando asi el tener que pintar nada por codigo, tan solo poner los tiles como si fuera un mapa.

El caso es que si veis las pantallas de pitstop 2 que he hecho, la carretera tiene a los lados unas franjas que se moverian dando la sensacion de que se va corriendo.

el caso es que el grafico de la carretera es, bordes verdes, linea de borde de la carretera (minimo 4 pixels de ancho), carretera de color gris.

El caso es que una vez pintados los tiles que componen la carretera y los bordes, que estan ya predefinidos en un mapa, tan solo hay que cambiar las lineas de color verticalmente para hacer que la carretera de sensacion de que se mueve, haciendo franjas de color verde oscuro para los bordes y para la linea de la carretera franjas rojas. Supongo que solo cambiando las tablas de colores, no las tablas de caracteres. Pero como no se programar...

¿Lo veis muy dificil de hacer?
« Última modificación: 28 de Enero de 2011, 06:56:14 pm por toniman » En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #7 : 29 de Enero de 2011, 03:29:53 pm »

En BASIC no hay futuro. Es decir, es demasiado lento como para planteárselo siquiera, de verdad.

Te dejo un ejemplo de buen juego de carreras programado en BASIC, cortesía de la gente del MRC (vínculo al foro correspondiente). Como comprenderás, hacer algo más complejo o con más carga gráfica es imposible desde el BASIC. Y observa el grado de ofuscación del código...

Código:
1 J=S-J*(J<96-S):K=J\16:FORW=0TO2:VPOKE8208+W,P(W+K):NEXT:IFTTHENRESUMENEXTELSEONERRORGOTO1:DEFINTA-Y:COLOR15,5,1:KEYOFF:SCREEN2,3,0:U=255:V=32:FORX=-1TO1:FORY=0TO31:M=16-Y\2:LINE(M-X*((SIN(Y^.8/6)-(Y<16))*6-M-2)+(X<1),V+X*V+Y)-STEP(Y+1,0)
2 P(Y\4)=50-15*(Y\12AND1):NEXTY,X:N=14336:FORI=0TO383:VPOKEN+I,VPEEK((IAND7)+(IAND8)*V+(IAND48)\2+(IAND448)*8):NEXT:S$="3##B#C#c$B'r$B&s3#%##C#3%S';%S&s;##2#3#B#R#B#<=c'##c'#@C#)#2#,s##&wfw:w3w4w$w3w#w4w,DD0CDDDS0CDSDK0CDKDC0CDC":SOUND3,14
3 SCREEN1:FORO=0TO53:Y=0:FORM=MTOM+1:Y=Y*96+ASC(MID$(S$,M))-35:NEXT:FORK=KTOK+Y\256:VPOKEK+N+I+8335*(O>V),YANDU:NEXTK,O:FORI=UTO1023:O=VPEEK(I):VPOKEI,(OORO\2)\(2-(IAND4)\4):NEXT:FORI=ITO1279:O=IANDV:VPOKE6432+(IAND63),228+8*(IAND3)-O'dvik
4 W=2^(IAND7):J=O*U\W\64:VPOKEI+512,JAND-W:VPOKEI+768,JOR-WANDU:J=8-O\8:VPOKEI,(JANDI)*U\J:NEXT:R=N\2:VPOKE8192,14:VPOKE1209,U:PLAY"v15o5arararo6aa":FORW=9TO10:PUTSPRITEW,(16+64*W,159),14,W-3:SOUNDW,14:N=N+9:NEXT:TIME=0:SOUND5,83:FORT=2TOR
5 PUTSPRITE0,(X+80,156),1,12:G=G+F*S\2:LOCATE1,1:D=96-(NAND127):Y=D>0:D=D*D\96(:PRINTUSING"SPEED:##0kmh  !  RANK:###";S;CHR$(76-L*4);N\128-82(:FORW=8216TO8219:G=G+8AND31:VPOKEW,86+(GAND16):VPOKE4+W,85+G\24:NEXT:@:Q=O:IFC<TTHENC=9+T+TMOD99
6 O=PEEK(-1043):T=T+S-1:F=B:B=(R-T>99)*(1-CMOD3):L=(QANDO+Q)+LAND1:S=S+(0=(OAND64))-(0=(OANDV))*(2-((S>9)=-L)):S=(S>14+L*6)*(L+2)-(S>0)*(S-1)(:FORW=3TO4:PUTSPRITEW+1,(F*10+W*V,95),14,4*B+W+1:PUTSPRITE3+W,(W*V,127),14,4*F+3+W:NEXT:NYYRIKKI
7 PUTSPRITE1,(115-(D<34)*((24-D)*B+F*10)+(E-64)*D\225,-Y*(98+D)-31),6,15-D\25-(T>R)*9:M=(X>72)-(X<0):E=NAND128:N=N+9-S:S=S*((X-15-E\3)\15<>0ORD<73)*(M=0):SOUND4,U-S*9(:X=X+5*(M-(0=(OAND128))+(0=(OAND16)))-S*B\4:FORW=0TO0:W=PLAY(0):NEXTW,T
8 S=15:Z$=SPACE$(S)+"Race Over  Time ="+STR$((TIME\(6-PEEK(43)\128))/10)+"s":FORN=0TOU:D=88-3*N:LOCATE6,4:PUTSPRITE0,(116-(36-X)*D\126,(68+D)-(D<0)*128),1,S-D\24:+:PRINTMID$(Z$+Z$,NMOD38+1,S):SOUND(1ANDN)+9,-(D>0)*D\6:NEXT:SCREEN0:CLEAR

Ensamblador. Ponte tú con ello - para averiguar como diseñador lo que se puede hacer y lo que no - y que Kotai también se anime, que de verdad que es más fácil hacer algunas cosas directamente en ensamblador que encontrar la forma para hacerlas en BASIC.
En línea
toniman
Visitante
« Respuesta #8 : 31 de Enero de 2011, 12:02:04 am »

Muchas gracias, hablare con Kotai para ver que podriamos hacer... Smiley
En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!