La Place des Développeurs Asmsx par un noob #4, création et affichage des décors le réveil de l'osaure...
/\/\/\ ALERTE DETERRAGE!!! /\/\/\
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.
Juste un .INCBIN avec une étiquette parlante.
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
C'est celui fourni par asmsx, il y a peut être mieux...
à suivre la mise en place des niveaux et les passages de l'un à l'autre...
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 ... ou presque
Visiteur
Vagabond
Message : 0
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"
ç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"
@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
@ericb59: Lien nmsxtiles
Le MSXien le plus à l'ouest ... ou presque
@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
@ericb59: Lien nmsxtiles
Le MSXien le plus à l'ouest ... ou presque
Visiteur
Vagabond
Message : 0
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
sylvain :
qu'il n'y a pas beaucoup de personnes qui arrivent à trouver les renseignements qu'ils souhaitent actuellement ?
Je confirme !
@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
j'ai trouvé ça c'est light mais facile a comprendre
https://make8bitart.com/
https://make8bitart.com/
Le MSXien le plus à l'ouest ... ou presque
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie