CPCBasic: Compilador cruzado de BASIC

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
DaDMaN
Keeper of The Forum
Keeper of The Forum
Mensajes: 796
Registrado: Jue 16 Mar , 2006 10:51 pm

Mensajepor DaDMaN » Vie 21 Sep , 2007 12:20 pm

No, no tiene nada especial para CPC plus. Lo único que se me ocurre es que el snapshot versión 2.0 que genera el WINAPE no sea 100% compatible con otros emuladores.

Un colega lo ha probado en un CPC real y me ha dicho que también le funciona. El bucle principal y la lógica de pintado está en BASIC. Las rutinas de pintado, calculo de coordenadas, vsync, cls (y próximamente lectura del teclado) estan en ensamblador. Lo único que se me ocurre que pueda pasar en otros emuladores es que no emulen perfectamente el CRTC.

Lo digo porque, para hacer el cambio de pantalla hago lo siguiente:

El crtc está configurado para mostrar 40x25 caracteres (mas el borde).

Pongo esos valores a 0 (desaparece la pantalla y queda todo como un enorme borde)
Hago un CLS (pero no el del firmware, sino uno en ASM que le he robado a César y que puso en otro hilo)
Redibujo el mapeado correspondiente
Restauro el CRTC a 40x25 caracteres

Empleo el CRTC en lugar de poner las tintas a 0 porque es inmensamente más rapido hacer 4 outs que recorrerme toda la paleta de colores 2 veces.

Asi que, o es tema de la versión del snapshot o de la incompatibilidad de algun emulador con el CRTC (no lo se).

Salu2

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Mensajepor Artaburu » Vie 21 Sep , 2007 1:06 pm

Antes de nada me gustaría apuntar que no creo que nadie quiera acusar a DaD de nada. Todos sabemos que a veces es difícil interpretar la palabra escrita y que por eso surgen algunos posts de aclaraciones. Algunos de estos escritos pueden llevar a malinterpretaciones y a malos rollos. De los que posteamos habitualmente todos sabemos de qué pie cojeamos y a veces olvidamos precisamente esto y nos enzarzamos en discusiones triviales y que no conducen a nada. Errare humanum est y por eso seguimos y seguiremos por aquí. Sabemos ver la luz en el fondo del túnel y allí nos dirijimos.

En definitiva, y yendo al grano... DaD, no creo que MiguelSky haya tratado de someterte y cortar tu libertad de expresión. lo único que veo que te ha dicho es que no era necesario que te escusaras que todos habíamos visto que no iba con mala leche. Que aquí nos conocemos y no hay que explicar todo lo que decimos. Te pediría que no te sientas ofendido y que, por favor, continúes como hasta ahora porque todos apreciamos tu trabajo un montón y además, vemos que mantienes bastante viva la escena y eso es necesario.
Salu2,
Arta

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6971
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Mensajepor MiguelSky » Vie 21 Sep , 2007 1:28 pm

queda como un enorme borde
Pero mírale !!!! Si es que no para !!!! <XX <XX <XX <XX <XX <XX <XX

EDITO : Arta, como siempre, tiene toda la razón :D . Relájate y verás como se ven las cosas de otro modo. Yo no me suelo preocupar por lo que escribo y alguna vez alguien me ha malinterpretado (y puede que se ofendiera incluso) y al decírmelo lo hemos aclardo y punto. Ya sabeis que a mí me gusta mucho decir (y hacer, aunque no las veais ;)) payasadas y siempre corro ese riesgo, pero mientras nadie se me ofenda me siento libre de poner lo que me sale de los coj.. estoooo..., lo que en verdad quiero decir :)

Exprésate con total libertad, que si metes la pata, no te preocupes: habrá muchos que te lo recuerden :lol:

Avatar de Usuario
McKlain
I am The Forum
I am The Forum
Mensajes: 2558
Registrado: Mar 28 Nov , 2006 2:48 pm
Ubicación: Málaga
Contactar:

Mensajepor McKlain » Vie 21 Sep , 2007 1:38 pm

Exprésate con total libertad, que si metes la pata, no te preocupes: habrá muchos que te lo recuerden :lol:
A cabronías no nos gana nadie <XX
Mi música: https://mcklain.bandcamp.com

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6971
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Mensajepor MiguelSky » Vie 21 Sep , 2007 1:48 pm

Pos no <XX

Avatar de Usuario
elteclas
Forum Addict
Forum Addict
Mensajes: 404
Registrado: Vie 14 Sep , 2007 2:52 pm

Mensajepor elteclas » Vie 21 Sep , 2007 2:13 pm

Como bien decis el problema de los foros es que a veces se mal interpretan cosas, porque es complicado saber con que intención está alguien diciendote algo, sin poder oir su tono de voz, sin mirarle a los ojos y ver si se lo ponen rojos o no :shock: . Asi que yo creo que , aunque es dificil, lo que hay que hacer siempre es pensar que todo lo que se escribe, en un principio es de buen rollo, y SIN lugar a segundas interpretaciónes. Cuando alguien quiera por ejemplo decirme algo mal, que empiece asi el POST:

elteclas eres un puto cabron! :lol: entonces sabre que esta de mal rollo conmigo .
De pequeño siempre quise ser hacker, pero mi pequeño CPC no tenía puerto ethernet.

Avatar de Usuario
litos.net
Loading, Please Wait...
Loading, Please Wait...
Mensajes: 5961
Registrado: Mié 05 Oct , 2005 7:57 pm
Ubicación: Madrid
Contactar:

Mensajepor litos.net » Vie 21 Sep , 2007 2:21 pm

elteclas eres un puto cabron! :lol: entonces sabre que esta de mal rollo conmigo .
... tampoco tiene porque..... :D
Si es CPC es en Color

Avatar de Usuario
dinoneno
Megaforero
Megaforero
Mensajes: 298
Registrado: Mié 13 Sep , 2006 7:32 am
Ubicación: Nambroca

Mensajepor dinoneno » Vie 21 Sep , 2007 5:39 pm

Otra sugerencia muy util, seria poder emplear estructuras de este tipo:

Código: Seleccionar todo

IF A=0 THEN
bla bla bla
bla bla bla
bla bla bla
ELSE
bla bla bla
END IF
La implementación de la instrucción IF hubiera sido más sencilla de esta forma que dices, pero por mantener la compatibilidad con el Locomotive Basic está como está. Para montar estructuras como la que dices se podría hacer:

Código: Seleccionar todo

IF A=0 THEN _
<sentencia1> _
<sentencia2> _
... _
ELSE _
<sentencia3> _
<sentencia4> _
...
Es decir, se puede partir la línea de código en múltiples líneas físicas, siempre que cada una finalice por un carácter de subrayado, de tal forma que si se eliminasen los subrayados y se dejase todo en la misma línea, sea una sentencia válida en CPCBasic. Sólo hay que prestar un poco de atención si se hiciesen IF anidados. Un saludo.

Avatar de Usuario
DaDMaN
Keeper of The Forum
Keeper of The Forum
Mensajes: 796
Registrado: Jue 16 Mar , 2006 10:51 pm

Mensajepor DaDMaN » Vie 21 Sep , 2007 8:17 pm

Bueno... he mejorado un poco más la velocidad.

Ahora utilizo una rutina en ensamblador para la lectura del teclado en lugar de emplear las del BASIC o Firmware.

Ya tenemos pleno control del sprite en cualquier dirección.

Emplear cursores para manejar el sprite por las pantallas.

El snapshot está ahora en v1.0. En el CPCE también funciona. Probadlo en otros emuladores (Caprice, etc), a ver si se ha solucionado el tema.

Salu2!
Adjuntos
mapa_dad1.zip
(12.83 KiB) Descargado 165 veces

gg
I am The Forum
I am The Forum
Mensajes: 2290
Registrado: Mié 13 Dic , 2006 10:48 am

Mensajepor gg » Vie 21 Sep , 2007 8:21 pm

Estupendo. Y si que va ya en el caprice32.
Saludos,
gg.

Avatar de Usuario
elteclas
Forum Addict
Forum Addict
Mensajes: 404
Registrado: Vie 14 Sep , 2007 2:52 pm

Mensajepor elteclas » Vie 21 Sep , 2007 8:28 pm

DaDMan, ese compilador para CPC de donde lo saco? quiero hacer unas pruebas con los dos compiladores que estas usando. Porque el 3DLab lo ha mejorado mucho, pero como dice por ahi (ahora no me acuerdo quien lo puso) :lol: , cuando dibuja la salida o la entrada, va superlento :?: Que es raro, pero igual tiene opciones de compilar, no se. Me gustaria probarlo pero no se de donde lo sacaste. :wink:
De pequeño siempre quise ser hacker, pero mi pequeño CPC no tenía puerto ethernet.

Avatar de Usuario
DaDMaN
Keeper of The Forum
Keeper of The Forum
Mensajes: 796
Registrado: Jue 16 Mar , 2006 10:51 pm

Mensajepor DaDMaN » Vie 21 Sep , 2007 8:51 pm

DaDMan, ese compilador para CPC de donde lo saco? quiero hacer unas pruebas con los dos compiladores que estas usando. Porque el 3DLab lo ha mejorado mucho, pero como dice por ahi (ahora no me acuerdo quien lo puso) :lol: , cuando dibuja la salida o la entrada, va superlento :?: Que es raro, pero igual tiene opciones de compilar, no se. Me gustaria probarlo pero no se de donde lo sacaste. :wink:
Está en este mismo hilo (que no te lo lees todo!!!!). FABACOM, está en este mismo hilo para descargar.

Las opciones de compilacion tambien estan en este mismo hilo (justo antes de la descarga).

Lo que parece ir raro en la compilación es la rutina de basic FILL. De todos modos, esa rutina hay que evitarla en los juegos, si quieres que funcionen en todos los amstrad. La rutina FILL (entre otras) no funcionan en el CPC 464 por ejemplo.

Salu2

Avatar de Usuario
elteclas
Forum Addict
Forum Addict
Mensajes: 404
Registrado: Vie 14 Sep , 2007 2:52 pm

Mensajepor elteclas » Vie 21 Sep , 2007 9:31 pm

Está en este mismo hilo (que no te lo lees todo!!!!). FABACOM, está en este mismo hilo para descargar.

Las opciones de compilacion tambien estan en este mismo hilo (justo antes de la descarga).

Lo que parece ir raro en la compilación es la rutina de basic FILL. De todos modos, esa rutina hay que evitarla en los juegos, si quieres que funcionen en todos los amstrad. La rutina FILL (entre otras) no funcionan en el CPC 464 por ejemplo.

Salu2
Joder DadMan, no me pegues la bulla, que intento leerlo todo, pero soy humano, trabajo , tengo mujer e hija y un CPC, y me falta tiempo. Y además hace dos dias que estoy aqui, que quieres? :lol:

Es interesante lo que dices del FILL, ya no lo recordaba, quizás por eso el compilador no lo tenga en cuenta? pero es que no solo no lo compila bien, sino que lo ralentiza todavía más, es raro.

El compilador cruzado de BASIC, le he estado echando un ojo a la web y esta muy bien, tiene muchas ventajas, pero me da tanto palo tener que cambiar toda la estructura de mis juegos antiguos, que a no ser que haga algo nuevo, no me va a servir. Lo que no entiendo es lo de los errores de compilación. O sea que no muestra errores al compilar? o no me he enterado bien...

Saludos CPCeros
De pequeño siempre quise ser hacker, pero mi pequeño CPC no tenía puerto ethernet.

Avatar de Usuario
elteclas
Forum Addict
Forum Addict
Mensajes: 404
Registrado: Vie 14 Sep , 2007 2:52 pm

Mensajepor elteclas » Vie 21 Sep , 2007 9:36 pm

AUTO, CHAIN, CHAIN MERGE, CONT, DELETE, EDIT, LIST, LOAD (BASIC program),
MERGE, RENUM, RESUME NEXT, SAVE (BASIC program), TROFF, TRON
No tiene nada que ver, pero esto que explica del compilador me ha recordado una cosa que lei no hace mucho. Si os fijais la ultima instruccion es TRON, como la pelicula TRON, Steven Lisberger que es el creador de la peli, sabia de este comando pero no lo que hacia, y como le molo el nombre y lo vio muy "informático" pues le puso asi a la peli. Lo que supo despues, es que el comando TRON tiene mucho que ver con lo que realmente era TRON en su pelicula, una especie de verificador. Perdon por el tocho, pero es gracioso :wink:
De pequeño siempre quise ser hacker, pero mi pequeño CPC no tenía puerto ethernet.

Avatar de Usuario
DaDMaN
Keeper of The Forum
Keeper of The Forum
Mensajes: 796
Registrado: Jue 16 Mar , 2006 10:51 pm

Mensajepor DaDMaN » Vie 21 Sep , 2007 9:36 pm

Se puede resumir en que no es un intérprete y no te va a decir: "Syntax error" o "GOSUB without RETURN".

Simplemente te soltará algo asi como; "Error en linea tal" y listos. No te dará información sobre el tipo de error. Tan solo te avisará si tienes alguna variable no declarada (hay que declararlas al principio todas, no como en el BASIC del CPC) o si algun tipo de variable no coincide... Poco más.

Te he dejado un comentario en "Boxes".

Salu2.


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic