Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Usuario887 en 5 Noviembre 2021, 19:52 pm



Título: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Usuario887 en 5 Noviembre 2021, 19:52 pm
Hola,

Segun Wikpedia:

Citar
and the sector number (6 bits, possible values are 1 to 63).
https://en.wikipedia.org/wiki/INT_13H (https://en.wikipedia.org/wiki/INT_13H)

Ya que el direccionamiento esta limitado a 6 bits.

¿Como puedo acceder al sector #64?


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Eternal Idol en 5 Noviembre 2021, 20:06 pm
https://en.wikipedia.org/wiki/Cylinder-head-sector


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Usuario887 en 5 Noviembre 2021, 21:34 pm
https://en.wikipedia.org/wiki/Cylinder-head-sector

Gracias por responder.

Conozco las coordenadas CHS, el problema es que no se como usarlas en este caso.

¿Cuando has llegado al sector 63 aumentas en cilindro? ¿En cabeza? ¿Algun factor de segmentacion...?

Buenas noches.


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Eternal Idol en 5 Noviembre 2021, 22:31 pm
Deberias repasar el articulo. Eso dependera de la cantidad de sectores por pista, si son 63 entonces si, un CHS de 0, 1, 1 seria el LBA 63 (a diferencia de la S de CHS los LBA arrancan en 0).


Tambien podes usar LBAs para leer con:
https://en.wikipedia.org/wiki/INT_13H#INT_13h_AH=42h:_Extended_Read_Sectors_From_Drive


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Usuario887 en 6 Noviembre 2021, 18:58 pm
Me perturba una parte del articulo...

Citar
horizontal (or radial) coordinate cylinder

Radial. Nada es radial en un disco sino los tracks, ¿Se refiere a los tracks?

Gracias por tu ayuda.



Citar
more precisely: a circular strip of physical data blocks called track

 ;D ;D ;D ;D ;D ;D ;D


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Usuario887 en 6 Noviembre 2021, 19:05 pm
Algo que si genuinamente me confunde es... Aqui dice que a partir del 2010 se comenzo a utilizar GTP,
OK, ¿Entonces CHS quedo completamente obsoleto?

Lo pregunto porque en sistemas modernos formateados con NTFS he visto que se sigue utilizando el campo "Sectors per Track" (en el BPB del boot sector)





Deberias repasar el articulo. Eso dependera de la cantidad de sectores por pista, si son 63 entonces si, un CHS de 0, 1, 1 seria el LBA 63 (a diferencia de la S de CHS los LBA arrancan en 0).


Tambien podes usar LBAs para leer con:
https://en.wikipedia.org/wiki/INT_13H#INT_13h_AH=42h:_Extended_Read_Sectors_From_Drive

Acabo de probar LBA y sinceramente es mucho mas comodo. Que problematico es calcular la geometria del disco. Bueno supongo que tarde o temprano me va a tocar pero al menos no lo necesito realmente ahora

Gracias de nuevo por tu ayuda


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Eternal Idol en 8 Noviembre 2021, 09:36 am
CHFS esta obsoleto, NTFS es viejo, tiene casi 30 años.

De nada.


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Usuario887 en 8 Noviembre 2021, 19:02 pm
NTFS es viejo

Las buenas leyes duran mucho tiempo.

En su momento tuvo su debut como magnum opus

Buenas noches




Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Eternal Idol en 8 Noviembre 2021, 19:07 pm
C++ es mas viejo y sigue siendo excelente, el punto era que si bien CHS se volvio obsoleto NTFS fue diseñado en una epoca en donde CHS todavia no lo era.  ::)


Título: Re: Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Publicado por: Usuario887 en 8 Noviembre 2021, 21:55 pm
Bueno, si, eso con echarle un vistazo al archivo $Boot de NTFS se hace evidente. Sin embargo lo estoy trabajando con LBA y sinceramente es una comodidad de c*jones.   :)

Considerablemente flexible.

Estoy programando un driver para NTFS. Solo para demostrarme que puedo y espero no darme una ostia si continuo haciendolo basado en LBA y en algun momento me doy cuenta de que necesito calcular geometria de disco  >:D >:D >:D