mirror of https://github.com/zxdos/zxuno.git
Se me olvidó revisionar lineas.asm
This commit is contained in:
parent
832423579d
commit
f617fed43b
|
@ -0,0 +1,57 @@
|
|||
#include "lodepng.c"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
unsigned char *image, *pixel, output[0x300];
|
||||
unsigned error, i, j, k, l, celda, fondo, tinta, outpos= 0;
|
||||
FILE *fo;
|
||||
|
||||
int check(int value){
|
||||
return value==0 || value==192 || value==255;
|
||||
}
|
||||
|
||||
int tospec(int r, int g, int b){
|
||||
return g>>7<<2 | r>>7<<1 | b>>7;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]){
|
||||
error= lodepng_decode32_file(&image, &i, &j, "fuente6x8.png");
|
||||
if( error )
|
||||
printf("\nError %u: %s\n", error, lodepng_error_text(error)),
|
||||
exit(-1);
|
||||
if( i!= 96 || j!= 48 )
|
||||
printf("\nError. Incorrect size, must be 96x48\n"),
|
||||
exit(-1);
|
||||
fo= fopen("fuente6x8.bin", "wb+");
|
||||
if( !fo )
|
||||
printf("\nCannot create output file\n"),
|
||||
exit(-1);
|
||||
for ( i= 0; i < 6; i++ )
|
||||
for ( j= 0; j < 16; j++ ){
|
||||
pixel= &image[((j|i<<7)*6)<<2];
|
||||
fondo= tinta= tospec(pixel[0], pixel[1], pixel[2]);
|
||||
for ( k= 0; k < 8; k++ ){
|
||||
celda= 0;
|
||||
for ( l= 0; l < 6; l++ ){
|
||||
pixel= &image[((j|i<<7)*6 + k*96 + l)<<2];
|
||||
if( !(check(pixel[0]) && check(pixel[1]) && check(pixel[2]))
|
||||
|| ((char)pixel[0]*-1 | (char)pixel[1]*-1 | (char)pixel[2]*-1)==65 )
|
||||
printf("\nThe pixel (%d, %d) has an incorrect color\n" , j*6+l, i*8+k),
|
||||
exit(-1);
|
||||
if( tinta != tospec(pixel[0], pixel[1], pixel[2]) )
|
||||
if( fondo != tospec(pixel[0], pixel[1], pixel[2]) ){
|
||||
if( tinta != fondo )
|
||||
printf("\nThe pixel (%d, %d) has a third color in the cell\n", j*6+l, i*8+k),
|
||||
exit(-1);
|
||||
tinta= tospec(pixel[0], pixel[1], pixel[2]);
|
||||
}
|
||||
celda<<= 1;
|
||||
celda|= fondo != tospec(pixel[0], pixel[1], pixel[2]);
|
||||
}
|
||||
output[outpos++]= celda<<2;
|
||||
}
|
||||
}
|
||||
fwrite(output, outpos, 1, fo);
|
||||
fclose(fo);
|
||||
printf("\nDone\n");
|
||||
free(image);
|
||||
}
|
|
@ -0,0 +1,221 @@
|
|||
macro linea src1, src2, src3, dst1, dst2, dst3
|
||||
ld sp, $4005+$800*src1+$100*src3+$20*src2
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
exx
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
ld sp, $4013+$800*dst1+$100*dst3+$20*dst2
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
exx
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
ld sp, $4013+$800*src1+$100*src3+$20*src2
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ld sp, $401b+$800*dst1+$100*dst3+$20*dst2
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
endm
|
||||
linea 0, 0, 1, 0, 0, 0
|
||||
linea 0, 0, 2, 0, 0, 1
|
||||
linea 0, 0, 3, 0, 0, 2
|
||||
linea 0, 0, 4, 0, 0, 3
|
||||
linea 0, 0, 5, 0, 0, 4
|
||||
linea 0, 0, 6, 0, 0, 5
|
||||
linea 0, 0, 7, 0, 0, 6
|
||||
linea 0, 1, 0, 0, 0, 7
|
||||
linea 0, 1, 1, 0, 1, 0
|
||||
linea 0, 1, 2, 0, 1, 1
|
||||
linea 0, 1, 3, 0, 1, 2
|
||||
linea 0, 1, 4, 0, 1, 3
|
||||
linea 0, 1, 5, 0, 1, 4
|
||||
linea 0, 1, 6, 0, 1, 5
|
||||
linea 0, 1, 7, 0, 1, 6
|
||||
linea 0, 2, 0, 0, 1, 7
|
||||
linea 0, 2, 1, 0, 2, 0
|
||||
linea 0, 2, 2, 0, 2, 1
|
||||
linea 0, 2, 3, 0, 2, 2
|
||||
linea 0, 2, 4, 0, 2, 3
|
||||
linea 0, 2, 5, 0, 2, 4
|
||||
linea 0, 2, 6, 0, 2, 5
|
||||
linea 0, 2, 7, 0, 2, 6
|
||||
linea 0, 3, 0, 0, 2, 7
|
||||
linea 0, 3, 1, 0, 3, 0
|
||||
linea 0, 3, 2, 0, 3, 1
|
||||
linea 0, 3, 3, 0, 3, 2
|
||||
linea 0, 3, 4, 0, 3, 3
|
||||
linea 0, 3, 5, 0, 3, 4
|
||||
linea 0, 3, 6, 0, 3, 5
|
||||
linea 0, 3, 7, 0, 3, 6
|
||||
linea 0, 4, 0, 0, 3, 7
|
||||
linea 0, 4, 1, 0, 4, 0
|
||||
linea 0, 4, 2, 0, 4, 1
|
||||
linea 0, 4, 3, 0, 4, 2
|
||||
linea 0, 4, 4, 0, 4, 3
|
||||
linea 0, 4, 5, 0, 4, 4
|
||||
linea 0, 4, 6, 0, 4, 5
|
||||
linea 0, 4, 7, 0, 4, 6
|
||||
linea 0, 5, 0, 0, 4, 7
|
||||
linea 0, 5, 1, 0, 5, 0
|
||||
linea 0, 5, 2, 0, 5, 1
|
||||
linea 0, 5, 3, 0, 5, 2
|
||||
linea 0, 5, 4, 0, 5, 3
|
||||
linea 0, 5, 5, 0, 5, 4
|
||||
linea 0, 5, 6, 0, 5, 5
|
||||
linea 0, 5, 7, 0, 5, 6
|
||||
linea 0, 6, 0, 0, 5, 7
|
||||
linea 0, 6, 1, 0, 6, 0
|
||||
linea 0, 6, 2, 0, 6, 1
|
||||
linea 0, 6, 3, 0, 6, 2
|
||||
linea 0, 6, 4, 0, 6, 3
|
||||
linea 0, 6, 5, 0, 6, 4
|
||||
linea 0, 6, 6, 0, 6, 5
|
||||
linea 0, 6, 7, 0, 6, 6
|
||||
linea 0, 7, 0, 0, 6, 7
|
||||
linea 0, 7, 1, 0, 7, 0
|
||||
linea 0, 7, 2, 0, 7, 1
|
||||
linea 0, 7, 3, 0, 7, 2
|
||||
linea 0, 7, 4, 0, 7, 3
|
||||
linea 0, 7, 5, 0, 7, 4
|
||||
linea 0, 7, 6, 0, 7, 5
|
||||
linea 0, 7, 7, 0, 7, 6
|
||||
linea 1, 0, 0, 0, 7, 7
|
||||
linea 1, 0, 1, 1, 0, 0
|
||||
linea 1, 0, 2, 1, 0, 1
|
||||
linea 1, 0, 3, 1, 0, 2
|
||||
linea 1, 0, 4, 1, 0, 3
|
||||
linea 1, 0, 5, 1, 0, 4
|
||||
linea 1, 0, 6, 1, 0, 5
|
||||
linea 1, 0, 7, 1, 0, 6
|
||||
linea 1, 1, 0, 1, 0, 7
|
||||
linea 1, 1, 1, 1, 1, 0
|
||||
linea 1, 1, 2, 1, 1, 1
|
||||
linea 1, 1, 3, 1, 1, 2
|
||||
linea 1, 1, 4, 1, 1, 3
|
||||
linea 1, 1, 5, 1, 1, 4
|
||||
linea 1, 1, 6, 1, 1, 5
|
||||
linea 1, 1, 7, 1, 1, 6
|
||||
linea 1, 2, 0, 1, 1, 7
|
||||
linea 1, 2, 1, 1, 2, 0
|
||||
linea 1, 2, 2, 1, 2, 1
|
||||
linea 1, 2, 3, 1, 2, 2
|
||||
linea 1, 2, 4, 1, 2, 3
|
||||
linea 1, 2, 5, 1, 2, 4
|
||||
linea 1, 2, 6, 1, 2, 5
|
||||
linea 1, 2, 7, 1, 2, 6
|
||||
linea 1, 3, 0, 1, 2, 7
|
||||
linea 1, 3, 1, 1, 3, 0
|
||||
linea 1, 3, 2, 1, 3, 1
|
||||
linea 1, 3, 3, 1, 3, 2
|
||||
linea 1, 3, 4, 1, 3, 3
|
||||
linea 1, 3, 5, 1, 3, 4
|
||||
linea 1, 3, 6, 1, 3, 5
|
||||
linea 1, 3, 7, 1, 3, 6
|
||||
linea 1, 4, 0, 1, 3, 7
|
||||
linea 1, 4, 1, 1, 4, 0
|
||||
linea 1, 4, 2, 1, 4, 1
|
||||
linea 1, 4, 3, 1, 4, 2
|
||||
linea 1, 4, 4, 1, 4, 3
|
||||
linea 1, 4, 5, 1, 4, 4
|
||||
linea 1, 4, 6, 1, 4, 5
|
||||
linea 1, 4, 7, 1, 4, 6
|
||||
linea 1, 5, 0, 1, 4, 7
|
||||
linea 1, 5, 1, 1, 5, 0
|
||||
linea 1, 5, 2, 1, 5, 1
|
||||
linea 1, 5, 3, 1, 5, 2
|
||||
linea 1, 5, 4, 1, 5, 3
|
||||
linea 1, 5, 5, 1, 5, 4
|
||||
linea 1, 5, 6, 1, 5, 5
|
||||
linea 1, 5, 7, 1, 5, 6
|
||||
linea 1, 6, 0, 1, 5, 7
|
||||
linea 1, 6, 1, 1, 6, 0
|
||||
linea 1, 6, 2, 1, 6, 1
|
||||
linea 1, 6, 3, 1, 6, 2
|
||||
linea 1, 6, 4, 1, 6, 3
|
||||
linea 1, 6, 5, 1, 6, 4
|
||||
linea 1, 6, 6, 1, 6, 5
|
||||
linea 1, 6, 7, 1, 6, 6
|
||||
linea 1, 7, 0, 1, 6, 7
|
||||
linea 1, 7, 1, 1, 7, 0
|
||||
linea 1, 7, 2, 1, 7, 1
|
||||
linea 1, 7, 3, 1, 7, 2
|
||||
linea 1, 7, 4, 1, 7, 3
|
||||
linea 1, 7, 5, 1, 7, 4
|
||||
linea 1, 7, 6, 1, 7, 5
|
||||
linea 1, 7, 7, 1, 7, 6
|
||||
linea 2, 0, 0, 1, 7, 7
|
||||
linea 2, 0, 1, 2, 0, 0
|
||||
linea 2, 0, 2, 2, 0, 1
|
||||
linea 2, 0, 3, 2, 0, 2
|
||||
linea 2, 0, 4, 2, 0, 3
|
||||
linea 2, 0, 5, 2, 0, 4
|
||||
linea 2, 0, 6, 2, 0, 5
|
||||
linea 2, 0, 7, 2, 0, 6
|
||||
linea 2, 1, 0, 2, 0, 7
|
||||
linea 2, 1, 1, 2, 1, 0
|
||||
linea 2, 1, 2, 2, 1, 1
|
||||
linea 2, 1, 3, 2, 1, 2
|
||||
linea 2, 1, 4, 2, 1, 3
|
||||
linea 2, 1, 5, 2, 1, 4
|
||||
linea 2, 1, 6, 2, 1, 5
|
||||
linea 2, 1, 7, 2, 1, 6
|
||||
linea 2, 2, 0, 2, 1, 7
|
||||
linea 2, 2, 1, 2, 2, 0
|
||||
linea 2, 2, 2, 2, 2, 1
|
||||
linea 2, 2, 3, 2, 2, 2
|
||||
linea 2, 2, 4, 2, 2, 3
|
||||
linea 2, 2, 5, 2, 2, 4
|
||||
linea 2, 2, 6, 2, 2, 5
|
||||
linea 2, 2, 7, 2, 2, 6
|
||||
linea 2, 3, 0, 2, 2, 7
|
||||
linea 2, 3, 1, 2, 3, 0
|
||||
linea 2, 3, 2, 2, 3, 1
|
||||
linea 2, 3, 3, 2, 3, 2
|
||||
linea 2, 3, 4, 2, 3, 3
|
||||
linea 2, 3, 5, 2, 3, 4
|
||||
linea 2, 3, 6, 2, 3, 5
|
||||
linea 2, 3, 7, 2, 3, 6
|
||||
linea 2, 4, 0, 2, 3, 7
|
||||
linea 2, 4, 1, 2, 4, 0
|
||||
linea 2, 4, 2, 2, 4, 1
|
||||
linea 2, 4, 3, 2, 4, 2
|
||||
linea 2, 4, 4, 2, 4, 3
|
||||
linea 2, 4, 5, 2, 4, 4
|
||||
linea 2, 4, 6, 2, 4, 5
|
||||
linea 2, 4, 7, 2, 4, 6
|
||||
linea 2, 5, 0, 2, 4, 7
|
||||
linea 2, 5, 1, 2, 5, 0
|
||||
linea 2, 5, 2, 2, 5, 1
|
||||
linea 2, 5, 3, 2, 5, 2
|
||||
linea 2, 5, 4, 2, 5, 3
|
||||
linea 2, 5, 5, 2, 5, 4
|
||||
linea 2, 5, 6, 2, 5, 5
|
||||
linea 2, 5, 7, 2, 5, 6
|
||||
linea 2, 6, 0, 2, 5, 7
|
||||
linea 2, 6, 1, 2, 6, 0
|
||||
linea 2, 6, 2, 2, 6, 1
|
||||
linea 2, 6, 3, 2, 6, 2
|
||||
linea 2, 6, 4, 2, 6, 3
|
||||
linea 2, 6, 5, 2, 6, 4
|
||||
linea 2, 6, 6, 2, 6, 5
|
||||
linea 2, 6, 7, 2, 6, 6
|
||||
linea 2, 7, 0, 2, 6, 7
|
||||
linea 2, 7, 1, 2, 7, 0
|
||||
linea 2, 7, 2, 2, 7, 1
|
||||
linea 2, 7, 3, 2, 7, 2
|
||||
linea 2, 7, 4, 2, 7, 3
|
||||
linea 2, 7, 5, 2, 7, 4
|
||||
linea 2, 7, 6, 2, 7, 5
|
||||
linea 2, 7, 7, 2, 7, 6
|
Loading…
Reference in New Issue