Bonjour à tous, alors voila ce que je vous propose, c'est un simple algorithme (à vérifier quant même) qui calcule le pointeur du pixel en haut à droite de l'écran, et plus jamais de bank switching qui est une galère pour travailler sur des hautes résolution.
Citation Envoyé par KnightsOfTheRound Voir le message
Salut,

Le bank switching est une limitation des acces a la memoire video.
En fait la memoire video est decoupée en plusieurs bank, dont la taille peut varier (4Ko>>64Ko), du coup pour les hautes resolutions qui necessitent beaucoup de memoire il faut plusieurs bank pour remplir tout l'ecran, un programme faisant cela doit savoir dans quel bank il faut ecrire en fonction des coordonnees (x,y) de ton pixel.
Alors sans plus tarder voici l'algo:
; Algo: LFB = 0x40000000+((RAM_SIZE_Go-1)*0x40000000)
;*****************************
; Si RAM == 1 Go { LFB = 0x040000000 }
;******************************+ 0x40000000
; Si RAM == 2 Go { LFB = 0x080000000 }
;******************************+ 0x40000000
; Si RAM == 3 Go { LFB = 0x0C0000000 }
;******************************+ 0x40000000
; Si RAM == 4 Go { LFB = 0x100000000 } To check

Je vous rappelle que le LFB est accessible seulement en mode vesa 32/64 bits. Ce qui veut dire que vous ne pourrez utiliser ce pointeur sur l'écran (pixel) seulement en entrant en mode 32 bits (mode protégée,...) ou 64 bits (long mode). Et d'entrer en mode graphique vesa et non vga.

Avant de vous quitter je vous ai crée des fonction utilisant ce pointeur pour dessiner à l'écran voila a++
http://wqaxs36.perso.sfr.fr/os/NASM.zip
Par contre je dois vous prévenir que mes travaux sont encore en cours de réalisation.