Quand pancez-vous?
Quand pancez-vous?
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.
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.
Je pense que tu n'as pas tord.....Lukky a écrit :Moi j'en pense que tu devrais moins fumer.
Idem pour le développement d'un OS.
JL

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?
salut,
olive, quand tu dit que quelqu'un à pas tor tu parle de ki?
olive, quand tu dit que quelqu'un à pas tor tu parle de ki?
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...
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 malPolo 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...
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 !!

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



Dernière modification par Backup le sam. 11/juin/2005 17:47, modifié 1 fois.
il y en à du code!
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!
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!
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]
[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]