1994 by GEnie ========================================================================== This file is brought to you by The Commodore 64/128 RoundTable on GEnie This file may be published or excerpted in User Group newsletters providing credit is given in this manner: "Copyright 1994 by GEnie From the Commodore 64/128 RoundTable File#:#####" This file maybe be distributed, if distributed whole and unaltered, on non-profit BBSs or non-profit networks. For more information on GEnie call by modem: 1-800-638-8369 (8-N-1 300/1200/2400) Enter: HHH Then reply: xtx99018,commrt Then enter: Commodore And enjoy! ========================================================================== Welcome to the I Paint and I Port Conference with creator - Rick Kane. Tonight's conference is hosted by GEOS-TIM (Tim Hewelt) The Capture and editing of tonight's conference is being done by CBM-Bandit (Cam Stewart).Hi Cam. Howdy :) Special behind the scenes production and help is being provided by C128-QT.Pie (Sherry Freedline) Hi QT. Hiya :) Tonight we have a special guest. A programmer that has created a program that many say is one of the most, if not the most powerful paint program for the C128. Let's welcome Rick Kane!!! hi to all, glad you could make it! Tonight's conference is divided into four topics. 1) The beginnings. 2) Features of I Paint. 3) Features of I Port 4) Future improvements. Rick, one of the more interesting questions we have been asking guests is how they have gotten into computing. Could you tell us what drew you into computing? Well, that's going to take me back! The first computer I had any hands-on with was a TRS-80 that a roomate had after I graduated from college. Then got a TI-99, which had some games etc, but less programmable without "Extended Basic" or whatever that was. Also, tape loading was slow! I bought a C64 in late 83, and a disk drive later. Eventually I needed a 128 ;) I was always too cheap to buy the simpler programs, and with my Compute! and later Gazette & RUN. I typed in a lot of stuff, even Speedscript (whew!). Ah, that is a nice WP I always liked the way Compute would have programs for various platforms side by side. I think I learned a lot by seeing how other languages or versions of Basic would handle things. Looks like you've been computing for quite a while. What got you interested in graphic program? I guess that stems from my job & experiences related to that. I worked at a TV station from 80-83, as a videographer' (I'm not happy with that term.), and also ran the CG unit which supplies names etc. under people's faces on the news. I think it was just something I was GOING to be drawn to. You must have gone through a lot of paint and drawing programs before you started programming I Paint. What were some of them, and at what point did you decide that there must be a better way to do it? At first I had Koala Paint, then Flexidraw ( I was going for the record in # of input devices ;) I don't recall whether Basic 8 came out before I got a 128, but I had to have it ASAP because I couldn't wait for the sharp color displays possible. By this time, I certainly had GeoPaint too, but I wanted color & RGB! The Basic 8 manual had some talk of interlace, but not quite what we use now. It got me exploring, screwing up VDC registers. kind of the atom-smasher approach to learning hardware:) I can identify with that. LOL When Fred (bless'm) Bowen published some interlace work in TC128, I got really fired up. I managed to extrapolate from his monochrome work and created, I believe, the first color interlaced display in the c128 ( a D by this time). It was 640 x 600, and could show SIX Doodles at once. I took it to our user group to show and Loren Lovhaug (formerly of TC128) said I should write an article for him. Eventually, I firgured somebody needed to create a program to originate art in this new mode, so I started slugging away at what became I Paint-- very literally learning as I went. Once you have a color interlaced display, how far is that from a program that can manipulate color and images? Were there a lot of problems to overcome? You can do simple cutting and pasting pretty easily. It gets harder to start from scratch with memory and screen management, pointers, etc., so that's where Basic 8 came in handy. I was already learning a lot about it anyway. I had to fool it into doing what I wanted a lot, but at least I didn't have to reinvent FILL :P We are about ready to go into topic 2) I Paint , where we will look at the features of I Paint. Are there any questions from the audience at this point concerning the development of the programs? Rick, IPaint was your very first programming project then? No, there were a lot of earlier programs, but nothing anywhere near as big. The next biggest thing I wrote, mostly out of stubbornness, since the 128 version had been released, was an 80 column version of Speedscript 64 which used the RGB display on a C128. It works in every detail, even uses fast mode, but has no practicle value. Thanks Rick :) I should point out, I bought the Speedscript Source book to learn more about machine language & look what happened! :) We are glad you did, Rick. :D Rick, I know that I Paint has a lot of features, but what do you think are the most outstanding features of I Paint? The MOST outstanding?? (Whew!) After the obvious, the interlaced display itself, I guess first I'd mention features that other programs never had any reason to have, such as the ability to draw on only one field of video without affect the other. This is a fast way to work with the color mixing capabilities, as well as do some pretty nice double-exposure effects. Also, I Paint has a very powerful re-color ( WASH') mode. And you can select drawing mode- Over (replace), With Thru (sort of transparent) and Mask. They make for some pretty fascinating possibilities. We keep on talking about Interlacing. There are probably people who are going to read these transcripts that may not know what that is. Could you give us a brief explanation of interlacing? A video display that is interlaced has picture information on both video fields'. A field is composed of alternate scanlines, so each field has half the information of the image. Computers used to always display only one field, because with such discreet information you could view it quite well enough, and the computer only has to draw a field every 30th of a second, instead of the 60 per second for two distinct fields. Actually, the flicker of many interlaced screens, including I Paint, is due to the fact that the computer is still updating one field every 30th of a second, and, needing to draw two fields, it just lets the picture fade on the opposite field. This field idea was thought up in order to MINIMIZE flicker in TV, BTW. Great definition. I think I even know what it is now. LOL Let's say, I'm a user that has seen this conference, and I'm sold on I Paint. What are the minumum hardware requirement for using I Paint? Good question. You have to have a C128 with 64K of video RAM first of all. This can be a C128D, or a flat C128 with upgraded video RAM. It's a kit from SSI or a trip to a very good techie to upgrade. Next, you need a 1351 compatible mouse, and a monitor RGB, or one of those monochrome cables to see your work on the 40 col side (who'd really do that, BTW?) I probably would. :) Also you need a disk drive ;) I HAVE done it LOL Speaking of disk drives.what storage devices does I Paint support? I Paint works with any CBM DOS compatible drive-- 1541,71,81, 8040, FSD, any CMD HD, FD or Ram device which is transparent to the OS, and Commodore RAMDOS on any 17xx REU. Did I leave any out ? ;) In short, I Paint doesn't do anything nasty such as fastloaders or Copy Protection that nix certain devices. With CMD on the cutting edge of technology, it would have to be supported. I would assume that I Paint supports most dot matrix color printers. How well does I Paint perform with the new color ink jets? Absolutely! (That was me agreeing to the CMD statement) I have been developing new drivers to take better advantage of the output of the inkjets. I wish I could show you-- I'm REALLY happy with the results! I've written a prototype driver for the Epson LQ series since it's emulated so often by other printers. It's a prototype in the xxx that it uses dithering to get a very close match to the colors you see on screen. I'm using it with a Canon BJC4000 with beautiful results. It will lead to similar drivers for 9 pin printers as well. I got a little lucky-- it barely fit into the printer driver slot in I Paint! Another driver printers SEPs -- first a CYAN copy, then a Magenta, then Yellow, then Black. I don't know if anyone needs that ability, but it's coming! I was reading an article about I Paint in Commodore World that was talking about the "WITH" option, and how text could be superimposed on top of the current image creating a 3-D effect. A freind of mine has a program with his Clone that takes fonts and creates 3-D effects on the fonts. Could a person using I Paint get this effect for signs, banners, etc..? Would a person using it be able to manipulate fonts? Text is treated as graphics once it's laid down, so I Paint wouldn't recognize a letter as different from a sphere; but you CAN do 3D types of effects by shifting a bit up&right, say, and typing the same text off-axis a bit-- that would give a 3D effect. Yes, that is what I wanted to know. Okay, I Paint is a powerful Paint program. I am a GEOS user. Is there any way they could be used together in some applications? Could some of GeoPaints capabilities be used to suppliment what I Paint can do? Could some of I Paints capabilities be used to suppliment what I Paint can do? Yes, GEOS can be a great addition to I Paint (it all depends on your POV ;= ) For instance, there are many nice fonts in Geos & text manipulations that are unique to GEOS & would enhance many graphics. The stretching of Clips that GEOpaint does could be a handy thing. In order to use IPaint's features in GEOS, you are a little limited because GEOS can't handle IPaint's color scheme. But if you want to draw something using the full 640 pixel width, yet maintain the correct pixel aspect ratio, you could use IPaint in monochrome to draw up to 400 scanlines, then convert that to GEOS (I think there's a program out there that does Basic8 to GEOS, which would recognize IPaint format as Basic 8 in disguise ) I Paint saves to a Basic 8 format? It uses the same structure as Basic 8, so that any Basic 8 viewer or paint program would be able to load it, BUT, the interlacing of the color information will get screwed up . This seems like the natural borderline for our next topic: I Port. I Port is the program that takes the files that I Paint produces, and gives the user the ability to change it to a GIF? Is that correct? Yes, that is ONE of the thigs it does :) What else does it do? Actually I Port has a lot more to do with importing from other formats. Hence, its name. :D It will take a GIF up to 256 colors and render it onto the 640x400 screen. It also handles IFF files up to 4096 colors, Macpaint pix, GEOS, Doodle, Koala, and Printshop (am I leaving any out ??!) Basic 8 Thank you, that's right! and uncompressed DOODLE Got that So, Rick, If a person was going to use another paint or drawing program in conjunction with I Paint, they would need to purchase I Port. Is that correct? That's probably a fair statement. I notice that one of the features is the Color tables and Palette Equalizer. What do these features do? The Color Tables are used in converting Doodle and GEOS pix. For a given source color, you can select two of the sixteen RGB colors to represent that source color once it gets to IPaint. You might find that you can change a shade of red, for instance, or make all light green come out purple! As for the Palette EQ, now there's an animal! ;) In short, you set it like a graphic equalizer to change how a picture is converted. You can ask for more red (a red component in the source pic will then be more likely to turn on the red in the IPaint); or you might want to try to make all lighter blues & greens turn to light grey, etc. This is a tricky control, and very powerful. Experimenting is truely the only way to get a handle on it. Does IPort have an option for printing, or must it be printed from IPaint? Printing is handled by I Paint. I might sometime make a print utility. One more feature of I Port needs to be looked at. I Port has the ability to compress GIF files that are made. Up to 5 levels of compression are possibile. Why does a user need 5 levels of compression? They may not need'em all, but it was just as easy to give that many choices as two! The reason you may want to select your level is because compressing a GIF takes a fair while. Selecting a level that does less compression may save you 1/2 the time of one that maximizes the compression (minimizes the file size). A user might want to opt for max compression if they're just letting IPort work and walking away for a while, or let it slack off if you'd rather be on to another picture file sooner. Okay, I'm a user that has been at the conference, or I am reading the transcript and I decide I just have to have I Paint and I Port. Where do I have to send the order, and how much money do I have to send? Can I call and order by Phone? Can I use a credit card? You can order I Paint & I Port direct from; Living Proof, Ltd. PO Box 80714 Minneapolis, MN 55408-8714 The prices are IPaint-$39.95 ppd. I Port-$29.95 ppd. or both for 59.95 Sorry, We (I) don't take phone orders or plastic. But you can order from CMD if you want. Now I have purchased, I Paint, and I Port. Is there any support for it? A phone # to call, a BBS, any support on GEnie? I find the best way for me to help is mail, snail or otherwise. I have always uploaded bug fixes (precious few, thankfully) and printer drivers as they are released, and will answer any questions delivered by e-mail or snail mail as best I can. Often, I'll need to get more info from the questioner, but that's easy with either mail type! Rick's Email address on GEnie is R.Kane How often do you check your Email on GEnie? Summers it gets a little tougher, but I try to look at least once a week. Okay, you are actively working with I Paint and I Port. Are there any improvements that you are working on that you could let us know about? Well, there's a lot of ideas floating around. For I Port, I'm looking at the ability to decode interlace GIF's directly to the screen, and maybe add PCX conversion. Some people want JPEG, but they may want too much! That would really be great if it could. Especially since that seems to be the direction files are going. Burts read routines are in the works as well. As for I Paint, that's a lot stickier. I don't want to promise things, because it's a ways off, since virtually everything would be rewritten. I'm thinking I should do a survey of users to see what's important to them. For instance, do I have to continue to support the Basic8 printer drivers? Would two powers of magnify be worth more than having the ability to see part of the normal-size picture at the same time? There is only so much room to work with, and yeah, and IPaint had only about 400 bytes remaining available for new stuff! Well, it sounds like this is going to keep you busy. The Burden that all C= programmers have to contend with..memory Well, I certainly know more about I Paint, and I Port. I can see how I could use them for my graphic applications. Are there any questions from the audience? I think we covered everything pretty well. I think they definitly have a place in the serious graphic users' library! <128PowerUser> I was just going to ask about the possiblility of importing JPEGS. But you may have already answered that. I haven't done any looking into it. I'm not sure what the demands would be as far as memory and processor speed. <128PowerUser> I would like to see input drivers or support for the handyscanner and videodigitizer. These would greatly enhance Ipaints usefulness. Good point! This is an area where there is much to be done. <128PowerUser> Animation would be another interesting thing to play with. If you had the ability. Well, the VDC is slow to access, but by decreasing screen size anbd buffering frames in VDC RAM, some fun would be sure to follow! <128PowerUser> It would most definatly require a ram device for full effectiveness. I want to thank everyone for coming. And I would like to thank Rick Kane for being so informative. And for being such a talented programmer. I Paint fills a need in the Commodore community. Thank you Rick Thank you, TIM, you do a great job w/ these conferences. Glad to be here. We are going into open conference mode <128PowerUser> Oh, I would still like to see a free-form or lasso clip ability in Ipaint. That's a big order Tom, but you know that ;) I'm surprised what our programmers are coming up with for the C= platform. It is just incredible <128PowerUser> But I think you can do it! Berkeley was planning on using it in geopaint on the 128. It can be done, it's just a matter of alloting resources (time)! Yes, Time is the problem If only someone could make a living just doing commodore programming. lol