Page 1 sur 2

Quand pancez-vous?

Publié : sam. 11/juin/2005 5:23
par meganet
Salut,
je vais faire un jeu de baston en 3d avec des potes et je voulais savoir si je ne pourrai pas faire mon proppre noyau sur cd-rom pour éviter le piratage du jeu en écrivant dans le secteurs de boot sertain code en assembleur qui ne ce copirai pas car interprété lors de la lecture.
Je ne c'est pas comment cela passerai au niveau des utilisateur en gros, pas besoin de windows, juste besoin du cd-rom et de botter dessu!
Vous en pencez koi?
C'est trop hard ou pas?
Merci de bien vouloir donner votre avis.

Publié : sam. 11/juin/2005 9:26
par Oliv
ça peut être bien, mais niveau prtection je ne suis pas sur...... Par contre çe serait TRES dur à mon avis

Publié : sam. 11/juin/2005 9:35
par Lukky
Moi j'en pense que tu devrais moins fumer.

Idem pour le développement d'un OS.

JL

lol

Publié : sam. 11/juin/2005 9:43
par meganet
lol salut!
Pour le jeu c'était juste une hidée mais c'est vrai que ça crai chaud.
Mais pour l'os, c'est faisable!

Publié : sam. 11/juin/2005 9:53
par Oliv
Lukky a écrit :Moi j'en pense que tu devrais moins fumer.

Idem pour le développement d'un OS.

JL
Je pense que tu n'as pas tord..... :lol:
A au fait Maganet, jétais tombé là-dssus il y a longtemps, ça renvoi vers des sites qui peuvent t'être utiles, bonne chance :
http://www.developpez.net/forums/viewto ... highlight=
http://www.developpez.net/forums/viewto ... ?p=1211781

qui c'est qui à pas tor?

Publié : sam. 11/juin/2005 10:03
par meganet
salut,
olive, quand tu dit que quelqu'un à pas tor tu parle de ki?

Publié : sam. 11/juin/2005 10:09
par Oliv
De lukky :wink:
Il va falloir beaucoup de temps pour que ton "OS" soit exploitable, donc pour y intégrer un jeu 3D........

Publié : sam. 11/juin/2005 10:59
par nico
C'est très impressionnant, mais la question qu'on se pose tous; c'est ton cursus de programmateur l'est-il autant.

En même temps, pour y croire il faudrait que nous même on se mette à fumer!

Commence par poster du code sur le Forum dans un premier temps!

:)

Publié : sam. 11/juin/2005 11:03
par Polo
L'idée est bonne, mais pas réalisable.
Enfin, à part si tu est un boss, je vois pas comment tu compte faire, si tu veux créer le jeu en Purebasic, il faudrait en plus que tu émule toutes les API windows, que tu utilises le format pe de windows, etc...
A toi tout seul, tu vas avoir du mal, faut une grosse équipe de pro pour faire ça, et plusieurs années...

Publié : sam. 11/juin/2005 13:12
par Oliv
Polo a écrit :L'idée est bonne, mais pas réalisable.
Enfin, à part si tu est un boss, je vois pas comment tu compte faire, si tu veux créer le jeu en Purebasic, il faudrait en plus que tu émule toutes les API windows, que tu utilises le format pe de windows, etc...
A toi tout seul, tu vas avoir du mal, faut une grosse équipe de pro pour faire ça, et plusieurs années...
Et même plus, il y a un projet d'OS compatible windows, je ne sais plus son nom mais, pour le moment ils sont entrain d'essayer de faire fonctionner les applications de NT4 et avec beaucoup de mal

Publié : sam. 11/juin/2005 16:47
par Backup
moi je sais que ce mec raconte des conneries , car lorsqu'on s'exprime comme lui avec une faute a chaques mots , bref ,ça sens le manque d'ecole

et mem Django qui a appris a jouer de la guitare en ecoutant des vieux vinils
n'a jamais cherché a faire un OS !! :D :lol: :lol:

Publié : sam. 11/juin/2005 16:55
par gansta93
:oops:

Publié : sam. 11/juin/2005 17:31
par Oliv
Argh, ça fait plusieurs fois que j'y pense et personne ne l'a fait (ça m'étonne de toi Dobro) : Pour répondre à la question je pance entre 8 heures et 21 heures, c'est tout :oops:




:jesors:

il y en à du code!

Publié : sam. 11/juin/2005 18:58
par meganet
Du code il y en a sur mon forum.
Mais bon je vais aussi le mettre ici!

Voilà le code de boottsect.asm ou http://serveur.site-meganet.com/os/boot/bootsect.asm.

%define BASE 0x100 ; 0x0100:0x0 = 0x1000
%define KSIZE 1

[BITS 16]
[ORG 0x0]

jmp start
%include "UTIL.INC"
start:
mov [bootdrv],dl ; recuparation de l'unite de boot

; initialisation des segments en 0x07C0
mov ax,0x07C0
mov ds,ax
mov es,ax
mov ax,0x8000 ; stack en 0xFFFF
mov ss,ax
mov sp, 0xf000

; affiche un msg
mov si,msgBoot
call afficher

; charger le noyau
xor ax,ax
int 0x13

push es
mov ax,BASE
mov es,ax
mov bx,0
mov ah,2
mov al,KSIZE
mov ch,0
mov cl,2
mov dh,0
mov dl,[bootdrv]
int 0x13
pop es

; initialisation du pointeur sur la GDT
mov ax,gdtend ; calcule la limite de GDT
mov bx,gdt
sub ax,bx
mov word [gdtptr],ax

xor eax,eax ; calcule l'adresse lineaire de GDT
xor ebx,ebx
mov ax,ds
mov ecx,eax
shl ecx,4
mov bx,gdt
add ecx,ebx
mov dword [gdtptr+2],ecx

; passage en modep
cli
lgdt [gdtptr] ; charge la gdt
mov eax,cr0
or ax,1
mov cr0,eax ; PE mis a 1 (CR0)

jmp next
next:
mov ax,0x10 ; segment de donne
mov ds,ax
mov fs,ax
mov gs,ax
mov es,ax
mov ss,ax
mov esp,0x9F000

jmp dword 0x8:0x1000 ; reinitialise le segment de code


;--------------------------------------------------------------------
bootdrv: db 0
msgBoot db "Chargement du noyau et passage en 32 Byte. Veuillez patianter...",13,10,0

;--------------------------------------------------------------------
gdt:
db 0,0,0,0,0,0,0,0
gdt_cs:
db 0xFF,0xFF,0x0,0x0,0x0,10011011b,11011111b,0x0
gdt_ds:
db 0xFF,0xFF,0x0,0x0,0x0,10010011b,11011111b,0x0
gdtend:

;--------------------------------------------------------------------
gdtptr:
dw 0 ; limite
dd 0 ; base


;--------------------------------------------------------------------
;; NOP jusqu'a 510
times 510-($-$$) db 144
dw 0xAA55

Et voilà le code du noyau karnel32.asm ou http://serveur.site-meganet.com/os/karnel/karnel32.asm.
[BITS 32]
[ORG 0x1000]

; Affichage d'un message par ecriture dans la RAM video
mov byte [0xB8000],'B'
mov byte [0xB8001],0x57
mov byte [0xB8002],'O'
mov byte [0xB8003],0x57
mov byte [0xB8004],'N'
mov byte [0xB8005],0x57
mov byte [0xB8006],'J'
mov byte [0xB8007],0x57
mov byte [0xB8008],'O'
mov byte [0xB8009],0x57
mov byte [0xb8010],'U'
mov byte [0x8011],0x57
mov byte [0x8012],'R'
mov byte [0x8013],0x57
mov byte [0x8014],'!'
mov byte [0x8015],0x57

end:
jmp end

"Se code ne fait rien que boucler et afficher un message mais c'est juste un code de teste je suis entrain de bosser sur le nouveau"!

C'est code son fait en suivant la sintaxe du compilateur nasm.
Que vous pouvez télécharger ici (avec tout les fichier néssécert à c'est code): http://serveur.site-meganet.com/os/compilateur.zip.
Voilà!

Et pour le jeu c'était juste une hidée que finalement je vais lesser tomber!

Publié : sam. 11/juin/2005 19:13
par gansta93
Une question sans importance, mais pourquoi karnel ?
[edit]Si c là-bas que tu stoque touts les fichiers de l'OS, ça serait bien que l'on ait autre chose qu'un 404 quand on fait http://serveur.site-meganet.com/os/ comme ça on peut mieux voir l'avancée du projet.[/edit]