America Online APPLE II DEVELOPMENT FORUM CONFERENCE LOG Tuesday, January 29, 1991 10:00 p.m. Eastern Time Topic: Open Topic Forum Leader: Dave Sugar (AFL Dyfet) AFL Marty How's Twilight coming? AFL Marty (or shouldn't I ask) ShanoJ Uggh... Got the cde review back from Matt... He ONLY found 35 things wrong with ShanoJ it... :( Jim want's me to change ALL of them (some of them aren't mistakes but ShanoJ things he'd like to see added). That should only take me about 5 decades... :( AFL Marty So you did pretty good then. AFA Gary J Oh, I thought it would be more like 35 minutes :) AFL Marty :) AFL Dyfet What kinds of things? ShanoJ He want's to do things like a Twilight toolset that includes standard functions ShanoJ that all of the blankers can use... Also a Twilight manager that keeps track ShanoJ of the blankers in cool ways.... Only about half of the things were actual ShanoJ bugs, and I want to just fix those and release it. Then we can go back and aff ShanoJ (err, add) the spiffy things in a later version... I don't think Jim agrees, ShanoJ though... :( AFA Gary J Open topic tonight, eh? (I have a question when things are slow :) Apple Guru Does anyone know of a HD for the //c? (internal, NOT Applied Injinuity) AFL Dyfet Not off-hand, Guru.... Apple Guru Good.....maybe mine will sell then! :-) Windrider5 does anyone know what resource type $800C is? AFL Dyfet GA Dave :) Dave Lyons It's rCtlDefProc, as revealed by typing 800c\rtype in Nifty List. Dave Lyons (Gee, I hope that was in 3.0... :) BTW, will be uploading 3.2 soon. I know I said that last Dave Lyons week, but now I fixed redirecting to slots, which I discovered I had broken horribly. ga JWankerl Yep, it was in 3.0. AFA Gary J (of course.... :) (Nifty List 3.2, no doubt :) FeinDavid We want it yesterday! Apple Guru Nifty List 3.2 RSN!!! AFL Dyfet Now, what was your question, Gary? :) AFA Gary J :) FeinDavid Tanks gary.... 8) AFA Gary J Oh, let's see. Can anyone tell me a good way to detect an entrance into the AFA Gary J control panel? I want to do something AFTER it has occurred. Dave Lyons Can't think of one off hand; what do you want to do? Apple Guru I thought that was supposed to be "invisible" JWankerl There's a vector for going to the Desk Accessories menu, I believe. AFA Gary J Well, I want to determine if the speed has been changed, for one (via normal AFA Gary J IIGS speed, or transwarp/zip chip CDA) FeinDavid Patch the vector, and then allow access... AFA Gary J Yes, there's a vector, but it doesn't return. FeinDavid There is a byte you can check for the speed... Dave Lyons If you want to know when the CP updates the system state to match the battery-RAM, you could Dave Lyons *carefully* chain into the ToBRAMSetup vector, I suppose. FeinDavid If you sense a enterance into the control panel, then you can set a flag that FeinDavid tells you to check the speed... make it a standard check at that flag. AFA Gary J Ah, that's an idea, Dave. (other ideas I had included checking the border AFA Gary J color, and see when it changed, but that requires that I look constantly) Apple Guru Do a timing loop based o VBLIRQ FeinDavid Which dave? he he? AFA Gary J I'm not concerned about what to do AFTER the detection, it's doing the AFA Gary J detecting and surviving afterward, that I want :) AFA Gary J Dave L: Can you define "*carefully*"? Apple Guru Like I said, software timing loop, called on VBLIRQ real easy way to sense spee JWankerl Based on VBL? That's 60/sec always, eh? :-) AFA Gary J I know how to sence speed changes, I just don't want to do it all the time. Dave Lyons Gary, I just mean to be sure you preserve Bank, D, *and* the processor flags when you do that, since Dave Lyons the Carry flag is significant going into that routine (see firmware ref--says whether to update Dave Lyons the slot settings or not). Also note that the vector is called in SEP 30 mode (not emulation, FeinDavid No, just making sure that speed does not affect an application. Dave Lyons but 8-bit native). Apple Guru JWankerl....Yes, VBLIRQ is every 1/60'th sec. AFA Gary J Thanks, Dave. Coach101 Does a speed change cream your program or just render its output less than attractive? Apple Guru I think Gary is doing something with copy protection YEACH AFA Gary J Coach: Speed changes the performance of my program :) There are some speed AFA Gary J sensatitive delays (it just makes things easier for the user) that I want to AFA Gary J update. (Not copy protection, sorry :) JWankerl Gary: You should probably use GetTick to time your delays. Apple Guru Gary....GOOD....I hate CP Coach101 It just occurred to me that protecting a user against a user's overt action (changing speed) Coach101 seemed like a lot of trouble for an infrequent occurance. ga Apple Guru Hmmmm....I ALSO hate programs that watch my speed. It's MY fault if my speed Apple Guru setting causes problems if noted in manual AFA Gary J Well, I also want to keep the border a certain color... it just looks better AFA Gary J that way :) Coach101 If we torture Gary long enough the truth will come out :) :) JWankerl Continue storing your color value there based on a heartbeat interrupt. :-) AFA Gary J :) AFA Gary J Well, if I do that, I can just check the border color in my loop, and if it AFA Gary J changes from what I set it to, then someone has probably entered the control AFA Gary J panel :) Apple Guru I thought thats what I said RE: VBLIRQ Coach101 awk AFA Gary J (Unless they had it set to the same color I'm putting it at :) AFA Gary J But, I'd prefer to not have to use time in my loop for mundane things like that. Apple Guru what user would ever see 1/60'th of a second??? AFA Gary J It's not that kind of timing that I need to check. It's more like a counter AFA Gary J type of thing, much like a flashing cursor rate, or that sort of thing. JWankerl Yeah. And if they enter the control panel, they deserve to get an ugly border. AFA Gary J (But, it effects the performance of the program) Apple Guru JW....very true!! JWankerl As I said before, use GetTick to time your loops. Apple Guru Sounds good to me too. Unless there are other routines using it AFA Gary J GetTick won't do it in this case. It's more a matter of how many times through AFA Gary J the loop. Apple Guru (that only counts in REAL critical code) AFA Gary J Right, Guru. Apple Guru <==-- tried using GetTick in CP routine.......yeach....:-( AFA Gary J Oh well... (enough of my babbling).... on to other questions :) Apple Guru IDEA!!!!!! AFL Dyfet Yes Guru? Apple Guru Check just PAST your stack pointer, look at OLD return address! Apple Guru That could tell you if Cntrl Panel was up! AFA Gary J Yes, but I'd still have to check that constantly. It would be easier to AFA Gary J check the border color :) Apple Guru well....I DID try....:-) AFA Gary J (or the text color, which nobody will see in an SHR program :) Matt DTS What's this about checking to see if the CP is up? I've been kicked off and missed some of this. Matt DTS Synopsis, please. AFA Gary J Matt: I was just looking for a way to determine when the user had entered the AFA Gary J control panel... so that I could check a few things AFTER the fact. Matt DTS Control Panel NDA or CDA? AFA Gary J CDA AFA Gary J (Control - Open-Apple - ESC) Matt DTS What is it you want to check? AFA Gary J I want to check the system speed (for one thing) and the border color. AFA Gary J (parts of the program look real bad under certain border color settings :) Matt DTS The answer, of course, is to redesign your program properly instead of ignoring the user's choices. AFA Gary J :) Matt DTS (like for the border color. I *HATE* it when some dweeb programmer thinks I didn't mean it when I AFA Gary J I'm not ignoring the user's choices :) I want to check the speed because it Matt DTS chose the border color I chose.) AFA Gary J effects the performance of the program. AFA Gary J The border color...well, I could grant you that one :) Matt DTS Well, anyone can change the speed at any time, but I believe... Matt DTS ...that the control panels only do so by calling TOBRAMSETUP as described in the Firmware Reference. Matt DTS You could patch that out and see if it tells you what you want to know, even though you are playing Matt DTS with the unguaranteed and the unsupported. AFA Gary J Is TWGS and Zip speed settings in BRAM? FeinDavid no. each has it's own setting. However, the ROM 3 has a vector that tells FeinDavid current system speed, 1, 2.6, or >2.6 MHz.. You also have to fight with the FeinDavid Zip GSX that has 15 different speed settings. Matt DTS Yeah, and it would be nice if Zip or TWGS actually *used* that vector, but they don't. AFA Gary J I'm not that concerned with super accurate speed detection. I just need to AFA Gary J tweek a few values if the speed changes. Matt DTS If you're after accelerator speed, you don't want to check the Control Panel. You want to check the Matt DTS CDA menu. That's a different ballgame. AFA Gary J CDA menu then :) AFA Gary J (I think of them as the same.... but I know they're not) Matt DTS CDA menu is easy. Patch the tool call _ChooseCDA. AFA Gary J _ChooseCDA? Hmmm..... Matt DTS Right Dave? AFA Gary J Ok... I'll have to give that one a try. AFL Dyfet Okay, let's give A2 a chance for his question....:) AFL Dyfet GA A2... A2GS Thanx....actually it's not a question...but a small bug I found about A2GS 20 minutes ago in 5.04....I've been able to reproduce it several times...so I A2GS just thought I'd mention it.... Matt DTS So mention it already! A2GS keep in mind it's NOT serious......It seems that if you open a window which A2GS (just thought I'd get Matt a little revved up :) AFL Dyfet :) A2GS contains icons, and one of the icons on the right side of the window is cut off A2GS to a degree....the filename will remain cutoff when you scroll or open the A2GS window to display the whole icon....to see the whole icon in it's normal form A2GS you have to click on it (at which point things go back to normal for that icon) A2GS from what I've been able to find this problem only turns up when you initially A2GS open the window and the icon is cut off at that point (to begin with).... A2GS otherwise everything seems to be fine....one MAIN point which may be relevant A2GS (probably not) when I discovered this bug I was using some custom system fonts, A2GS but this problem never shows up in any other case when I use 5.04...so I don't A2GS think it's the source (but then again who knows?) A2GS GA Matt DTS Oh. this is a Finder thing. Matt DTS It's relevant - the Finder does not work well if the system font isn't Shaston 8. A2GS BTW (I still love 5.04, even with this bug) :) Matt DTS Someone will probably print this out and show it to Andy, but it's a low-priority thing unless we start Matt DTS shipping different system fonts. GA. A2GS The font was Shaston 8 (I believe, but wouldn't bet the farm on it) Matt DTS How is Shaston 8 a "different system font"? A2GS excuse me....MY MISTAKE...I meant to say that I was using CUSTOM SYSTEM ICONS AFL Dyfet OIC Matt DTS Oh. Well, then it sounds like a bug. I just tried to reproduce it and I can't... Matt DTS ...so send detailed mail on how to reproduce it to "ShrinkIt" and Andy will see it. GA. A2GS (I tried it for 2 different disks it it showed up in 3 cases (when I opened A2GS enough folders to get the right kind of setting)) AFL Dyfet What Matt suggests would be the best way to handle it....Okay, let's get to AFL Dyfet Mark's question. Go ahead, Mark... MarkJnnngs Yes a couple of quickies. I'm writing my first desktop application after makin MarkJnnngs a pretty workable game which I uploaded last year. I only can write in C. MarkJnnngs I'm using Orca C and Design Master as my "Sample" code. I can't find anything MarkJnnngs there that handles modeless dialogs. Is there much C code around? AFL Dyfet Go ahead Matt... MarkJnnngs And should I still use the Dialog Manager for modeless dialogs? GA Matt DTS Modeless dialogs are (generally) a pain in the patoot. Matt DTS Anything you can do with the Dialog Mgr you can do with extended controls and TaskMaster in a window Matt DTS more easily and more flexibly. Matt DTS DTS has several samples in C (APW C, though), the most complex/robust of which is "Lister". Matt DTS Although it doesn't directly compile under ORCA/C, you can get a lot of good information from it. MarkJnnngs OK I'l go about it that way. Matt DTS There's other samples available as well, many here on AOL. GA. AFA Gary J Yes, check our our source library. AFA Gary J (All C files have a C: in the file subject heading) MarkJnnngs Also, I downloaded 5.04 last night and I get I/O error $27 when I unshrink. Matt DTS Either your source or destination disks is physically bad. Try unshrinking to different floppies. MarkJnnngs I tried 2. I'll try a third, but on the second one I verified it first MarkJnnngs and it said it had no bad blocks. Andy Stein Sounds like a bad download. AFA Gary J It may be a bad spot on the disk the ShrinkIt file is on. Matt DTS Try validating your shrunk files in the Finder and see if they can be read. Matt DTS ShrinkIt wouldn't return an I/O error unless it got one reading or writing from the disk. A bad Matt DTS archive (or download) can't usually create that error. Apple Guru 3.5" disk?? MarkJnnngs Good idea. Andy, the game was called Propagannihilate. MarkJnnngs Yes 3.5" disk Apple Guru If the problem starts showing up more often, and on other disks, your upper Apple Guru head may have broken loose. (guessing due to problem w/verified disk) MarkJnnngs I did hear some unusual clanking sounds out of the drive, come to think of it! MarkJnnngs I have 2 3.5 drives; I tried switching the source and destination disks and MarkJnnngs the same error occurred. AFA Gary J Try moving the source file to a different source disk. AFL Dyfet It sounds like it's on the disk with the shrunk files...as Matt suggested, a AFL Dyfet validate from Finder should determine if that is the case... Apple Guru error on same drive? MarkJnnngs can't answer that for sure, AG. AFL Dyfet Okay, let's give Parik a chance here :)...GA Parik... AFA Parik how are the textfile technotes for nov & jan progressing? I have the paper AFA Parik versions but electronic is faster to access. AFA Parik ga Matt DTS As far as I know, they're in distribution, whatever that means. Matt DTS I stayed up all night one night to get them done, but I'm not responsible for getting them out the Matt DTS door (thank God). Sorry. AFA Gary J Both November AND January, Matt? Matt DTS Yup. AFA Gary J (great...I'll be looking :) A2GS Buy a Quickie with In-Words and Scan them into E-form :-) Apple Guru :) AFA Gary J Not the kind of data that's quick to access, unfortunately :) AFL Dyfet Okay, Jonah, what is your little ? :) AFL Marty Jonah's cat does all his typing for him. ShanoJ Well, yesterday I noticed that after going into GSBug and exiting with a G, ShanoJ whenever I had the caps lock key on and was typing, the speaker would click ShanoJ once for each keypress... Any explanations of that? Also, is it a bug in GSBug ShanoJ that it leaves the GR screen switched in instead of the text screen? ShanoJ (I don't use the caps lock key much... :) Coach101 Geez, you just found that feature :) AFA Gary J That's a feature. Coach101 Not a bug.... At one point it (GSBUG) did it all the time (Cap locks or not)! Coach101 For me GsBUg has always left the screen that I "entered" from up when I exited... What ahppaend Coach101 in your case? ShanoJ Well, if I'm in a desktop program, go into GSBug with the four finger salute, ShanoJ hit G to return, and then quit to the APW shell, the GR screen is active and ShanoJ NOT the text screen.... (oh, I did a \s before the G)... Coach101 One more thing, when you hear those KeyClicks, keydn events will *NOT* go to desk accessories. AFA Parik (why not hit "R" to return?) Dave Lyons (R is usually the best way to return) Matt DTS G means "go" and doesn't necessarily restore the mode from when you entered, Jonah. No duh. :) Coach101 Did you try exiting with an R; thats what I do and it seems to work right. I just used a G and it did Coach101 not work correctly for me. ShanoJ Hmm... Kinda weird that it kept doing that even after I exited (clicking, that ShanoJ is). ShanoJ Hmm... Okay, I'll start using R then... Think I need to be sent to Remedial ShanoJ Debugging Tools 101? :( ShanoJ Didn't know about Ctl-T in NiftyList, and now this... :( Coach101 Did you catch the comment about the KeyClicks meaning that Key down events are not going to Coach101 desk accessories. That is the reason for the KeyClicks, to let you know things are not normal. ShanoJ Yup, caught that. I knew that happened when GSBug was switched in, but didn't ShanoJ think it should continue after I've G'd. Then again, it might be the G that's ShanoJ doing it... AFA Parik come to kansasfest and you can learn alllllllllll about debuggin ShanoJ Planning to, Parik! :) Matt DTS Anything else tonight? AFA Gary J What's the proper procedure for patching tools? AFA Gary J (Having never researched that one :) Matt DTS Do it carefully and don't tail-patch. :) Matt DTS (Of course, you might have to tail-patch. Dave?) AFA Gary J (Like ChooseCDA, for example :) AFA Gary J DA Lyons should know this stuff :) Dave Lyons OK, I'm here.... Dave Lyons Gary, it's not a well-defined area. What do you want to patch? AFA Gary J ChooseCDA, of course :) Dave Lyons If you're patching at System.Setup time, life is good. You need to use GetTSPtr to determine Dave Lyons where & how big the function pointer table is for the tool set you want to patch, AFA Gary J An application needs to do this, temporarily, Dave. Dave Lyons Oh, for an application, temporarily: Use GetTSPtr to get the current FPT for that tool, allocate Dave Lyons a chunk of memory full of zeroes the same size as the old FPT (4*the first longword), fill it with Dave Lyons zeroes & copy the first longword, and fill in the entries for the tools you want to patch--and feed Dave Lyons that to SetTSPtr. Dave Lyons Your patch will go away when you do a TLShutDown. AFA Gary J Thanks, Dave. (good explanation) AFA JoeyS Wanna try a Basic.System question? :-) DangardAce Basic.System! That's prehistoric. AFA JoeyS :P~~ Pete... DangardAce Joe, just put all your gosubs first and use line numbers that are powers of 2. AFA JoeyS :P again, Pete. My question is a little stranger than THAT... AFA Gary J Pete :) DangardAce Okay then, just use 1 character variables. DangardAce :) Matt DTS Joey: Cough up $100/year and Software Licensing will give you the source to BASIC.System. :) AFA JoeyS Don't push me; it's been a bad year... AFA JoeyS LOL Matt... gee, thanks. DangardAce Or better yet, don't put spaces in REM statements. AFA Gary J (just don't use REM statments) Apple Guru <==-- must have missed something, but maybe not....I think I smell BASIC here:( AFA JoeyS (the question, was, in theory, use of m/l subroutines in Applesoft, butttt...) DangardAce There used to be this great program called Basic Enhanced Software Tricks.. DangardAce it let you compress lines to the maximum amount, 256 chars. per line.. Apple Guru B.E.S.T. was for DOS 3.3.....yeuch AFA Gary J :) DangardAce Too bad no one ever revamped it for ProDOS. Apple Guru Sensible Software sorta folded...... DangardAce I thought they were still selling Sensible Grammer.. DangardAce Things haven't been the same since Quadrant 6112.. Apple Guru SS is still around, but is running out of owners basement now DangardAce like most Apple II companies AFA JoeyS Oh, well, okay. :) AFA JoeyS So anyone want to take a stab at the Basic.System question?? :-) AFA Gary J Go for it, Joey :) DangardAce What, meshing ML with AppleSoft? AFA JoeyS LOL. Okay. I have an amper routine, &GET, that's supposed to read characters AFA JoeyS (primarily intended for reading from disk) as a string, and return the C/R AFA JoeyS terminated string to a passed var. That all works just fine. Then I decided AFA JoeyS I wanted to add some code so that it'd set a flag when it read in a null (end AFA JoeyS of a record in a random access file). That doesn't work nearly as well; the AFA JoeyS code just "jumps" to the next record. The m/l code in question looks like... AFA JoeyS jsr $fd0c ; get char / and #$7F / beq got_null AFA JoeyS The routine never ever gets to get_null. I know the code is fine, since if I AFA JoeyS invoke the routine without a Basic.System READ in effect (i.e. typing chars at AFA JoeyS the keyboard), it will correctly set the flag when I type ^@. Any ideas? Apple Guru Are you passing back a C/R for a null string? AFA JoeyS Actually, I wanted to treat the null as a terminator the same as C/R, and AFA JoeyS therefore return the chars I'd read to that point, but also set the flag. AFA JoeyS That's all easy once I can actually convince the routine to give me the nulls AFA JoeyS in the first place. Apple Guru AND #$7F.....BEQ NULL, BMI NULL AFA JoeyS If I mask the high bit the BMI should always fail, yes? AFA Gary J BMI Null? It should never be minus. Apple Guru Yes.....It shouldn't be, but I bet it is (for some strage reason) AFA Gary J (AND #$7F takes care of that) AFA Gary J (Unless of course, you've set a 16-bit accumulator :) Apple Guru Running on 6502 or 65C02 or 65816? AFA JoeyS Uhh, well, I see no reason why the processor should ignore my AND #$7F... :-) AFA JoeyS This is pure 6502 code -- not C02, not 816. Apple Guru 6502 ....SOME manufacturers chips had bug in flag setting on AND's AFA JoeyS LOL... right. No, the code itself would seem to be functioning correctly, AFA JoeyS since as I said, it works as expected when I give it a null from the keyboard-- AFA JoeyS only when READ'ing from a disk file does it not do so. AFA JoeyS (and actually, the code loop jsr $fd0c ; get char / jsr $fdda ; prbyte / AFA JoeyS jmp start ; loop never displays 00, either, when reading from disk) AFA Gary J Have you tried setting a break point there and seeing just what value IS AFA Gary J returned? AFA JoeyS Yeah, well, see my previous line, Gary, for what I did try. :) AFA Gary J It must not be zero, or it just may not be going to your routine at all. Apple Guru Just for yuks......test for NEG after your AND. Pdos might be messing you up Apple Guru if it works right from the keyboard AFA JoeyS Shrug, I can try it, couldn't hurt. But I'm honestly not sure what that will AFA JoeyS accomplish after the AND. But who knows? AFA Gary J Just because it works for the keyboard doesn't mean it will work from disk. AFA JoeyS Well, I know that, Gary. :) I want to find out WHY it doesn't work from disk, AFA JoeyS and more importantly, how to make it do so. :) AFA Gary J (I know you know, Joey :) Apple Guru <-- betting that Hi bit is set AFA Gary J Obviously, the disk read is returning something other than a 00, or your AFA Gary J code is somehow being missed. AFA Gary J (bypassed, branched around, or otherwise avoided) AFA JoeyS Well, like I said, a loop of get-byte, print-byte, loop when reading from the AFA JoeyS disk never returns the 00's used for record padding... even though Block Warden AFA JoeyS definitively shows that they're there, and my datafile isn't messed up or AFA JoeyS anything. Matt DTS Are you using MLI read calls or Basic.System read calls? AFA Gary J Are you using MLI in your asm code? AFA Gary J You could test for eof, and feed your routine a zero. AFA JoeyS I wouldn't get EOF, since I'm NOT at EOF, I'm at EOrecord. AFA Gary J Oh, sorry. Missed the bit about EOrecord. AFA JoeyS I'm using jsr $fd0c (monitor get char), which is the same call used by AFA JoeyS Applesoft's GET command. I want to avoid the overhead of zillions of reads. Apple Guru you can't OPEN, READ, etc from AL calls to B.S. MUST use MLI Apple Guru per P8 tech manual Matt DTS BI may be using $00 as a newline character so reads terminate. Normally BASIC programs don't want to Matt DTS get returned zero bytes, so Basic.System undoubtedly filters them somehow. AFA JoeyS Hmmm, that's an interesting thought, Matt. Should I try disabling newline AFA JoeyS mode totally before entering the routine?? (but that brings up the same AFA JoeyS problem, namely that of repetitive MLI calls, which I want to avoid for AFA JoeyS performance reasons) Matt DTS It's probably not Newline mode; it's probably done inside Basic.System. Apple Guru Matt...thats why P8 tech manual says MLI cals for read/write AFA JoeyS Oh. Ummm, okay, but when using a GET I$ command (Applesoft GET) in a loop AFA JoeyS purely in Applesoft (s-l-o-w...), I$ =does= equal "" (null) when I read a null, AFA JoeyS and as I said I've traced the Applesoft code and found it to use the same AFA JoeyS jsr $fd0c routine. IGSC... Matt DTS Did you open the file with the same record length both times? AFA JoeyS Yup. All parameters of the OPEN, READ, and even CLOSE commands were exactly AFA JoeyS the same. Just that in one version I used something like AFA JoeyS & DO: & GET I$: ? I$: & STOP IF PEEK(222)=5 (peek(222) = 5 is the condition AFA JoeyS I supposedly set up when I read a null), whereas in the other I use AFA JoeyS & DO: GET I$: ? I$;: & STOP IF I$="" AFA JoeyS The first doesn't work, the second does. Dave Lyons I've been browsing thru the BASIC.SYSTEM source, and I have noted that there *is* special handling Dave Lyons for the GET statement. AFA JoeyS There is?? WHERE?? Dave Lyons Inside BASIC.SYSTEM there is...in the routines that handle getting input from disk instead of Dave Lyons from the keyboard. Apparently during the here's-a-statement Dave Lyons trap it notes the command and stores a $BE into PROMPT ($33) if it's a GET. The input stuff Dave Lyons checks to see if $33 contains $BE & behaves differently. AFA JoeyS (Matt smiles and reminds me of the $100 Basic.System source code offer) AFA Gary J :) AFA Gary J Check "Beneath Apple ProDOS" instead. It's only around $20 :) Apple Guru :-) Apple Guru Gary....Where can I get a NEW copy of BAP???? AFA JoeyS Oh WOW... that very well could be it; there's another similar weird thing that AFA JoeyS happens when trying to output via COUT, and it also involved the Prompt ZP AFA JoeyS loc. I'll have to try this puppy out... :)) AFA JoeyS (Gary: I've got BAP, as well as Little's "Advanced ProDOS for Programmers"; AFA JoeyS neither of 'em extensively cover the BI) AFA JoeyS Dave: I'll run now and try this out, and drop you a note with the results AFA JoeyS either way, 'kay? Dave Lyons Ok. AFA JoeyS Thanks! Later, all... Dave Lyons Yeah, you may be able to just store a $BE into $33; it shouldn't get overwritten until the next Dave Lyons Applesoft statement executes, or until you call GETLN. AFA JoeyS ...right; in another routine where I wanted to output via COUT, I think I had AFA JoeyS to LDA #0, STA $33 to get it to work right; as you said, $33 stayed intact AFA JoeyS while I was in my routine. AFA JoeyS I'll get back to ya' in mere minutes... :) AFA JoeyS Byeeeee. AFA JoeyS <--- (woo, excited, my two week old problem may be solved :)