PETIT MOTEUR 3D EN ASM X86\VESA SOUS HACKOS

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 15 oct. 2011 à 21:53
 Utilisateur anonyme - 28 juin 2012 à 11:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53683-petit-moteur-3d-en-asm-x86-vesa-sous-hackos

Utilisateur anonyme
28 juin 2012 à 11:23
Bonjour, heureux de vous retrouver après une période de geek intense sur wow ^^
Voila alors dites moi ce que vous pensez de ma nouvelle source, comme ça je saurais qu'il y a des gens qui intéressent à ce que je fait :)

a++
Utilisateur anonyme
25 oct. 2011 à 15:34
Bounjour tout le monde :)
Suite a la MAJ du 25/10/2011, vous constaterez que l'executable de "affiche-curseur.asm" est toujours en 16 bits :(
Ainsi pour m'aider a le mettre en 32 ou 64 bits pouvez-vous me donner un ou des exemples de source ? Svp

je vous en serez reconnaisant, merci :)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 oct. 2011 à 10:51
J'ai oublié de préciser que je ne traite que le mode protégé.

Quelques grosses différences:
- Passage des params.
- Alignement correct de RSP.
- Obligation de continuer avec FPU pour tant de calculs.
etc...
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
18 oct. 2011 à 23:02
Je ne suis pas d'accord avec ça. Le mode 32 bits inclu le mode protégé du processeur. Il y a une énorme différence entre le mode réel et le mode protégé. Le 64 bits entraîne beaucoup moins de différence mais j'ai peut-être raté quelque chose.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 oct. 2011 à 08:57
Salut,
je ne voudrais pas abuser mais démarrer du 32 bits fin 2011 est quasi aussi obsolète que du 16 bits.
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
17 oct. 2011 à 11:35
citation:
Sinon saurais-tu passer du code 16 bits au 32 bits.
fin de citation

L'expérience && été tenté par plus d'une personne,la conclusion est toujours la même,il vaut mieux réécrire tout.
Pourquoi ?.L'évolution du système entre le 16 bits et le 32 est tel que l'on perd son temps a essayé de raprocher les deux.
Utilisateur anonyme
17 oct. 2011 à 10:54
Merci pour ton conseil Patatalo :)
Sinon saurais-tu passer du code 16 bits au 32 bits.
STP
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
17 oct. 2011 à 00:14
D'ailleurs, ton entourage peut également t'aider à traduire pour commencer. Si tu es etudiant, ton prof d'anglais sera certainement ravi de t'aider ou un autre prof qui aura des connaissances en anglais.
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
17 oct. 2011 à 00:07
Si tu ne connais pas l'anglais, c'est l'occasion de s'y mettre ;-) (ça sera de plus en plus facile).

Même si tu ne comprends pas tout, il y a des choses qui seront plus liées à la programmation qu'à l'anglais (structures, valeures, ...). Mets y toi le plus tôt possible car tu trouveras toujours plus de docs en anglais qu'en français. Plus le domaine est pointu, plus c'est vrai.

@++
Utilisateur anonyme
16 oct. 2011 à 21:02
Désolé je n'avais pas vu ton message PATALO(oubli de rafraichissement lol :p )
Sinon, merci pour l'url :) malheureusement ne parlant pas la langue de Shakespeare. Connaitrai tu un tuto sur le mode vesa 3.0 ?
merci de vouloir m'aidai (Faut dire que c'est la 1ere fois que je discute en ligne :)

@++
Utilisateur anonyme
16 oct. 2011 à 20:45
Merci pour ces infos ToutEnMasm :)
Et pour revenir sur mon programme. Connait-tu les manip pour passer de VESA 2.0 à VESA 3.0 ?

@++
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
16 oct. 2011 à 20:26
re,

Ici, tu trouveras la doc VESA 3.0. Il est indiqué dedans comment faire les appels VESA en mode protégé.

www.jnode.org/uploads/vbe3_0.pdf

@++
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
16 oct. 2011 à 19:22
L'info manquante existe en masm sous forme d'un fichier systeme modele ,modifiable facilement.
Celui ci se trouve dans mon ide (Modeles standards) et peut etre içi parmi mes sources.
En nasm,il faut chercher.
sinon http://neitsabes.free.fr/ASM/KMD/KMDindex.htm
Utilisateur anonyme
16 oct. 2011 à 12:56
Personne! :o
Bon OK,alors pouvez vous me donner idée de ce que peut être précisément le frame buffer et comment écrire dedans ?
SVP
Utilisateur anonyme
16 oct. 2011 à 11:46
Merci ToutEnMasm pour cette info.
Juste après avoir lu ton message j'ai désassembler un fichier système "videoprt.sys" qui semble être le support pour communiquer avec la c.g .
Et j'ai remarqué que ce fichier utilise très souvent le mnémonique 'out' (servant a écrire sur un port).Ceci juste pour te dire qu'il est faisable de le faire.
Sinon, si tu as des infos sur les *.sys (et si possible leur code-source)je suis preneur.
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
16 oct. 2011 à 10:55
citation:
Je te remercie de la recherche que tu a fait. Mais je n'utilise pas(et je ne veux pas!)utilisé des fonctions déjà toute faite. Ex:l'api Windows setpixel() ou getpixel().
Findecitation:
Désolé alors , mais le système a bien évolué depuis le 8086 et il faut passer par un fichier système devant lui même répondre aux besoins des api pour obtenir un resultat utilisable avec les systèmes et machines actuels.
Il n'y a pas d'autre choix.
Utilisateur anonyme
16 oct. 2011 à 09:37
Bonjour, ToutEnMasm.

Je te remercie de la recherche que tu a fait. Mais je n'utilise pas(et je ne veux pas!)utilisé des fonctions déjà toute faite. Ex:l'api Windows setpixel() ou getpixel().

En quelque sorte je veux refaire la roue comme certains disent. Et tout ca en assembleur :)
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
16 oct. 2011 à 09:11
La remarque sur le 32 bits me parait Ô combien judicieuse.
Après 30 s de recherche parmi les Api comportant pixel dans leur nom,j'ai trouvé:
(GetPixel et SetPixel répondent à la question)
BitBlt
CreateBitmap
CreateBitmapIndirect
CreateCompatibleBitmap
CreateDIBitmap
CreateDIBSection
CreateDiscardableBitmap
ExtFloodFill
FloodFill
GetBitmapBits
GetBitmapDimensionEx
GetDIBColorTable
GetDIBits
GetPixel
GetStretchBltMode
LoadBitmap
MaskBlt
PatBlt
PlgBlt
SetBitmapBits
SetBitmapDimensionEx
SetDIBColorTable
SetDIBits
SetDIBitsToDevice
SetPixel
SetPixelV
SetStretchBltMode
StretchBlt
StretchDIBits
Utilisateur anonyme
15 oct. 2011 à 23:41
aprés + de 2H de recherche ......
Salut,patatalo et merci pour ton conseille.
Mais je donne ma langue au chat :( ca commence a faire long 2H sans rien trouver!!) pourrait tu me donner le code-source en 32 bits :p
SVP
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
15 oct. 2011 à 21:53
salut,

Je te conseille vivement de travailler en 32 bits sinon, tu pourras mettre ton projet à la corbeille avant même qu'il soit fini.

Le VESA permet de travailler en 32 bits sans problèmes.

@++
Rejoignez-nous