FASE (Fucking Awesome Spectrum Engine)

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor D_Skywalk » Mar, 17 Jun 2014, 17:40

Ostia que chulo el gentmx!!! :corchoneta: :corchoneta: :corchoneta: :corchoneta: :corchoneta: :corchoneta:

Para darle ambientación tener una fuente es un "must", ciertamente se puede añadir la opción para usar la fuente del sistema, pero al menos el nuestro que es espacial, molaria mil... :tits:

Bueno, despues de dos dias, esto ya va rulando :brasas:

UPDATE:
smooth probando que cambia si lo pongo a 0 el juego peta :?

He puesto estos a 0, pero scolor no tengo claro que linea es...
scolor 0
ccolor 0
¿Como pongo el borde a 0 también?

UPDATE2:
cuando se hace esto, quiero hacer un mapa de durezas como la churrera.
*screen = mapy * mapw + mapx;

En este momento el mapa sigue igual que antes, si quiero esperar a que el engine cargue el nuevo tile set en tiles meto un FRAME en medio¿?
Última edición por D_Skywalk el Mar, 17 Jun 2014, 19:10, editado 1 vez en total.
David Skywalker
Weblog: http://david.dantoine.org
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor antoniovillena » Mar, 17 Jun 2014, 19:08

Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor D_Skywalk » Mar, 17 Jun 2014, 19:14

David Skywalker
Weblog: http://david.dantoine.org
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor antoniovillena » Mar, 17 Jun 2014, 20:04

antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor antoniovillena » Mar, 17 Jun 2014, 20:07

También puedes cambiar el borde desde C directamente en el main.c con M_OUTP(0xfe, color). Si te das cuenta yo lo uso en la demo para saber cuánto tiempo de frame consume el engine, cuánto el código C y cuánto tiempo me sobra.
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor D_Skywalk » Mar, 17 Jun 2014, 21:22

David Skywalker
Weblog: http://david.dantoine.org
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor antoniovillena » Mar, 17 Jun 2014, 23:56

Exacto.

Lo has comprendido perfectamente. Al cambiar la variable *screen no se produce el cambio inmediatamente (ni se pinta la pantalla ni se rellena el array tiles[]), sino que hay que esperar al siguiente frame. Pero puedes adelantarte escribiendo la macro FRAME (en realidad no te adelantas, porque al principio hay un bucle que espera a que comience el frame). Otra solución más limpia habría sido forzar el cambio de tiles llamando a la rutina descompresora para poder rellenar la tabla de atributos, pero no merece la pena los ciclos que te ahorras y ten en cuenta que la ubicación de las rutinas es variable, tendría que hacer lo mismo que con FRAME, INIT y EXIT.
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor D_Skywalk » Mié, 18 Jun 2014, 11:14

David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor D_Skywalk » Mié, 18 Jun 2014, 11:35

Vale, pues cuando y vale más de 9 hace cosas como estas...
print-fail.png
print-fail.png (2.8 KiB) Visto 4000 veces


Y si uso menores como el 5 se ve bien...
print-5.png
print-5.png (2.81 KiB) Visto 4000 veces


¿la memoria de video no es secuencial??
:poke:
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: FASE (Fucking Awesome Spectrum Engine)

Mensajepor na_th_an » Mié, 18 Jun 2014, 12:07

No. Más quisiéramos.

La memoria de video está organizada en tres tercios de 2048 bytes. Dentro de cada tercio, está ordenada por columnas, por filas de caracteres, y por lineas de pixels.

O sea, tienes 32 bytes de la primera linea de 32 caracteres. Los siguientes 32 bytes no son los pixeles de justo debajo, sino los de la primera linea de pixeles de la siguiente linea de caracteres. Así ocho veces. El byte número 256 es el primer byte de la segunda linea de pixeles de la primera linea de caracteres... Y así cada tercio.

Está optimizado para la impresión de texto y un par de cosas más, lo que complica otras cosas.

http://wordpress.animatez.co.uk/compute ... ry-layout/

Lo más rápido para imprimir texto es hacerse un array con la dirección de inicio de cada linea y listos, te olvidas de andar calculando. Son 48 bytes de nada. Lo suelo usar en mis mierdirrutinas, mira el adjunto. El array está donde pone line_buffer.
Adjuntos
simple-printer.h
(4.17 KiB) Descargado 171 veces
Como diría Rorshach: "Urm..."

Volver a “General”

¿Quién está conectado?

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