Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site unc.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!mcnc!unc!ericksen From: ericksen@unc.UUCP (James P. Ericksen) Newsgroups: net.micro.cbm Subject: Re: long pauses when running C64 basic Message-ID: <85@unc.UUCP> Date: Mon, 12-Nov-84 21:51:48 EST Article-I.D.: unc.85 Posted: Mon Nov 12 21:51:48 1984 Date-Received: Wed, 14-Nov-84 05:34:20 EST References: <2895@allegra.UUCP> Organization: CS Dept., U. of N. Carolina at Chapel Hill Lines: 18 . The reason you are getting garbage collects is that the BASIC GET# instruction, which you are probably using to read the serial port, allocates a new string buffer to put the character in every time the instruction is used. The only way around that, though not too difficult, is to avoid using the GET# instruction in your terminal emulator and get the characters using a short machine language routine to call the appropriate kernel routines. Just poke the sequence 162, 2, 32, 198, 255, 32, 228, 255, 133, 3, 162, 0, 32, 198, 255, 96 into your favorite unused memory area, SYS to it, and a character will be magically left at location 3. From that point, PEEK(3) will give you what you would have gotten from GET#n. And no more garbage collects! Jim Ericksen Dept of Comp Sci UNC Chapel Hill