CUBE 3D EN ROTATION / MODE GRAPHIQUE VGA 13H / DJGPP

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 2 août 2004 à 17:32
cs_gorgonzola Messages postés 37 Date d'inscription samedi 16 mars 2002 Statut Membre Dernière intervention 21 février 2015 - 27 août 2004 à 21:44
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/25101-cube-3d-en-rotation-mode-graphique-vga-13h-djgpp

cs_gorgonzola Messages postés 37 Date d'inscription samedi 16 mars 2002 Statut Membre Dernière intervention 21 février 2015
27 août 2004 à 21:44
je dis 'space' et 'escape', pas 'espace' !
sinon désolé je vois vraiment pas d'où vient le problème :-/
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
6 août 2004 à 00:22
Ouais okkéé merci pour ce renseignement, que j'ai bcp cherché :)
J'ai réussi à installer DJGPP :) et à compiler ton prog; tout marche impec sauf quand j'appuie sur ESPACE. Dans l'aide de ton prog, tu dis que quand on appuie sur "space" ça remplit les faces et que quand on appuie sur "espace" ça quitte, alors le prog fait les 2 :p Je vois les faces se remplir pendant un très court moment avant qu'il quitte avec un message qui fait pas plaisir sur la console, je cite :

Stack Fault at eip=00001b80
eax=00000000 ebx=000085a4 ecx=0000041c edx=000a0020 esi=000227d8 edi=000ab0d8
ebp=00000001 esp=000ab0f0 program=F:\DOWNLO~2\CPPFRA~1\CUBEVG~1\CUBE.EXE
cs: sel=00a7 base=85a4e000 limit=000affff
ds: sel=00af base=85a4e000 limit=000affff
es: sel=00af base=85a4e000 limit=000affff
fs: sel=00bf base=00000000 limit=0010ffff
gs: sel=00bf base=00000000 limit=0010ffff
ss: sel=00af base=85a4e000 limit=000affff
App stack: [000ab178..0002b178] Exceptn stack: [0002b0d4..00029194]

Call frame traceback EIPs:
0x00001b80

Je suis sous Win98.
Si tu pouvais avoir une idée d'où ça vient...
cs_gorgonzola Messages postés 37 Date d'inscription samedi 16 mars 2002 Statut Membre Dernière intervention 21 février 2015
4 août 2004 à 16:40
en fait je crois que sous Windows (ou autre OS en mode protégé), tu ne peux pas accéder directement à la mémoire, tu dois demander une 'autorisation'. Donc avec Turbo Pascal ou Turbo C++ ou en ASM, sous un OS 32 bits tu ne pourras pas accéder directement à la memoire video à l'adresse A000:0000 sinon le programme plantera. Mais ici j'utilise DJGPP, qui est un compilateur 32 bits, et j'appelle la fonction _farsetsel(_dos_ds) qui permet d'accéder à la mémoire. Je ne peux pas faire un truc du genre "char* buffer=0xA0000000" comme avec Turbo C par contre.
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
4 août 2004 à 10:36
J'ai pas DJGPP donc je peux pas compiler, mais j'ai une question : quand et comment est-ce que c'eest possible de s'adresser directement à la mémoire, de faire des interruptions...etc sous Windows?
En fait j'ai un vieux bouquin, "PC interdit : le meilleur programmation jeux 3D" qui utilise Pascal, l'ASM et un truc qui s'appelle le Mode X mais les exes plantent sous Windows :/

Voilà, si tu pouvais m'éclaircir un peu sur le sujet merci ;)
cs_gorgonzola Messages postés 37 Date d'inscription samedi 16 mars 2002 Statut Membre Dernière intervention 21 février 2015
3 août 2004 à 13:51
Voila j'ai rajouté une capture et un zip.
J'ai également rajouté la possibilité d'enregistrer l'image en PCX (vu que j'en avais besoin pour faire la capture).
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
2 août 2004 à 23:32
Oula, dsl j'avais pas vu ke ct DJGPP le compilo..Serait kan mm bien un exe et une capture...

++
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
2 août 2004 à 23:10
Pas de zip, pas de capture...???!!!
C'est la moindre des choses pour une source de cette taille qui en plus est une source graphique!

Shell
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
2 août 2004 à 17:32
Ne compile pas avec TurboC, mank go32.h et sys/farptr.h...

Si tu pouvais preciser le compilo a utiliser, puis une ptite capture pour voir ce ke ca donne si tu peu ;)

++
Rejoignez-nous