page@swan.ulowell.edu (Bob Page) (11/02/88)
[I'm keeping this short, as I'm logged in long distance at a yuckky 1200 baud through a terminal switch and rlogin'ed through another machine to get to swan] I just posted a new noKLICKstart for KS1.3. The old one worked OK on my machine, I swear. I checked it dozens of times to make sure. Then after I post it, I find out 'sometimes' one of the two blocks (the second one) isn't updated. I can't understand it; I went home and repeated all my tests. Still pass. Aha. But I didn't actually DO exactly what everyone else would have once they got the program and run it. I didn't reboot. Instead, I fired up a disk editor and verified that the blocks had been written. They had. Correctly, every time. I figured out what it was. I was not flushing the track buffer. Just because I told trackdisk to WRITE the buffer doesn't mean it was WRITTEN. It means it was queued to be written. I added a flush and everything works as advertised. I wasn't seeing the problem because when I fired up the disk editor to verify the block data, as soon as I went to read a block, THEN trackdisk wrote the buffer and read the next block. For people who followed the directions and powered off their A1000s, the track buffer in the queue never got flushed to disk. I knew that. Really. Like Andy said, all the sources I've been seeing lately are turning my mind to mush. Sorry if I messed anyone up. The new version of noKLICKstart posted will work. Really. But I thought you might like to know what happened. ..Bob -- Bob Page, U of Lowell CS Dept. page@swan.ulowell.edu ulowell!page Have five nice days.