CPCWiki forum

General Category => Applications => Topic started by: Sid_ on 16:20, 24 January 20

Title: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 16:20, 24 January 20
I would like to introduce you a tool to handle your images for the CPC old and CPC plus series.
This cli tool convert png / jpg file to several different formats, such  as classical cpc screen file (like OCP), sprites and sprites hard for plus series, overscan, egx 1 and 2, tiles.
You can export your files in dsk, ascii text files, binary files.
It’s a multiplatform tool (binaries for windows, macOS, linux, raspbian).
All outputs files are compatible with ImpDraw V2 http://orgams.wikidot.com/i2 (http://orgams.wikidot.com/i2).

You can improve rendering by applying dithering, your own palette (plus and old palette supported).
You rotate your image, byte translation.


To explain more, I’ll post some samples in further posts.

You can check the code here : https://github.com/jeromelesaux/martine (https://github.com/jeromelesaux/martine)
And binaries here : https://github.com/jeromelesaux/martine/releases (https://github.com/jeromelesaux/martine/releases)
A windows Gui is available here : https://index.amstrad.info/wp-content/uploads/martine/ (https://index.amstrad.info/wp-content/uploads/martine/)

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 16:22, 24 January 20
some sample can be found here : https://amstradplus.forumforever.com/t513-martine-fait-du-dessin.htm?start=45

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 16:24, 24 January 20
Sounds REALLY cool, since I´m a mac user I have to try this out ....
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: trocoloco on 18:42, 24 January 20
It does even create a dsk and a loader for the converted screen, nice  feature & very useful.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:20, 25 January 20
I forgot the greetings 😀
The GUI is made by tronic and all ideas came from Siko Tronic Roudoudou and Ast ^^.
The next post will be a explanation of some arguments usage on the same image.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:40, 27 January 20
Here some examples :

input image :
simple transfert :
Code: [Select]
#! /bin/bash
martine -i hulk.jpg -m 0 -dsk
/Applications/Retro\ Virtual\ Machine\ 2.app/Contents/MacOS/Retro\ Virtual\ Machine\ 2 -i HULK.DSK -b=cpc6128@fr -command="run3hulk


Now with dithering treatment :
Code: [Select]
#! /bin/bash
martine -i hulk.jpg -m 0 -dithering 10 -dsk

In overscan :
Code: [Select]
#! /bin/bash
martine -i hulk.jpg -m 0 -dithering 10 -f -dsk

In egx1 mode :
Code: [Select]
#! /bin/bash
mkdir mode0
mkdir mode1
martine -i hulk.jpg -m 0 -o mode0 -dsk -f
martine -i hulk.jpg -m 1 -o mode1 -dithering 10 -dsk -f
martine -i mode0/HULK.SCR -m 0 -egx1 -i2 mode1/HULK.SCR -m2 1 -dsk -pal mode0/HULK.PAL -f

If you want more examples tell me.
Next post will be on the sprites.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 16:22, 27 January 20
If your CPC has the M4 card, you can send your image by network, here an usage example in the video
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: GUNHED on 21:58, 27 January 20
WoW! SID, that's awesome!!!  :) :) :)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:55, 28 January 20
Thanks @GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029) but it's a collegiate work with @siko, @tronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=859) , @Ast (https://www.cpcwiki.eu/forum/index.php?action=profile;u=573) and @roudoudou (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1714)
Of course I didn't say but to enable amstrad plus palette, add -p (for amstrad plus) to your command line.
Yours gfx may be exported in sna, dsk or just binary files.


A lot of course still remains such as :
- deltapacking (with an assembly code to give an idea).
- fix some bugs




Something else, I can't post dsk file, how can I send to the forum some examples dsk ?
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: tronic on 14:12, 29 January 20
You can also do EGX graphics (which is a mix of mode 0/1/2 on odd/even lines).
Here there some examples in this zip file. (see attached)
To view them (dsk): RUN "file.bas" or then RUN "file.scr" depending on the case.
You'll also find some "delta" animations inside (sna / 128ko).

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 15:52, 19 March 20
Hi a little post to explain how to use Martine to generate sprites.


here a bash sample for each phases :
Code: [Select]
#! /bin/bash
WIDTH=40
HEIGHT=60


martine -i sprite0.png -m 0 -w $WIDTH -h $HEIGHT
mv SPRITE0.PAL REFERENCE.PAL


for i in sprite[0-4].png
do martine -i "$i" -m 0 -w $WIDTH -h $HEIGHT -pal REFERENCE.PAL -dsk
done


#display all the sprite text outputs
cat SPRITE[0-4].TXT

1/ generate the referenced palette

2/ generate all sprite with the reference palette
3/ get all the sprites, and palette output.

Here the sample code (not optimized, just to explain how use Martine and incorporate the sprites in yours projects.
Of course, all optimisations can be applied on your sprites, such as dithering, zigzag output, mode etc ...
Code: [Select]

org #1000
run $
start
;
; to compile and execute rasm sprite_sonic.asm -eo && open sprite_sonic.dsk
;


large equ 40/2 ; mode 0 pixels / 2
haut equ 60
where equ #c350


xor a
call #BC0E ; mode 0




sprloop


;#call #bb06 ; wait key from keyboard




call palettefirmware


;ld hl,#b7f9
;jp #bcdd


//call #bb06 ; wait key from keyboard
call xvbl
;call waitvbl
ld de,where ; adresse de l'ecran
ld hl,sprite0 ; pointeur sur l'image en memoire
ld b, haut ; hauteur de l'image
call display


//call #bb06 ; wait key from keyboard
;call waitvbl
call xvbl
ld de,where ; adresse de l'ecran
ld hl,sprite1 ; pointeur sur l'image en memoire
ld b, haut ; hauteur de l'image
call display


//call #bb06 ; wait key from keyboard
;call waitvbl
call xvbl
ld de,where ; adresse de l'ecran
ld hl,sprite2 ; pointeur sur l'image en memoire
ld b, haut ; hauteur de l'image
call display




//call #bb06 ; wait key from keyboard
;call waitvbl
call xvbl
ld de,where ; adresse de l'ecran
ld hl,sprite3 ; pointeur sur l'image en memoire
ld b, haut ; hauteur de l'image
call display


//call #bb06 ; wait key from keyboard
;call waitvbl
call xvbl
ld de,where ; adresse de l'ecran
ld hl,sprite4 ; pointeur sur l'image en memoire
ld b, haut ; hauteur de l'image
call display


call xvbl


jp sprloop




display
loop
push bc ; sauve le compteur hauteur dans la pile
push de ; sauvegarde de l'adresse ecran dans la pile
ld bc, large ; largeur de l'image a afficher
ldir ; remplissage de n * largeur octets a l'adresse dans de
pop de ; recuperation de l'adresse d'origine
ex de,hl ; echange des valeurs des adresses
call bc26 ; calcul de l'adresse de la ligne suivante
ex de,hl ; echange des valeurs des adresses
pop bc ; retabli le compteur
djnz loop
ret




palettefirmware ; hl pointe sur les valeurs de la palette
ld a,0
ld b,0
ld c,0
call #bc32


ld a,1
ld b,1
ld c,1
call #bc32


ld a,2
ld b,13
ld c,13
call #bc32


ld a,3
ld b,14
ld c,14
call #bc32


ld a,4
ld b,16
ld c,16
call #bc32


ld a,5
ld b,11
ld c,11
call #bc32


ld a,6
ld b,26
ld c,26
call #bc32
ret


palette
ld bc,#7F00
ld e, #54
out (c),c
out (c),e


ld bc,#7F01
ld e, #44
out (c),c
out (c),e


ld bc,#7F02
ld e, #40
out (c),c
out (c),e


ld bc,#7F03
ld e, #5f
out (c),c
out (c),e


ld bc,#7F04
ld e, #47
out (c),c
out (c),e




ld bc,#7F05
ld e, #57
out (c),c
out (c),e


ld bc,#7F06
ld e, #4b
out (c),c
out (c),e


ret




xvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
call waitvbl
ret


waitvbl
    ld b,#f5 ; attente vbl
vbl
    in a,(c)
    rra
    jp nc,vbl
    ret


bc26
ld a,h
add a,8
ld h,a ; <---- le fameux que tu as oublié !
ret nc
ld bc,#c050 ; on passe en 96 colonnes
add hl,bc
res 3,h
ret


palettes
pal0
db #54, #44, #40, #5f, #47, #57, #4b


sprites
sprite0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c0, #d0, #f0, #f0, #f0, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #c0, #d0, #f0, #f0
db #f0, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #cc, #cc
db #c4, #c8, #c0, #c0, #c0, #cc, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #cc, #cc, #c4, #c8, #c0, #c0
db #c0, #cc, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #cc, #c0
db #48, #c4, #cc, #cc, #c0, #cc, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #cc, #c0, #48, #c4, #cc, #cc
db #c0, #cc, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #24, #48, #c4, #cc, #cc, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #c0, #0c, #24, #48, #c4, #cc
db #cc, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #c0, #0c
db #24, #48, #c4, #cc, #cc, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #c0, #0c, #64, #cc, #9c, #6c
db #cc, #cc, #c0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #c0, #0c
db #64, #cc, #9c, #6c, #cc, #cc, #c0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c4, #cc, #cc, #cc, #cc, #8c, #1c, #3c
db #cc, #cc, #c0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c4, #cc, #cc, #cc
db #cc, #8c, #1c, #3c, #cc, #cc, #c0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #cc
db #cc, #cc, #cc, #cc, #cc, #8c, #1c, #3c
db #00, #cc, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #cc, #cc, #cc, #cc, #cc
db #cc, #8c, #1c, #3c, #00, #cc, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c0, #c0, #c0, #cc, #cc, #8c, #1c, #3c
db #00, #cc, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #c0, #c0, #c0, #cc
db #cc, #8c, #1c, #3c, #00, #cc, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #c0, #c0, #cc, #cc, #8c, #1c, #3c
db #00, #00, #00, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #c0, #c0, #cc
db #cc, #8c, #1c, #3c, #00, #00, #00, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #c0, #c0, #8c, #0c, #1c, #3c
db #00, #0c, #00, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #c0, #c0
db #8c, #0c, #1c, #3c, #00, #0c, #00, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c4, #c0, #c0, #c0, #18, #30, #30, #24
db #0c, #30, #00, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c4, #c8, #c0, #c0, #c0
db #18, #30, #30, #30, #30, #30, #0c, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c4
db #c8, #c0, #c0, #c0, #18, #30, #30, #30
db #30, #30, #0c, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c4, #c8, #c0, #c0, #c0
db #84, #18, #30, #30, #30, #0c, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c4
db #c8, #c0, #c0, #c0, #84, #18, #30, #30
db #30, #0c, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #c0, #c0, #c0
db #c0, #c0, #84, #0c, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #c0
db #c0, #c0, #c0, #c0, #c0, #c0, #84, #0c
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #c0
db #c0, #c0, #80, #00, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #c0, #c0, #c0, #80, #00
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #0c
db #60, #84, #18, #20, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #0c, #60, #84, #18, #20
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #0c, #30
db #84, #18, #30, #24, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #0c, #30, #84, #18, #30, #24
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #0c, #30, #c0
db #84, #18, #30, #30, #00, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #0c, #30, #c0, #84, #18, #30, #30
db #00, #00, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #0c, #3c, #0c
db #84, #18, #30, #30, #0c, #0c, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #84, #3c, #3c, #3c, #0c, #18, #30, #24
db #0c, #0c, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #84, #3c, #3c, #3c
db #0c, #18, #30, #24, #0c, #0c, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a4, #3c, #3c, #3c, #48, #84, #0c, #48
db #0c, #0c, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a4, #3c, #3c, #3c
db #48, #84, #0c, #48, #0c, #0c, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #0c, #3c, #0c, #c0, #c0, #c0, #d0
db #00, #00, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #0c, #3c, #0c
db #c0, #c0, #c0, #d0, #00, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #c0, #d0, #e0, #c4, #d8
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #c0
db #d0, #e0, #c4, #d8, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #c0, #d8, #e0, #c4, #d8
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #c0
db #d8, #e0, #c4, #d8, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #00, #c0, #d0, #e0, #c4, #d8
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #00, #c0
db #d0, #e0, #c4, #d8, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #00, #3c, #c0, #28, #00, #00, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #00, #3c, #c0
db #28, #00, #00, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #00, #0c, #3c, #08, #00, #04, #08
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a0, #0c, #00, #00
db #10, #20, #00, #04, #00, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a0, #0c, #00, #00, #10, #20, #00, #04
db #00, #00, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a0, #0c, #30, #30
db #30, #34, #3c, #28, #00, #0c, #00, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a0, #0c, #30, #30, #30, #34, #3c, #28
db #00, #0c, #00, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a0, #0c, #0c, #0c
db #0c, #0c, #18, #30, #30, #00, #0c, #08
db #50, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a0, #0c, #0c, #0c, #0c, #0c, #18, #30
db #30, #00, #0c, #08, #50, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a0, #00, #00, #00
db #00, #00, #00, #00, #00, #00, #00, #00
db #50, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a0, #00, #00, #00, #00, #00, #00, #00
db #00, #00, #00, #00, #50, #f0, #f0, #f0


sprite1
db #f0, #f0, #f0, #f0, #f0, #f0, #c0, #c0
db #c0, #c0, #d0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #c0, #c0, #c0, #c0, #d0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #c0, #cc
db #cc, #cc, #c8, #c0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #c0, #cc, #cc, #cc, #c8, #c0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c4, #cc, #cc, #cc
db #cc, #cc, #cc, #c8, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c4, #cc, #cc, #cc, #cc, #cc, #cc, #c8
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #cc, #c8, #30, #30, #c0
db #cc, #cc, #cc, #cc, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c0, #0c, #30, #30, #cc, #cc, #cc, #cc
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #c0, #0c, #30, #30
db #cc, #cc, #cc, #cc, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #0c, #30, #c0, #1c, #3c, #28, #44
db #cc, #00, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #0c, #30, #c0
db #1c, #3c, #28, #44, #cc, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #c0, #0c, #cc, #1c, #3c, #28, #00
db #3c, #00, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #c0, #0c, #cc
db #1c, #3c, #28, #00, #3c, #00, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c4
db #cc, #cc, #cc, #cc, #8c, #1c, #3c, #28
db #30, #00, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c4, #cc, #cc, #cc, #cc
db #8c, #1c, #3c, #28, #30, #00, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #cc
db #cc, #cc, #cc, #cc, #8c, #1c, #3c, #3c
db #30, #30, #0c, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #cc, #cc, #cc, #cc, #cc
db #8c, #1c, #3c, #3c, #30, #30, #0c, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #c8
db #c0, #cc, #cc, #cc, #cc, #8c, #1c, #38
db #30, #30, #0c, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #c8, #c0, #cc, #cc, #cc
db #cc, #8c, #1c, #38, #30, #30, #0c, #f0
db #f0, #f0, #f0, #f0, #f0, #c4, #c8, #c0
db #c0, #cc, #cc, #cc, #8c, #0c, #18, #30
db #30, #0c, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c4, #c8, #c0, #c0, #cc, #cc, #cc
db #8c, #0c, #18, #30, #30, #0c, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c0, #c0, #cc, #cc, #18, #30, #30, #30
db #30, #0c, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #d0, #f0, #e0, #c0, #c0, #c0, #c0
db #18, #30, #30, #30, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #d0, #f0, #e0
db #c0, #c0, #c0, #c0, #18, #30, #30, #30
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #c0, #c0, #c0
db #84, #18, #30, #24, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #c0, #c0, #c0, #84, #18, #30, #24
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #c0, #c0, #c0
db #c0, #84, #0c, #58, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #c0, #c0, #c0, #c0, #84, #0c, #58
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #c0, #c0, #c0
db #c0, #80, #00, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #c0
db #c0, #c0, #c0, #c0, #c0, #80, #00, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #d0, #f0, #e0, #c0, #0c, #30
db #84, #18, #20, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #d0, #f0
db #e0, #c0, #0c, #30, #84, #18, #20, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #0c, #30, #c0
db #18, #30, #24, #08, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #0c, #30, #c0, #18, #30, #24, #08
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #84, #30, #c0, #c0
db #18, #30, #30, #20, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #84, #30, #c0, #c0, #18, #30, #30, #20
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #84, #3c, #0c, #c0
db #18, #30, #30, #24, #0c, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #84
db #1c, #3c, #3c, #0c, #18, #30, #24, #0c
db #0c, #00, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #84, #1c, #3c, #3c, #0c
db #18, #30, #24, #0c, #0c, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a4
db #1c, #3c, #3c, #0c, #84, #0c, #48, #84
db #0c, #00, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #a4, #1c, #3c, #3c, #0c
db #84, #0c, #48, #84, #0c, #00, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a4, #3c, #0c, #c0, #c0, #c0, #d0, #a0
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a4, #3c, #0c, #c0
db #c0, #c0, #d0, #a0, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #c0, #c0, #e0, #c4, #d8, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #c0, #c0
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #c0, #cc, #e0, #c4, #d8, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #c0, #cc
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #00, #c0, #c0, #e0, #c4, #d8, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #00, #c0, #c0
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a0, #3c, #c0, #3c, #00, #00, #50, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #a0, #3c, #c0, #3c
db #00, #00, #50, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #a0, #0c, #3c, #0c, #00, #04, #08, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #a0, #04, #00, #00, #00
db #20, #00, #04, #08, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a0
db #04, #00, #00, #00, #20, #00, #04, #08
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #a0, #04, #30, #30, #30
db #34, #3c, #28, #00, #0c, #00, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a0
db #04, #30, #30, #30, #34, #3c, #28, #00
db #0c, #00, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #a0, #04, #0c, #0c, #0c
db #0c, #18, #30, #30, #00, #0c, #0c, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a0
db #04, #0c, #0c, #0c, #0c, #18, #30, #30
db #00, #0c, #0c, #50, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #a0, #00, #00, #00, #00
db #00, #00, #00, #00, #00, #00, #00, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a0
db #00, #00, #00, #00, #00, #00, #00, #00
db #00, #00, #00, #50, #f0, #f0, #f0, #f0




sprite2
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #c0, #c0
db #f0, #f0, #f0, #e0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #c0, #c0, #f0, #f0, #f0, #e0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #0c, #c0, #cc
db #c0, #c0, #c0, #84, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #0c, #c0, #cc, #c0, #c0, #c0, #84
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #30, #0c, #c0
db #cc, #cc, #c8, #84, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #84, #30, #0c, #c0, #cc, #cc, #cc, #c8
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #84, #30, #0c, #c0
db #cc, #cc, #cc, #c8, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #84, #c0, #cc, #cc, #cc, #cc, #cc, #cc
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #84, #c0, #cc, #cc
db #cc, #cc, #cc, #cc, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #cc
db #c8, #cc, #cc, #3c, #6c, #cc, #9c, #3c
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #cc, #c8, #cc, #cc, #3c
db #6c, #cc, #9c, #3c, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c4, #cc, #cc
db #cc, #cc, #3c, #3c, #3c, #3c, #3c, #3c
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c4, #cc, #cc, #cc, #cc, #3c, #3c
db #3c, #3c, #3c, #3c, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c4, #c8, #c4
db #cc, #cc, #3c, #00, #14, #3c, #28, #14
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c4, #c8, #c4, #cc, #cc, #3c, #00
db #14, #3c, #28, #14, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #c0, #c0, #c0, #c4
db #cc, #cc, #3c, #00, #14, #3c, #28, #14
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #c0, #c0, #c0, #c4, #cc, #cc, #3c, #00
db #14, #3c, #28, #14, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c4, #cc, #3c, #00, #14, #3c, #28, #14
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c4, #cc, #3c, #00
db #14, #3c, #28, #14, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #c0
db #c0, #0c, #0c, #3c, #2c, #0c, #0c, #0c
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #0c, #30, #0c
db #18, #30, #20, #00, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #c0
db #c0, #0c, #30, #0c, #18, #30, #20, #00
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #c0, #0c, #30, #30
db #30, #30, #30, #30, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c0, #0c, #30, #30, #30, #30, #30, #30
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #0c, #30
db #20, #10, #30, #24, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #0c, #30, #20, #10, #30, #24
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #b0, #30, #c0, #c0, #0c
db #30, #30, #24, #58, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #b0
db #30, #c0, #c0, #0c, #30, #30, #24, #58
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a4, #18, #24, #0c, #cc, #cc, #00
db #04, #0c, #58, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #a4, #18, #24
db #0c, #cc, #cc, #00, #04, #0c, #58, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #18, #24, #48, #c0, #cc, #0c, #30
db #20, #04, #18, #70, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #18, #24, #48
db #c0, #cc, #0c, #30, #20, #04, #18, #70
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a4, #0c, #18, #34, #cc, #0c, #30
db #30, #20, #04, #18, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #a4, #0c, #18
db #34, #cc, #0c, #30, #30, #20, #04, #18
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #94, #3c, #0c, #30, #30
db #30, #24, #18, #70, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #94, #3c
db #3c, #0c, #30, #30, #20, #04, #58, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #94, #3c, #3c, #0c, #30, #30
db #20, #04, #58, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #b4, #3c
db #3c, #cc, #0c, #0c, #88, #04, #58, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #b4, #3c, #3c, #cc, #0c, #0c
db #88, #04, #58, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #cc, #cc, #d8, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #cc, #cc
db #d8, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #c0, #c0, #d8, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #c0, #c0
db #d8, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #cc, #f0, #f0, #c4, #d8, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #cc, #f0, #f0
db #c4, #d8, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #d0
db #e0, #cc, #f0, #f0, #c4, #d8, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #d0, #e0, #cc, #f0, #f0
db #c4, #d8, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a0, #14
db #68, #3c, #00, #f0, #e0, #c4, #d8, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #a0, #14, #68, #3c, #00, #f0
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a0, #04
db #1c, #3c, #00, #f0, #04, #0c, #08, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #a0, #00, #00, #00, #30, #00
db #04, #0c, #0c, #08, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a0, #00
db #00, #00, #30, #00, #04, #0c, #0c, #08
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a0, #04, #0c, #0c, #3c, #3c, #30
db #20, #04, #0c, #0c, #0c, #00, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #a0, #04, #0c
db #0c, #3c, #3c, #30, #20, #04, #0c, #0c
db #0c, #00, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #a0, #04, #0c, #0c, #0c, #30, #30
db #30, #20, #04, #0c, #0c, #0c, #0c, #50
db #f0, #f0, #f0, #f0, #f0, #a0, #04, #0c
db #0c, #0c, #30, #30, #30, #20, #04, #0c
db #0c, #0c, #0c, #50, #f0, #f0, #f0, #f0
db #f0, #a0, #00, #00, #00, #00, #00, #00
db #00, #00, #00, #00, #00, #00, #00, #50
db #f0, #f0, #f0, #f0, #f0, #a0, #00, #00
db #00, #00, #00, #00, #00, #00, #00, #00
db #00, #00, #00, #50, #f0, #f0, #f0, #f0




sprite3
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #c0, #c0
db #f0, #f0, #f0, #e0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #c0, #c0, #f0, #f0, #f0, #e0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #0c, #c0, #cc
db #c0, #c0, #c0, #84, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #0c, #c0, #cc, #c0, #c0, #c0, #84
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #30, #0c, #c0
db #cc, #cc, #c8, #84, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #84, #30, #0c, #c0, #cc, #cc, #cc, #c8
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #84, #30, #0c, #c0
db #cc, #cc, #cc, #c8, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #84, #c0, #cc, #cc, #cc, #cc, #cc, #cc
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #84, #c0, #cc, #cc
db #cc, #cc, #cc, #cc, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #cc
db #c8, #cc, #c0, #3c, #c4, #cc, #cc, #c8
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #cc, #c8, #cc, #c0, #3c
db #c4, #cc, #cc, #c8, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c4, #cc, #cc
db #cc, #cc, #3c, #3c, #68, #c4, #cc, #9c
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c4, #cc, #cc, #cc, #cc, #3c, #3c
db #68, #c4, #cc, #9c, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c4, #c8, #c4
db #cc, #cc, #3c, #00, #14, #6c, #c8, #94
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c4, #c8, #c4, #cc, #cc, #3c, #00
db #14, #6c, #c8, #94, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #c0, #c0, #c0, #c4
db #cc, #cc, #3c, #00, #14, #68, #80, #14
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #c0, #c0, #c0, #c4, #cc, #cc, #3c, #00
db #14, #68, #80, #14, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c4, #cc, #3c, #00, #14, #3c, #28, #14
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c4, #cc, #3c, #00
db #14, #3c, #28, #14, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #c0
db #c0, #0c, #0c, #3c, #2c, #0c, #0c, #0c
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #0c, #30, #0c
db #18, #30, #20, #00, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #c0
db #c0, #0c, #30, #0c, #18, #30, #20, #00
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #c0, #0c, #30, #30
db #30, #30, #30, #30, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c0, #0c, #30, #30, #30, #30, #30, #30
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #0c, #30
db #20, #10, #30, #24, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #0c, #30, #20, #10, #30, #24
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #b0, #30, #c0, #c0, #0c
db #30, #30, #24, #58, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #b0
db #30, #c0, #c0, #0c, #30, #30, #24, #58
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a4, #18, #24, #0c, #cc, #cc, #00
db #04, #0c, #58, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #a4, #18, #24
db #0c, #cc, #cc, #00, #04, #0c, #58, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #18, #24, #48, #c0, #cc, #0c, #30
db #20, #04, #18, #70, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #18, #24, #48
db #c0, #cc, #0c, #30, #20, #04, #18, #70
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a4, #0c, #18, #34, #cc, #0c, #30
db #30, #20, #04, #18, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #a4, #0c, #18
db #34, #cc, #0c, #30, #30, #20, #04, #18
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #94, #3c, #0c, #30, #30
db #30, #24, #18, #70, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #94, #3c
db #3c, #0c, #30, #30, #20, #04, #58, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #94, #3c, #3c, #0c, #30, #30
db #20, #04, #58, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #b4, #3c
db #3c, #cc, #0c, #0c, #88, #04, #58, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #b4, #3c, #3c, #cc, #0c, #0c
db #88, #04, #58, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #cc, #cc, #d8, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #cc, #cc
db #d8, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #c0, #c0, #d8, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #c0, #c0
db #d8, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #cc, #f0, #f0, #c4, #d8, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #cc, #f0, #f0
db #c4, #d8, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #d0
db #e0, #cc, #f0, #f0, #c4, #d8, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #d0, #e0, #cc, #f0, #f0
db #c4, #d8, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a0, #14
db #68, #3c, #00, #f0, #e0, #c4, #d8, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #a0, #14, #68, #3c, #00, #f0
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a0, #04
db #1c, #3c, #00, #f0, #04, #0c, #08, #50
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #a0, #00, #00, #00, #30, #00
db #04, #0c, #0c, #08, #00, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a0, #00
db #00, #00, #30, #00, #04, #0c, #0c, #08
db #00, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a0, #04, #0c, #0c, #3c, #3c, #30
db #20, #04, #0c, #0c, #0c, #00, #00, #f0
db #f0, #f0, #f0, #f0, #f0, #a0, #04, #0c
db #0c, #3c, #3c, #30, #20, #04, #0c, #0c
db #0c, #00, #00, #f0, #f0, #f0, #f0, #f0
db #f0, #a0, #04, #0c, #0c, #0c, #30, #30
db #30, #20, #04, #0c, #0c, #0c, #0c, #50
db #f0, #f0, #f0, #f0, #f0, #a0, #04, #0c
db #0c, #0c, #30, #30, #30, #20, #04, #0c
db #0c, #0c, #0c, #50, #f0, #f0, #f0, #f0
db #f0, #a0, #00, #00, #00, #00, #00, #00
db #00, #00, #00, #00, #00, #00, #00, #50
db #f0, #f0, #f0, #f0, #f0, #a0, #00, #00
db #00, #00, #00, #00, #00, #00, #00, #00
db #00, #00, #00, #50, #f0, #f0, #f0, #f0




sprite4
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #d0, #f0, #f0, #f0, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #d0, #f0, #f0, #f0
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #c0, #0c, #c0
db #c8, #c0, #c0, #c0, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #c0, #30, #0c, #c4, #cc, #cc, #c8
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #c0, #30, #0c
db #c4, #cc, #cc, #c8, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #0c, #30, #0c, #c4, #cc, #cc, #cc
db #c0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #0c, #30, #0c
db #c4, #cc, #cc, #cc, #c0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #0c, #c0, #cc, #cc, #cc, #cc, #cc
db #cc, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #0c, #c0, #cc
db #cc, #cc, #cc, #cc, #cc, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c4
db #cc, #c0, #cc, #c0, #68, #c4, #cc, #cc
db #c0, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c4, #cc, #c0, #cc, #c0
db #68, #c4, #cc, #cc, #c0, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #cc
db #cc, #cc, #cc, #3c, #3c, #68, #c4, #cc
db #3c, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c4, #cc, #cc, #cc, #cc, #3c
db #3c, #68, #c4, #cc, #3c, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c4, #c8
db #c4, #cc, #cc, #3c, #00, #14, #6c, #c8
db #3c, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #c0, #c4, #cc, #cc, #3c
db #00, #14, #68, #80, #3c, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #c0
db #c4, #cc, #cc, #3c, #00, #14, #68, #80
db #3c, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #cc, #cc, #3c
db #00, #14, #3c, #28, #3c, #c0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #e0
db #c0, #cc, #cc, #3c, #00, #14, #3c, #28
db #3c, #c0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #c0, #0c, #0c
db #3c, #2c, #0c, #0c, #0c, #0c, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #c0, #0c, #0c, #3c, #2c, #0c, #0c
db #0c, #0c, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #c0, #c0, #0c, #30
db #0c, #18, #30, #20, #00, #0c, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #c0, #c0, #0c, #30, #0c, #18, #30, #20
db #00, #0c, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #c0, #c0, #c0, #0c, #30
db #30, #30, #30, #30, #30, #0c, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #c0, #c0, #0c, #30, #20, #10, #30
db #0c, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #c0, #c0, #0c
db #30, #20, #10, #30, #0c, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #b0, #30, #c0, #c0, #18, #30, #30, #24
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #b0, #30, #c0, #c0
db #18, #30, #30, #24, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a4, #18
db #24, #0c, #cc, #cc, #00, #04, #0c, #58
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #a4, #18, #24, #0c, #cc, #cc
db #00, #04, #0c, #58, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #a4, #18, #24
db #48, #c0, #cc, #0c, #30, #20, #04, #18
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #a4, #18, #24, #48, #c0, #cc, #0c
db #30, #20, #04, #18, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #a4, #0c
db #18, #3c, #cc, #0c, #30, #30, #20, #04
db #30, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #a4, #0c, #18, #3c, #cc, #0c
db #30, #30, #20, #04, #30, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #94, #3c, #0c, #30, #30, #30, #24, #18
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #e0, #c0, #94, #3c, #3c, #0c, #30
db #30, #20, #04, #58, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #e0, #c0, #94
db #3c, #3c, #0c, #30, #30, #20, #04, #58
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #b4, #3c, #3c, #cc, #0c
db #4c, #88, #04, #58, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #b4
db #3c, #3c, #cc, #0c, #4c, #88, #04, #58
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #cc, #cc
db #cc, #d8, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #cc, #cc, #cc, #d8, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #e0, #c0, #cc, #c0
db #c4, #d8, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #e0, #c0, #cc, #c0, #c4, #d8, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #e0, #c0, #c0, #cc, #f0
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #e0, #c0
db #d0, #c0, #cc, #f0, #e0, #c4, #d8, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #e0, #c0, #d0, #c0, #cc, #f0
db #e0, #c4, #d8, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a0
db #14, #c0, #3c, #00, #f0, #e0, #84, #08
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #a0, #14, #c0, #3c, #00
db #f0, #e0, #84, #08, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #a0
db #04, #3c, #3c, #00, #a0, #04, #0c, #0c
db #00, #00, #00, #00, #00, #50, #f0, #f0
db #f0, #f0, #f0, #a0, #04, #3c, #3c, #00
db #a0, #04, #0c, #0c, #00, #00, #00, #00
db #00, #50, #f0, #f0, #f0, #f0, #f0, #a0
db #00, #00, #00, #30, #00, #04, #0c, #0c
db #0c, #0c, #0c, #08, #00, #50, #f0, #00
db #f0, #f0, #f0, #a0, #00, #00, #00, #30
db #00, #04, #0c, #0c, #0c, #0c, #0c, #08
db #00, #50, #f0, #00, #f0, #f0, #a0, #04
db #0c, #0c, #3c, #3c, #30, #20, #04, #0c
db #0c, #0c, #00, #50, #f0, #f0, #f0, #00
db #f0, #f0, #a0, #04, #0c, #0c, #3c, #3c
db #30, #20, #04, #0c, #0c, #0c, #00, #50
db #f0, #f0, #f0, #00, #f0, #f0, #a0, #04
db #0c, #0c, #0c, #30, #30, #30, #20, #04
db #00, #00, #f0, #f0, #f0, #f0, #f0, #00
db #f0, #f0, #a0, #00, #00, #00, #00, #00
db #00, #00, #00, #00, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #00, #f0, #f0, #a0, #00
db #00, #00, #00, #00, #00, #00, #00, #00
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #00
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0
db #f0, #f0, #f0, #f0, #f0, #f0, #f0, #f0




end


save'disc.bin',#1000,end-start,DSK,'sprite_sonic.dsk'
[/size]

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 16:17, 19 March 20
the results in vidéo :
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 01:23, 21 March 20
A new feature was coded : tile map


If you want to generate all tile from an image, you can execute the following command line :
Code: [Select]
martine -i mario-level1.png -w 16 -h 16 -tilemap -o Mario-level1


Martine will find all tiles from the original image, generate all uniq tiles (16 pixels width and 16 pixels height) and a map of the tiles positions in the level.
here a sample of the result of all tiles, plus an resume image (tiles map_schema.png) and a csv file of all tiles positions.
Again all treatment can be applied on all tiles (dithering, zigzag output, rle compression etc...)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 15:42, 21 March 20
Of course you can get the last release here :
https://github.com/jeromelesaux/martine/releases/tag/v0.23 (https://github.com/jeromelesaux/martine/releases/tag/v0.23)

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 15:19, 06 April 20
I would like to introduce a new feature available in Martine : delta packing.
This feature allows to create animation using this technic.


In the both archives, you will find a gif and all the script to create your own animation.


be aware that the gif format has delta between image, to convert to png you must apply this command line (imagemagick) to produce correct png :
Code: [Select]
convert giphy-5.gif -coalesce -scale 500x328 output.gif


Here the assembly code to handle delta packing data from Martine :
Code: [Select]



org #1000
run $
;--- dimensions du sprite ----
large equ 100 / 4
haut equ 40
;-----------------------------




start


    ; gestion du mode
;--- selection du mode ---------
    ld a,0
    call #BC0E
;-------------------------------




;--- gestion de la palette ----
    call palettefirmware
;------------------------------


;--- custom cls ------
ld hl,#c000
ld (hl),48 ; pixel pour clean


ld de,#C001
ld bc,#4000
ldir
;---------------------


call xvbl


;--- affichage du sprite initiale --
    ; affichage du premier sprite
    ld de,#c000 ; adresse de l'ecran
    ld hl,sprite ; pointeur sur l'image en memoire
    ld b, haut ; hauteur de l'image
    loop
    push bc ; sauve le compteur hauteur dans la pile
    push de ; sauvegarde de l'adresse ecran dans la pile
    ld bc, large ; largeur de l'image a afficher
    ldir ; remplissage de n * largeur octets a l'adresse dans de
    pop de ; recuperation de l'adresse d'origine
    ex de,hl ; echange des valeurs des adresses
    call bc26 ; calcul de l'adresse de la ligne suivante
    ex de,hl ; echange des valeurs des adresses
    pop bc ; retabli le compteur
    djnz loop
;------------------------------------


   ;call #bb06


mainloop    ; routine pour afficher les deltas provenant de martine
call xvbl
    ld hl,delta1
    call delta
call xvbl
    ld hl,delta2
    call delta
call xvbl
    ld hl,delta3
    call delta
call xvbl
    ld hl,delta4
    call delta
call xvbl
    ld hl,delta5
    call delta
call xvbl
    ld hl,delta6
    call delta


call xvbl
    ld hl,delta7
    call delta


call xvbl
    ld hl,delta8
    call delta


call xvbl
    ld hl,delta9
    call delta
call xvbl
    ld hl,delta10
    call delta
call xvbl
    ld hl,delta11
    call delta
call xvbl
    ld hl,delta12
    call delta
call xvbl
    ld hl,delta13
    call delta


call xvbl
    ld hl,delta14
    call delta


call xvbl
    ld hl,delta15
    call delta


call xvbl
    ld hl,delta16
    call delta


call xvbl
    ld hl,delta17
    call delta


call xvbl
    ld hl,delta18
    call delta


jp mainloop


;--- routine de deltapacking --------------------------
delta
 ld a,(hl) ; nombre de byte a poker
 ld (nbbytepoked),a ; stockage en mémoire
 inc hl
init
 ld a,(hl) ; octet a poker
 ld (pixel),a
 inc hl
 ld c,(hl) ; nbfois
 inc hl
 ld b,(hl)
 inc hl
;
poke_octet
 ld e,(hl)
 inc hl
 ld d,(hl) ; de=adresse
 inc hl
 ld a,(pixel)
 ld (de),a ; poke a l'adresse dans de
 dec bc
 ld a,b ; test a t'on poke toutes les adresses compteur bc
 or a
 jr nz, poke_octet
 ld a,c
 or a
 jr nz, poke_octet


 ld a,(nbbytepoked) ; reste t'il d'autres bytes a poker ?
 dec a
 ld (nbbytepoked),a
 jr nz,init
 ret






;---------------------------------------------------------------
;
; attente de plusieurs vbl
;
xvbl ld e,40
call waitvbl
dec e
jr nz,xvbl+2
ret
;-----------------------------------


;---- attente vbl ----------
waitvbl
    ld b,#f5 ; attente vbl
vbl
    in a,(c)
    rra
    jp nc,vbl
    ret
;---------------------------


;--- application palette firmware -------------
palettefirmware ; hl pointe sur les valeurs de la palette
ld a,0
ld b,0
ld c,0
call #bc32


ld a,1
ld b,10
ld c,10
call #bc32


ld a,2
ld b,3
ld c,3
call #bc32


ld a,3
ld b,9
ld c,9
call #bc32


ld a,4
ld b,13
ld c,13
call #bc32


ld a,5
ld b,6
ld c,6
call #bc32


ld a,6
ld b,16
ld c,16
call #bc32




ld a,7
ld b,26
ld c,26
call #bc32


ret
;---------------------------------------------


;---- recuperation de l'adresse de la ligne en dessous ------------
bc26
ld a,h
add a,8
ld h,a ; <---- le fameux que tu as oublié !
ret nc
ld bc,#c050 ; on passe en 96 colonnes
add hl,bc
res 3,h
ret
;-----------------------------------------------------------------




;--- variables memoires -----
pixel db 0
nbbytepoked db 0
;----------------------------




;------- data ---------------------------


include 'data.asm'






end


save'delta.bin',#1000,end-start,DSK,'delta-martine.dsk'


this code must be assembly with the famous RASM ^^.


If you have idea, questions ask in this post.



Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 15:25, 06 April 20
here the sample with vador :
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 15:35, 06 April 20
release is available here :  https://github.com/jeromelesaux/martine/releases/tag/v0.24

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: GUNHED on 17:23, 06 April 20
Awesome!!!
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 16:23, 14 April 20
I forgot to say, I added in the last release a screen board compatible with the impdraw animation new feature.
From a gif or a group of png, representing your sprite you can import them into impdraw and display edit your animation.
For instance with the previous megaman's gif, and the following command line you can get this :


Code: [Select]
Martine -animate -i myinputimage.gif -w 20 -h 20 -m 0 -o folder -dsk


where -w is the number of pixels large and -h is the number of pixels high.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 00:40, 16 April 20
I fixed a big issue in the address computing in delta mode if you choose a starting address different from #C000.
I will release tomorrow to diffuse this fix.


Sorry for this issue ^^.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 15:26, 16 April 20
The new release is here with the bug fix :
https://github.com/jeromelesaux/martine/releases/tag/v0.25


A new option has been also added, -reducer. This option allows to reduce the colors from the original image.

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: GUNHED on 15:28, 16 April 20
Great, downloading...
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 17:45, 16 April 20
just do view the fix, here are two sna for the same animation.
before avec after the fix.


Enjoy
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:11, 23 April 20
A new bug fix will come.
I fixed the text output by column.
This output allows you to import the text gfx formatted as column.
You can use it in your font conversion for instance.
I also added the same export by as json, if you want to use this export in a tool factory.
The next release will come soon.




Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:12, 23 April 20
I forgot to say I start to write the documentation (user oriented) here https://github.com/jeromelesaux/martine/blob/master/README.md
A French translation will come too.


Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: GUNHED on 13:21, 23 April 20
Great! And thank you for using English, so we all can read it.  :) :) :)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 18:20, 12 June 20
New release.
You can find it here https://github.com/jeromelesaux/martine/releases/tag/v0.26
A lot of bugs fixed, oneline and onerow (allow you to display one line or one row each).


Stay tuned, ^^


Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:16, 24 September 20
Hi all,


a new prod shows Martine animation capabilities and can be downloaded on pouet here : [size=78%]https://www.pouet.net/prod.php?which=86955 (https://www.pouet.net/prod.php?which=86955)[/size]


All code and data files (images, script) can be found on GitHub : https://github.com/jeromelesaux/autobahn-showcase


Thanks @siko for all ^^
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Arnaud on 14:41, 23 December 20
Hi,
i'm trying to convert CPC Plus Sprite Hardware with Martine and it doesn't work as i want it to.


* ship.png
(0.95 kB, 32x64 - viewed 353 times)


Code: [Select]
martine.exe ship.png -spritehard -m 1 -tile -w 16 -h 16 -o output
What i'd like, generate sprites 16x16 with HardwareSprite format with 16 colors to a text file

What i got, only of sprite 16x16 in mode 1 with 4 colors

Thanks,
Arnaud


Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 17:42, 23 December 20
Code: [Select]
Well the documentation is not complet.
the sprite hard is an option dedicated to the cpc plus so you need to add -p (for plus).
martine.exe ship.png -spritehard -m 1 -tile -w 16 -h 16 -o output -p
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Arnaud on 19:20, 23 December 20
Thanks but don't seems to work no more :

Code: [Select]
martine.exe ship.png -spritehard -m 1 -tile -w 16 -h 16 -o output -p
Here my output dir.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 21:13, 23 December 20
missing the input option -I
I never use -tile with sprite hard option I must check the behavior.



martine.exe -i ship.png -spritehard -m 1 -tile -w 16 -h 16 -o output -p
[/size]

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Arnaud on 22:42, 23 December 20
@Sid_ (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2614) Ok i can generate a sprite 16x16 (with source of the same size) but tile function is not working for now.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:46, 28 December 20
@Arnaud (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1424) you're right the tile function on sprite hard in not coded.
If such functionality interest you, tell me I will coded it.


Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:51, 28 December 20
By using tile option what do you expected ?
Do you mean the same usage as zigzag or rra option ?
You want to compile your sprite ?
What kind of treatment you want ?
I 'm interested by your usages.


Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: ComSoft6128 on 12:06, 28 December 20
Hi @Sid_ (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2614)  ,


Is there a slideshow available for this yet?
If so I would like to record it for a YT video.


Cheers,


Peter
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 13:11, 28 December 20
well it's in wip, I just coded a little intro (with Siko) for now https://www.pouet.net/prod.php?which=86955.
It's a delta mode intro ^^.


Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Arnaud on 19:06, 28 December 20
By using tile option what do you expected ?

Hi @Sid_ (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2614),
i need to convert an image (see my previous image as example) into HW Sprites arrays in C format (same behaviour as img2cpc) including the palette (in another file eventually).

An option to compress sprites or simply use 1-Byte for 2 pixels will be great.

Here an output example :

Code: [Select]
const unsigned char sprite_ship_0[] =
{
...
};
const unsigned char sprite_ship_1[] =
{
...
};
...
const unsigned char sprite_ship_7[] =
{
...
};

unsigned char* const tileset_ship[] =
{
   sprite_ship_0,
   sprite_ship_1,
..
   sprite_ship_7
};

// 0x0GRB
const unsigned word hw_sprite_palette[] =
{
0x0000,
0x02A0,
...
 }
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 19:21, 28 December 20
Martine already handle sprite and compression on sprite using -z option :

  -z int
       Compression algorithm :
          1: rle (default)
          2: rle 16bits
          3: Lz4 Classic
          4: Lz4 Raw
and pixel position in sprite like option -zigzag (same as imgcpc)


For the sprite hard (only for Amstrad CPC plus), nothing is already done. And if you wanted to apply those options on sprite hard tell me.
Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Arnaud on 19:36, 28 December 20
For the sprite hard (only for Amstrad CPC plus), nothing is already done. And if you wanted to apply those options on sprite hard tell me.

Yes it could be useful :)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 19:40, 28 December 20
features accepted :D.
I'll added those features to sprite hard.
Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:46, 29 December 20
a new release is available https://github.com/jeromelesaux/martine/releases/tag/v0.27.
Now compression and zigzag feature can be applied to all sprites format (soft and hard).


Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:01, 26 February 21
new release is available with a lot of bugs fixed :
https://github.com/jeromelesaux/martine/releases/tag/v0.28


next step will be to add some crunchers and improve rasters option.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 02:58, 20 March 21
Any chance for a ARM 64Bit binary ? Tried to compile, but I get a lot of errors (maybe because I'm not a coder myself) ......
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 00:46, 21 March 21
Yep I can do it. I’ll try tomorrow and if succeed, I’ll provide it in the next release.

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 14:23, 21 March 21
Any chance for a ARM 64Bit binary ? Tried to compile, but I get a lot of errors (maybe because I'm not a coder myself) ......



May you test this archive ?
                              martine-0.28-arm64.zip              (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm64.zip)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 20:52, 21 March 21

May you test this archive ?

Tested but it looks weird ...


Code: [Select]

sudo ./martine -i test.png -m 0 -dithering 10 -dsk
./martine: 1: ./martine: ELF: not found
./martine: 1: ./martine:  e e: not found
./martine: 1: ./martine: @W@@R0Qåte@: not found
./martine: 2: ./martine: ¨o¨oAÀoA

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 21:59, 21 March 21
Ok not good architecture I’ll try another. Sorry I don’t have a 64 bits arm to test my self.
May you type uname -a ?
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 00:38, 22 March 21
Ok not good architecture I’ll try another. Sorry I don’t have a 64 bits arm to test my self.
May you type uname -a ?


Code: [Select]

uname -a
Linux raspberrypi 5.4.73v64 #2 SMP PREEMPT Tue Nov 3 16:11:05 CET 2020 aarch64 GNU/Linux
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:18, 22 March 21
ok I tried to define the processor in the compilation command line (my bad).
This version may fix the problem : [size=78%]martine-0.28-arm-64bits.zip (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)[/size]
 (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)

R (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)egards



Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 11:33, 22 March 21
ok I tried to define the processor in the compilation command line (my bad).
This version may fix the problem : [size=78%]martine-0.28-arm-64bits.zip (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)[/size]

R (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)egards


Thx for your effort, but I get nearly the same errors like above . It writes a file, but it's not usable and has weird symbols in it. Is there a way to write an error log or something ?
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:36, 22 March 21
may you put the generated file in this post ?
The logs are printed in the console so, you may know what Martine is doing.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 12:20, 22 March 21
I cannot even add the file to an archive, since it has illegal name. I can delete it, that's all ... but anyway, it's 0 Bytes so I doubt there is useful information in it ...


But I made a screenshot of the filename ...



Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 18:23, 22 March 21
it's the archive content ?
What a hell GitHub has done.

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 18:38, 22 March 21
Nope, not inside the archive ... that one came up after I tried to start martine ...
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 22:23, 22 March 21
may you try this other archive : https://koaks.servebeer.com/cpc/martine-0.28-arm-64bits.zip
It's another location where I'm sur of the content.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 23:08, 22 March 21
Same as before .... BUT !!!!!


I tested around a bit and after setting my console to root priviliges, I'll get : cannot execute binary file exec format error
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 09:12, 25 March 21
this last version fix the issue ?

Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 09:37, 25 March 21
Sadly it doesn't ... same error as before :(
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 11:13, 27 March 21
may you do a test for me ?
Type in a terminal file /bin/ls and also on Martine executable.
If I do this on the Martine 64 bits archive I've got :



file martine
martine: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=Q-xFG4f4o2N14jF87lQL/Rb23--2UcTLGrd6A46k_/ZK2-ShduUljgH0MWq3Pu/LHViCiFrSn4iOUaY23Mu, not stripped
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: ComSoft6128 on 11:36, 27 March 21
Are there any Martine slideshows that I could record for YT?
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:27, 27 March 21
may you do a test for me ?
Type in a terminal file /bin/ls and also on Martine executable.
If I do this on the Martine 64 bits archive I've got :



file martine
martine: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=Q-xFG4f4o2N14jF87lQL/Rb23--2UcTLGrd6A46k_/ZK2-ShduUljgH0MWq3Pu/LHViCiFrSn4iOUaY23Mu, not stripped


My bad, the issue came from me and my makefile.
It is fixed and the correct archive can be found here [size=78%]martine-0.28-arm-64bits.zip (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)[/size]
 (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)



Thanks to find this issue.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:31, 27 March 21
Are there any Martine slideshows that I could record for YT?


Still in WIP
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 12:57, 27 March 21
Are there any Martine slideshows that I could record for YT?
Well if you want I can send you dsk I’ve done. But it’s one image per dsk.
Tell me and if you’re ok I’ll them to you.
Sid
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: ComSoft6128 on 15:26, 27 March 21
Hi @Sid_ (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2614) ,


Thanks for the reply. Best to wait until you have say 10 images on a .dsk and a display program/slideshow. I could probably use an existing slideshow but that is likely not to show the screens to best effect.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 18:26, 27 March 21

My bad, the issue came from me and my makefile.
It is fixed and the correct archive can be found here [size=78%]martine-0.28-arm-64bits.zip (https://github.com/jeromelesaux/martine/releases/download/v0.28/martine-0.28-arm-64bits.zip)[/size]


Thanks to find this issue.


Thx , I will test later this evening :)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: SkulleateR on 20:42, 27 March 21
@Sid_ (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2614)


Thanks for your work, works fine now on my Raspberry Pi 400 :)
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 21:11, 27 March 21
Thanks to you to point the issue.
I fixed the arm architecture for martine ^^.
Title: Re: Martine a cpc old / Plus tool to handle your images
Post by: Sid_ on 23:00, 22 April 21
ZX0 cruncher is now added in Martine.
Check the url https://github.com/jeromelesaux/martine/releases/tag/v0.29 do update your cli.


To access to this cruncher add the option -z 5 to your command line.