From NISC.SRI.COM!unix!Teknowledge.COM!uw-beaver!milton!dali!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!uwm.edu!ogicse!orstcs!jacobs.CS.ORST.EDU!parkern Thu May 3 00:27:24 PDT 1990 Article 795 of comp.binaries.apple2: Path: NISC.SRI.COM!unix!Teknowledge.COM!uw-beaver!milton!dali!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!uwm.edu!ogicse!orstcs!jacobs.CS.ORST.EDU!parkern >From: parkern@jacobs.CS.ORST.EDU (Neil Parker) Newsgroups: comp.binaries.apple2 Subject: New Interruptable Beep for GS Summary: Works with Kermit; doesn't lock out interrupts! Keywords: beep, kermit Message-ID: <18011@orstcs.CS.ORST.EDU> Date: 1 May 90 00:36:48 GMT Sender: usenet@orstcs.CS.ORST.EDU Reply-To: parkern@jacobs.CS.ORST.EDU (Neil Parker) Organization: The Universal Society for the Prevention of Reality Lines: 88 Expires: Sender: Followup-To: There have recently been several calls on the net for a program which replaces the standard Apple beep routine with something that doesn't lock out interrupts, so that Kermit wouldn't drop characters when it gets a control-G. Here are a couple of programs that I wrote which have worked well for me. These programs require an Apple IIGS to function. They run under ProDOS 8. They are compatible with ECP8. They should run under DOS 3.3 (see the Applesoft program at the end of this posting), but I haven't actually tested that yet. BRUN CHIRP--This program installs an alternate beep which doesn't lock out interrupts. Only one CHIRP can be installed at a time; if this program is BRUN while CHIRP is installed, it exits with an error message. BRUN UNCHIRP--This program removes a previously-installed CHIRP. If CHIRP has not been installed, an error message is printed. When CHIRP is installed, the standard BEEP sound is replaced by a quick, rapidly-rising tone. This tone is generated by the standard LDA $C030 method; the DOC is not used. There is one thing to watch out for with these programs (Apple DTS, the Guardians of Pure Programming Practice, will probably send their hit squad after me for this): In order to avoid some bizarre crashes caused by its handle disappearing out from under it, CHIRP disguises itself as part of the RAMdisk. This means that control-apple-RESET will disconnect CHIRP, but leave its memory still allocated. If CHIRP is installed and then disconnected with RESET multiple times, memory will gradually begin to fill up with unused handles which never get deallocated because the system thinks they're part of the RAMdisk. These handles can be deallocated manually using the Memory Mangler or the Monitor's U command, or they will go away when the computer is turned off. Finally...These programs are in the public domain. I make no guarantee of any kind about them. -- Neil Parker nparker@jacobs.cs.orst.edu parker@corona.uoregon.edu nparker@nyssa.cs.orst.edu nparker@cie.uoregon.edu parker@astro.uoregon.edu DISCLAIMER: For external use only. -----(Files follow)----- FiLeStArTfIlEsTaRt ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789() ICHIRP.SHK AQATAAAACA(4EIAg06JAe6wFOcBtAQATAoni GVvTlzW6CYrOAAAAOcBAD0hWAAAAa5wFAMQHAEAAAAA4AKAAMBAAAAABAAAAAAAA GVvTkSI2BAAQAMAABAAAA8CAAAw4AYAAAAAAAAAYAAQAa5wBAMQHHAAAdolDAAwA OcBAD0hWAAAAAAAAAAAAAMAAAAAAAAAAAAQBAACAAAAAAAAAAAQAAAAAIDAAAAAA AAgAAAAAYBAAAAQAAEAWINEAQJVSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAgAAADHWISnMy2DK0y6as5LOol7Mogye6yHO0yX(64AQj()BIgkCkUHWI znO6yDPoyf(7g2e4xXu8yne9gOf5g6e4wDfwgWO7HncyA0407jBYIBjwbQPSDIKA AISEoFOAIkOOGUIAIUIaNbwpQH2PCAqMGcLAhFUz4gC0hAy(sHcYyXO90Hu7iDa5 sze5sHOohXu8gmP5z7e6sHO9kXO7gBQjYYQpAgQahNUjNiQpIFWRAQPSZQPABQPA YQPAAQPwAQPACIKAAISC6HOAfApehAy(vPcYkze90fq7sHOoj)O7lTf4hjOosTu7 A0Y5GYIYniAhgqqB3CgAIUoBibghYAKI)kLAGcZY4DBi0DiwUDwGGUKCIkGGiiEA iAxAhDAAgtPOGUIaHUIamDAoCAtBxeg5FAvB93OIlGPgli0BghkBFVmQAAAcaDAA b(vo9DNiADzrQrM4Yof9170agjtRAAEYCAQAAAAAvAQAAMOAGAAAAAAAAAGAAEAA OABAD0hWAAAAa5wEAMQHXAAAdolDAAwAAAAAAAAADAAAAAAAAAAAAcAAgAAAAAAA AAgAAAAAsDAAAAAAAAA7OVFAJh0QAAlUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA g5MID7c1SnMy2DK0y6as5LOol7Mogye6yHO0yX(64AQj()BIgkCkUDmzznO6yDPo yf(7g2e4xXu8yne9gOf5g6e4wDfwgWO7HncyA0407jBYIBjwbQPSDIKAAISEoFOA IkOOGUIAIUIaNbwpQDmyCAqCGcLAgxcz4QC8ODy(sHMYyXO90Hu7iDa5sze5v7Oo pDK90Pv7sze4NSe50DGAgCwG3CgBIikBGcLiDIKSAICEIFOAIQNSiaA1iohAhDAA QIgoAAgI7jT4lJEYoBXRoZQhgeQhGYOAmLA0GE7BgUA8A2f7HUa8GUKSAAGSAAAA A0Yu The following is a program intended to make CHIRP and UNCHIRP compatible with DOS 3.3. WARNING: I have not actually tested this program! 10 REM Program to run CHIRP and UNCHIRP under DOS 3.3 20 D$ = CHR$ (4) 30 F$ = "CHIRP" 40 PRINT "Selections:" 50 PRINT "(I) Install CHIRP" 60 PRINT "(R) Remove CHIRP" 70 PRINT "(Q) Quit" 80 PRINT : PRINT "Which? "; 90 GET A$: IF ASC (A$) > 95 THEN A$ = CHR$ ( ASC (A$) - 32) 100 IF A$ = "R" THEN F$ = "UN" + F$: GOTO 140 110 IF A$ = "Q" THEN END 120 IF A$ < > "I" THEN 90 130 PRINT : PRINT D$;"BLOAD";F$ 140 CALL 24576