CompuServe Thread

#BBS

46 messages in this thread
#23274From: NEIL GOLDSMITHMay 6, 1992 8:15 PM
I am currently attempting to design a BBS using a combination of ARE , Atalk III, a database, and a little C programming. I have a good basis for it that will allow uploads, downloads, and limited messages. But, this has all taken an extreme amount of time and I am quickly re realizing the amount of work ahead of me. My question is this: Is there a BBS program out there on the market or user-written that will open an Arexx port and do most of the basic BBS work, but will still allow me to design the board as I want it? I am looking for the BBS software to do as little as possible so that I will have the freedom for a completely customized board.
#23278From: Steve Jackson GamesMay 6, 1992 11:55 PM
I suggest you look at DLG Professional. It's incredibly powerful and configurable. Loyd
#23279From: Jim OgilvieMay 7, 1992 12:48 AM
Neil… Yes. There is a board out there that is pretty much as you described. The board is called BBX, it is written by Steve Tibbett. It should be available as a commercial product very soon, I believe it is in the final stages. It is very REXX friendly, I believe most of the menu system uses it, and this allows for optimum configuration. It's multi-line capable, and lots more. You can leave a message here for him or call his bbs at 613-731-3419. Jim
#23283From: Marlene Zenker/SYSOPMay 7, 1992 9:36 AM
I'm not sure what the current status of the product is, but you should try and find out more about Steve Tibbett's program BBX. (Steve's the guy that wrote VirusX, ScreenX, and other great utilities). I know he's been working on it for a long time, and I'm sure it's something you'll want to look at. Steve's on here ever so often, so he'll be able to give you more info about it. Steve
#23434From: Steve TibbettMay 12, 1992 8:35 AM
"Working on it for a long time" is an understatement. 😎 But, it does have the benefit of being released as a mature product, since it's been running for about 3 years now, and on and off on a total of about 20 systems. Reliability is something that seems spotty in the current crop of Amiga BBS's. …Steve
#23436From: Len LekxMay 12, 1992 8:53 AM
Steve- Could you run off a list of its features? I'm considering entering the BBS game myself and am looking around comparing programs. One thing I'm looking for is FidoNet compatability, since I'll be running it as a Fido mail system as well. (I hope it has ANSI and XPR file protocols too. ^_^) Len Lekx [73300,723]
#23467From: Steve TibbettMay 13, 1992 7:05 AM
BBX doesn't do Fidonet or Usenet internally, but there are enough hooks that other people can add it later on. That's being worked on now, actually, by a local fellow who wants Fidonet. Ottawa is a veritable hotbed of Fidonet activity, what with Welmat being written here among lots of other FidoThings. BBX does XPR no problem. I'd be surprised if any Amiga BBS didn't support ANSI. Actually I'm looking forward to seeing what people do with BBX once it's out. I'm not including a thousand bells and whistles – I'm giving a decent BBS engine and a good default BBS, but you can turn it into anything you want it to be. That's important to a lot of people. …Steve
#23471From: Len LekxMay 13, 1992 10:04 AM
Hmmm… Not being a very good programmer myself, I'm rather limited in what I can do with such hooks. (Strong incentive to get my butt in gear and learn! ^_^) When will it be released? Will you be uploading a demo version here for interested folks (like myself) to play around with it before committing? (Oh, one thing I forgot to ask before..) Does it handle multiple lines? Do you internally support a multi-line chat/conference mode, or is that something I'd have to write myself? Thanx for the info. Len Lekx [73300,723]
#23476From: Jim OgilvieMay 13, 1992 11:51 AM
Len… I can answer that one. Yes, BBX does support multi-line, and has a multi-line conference mode, that's all built in. BBX even informs you if there has been a new message written to you while you are online, so that you can retrieve it before you leave. You can also 'send' messages from node to node if you like (like send a message to someone while they are in the message section). Jim
#23504From: Len LekxMay 14, 1992 9:43 AM
> Yes, BBX does support multi-line, and has a multi-line conference mode, > You can also 'send' messages from node to node if you like. Well, well, well. (^_^) You wouldn't know offhand how many serial lines it's capable of supporting? (C-Net is limited to 24, while DLG Pro is limited only by available ports) (This might be remotely impossible) If I were to connect several Amigas in a LAN configuration, would I be able to use BBX to link them together for a mega-multi-line system (replete with file servers and separate message bases for each machine)? (I know, that's probably too far out, but what the hey, it couldn't hurt. ^_^) You know, if it weren't for the lack of FidoNet/UseNet message compatability, I'd probably go with BBX to set up my (moderate future) system. Once Steve adds this capability (if he does ^_^) I'll take a long, hard look at BBX. Until then, I'm strongly in favour of DLG Pro.
#23742From: Steve TibbettMay 22, 1992 7:20 AM
BBX supports up to 127 lines (and it may support more, but I've never tried it 😎 At least, that's how many nodes it supports. And a given BBX node doesn't take much CPU time at all when it doesn't have a console open. With a console open, it slows down because of the console.device. (When Jim mentioned sending a node message to a node when a message is entered to it from another node, that's just scratching the surface of what I _hope_ people will do with this. External programs can send messages to any node (or all nodes) in a couple of ways – so you could do something like, write a script that lets a user upload a .c file, compiles it on the BBS machine, and then writes a message to the user with the compiled file attached, and sends a node message to the user saying "Your file is ready". T'would be fairly easy to do, as well.) BBX doesn't support running on multiple machines. BBX does it's database arbitration in RAM, so hooking a buncha amigas up to the same HD won't work. What sort of Fidonet/Usenet compatability do you want? XRead (my BBX usenet reader) works fine with Matt Dillon's UUCP stuff, and Fidonet is being done (not by me, by somebody else, but it is being done). …Steve
#23746From: Len LekxMay 22, 1992 9:56 AM
Steve- > I'll upload a demo version, probably about the same time it's released. Any projections as to the release date? (^_^) > BBX doesn't support multiple machines. Oh, well. It was a pie-in-the-sky dream, anyway. 127 lines ought to be plenty for anyone. (^_^) > What sort of Fidonet/Usenet compatibility do you want? Well, I understand that DLG allows message bases to be intermixed, so that a BBS user can read messages imported from either UseNet or FidoNet without seeing a difference. I was also thinking in terms of 'gating' UseNet messages into FidoNet, which have two separate and distinct message formats – crossover might be difficult. For strictly the FidoNet end, using the TrapList.library for nodelist support would be something I'd strive for. Also, having an account for each user that is debited each time he sends a NetMail message (Matrix Message) (DLG and some other BBS software calls this a 'NetMail Credit' system), so that the user knows just how much it costs the SysOp to send his message to his buddy's BBS in Japan. (^_-) How would BBX fare for non-programmers like myself? I'm only just starting to learn the basics of ARexx, and have yet to master the DO loop. (^_-) Len Lekx [73300,723]
#23878From: Steve TibbettMay 26, 1992 9:18 AM
To get into customizing BBX, you're going to need to know the basics of ARexx. There is no way around that – but once you do know a bit of Rexx, you can do a lot with it. The problem with integrating the messages into the BBX message area, is that the BBX message area has the standard fields – From, To, About, etc… whereas Usenet's headers can be any size. I don't think throwing the usenet stuff in with the local stuff is appropriate, because they are very different things. I suppose you could write some rexx code to do it anyway if you wanted to though. …Steve
#23881From: Steve TibbettMay 26, 1992 12:40 PM
To get into customizing BBX, you're going to need to know the basics of ARexx. There is no way around that – but once you do know a bit of Rexx, you can do a lot with it. The problem with integrating the messages into the BBX message area, is that the BBX message area has the standard fields – From, To, About, etc… whereas Usenet's headers can be any size. I don't think throwing the usenet stuff in with the local stuff is appropriate, because they are very different things. I suppose you could write some rexx code to do it anyway if you wanted to though. …Steve
#23870From: Black Belt SystemsMay 26, 1992 1:01 AM
Steve – how about hooking a bunch of Amigas up to the same ram, like with ENLAN-DFS? It's very easy for me to rename my (local) ram: device and then run "RAM:" as a device on the machine with the common work area. Should work fine, no? –Ben
#23884From: Steve TibbettMay 26, 1992 12:41 PM
I don't mean I use RAM:, I mean I use system semaphores and one global library base to handle things, and that wouldn't work with multiple machines. What would work would be having a control program on one machine answer requests from other machines, and that shouldn't be too hard to do, but I don't have the hardware to even start working on something like that. …Steve
#23739From: Steve TibbettMay 22, 1992 7:19 AM
I will definitely be uploading a demo version here, probably around the same time the program is actually released. Yes, BBX does multi-line, and has chat support built in as well as sending messages between nodes at any time. …Steve
#23529From: Don NafisMay 15, 1992 5:33 AM
Steve, I'm looking to upgrade Viva! Amiga! (609 227-8278) from BBS-PC!. VA has been running with BBS-PC! since 1986 and, although there are a lot of bbs systems out there that have better features than BBS-PC!, there doesn't seem to be one that has everything that I want. These include, message threading, conversion of BBS-PC! files, customizable menus, the basic file protocols of BBS-PC! and ease of maintenance. Will BBX have all of these (plus more)? Additional features I'm hoping for are programmability (doors?), message base isolation, multi-user, multi-serial port handling, overlapped i/o (i.e. file handling as a separate task from the serial port i/o to maximize serial port throughput), multi-level activity logging, mail distribution list handling, single-user, single-file download targeting, background statistical utilities or, at least, public disclosure of file structures, ARexx manipulation… The longer I think about it the more I come up with. At any rate, if BBBX can handle the stuff in the first paragraph and most of the stuff in the second, you will have another customer here. Please keep me informed of your progress.
#23571From: Dale D. SnellMay 17, 1992 8:21 PM
Don, BBX will do everything in your first paragraph, and the multiple-user multiple-port stuff. I don't know about the rest of your wishlist, though I suspect it will do a lot of it. BBX can be made to look just like BBS-PC!, which is one of the reasons that it was chosen to replace BBS-PC! on the NAG BBS. (NAG BBS is the official bulliten board of the Northwest Amiga Group.) A lot of us on NAG have been looking forward to the changeover for a long time now. Can't happen too soon for me. 🙂 –dds (dales@teksce.SCE.TEK.COM) Whappeta-whappeta-Whap!
#23662From: Don NafisMay 20, 1992 5:45 AM
Dale, Thanks for your response. I'm looking forward to BBX then. BBS-PC! is getting more and more frustrating as the years go by. Luckily it has been rock-solid for me. – Don – via Whap!
#23713From: Christopher LapriseMay 21, 1992 5:57 PM
Just FYI, Proteus does have all of thosre features, except a direct BBS-PC to Proteus file conversion, except that 1) all file structures seem to be documented and 2) it's easy to write ARexx scripts to feed Proteus data (adding whole directories of files, etc.). I thought it curious that you referred to 'overlapped I/O'.. I believe that is most commonly referred to as asynchronus I/O on the Amiga (the ability to keep processing or sending even through the device is still sending previous data). You do seem to be one discriminating SysOp!
#23914From: Don NafisMay 27, 1992 10:05 AM
Christopher, I've kept Viva! Amiga! running for almost 6 years with BBS-PC! and am reluctant to change unless I can take a big step forward. Do you have any details on Proteus or know where I can get them? I'd sure like to see a features list, perhaps an installation and maintenance demo module and, of course, info on how to reach its creaters. I come from the mainframe world where I have been used to refering to it as "overlapped I/O" for 25 years. Overlapping I/O with processing or other I/O is one of the things multi-tasking is all about. It provides maximum throuput for all data entering or leaving a computer. I kinda took it for granted that Amiga programs would use overlapping techniques only to be disappointed. One of the biggest disappointments is Whap! which brings the serial port to a dead stop while it writes data to a disk file, even worse, to SLOWLY fill in a wedge in the file download pie chart!! – Don – via Whap!
#24052From: Dale D. SnellMay 31, 1992 6:59 PM
Don, Re Overlapping I/O: I'd love to see BBX (or any other BBS) support Matt Dillon's DNet software. The ability to up- and down-load a set of files, while simultaneously reading the message base would be great! [SteveX: Hint! Hint!] DNet, or something similar, would be very nice on CIS, but we'd have to convince TPTB here to implement it. Changing Whap! alone certainly wouldn't do it for us. –dds (dales@teksce.SCE.TEK.COM) Whappeta-whappeta-Whap!
#24140From: Christopher LapriseJun 3, 1992 1:42 PM
Funny you should mention that, although what Don was talking about (overlapping I/O) is different from what you are talking about (packet-switching data over a serial port). I might as well let the feline out of the bag and let people know about my Proteus<->DNet interface project. I essentially have a BBS setup with the ability to operate via DNet, currently giving the user the ability to download, upload and continue using the rest of the BBS system (incl. messages, etc.) simultaneously. It only requires a set of DNet servers (''terminal software'') which I wrote, and this is available for download on my BBS. Although it is currently at a 'gamma' stage, the system which I term "ParaBIT", is functioning and seems to be reasonably stable as of V.93g. If you want to see it, you can call 'Troy City Proteus' at (508) 677-4535 and logon as normal. New users must wait to be validated, however, so you will have to make a second call. – Chris
#24261From: Dale D. SnellJun 8, 1992 4:04 AM
Chris, Thanks for the tip; I may just give your board a call. –dds (dales@teksce.SCE.TEK.COM) Whappeta-whappeta-Whap!
#24139From: Christopher LapriseJun 3, 1992 1:41 PM
Don, As I believe I've said before, Proteus is available for download here on CIS. Or, if you would like, you can call my BBS system and inspect the default setup (well, slightly modified 🙂 and download it at the same time (quite literally.. as you shall see). I also think the release I have is slightly newer. The data# is (508) 677-4535 1200-14.4K BPS (V32bis/V42bis). I was very pleasantly SUPRPISED at how Proteus handles its I/O streams.. it even includes a specialized caching system (primarily for the efficiency of multi-line setups).
#24180From: Don NafisJun 5, 1992 6:27 AM
Christopher, I'll give Proteus a try. Sounds intriguing. – Don – via Whap!
#23740From: Steve TibbettMay 22, 1992 7:19 AM
I am still not sure if I'm going to do conversion of files from BBS-PC – the file area is no problem, but I don't have any way of getting the message base out of BBS-PC aside from going and figuring out their file format – have you ever seen a utility for converting the BBS-PC message base into something else? You definitely get programmability. Message base isolation works much like it does in BBS-PC. Multi user, multi serial is no problem. Having the file handling as a seprate task wouldn't help any, as when BBX is doing anything that the user has to wait for, it's because the user wants the result. Saving messages takes almost no time, and that's about the only place where you're starting any sort of database work that you don't immediately care about the result of. "single-file download targeting"? "background statistical utilities"? I'm not going to publicly disclose my file structures. I will, however, give you routines you can call to access the files. This way I'm not tied to the file format. …Steve
#23792From: Marlene Zenker/SYSOPMay 23, 1992 8:12 PM
A long time ago, I wrote a review of BBS-PC! for Amazing Computing. I don't have the program any more (I sent it to Jez San, 'cause he said he needed a BBS program), but I *think* were some data structures in the back of the BBS-PC manual. Maybe their file format is documented there? Steve
#23921From: Don NafisMay 27, 1992 11:48 AM
Steve, The BBS-PC! file structure docs in the manual were for an earlier version. The 4.13 version has different structures and they were not documented in the newer manual. – Don – via Whap!
#23801From: Betty Clay/SYSOPMay 23, 1992 11:36 PM
Steve, Robert Miles, who operates the Excalibur BBS in Dallas, has done lots of programming to enhance BBS-PC. His BBS number is 2143412775, and I'm sure he would be helpful to you in any way he could. Betty
#23883From: Steve TibbettMay 26, 1992 12:41 PM
Thanks, Betty – I'll give that BBS a call. …Steve
#23915From: Don NafisMay 27, 1992 10:05 AM
Steve, On BBS-PC! to BBX file conversion: – BBS-PC! contains a description of each file, the time and date of upload, the uploader's name, the number of times accessed ,file type, path status, whether file was uploaded remotely or locally, file size and directory info. I would like to preserve all of it. There is a utility called BBSINDEX which can be set up to dump all of this info to an ASCII file, so all that we (sysops) would need is a way to feed the ASCII info back into a program to rebuild the file base in BBX format. – I don't know of any similar utility for managing the message base or user records. It is possible in BBS-PC! to dump all of the messages to an ASCII text file using F10 to define the file and then letting BBS-PC! record a hand guided trip through all of the messages. I use this technique to dump off messages that I use for creating my "best of" sections. The "best of" menus and text files are then created from an ARexx program with this ASCII text file as input. With appropriate arexx commands in BBX, an ARexx program could pump messages from this ASCII text file into a BBX data base. – Some years back, I tried to hack out the struct of the user file and may still have it here someplace. I'm not sure that I have the key file though. MSS published the file structs in an early version but the current one is different, so I had to guess at a lot of things. It won't be bullet proof. At any rate, it is vital that all of the user file info be transported to a new BBS. Unlike the method I mentioned of capturing messages, there is no easy way to capture user information in a text file (no non-stop command when listing). With 450 users, it would be a long and tedious process to capture all of the users to a text file. By message base isolation, I wanted something UN-like BBS-PC! I would like to put different message bases into different files. Mutli-tasking of file handling may not be necessary but it seems to me [ MORE ]
#23916From: Don NafisMay 27, 1992 10:06 AM
[ continuation ] the best way of getting maximum throughput on the serial line. There is no excuse in a multi-tasking machine for a file transfer (upload or download) to pause for disk activity. When downloading, the data should always be in memory before the previous block has completed; on uploads, a completed block should be "handed off" to a disk task/process to be written to a file without making the serial port wait for the results. The same principles apply to non-stop message dumping and ASCII send message uploading. If you have done this without multi-tasking then multi-tasking is certainly not needed. It just seemed to me the best way to do it. The need for maximum throughput is more obvious now that everyone is going to 9600+ bps modems. "single-file download targeting" – being able to target a single file to a specific user or group of users without making it a general download file. I have 3 beta testers that could log on to the BBS at their convenience and download new program versions if I could target the file to just them. There are a number of other people that I would like to target files to, usually not on a regular basis. I'd like to be able to tell the BBS that this file may only be downloaded by person x. X could be an alias for a group predefined as persons a, b and c. This concept could also be applied to the message base as a distribution list feature. For instance, the president of our local user group could send a single message to an alias representing a list of all members or of just the officers, and have that message marked for those people when they logged on. "background statistical utilities" – my most valuable one is BBSINDEX. It doesn't interfere with BBS operations and I run it once per hour (using NAZCRON) to create my online files list. The list is, at most, only 1 hour old at any time. BBS-PC! provided a background stats utility, but, unlike BBSINDEX, it is bug ridden and crashes the system. I guess that if you are not going to disclose the file structures, you will have to [ MORE ]
#23917From: Don NafisMay 27, 1992 10:06 AM
[ continuation ] provide these. File struct disclosure. If you are keeping the file structures to yourself, I hope you are providing a program similar to BBSFIX. I would have given up SYSOPing years ago if it hadn't been for BBSFIX. Too many things go wrong too often. While BBSFIX doesn't always fix everything, it has always gotten me back online after a crash. Also there should be some way to extract ALL inforamtion from all files as ASCII text and allow ASCII text files to pump all data back into the database. An offline (background) utility would be ideal, one that doesn't interfere with the bbs, but ARexx commands in the bbs would be OK as long as they may be used when someone is conneced and will not interfere with the ongoing session. I'd appreciate a list of BBX features if you have a feature file handy. As you can tell, I'm not going to jump into something new without knowing what I'm getting into. Thanks for your efforts. By the way, I run Viva! Amiga! (609-227-8278) in Southern New Jersey (10 miles from Philadelphia). Give a call if you are curious. 9600bps, open system and FREE. – Don – via Whap!
#23542From: John GagerMay 16, 1992 6:12 AM
Steve: Will BBX support CD-Rom drives as devices for downloading? Will it also allow you to set up a door that can be used to execute CLI commands? The reason I'm asking is that I need some BBS software that will do these things and I'm hoping that BBX will be the answer.
#23741From: Steve TibbettMay 22, 1992 7:19 AM
What's a "Door"? 😎 I hate that term. BBX lets you call external programs. You can spawn a remote shell if you like, or you could spawn anything that does console input and output. Of course it won't know about BBX's time limits, etc., but if the program wants to learn, it can. I do have support for CD-ROMs in that you can store the file catalog separately from the files. You can only do this with 64 file areas right now, however, and I'm not sure if that's enough (since I haven't seen how the CD-ROMs are generally laid out). …Steve
#23769From: John GagerMay 23, 1992 12:19 AM
Sounds like your external program support (aka DOORS) is just what I need. I wrote a program awhile back for the CLI that would search a CD-Rom for Amateur Radio callsigns, and then print the information (address) to the console. Would probably have to change it a little since it uses command line arguments. Hmmm….file catalogs for a CD-Rom. Depends on how the catalog is generated. Most BBS systems have you go in and enter the descriptions and other information manually. If you want to take the time and write a program to generate the file listing automatically, it can be done but most Sysops don't have the time or programming experience to do so. The 'Baud Bandit BBS' system by Richard Stockton probably has the best implementation of a CD-Rom door I've seen so far, using an Arexx program. Basically, it assumes that you already know what files you want to download from a file listing of the CD usually provided on the CD itself. Then the Arexx program lets you go in the CD-Rom drive and its sub-directories just like any other device. You then get a paged listing of the files in that directory. Then you can mark what files you want to download, go into the next directory, mark more files, etc., and then download the whole bunch. Get the idea? Using a file listing for a CD-Rom can be impraticle unless it is easy and automatic. With thousands of files and dozens of directories, it can be a real pain. John – K7KB (via Whap!)
#23882From: Steve TibbettMay 26, 1992 12:40 PM
Sounds like I'll have to get a CD-ROM drive at some point, and put in some real support for it. Until then, the Sysop (again) is free to write some Rexx code that would let the user do exactly what BBBBS does. It should be pretty easy to set up – and actually, writing a separate rexx script for each CD-ROM would be a pretty nifty idea, customizing it to the directory structure of the CD-ROM. …Steve
#23907From: John GagerMay 27, 1992 2:20 AM
>> Sounds like I'll have to get a CD-ROM drive at some point, and put in some >> real support for it. Until then, the Sysop (again) is free to write some >> Rexx code that would let the user do exactly what BBBBS does. It should be >> pretty easy to set up – and actually, writing a separate rexx script for >> each CD-ROM would be a pretty nifty idea, customizing it to the directory >> structure of the CD-ROM. That's pretty much what BBBBS does. It has an 'exclusion' list of directories for the 'Fish & More' and 'Fred Fish On-line' CD's. Whatever directories are in the exclusion list don't show up when the user wants to get a directory of the CD. All he sees is what the Sysop wants him to see. I've been able to get BBBBS running now. Don't know what I was doing wrong before, but it seems to be doing OK. It has a few quirks, but seems to do the job. I'll be interested in taking a look at BBX when it becomes available. You don't need another beta tester do ya? <g> John – K7KB (via Whap!)
#23482From: Marlene Zenker/SYSOPMay 13, 1992 5:20 PM
Can you tell us more about it? Does it have a publisher yet? Inquiring minds want to know! 🙂 Steve
#23284From: Michael GerardMay 7, 1992 2:23 PM
Check out the bulletin board being run by Black Belt Systems…. it's called BBX and was written by Steve Tibbet (sp) who frequents these fora on a regular basis. Michael ….from the north coast (go Cavs!)
#23351From: Dale D. SnellMay 9, 1992 6:25 PM
BBX is a very nice BBS. There are two boards in the Portland, Oregon area that are beta testing it. They are: NES BBS at (503)-640-9337 and Cryo Cafe at (503)-257-4823. Both boards are up 24hrs a day, with v.32bis modems. You might want to check out the game "Perihelion", as an example of what can be done with ARexx and BBX. –dds (dales@teksce.SCE.TEK.COM) Whappeta-whappeta-Whap!
#23435From: Steve TibbettMay 12, 1992 8:36 AM
And the Perihelion you've seen is primitive compared to the Perihelion Craig has in testing now. (Peri was the largest ARexx script ever written, at something like 400K. He's rewritten it in Modula-2 and added a LOT to it – it's a lot more than your average BBS game). …Steve
#23572From: Dale D. SnellMay 17, 1992 8:22 PM
Steve, Sounds neat! Is this going to be a stand-alone product, or will it still work with BBX? –dds (dales@teksce.SCE.TEK.COM) Whappeta-whappeta-Whap!
#23424From: Christopher LapriseMay 11, 1992 10:29 PM
NEIL, I suggest Proteus! It is available for download here (which is far cheaper than expensive commercial packages). Proteus is a BBS Engine and comes complete with a *nice* BBS written in ARexx. This package was originally marketed as a commercial product, but apparently the new company couldn't make it financially (which is why the author accepts contributions). I've been a sysop for several years, and I rate Proteus a "MUST SEE" as I think it will give you what you want.