Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!labrea!jade!ucbvax!decvax!tektronix!sequent!mntgfx!dclemans From: dclemans@mntgfx.MENTOR.COM (Dave Clemans) Newsgroups: comp.sys.atari.st Subject: Re: Seriously Bummed Message-ID: <929@dclemans.mntgfx.MENTOR.COM> Date: Mon, 21-Sep-87 12:09:11 EDT Article-I.D.: dclemans.929 Posted: Mon Sep 21 12:09:11 1987 Date-Received: Thu, 24-Sep-87 03:35:38 EDT References: <214@stag.UUCP> Organization: Mentor Graphics, Beaverton OR Lines: 48 Keywords: New Rom Woes? Summary: info The new ROM's DO NOT change anything in regards to the filesystem. As an example, I have a commercial product out that reads disk directories similar to HDSCAN that works fine under the new ROM's. When using the new ROM's, here are some things to look for the memory clearing bug is fixed; i.e. the new ROM's are SIGNIFICANTLY! faster (without this, a 4 megabyte system would not be very useful) the problems with mouse button detection are fixed; responses to mouse button hits are faster (though note that this can cause slight problems in programs, such as FLASH, to do mouse button detection in a non-standard way) scroll bars auto-repeat a serious bug in the floppy driver was fixed; i.e. if you try to read a floppy "fast" it will work (for those interested, this bug was the real reason why the "Meg A Minute" backup program published in STart a while ago had to have code to fall-back to reading a sector at a time when trying to restore from a floppy). However, this floppy driver bug fix does break the copy protection scheme used by some software companies (they depended on a side- effect of the bug). To get back to the original question about a crash under the new ROM's; as you read directory and file entries do you dynamically allocate space for them an entry at a time using "malloc"? If so, you might be unknowingly hitting the 20-Malloc bug (still there in the new ROM's, but it will show up differently). This is very easy to hit in Megamax C (and possibly in Mark Williams C; check the code for the "malloc" routine). Megamax C (at least the copy I have) "malloc" allocates memory from "Malloc" in ~6K byte chunks (as long as you are requesting < 6K bytes). If you make enough requests such that you've allocated more than about 120KB, you've hit the "20 Malloc" bug and GEMDOS will tromping on some random parts of memory. Depending on what you are doing, something critical may or may not get hit. Because of different memory organizations the old and new ROM's will hit different parts of memory. The "20 Malloc" bug (and the "40 folder" bug, which is partially related) will not get fixed until the Atari finishes the rewrite of GEMDOS. That rewrite is now finally starting to show signs of progressing; a status report on it from John Feagens has shown up in the Compuserve ST developers sig. In the meantime, there's "foldrxxx" (which works fine on the new ROM's) and "gemboot" (some people say it works fine on the new ROM's, some people say it doesn't). dgc