DELPHI TINET CONFERENCE -- August 14, 1991 Wayne Stith in Conference (Jeff White - Host) Attendees (at various times) MICBRO JHWHITE ---- Jeff EICHER ---- Dano CYNTHIA ---- CB GREGRPH WAYNESTITH -- Wayne JERRYC ---- JerryC COUNTERMAN -- Bob MARCLEVINE HWARDEN TIRUGED NPC If you have any opening comments, Wayne, we'll hold off on questions. Well, I haven't prepared any formal remarks since descriptions of my stuff has already been uploaded here before. But as a reminder, I've written TRIAD, GEN-TRI, and lately VIR-GEN along with a few minor odds and ends. Go ahead... I'll start. How does one get those programs in a timely manner? Getting right to the heart of the matter, eh? Well.... one waits for a couple of weeks and then one finds that there is a new source for some of this material. ga MARCLEVINE> Can you tell us what or who this other source will be? No, I cannot name names because nothing has been finalized, but there will be another source, at least for GEN-TRI very soon. I've had it with the confusion of the last few months. ----------------------------------------------------------------------------- NOTE: On the day following this conference an aggreement was reached with Peter Hoddie that will allow Jerry Coffey (9119 Tetterton Ave Vienna VA 22182) to distribute JP Software titles including GEN-TRI - [Ed.] ----------------------------------------------------------------------------- CYNTHIA> what enhancements - improvements, et al - do you plan to do with Gen-Tri? CB, I've made a few minor fixes and patches--which you should have received and which will be on version 1.01. I am in the process of writing the spellchecker, something which I had not planned to do but which is necessitated by "events." CYNTHIA> yes.. so what exactly is the status with JPH? We are still friends. CYNTHIA> :P but what is he doing these days? I dunno, you tell me. CYNTHIA> is he gone but not forgotten or what? ga OK, folks, let's cut to the chase and skip the what is going on stuff: I have gotten a LOT of complaints from folks about how slow JPSOFTWARE is about getting stuff out. Whenever I get a specific msg from someone, I have passed the info on to Peter, sometimes several times. I can't do more. CYNTHIA> this is true. if people could contact him DIRECTLY, that would solve a problem, don't you think? end/trans MARCLEVINE> Are there rumors of his problems being with apple restrictions on his programming for other machines or is it something else. I have a great deal of trouble getting hold of Peter, he must be sleeping in his office or something. In other words, nothing is getting done. This applies to the spellchecker as well. I gave myself until 1 Aug to have him finish it, or rather for him to finish it before I took over. I have taken it over. (We should really try to refrain from discussing JPH. Kind of hard to determine what is really going on with him.) Marc, I don't know anything about Apple restrictions; this is the first I have heard of it. No, CB, even if people could contact him directly, nothing would be solved. CYNTHIA> thanks Wayne, What are your plans for Vir-gen, and how do I start it up, so I can trace the boot up of the gpl machine through the TI color so I can switch from the virgen screen to the color bar or TI's main menu.. 1. basic, 2 . Mongo Man etc.. MARCLEVINE> Wayne, do you know of anyone writing a zmodem module for Gen-tri? You said there was a "hook" for it. Dano, re Vir-Gen: it is on hold at the moment until I can finish the spellchecker and somehow arrange to get it in the hands of the users to whom it was promised. I forget which files is the startup file, but the docs should specify that. I didn't take the time to go through the GPL powerup sequence, I did tra ce some odds and ends, though. You will need to make sure that the program is set to begin at the powerup vector's first instruciton, I think it's at >0024. But beware: Paul's version of GPL differs somewhat from TI's. Y ou may get caught in a loop while keys are checked or memory is switched ar ound. At present you cannot watch the application screen build, you CAN run so me code and then switch over to the application screen and switch back. ga MARCLEVINE> Is there someone writing a zmodem module? You once mentioned you had a "hook" for it. Marc/Jeff, I found the question in my buffer: There is a hook for any protocol one wants to install, i.e. I provided a method whereby you can specify on loading that another protocol is to be overlaid over CISB+, or you can do it on the fly while in the terminal emulator itself. The hook is simply a series of specifications that a programmer should adhere to if he/she wishes the protocol to be "loadable" from G-T. The only thing I included by way of demonstration was a "protocol" which simply gave a message on the screen. I have heard of two people who were working on z modem, but nothing has come of either effort as yet. ga Wayne, what tools do you use most while developing your programs? I usually write with myword because I have become used to it. And natur ally I use the TI assembler because that does the job I need it to do. MICBRO> I'm concerned that Z is proprietary, I would think that smaller arc'd files batched with YModem would overcome some of the need for Zmodem. For loading code in funny places so that it can be SAVEd to disk in PROGRAM format, I use a thing I wrote which moves the low memory data created by the E/A cart over into high memory, patches it, and then lets me load a file (object code) into low memory or cart space and SAVE it to disk, wi th or without the 6 byte header, using the famous SFIRST etc labels, other labels, or hard-coded addresses. I use DUMP-A-CHUNK to take a look at memory when a problem occurs, and c an now use VIRGEN to do a better job of that. I have in the past used the Millers Graphics materials, particulary the Explorer. ga MICRO, someone asked another question.... (Oh, I forgot: VIRGEN includes an assembler which will read from disk and then allow me to save anything in PROGRAM format. Very useful). ga, Mike MICBRO> Why beat yourself over the head re: Zc I was late into the con is the WP partc What about block text in the WP - is the process more like WordPerfect now? That came across partially garbled on my end, but as to block mode, nothing has changed there since the release date. It's not exactly like WPerf. I tend to agree with comment on zmodem, for clones it's nice, for geneve it's not much help. The really nice thing, though, is aborted file recovery. MICBRO> Can you take text from one doc, paste it into an upload on a conference, etc Release - who where how much. MARCLEVINE> Wayne have you or anyone else heard of anyone working on other protocols other than Zmodem? ie. Jmodem, Qmodem (humm was one of those an 8k xmodem) . Seems that if you pick any letter of the alphabet and add "modem" you have a protocol . However, the [Zmodem] overhead is pretty steep. I have glanced thru the specs and it is worse than CISB+ (which is a real pain). -- MICRO: You can paste only w/in the WP. -- Marc: Don't know of any other protocols being worked on, the really nice one would be BIMODEM, which allows simultaneous two-way file xfer AND two-way chat. (have seen it work). MICBRO> For the files we use YModem is pretty efficient, if not then they've been archived too vigourously. (Marc, I was going to write a streaming protocol and call it Wayne-o- Modem.) YMODEM is the best for us, yes. MICBRO> Sorry I get confused.. The point to me now is how do we get this software, and who's name should be on the check. Garbled here, again, but I think I can make out a question about availabilty. MICBRO> yes! G-T is presently being sold by JPSOFTWARE, but there will be another source available soon. Costs $49.95. ga MICBRO> is this a production or debugging delay? No, we have sort of covered the delay situation. The pgm is out in its first version, I am putting together version 1.01, which will be primarily bug fixes. The delay is not on my end. MICBRO> I'm sorry to beat this to death, but will it run on a floppy system with 1.14f running? The spellchecker is still being developed, as they say, Peter had not finished it, so I started writing one using similar but not identical logic. (We agreed to release G-T w/o the speller this past winter) I run G-T from hard drive using MDOS 1.14 (non-F) but understand that it will run from floppy on 1.14F and suspect (underline suspect) that it will run from floppy on other versions of MDOS. BUT: I do not promise anything there. (I had to use a relatively stable opsys to develop it on, hence 1.14non-f) ga MICBRO> thanks.. MICBRO> I'll be happy to buy this when available.. (thanks, MICRO!) er,....MICBRO! MICBRO> What's your next project? (Don't blame me, the computer did the mistyping!) MICBRO> natch Wayne, a two parter if you will. 1. Since Rambo is fast becoming the TI extended/expanded memory manager.. Do you have any plans for converting TriAd or GenTri to run on a TI with this type of memory and ... 2. Ifen Myarc every gets their stuff together on the hfdc will the disk manager modules in gentri/triad support 1.4 and 1.2 meg drives. Haven't given much thought to TRIAD recently...might be possible, but I would have to see some dox for rambo. G-T will not run on the TI, even with lots of extra memory, unless there is a paging scheme identical to that of the geneve. ga Dan...if elephants fly..... actually, I haven't written G-T to be fully functional on anything beyond DSDD disks. Some functions will work on any size, but I included no code for higher densities. A major rewrite would be in order, since that portion of the code is VERY compact, like 30 or 40 bytes free in that space. For clarification: GEN-TRI runs on the Geneve, TRIAD runs on the 4a, but the distribution disk for the latter includes a version which will run on the Geneve (although the editor portion is not too swift there). Next project? Finish the spellchecker. ga ga, Dan Since you are friend with jp did you have access to any 'myarc' inside in formation on the geneve that has helped you? yes but not really info that no one else could find out...I did not get any proprietary myarc info, all I got was suggestions from Peter because he remembered how things worked from having done myword. ga MARCLEVINE> Does gentri properly catalog a QD disk (720k, 80 track, 18 sectors/t rack) ie. does it properly handle the bit map (2 sectors/bit)? I've never tried it, Marc, but it should work since the catalog program is simply an assembly version of the basic one which is in the blue manual that came with the old TI disk controllers. I leave it to the DSR to ha ndle the dirty work. HOWEVER: even though the catalog may look right on the screen, I am unsure what happens beyond that. As far as I know, the low level routines work, but format routines will not. Marc - I use it with my 3.5's and it works fine. Excuse my ignorance, but does Gen-Tri have a scripting language? I have a followup, too... Yes, there is a script lang for the TE portion. ga great...Are you planning any further telecom software, eg mailers, off-line readers etc for use with PC BBS's? Not planning anything, but someone should write a routine which will unpack BBS mail (the systems where you tell them to ZIP your mail and send it as a file). I wrote a hard disk backup, or at least most of one, but have abandoned it because I did not want to work out a compression algorhtym. !@%$^ ga And there are only eleventy zillion different BBS programs out there...It would be nice if 4 or 5 of the main ones could be covered, though. ga True, would be a nice idea, but complicated since one would first have to write a de-ZIPper. ga c There is a de-ZIPper available. ga, Dan. Does Triad do 80-col's on a TI so equiped and does either gentri or triad take advantage of extra unused vdp memory on 9938 and 9958 equiped systems. (Then it might not be too hard to do, Jeff) Dan, TRIAD is 40-col only. G-T makes use of the 9938 chip for storage, but only 128K. It does not handle extended VDP memory. ga Wayne, I hope you update Triad, because I bet that now there are as many TI's with 80 column devices as there are Geneves, 80-cols is a terrible thing to waste! I might have to do that, Dan... Actually, that program is pretty compact, too. Runs about 19K for an editor, TE, disk manager and config. (The more compact a pgm is, the tougher it is to change it) ga ? Does TRIAD have a protocol hook like GEN-TRI? No, just ASCII uploads and XMODEM up/down. ga Transfers to hard disk? No, not even to a DSK1 emulation file. The reason is that the low level direct file input and output routines are not used. All file transfer work in TRIAD is done on a sector I/O basis, i.e. I wrote my own low level routine. On the 4a, this works faster since I can keep certain things in memory which the DSR low level routines have to fetch from disk. (Every time you send a bunch of sectors, the DSR has to find the file again). ga Perhaps you could incorporate Jesse Slicer's hard/floppy Xmodem routine via a hook. I haven't seen JS's routine. What's it do? It is public domain I gather, and source and object are on Delphi. It allows downloads to any directory, hard or floppy disk. At least, that is what I recall. The Slicer's use it with their BBS. No hook available on TRIAD, and G-T already has Xmodem built-in. However, it might be useful for Geneve users who need to use another MDOS than 1.14 for their hard drive systems. ga Not sure about Geneve compatibility. Someone else's turn. ga I'm VERY cautious about hard drive access on the Geneve. Users should know that I page in the eprom to get the job done. But that applies to file copying, file renaming/protecting, and transfer ring files to or from the hard drive in the TE. ga I have problems with the EPROM software, too. It is not a guarantee for success. ga I have no trouble with the eprom on the hfdcc, but maybe mine is newer?? ? I also don't let the hfdcc handle my floppies, I keep a Myarc DSDD controller in the box too. ga You know....I am surprised that no one besides Dan mentioned Vir-Gen. It's weird because it is the equivalent to the MG Explorer but for the Geneve. Has a disassembler AND an assembler on board. I thought folks would enjoy seeing how the Geneve worked. ga The main problem I have with using the HFDCC (with MDOS v97h) is that you do have to use the eprom to access 720k drives reliably. Hmm...hadn't heard of that one! Just another Myarc glitch. Wayne, how long have you been involved with the TI and when/where did you get started, what else do you do with your ti/geneve besides program... I bought my first 4A in '82, I think, and when the machine got the boot from TI, I had to make the decision on whether to go to a clone or upgrade the TI. I upgraded. (I have a clone now, but that's for different reasons). I have written papers on it and done a few other odds and ends, but mostly I use it for programming because I enjoy programming in 9900 assembly language. "Written papers on it"--please clarify. You mean technical articles on t he 99/4A, or something else. No, I mean papers for graduate schoo. (ouch! school) Okay. ga (need that spell-checker) :> ga BTW, does it work in TE mode? Would be nice to have something that would clean up a log on the fly. Wish that a spellchecker would work in TE mode...actually, it would be possible to have it work when in chat mode! ga Add that to my other suggestion of way back--unattended downloads via alarm clock. ga, Bob. :> Wayne, you mentioned some differences in Paul's GPL regarding the keyscan, I think, a while back. Could you expand on that? I beat my brains out trying to get the sysop keyscan to work right on an early version of PBBS a while back. (No, I'm not trying to look like I'm claiming credit for Travis' work. I just was playing around with it.) First of all, I think that the interrupt vectors are different. The first words in memory (at >0000) are >83E0 and >0024, methinks. That is the powerup vector which the microprocessor grabs. The next 4 words are the interrupt 1 and 2 vectors. And I think they are different from what the TI has. Second, any keyscan from a 4A based program, term program, that is, is unlikely to work properly on the geneve. I ran into this with TRIAD. I had my own keyscan for th terminal emulator because the console keyscan introduced delays. I could not use my own scan because the CRU lines are differnt on the Geneve. So I had to replace my code with a call to the "console" keyscan. That routine is still accessed the same way in assembly, BASIC or whatever vi a BL @>000E but it innards are different. The interrupt routines themselves are different, but I haven't tracked down everything. The keyscan also checks the print spooler to see if anything needs doing . And that is why you need the >4000 area paged in at the address set by GPL. (This is getting pretty esoteric here). ga thanks, that gives me a few clues if I decide to tackle it again. ga Bob, if you can discover that the program is using its own keyscan, replace the call to that scan with a call to the console. Molesworth's assembly book should have a decent routine. Seems to me that I uploaded one here a few months ago. Check the libs somewhere for a routine that checks the keyboard and can tell whether it is running on a TI or a Geneve. ga No, it is calling the console keyscan. I think there is a timing problem with the interrupts, because it does this in the middle of waiting for incoming chars on the rs232 port Ouch!!!! Interrupts have to be off if you are calling the keyboard! The interrupt and the keyscan use the same WS. (I know that >83c0 is the int WS, but it quickly hops to >83e0, which is what the keysacn uses) ga it does turn the interrupts off 1st, that's whats screwy about it. All I know is that it make the sysop look like a drunk on the keyboard weird problem.....can't think of anything else, though. Does it lock up or just generate garbage out the comm port ? (I use a similar technique in G-T: I poll the port during a transfer and if a char is not there, I check the keyboard for the ESC key) no, you have to hit a key 3-4 times before it gets picked up and then you may get some repeats...maddening...comm port works fine. definitely makes chat a real chore. I wonder if it is possible that the program does not check the keyboard often enough??? there's a thought, but it works fine on the 4a. The buffer would account for the repeats....does the pgm check for >FF a t >8375 or does it check for the EQ bit being set at >837c? Can't remember and don't have the source in front of me. You've given me a lot to think about though. Thanks and I'll let someone else have a shot at a qu estion. ga Bob, from what Peter told me, the keyscan works just the way TI promised that the one on the 4A would work, but in fact the 4A keyscan someimtes does not work properly, i.e the value at 8375 or 837c is not right or is not checked. I have had trouble with things not working on the 4q that are "written to specs." Paul supposedly fixed this on the geneve, so it could be that the program works on the 4a because it handles something which is wrong and which only gets in the way on the geneve wh ere the code is correct. Does this make sense? yep. It does. I will check that out and let you know what I find. Maybe VIR-GEN will help in debugging. Possibly, but you are going to have to keep an eye on the interrupts there. I was just thinking the same thing... Anyhoo, it's in the libs for free. Send $$ only if you want to. I wrote it for fun. ga ---------------- The question below was asked during the keyboard exchange and was missed by both Wayne and Jeff - [Ed] ---------------- Wayne, I have the book TI intern by H. Martin. maybe you could write an appendium, Geneve intern noteing some of the differences between geneve gpl and ti gpl op sys. code. ---------------- Let's discuss VIR-GEN a little bit. OK, shoot First, which environment does it work in: GPL or MDOS? Runs from GPL. But if I page in MDOS pages, I can take a peek at what is in them? :> Yes, on the screen is a list of the pages being used for the 64K virtual machine which I create. You can change these pages to anything you want provided taht (1) you do not duplicate pp. (2) you do not try to use a page vir-gen uses. You can page in lots of stuff, though. One thing I did forget was to put in a CRU addreser so that people could ** MICBRO just joined "Wayne Stith in Conference" (6 members now) ** wander through the eprom on the hfdcc. Next version! So I can page in >EC at page 0, and disassemble the GPL interpreter. ga I don't recall where >EC normally sits, or even if it is one of the basic 8 pp. , but if it is the interpreter, you should be able to page it in on any page you want. Then have a good time. >EC, >ED, >07, >36, >EE, >EF, >03, and >38 (I think). whoops, >38 should be >35. Could actually view the master DSR, then. I'll have to get GEN-TRI. er, VIR-GEN. Hang on a sec, jeff, I'm booting virgen on the other machine. >EC shows up as a reserved page. I had considered not doing this, so I may just put in a warning msg. Would you say that VIR-GEN is equivalent to Bruce Hellstrom's MDOS mode m emory viewer/disassembler? (which, BTW, does not access CRU either) Just took at look at >4000: it shows the master DSR. I don't know anything about Bruce's pgm. (Re CRU: I actually forgot to do it! Even DUMP-A_ -CHUNK will let you fiddle with CRU bits!!!) ga Are the boot EPROM pages reserved? Or can I look at them? Don't think so, if I recall correctly, the 8 TI emulation ppl are resere ved plus a couple that I use for buffers, etc. What pp. are the boot eprom pp.? >F0 and >F1 are sufficient. hang on... yup, i see SYSTEM/SYS Does VIR-GEN produce commented source code? and there's the debugger. you know, that would be a REALLY great idea. virgen lets you change memory without haveing to type in the code, i.e. you type in a source code line and it goes into memory. Does it at least have predefined labels for certain addresses and CRU bits? That can save some time when you want to experiment. No predefined labels. It keeps track of labels in a stack in VDP and ca n That sounds like a nifty feature. probably hold more than anyone would generate because it uses well over 100K of space if needed, methinks. You could probably write code to fil l the entire 64K address space and assemble it all into memory at one time . Oh, re labels: if you have already assembled something, I think I inclu ded the possibility of using a generated label later when entering source code as one line. What I would like to do is be able to run the boot EPROM equivalent out of RAM. Unfortunately, the EPROM pages itself in. You can copy the boot eprom to another area with virgen, then save it to disk and do with it what you want. Is that what you had in mind? (you can also disassemble it to disk or screen) You can also emulate running it. ga Will VIR-GEN insert a MOV @data,R1 where a MOV R0,R1 was, maintaining the rest of the object by shifting down? It will overwrite the code, i.e where 2 bytes were used before, 4 bytes are needed and the stuff laps over. However, you can move code down beforeh and by using the insert feature. It doesn't adjust any addresses, though. ga It is possible to create a LOAD/SYS program that will ask for the filenam e of a "SYSTEM/SYS" file if the boot EPROM can be loaded into RAM space with a f ew minor changes. That is the plan. Try virgen, it might help. LOAD/SYS will become essentially the new bootstrap loader. Thanks, Wayne. If I get it working like I want, I'll send it your way. ga Would like to see it. I might even send you a list of labels for CRU bits and memory-mapped addresses. :> But I have transcripts to finish, and benchmarks to write, and... Lots of lurking going on! Jeff, you might fiddle with that disassembler in the eprom and tell me the entry address. I never have been able to get it to work. What do mean never been able to get it to work? It always works for me. Do you go in from mdos or gpl? If no one has questions, I can explain how. Either MDOS or GPL--does not matter. WS? Huh? No need to bother about WS. Come in on a B or a BL? Maybe if I just tell you how to do it... ga Write a program that puts >F0,>F1,>F0,F1,etc. in the map registers. End it with BLWP @0. Now write a shell that copies this program to on-chip RAM at >F000, and then branches to it. That's all there is to it. Hmm..that's a lot different from what Peter told me, no wonder it didn't work! The code that maps the EPROM, either directly or indirectly, must execute from on-chip RAM. Another way to do it is to write a program that will be copied to on-chip RAM but instead of using the map registers, turn on the UNMAPPED mode bit and B LWP @0. That CRU bit is as defined in the Geneve Tech Ref. Many others are "ill- defined" (flat out wrong). It is very, very simple to reboot the Geneve. And here is another "secret". If you load code into the SRAM (pages >EC-EF, and >E8-EB with PaulC's mod ), it will still be there after a reboot. This is where a new LOAD/SYS can reside to boot a different "SYSTEM/SYS". Interesting info, Jeff. Or where a LOAD/SYS can look for the filename. We should wind up the conference, I suppose. Any other questions, folks? Maybe I'll have one for myself someday to explain the Geneve. Any remaining questions for Wayne? JERRYC> Thanks Wayne. Thanks for coming, Wayne. Thanks, Wayne Thanks, folks, for coming and listening to me run my mouth. I have enjoyed the evening. Well...I suppose I should clock out, got a full day ahead of me tomorrow . Thanks for hosting, Jeff. Bye, guys........# JERRYC> Goodnight all. Goodnight, everyone. Next CO may be sooner than you think. nite all... Goodnight, Ed. eof --- 12:15 AM