Ciao raga, forse sarò un poco OT xrò...
Problema: devo copiare un floppy che ha delle tracce in dos ma altre no! ke cakkio devo fare x poterlo copiare??? PLEZE HELPPP!!!
CIAUZ e GRAZIE
Ciao raga, forse sarò un poco OT xrò...
Problema: devo copiare un floppy che ha delle tracce in dos ma altre no! ke cakkio devo fare x poterlo copiare??? PLEZE HELPPP!!!
CIAUZ e GRAZIE
Ai tempi in cui si programmava in DOS c'èra un header <bios.h> che ti permetteva di fare quello che dici, ovvero la copia a basso livello, settore per settore.
Su un sistema protetto devi usare le funzioni del kernel, le funzioni documentate del kernel di windows sono sull'msdn.
grazie Andrea, ci do un'occhiata e poi ti so dire. Ciao
Da quello che ricordo di C e assembler (li usavo molto in accoppiata, una volta... ahh la nostalgia) devi copiare cluster per cluster... Questa tecnica che vuoi utilizzare si chiama anche "Copia Brutale"
non potresti dirmi qualcosa di più su come fare...
grazie
Calma.
Se la copia la devi fare da un sistema operativo come windows avrai problemi.
Il kernel non ti consente di accedere direttamente all I/O.
Se ci provi ti ammazza, cioè ti uccide il processo che ci ha provato.
Forse scrivendo un programma DOS, eseguito in modalità ms-dos, dovresti riuscire.
Ad ogni modo a basso livello il cluster non esiste, esistono testine facce, piste e settori.
Il problema è che non mi ricordo come funzionava la cosa, e il vecchio 80286 che conteneva quella guida non l'ho più.
c'era una funzione del tipo bios_read(disco, faccia, settore, pista, destinazione)
e una simmetrica bios_write
e delle costanti tipo FLOPPY_DISK_0
HARD_DISK_0
Queste sono funzioni del BIOS e sono definite nello standard PC/IBM AT per cui dovrebbero essere sempre presenti nei BIOS dei moderni computer.
Ovviamente devi sapere quanti settori e quante facce ha il floppy da copiare.
In assembler l'interrupt era il 13H e la funzione di lettura di un settore 2H, quella di scrittura 3H.
(meno male che non butto mai via i vecchi manuali di carta)
un po di link sull'argomento
http://www.bitafterbit.com/italiano/c/cbasic/10c.htm
http://www.melograno.net/talpanet/to...hw/dischi.html
http://www.pegacity.it/informatica/assembly/tut12.htm
ce ne sono un fottio su google (mitico) cerca INTERRUPT 13H in italiano e troverai decine di link del genere.
http://www.elet.polimi.it/Users/DEI/...Asm11X8088.pdf
questo è bello
grazie mille, mi sei stato di grande aiuto!!!
Oggi mi è saltata in mente la cosa che nei sistemi linux puoi copiare l'immagine dell'intero floppy digitando
cp /dev/fd0h1440 fileimmagine
poi con il processo inverso ricopi l'immagine all'inverso, non so se pou funzionare nel tuo caso, sarebbe piu semplice che scrivere programmi assembler.