{"id":224,"date":"2015-07-21T14:29:26","date_gmt":"2015-07-21T18:29:26","guid":{"rendered":"http:\/\/72.167.111.237\/wpecsdump\/?page_id=224"},"modified":"2020-12-06T23:40:44","modified_gmt":"2020-12-06T23:40:44","slug":"devhlp_readfileat","status":"publish","type":"page","link":"https:\/\/www.ecsdump.net\/?page_id=224","title":{"rendered":"DevHlp_ReadFileAt"},"content":{"rendered":"<p><strong>Description<\/strong><\/p>\n<p>This devhlp is used to read from a file opened with DevHlp_OpenFile, in contrast to a normal read, a start position can be specified.<\/p>\n<p><strong>Calling convention<\/strong><\/p>\n<ul>\n<li>ES:DI = point to a&nbsp;<a class=\"missingpage\" title=\"Create this page\" href=\"http:\/\/www.mgreene.org\/wikka\/SYIReadFileAt\/edit\">SYIReadFileAt<\/a>&nbsp;structure<\/li>\n<li>DL = 082h<\/li>\n<\/ul>\n<p><strong>Returns<\/strong><\/p>\n<ul>\n<li>CY=0, AX = 0: read okay<\/li>\n<li>CY=1, AX = ERROR_BAD_LENGTH: packet is invalid<\/li>\n<li>CY=1, AX = &lt;&gt;0: other filesystem related errors<\/li>\n<\/ul>\n<p><strong>Data structures<\/strong><\/p>\n<p><span style=\"font-family: Menlo, Consolas, monaco, monospace; font-size: 15px; white-space: pre-wrap;\">; assembler structure<\/span><\/p>\n<div class=\"code\">\n<pre>SYIReadFile\tstruc\nlength\t\tdw\t12\t; length of structure (must be 12)\nbuffer\t\tdd\t?\t; 16:16 address of a read buffer\nsize\t\tdd\t?\t; number of bytes to read\nstartpos\tdd\t?\t; starting position of read relative to\n\t\t\t\t; start of file\nSYIReadFile\tends<\/pre>\n<\/div>\n<p><strong>Restrictions<\/strong><\/p>\n<p>Valid at INIT time only. Although the size argument of the data structure implies, I&#8217;d recommend to better not read more than 32K at a time. Note that the buffer itself is segmented, so DMA overrun and other effects might apply, depending on the quality of the miniIFS in use.<\/p>\n<p><strong>Bugs<\/strong><\/p>\n<p>IMHO, the length of structure should be 14, not 12.<\/p>\n<div class=\"center\"><strong>Republished without permission from Holger Veit&#8217;s long gone webpages &#8211; MKG<\/strong><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description This devhlp is used to read from a file opened with DevHlp_OpenFile, in contrast to a normal read, a start position can be specified. Calling convention ES:DI = point to a&nbsp;SYIReadFileAt&nbsp;structure DL = 082h Returns CY=0, AX = 0: read okay CY=1, AX = ERROR_BAD_LENGTH: packet is invalid CY=1, AX = &lt;&gt;0: other filesystem&hellip;<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/www.ecsdump.net\/?page_id=224\" title=\"Continue reading &lsquo;DevHlp_ReadFileAt&rsquo;\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":836,"menu_order":0,"comment_status":"open","ping_status":"open","template":"page-templates\/full-width.php","meta":{"footnotes":""},"categories":[13,10],"tags":[22,28],"wf_page_folders":[76],"class_list":["post-224","page","type-page","status-publish","hentry","category-devhelp","category-os2","tag-devhlp","tag-os2"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=224"}],"version-history":[{"count":0,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/224\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/836"}],"wp:attachment":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=224"},{"taxonomy":"wf_page_folders","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fwf_page_folders&post=224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}