MSX Village forum

La Place des Développeurs Asmsx par un noob #4, création et affichage des décors le réveil de l'osaure...

MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 22/03/2019 à 21h30
:lol /\/\/\ ALERTE DETERRAGE!!! /\/\/\:lol

Je reprends mes posts sur la programmation en asm.

Petit état des lieux, on avait vu:
Créer et afficher un sprite
déplacer un sprite à la manette
orienter et animer le sprite
recherche sur la façon de créer le décor

depuis…
j'ai changé la totalité des graphisme et du principe de jeu en reprenant ceux de Drop
le jeu intègre les décors créer avec nMSXtiles (voir recherche sur la façon de créer le décor)
le jeu peut afficher différents niveau suivant les déplacements du personnage.

je n'ai pas eu de mal à récupérer mes graphismes au format .SC2 avec nmsxtiles, j'ai sauvegardé (une seule bank) les tiles en format .bin, un fichier patron .chr et un fichier couleur .col que j'ai compressé avec RLEpack fourni avec asmsx. La compression RLE de nmsxtiles n'étant pas compatible avec le "depack Vram" fourni avec asmsx.


Intégration des tiles



Intégration des fichiers


Juste un .INCBIN avec une étiquette parlante.
Code ASM :
;
; définition des tiles
TIL_PATRON:
.INCBIN"drop02.bin.chr.rle"
;
; couleur des tiles
TIL_COULEUR:
.INCBIN"drop02.bin.clr.rle"
;


Appel de la routine de décompression


Après un nettoyage écran, on appelle la routine de décompression en mettant dans HL la source, et DE l'adresse en Vram. on boucle 3 fois sur bank_t(et c): pour remplir les 3bank
Code ASM :
;
; vidange écran
    xor a                          ;tiles 0 qui sera pris qui provoque un flash vert au début
ld    hl,NAMTBL                    ;
ld    bc,256*8*3                    ; nombre de tiles à mettre pour remplir l'écran
call    FILVRM       
;définition des tiles
        ld        b,3                ; 3 comme le nombre de bank
        ld      de,CHRTBL        ; on charge la valeur de l'emplacement de la table de caractère
bank_t:
    push    bc
    push    de
        ld      hl,TIL_PATRON    ; on charge le'emplacement des données des tiles
        ld      bc,64*32
        call     DEPACK_VRAM
    pop        hl
    pop        bc
    ld      de,256*8            ; on incrémente de pour passer au bank suivant
    add        hl,de
    ex        de,hl
djnz    bank_t                    ; on boucle pour les 3 bank
;couleur des tiles
        ld        b,3
        ld      de,CLRTBL        ; on charge la valeur de l'emplacement de la table de couleurs
bank_c:
    push    bc
    push    de
        ld      hl,TIL_COULEUR
        ld      bc,64*32
        call     DEPACK_VRAM
    pop        hl
    pop        bc
    ld      de,256*8
    add        hl,de
    ex        de,hl
djnz    bank_c


le sous programme de décompression


C'est celui fourni par asmsx, il y a peut être mieux...
Code ASM :
;
;------------------------------------------------------
DEPACK_VRAM:; Décompresse les données compressées avec RLEpack de RAM a VRAM
;------------------------------------------------------
;
; Paramètres:
;    HL=adresse des données compressées
;    DE=adresse où sont envoyées les données
; 
ex de,hl
call SETWRT
ex de,hl
@@LOOP:
ld a,[hl]
inc hl
cp 0C0h
jr c,@@SINGLE
and 3Fh
inc a
ld b,a
ld a,[hl]
inc hl
@@DUMP:
out [98h],a
djnz @@DUMP
jr @@LOOP
@@SINGLE:
ld c,a
or [hl]
ld a,c
ret z
ld b,1
jr @@DUMP;


à suivre la mise en place des niveaux et les passages de l'un à l'autre...


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 23/03/2019 à 09h04
Ha!!!!! MSXosaure, super, la série continue :)

ça serait bien de mettre toute cette série à la suite dans des articles du wiki, non ?

Par exemple j'avais fait quelques pages ici : http://msxvillage.fr/wiki/wiki.php?title=pratique-de-l-assembleur-sur-msx
On pourrait faire un wiki "Asmsx par un noob" :hum ^^
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5570

Le 23/03/2019 à 09h12
nmsxtile n'est plus dispo sur le lien du précédent article.


banniere-ericb59e
Site web    
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 23/03/2019 à 09h26
@Sylvain: Je vais voir avec les autres admin pour créer des sous dossiers asm, compileur C, Basic, etc. dans le coin des développeurs pour faciliter les recherches

@ericb59: Lien nmsxtiles


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 23/03/2019 à 09h26
@Sylvain: Je vais voir avec les autres admin pour créer des sous dossiers asm, compileur C, Basic, etc. dans le coin des développeurs pour faciliter les recherches

@ericb59: Lien nmsxtiles


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 23/03/2019 à 09h38
MSXosaure :
@Sylvain: Je vais voir avec les autres admin pour créer des sous dossiers asm, compileur C, Basic, etc. dans le coin des développeurs pour faciliter les recherches


Oui, et si c'est possible, je ne sais pas quel est la meilleure présentation, il faudrait que les informations du Wiki soient présentées de façon plus claire et synthétique. Je pense qu'il n'y a pas beaucoup de personnes qui arrivent à trouver les renseignements qu'ils souhaitent actuellement ?
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5570

Le 23/03/2019 à 14h14
sylvain :
qu'il n'y a pas beaucoup de personnes qui arrivent à trouver les renseignements qu'ils souhaitent actuellement ?


Je confirme ! :siffle


@msxosaure : Merci ! Cool il y a une version Mac !


En question subsidiaire : Quels autres logiciels connaissez vous pour créer/gerer des tileset ? Pas forcément dédié MSX, mais qui pourraient servir...

Je cherche aussi les logiciels dédiés au graphisme BitMap 8bits
(Tout ça de préference en multiplateforme) Edité par ericb59 Le 23/03/2019 à 14h28


banniere-ericb59e
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10737

Le 23/03/2019 à 17h44
j'ai trouvé ça c'est light mais facile a comprendre
https://make8bitart.com/


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10737

MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 23/03/2019 à 18h28
@ericb69 il y a TileStudio qui a l'air pas mal




Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie