flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
me239 13 Aug 2011, 19:53
BAiC wrote: I've written multiple Read Commands which work, however the Write versions don't appear to work (or atleast they don't trigger an interrupt). |
|||
![]() |
|
BAiC 13 Aug 2011, 21:45
I'm referring to ATA Commands. as in 0x20 (Read Sectors) 0x30 (Write Sectors).
[Edit By Loco]Inappropriate content for OS Construction forum has been split to here. |
|||
![]() |
|
Japheth 14 Aug 2011, 16:06
BAiC wrote: Does anyone know what, if anything, needs to be done differently in a Write Sectors command (as compared with a Read Sectors Command)? The interrupt occurs "later". When reading, you send the 20h command and then you're waiting for the IRQ, while when writing, you'll have to send the 30h command, then wait for "device ready" (bit 3), then output your data ( usually a "rep outsw/d" ), and finally you'll receive the IRQ. |
|||
![]() |
|
edfed 15 Aug 2011, 00:31
ok, it explains many things.....
|
|||
![]() |
|
BAiC 04 Sep 2011, 01:58
Thanks Japheth.
filling its' buffer first is how it needs to be done. I use "rep outsw". outsd won't work as the Data Port is a WORD not a DWORD. |
|||
![]() |
|
DOS386 05 Sep 2011, 00:58
> [Edit By Loco]Inappropriate content for OS Construction forum has been split to here.
Better link: http://t13.org/documents/UploadedDocuments/docs2009/d2015r1a-ATAATAPI_Command_Set_-_2_ACS-2.pdf |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.