MSX Village forum

La Place des Développeurs Mes 1ers pas sur MSX ...

Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 19/01/2021 à 23h21

Reprise du message précédent

Bon les ptits gars, je crois que ca y est

mon compile.bat

@echo off
set path=%path%;D:\_Msx_Dev_\_Progr_MSX\SDCC\bin

sdasz80 -o crt0msx.s

sdcc -mz80 -c --oldralloc mes_sources\video.c
sdcc -mz80 -c --oldralloc mes_sources\tools.c
sdcc -mz80 -c --oldralloc mes_sources\gfx.c
sdcc -mz80 -c --oldralloc mes_sources\main.c

sdcc -mz80 -o main.ihx --oldralloc --code-loc 0x4010 --data-loc 0xc000 -mz80 --no-std-crt0 crt0msx.rel video.rel tools.rel gfx.rel main.rel

hex2bin.exe -e rom -s 4000 main.ihx
pause;

D:\_Msx_Dev_\_Progr_MSX\meisei\meisei.exe D:\_Msx_Dev_\wii\main.rom



le main.map

crt0msx.rel [ crt0 ]
video.rel [ video ]
tools.rel [ tools ]
gfx.rel [ gfx ]
main.rel


le fichier main.rom fait dorénavant 24394 octets

info du hex2bin
lowest adress 00004000
highest adress 00009f49


Merci à vous les zamis
Grace à vouzotte, je vais pouvoir poursuivre ;)
Edité par Ricco59 Le 19/01/2021 à 23h30


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 20/01/2021 à 00h07
Tout semble parfait :top


On est toujours ignorant avant de savoir.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 20/01/2021 à 07h50
C’etait quoi le problème finalement ?


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 20/01/2021 à 18h20
J'ai pas forcement toutes les infos, mais de ce que je comprends, le problème venait du fait que le crt0 n'était pas linké en premier et que du coup les segments étaient mal ordonnés.
Du coup, y a du code qui se retrouvé au delà de l'adresse de la RAM et hex2bin générait un binaire incorrect.


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 20/01/2021 à 20h34
L'ancienne version de mon compile.bat avait pour effet de ne pas linker les fichiers dans le bon ordre. C'était linké comme ca

main.rel [ main ]
crt0.rel [ crt0 ]
tools.rel [ tools ]
video.rel [ video ]
gfx.rel [ gfx ]

lorsque je dumpais le main.rom (taille du fichier = 34131 octets : de 0x4000 à 0xc553) j'ai vu une zone vierge remplie de 0xff faisant 0x2609 octets (9737o).
Il y avait des données de 0x4000 à 0x9c89 et de 0xc294 à 0xc553. hex2bin a comblé le vide avec des octets.
Pourquoi la dernière partie est allée se greffer si loin au lieu de 0x9c8a ? pour l'instant je n'en sais absolument rien si ce n'est que ma procédure de compilation n'était pas la bonne...


J'ai ensuite procédé comme tu avais fait Eric (compilation), et là, tout est rentré dans l'ordre et le linkage était comme ca

crt0.rel [ crt0 ]
video.rel [ video ]
tools.rel [ tools ]
gfx.rel [ gfx ]
main.rel [ main ]


Il va falloir qu'en plus du MSX, du C, du décryptage des fichiers .map .sym .*** que je m'intéresse au batch ;)
Il y a encore du boulot ;)

Merci encore à vous 2
Bonne soirée


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 21/01/2021 à 06h06
Ricco59 :


Il va falloir qu'en plus du MSX, du C, du décryptage des fichiers .map .sym .*** que je m'intéresse au batch ;)


batch, Shell, Makefile, Python, et j'en passe et des meilleurs :lol On a jamais fini d'apprendre :top



banniere-ericb59e
Site web    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 21/01/2021 à 16h59
C'est tellement vrai :top


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 21/01/2021 à 20h09
Moi je me demande surtout si une seule vie y suffira !
Par précaution j'en ai précommandé une nouvelle :D Edité par ericb59 Le 21/01/2021 à 20h09


banniere-ericb59e
Site web    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 24/01/2021 à 10h21
avec le confinement qui s'annonce, je ne sais pas si le livreur pourra se déplacer :lol

Nombre aléatoire

j'ai l'impression que R ne suffit pas pour faire un 'bon' nombre aléatoire.
Existe-t-il une fonction permettant de lire la position du balayage ?

Comment determinez-vous vos nombres aléatoires

ex: rnd(valeur de debut, valeur de fin) ?

Tankiou so beaucoup

Bon dimanche les zamis

Eric


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 24/01/2021 à 10h28
moi j'utilise ceci :

Code C :
 
#define             RealTimer()  (*(unsigned int *)0xFC9E)  
char FT_RandomNumber (char a, char b)
{
    char random;
 
    random = rand()%(b-a)+a;  
    return(random);
}
void main(void) 
{
    char n,i;
    srand(RealTimer());              // use current clock seconds as seed in the random generator
    for(i=0;i < 10; i++)
    {
        n=FT_RandomNumber(1,101);     // Choose random number between 1 and 100 
        printf("%d,",n);
    }
 
    Exit(0);
}
 
Edité par ericb59 Le 24/01/2021 à 10h30


banniere-ericb59e
Site web    
Ricco_59 Membre non connecté

Vagabond

Rang

Avatar

Inscrit le : 26/02/2021 à 09h10

Messages: 1

Le 26/02/2021 à 09h15
Salut les zamis,

Voici la WIP03 de 'Where is it ?"
Il me reste encore du travail, mais c'est pas trop mal parti
n'hésitez pas à me faire vos commentaires ;)
A+
Eric

WIP03 - Wii? sur MSX

aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 26/02/2021 à 09h52
Je vais répété ce que j'ai dis sur MRC, mais je trouve ça vraiment super ! :top
J'aime beaucoup l'attention que tu portes aux détails : tout est propre, tout semble fonctionnel.
Seul (petit) défaut de mon point de vue, c'est qu'autant ton lettrage est stylé, autant je trouve la lettre "T" vraiment pas lisible.
En tout cas, ça donne très envie d'essayer ton jeu ; ce qui est très bon signe. :D

Tu as prévu des mécaniques de jeu pour faire évoluer le challenge au fur et à mesure des parties ?
L'intérêt dépend surtout du nombre d'heures de jeu que tu prévois au total et s'il y a un risque de monotonie à force d'enchainer les parties.
En tout cas, voici quelques idées en vrac :
- Un niveau en noir & blanc (on joue que sur les formes)
- Un niveau qu'avec des couleur unies (pas de dessin)
- Un niveau avec le pattern à trouver qui est tourné de 90°, 180° ou -90°
- Un niveau qui scroll de temps en temps (juste un décalage horizontal ou vertical des tuiles) pour que le joueur perde ses repères

Ca pourrait juste être des niveaux "boss" à la fin de chacune de tes 10 îles.


On est toujours ignorant avant de savoir.
Github    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 26/02/2021 à 10h06


Tu utilises des sprites pour certains textes de ton menu ?
Je vois plus de 3 couleurs par ligne dans un bloc 8x8.


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 26/02/2021 à 22h20
Merci Aoineko ;)

Ca a l'air d'être tout bon (reconnexion au compte)

Pour en revenir à la question ci-dessus, oui, j'utilise le sprite comme un pochoir :)
tu peux en voir d'autres dans la table des scores
J'ai aussi utilisé le bit early clock pour le mode story (vaisseau arrivant de la gauche)

Dans le descriptif, j'ai mis un 'chapitrage' qui permet de voir les différents niveaux
easy utilise une quinzaine de figures
normal utilise une quinzaine d'autres figures
hard pareil
mix mèle les pièces de easy+normal+hard

en mode story, sur la 10e ile, toutes les pièces sont blanches ;)

le chapitrage
00:11 game mode - arcade EASY
00:45 entering Challenge Stage
02:24 level 02 - round 01

02:47 entering CHALLENGE STAGE
04:26 RESET
04:39 game mode - arcade NORMAL
05:03 entering CHALLENGE STAGE
06:38 RESET
06:52 game mode - arcade HARD
07:15 entering CHALLENGE STAGE
08:40 RESET
08:54 game mode - arcade MIX
09:21 entering CHALLENGE STAGE
10:54 RESET
11:07 game mode - STORY
11:11 Story mode introduction
11:36 landing on the first island of 'M33' archipelago
11:44 RESET
11:55 menu, hiscore, credits
12:46 end :)


Merci encore pour avoir, une fois de plus debloqué ce pb de connexion

Eric





Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2694

Le 26/02/2021 à 22h41
Si tu as besoin de testeur, je suis chaud ;)


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 27/02/2021 à 21h25
No problemo Aoineko, je te tiens au jus ;)

Salut les potos,

Y-a-t-il un moyen visuel pour voir le temps machine que prend routine ? (sur amiga, on mettait un trait au copper d'une couleur avant la routine et après celle-ci, on remettait la couleur de fond. On avait donc une barre de couleur plus ou moins épaisse qui symbolisait le temps machine que prenait cette routine). Tout ça pour vous demander si


ld hl,vram+coordX+coordY*32
ld a,code du tile à afficher
call WRTVRM

est moins rapide que

ld hl,vram+coordX+coordY*32
ld a,code du tile à afficher
PUSH AF
DI
LD A,L
OUT (#0x99),A
LD A,H
AND #0x3F
OR #0x40
OUT (#0x99),A
EI
POP AF
OUT (#0x98),A


en relisant, je pense meme faire ça


ld hl,vram+coordX+coordY*32

PUSH AF
DI
LD A,L
OUT (#0x99),A
LD A,H
AND #0x3F
OR #0x40
OUT (#0x99),A
EI
ld a,code du tile à afficher
POP AF
OUT (#0x98),A


je sais que je gagne quelques octets en saut et retour mais c'est négligeable ou c mieux ?

Merci :)

ps : pour info, depuis hier, j'ai ajouté la gestion des couleurs du cadre en fonction du niveau de difficulté et, en mode story après l'affichage caractère / caractère, j'efface ligne / ligne comme sur coleco :)

Edité par Ricco59 Le 27/02/2021 à 21h26


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie