Oppure

Loading
06/04/07 14:22
lorelapo
In realta le bellissime letterine che vediamo sullo schermo quando all'accensione del pc il nostro BIOS ci comunica di gran carriera che nessuna delle parti del nostro pc è misteriosamente distrutta o inutilizzabile si usano delle funzioni preformattate che disegnano sullo schermo dei pixel predefiniti che rappresenteranno la lettera alla fine, nelle prime versioni del OS MS-DOS si scriveva direttamente nella memoria dello schermo tutto
es.
00000000000000
01110000011100
01110000011100
01110000011100
01111111111100
01111111111100
01110000011100
01110000011100
01110000011100
00000000000000

questa potrebbe essere la rappresentazione di una possibile H standard il processo alla fin fine sarebbe char('H')->funzione print->seq di pixel per 'H'->stampa la seq di pixel un po' la piramide delle funzioni detta sopra, in modo che tutto risulti più semplice ed elegante, e soprattutto senza errori. Non conosco funzioni standard per la manipolazione dei pixel ma guardando i commenti del boot di Wizard OS ho capito che alcune funzioni sono rese disponibili dal BIOS
aaa
06/04/07 14:25
Hacker
infatti per stampare a schermo dei caratteri con relativi attributi si possono usare le INT del BIOS,e forse anche scrivendo in memoria ad un certo indirizzo(mi pare all'indirizzo 8000h od 800h)sempre il carattere con relativo attributo.
Ultima modifica effettuata da Hacker 06/04/07 14:32
aaa
06/04/07 16:34
Che Guevara
Postato originariamente da lorelapo:

In realta le bellissime letterine che vediamo sullo schermo quando all'accensione del pc il nostro BIOS ...


Infatti anche il codice ASCII è memorizzato nella scheda madre e non dipende dal sistema operativo i caratteri, il bios, tramite una int particolare, riconosce il codice del carattere e lo riproduce sullo schermo. Il problema è che non si può fare in un sistema operativo a 32bit!!! :d :d :d
aaa
07/04/07 8:41
lorelapo
Scusa non capisco dove sia il problema, cmq in Wizard OS nel boot si passa senza problemi da 16 a 32 bit per svolgere diverse operazioni, guardati boot.asm nei file del progetto c'è tutto, io non sò un fico secco di asm per cui ti posso dire solo quello che ho capito a occhio, poi non saprei dirti qualcosa di più preciso

@hacker: è l'indirizzo B8000 cioè 753664 in base 10 (o almeno credo), se guardi il boot infatti leggi che c'è un puntatore che punta proprio a quel indirizzo, cioè dove inizia la memoria dello schermo per i processori x86, o cmq tutti gli Intel.
Ultima modifica effettuata da lorelapo 07/04/07 8:47
aaa
07/04/07 10:40
Hacker
Scusa non capisco dove sia il problema, cmq in Wizard OS nel boot si passa senza problemi da 16 a 32 bit per svolgere diverse operazioni, guardati boot.asm nei file del progetto c'è tutto

quoto

@hacker: è l'indirizzo B8000 cioè 753664 in base 10 (o almeno credo), se guardi il boot infatti leggi che c'è un puntatore che punta proprio a quel indirizzo, cioè dove inizia la memoria dello schermo per i processori x86, o cmq tutti gli Intel.

Sì,mi ero sbagliato;)
Ultima modifica effettuata da Hacker 07/04/07 15:42
aaa
07/04/07 12:27
Che Guevara
Sicuri? Allora la differenza è nessuna fra disegnare sullo schermo a 16bit o 32bit?
Grazie per i chiarimenti!!! :k: :k: :k:
aaa
07/04/07 15:49
Hacker
16 e 32bit sono modalità di gestione della memoria,che puoi utilizzare per vari scopi come disegnare sullo schermo.
Bisogna adattarsi a seconda dello scopo.
Ultima modifica effettuata da Hacker 08/04/07 10:18
aaa
07/04/07 20:35
lorelapo
Se cambia la dimensione della memoria cambia si il modo in cui il processore leggera la stessa, decidi cosa fare con 16 e cosa 32 bit
aaa