Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-12-2005, 17:18   #1
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6598
Bootloader con Bochs

Ho scritto un piccolo bootloader che carica un kernel, il quale scrive un semplice messaggio a video. Ora, so che il bootloader deve stare nel primo settore del floppy, ed il kernel in quelli successivi. Inanzitutto, il kernel l'ho scritto in c++, compilato con il C++BuilderX. Il bootloader è in assembler e compilato con il Nasm. Credo che la procedura giusta sia inserire nel floppy prima il botloader e poi il kernel compilato, inserendo quindi il file con estensione obj. Vorrei fare il tutto con rawrite, ma non so come creare un'immagine del disco partendo da questi due file. Il tutto poi partirebbe in simulazione con il Bochs. Vi allego il kernel in c++, cosi' se c'è qualche errore potete dirmelo:

char *videomem = (char *) 0xb8000; /*da dove inizia la memoria della scheda video*/

void putc(char carattere){
*videomem++ = carattere; /*imposto il carattere*/
*videomem++ = 0x7; /*imposto gli attributi del carattere*/
}

void putstring(char *stringa){
int i = 0;
while(stringa[i]){
putc(stringa[i]);
i++;
}
}

void _start() {
putstring("Ciao ");
}
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2005, 17:56   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
C++ BuilderX? ...ehm, assicurati di aver create un eseguibile binario...
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2005, 18:00   #3
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6598
Quote:
Originariamente inviato da DanieleC88
C++ BuilderX? ...ehm, assicurati di aver create un eseguibile binario...
Non lo crea il C++builder? Pensavo fosse il file con estensione obj.
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2005, 10:19   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non so se il C++ Builder lo fa. Assicurati comunque di generare un "flat executable".
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2005, 14:02   #5
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6598
Quote:
Originariamente inviato da DanieleC88
Non so se il C++ Builder lo fa. Assicurati comunque di generare un "flat executable".
Ok,provero'. Per gli altri miei dubbi sai aiutarmi? Grazie.
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2005, 10:52   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da Unrue
Ok,provero'. Per gli altri miei dubbi sai aiutarmi? Grazie.
Per gli altri dubbi ti rispondo qui dettagliatamente, se vuoi altri chiarimenti contattami su ICQ o MSN.

Inannanzitutto: scrivere un bootloader non è facile. Bisogna rispettare dei precisi limiti (deve entrare tutto in un solo settore, quindi deve essere grande precisamente 512 byte e deve terminare con due byte, 0x55 e 0xAA) per farlo riconoscere al BIOS.
Quindi: assicurati che il bootloader sia grande 512 byte e termini con 0xAA55, poi crea un singolo file che faccia da "immagine" per il floppy (visto che usi Rawrite e C++ Builder credo tu stia usando Windows , quindi: "COPY LOADER+KERNEL IMMAGINE.BIN") e poi usa Rawrite per scriverlo su floppy. Puoi testarlo direttamente riavviando il computer, ma farlo spesso ti toglie parecchio tempo, quindi meglio se usi una virtual machine per testare il kernel.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2005, 14:41   #7
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
daniele, lui voleva semplicemente sapere come fare a creare un file contenente un'immagine "raw" del floppy da scrivere poi direttamente con rawrite
unrue, per farlo puoi semplicemente scrivere un programma che:
1) apra il file del bootloader
2) lo ricopi tale e quale nel file di destinazione (quello che conterrà l'immagine del floppy da scrivere con rawrite)
3) scriva il kernel nel file di destinazione subito dopo il primo settore
una volta fatto questo e riuscito a caricare il kernel col tuo bootloader, scoprirai che un file COFF a 32 bit non corrisponde esattamente a un binario puro...
buon lavoro
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2005, 15:58   #8
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da 71104
daniele, lui voleva semplicemente sapere come fare a creare un file contenente un'immagine "raw" del floppy da scrivere poi direttamente con rawrite
Eh, lo so. E non ti pare più facile il mio metodo ("COPY LOADER+KERNEL IMMAGINE.BIN", un banalissimo comando DOS) piuttosto che scriverti del codice apposta?

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Linux 7.0 sarà la prossima versio...
Windows 11: Copilot AI entra anche nella...
Apple apre CarPlay ai chatbot di terze p...
Horses: Santa Ragione afferma di essere ...
Nuova causa contro Tesla e maniglie elet...
MindsEye, il CEO accusa: 'Speso un milio...
TV LG NanoCell da 65 pollici a 499€: tan...
ho. Mobile, nuova offerta low-cost: 100 ...
Arrow Lake Refresh: cancellato il Core U...
AI.com venduto per 70 milioni di dollari...
RNLT Milano si veste di rosso per Cliora...
Amazon Haul rilancia: compri 2 articoli ...
Nuovi fondi pubblici per la banda ultra ...
Tutte le offerte Amazon di oggi: 5 novit...
Cyber-spionaggio globale: 37 governi nel...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v