Accueil > Forum > > > > boot system
boot system
Echange clos, plus de réponse possible sur cet échange
lundi 9 avril 2007 à 21:09:32 |
boot system

henri12
|
salut je viens de trouver ce code qui permer de lancer un fichier sur une disquettr a: exemple system je voudrais qu il me lance le jeu pong sur a: j ai deja essayer en mettant le org 7E00H comme dans system le jeu demarre pas .model tiny .CODE ORG 7E00H START: jmp debut
; boot secteur info
BootSecteur_FAT12 db 59 dup (?) ; BootSecteur_FAT16 db 59 dup (?) ; BootSecteur_FAT32 db 87 dup (?) ; BootSecteur_NTFS db 81 dup (?)
;=================================================================== afficheball proc near ; affiche la baballe (x,y)-> (bx,ax), couleur=cl,ch
mov dx,320 ; di=bx+ax*320 mul dx add ax,bx mov di,ax
mov es:[di-320],cl mov es:[di-1],cl mov es:[di+1],cl mov es:[di+320],cl mov es:[di],ch ret afficheball endp ;=================================================================== ;=================================================================== ;=================================================================== ;=================================================================== ;===================================================================
debut: cld ;initialisation mode graphique
mov AX,13h int 10h
mov ax,0a000h ; init variable mov es,ax mov ds,ax
;=================================================================== ; affichefond
mov di,320*8 mov cx,6 mov al,1Fh bord1: push cx mov cx,320 rep stosb pop cx sub al,02h loop bord1
mov es:[di],320*14 mov es:[di],1715h mov es:[di+2],1B19h mov es:[di+4],1F1Dh
mov es:[di+320-6],1D1Fh mov es:[di+320-4],191Bh mov es:[di+320-2],1517h
mov si,320*14 mov di,320*15 mov cx,320*184 rep movsb
;===================================================================
mov si,64000 ; si pointe vers les données mov ax,00A0h mov es:[si],ax ; position de la raquette mov es:[si+2],ax ; position X mov es:[si+4],ax ; position Y mov es:[si+6],word ptr(0103h) ; vitesse VX,VY mov es:[si+8],word ptr(0028h) ; longueur raquette ; mov es:[si+10],word ptr(0000h) ; points
xor bx,bx mov cx,128 tracepal: mov es:[si+12+bx],cl inc bx loop tracepal
;************************ boucleprincipale: ; boucle principale
;=================================================================== mov bx,es:[si+2] mov ax,es:[si+4]
push bx push ax
; efface la balle
xor cx,cx call afficheball
pop ax pop bx
mov cx,es:[si+6] ; faible=vx, fort=vy ; 1=-1 3=1 push cx
sub bx,2 ; x=x+-1 xor ch,ch add bx,cx
pop cx cmp bx,311 ; collision avec me mur de droite jb ok_bord3 ; non, on continue mov cl,1 ; oui, on inverse la vapeur!!! ok_bord3:
cmp bx,8 ; collision avec me mur de gauche ja ok_bord1 ; non, on continue mov cl,3 ; oui, on inverse la vapeur!!! ok_bord1:
sub ax,2 ;y=y+-1 add al,ch cmp ax,15 ; collision avec me mur d'en haut ja ok_bord2 ; non, on continue mov ch,3 ; oui, on inverse la vapeur!!! ok_bord2:
mov es:[si+2],bx ; sauvegarde x, y, vx,vy mov es:[si+4],ax mov es:[si+6],cx
mov cx,0e06h call afficheball ;===================================================================
; traitememt de la raquette ; efface la raquette
mov di,320*195+6 mov cx,308 xor al,al rep stosb
; affiche raquette mov cx,es:[si+8] push cx mov ax,es:[si] push ax
add ax,195*320 mov di,ax mov si,64000+45
rep movsb mov si,64000
;===================================================================
pop dx ; bouge la raquette mov ah,02h ; recupere l'etat du clavier int 16h and al,3 ; seulement les touches shifts pop cx ; recupere la longueure de la raquette cmp al,1 ; si byte 1, on bouge à droite jne pas_a_droite ; non => pas_a_droite add cx,dx cmp cx,312 ; on regarde si ca passe ja pas_a_droite ; non => pas_a_droite add dx,2 ; oui, on avance de 2 pas_a_droite:
cmp al,2 ; si byte 2, on bouge à gauche jne pas_a_gauche ; non => pas_a_gauche cmp dx,7 ; on regarde si ca passe jb pas_a_gauche ;non => pas_a_gauche sub dx,2 ; oui, on recule pas_a_gauche:
mov es:[si],dx ; on sauve la position
mov ax,dx ; ax=position de la raquette mov bx,es:[si+2] ; bx=X mov cx,es:[si+4] ; cx=Y mov dx,es:[si+6] ; dx=vx,vy ; cas au niveau de la raquette
cmp cx,195 ; si c'est pas en bas, on ne traite pas la collision avec la raquette jne suiteboucle
cmp ax,bx ; a gauche de la raquette? ja fin ; oui => fin
add ax,es:[si+8] cmp ax,bx ; a droite de la raquette? jb fin ; oui => fin
; ni a gauche, ni a droite, alors rebond
mov es:[si+7],byte ptr 1 ; sauve vy=1
inc word ptr es:[si+10] ; on ajoute un point
mov ah,02h ; on affiche les points xor bh,bh mov dx,0012h ; a la position ligne 0, colonne 12 int 10h
mov ax,es:[si+10]; decompose les points push ax
mov bx,10 ; sur 5 chiffres mov cx,5 decomp: xor dx,dx div bx push dx loop decomp
mov cx,5 xor bl,bl
affpt: pop ax add ax,30h mov ah,0Eh inc bl int 10h loop affpt
pop cx and cx,3 ; on diminue la raquette que tout les 4 points jnz suiteboucle
cmp word ptr es:[si+8],8 ; raquette plus petite que 8 jb suiteboucle ; oui, on continue sub word ptr es:[si+8],2 ; non, on la diminue suiteboucle:
; attend le retour vertical du rayon catodique mov dx,3dah pause: in al,dx test al,08h jz pause
jmp boucleprincipale
fin:
jmp debut
END START
|
|
lundi 9 avril 2007 à 22:38:34 |
Re : boot system

henri12
|
je pense donc que c est impossible de lancer un jeux sous un boot
sans avoir charger le dos
mais est il possible de charger le dos en utlisant la technique de dessus
|
|
lundi 9 avril 2007 à 22:42:09 |
Re : boot system

henri12
|
pouquoi ne fabrique t on pas un dos qui se charge en meme temps que le bios dans une eeprom et qu on peut mettre a jour
|
|
lundi 9 avril 2007 à 22:51:16 |
Re : boot system

henri12
|
ou peut on trouver les codes sources asm d un chargement dun dos a partir d une disquette
du boot jusqua la ligne de commande
ça serait interessant
|
|
jeudi 12 avril 2007 à 20:47:08 |
Re : boot system

BLUEBIBUBBLE
|
NON, l'interruption 10h (Video) et 16h (Clavier) font partie du BIOS, elles sont déjà là avant MS-DOS. MS-DOS n'est indispensable que si le programme appelle l'interruption 21h !!! Ce qui n'a pas l'air d'être le cas...
Par contre j'ai des doutes sur l'addresse 7E00h, de tête il me semble plutôt que le boot soit charger en 7C00h (mais pas sûr, à vérifier)
|
|
jeudi 12 avril 2007 à 20:55:23 |
Re : boot system

BLUEBIBUBBLE
|
Pour que le boot soit bootable, ces deux derniers octets doivent contenir: AA55h Soit à l'addresse 510 !
|
|
vendredi 13 avril 2007 à 00:01:46 |
Re : boot system

PCPT
|
limite foutage de gueule quand même... tout est encore dans le thread principal mais les doublons se cumulent.... clos Prenez un instant pour répondre à ce sondage svp 
|
|
Cette discussion est classée dans : mov, ax, cx, bx, di
Sujets en rapport avec ce message
afficher un pixel [ par oclone ]
hello, j'aimerais faire une librairie graphique en c++ mais pour cela il faut deja que je puisse afficher un point, j'ai pensé que la meilleur solutio
ERREUR DE SEGMENTATION en asm [ par tahsgh ]
salam; jai le code suivant ----------------------------------------- global main SECTION . text main :
[ASM] Que la vie était simple sous MS-DOS 16 bits (scan mémoire physique) [ par dogloop ]
J'ouvre ce topic pour essayer de mieux comprendre quelles sont les différentes façons pour accéder à toute la RAM (et aussi peut être la ROM) de mon P
problem en asm [ par tahsgh ]
salam, j'ai le code suivant: ; bubble sort and swap subroutines saving and restoring registers ;[org 0x0100] jmp start data: dw
Affichage décroissant et alphabétique de 2 listes(Nom_Prénom et Note) [ par m_didi9 ]
[code=autre]Data SEGMENT Mess1 DB 10,13, 'Entrez la liste des Noms :' DB 10, 13, '$' Mess2 DB 'Entrez la liste des Notes :' DB 10, 13, '$' Mess3
Affichage [ par AMENO ]
Cher amis aidez moi, c'est une partie de mon examen de noel. et je suis bloquerenfin il 'sagit d'un programme que l'on doit entrer jsuqu a 32 caracter
pb mov [di+si], [bx+si] [ par nicographx ]
bonjourj'ai un problème : je cherche à faire une instruction de typemov [di+si], [bx+si]mais je ne voit pas comment faire, il me ressort toujours la m
MOV CX,ES:[DI] ??? [ par Arnaud16022 ]
hello tout le monde question de newbie, je comprends pas cette command: MOV CX,ES:[DI] bon le mve ca va, le CX itou, mais apres ca coince... plus géné
Probleme ds mon code ki peut m aider?? [ par Gillouille ]
voila l'objectif de ce programme c est de comparer deux fichiers de longueur differente et d'y trouver tt les éléments commun kelke soit leur position
Modifer le vecteur d'interruptions [ par vecchio56 ]
Bonjour J'essaie de refaire la source http://www.cppfrance.com/code.aspx?ID=33558 en assembleur (ca consiste à modifier la routine de l'interruption 0
Livres en rapport
|
Derniers Blogs
WP7 5K BELGIUM CHALLENGEWP7 5K BELGIUM CHALLENGE par junarnoalg
Microsoft Belgique a le plaisir de vous annoncer le lancement du
Challenge Windows Phone 7
. Celui-ci se déroule du 12 juillet au 30 novembre 2010 et vous donne l'opportunit...
Cliquez pour lire la suite de l'article par junarnoalg LES MONADES POUR LES NULSLES MONADES POUR LES NULS par mdufourneaudravel
Avec l'annonce de F#, je me suis intéressé de plus en plus à la programmation fonctionnelle, je suis donc rapidement tombé sur les " monades ", mais malgré la lecture de plusieurs articles, j'étais resté perméable à leur concept. C'est désormais fini, grâ...
Cliquez pour lire la suite de l'article par mdufourneaudravel [WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Crystal Report (11)CRYSTAL REPORT (11)Crystal Reports est un outil de reporting souple et puissant, vous pouvez très facilement consult... Cliquez pour télécharger Crystal Report Academy System (12.0.2.0)ACADEMY SYSTEM (12.0.2.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft iPod Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPOD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPod Vidéo Convertisseur est un outil puissant de conversion d'iPod, facile à utiliser. ... Cliquez pour télécharger Xilisoft iPod Vidéo Convertisseur 6 Xilisoft iPhone Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPHONE VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPhone Vidéo Convertisseur est le meilleur logiciel de conversion iPhone qui peut facile... Cliquez pour télécharger Xilisoft iPhone Vidéo Convertisseur 6 Xilisoft iPad Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPAD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Il s'agit d'un logiciel polyvalent pour convertir les formats vidéo/audio populaires en formats p... Cliquez pour télécharger Xilisoft iPad Vidéo Convertisseur 6
|