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 18/01/2021 à 17h08

Reprise du message précédent

Yes Sir...
... Gros problèmes Edité par Ricco59 Le 18/01/2021 à 17h15


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

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 18/01/2021 à 17h19
Et pourquoi cette différence entre la taille du fichier et la taille dans main.map ? Qd je lance meisei, une des 3 lignes colorées m'indique 40ko.

Je ne pige plus. Bon je mettrai en ligne les fichiers demandés dès ce soir

Tchao


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: 2698

Le 18/01/2021 à 18h40
Oui, faut qu'on regarde ça de plus près.
Y a forcement une explication rationnelle... et une solution qui va avec. :)


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: 5484

Le 18/01/2021 à 19h22
Je sais que je n’ai pas à faire à des débutants, mais parfois (moi le premier) je me frotte à un problème qui finalement n’en est pas un...

Bref je voulais juste dire, que tu ne te fie pas à la taille de ton fichier final sur ton disque dur ?
Car il sera forcément plus grand que les octets qu’il contient réellement (clusters, secteurs tout ça ça ...)
Tu regardes bien la taille du fichier que hex2bin t’indiUes ?


banniere-ericb59e
Site web    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 18/01/2021 à 20h24
Je l'espère Guillaume

Eric, pour le fichier
- sur disque dur 36864 octets
- sa taille exacte 34132 octets

sur l'écran de démarrage de meisei, suite à la compilation, j'ai
"welcome to meisei blabla"
"slot1 : 40kb nm"
"int 50hz MSX reset"

Pas de hex2bin pour moi... je n'ai qu'un objcopy avec cette syntaxe
objcopy --input-target=ihex --output-target=binary main.ihx tmp.rom


cela viendrait-y de là ?


1000mercis les potos

A+


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

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 18/01/2021 à 20h26
voici le main.sym
Caché :
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 1.
Hexadecimal [16-Bits]

Symbol Table

.__.$$$. = 2710 L
.__.ABS. = 0000 G
.__.CPU. = 0000 L
.__.H$L. = 0000 L
0 Boucle1 311A R
0 Fin_Boucle1 312C R
0 _Aff_Levelss 0D0B R
0 _Affiche_BonusEtTimer 33AC R
0 _Affiche_Bonus_Stage 31DF R
0 _Affiche_CpC 0BCF R
0 _Affiche_GO 2AF2 R
0 _Affiche_Stick 088F R
0 _Affiche_Stick_Pause 0B57 R
0 _Affiche_Timer 2C8E R
0 _Affiche_ZeChallenge 2E36 GR
0 _Affiche_ZeMenu 17A2 GR
0 _Affiche_ZeScore3 2ED4 GR
0 _Affiche_ZeScores 10F8 GR
0 _Affiche_ZeTentative 2FD6 GR
0 _Affiche_ZeTimer 2F5B GR
0 _Affiche_ZeTimer1 11F4 GR
1 _Alea 026E GR
_Alea_val **** GX
0 _Bloc_Sprites 049C R
_Border0 **** GX
0 _Brouille_Druhl 2355 R
1 _Buffer_FindIt 01C8 GR
1 _Buffer_Player1 01BF GR
1 _CBS 001D GR
_COLORRLE **** GX
0 _Cache_FindIt 2D96 R
_Chal_Stage1 **** GX
0 _Char_Sp 027A R
0 _ChooseYName 04FD R
0 _ChooseYPass 05B8 R
0 _Construct_Nivo 34B5 R
0 _Coord_Timer 00A8 GR
0 _Coul_Cadre 35C2 R
2 _Cpt_Bon_P1 0000 GR
1 _Cpt_Bonus_Stage 001B GR
1 _Cpt_Perfect 0015 GR
_Credits **** GX
0 _CurseurSP 0344 R
_DRUHL **** GX
_DRUHL_ARCHIPELES_ARCHIPELES **** GX
_DRUHL_ARCHIPELES_COLORS **** GX
_DRUHL_ARCHIPELES_PATTERN **** GX
_DRUHL_ARCHIPELES_SPATTERN **** GX
0 _D_Crypt_Nom 023C R
1 _Diff_Dist 004F GR
1 _Dist 0050 GR
_EM_LOGO **** GX
_EM_MENU_COLOR **** GX
_EM_MENU_PATTERN **** GX
_EM_MENU_SPATTERN **** GX
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 2.
Hexadecimal [16-Bits]

Symbol Table

_Efface_Carac **** GX
0 _Efface_Ecran 32F5 R
0 _Efface_LpL_Ecr 0C46 R
0 _Fill_Buffer32 08E7 R
1 _Fin_Jeu 0061 GR
0 _FindIt 2B9A R
1 _FireBut 0270 GR
1 _FlagCliPF 0020 GR
1 _FlagPause 0038 GR
1 _FlagZeSol 0021 GR
1 _Flag_10 0041 GR
1 _Flag_9 0040 GR
1 _Flag_Aff_Perf 005E GR
1 _Flag_Bonus_Stage 001A GR
1 _Flag_Efface_Ecran 003D GR
1 _Flag_FinDecompte 0048 GR
1 _Flag_Fin_Menu 0002 GR
1 _Flag_KeyP 0019 GR
1 _Flag_Menu 005C GR
0 _Flag_Nivo 02CA R
1 _Flag_Pass 0001 GR
1 _Flag_Tempo_Bonus_Stage 001F GR
1 _Flag_challenge_stage 0042 GR
1 _Game_Over 002B GR
_Grinile **** GX
0 _Guardiians_Islands 35D6 R
1 _HiScore 002E GR
_Ile10 **** GX
0 _Init_Buffer_Matrice 310F R
0 _Init_GameMode 03CA R
0 _Init_Partie 2D41 R
0 _Init_Ufo_Ecrans 34BB R
0 _Init_Wii_Txt 0994 R
_Island **** GX
_Island_Vert **** GX
_L_Vierge **** GX
_Ligne_Inf **** GX
_Ligne_Sup **** GX
0 _Lignes_Vierges_Menu 093D R
_MENU_LOGO **** GX
0 _Menu_Affiche_Credits 16A9 GR
0 _Menu_Affiche_HiScore 1467 GR
0 _Menu_Game_Mode 1266 GR
0 _Menu_Password 1466 GR
0 _Menu_Start_Game 1465 GR
0 _Mvt_Oeil 1095 R
0 _Mvt_UFO 20E2 R
0 _Mvt_Vague 07F9 R
_NAMERLE **** GX
1 _NbCliPF 004E GR
1 _NbSSLevel 0000 GR
1 _Niv_Debut 0049 GR
1 _Niv_Fin 004A GR
1 _Oeil_ 01E0 GR
0 _Ondes_Radio 10C4 R
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 3.
Hexadecimal [16-Bits]

Symbol Table

_PATTERNRLE **** GX
0 _Pat_Mi_Cadre 35AD R
1 _PlayerOne 01DE GR
0 _Pletter_Archipel 0228 R
_Pletter_Dec **** GX
0 _Pletter_EM_LOGO 014C R
0 _Pletter_JEU 019F R
0 _Pletter_MENU 0195 R
0 _Pletter_Matrix_Island 01E8 R
0 _Pletter_TEXTE_FINAL 0232 R
1 _PressFi 0051 GR
0 _Press_Fire 3067 R
1 _Rang 01D9 GR
0 _Raster_Carac 0B03 R
_Restore_Carac **** GX
0 _Restore_Couleurs 09D1 R
_Restore_FlInf **** GX
_Restore_FlSup **** GX
0 _Restore_Ze_Couleurs 09D6 R
_Restore_apost **** GX
_Restore_point **** GX
_Restore_virgu **** GX
_Restore_wii_1 **** GX
_Restore_wii_2 **** GX
_SPATTERNRLE **** GX
1 _Score 0030 GR
_Score_Ligne_01 **** GX
1 _Score_Tabeul 01D1 GR
0 _Select_Nom 054C R
0 _Select_Pass 060F R
0 _Select_YourName 0D5C R
0 _SpritesNivo 072F R
_TEXTE_FINAL **** GX
1 _TT 01D8 GR
1 _TempoPause 0039 GR
1 _Tent_Sup1 0004 GR
1 _Tent_Sup2 0005 GR
1 _Tent_Sup3 0006 GR
1 _Tent_Sup4 0007 GR
0 _Test_FindIt_Player1 3110 GR
_Timer_Bonus1 **** GX
1 _Timer_Bonus_Score 0045 GR
0 _Type_Cadre 35AE R
1 _Ufo 01E4 GR
1 _Ufo_Ombre 01E6 GR
0 _UpdateSprites 03B5 R
1 _ValX 002A GR
1 _Valeur_Bonus 0043 GR
1 _Valeur_TB 0047 GR
_WhereII **** GX
1 _XposFI 0011 GR
1 _YposFI 0012 GR
1 _ZeCarac 003E GR
0 _ZeMenu 1B3A R
_ZeMenuIntro **** GX
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 4.
Hexadecimal [16-Bits]

Symbol Table

0 _ZePause 312D R
1 _ZePauseX 0036 GR
1 _ZePauseY 0037 GR
0 _ZeSCore 2173 R
1 _ZeSol 01E2 GR
0 _ZeSolution 302F R
0 _ZeUFO 23A1 R
1 _ZeZone 01ED GR
1 _Ze_Boucle 026D GR
1 _Ze_CORSE 01A4 GR
1 _Ze_CORSE_NAME 01AE GR
1 _Ze_Crypt_Table_Index 019E GR
1 _Ze_Crypt_Table_Ligne 019F GR
1 _Ze_Game_Speed 0016 GR
1 _Ze_Name 01A1 GR
1 _Ze_Name_Crypted 0196 GR
1 _Ze_Nivo 006A GR
1 _Ze_Scoreaconv 01BD GR
0 _Ze_Vagues 013C GR
__Cadre_Blanc **** GX
__Cadre_Gris **** GX
__Cadre_Plein **** GX
__Cadre_Rouge **** GX
__Cadre_Torsad **** GX
__Cadre_Vert **** GX
__divsint **** GX
__divslong **** GX
__divuint **** GX
__modsint **** GX
__modslong **** GX
__moduint **** GX
7 __xinit__Cpt_Bon_P1 0000 R
7 __xinit__buffer32 0001 R
2 _buffer32 0001 GR
0 _cache_sprites 0915 R
1 _challenge_score 0034 GR
1 _check1 01DC GR
1 _check2 01DD GR
1 _cntmen 0054 GR
_colors_init **** GX
1 _confjeu 0058 GR
1 _confjoy 005D GR
1 _couleurCSP 0059 GR
1 _decomp 0032 GR
_delay **** GX
1 _deplP1x 01EA GR
1 _deplP1y 01EB GR
1 _direction 004B GR
_fill_vram **** GX
1 _fin_disp 0064 GR
1 _fin_selename 0063 GR
_get_stick **** GX
_get_trigger **** GX
1 _ii 005F GR
1 _incX 0018 GR
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 5.
Hexadecimal [16-Bits]

Symbol Table

1 _index 003C GR
_init_sprites **** GX
1 _inter 01DA GR
1 _inter1 01DB GR
0 _intro_em 38FD GR
1 _inx 005B GR
_justentered **** GX
_kb_click_off **** GX
1 _level 0013 GR
1 _ligne_joy 0062 GR
0 _main 3AA8 GR
0 _onoffstick 080D R
1 _pNiv 0052 GR
1 _pNiv1 0056 GR
0 _pass 0026 GR
_passwordis **** GX
1 _presents 01E8 GR
_put_char **** GX
_put_frameB **** GX
_put_frameL **** GX
_put_vram **** GX
0 _random 0000 GR
1 _refreshMatP1 01EC GR
1 _rnd_value 026F GR
_screen_mode_2 **** GX
_screen_off **** GX
_screen_on **** GX
1 _sslevel 0014 GR
1 _tempo 0017 GR
1 _tempo1 0026 GR
1 _tempoJoy 000A GR
1 _tempoZeSol 0023 GR
1 _tempo_RT 0069 GR
1 _tempo_cursname 0065 GR
1 _tempo_xray 0009 GR
1 _tempooeil 0008 GR
1 _tempovar 01D6 GR
1 _tentative 002C GR
1 _timer_Compteur_Bonus 0024 GR
1 _timer_bonus 002D GR
1 _timer_bonus_stage 0022 GR
1 _timer_challenge_stage 0028 GR
1 _totox 004C GR
1 _totoy 004D GR
1 _touche 000B GR
1 _touche1 000C GR
1 _touche2 000D GR
1 _touche3 000E GR
1 _tract_ray 0068 GR
_txt_wii_1 **** GX
_txt_wii_11 **** GX
_txt_wii_11_1 **** GX
_txt_wii_2 **** GX
_txt_wii_3 **** GX
_txt_wii_4 **** GX
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 6.
Hexadecimal [16-Bits]

Symbol Table

_txt_wii_45 **** GX
_txt_wii_45bis **** GX
_txt_wii_45ter **** GX
_txt_wii_5 **** GX
_txt_wii_6 **** GX
_txt_wii_7 **** GX
_txt_wii_8 **** GX
_txt_wii_8_2 **** GX
_txt_wii_8_3 **** GX
_txt_wii_9 **** GX
1 _txt_x 005A GR
1 _value 01A0 GR
1 _vf 003F GR
1 _vitesse_ufo 0010 GR
1 _vitesse_vague 000F GR
1 _x_selename 0066 GR
1 _xray 003B GR
1 _xx 003A GR
1 _y_selename 0067 GR
1 _zelvl 0003 GR


ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 7.
Hexadecimal [16-Bits]

Area Table

0 _CODE size 3EE6 flags 0
1 _DATA size 271 flags 0
2 _INITIALIZED size 21 flags 0
3 _DABS size 0 flags 8
4 _HOME size 0 flags 0
5 _GSINIT size 0 flags 0
6 _GSFINAL size 0 flags 0
7 _INITIALIZER size 21 flags 0
8 _CABS size 0 flags 8



et le main.map
Caché :

ASxxxx Linker V03.00 + NoICE + sdld, page 1.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
. .ABS. 00000000 00000000 = 0. bytes (ABS,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
00000000 .__.ABS.
00000000 l__BSEG
00000000 l__BSS
00000000 l__CABS
00000000 l__DABS
00000000 l__GSFINAL
00000000 l__GSINIT
00000000 l__HEADER
00000000 l__HEAP
00000000 s__CABS
00000000 s__DABS
00000000 s__HEADER
00000000 s__HEADER0
00000010 l__HEADER0
00000021 l__INITIALIZED
00000021 l__INITIALIZER
00000273 l__DATA
0000029F l__HOME
00004010 s__CODE
00005C7A l__CODE
0000C000 s__DATA
0000C273 s__INITIALIZED
0000C294 s__HOME
0000C533 s__GSFINAL
0000C533 s__GSINIT
0000C533 s__INITIALIZER
0000C554 s__BSEG
0000C554 s__BSS
0000C554 s__HEAP

ASxxxx Linker V03.00 + NoICE + sdld, page 2.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_CODE 00004010 00005C7A = 23674. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
00004010 _random main
00004036 _pass main
000040B8 _Coord_Timer main
0000414C _Ze_Vagues main
00005108 _Affiche_ZeScores main
00005204 _Affiche_ZeTimer1 main
00005276 _Menu_Game_Mode main
00005475 _Menu_Start_Game main
00005476 _Menu_Password main
00005477 _Menu_Affiche_HiScore main
000056B9 _Menu_Affiche_Credits main
000057B2 _Affiche_ZeMenu main
00006E46 _Affiche_ZeChallenge main
00006EE4 _Affiche_ZeScore3 main
00006F6B _Affiche_ZeTimer main
00006FE6 _Affiche_ZeTentative main
00007120 _Test_FindIt_Player1 main
0000790D _intro_em main
00007AB8 _main main
00007F24 _Pletter_Dec tools
0000800B _delay tools
0000800D _Alea_val tools
00008019 _get_stick tools
0000801F _get_trigger tools
00008025 _screen_mode_2 video
00008029 _put_frameL video
0000805B _put_frameB video
0000809D _put_char video
000080C9 _fill_vram video
000080E6 _put_vram video
00008106 _init_sprites video
0000813B _screen_off video
0000813F _screen_on video
00008143 _colors_init video
00008151 _Border0 video
0000815F _kb_click_off video
00008164 _put_vram_pattern video
00008184 _EM_LOGO gfx
000081A3 _MENU_LOGO gfx
000082C7 _EM_MENU_PATTERN gfx
00008636 _EM_MENU_COLOR gfx
000086DE _EM_MENU_SPATTERN gfx
000087A5 _DRUHL_ARCHIPELES_ARCHIPELES gfx
00008845 _DRUHL_ARCHIPELES_PATTERN gfx
00008AB9 _DRUHL_ARCHIPELES_COLORS gfx
00008B5E _DRUHL_ARCHIPELES_SPATTERN gfx
00008BF4 _TEXTE_FINAL gfx
00008D37 _NAMERLE gfx
00008DB2 _PATTERNRLE gfx
0000912D _COLORRLE gfx
ASxxxx Linker V03.00 + NoICE + sdld, page 3.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_CODE 00004010 00005C7A = 23674. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
00009208 _SPATTERNRLE gfx
00009367 _Score_Ligne_01 gfx
0000937B _Credits gfx
000093C7 _ZeMenuIntro gfx
00009432 _Island_Vert gfx
00009436 _Ligne_Sup gfx
00009445 _L_Phrase1 gfx
00009454 _L_Vierge gfx
00009463 _L_Phrase2 gfx
00009472 _L_Phrase3 gfx
00009481 _L_Vierge2 gfx
00009490 _L_Phrase4 gfx
0000949F _Ligne_Inf gfx
000094AE _Chal_Stage1 gfx
000094B8 _Chal_Stage2 gfx
000094C2 _Timer_Bonus1 gfx
000094CA _Timer_Bonus2 gfx
000094D2 __Cadre_Rouge gfx
000094DA __Cadre_Blanc gfx
000094E2 __Cadre_Vert gfx
000094EA __Cadre_Orange gfx
000094F2 __Cadre_Gris gfx
000094FA _Efface_Carac gfx
000094FB _Restore_Carac gfx
00009503 _Restore_point gfx
0000950B _Restore_virgu gfx
00009513 _Restore_apost gfx
0000951B _Restore_FlSup gfx
00009523 _Restore_FlInf gfx
0000952B _Restore_wii_1 gfx
00009533 _Restore_wii_2 gfx
0000953B _WhereII gfx
0000954F __Cadre_Plein gfx
0000956F __Cadre_Torsad gfx
0000958F _passwordis gfx
0000959F _justentered gfx
000095B7 _txt_wii_1 gfx
0000964E _txt_wii_2 gfx
00009688 _txt_wii_3 gfx
0000971B _txt_wii_4 gfx
00009791 _txt_wii_45 gfx
000097AA _txt_wii_45bis gfx
000097C3 _txt_wii_45ter gfx
000097DC _txt_wii_5 gfx
00009844 _txt_wii_6 gfx
000098C3 _txt_wii_7 gfx
0000991C _txt_wii_8 gfx
0000992A _txt_wii_8_2 gfx
00009934 _txt_wii_8_3 gfx
00009940 _txt_wii_9 gfx
000099A4 _txt_wii_10 gfx
ASxxxx Linker V03.00 + NoICE + sdld, page 4.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_CODE 00004010 00005C7A = 23674. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
000099F1 _txt_wii_11 gfx
000099FE _txt_wii_11_1 gfx
00009A23 _Island gfx
00009A5A _Grinile gfx
00009A72 _Ile10 gfx
00009ADA _DRUHL gfx
00009BD1 __divuint
00009BD9 __divuchar
00009BE0 __divu8
00009BE3 __divu16
00009C12 __modschar
00009C1F __modsint
00009C2B __moduchar
00009C37 __moduint
00009C42 __divsint
00009C4B __divschar
00009C52 __div8
00009C56 __div_signexte
00009C5A __div16
00009C80 __get_remainder

ASxxxx Linker V03.00 + NoICE + sdld, page 5.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_DATA 0000C000 00000273 = 627. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000C000 _NbSSLevel main
0000C001 _Flag_Pass main
0000C002 _Flag_Fin_Menu main
0000C003 _zelvl main
0000C004 _Tent_Sup1 main
0000C005 _Tent_Sup2 main
0000C006 _Tent_Sup3 main
0000C007 _Tent_Sup4 main
0000C008 _tempooeil main
0000C009 _tempo_xray main
0000C00A _tempoJoy main
0000C00B _touche main
0000C00C _touche1 main
0000C00D _touche2 main
0000C00E _touche3 main
0000C00F _vitesse_vague main
0000C010 _vitesse_ufo main
0000C011 _XposFI main
0000C012 _YposFI main
0000C013 _level main
0000C014 _sslevel main
0000C015 _Cpt_Perfect main
0000C016 _Ze_Game_Speed main
0000C017 _tempo main
0000C018 _incX main
0000C019 _Flag_KeyP main
0000C01A _Flag_Bonus_Stage main
0000C01B _Cpt_Bonus_Stage main
0000C01D _CBS main
0000C01F _Flag_Tempo_Bonus_Stage main
0000C020 _FlagCliPF main
0000C021 _FlagZeSol main
0000C022 _timer_bonus_stage main
0000C023 _tempoZeSol main
0000C024 _timer_Compteur_Bonus main
0000C026 _tempo1 main
0000C028 _timer_challenge_stage main
0000C02A _ValX main
0000C02B _Game_Over main
0000C02C _tentative main
0000C02D _timer_bonus main
0000C02E _HiScore main
0000C030 _Score main
0000C032 _decomp main
0000C034 _challenge_score main
0000C036 _ZePauseX main
0000C037 _ZePauseY main
0000C038 _FlagPause main
0000C039 _TempoPause main
0000C03A _xx main
ASxxxx Linker V03.00 + NoICE + sdld, page 6.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_DATA 0000C000 00000273 = 627. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000C03B _xray main
0000C03C _index main
0000C03D _Flag_Efface_Ecran main
0000C03E _ZeCarac main
0000C03F _vf main
0000C040 _Flag_9 main
0000C041 _Flag_10 main
0000C042 _Flag_challenge_stage main
0000C043 _Valeur_Bonus main
0000C045 _Timer_Bonus_Score main
0000C047 _Valeur_TB main
0000C048 _Flag_FinDecompte main
0000C049 _Niv_Debut main
0000C04A _Niv_Fin main
0000C04B _direction main
0000C04C _totox main
0000C04D _totoy main
0000C04E _NbCliPF main
0000C04F _Diff_Dist main
0000C050 _Dist main
0000C051 _PressFi main
0000C052 _pNiv main
0000C054 _cntmen main
0000C056 _pNiv1 main
0000C058 _confjeu main
0000C059 _couleurCSP main
0000C05A _txt_x main
0000C05B _inx main
0000C05C _Flag_Menu main
0000C05D _confjoy main
0000C05E _Flag_Aff_Perf main
0000C05F _ii main
0000C061 _Fin_Jeu main
0000C062 _ligne_joy main
0000C063 _fin_selename main
0000C064 _fin_disp main
0000C065 _tempo_cursname main
0000C066 _x_selename main
0000C067 _y_selename main
0000C068 _tract_ray main
0000C069 _tempo_RT main
0000C06A _Ze_Nivo main
0000C196 _Ze_Name_Crypted main
0000C19E _Ze_Crypt_Table_Index main
0000C19F _Ze_Crypt_Table_Ligne main
0000C1A0 _value main
0000C1A1 _Ze_Name main
0000C1A4 _Ze_CORSE main
0000C1AE _Ze_CORSE_NAME main
0000C1BD _Ze_Scoreaconv main
0000C1BF _Buffer_Player1 main
ASxxxx Linker V03.00 + NoICE + sdld, page 7.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_DATA 0000C000 00000273 = 627. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000C1C8 _Buffer_FindIt main
0000C1D1 _Score_Tabeul main
0000C1D6 _tempovar main
0000C1D8 _TT main
0000C1D9 _Rang main
0000C1DA _inter main
0000C1DB _inter1 main
0000C1DC _check1 main
0000C1DD _check2 main
0000C1DE _PlayerOne main
0000C1E0 _Oeil_ main
0000C1E2 _ZeSol main
0000C1E4 _Ufo main
0000C1E6 _Ufo_Ombre main
0000C1E8 _presents main
0000C1EA _deplP1x main
0000C1EB _deplP1y main
0000C1EC _refreshMatP1 main
0000C1ED _ZeZone main
0000C26D _Ze_Boucle main
0000C26E _Alea main
0000C26F _rnd_value main
0000C270 _FireBut main
0000C271 _g_HeapStartAddress crt0

ASxxxx Linker V03.00 + NoICE + sdld, page 8.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_INITIALIZED 0000C273 00000021 = 33. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000C273 _Cpt_Bon_P1 main
0000C274 _buffer32 main

ASxxxx Linker V03.00 + NoICE + sdld, page 9.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_HOME 0000C294 0000029F = 671. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000C294 __modslong _modslong
0000C338 __modulong _modulong
0000C3EB __divslong _divslong
0000C4A1 __divulong _divulong

ASxxxx Linker V03.00 + NoICE + sdld, page 10.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_INITIALIZER 0000C533 00000021 = 33. bytes (REL,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
ASxxxx Linker V03.00 + NoICE + sdld, page 11.
Hexadecimal [32-Bits]

Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_HEADER0 00000000 00000010 = 16. bytes (ABS,CON)

Value Global Global Defined In Module
----- -------------------------------- ------------------------
ASxxxx Linker V03.00 + NoICE + sdld, page 12.

Files Linked [ module(s) ]

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


Libraries Linked [ object file ]

D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ divunsigned.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ _modslong.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ _modulong.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ _divslong.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ _divulong.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ modsigned.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ modunsigned.rel ]
D:\_Msx_Dev_\_Progr_MSX\SDCC\bin\..\lib\z80/z80.lib
[ divsigned.rel ]

ASxxxx Linker V03.00 + NoICE + sdld, page 13.

User Base Address Definitions

_CODE = 0x4010
_DATA = 0xc000


Edité par Ricco59 Le 18/01/2021 à 20h28


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: 5484

Le 18/01/2021 à 20h48
Ricco59 :


Pas de hex2bin pour moi... je n'ai qu'un objcopy avec cette syntaxe
objcopy --input-target=ihex --output-target=binary main.ihx tmp.rom


cela viendrait-y de là ?


Je ne sais pas ...
Mais tu peux toujours essayer avec

voici ma version
Hex2Bin.zip

hex2bin -e .com 8000 monprog.ihx

(8000 pour 32K) Edité par ericb59 Le 18/01/2021 à 20h48


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2698

Le 18/01/2021 à 20h51
Si on cumule tous les segments de ton binaire, on tombe sur :
00000010 l__HEADER0
00000021 l__INITIALIZER
00000273 l__DATA
0000029F l__HOME
00005C7A l__CODE
-----------------------------------
000061BD

Soit 25021 octets ou 24 Ko.
Donc la bonne nouvelle c'est que y a aucune "bonne" raison que ta ROM fasse plus de 32 KB :)

Bon, par contre, je vois un truc bizarre : C'est ton crt0 qui devrait linké en premier (c'est lui qui liste l'ordre dans lequel les segments doivent être placé dans ton binaire). Apparemment c'est ton main.c qui est en premier actuellement.
Ceci dit, c'est certainement pas la source de ton soucis car tous les segments que tu utilises actuellement sont quand même bien placés.

Du coup, ton problème doit venir de ta façon de généré ta ROM.
Je vais détailler ici comment je m'y prends.


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: 2698

Le 18/01/2021 à 21h01
ericb59 :
hex2bin -e .com 8000 monprog.ihx
(8000 pour 32K)


Perso, pour une cartouche 32K, j'utilise :
Code TEXT :
 
hex2bin.exe -e rom -s 4000 crt0.ihx
fillfile.exe crt0.rom 32768


L'avantage de le faire en 2 fois, c'est que hex2bin va afficher en sortie l'adresse la plus haute utiliser dans ma ROM.
Ca me permet donc de surveiller le % d'occupation actuelle de la ROM.


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

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 18/01/2021 à 21h34
Bon, j'ai essayé avec le hex2bin -e rom -s 4000 main.ihx
le fichier main.rom est bien créé et, et....

lowest adress = 00004000
highest adress = 0000c553
Pad byte = ff
8-bit checksum = 89

c553-4000= 8553 soit 34131 octets... :fou



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: 5484

Le 18/01/2021 à 22h04
Je fais la compilation en 2 fois pour être certain de linker le crt0 en premier

sdcc -c -mz80 ${prog}.c -I ${HEADER_DIR}

Sdcc -o ${prog}.ihx --code-loc ${ADDR_CODE} --data-loc ${ADDR_DATA} --disable-warning 196 -mz80 --no-std-crt0 ${CODEPRIO} ${LIB_FILE} -L ${LIB_DIR} -I ${HEADER_DIR} ${CRT0} ${INC1} ${INC2} ${INC3} ${INC4} ${INC5} ${INC6} ${INC7} ${INC8} ${INC9} ${prog}.rel


Au cas où ça aide ... Edité par ericb59 Le 18/01/2021 à 22h05


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2698

Le 18/01/2021 à 23h12
Ricco59 :
le fichier main.rom est bien créé et, et....
lowest adress = 00004000
highest adress = 0000c553


Je pense que c'est un problème de segments.
Tu dois avoir des segments qui sont censés être en RAM mais que le linker essaye de mettre dans la ROM.
Mets ton crt0 en premier ça pourrait régler le problème.
Sinon, c'est que tu as un bout de code ou une constant au delà de l'adresse C000h.
Peut-être dans le crt0. :gne


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: 2698

Le 18/01/2021 à 23h20
Code ASM :
 
    ;; Generic crt0.s for a Z80
    .globl  _main
    .area   _HEADER (ABS)
    ;; Reset vector
    .org    0x4000 ; <-------------------------------- A partir de là, les données vont en 4000h
    .db     0x41
    .db     0x42
    .dw     init
    .dw     0x0000
    .dw     0x0000
    .dw     0x0000
    .dw     0x0000
    .dw     0x0000
    .dw     0x0000
init:
    ;; Stack at the top of memory.
    ld      sp,(0xfc4a)       
    ;; Initialise global variables
    call    _main
    ;; Ordering of segments for the linker.
    .area   _CODE ; <--------------------------------- A partir de là, les données vont en 4010h (heureusement pour toi, le linker semble décaler le début du segment pour pas overlap le code qui précède)
    .area   _GSINIT
    .area   _GSFINAL
 
    .area   _DATA ; <--------------------------------- A partir de là, les données vont en C000h (il ne devrait y avoir que des allocations en RAM mais aucun code ni data const)
    .area   _BSS
    .area   _CODE
    .area   _GSINIT
gsinit::   
    .area   _GSFINAL
    ret
 


Le dernier RET de ton crt0 est dans un segment _GSFINAL qui se situe après _DATA, donc après C000h.
Il faut absolument que tu organises tes segments pour que tout ce qui doit être en ROM soit avant _DATA et tout ce qui est en RAM, après.


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: 2698

Le 18/01/2021 à 23h43
Voici l'ordre dans lequel devrait se trouver tes segments pour une ROM 32K et leur contenu :

Code ASM :
 
;======== ROM ========
.area    _HEADER (ABS) ; <--------- 4000h (via la directive .org)
    .org    0x4000
    ; Header de ROM
.area    _HOME
.area    _CODE ; <----------------- 4010h (via --code-loc 0x4010 de SDCC)
    ; Code & variable const
.area    _INITIALIZER 
    ; Valeur par défauts des variables statiques initialisés (static int myVar = 0;)
.area    _GSINIT
.area    _GSFINAL
;======== RAM ========
.area    _DATA ; <----------------- C000h (via --data-loc 0xc000 de SDCC)
    ; Variables allouées en RAM
.area    _INITIALIZED
    ; Variables statiques allouées en RAM (leur valeur par défaut va être initialisé dans le crt0)
.area    _BSEG
.area    _BSS
.area    _HEAP ; <----------------- Début de la RAM disponible
 


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: 2698

Le 19/01/2021 à 22h58
C'est tout à fait normal.
Comme avec ton ancien crt0, tu avais du code dans le segment _GSINIT et que d'après ta map, ce segment est placé à l'adresse C533h, le linker va généré du code binaire jusqu'à cette adresse (donc, ta ROM va dépasser dans la RAM... c'est qui revient à croiser les croiser les effluves : c'est mal ^^).
Ensuite, quand tu vas créer le fichier binaire avec hex2bin, il va remplir tous les trous avec des FFh (c'est sa valeur par défaut pour le remplissage mais tu peux mettre autre chose si tu veux).
En fait, ton crt0, même si je le trouve pas parfaitement propre (oui, j'aime bien les trucs qui brille :p) il devrait quand même être fonctionnel car _GSINIT est bien déclaré avant _DATA (le début de la RAM).
Donc juste ajouter ton crt0 comme premier objet à linker pourrait résoudre ton problème (pour ça, il suffit juste qu'il soit le premier dans la ligne de commande de compile/link).


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

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 19/01/2021 à 23h21
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    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie