diff --git a/firmware/scroll/FuenteABin.c b/firmware/scroll/FuenteABin.c index 75d2a40..b02e14d 100644 --- a/firmware/scroll/FuenteABin.c +++ b/firmware/scroll/FuenteABin.c @@ -1,7 +1,7 @@ #include "lodepng.c" #include #include -unsigned char *image, *pixel, output[0x300]; +unsigned char *image, *pixel, output[0x280]; unsigned error, i, j, k, l, celda, fondo, tinta, outpos= 0; FILE *fo; @@ -18,14 +18,14 @@ int main(int argc, char *argv[]){ 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"), + if( i!= 96 || j!= 40 ) + printf("\nError. Incorrect size, must be 96x40\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 ( i= 0; i < 5; i++ ) for ( j= 0; j < 16; j++ ){ pixel= &image[((j|i<<7)*6)<<2]; fondo= tinta= tospec(pixel[0], pixel[1], pixel[2]); diff --git a/firmware/scroll/fuente6x8.png b/firmware/scroll/fuente6x8.png index 01e5d5a..54034fa 100644 Binary files a/firmware/scroll/fuente6x8.png and b/firmware/scroll/fuente6x8.png differ diff --git a/firmware/scroll/scroll.asm b/firmware/scroll/scroll.asm index fb61429..73abef2 100644 --- a/firmware/scroll/scroll.asm +++ b/firmware/scroll/scroll.asm @@ -1,17 +1,16 @@ - output scroll.bin - org $5d29 - ld hl, fuente - ld b, 3 - ld de, $c100 - ldir - jp start -fuente incbin fuente6x8.bin + org $5ee2 string include string.asm - block $6d35-$ - ld (vari+2), ix + display $ +music ld (vari+2), ix incbin music.bin -start ld hl, fondo +fuente incbin fuente6x8.bin + display $ +start ld hl, fuente + ld b, 3 + ld de, $c180 + ldir + ld hl, fondo ld b, $40 ; filtro RCS inverso start0 ld a, b xor c @@ -29,15 +28,51 @@ start0 ld a, b ld a, b sub $58 jr nz, start0 -; ld hl, $5800 -; ld de, $5801 ld b, 3 -; ld (hl), l ldir -; xor a out ($fe), a inc a ex af, af' + ld de, $401f +rever ld hl, $ffe1 + add hl, de + ld c, (hl) + ld a, $80 +revl1 rl c + rra + jr nc, revl1 + ld (de), a + inc hl + dec de + ld c, (hl) + ld a, $80 +revl2 rl c + rra + jr nc, revl2 + ld (de), a + inc hl + dec de + ld c, (hl) + ld a, $80 +revl3 rl c + rra + jr nc, revl3 + ld (de), a + inc hl + dec de + ld c, (hl) + ld a, $80 +revl4 rl c + rra + jr nc, revl4 + ld (de), a + ld hl, $23 + add hl, de + ex de, hl + ld a, d + cp $58 + jr nz, rever + ld hl, $c000 ld de, $c400 start1 ld b, $08 @@ -48,15 +83,15 @@ start2 ld a, (hl) cpi jp pe, start2 jr nc, start1 - + ld a, $c9 + ld ($c006), a ld hl, $716f - call $6d3c - -start3 ei - call $6e77 + call music+7 +start3 call $6e77 + ei halt di - ld bc, 4 + ld bc, 5 start4 djnz start4 dec c jr nz, start4 @@ -78,7 +113,7 @@ start4 djnz start4 vari ld ix, string ld hl, start3 push hl - ld hl, $6d35 + ld hl, music push hl ex af, af' rrca diff --git a/firmware/scroll/scrolldesc.asm b/firmware/scroll/scrolldesc.asm index 6f4b692..94b1e3b 100644 --- a/firmware/scroll/scrolldesc.asm +++ b/firmware/scroll/scrolldesc.asm @@ -1,7 +1,7 @@ include define.asm output scrolldesc.bin org $5ccb - ld de, $5d29+filesize-1 + ld de, $5ee2+filesize-1 di defb $de, $c0, $37, $0e, $8f, $39, $96 jr aqui @@ -54,5 +54,6 @@ offend rr e lddr exitdz pop hl jr nc, mainlo + jp $7be4 incbin scroll.bin.zx7b fin \ No newline at end of file