Page 1 sur 1

dcvg5k: chargement et sauvegarde de programmes

Posté : 14 mai 2018 21:45
par joaopa
Bonjour Daniel,
dans dcvg5k, les routines de chargement et de sauvegardes de programmes sont interceptées pour écrire dans un fichier.
Cependant, puisque il y a un projet de développement de roms pour VG5000, pour développer sous dcvg5k, on ne peut pas utiliser les routines en roms. Il faut donc réimplémenter ces routines et l'on perd l'interception.

Peux-tu remédier à ce problème?
Merci d'avance.

Re: dcvg5k: chargement et sauvegarde de programmes

Posté : 14 mai 2018 23:16
par Daniel
Oui, effectivement, les adresses des routines de lecture et l'écriture d'un octet cassette sont testées pour permettre à dcvg5k de lire et écrire dans une copie du fichier .k7 stockée en mémoire.

Tel que l'émulateur est conçu, le contournement du problème pourrait être relativement simple : Il faudrait fournir les adresses de ces routines en paramètres, par exemple dans les options. Je vais y réfléchir...

Re: dcvg5k: chargement et sauvegarde de programmes

Posté : 15 mai 2018 11:59
par Daniel
Si la ROM à tester est dans le fichier dcvg5k.rom (avec cette ROM sélectionnée dans les options), j'ai trouvé une solution simple :

Il y a cinq adresses à fournir :
k7read : adresse routine de lecture d'un octet cassette
k7write : adresse routine d'ecriture d'un octet cassette
k7test : adresse routine de test du debit de la cassette
k7fin : adresse de branchement en fin de cassette Basicode
k7sync : adresse routine d'envoi du signal de synchronisation

Avec les ROMs officielles (version 1.0 et version 1.1), ces adresses sont les suivantes :
k7read = 0x3b48;
k7write = 0x3aa9;
k7test = 0x3af3;
k7fin = 0x1e00;
k7sync = 0x3a81;

La version 2018.05.15 de dcvg5k (attention : non testée) recherche les adresses dans le fichier dcvg5k.rom, à la suite de la ROM.
Il suffit d'ajouter les 5 adresses binaires, soit 10 octets. Elles sont attendues dans l'ordre ou je les ai citées, octet de poids fort d'abord.
dcvg5k_20170515.zip
(171.58 Kio) Téléchargé 8 fois

Par contre, si les routines sont en RAM, je n'ai pas de solution simple à proposer. Il faut d'une part modifier les routines, d'autre part les intercepter lors du déroulement du programme. En ROM on peut les patcher une fois pour toute à l'initialisation, on est sûr qu'elles ne seront pas modifiées. En RAM tout peut changer, on n'est sûr de rien, c'est difficile à automatiser.

Re: dcvg5k: chargement et sauvegarde de programmes

Posté : 17 mai 2018 09:37
par joaopa
Désolé de t'embêter Daniel, mais ça ne serait pas possible que dvg5k lis et et écrit directement dans des fichiers WAV?

Je voudrais tester mes routines d'entrées sorties sur dcvg5k. Avec les interceptions de routines, je ne peux pas.

Re: dcvg5k: chargement et sauvegarde de programmes

Posté : 17 mai 2018 11:47
par Daniel
Tout est possible, mais il faut du temps. Dans l'immédiat je ne suis pas assez disponible pour le faire, mais je le note pour plus tard.
Sinon, n'importe quel autre programmeur peut le faire dans la version SDL de dcvg5k : http://dcvg5k.free.fr/v2/dcvg5kv2fr.html