[k7][VG5000] Comment autobooter un binaire?
Modérateurs : Papy.G, fneck, Carl
[k7][VG5000] Comment autobooter un binaire?
Salut tout le monde!
J'aimerais rendre mon jeu CROSS CHASE bootable. Je sais produire un binaire raw ou un k7 qui ne boote pas automatiquement.
Pour le rendre bootable (comme sugeré par Sergio Max) je peux le sauvegarder avec une ligne de BASIC avec la commande CALL avec CSAVEM.
Moi, j'aimerais faire tout cela automatiquement (sans passer par le BASIC et sans faire des manips manuelles)
en rajoutent le bon header au binaire raw.
Par exemple, je vois que la structure du format .k7 est:
D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 4D 58 43 48 41 53 45 00 31 30 00 00 00 00 00 00 D4 49 E0 2E 0A FB D6 D6 D6 D6 D6 D6 D6 D6 D6 D6
suivi par le binaire raw et où E0 2E = $2EE0 = taille du binaire raw.
Je ne comprend pas les deux octets qui suivent: 0A FB? C'est une checksum? Comment les calculer?
Fabrizio
J'aimerais rendre mon jeu CROSS CHASE bootable. Je sais produire un binaire raw ou un k7 qui ne boote pas automatiquement.
Pour le rendre bootable (comme sugeré par Sergio Max) je peux le sauvegarder avec une ligne de BASIC avec la commande CALL avec CSAVEM.
Moi, j'aimerais faire tout cela automatiquement (sans passer par le BASIC et sans faire des manips manuelles)
en rajoutent le bon header au binaire raw.
Par exemple, je vois que la structure du format .k7 est:
D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 4D 58 43 48 41 53 45 00 31 30 00 00 00 00 00 00 D4 49 E0 2E 0A FB D6 D6 D6 D6 D6 D6 D6 D6 D6 D6
suivi par le binaire raw et où E0 2E = $2EE0 = taille du binaire raw.
Je ne comprend pas les deux octets qui suivent: 0A FB? C'est une checksum? Comment les calculer?
Fabrizio
- Mokona
- Messages : 1042
- Inscription : 17 déc. 2016 22:01
- Localisation : Nord Est des Yvelines
- Contact :
Re: [k7][VG5000] Comment autobooter un binaire?
Hello,
oui c'est un checksum
D'après la documentation
00 - File Type
01-06 - Filename
07 - Version number
08-12 - Start line number in ASCII
13 - "Protection" flag
14-15 - Position de calcul du checksum (?)
16-17 - Start address
18-19 - Data length
20-21 - Checksum
Je n'ai pas vu dans la doc comment calculer la somme de contrôle. Si personne n'a la réponse, je pourrai aller fouiller dans la ROM.
oui c'est un checksum
D'après la documentation
00 - File Type
01-06 - Filename
07 - Version number
08-12 - Start line number in ASCII
13 - "Protection" flag
14-15 - Position de calcul du checksum (?)
16-17 - Start address
18-19 - Data length
20-21 - Checksum
Je n'ai pas vu dans la doc comment calculer la somme de contrôle. Si personne n'a la réponse, je pourrai aller fouiller dans la ROM.
Re: [k7][VG5000] Comment autobooter un binaire?
Bonsoir,
J'ai fait il y a quelques années un petit article sur le sujet, disponible sur http://vg5000bazar.free.fr.
Le checksum, c'est une "simple" somme des octets de données du fichiers (sans tenir compte du header de 42 octets ni des 10 octets de fin (qui de toute façon sont à 0 ).
J'ai fait il y a quelques années un petit article sur le sujet, disponible sur http://vg5000bazar.free.fr.
Le checksum, c'est une "simple" somme des octets de données du fichiers (sans tenir compte du header de 42 octets ni des 10 octets de fin (qui de toute façon sont à 0 ).
Re: [k7][VG5000] Comment autobooter un binaire?
@Markerror, somme mais modulo $10000?
Re: [k7][VG5000] Comment autobooter un binaire?
@all
Le BASIC du VG-5000 commence exactement à partir de 18941? Je ne trouve pas cette info...
Fabrizio
Le BASIC du VG-5000 commence exactement à partir de 18941? Je ne trouve pas cette info...
Fabrizio
- Carl
- Modérateur
- Messages : 13296
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: [k7][VG5000] Comment autobooter un binaire?
Hervé a écrit ceci "La plupart des jeux commerciaux du VG5000 sont en assembleur mais sont lancés par le BASIC avec une commande CALL. Je suppose que cette technique est censée pallier le fait qu'il n'y a pas dans le header d'adresse d'exécution pour un fichier binaire."Re: [k7][VG5000] Comment autobooter un binaire?
Oui, j'avais vu cette image qui ne repond pas à ma question...
Moi, j'ai besoin de connaitre l'addresse du debut du BASIC.
txttab on le calcule comment?
Moi, j'ai besoin de connaitre l'addresse du debut du BASIC.
txttab on le calcule comment?
- Mokona
- Messages : 1042
- Inscription : 17 déc. 2016 22:01
- Localisation : Nord Est des Yvelines
- Contact :
Re: [k7][VG5000] Comment autobooter un binaire?
Tu peux trouver la valeur de txttab en $488E (sur deux octets)
Re: [k7][VG5000] Comment autobooter un binaire?
Donc $488e donne 18940 comme valeur (small endian).
Quand est-ce que cette valeur change?
Quand est-ce que cette valeur change?