Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!ucbbuddy!c55-hc From: c55-hc@ucbbuddy.BERKELEY.EDU (Brent Chapman) Newsgroups: net.micro.pc,net.lang.pascal Subject: Turbo Pascal 3.00B BlockRead/BlockWrite bug Message-ID: <11044@ucbvax.BERKELEY.EDU> Date: Wed, 20-Nov-85 23:00:05 EST Article-I.D.: ucbvax.11044 Posted: Wed Nov 20 23:00:05 1985 Date-Received: Sat, 23-Nov-85 00:43:38 EST References: <3424@brl-tgr.ARPA> <11043@ucbvax.BERKELEY.EDU> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: chapman@ucbugs.UUCP (Brent Chapman) Organization: University of California, Berkeley Lines: 21 Xref: watmath net.micro.pc:5934 net.lang.pascal:381 If people already know of this, I apologize. There is a bug in MS-DOS Turbo Pascal, version 3.00B, in the 'blockread' and/or 'blockwrite' procedures. Version 3.01A is available from Borland, which fixes these bugs. Also dealing with the blockread/blockwrite procedure, while not technically a bug, there is an undocumented limitation to these procedures. You cannot read/write more that 64K bytes (512 blocks) with a single blockread/blockwrite command. This is due to the IBM addressing structure (each segment addresses a max of 64K bytes). If you try to access >=512 blocks, you end up dealing with (X mod 512). Hope this helps some people! Brent Chapman ucbvax!ucbugs!chapman chapman@ucbugs.berkeley.ARPA ucbvax!ucbamber!chapman chapman@ucbamber.berkeley.ARPA ucbvax!ucbbuddy!c55-hc c55-hc@ucbbuddy.berkeley.ARPA Opinions expressed herein are strictly my own (but are available for use by others for a reasonable fee).