Author Topic: Martine a cpc old / Plus tool to handle your images  (Read 2925 times)

0 Members and 1 Guest are viewing this topic.

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
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.

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
And binaries here : https://github.com/jeromelesaux/martine/releases
A windows Gui is available here : https://index.amstrad.info/wp-content/uploads/martine/


Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129

Offline SkulleateR

  • CPC6128
  • ****
  • Posts: 207
  • Country: de
  • Liked: 118
  • Likes Given: 69
Re: Martine a cpc old / Plus tool to handle your images
« Reply #2 on: 16:24, 24 January 20 »
Sounds REALLY cool, since I´m a mac user I have to try this out ....

Offline trocoloco

  • Supporter
  • CPC6128
  • *
  • Posts: 153
  • Country: es
  • Liked: 64
  • Likes Given: 517
Re: Martine a cpc old / Plus tool to handle your images
« Reply #3 on: 18:42, 24 January 20 »
It does even create a dsk and a loader for the converted screen, nice  feature & very useful.

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #4 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.

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #5 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.

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #6 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

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.081
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 940
  • Likes Given: 2343
Re: Martine a cpc old / Plus tool to handle your images
« Reply #7 on: 21:58, 27 January 20 »
WoW! SID, that's awesome!!!  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.11.28)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #8 on: 11:55, 28 January 20 »
Thanks @GUNHED but it's a collegiate work with @siko, @tronic , @Ast and @roudoudou
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 ?

Offline tronic

  • CPC464
  • **
  • Posts: 8
  • Liked: 4
  • Likes Given: 3
Re: Martine a cpc old / Plus tool to handle your images
« Reply #9 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).

« Last Edit: 14:21, 29 January 20 by tronic »

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #10 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]

« Last Edit: 15:58, 19 March 20 by Sid_ »

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #11 on: 16:17, 19 March 20 »
the results in vidéo :

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #12 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...)
« Last Edit: 01:24, 21 March 20 by Sid_ »

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #13 on: 15:42, 21 March 20 »
Of course you can get the last release here :
https://github.com/jeromelesaux/martine/releases/tag/v0.23


Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #14 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.




Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #15 on: 15:25, 06 April 20 »
here the sample with vador :

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.081
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 940
  • Likes Given: 2343
Re: Martine a cpc old / Plus tool to handle your images
« Reply #17 on: 17:23, 06 April 20 »
Awesome!!!
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.11.28)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #18 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.

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #19 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 ^^.

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #20 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.


Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.081
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 940
  • Likes Given: 2343
Re: Martine a cpc old / Plus tool to handle your images
« Reply #21 on: 15:28, 16 April 20 »
Great, downloading...
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.11.28)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #22 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

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #23 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

Offline Sid_

  • CPC664
  • ***
  • Posts: 84
  • Country: fr
  • Liked: 76
  • Likes Given: 129
Re: Martine a cpc old / Plus tool to handle your images
« Reply #24 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