Live cd omf

Soyez le premier à donner votre avis sur cette source.

Vue 8 112 fois - Téléchargée 958 fois

Description

la source comprends contient principalement un loader que j'ai un peu amélioré avec:
un debut de driver v86 qui permet d'utiliser les fonction ebios
un semblant de gestion filesystem
un shell simple qui appelle les fonctions directement.
un linker qui permet de lier des objets omf en dynamique
divers autres trucs

je considere que c'est un live-cd car vous pouvez batcher le tout dans un fichier. la commande do permettra d'executer le batch. et vous pouvez ainsi lier dynamiquement vos fichiers omf (y'a quelques restrictions quand meme) les references cycliques sont gérées.

vous trouverez plus d'information dans le fichier readme a la racine du cd ou du source.

commandes du shell:
link filename
; lie un objet
mrep mm/lo|mm/hi|mm/sys|mm/heap|mm/share|mm/code0|mm/code3
;affiche le memory mapper
exit
; redemarre l'ordinateur
dr
; dump registres
dm adresse en HEXA taille en DECIMAL
; dump memoire
dd drive en HEXA secteur en DECIMAL
; dump drive
dt adresse en HEXA
; dump tss
fstab
; affiche les partitions
mount fsname
; monte une partition
do filename
; execute un fichier de commandes
load filename
; charge un fichier en memoire
ddr
; dump debug registres
dr0..dr3 HEXA
; donne une valeur a dr0..dr3
dr6
; affiche dr6
dr7 HEXA
; donne une valeur a dr7
dico linker
; affiche les mots connus du linker
start objname
; lance la procedure start d'un objet.
chrono nb fois en decimal funcname
; chronometre l'execution d'une fonction
(on chronometre pas nb fois mais l'appel de nb fois)

les prochaines ameliorations viendront avec le codage de la smk. Puisque cela m'obligera a ameliorer les modules du loader qui devraient etre les memes que ceux de la smk au final.

bon courage a tous et @++

Conclusion :


merci a Sajaris, sans son intervention sur le torito loader, ce projet serait resté à l'abandon...
je vous disais bien que cela sentait le live-cd

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_patatalo
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1 -
oh oh,

je l'ai testé sur un vrai ordi, ça marche pus...

c'est pas bien grave, c'est le registre fs ou gs qui doit prendre une mauvaise valeure vers le v86 je suppose.

Faudrait sauver fs et gs puis les restaurer correctement et modifier les ISS en consequence.

Je viens de trouver un bug de l'ordinateur virtuel MS, il ne teste pas la valeure des segments en mode protégé, il doit attendre leur utilisation pour les signaler mauvais, ce que ne fait pas un vrai cpu.

@++
cs_patatalo
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1 -
a premiere vue, c'est plus complexe que ça mais c'est bien le module v86 qui fait des siennes et qui ne retourne que des 0 lors des lectures.

dans le gestionnaire de mémoire virtuelle, il est possible de supprimer pgtd, seuls pgd et pgmap sont utilisés pour mapper l'ensemble donc c'est bien le déplacement de 1 DWORD et non de 2 qui permet le swap des 4Mo.

ce code ne sera pas mis a jour car les versions suivantes utiliseront plutot une methode de switch thread plutot similaire au ShedTest.

@++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.