íEíCfÃçü       Initializing Media      9105ANN2 ‚Uªÿ BOOT       DIRECTORY  ØEOS_WSAEFTuECHOH LEFTùFILERpatchAFDeluxeAEFT‚SPRITES2A$&SPRITESADA&µSCRN_COLORA'^IOPORTSApB·*øWCOLORBASAB·,WblockpeekA-wHELLOALEFT. SB2_notesH/BASIC_revuH;>cartbackupHCÁCPMADAMFIXAÐHWConvertAFTKÙConvrtDocHO SOFTWARE:  TDOS458 or CP/M2.2 - I prefer TDOS. FC05.COM - to easily tag and convert EOS files to TDOS. ADAM.COM - To convert EOS to CP/M (I urge you to get TDOS) NEWSWEEP.COM - to move files to and from drives and disks. VDE266.COM - to convert carriage return symbols (dashes     "-") to              WordStar-type carriage returns. WORDSTAR version 4.0 (though I suspect versions 2.0 and 3.2 would              perform almost as well. NULU.COM or MAINT096.COM to create library files for        arc          CONVERTING EOS TEXT FILES TO WORDSTAR FORMAT  By:  Bob Blair,  ANN Regional (WordStar) Editor  Recently, I have been assisting the Adam News Network       publication  by converting their articles from EOS into TDOS/CPM,        WordStar  format for use by some of the BBS SYSOPS and Newsletter     Editors  who use WordStar.  In the course of this activity, I have  discovered some editing techniques and shortcuts that may   be of  assistance to others who have similar conversion pursuits. §ConvrsionsAW‘NUMBERSAFT_ÓINSIDE_ANNH`üannActivitHh¨NIAD4ALEFTn6NIAD11AEFTreNIAD14AEFTuâAC03ud591AyºJAbasicAT}yLIFEAH:pB·vWCHESS5A:pB·…_WREADMETWOA‡Poster1FTŠ

‡&Poster2FT”

‡&BLOCKS LEFTžhives.  With the exception of WORDSTAR AND CP/M, all of the above   are public  domain programs.    HARDWARE:  While my conversions are performed using a 20 meg hard      drive  system, with two disk drives and an 80 column               emulator/monitor,  any hardware configuration can theoretically be used.       However,  the ability to view the text in 80 columns is close to      being  essential to this process.  In addition, tape drives are    far too  slow for convenience in booting WordS beginning of the article in the    third,          fourth or more line.  Use Control + G to erase           individual characters.  You will find some repeats          at the very end of the article also, which must be          erased.)    *   "   Control + C to get to end of article, and Control +         R to get back to the beginning (to see what length         and end of article looks like).  Control + Q then C         goes straight to end, Control + Q then R returns          straight to begllows you to see all of the files on the screen at one     time, and  tag them individually, or collectively, for quick renaming  and  conversion to TDOS.  I transfer all of the files at one     time to  another (completely empty) Drive and User area.  I use      drive B1  on my hard disk for the newly converted files.  An empty    floppy  disk would do as well.    FILE NAMING TIPS - renaming the files is sometimes tricky   since  CP/M and TDOS can only use 8 characters in the file name    (plus  t     (use down arrow key to move past carriage returns you      want to keep).  *   Type Control + Q then A to automatically find and       replace     a wide variety of unwanted:          Spaces: Use spacebar to tell it to find three blank     spaces             and replace with one blank space, then use the             G - for global, and N - for no pause - and      press              return and it will eliminate blank spaces.      Repeat             that twice and then drop to two blank spacesP EACH FILE INTO VDE266 THEN SAVE (Control +  K then  S)  them immediately, without changing anything.  This sets up  all of  the carriage returns into wordstar format automatically.    CALL UP THE FILE IN WORDSTAR, then:   *  Type Control + O (letter O) and J, to disable right      justify.  *   "   Control + Y to erase the first line of garbage.         (Often times there are two or three lines at the          top of the article that are repeats.  Look         carefully          for the correcttar and performing     other  tasks.  OPERATIONS AND TIPS:  The following is shared with the clear understanding that   these  are not the only, or necessarily the best, methods.  This   advice  is offered in the hope that they may help someone else,  especially someone willing to share their improvements to   these   methods.  Conversion from EOS to CP/M or TDOS  While ADAM.COM (CP/M only) can be used to convert from EOS  to  CP/M, FC05.COM is far superior in that it operates on TDOS  and  ainning.  SPECIAL NOTE:  If the file is a SmartBasic program, I stop  editing at this point and use the Control + X to save and exit WordStar.  Often further reformatting/changes will cause unwanted alteration to the program content and proper spacing.  *    Type Control + U to reformat entire document to 65       columns.  (Note, use Control + O then R to set other       widths).  Control + B will reformat a single           paragraph.  *   Use wildcard key to eliminate unwanted carriage returnshree in the file type).  I try to come as close as         possible to  the original EOS name, yet let it be understandable too.    The  standard use of the file-type "TXT" for text files is  recommended.  Other nomenclature normally used for file     type  includes SB1 (SmartBasic version1), SB2 (version 2), HRP  (graphics).  Do not try to convert HRP or other non-Basic,  non- text programs to WordStar or edit.  Conversion to CP/M or   TDOS is  sufficient.  Converting to WordStar format.  CALL U to be             replaced with one space.  Then ask it to find a              period followed by one blank space, and replace it              with a  period followed by two blank spaces to  reset              the proper spaces between sentences.  WATCH OUT FOR             UNWANTED CHANGES TO ANY SPECIAL PROGRAMMING     FORMULA              OR OTHER DISPLAYS IN THE TEXT BODY.      Printer Calls:  WordProcessing programs use a wide      variety of             different symbols to tell the printer tuse the Control + Q then U command to reformat      again     to make adjustments for the spaces and characters       previously      eliminated (Newsletter editors prefer documents without     right side justification, so don't forget the Control O     plus J command to disable the justification before      reformatting).     *   OTHER FREQUENTLY USED COMMANDS include:      Control + K then S to save a document     Control + K then Q to quit without saving     Control + K then X to save a docume you eliminate them first it's harder to             find those that have a slash before a letter,   like:             \w, \A etc.)  User Control + Y to eliminate     large             groups of such symbols.  Note to give you       control             over which items are eliminated during (G)lobal             search, do not enter N at the "options" prompt.             You will be asked to replace each item (Y or    N).  *   AFTER ALL EDITING IS COMPLETED, return to top of        document     and be ordered from  MidWest Micro at 1800-423-8215 Panasonic    Ribbons in lots of 6+ for the KX-P1180/1191/1695 KX-p 1080/90/92/1592/95  run 8.67 each  andare avlible in Brown Blue andred + Black of corseNow for travel info to South benfrom the "Frozen North " You mightcheck with the CAA for info on such(Canadan Atuto Assition) sorryabout the spellin there but myfingers are turning to thumbstonigh...PHONE :(216)/791-4022#-TIME:202-Sun Mar 10 1991 06:54 AMSUBJ. :ADVANCES!TO    :ALLFROM  :HERMAN nt and exit WordStar  Conclusion:  I use Newsweep to transfer completed files to a separate  drive/disk and NULU to create libraries of ANN disks.   MAINT096.COM is a new program in Beta testing - it will     replace  Newsweep and Nulu and other programs like them as it is     more  versatile and faster.                                                              You will be asked to replace each item (Y or    N).  *   AFTER ALL EDITING IS COMPLETED, return to top of        document     and o        embolden             text, underscore, change fonts, etc.  These     will show             up in the WordStar text at the beginning and    end of              paragraphs etc.  Use the Control Q then A (find and             replace) command to search for each type and    replace              with nothing.  Frequently encountered symbols   include             Numbers (27), \A, \W,\Q,\B,\w,\K,\\,R~n05, etc.             I do these one at a time, saving the \\'s until last             because ifxO new text display. I hope to get a bunch of continous read formats going. It may take awhile. I'd like to update the Who's on Echo file first (a minor project in itself). FROM THE ANET ECHO SYSTEM COMES MESSAGES FROM MANY OF THE ANET BBSs.#-TIME:200-Thu Mar 28 1991 10:48 PMSUBJ. :RIBBONS ECTTO    :ALL & TRAVELER`SFROM  :LORAN  D GUYAZ (LONESOME)ORIGIN:TRADING POST [CLEVELAND OH] PHONE :(216)/791-4022Ribbions can use the Control + Q then U command to reformat      again     to make adjustments for the spaces and characters       previously      eliminated (Newsletter editors prefer documents without     right side justification, so don't forget the Control O     plus J command to disable the justification before      reformatting).     *   OTHER FREQUENTLY USED COMMANDS include:      Control + K then S to save a document     Control + K then Q to quit without saving     Control + K then X to save a documeMASON (HERMAN)ORIGIN:SLC ADAM-LINK [SALT LAKE UT] PHONE :(801)/484-5114This morning while I was updating my files and system, I got a call from  BJ, and as usual the wars began, but  THIS TIME it made me realize JUST   HOW FAR  the A-NET system has REALLY came, and most of all, the number of users I have met in the 4 or 5 yrs I been on-line. One thing is with a    BBS, you are USUALLY one if the first to get news, good or bad, and I can TRUTHFULLY SAY, we have had a DAMN GOOD YEAR, as far as software, andne 5001 to read: 5001 IF ERRNUM(0)=255 then 7020   Change line 7020 to read: 7520 ONERR GOTO 5900: POKE 9161,201: FOR x = 1 TO 90: INPUT "";b$: IF     LEFT$(b$,1)="INSERT TIDLE CHARACTER HERE" THEN POKE 9161,33: ONERR GOTO   7200:RETURN  Change line 7040 to read: 7040 GET a$: IF a$ = "INSERT TIDLE CHARACTER HERE" THEN GET a$: GOTO 7500  PLEASE(!) make sure that you INSERT THE TIDLE CHARACTER when it says to,  as you know A-NET CAN print the tidle, but you can't type it, that's why  I had to word i       systems, I thought I might be the first to start the Easter Greetings, so it will get to all of the A-NETs in time, SO, HAPPY EASTER to ALL, and    all of MY PRESENTS can be delivered to me in person, preferably the       presents that FOLD and POCKETreal easy.      -HM#-TIME:204-Sun Mar 10 1991 09:44 PMSUBJ. :COLECO DEPOT  TO    :EVERYONEFROM  :DARRYL QUINN (COLECO KID)ORIGIN:SLC ADAM-LINK [SALT LAKE UT]  PHONE :(801)/484-5114 Hey guys its Coleco Kid from the  Coleco Depot BBS.  Ok here is tfor yu all!  Anyone out there adventurous     enough to tackle a little problem for me?  Here's what I got.  I am       working on getting you guys a transfer protocol set up and running in the A-Net world.  Now I am by far a lousy programmer but I do have the skills I need to convert the routines I have in PASCAL to BASIC routines.  Now   Basic should be plenty fast enough for the SEND routines I hve just done. (should be out in about a week or two).  What I do need is someone to     tackle my basic routinMSUBJ. :FASTER ECHO READ!TO    :ALL ECHO OP'SFROM  :STEVE MAJOR (CONNECTION)ORIGIN:SLC ADAM-LINK [SALT LAKE UT]PHONE :(801)/484-5114For those of you who are using the ECho Version 1.2, you'll notice that   when searching for messages if you have a large file it can be QUITE      slow! Here's a couple of simple line changes that will DRASTICALLY speed  up your Echo.pgm. Thanks to Rich Drushel for giving me the proper poke to "disable" the error message found when a comma is used in a string.  Add li     Hardware.  Now with 2400 baud, HD's, Read New Commands (in thepocess of testing),    and a FUNCTIONAL Echo system, the A-NET systems has come a long, Long,    LONG way. As I understand, their are atleast 3 people hacking at x and or ymodem for our bbs, so it should be a reality shortly.  Just wanted to    take a few seconds to thank the PROGRAMMERS, THE TESTERS (Zonker) and     also YOU the USERS for allthat has been done.      -HMWell seeing that it is about a week or so "TURN AROUND" on the Echot that way. If you have any questions or comments please   let me know. This enhancement will allow you to have larger message files with nearly 4TIMES the speed, and this will be included in version 1.3    when it is ready along with some of the other commands you all have been  asking for. See ya later! #-TIME:209-Sat Mar 23 1991 02:48 AMSUBJ. :ML ROUTINESTO    :ANYONE AND EVERYONE FROM  :DAVID W. SMITH (JACKAL)ORIGIN:THE CONNECTION [CHAMPLAIN NY]PHONE :(518)/298-4294Well folks I got a question he       sketch!  My BBS starting March 11th or 12th is gunna have a permenant     schedule change.  6PM - 7AM.I can really use some users since I only have 7 including me.  Its kinda  sad cause I had this BBS up for like 3 months too.  So please give a      fellow ADAMITE a hand!Thanks GuysColeco Kid#-TIME:205-Sun Mar 17 1991 05:14 PMSUBJ. :I'LL TRY AGAIN!TO    :COLECO KIDFROM  :HERMAN MASON (HERMAN)ORIGIN:SLC ADAM-LINK [SALT LAKE UT]PHONE :(801)/484-5114  #-TIME:207-Mon Mar 18 1991 10:05 Pes for the RECEIVE module and convert the actual    receiving into a Machine Language routine that can be loaded and called.  These protocol modules will handle XMODEM  XMODEM 1K and YMODEM (w/batch) Also with XMODEM it will support both Checksum error detection and CRC    error detection (well CRC in a little bit anyway)  For those who confuse  the Protocols  XMODEM is a 128b packet  Xmodem 1K is a 1024b packet and   Ymodem is 1024b with auto filenameing and batch capabiities (more than    one file)    As r 26 1991 04:36 PMSUBJ. :NEW 64K EXPANDERTO    :ALL ADAMITESFROM  :STEVE MAJOR (CONNECTION)ORIGIN:THE CONNECTION [CHAMPLAIN NY]PHONE :(518)/298-4294READ MESSAGE? (Y/N/Q):Yes!THE ADAM CONNECTION now will carry STANDARD the OPA 64K memory expander.   This Expander is the smallest 64K seen (only 2" X 2"!!!). It works just like the standard ADAM 64K except generates MUCH less heat due to it's    compact shape. It retails for $45.95, but as a into offer, anyone who     orders one and claims on the ordeEADTO    :BART- AL- ALLFROM  :STEVE MAJOR (CONNECTION)ORIGIN:THE CONNECTION [CHAMPLAIN NY]PHONE :(518)/298-4294READ MESSAGE? (Y/N/Q):Yes!My main concern right now is getting all the bugs out of the current      echo! Which seems to have been accomplished with Pete Ames' new text      display. I hope to get a bunch of continous read formats going. It may    take awhile. I'd like to update the Who's on Echo file first (a minor     project in itself). Will keep all of you informed. #-TIME:213-Tue MaIGIN:THE CONNECTION [CHAMPLAIN NY]PHONE :(518)/298-4294READ MESSAGE? (Y/N/Q):Yes!THE ADAM CONNECTION will now beselling the new OPA ADAM-Image-Maker!! What is this new product??  It's an upgrade to the ADAM's video chip that ups the output to what's    found on VGA systems. It is installed inside your ADAM with a few simple  tools, and when completed you'll have upgraded your current TMS9928 video display processor to the latest state-of-the-art and FULLY COMPATIBLE     V9928 processor. OPA used staL+C basically will abort the Continous Read commands,   while the spacebar aborts just the actual message text in all other areas (it also aborts the scan commands).  Finally, the new software has the new test output routines. These         routines have only two settings. Formatted Text, or Non-Formatted Test    (speed read).  I hope you enjoy the new commands, look forward to a couple more          enhancements in the next few months. Thank you.  Steve Major -Echo Base Designer #-TIME:214-Tue MaI said I have the Send module converted and will be       getting together with Peter Ames in the next week to add ADAM specific    codes and A-NET specific code.  Then we will test it and then offer it to all who want it under the guise of C-Ware in which a donation to your     favorite charity (EXCLUDING YOURSELVES :) ) in any amount under the names of you Pete and I    So any help at all with the ML would be ppreciated.PHONE :(518)/298-4294#-TIME:212-Mon Mar 25 1991 08:57 PMSUBJ. :NEW CONTINOUS Rrform, that they saw the advertising     here on the Echo, will be able to get it for only $40!!  Please add shipping fees of $3 to your order.  For a catalog, leave your name and address to me here on the Echo, or     write:  THE ADAM CONNECTION P.O. Box 562 - Mason Road Champlain, NY 12919-0562  Phone numbers are:  VOICE: (518) 298-8193 BBS  : (518) 298-4294  hanks for your time. #-TIME:215-Tue Mar 26 1991 04:41 PMSUBJ. :AIM IS AVAILABLE!TO    :TO ALLFROM  :STEVE MAJOR (CONNECTION)ORr 26 1991 04:29 PMSUBJ. :NEW ECHO READ CMDSTO    :ALL USERSFROM  :STEVE MAJOR (CONNECTION)ORIGIN:THE CONNECTION [CHAMPLAIN NY]PHONE :(518)/298-4294READ MESSAGE? (Y/N/Q):Yes!All Echo programs on the A-NET's that have a designation of Version 1.3   or higher now carry the new commands. These are as follows:  [S] Scan Headers [SN] Scan New Headers [RC] Read Continous [CN] Read New Messages Continously.  Also in addition to the [SPACEBAR] command, the [CONTROL+C] command has   been added. CONTROte-of-the-art CAD/CAF designing and top      design engineers to bring you the best video upgrade for the ADAM in the  smallest most compatible package possible. The PCBoard, containing the    V9958, 192K of VRAM, a special ASIC device, a 25 pin monitor/expansion    port for future video devices like digitizers, GENlock, etc. and the      analog RGB video driver circuity, has all been installed on a compacted   4" X 3" layout. The AIM comes complete with:  -> step-by-step Installation Guide. -> recommend SLC and TP and whateverother boards are involved.  I hopeour regular users will strike updialog with "strangers" from otherareas...yes, I better start doingthat myself.  Time for sysops tostop just talking to sysops anduh, exsysops. (you know who) :)SHAMAN#-TIME:218-Mon Apr 08 1991 12:51 PMSUBJ. :UK ANNTO    :BARRYFROM  :AL FITZGERALD (SHAMAN)ORIGIN:SLAUG [ST.LOUIS MO]PHONE :(314)/383-3617READ MESSAGE? (Y/N/Q):Yes!Barry, that news about linkage tothe United Kingdom Adam group forANNhe Echo, or write to:  THE ADAM CONNECTION P.O. Box 562 - Mason Road Champlain, NY 12919-0562 (518) 298-8193 #-TIME:216-Sun Apr 07 1991 12:26 PMSUBJ. :SW2FERHDTO    :ALLFROM  :AL FITZGERALD (SHAMAN)ORIGIN:SLAUG [ST.LOUIS MO]PHONE :(314)/383-3617READ MESSAGE? (Y/N/Q):Yes!There are as of this moment onlytwo authorized sources for theHard drive version of SpeedyWrite.  Those are Adam Link ofUtah (Alan Neeley) and myself, AlFitzgerald (SHAMAN of St.Louis). The program will work on either kinds of users now if you'rewilling to run the ECHO and gabwith strangers.  You say you onlygot 7 users.  Shucks, we only got3 regulars here in St.Louis.  Ifthis thing ever gets XMODEM andnear foolproof I might even letsome of the Big Boys come in fromother Computers....cuz theyprobably know people right here intown with Adams and no linkage.This will become foolproof whenour programmers call a moratoriumon new mods.  If they give me sixmonths I might be able to catchup.  Heck, with good enarewritten program which standsalone.  We will be selling it atADCON03.  At that time we alsohope to provide an updated versionof the Adam connection softwarementioned by Jim Duffy above. More about that later.SHAMAN#-TIME:217-Sun Apr 07 1991 08:05 PMSUBJ. :FORWARDEDTO    :ALLFROM  :AL FITZGERALD (SHAMAN)ORIGIN:SLAUG [ST.LOUIS MO]PHONE :(314)/383-3617READ MESSAGE? (Y/N/Q):Yes!I push the April 1-7 messages overto The Connection today.  Let'ssee how long it takes for them toshow up oned RGB monitor guide, with detailed specs, and pin-outs for   many different monitors to ease in interfacing AIM to your RGB monitor. -> SmartBASIC and Z80 V9958 programming guide. -> graphic demos displaying the power of AIM. -> OPA's own GIF file viewer supporting the V9958. -> software patches for CP/M and SmartBASIC to allow full use of the      V9958 processor.  Retail price for this exciting new product will be $199. For a complete   ADAM CONNECTION catalog, leave your name and address here on t was great.  course, it justmeans more stamps...but its a shotin the arm to Adamdom. :)  just alot of fine people keep loyal tothis little 64K....amazing....butnice.  Shall we plan the nextADCON in London?  or would it beSidney?  That might be a littlefar to go.       SHAMAN#-TIME:219-Mon Apr 08 1991 01:09 PMSUBJ. :USERS?TO    :COLECO KIDFROM  :AL FITZGERALD (SHAMAN)ORIGIN:SLAUG [ST.LOUIS MO]PHONE :(314)/383-3617READ MESSAGE? (Y/N/Q):Yes!Hey C.K.,   Welcome to the network.  You gotallthe OBS Hard Drive (also calledMinnie winnie) and the Powermatealthough the operation is slightlydifferent as will be explained inthe included doc file.  For themoment there is a problem whenusing the boot cartridge forPowermate provided by Walters. When that has been resolved itwill be posted.  The cost is $10for those who provide proof ofpurchase and $30 for those buyingit for the first time.  $20 ofthat will be sent directly to theoriginal programmer, David White. This is not a patch but oughsoftware we could start sellingAdam BBS packages (hardware andall) to folks who never saw anAdam.  So be of good cheer,Coleco, and keep forwarding themmessages to THE CONNECTIONpromptly.       St.Louis SHAMAN                         e a littlefar to go.       SHAMAN#-TIME:219-Mon Apr 08 1991 01:09 PMSUBJ. :USERS?TO    :COLECO KIDFROM  :AL FITZGERALD (SHAMAN)ORIGIN:SLAUG [ST.LOUIS MO]PHONE :(314)/383-3617READ MESSAGE? (Y/N/Q):Yes!Hey C.K.,   Welcome to the network.  You gotall020 br%=VAL(br$):IF br$=ex$ GOTO 12002030IF br%<1 OR br%>15 GOTO 20103000GOSUB 300003010VTAB 18:INPUT " Letter color value: "; ft$3020 ft%=VAL(ft$):IF ft$=es$ GOTO 12003030IF ft%<1 OR ft%>15 GOTO 30104000GOSUB 300004010VTAB 18:INPUT " Background color value: "; bk$4020 bk%=VAL(bk$):IF bk$=es$ GOTO 12004030IF bk%<1 OR bk%>15 GOTO 40104040IF bk%=ft% GOTO 40105000HOME:HTAB 9:? "drive: "; 5010IF dv%=8 THEN ? dv$(1):GOTO 51005020? dv$(2)5100? " border color: "; co$(br%)5200? " letter color:"; co$(10REM ***SmartFILER patches20REM fixes extra line feed bug and changes screen colors30REM written by DIGITAL EXPRESS40REM presented by Nibbles & Bits50REM contributed September, 198760REM USE ONLY ON A BACKUP COPY OF SmartFILER!!!70REM written for use with "revision 27D"80REM may not work with other revisions100LOMEM :30000110DATA                                                      62,4,1,0,0,17,0,0,33,0,108,205,243,252,50,255,107,201120FOR x=27600 TO 27617:READ mc:POKE x, mc:NEXT130DATA 62,4,17v%:POKE b3, 18:POKE b4, 243:CALL b16120IF PEEK(27647)<>128 THEN VTAB 10:GOTO 55606130POKE 28411, 1:POKE b4, 246:CALL b16140IF PEEK(27647)<>0 THEN VTAB 10:GOTO 55606200REM change the screen colors6210POKE b2, dv%:POKE b3, 15:POKE b4, 243:CALL b16220IF PEEK(27647)<>128 THEN VTAB 10:GOTO 55606230POKE 28392, br%:POKE 28520, br%:POKE 28618, ft%*16+bk%6240POKE b4, 246:CALL b16250IF PEEK(27647)<>0 THEN VTAB 10:GOTO 55606300VTAB 10:? " SmartFILER patched...":END30000HOME:FOR x=1 TO 15: x$=STR$(x)30010IF10? " change the screen color for"1020? " SmartFILER and it corrects"1030? " the extra printed line feed"1040? " bug. Press <escape> at any"1050? " point to abort ..."1100VTAB 15:? " Which drive for SmartFILER?"1110FOR x=1 TO 2:VTAB 16+x:HTAB 2:? x; " = "; dv$(x):NEXT1120GET k$:IF k$=es$ GOTO 12001130 k%=VAL(k$):IF k%<1 OR k%>2 GOTO 11201140 dv%=2^(4-k%):GOTO 20001200TEXT:? " end of program.":?1210? " entr NEW before programming.":END2000GOSUB 30002010VTAB 18:INPUT "Border color value: "; br$2 kinds of users now if you'rewilling to run the ECHO and gabwith strangers.  You say you onlygot 7 users.  Shucks, we only got3 regulars here in St.Louis.  Ifthis thing ever gets XMODEM andnear foolproof I might even letsome of the Big Boys come in fromother Computers....cuz theyprobably know people right here intown with Adams and no linkage.This will become foolproof whenour programmers call a moratoriumon new mods.  If they give me sixmonths I might be able to catchup.  Heck, with good enft%)5300? " bkgrnd color: "; co$(bk%)5400VTAB 10:? " press <return> to change the"5410? " values on the medium..."5420GET go$:IF go$<>CHR$(13) GOTO 10005500VTAB 10:? " verifying SmartFILER...":?5510FOR x=1 TO LEN(fi$):POKE 27647+x, ASC(MID$(fi$, x, 1))5520NEXT5530POKE f2, dv%:CALL f15540 er%=PEEK(27647):VTAB 10:IF er%=0 GOTO 60005550IF er%=5 GOTO 56005560? " I/O error!!!":END5600? " Not SmartFILER medium!!!":END6000? " changing values..."6100REM fix the line feed on hardcopy bug6110POKE b2, d,0,108,33,160,253,205,204,252,50,255,107,201140FOR x=27620 TO 27634:READ mc:POKE x, mc:NEXT150 b1=27600: b2=b1+1: b3=b1+6: b4=b1+12155 f1=27620: f2=f1+1160 fi$="SMART_FILER"+CHR$(3): es$=CHR$(27):DIM co$(15)170FOR x=1 TO 2:READ dv$(x):NEXT:DATA tape one,disk one180DATA black,medium green,light green,dark blue,medium blue190DATA dark red,cyan,medium red,light red,dark yellow200DATA light yellow,dark green,magenta,gray,white210FOR x=1 TO 15:READ co$(x):NEXT1000TEXT:? " This program allows you to"10 LEN(x$)=1 THEN  x$=" "+x$30020? " "; x$; " = "; co$(x):NEXT:RETURNto change the"5410? " values on the medium..."5420GET go$:IF go$<>CHR$(13) GOTO 10005500VTAB 10:? " verifying SmartFILER...":?5510FOR x=1 TO LEN(fi$):POKE 27647+x, ASC(MID$(fi$, x, 1))5520NEXT5530POKE f2, dv%:CALL f15540 er%=PEEK(27647):VTAB 10:IF er%=0 GOTO 60005550IF er%=5 GOTO 56005560? " I/O error!!!":END5600? " Not SmartFILER medium!!!":END6000? " changing values..."6100REM fix the line feed on hardcopy bug6110POKE b2, d,207,252,50,255,107,201330FOR x=28690 TO 28704:READ mc:POKE x, mc:NEXT340DATA                                                      62,4,1,0,0,17,0,0,33,0,116,205,246,252,50,255,107,201350FOR x=28705 TO 28722:READ mc:POKE x, mc:NEXT400REM bootstrap routine (VRAM setup)410DATA 1,128,1,205,32,253420DATA 1,2,0,205,32,253430DATA 33,0,0,62,4,205,41,253440DATA 33,0,32,62,3,205,41,253450DATA 33,0,24,62,2,205,41,253460DATA 6,3,33,0,24,175,197,245,229,17,1,0,205,38,253470DATA 225,241,35,60,32,242,193,16,2310REM "BootPic Deluxe"20REM writen by DIGITAL EXPRESS30REM presented in Nibbles & Bits40REM October 198750REM if you exit the program, you can recover your graphics51REM screen by entering the graphic command (GR,HGR,orHGR2)52REM and then entering gosub 1060053REM for example, "HGR2:GOSUB 10600:GET k$:RUN"100IF PEEK(259)<>195 GOTO 10100110LOMEM :45000:POKE 16149, 255:POKE 16150, 255:             im=PEEK(17008)115GOSUB 10400:FOR x=108*256 TO 112*256-1:POKE x, 0:NEXT120DATA 33,0,116,17,0,48,6,0,11246,211,224600DATA 17,0,15,27,122,179,32,251,5,16,234,62,159,211,224610REM (boot SmartBASIC V1.0)620DATA 58,111,253,6,1,33,10,203,205,192,252,194,231,252630DATA                                                      1,0,112,33,0,1,205,210,252,194,231,252,62,1,205,195,252640REM (correct default drive)650DATA 58,111,253,50,1,65   660REM (begin BASIC)670DATA 195,0,1680DATA -1700 st=27648: tt=0710READ mc:IF mc=-1 GOTO 730720POKE st, mc: st=st+1: tt=tt+mc:GOTO 710730IF st=27861 AND tt=23317 GOTO 10007O LEN(k$):POKE x+27634, ASC(MID$(k$, x, 1)):NEXT250FOR x=1 TO LEN(k$):POKE x+28415, ASC(MID$(k$, x, 1)):NEXT260 j$="BASICPGM"+CHR$(2)+CHR$(3)270FOR x=1 TO LEN(j$):POKE x+28425, ASC(MID$(j$, x, 1)):NEXT280 cv%=PEEK(25431):IF im=1 THEN  cv%=PEEK(18607)300DATA                                                      62,4,33,243,107,17,0,44,1,0,0,205,201,252,50,255,107,201310FOR x=28672 TO 28689:READ mc:POKE x, mc:NEXT320DATA                                                      62,4,17,243,107,33,160,253,205v%:POKE b3, 18:POKE b4, 243:CALL b16120IF PEEK(27647)<>128 THEN VTAB 10:GOTO 55606130POKE 28411, 1:POKE b4, 246:CALL b16140IF PEEK(27647)<>0 THEN VTAB 10:GOTO 55606200REM change the screen colors6210POKE b2, dv%:POKE b3, 15:POKE b4, 243:CALL b16220IF PEEK(27647)<>128 THEN VTAB 10:GOTO 55606230POKE 28392, br%:POKE 28520, br%:POKE 28618, ft%*16+bk%6240POKE b4, 246:CALL b16250IF PEEK(27647)<>0 THEN VTAB 10:GOTO 55606300VTAB 10:? " SmartFILER patched...":END30000HOME:FOR x=1 TO 15: x$=STR$(x)30010IF7480DATA 1,15,7,205,32,253490DATA 1,192,1,205,32,253500REM (load picture file)510DATA                                                      58,111,253,17,0,203,33,160,253,205,204,252,194,231,252520DATA 237,91,173,253,33,0,116,6,12530DATA 197,58,111,253,1,0,0,213,229,205,243,252,225,209540DATA 194,231,252,1,0,4,9,19,193,16,231550REM (show picture)560DATA 33,0,116,17,0,0,1,0,24,205,26,253570DATA 33,0,140,17,0,32,1,0,24,205,26,253580REM (play sound effect)590DATA 6,30,62,128,211,224,120,211,224,62,1,35,27,122,179,32,249,201130FOR x=27600 TO 27615:READ mc:POKE x, mc:NEXT140DATA 1,0,0,17,0,0,33,0,116,205,0,253,201150FOR x=65520 TO 65532:READ mc:POKE x, mc:NEXT160DATA view graphics screen,set background color170DATA clear SmartPAINT title bar,begin storage,exit        program180FOR x=1 TO 5:READ m1$(x):NEXT190DATA 175,17,16,0,33,0,0,205,38,253,201200FOR x=27620 TO 27630:READ mc:POKE x, mc:NEXT210DATA tape one,disk one220FOR x=1 TO 2:READ dr$(x):NEXT230 k$="BootPic"+CHR$(2)+CHR$(3)240FOR x=1 T40TEXT:? "data entry error!!!"750? "check your data vaues":END1000IF im<>0 THEN GOSUB 105001010TEXT:? " This program creates a self-"1020? " booting graphics screen (GR,"1030? " HGR, or HGR2) on your Smart-"1040? " BASIC V1.0 backup.   Your"1050? " picture should already be on"1060? " screen when you first RUN this"; 1070? " program. Selecting option #"1080? " 2 from the menu will write"1090? " that screen to the disk as"1100? " a file.  And, it will write"1110? " a new bootstrap (block 0)"112procedure successful...":GOTO 509010000POKE 16953, 223:IF PEEK(17008)=0 THEN POKE 16953, 9510010END10100HOME:POKE 16953, 223:IF PEEK(17008)=0 THEN POKE 16953,  9510110? "program terminated!":END10200HOME:? " Which drive?"10210FOR x=1 TO 2:? " "; x; "="; dr$(x):NEXT10220GET dr$: dr%=VAL(dr$):IF dr%<1 OR dr%>2 GOTO 1022010240HOME:? " insert "; LEFT$(dr$(dr%), 4); " in the drive,"10300? " press any key to continue..."; 10310GET go$:?:RETURN10400HOME:? " one moment please...":RETURN10499REM read grany key to view the"2010? " graphics screen.  Then press"2020? " any key again for the menu.":GET go$2030IF im<>0 GOTO 21002040HOME:? " no screen to view...":GOTO 22002100IF im=1 THEN GR2110IF im>=2 THEN HGR22120GOSUB 106002200GET go$:GOTO 15003000HOME:INPUT " Enter color value (1-15): "; cv$3010 cv%=VAL(cv$):IF cv%<1 OR cv%>15 GOTO 30003020IF im=1 THEN POKE 18607, cv%3030IF im=2 OR im=3 THEN POKE 25431, cv%3040GOTO 20004000IF im<2 GOTO 15004010HGR2:GOSUB 106004020GOSUB 106004100FOR x=0 TO 2procedure successful...":GOTO 509010000POKE 16953, 223:IF PEEK(17008)=0 THEN POKE 16953, 9510010END10100HOME:POKE 16953, 223:IF PEEK(17008)=0 THEN POKE 16953,  9510110? "program terminated!":END10200HOME:? " Which drive?"10210FOR x=1 TO 2:? " "; x; "="; dr$(x):NEXT10220GET dr$: dr%=VAL(dr$):IF dr%<1 OR dr%>2 GOTO 1022010240HOME:? " insert "; LEFT$(dr$(dr%), 4); " in the drive,"10300? " press any key to continue..."; 10310GET go$:?:RETURN10400HOME:? " one moment please...":RETURN10499REM read graL 286905110POKE 64940, 146:POKE 64947, 12:POKE 64948, 05120POKE 64949, 0:POKE 64950, 45130POKE 28699, 207:CALL 286905140 sb=PEEK(64942)*256+PEEK(64941)5150IF PEEK(27647)=0 GOTO 60005160HOME:HTAB 2:GOTO 50706000POKE 28706, dv%:FOR x=0 TO 11:POKE 28711, x+sb6010POKE 28715, x*4+116:CALL 287056020IF PEEK(27647)=0 GOTO 60406030HOME:HTAB 2:? "block write error on: "; x+sb:GOTO 50906040NEXT x6100POKE 27709, cv%:POKE 28711, 0:POKE 28715, 108:CALL 287056110IF PEEK(27647)<>0 GOTO 60306120HOME:HTAB 2:? "0? " routine for SmartBASIC.":?:?1130? " You may use any size directory"; 1140? " and you may already have"1150? " files on the medium.  You can"1160? " use EZfileXFER (Sept 1987"1170? " issue) to transfer BASIC to"1180? " the medium later.  And, BASIC"1190? " will boot from ANY drive with"1200? " that drive as the default.":?:GOSUB 103001500TEXT:FOR x=1 TO 5:? " "; x; "="; m1$(x):NEXT1510GET k$: k%=VAL(k$):IF k%<1 OR k%>5 GOTO 15101520ON k% GOTO 2000, 3000, 4000, 5000, 101002000HOME:? " press aphics routine10500GOSUB 10700:POKE 65522, np:POKE 65530, 29:POKE 65525, 010510CALL 65520:POKE 65525, 32:POKE 65528, 140:CALL 6552010520POKE 65528, 116:RETURN10599REM recover graphics routine10600POKE 65522, 24:POKE 65530, 26:POKE 65525, 0:CALL 6552010610POKE 65525, 32:POKE 65528, 140:CALL 6552010620POKE 65528, 116:RETURN10700 np=20:IF im=3 THEN  np=2410710CALL 27600:RETURN906040NEXT x6100POKE 27709, cv%:POKE 28711, 0:POKE 28715, 108:CALL 287056110IF PEEK(27647)<>0 GOTO 60306120HOME:HTAB 2:? "3:POKE 27626, x:CALL 276204110POKE 27626, x+32:CALL 27620:NEXT:GOSUB 10500:GOTO 15005000GOSUB 10200: dv%=8/dr%:GOSUB 104005010POKE 28673, dv%:CALL 28672:IF PEEK(27647)=0 GOTO 51005020 er%=PEEK(27647):HOME:HTAB 25030IF er%=22 THEN ? "I/O error!":GOTO 50905040IF er%=24 THEN ? "not EOS directory!":GOTO 50905050IF er%=6 THEN ? "filename already exists!":GOTO 50905060IF er%=13 THEN ? "no more room!":GOTO 50905070? "file access error!"5090?:?:GOSUB 10300:GOTO 15005100POKE 28691, dv%:POKE 28699, 204:CAL10LOMEM :3210015REM     SPRITE DEMO BY DAN ORLANDO20CLEAR: s=3000030 x=32000: c=0110DATA     14,227,6,1,205,32,253115REM    LDC,E3H;LDB,1;CALL FD20116REM    E3h=16x16 double sprites120DATA    58,24,252125REM   LDA(FC18H) - table #1130DATA    253,33,04,00135REM    LDIY,0004H - # of entries140DATA        33,00,125145REM    LD HL,7D00H - location of data (32000)150DATA       17,00,00155REM    LD DE,0000H - entry to write to160DATA      205,44,253165REM     CALL FD2C - write tbl entries to VRAM100121 d=7:GOSUB 1100: d=208:GOSUB 1100199REM 200REM    LOAD CONTROL REGISTERS230 a=127:GOSUB 1000240 a=133:GOSUB 1000250 a=7:GOSUB 1000260 a=134:GOSUB 1000299REM 300REM    MOVE IT310 t=t+.5320 x=60*SIN(t)+70330 y=60*COS(t)+70340 a=128:GOSUB 1000350 a=127:GOSUB 1000360 d=INT(x):GOSUB 1100370 d=INT(y):GOSUB 1100380GOTO 310999REM 1000POKE 51401, a1010CALL 514001020RETURN1100POKE 51406, d1110CALL 514051120RETURN7,11,19,35,2,2,2,14265REM    upper right270DATA     192,192,240,224,160,224,160,224,128,128275REM    lower right280DATA     224,208,200,196,64,64,64,112285REM    SPRITE ATTRIBUTE TABLE DATA290DATA      1,1,0,9295REM     1=vertical position296REM     1=horizontal position297REM    0=name298REM    9=color code-red990REM    store color code-red1000READ a:IF a=256 THEN 10301010POKE s+c, a1020 c=c+1:GOTO 10001030REM   1990REM     store sprite2000FOR i=0 TO 352010READ a2020POKE x+i, a2030NEXT 5,229,213,197,253,197152REM    use color table-4155DATA    58,27,252:REM    LDA,(FC1B)157REM    number of entries160DATA    253,33,32,0:REM    LDY,32162REM    data is at 32000165DATA    33,00,125:REM    LDHL,7DOOH167REM    start at zer]167 rem start at entry zero170DATA    17,00,00:REM    LD DE,OH172REM    change textcolor vdp ram175DATA    205,44,253:REM    CALL FD2C177REM    pop registers and return180DATA    253,225,193,209,225,241,201185DATA    256195REM    color data200DATA    16,32,48,65REM  SPRITE DEMO6HGR210HIMEM :5139919REM    LOAD MACHINE LANGUAGE CODE20DATA   62,0,211,191,201,62,00,211,190,20130FOR x=51400 TO 51409:READ p:POKE x, p:NEXT34REM 35REM  background36FOR s=1 TO 2537HCOLOR =538HPLOT 100+1*s, 0 TO 10*s, 19139NEXT40REM 50REM     LOAD SPRITE GENERATOR55 a=0:GOSUB 1000: a=120:GOSUB 100060DATA    60,126,195,219,219,195,126,6070FOR x=1 TO 880READ d:GOSUB 110090NEXT100POKE 51401, a110 a=128:GOSUB 1000: a=127:GOSUB 1000120 d=70:GOSUB 1100:GOSUB 1100: d=0:GOSUB 1170DATA      58,23,252175REM    LDA(FC17H) - table #0180DATA      253,33,1,0185REM    LD IY,0001H - # of entries190DATA      17,0,0195REM    LD DE,0000H - entry to write to200DATA     33,32,125205REM    LD HL,7D20H - location of data (32032)210DATA     205,44,253215REM    CALL FD2C - write table entries to VRAM220DATA    201225REM    RETURN230DATA       256235REM     end of ml data240REM    SPRITE DATA245REM    upper left quadrant250DATA     3,3,15,7,5,7,1,1255REM    lower left260DATA     10LOMEM :3210015REM     screen color change20REM     BY DAN ORLANDO 10/12/8430CLEAR: s=30000: x=31000: z=3200040 c=050DIM ck(15)90REM    background color routine100DATA    245,229,213,197,253,197105REM    black background color110DATA    14,1,6,7:REM    LDC,245;LDB,7115REM    store color in vdp register 7120DATA    205,32,253:REM    call FD20125REM    pop registers and return130DATA    253,225,193,209,225,241,201140DATA    256145REM    text color routine147REM    push registers150DATA    24i2100HOME:? " USE JOYSTICK #1"2105? "STOP WITH CONTROL-C"2110? " clear with text"2115REM    call sprite routine2120CALL 300002495REM     read joysticks2500 b=PDL(1): d=PDL(3)2510POKE x+32, b2520POKE x=33, d2525REM     call sprite location routine2530CALL 300232560GOTO 25003000ENDwrite table entries to VRAM220DATA    201225REM    RETURN230DATA       256235REM     end of ml data240REM    SPRITE DATA245REM    upper left quadrant250DATA     3,3,15,7,5,7,1,1255REM    lower left260DATA     4,80,96,112210DATA    128,144,160,176,192,208,224,240890REM    store background color routine900READ a:IF a=256 THEN 930910POKE s+c, a920 c=c+1:GOTO 900930 c=0990REM    store text color routine1000READ a:IF a=256 THEN 10301010POKE x+c, a1020 c=c+1:GOTO 10001030FOR i=1 TO 15:READ ck(i):NEXT i1040GOSUB 2010:REM    print choices1050IF co=0 THEN 12201055REM    change background color1060POKE 30007, co1100CALL 300001105REM    change text color1110FOR i=0 TO 311120POKE z+i, ck(c2)1130NEXT i11302027GOTO 20102030INPUT "Enter the port #, Output Data  "; p, d2050POKE 28011, p:POKE 28013, d2060CALL 280072085?2090GOTO 20003000? "This program will allow you to access ADAM's I/O ports through"; 3010? "the keyboard. The I/O space is addressed from 0 to 255, with  the sound chip at 224 to 255;"3020? "the video at 160 to 191; and   the modem at 94 and 95."3025?:?3030? "To examine data at an input    port, type i then enter the    port number and <RETURN>."; 3040? "You   will see the port numbe=c2 THEN ? "COLORS IDENTICAL":GOTO 20102130IF c1>15 OR c2>15 THEN 20102140 co=c12150RETURNe900READ a:IF a=256 THEN 930910POKE s+c, a920 c=c+1:GOTO 900930 c=0990REM    store text color routine1000READ a:IF a=256 THEN 10301010POKE x+c, a1020 c=c+1:GOTO 10001030FOR i=1 TO 15:READ ck(i):NEXT i1040GOSUB 2010:REM    print choices1050IF co=0 THEN 12201055REM    change background color1060POKE 30007, co1100CALL 300001105REM    change text color1110FOR i=0 TO 311120POKE z+i, ck(c2)1130NEXT i11302027GOTO 20102030INPUT "Enter the port #, Output Data  "; p, d2050POKE 28011, p:POKE 28013, d2060CALL 280072085?2090GOTO 20003000? "This program will allow you to access ADAM's I/O ports through"; 3010? "the keyboard. The I/O space is addressed from 0 to 255, with  the sound chip at 224 to 255;"3020? "the video at 160 to 191; and   the modem at 94 and 95."3025?:?3030? "To examine data at an input    port, type i then enter the    port number and <RETURN>."; 3040? "You   will see the port numbe5REM   Brian Matteson 4/12/8510LOMEM :2900015HOME17GOTO 300020GOSUB 100021GOTO 200022INPUT "Input Port Number "; x40POKE i, x50CALL s60? "IN "; x; "= "; PEEK(c)72?75GOTO 20001000DATA          219,0,50,102,109,201,0,58,109,109,211,0,201,01040 s=28000: i=28001: c=280061060FOR a=s TO s+131070READ b1080POKE a, b1090NEXT a1100RETURN2000? "Type i to view port data.":? "Type o to output data."2002? "Type q to quit.":?2010GET a$2020IF a$="i" THEN 222025IF a$="q" THEN END2026IF a$="o" THEN 2040CALL 310001150GOTO 10401220TEXT1230END2000REM    color routine2010HOME:? "COLOR CODES"2015? co2020? " 1-BLACK         2-MED GREEN"2030? " 3-LT GREEN      4-DK BLUE"2040? " 5-LT BLUE       6-DK RED"2050? " 7-CYAN          8-MED RED"2060? " 9-LT RED       10-DK YELLOW"2070? "11-LT YELLOW    12-DK GREEN"2080? "13-MAGENTA      14-GRAY"2090? "15-WHITE         0-STOP"2100INPUT "BACKGROUND COLOR"; c12105IF c1<=0 THEN  co=0:RETURN2110INPUT "TEXT COLOR"; c22115IF c2<=0 THEN  co=0:RETURN2120IF c1r listedalong with the input data."3045?:?3050? "To output data, type o followedby the port number, then a     comma followed "; 3060? "by the data;    then hit <RETURN>."3070?:?3080? "Hit any key to continue."3090GET a$3095HOME3100GOTO 2001040 s=28000: i=28001: c=280061060FOR a=s TO s+131070READ b1080POKE a, b1090NEXT a1100RETURN2000? "Type i to view port data.":? "Type o to output data."2002? "Type q to quit.":?2010GET a$2020IF a$="i" THEN 222025IF a$="q" THEN END2026IF a$="o" THEN 2040CALL 310001150GOTO 10401220TEXT1230END2000REM    color routine2010HOME:? "COLOR CODES"2015? co2020? " 1-BLACK         2-MED GREEN"2030? " 3-LT GREEN      4-DK BLUE"2040? " 5-LT BLUE       6-DK RED"2050? " 7-CYAN          8-MED RED"2060? " 9-LT RED       10-DK YELLOW"2070? "11-LT YELLOW    12-DK GREEN"2080? "13-MAGENTA      14-GRAY"2090? "15-WHITE         0-STOP"2100INPUT "BACKGROUND COLOR"; c12105IF c1<=0 THEN  co=0:RETURN2110INPUT "TEXT COLOR"; c22115IF c2<=0 THEN  co=0:RETURN2120IF c110REM    ADAM 15REM    PUBLIC DOMAIN  20REM    COLOR CALCULATOR30REM    BY JOSEPH SHEPPARD35REM    CIS ID# 73175,62340HOME:?200? " Color Codes: ":?205? " 1-Black"210? " 2-Medium Green"215? " 3-Light Green"220? " 4-Dark Blue"221? " 5-Light Blue"222? " 6-Dark Red"223? " 7-Cyan"224? " 8-Medium Red"225? " 9-Light Red"226? "10-Dark Yellow"227? "11-Light Yellow"228? "12-Dark Green"229? "13-Magenta"230? "14-Gray"231? "15-White"232? "16-Stop":?240INPUT "Background Color "; b250IF b>16 GOTO 45LOMEM :3110010DIM c(15):HOME20FOR i=28000 TO 28014:READ x:POKE i, x:NEXT:FOR i=0 TO      15:READ c(i):NEXT30? " BLOCK-PEEK UTILITY":?:? " TAPE #1 - 1":? " DISK #1 -   5":?:? " Select Drive --> "; 40GET a$:? a$: a=VAL(a$):IF a<>1 AND a<>5 THEN INVERSE:? "   INVALID DRIVE #":NORMAL:VTAB 1:GOTO 3050 x=8:IF a=5 THEN  x=460POKE 28001, x100?:? " READ AND DISPLAY BLOCK:":?:? " <ESCAPE> to STOP     DISPLAY":?:INPUT " Block #? "; n$110IF n$=CHR$(27) THEN END120 n=VAL(n$)180POKE 28006, n:CALL 28000200HOMElete (no enhanced sound or graphics!!) version of Smart-BASIC dubbed 2.0 has found its way into the "Adam underground" in what amounts to a beta-testing form.  Having obtained a working copy of my own, I've spent  some hours checking it out and comparing its features with those of the V1.0   we've all come to know and love/hate.  The following somewhat scattered notes  summarize my discoveries to date.     (1) SmartBASIC II occupies 49 blocks on the disk, in contrast to SB I's   mere 28K.  The file size 0REM     A sample HELLO program for Disk SmartBASIC1REM      Displays catalog, then clears from memory10VTAB 1:HTAB 4:INVERSE:? SPC(24):VTAB 220HTAB 4:? " DISK SmartBASIC - v."; PEEK(260); " "30HTAB 4:? SPC(24):NORMAL:?40FOR i=1 TO 2000:NEXT50HTAB 1:? CHR$(4); "catalog"60NEW:ENDLORBASAB·,WblockpeekA-wHELLOALEFT/ BLOCKS LEFT0p0260IF b<0 GOTO 40261IF b=16 THEN HOME:NEW265INPUT "Text Color "; t270IF t>16 GOTO 40275IF t<0 GOTO 40276IF t=16 THEN HOME:NEW280 x=t*16+b290POKE 17115, x:TEXT300VTAB 10310? "To get this color combitnation"320?:? "use:"330?:?:HTAB 5340? "POKE 17115,"; x; ":TEXT"re buffer closed.[73175,623]COLOR.BAS      23-Apr-85 825Disposition:1 (R)    ReazCapture buffer closed.[75766,1563]SMARTM :GOTO 87008770ON ch% GOSUB 8900, 9200, 70008780GOTO 87008900HOME:VTAB 10:HTAB 2:? "in entering a nxOter "NEW"].        Compare this with the value of 26391 [26401 after "NEW"] in SB II's standard   memory configuration.  To reload the standard configuration (and clear thNOTES ON SMARTBASIC 2.0by George A. Havach [CompuServe ID #70337,3062]     Though never finally released by Coleco (who terminated the project       shortly before discontinuing further Adam production and development), a       revised, still incomp:FOR i=30000 TO 31023: x=PEEK(i)210FOR j=0 TO 14:IF x=c(j) THEN  x=46220IF PEEK(64885)=27 THEN 310230NEXT300? CHR$(x); :NEXT310?:?:? " ANOTHER BLOCK? (y/n) ":GET a$:IF a$="y" OR a$="Y" THEN HOME:GOTO 100320END1000DATA                                                     62,0,33,48,117,17,0,0,1,0,0,205,243,252,201,0,7,8,10,12,13,16,24,127,128,136,143,160,161,162,163is so unexpectedly large because SB II COMES WITH ITS OWN OPERATING SYSTEM ON BOARD--true Revision 7 of EOS (different from the ROM-chip version built into the Adam)--which is overlaid onto the RAM-resident     version at startup, beginning at address E4B8H on up.  According to Joel K.    Lagerquist, author of the revisions to SmartBASIC that were incorporated into  V2.0, this revision comes equipped with all the fixes to EOS' file-handling    functions that enable SB II to work "much faster" with data filssage by SB II is accompanied by a "beep"       (CHR$(7)).  Furthermore, a touch of humor--and genius--has been added to the   way numbered program lines are accepted (or not) by the interpreter. Previ-ously, any line containing a syntax ("Illegal Command") error was simply       rejected by SB I.  Now, the offending line will still be normally redisplayed  with a caret pointing to where the error occurred, but in addition, SB II      prints a "happy face" (CHR$(2)) as the first character after the line nu4K Memory Expander.  Also, SB II will boot   from ANY drive and set that as the active one, whereas SB I defaults to data-pack drive 1 unless patched otherwise (byte 2 of block 18:  4 = disk drive 1,  8 = data-pack drive 1).     (3) The default value of HIMEM (53632) is identical in the two versions,  but LOMEM is lower in SB II:  26960 versus 27407 (the same difference as for   FRE(0)).  Also, the system-parameter area (see SmartBASIC Guide, p. C-23) has  been moved:  for example, the "LOMEM setting" isine and cancel the incorrect version.  The      program, of course, will not run properly until all these troublesome lines    are fixed.     (7) Four of the special-function keys ("hardkeys") are software-labeled   to function for line editing in SB II:  CLEAR works like CONTROL-X (cancels a  line input), INSERT like CONTROL-N (opens up a space leftward of the cursor),  DELETE like CONTROL-O (closes up the space beneath the cursor), and PRINT like CONTROL-P (dumps the screen to the printer).  The screen  make SB II worth       having, just to be able to save programs within a minimum of file space.     (5) The cursor-display routine has been rewritten in SB II, so now the    underline cursor character DISAPPEARS while either executing an immediate      command or running a program, reappearing only on return to command mode. This makes for a "cleaner" screen display, but it's no longer possible to change or blank the cursor character with a single POKE (to 16953 in SB I).     (6) Return of any error mees opened by    SmartBASIC programs.  Thus, SB II is apparently capable of correctly opening   and read/writing random-access files, whereas SB I seems full of bugs in this  department, in spite of what the Coleco manual (pp. C9-C10) would lead you to  believe.  Furthermore, SB II takes up almost 500 bytes LESS runtime memory     than SB I:  a FREe space of 26401 [after NEW] versus 25954 bytes.     (2) The cold-start loader ('BOOT' block 0) is all new code and includes a RAM test for the presence of the 6mber.  And if you LIST the program, any erroneous lines are RETAINED IN THE PROGRAM,  but their presence is unmistakably signaled by a "beep" during the listing!    This means a potentially great savings of time and retyping while programming: buggy lines now can be corrected AT ANY TIME DURING PROGRAM DEVELOPMENT,       simply and easily by running the cursor over the line (skipping over the       "happy face" with a CONTROL-right arrow), making the needed changes, and then  hitting RETURN to reenter the l at 16095 in SB I, but at 1594 in SB II.  More interesting, LOMEM and HIMEM can now be simultaneously reset;  in SB I, you can change EITHER one, but then trying to change the other gives  you an "Out of Memory Error."     (4) Both the REM and DATA statements have been fixed for the bug in SB I  that keeps inserting a space after them on a program line each time the        program is SAVEd or LOADed.  In fact, SB II specifically strips out any extra  leading spaces when LISTing.  This single feature mightdump, however, is now INTERRUPTABLE WITH A CONTROL-C, and if the CONTROL-C is issued during a screen dump activated from within a program (e.g., by PRINT CHR$(16)), control passes to the next step without a "Break."     (8) Line length (actually, the size of the line buffer) in SB II is       expanded to 255 characters, versus SB I's 127.     (9) Use is made of an RST 38 interrupt vector that involves updating the  spinner (the spool on the Super Action Controller), evidently with game design in mind.high nibble) and block-background (low                    nibble) colors     (15) The two new commands STDMEM and EXTMEM have been added to SB II to   permit switching between standard memory (64K RAM plus 16K VRAM; also the      default configuration) and extended memory, which uses the 64K Memory Expander (if present) in much the same manner as SmartWriter uses this extra RAM to     expand its workspace, i.e., through a bank-switching arrangement.  To load the bank-switched configuration (which takes u disk will replace the corresponding lines in memory.          (MERGEing may be thought of as 'inserting' the program lines on disk into the  program in memory.)"  This single addition greatly facilitates "modular"       programming, and makes SB II particularly valuable for larger writing          projects.     (12) The INIT command in SB II assigns the correct number of "Blocks      Free" when used to blank out the directory and reinitialize a disk, whereas SB I treats a disk the same as a data pack, anorkspace), enter "STDMEM", again with the source disk in the drive; the       screen will blank, the disk will spin, and the title screen will reappear. The MEMORY MAP seems to be quite different in these two configurations; things     really get moved around, so watch out!  For example, LOMEM and HIMEM don't     seem to have the same error checking in EXTMEM, and so entering an illegal     value can cause an immediate system crash!  Also, programs will generally RUN  MORE SLOWLY (about half as fast) in EXTerpreter of SB I--and    programs that use them--will NOT work in SB II, since it has been completely   recompiled.  In many cases, however, corresponding locations can be found with a little investigation.  Among the more useful are the POKEs to change the     screen and character colors (SB I addresses in parentheses):     17184 (17059)  border color (0-15)     17240 (17115)  normal-character (high nibble) and display-screen (low                    nibble) colors     17251 (17126)  inverse-character (     (10) The BREAK and NOBREAK commands (tokens 64 and 65) have been deleted  from SB II, but STORE, RECALL, and SHLOAD have not, and they're just as NON-FUNCTIONAL as in SB I!     (11) The new MERGE command works beautifully, in precisely the same way   as in Microsoft BASIC:  "Format:  MERGE <filename>[,Dn].  Merges a specified   disk file into the program currently in memory....If any lines in the disk     file have the same line numbers as lines in the program in memory, the lines   from the file onp much of that extra space in the SB II disk file), enter "EXTMEM" WITH THE SOURCE DISK STILL IN THE DRIVE.  The    disk will spin, the screen will blank, and after a few seconds the title       screen will reappear.  To get some idea of the size of your new workspace,     enter "PRINT FRE(0)"; the value 90646 is displayed [90656 after "NEW"].        Compare this with the value of 26391 [26401 after "NEW"] in SB II's standard   memory configuration.  To reload the standard configuration (and clear the     wd so 'CATALOG' shows an impossible  "253 Blocks Free"!     (13) While SB I sets an upper limit to use of the POKE command of 54160   (D390H, the start of the FCB-header area), SB II raises this limit nearly to   the top of RAM, to 65216 (FEC0H, the beginning of the DCB/FCB area).  You can  override this limit by POKEing 255 to addresses 16149 and 16150 in SB I, or to 1648 and 1649 in SB II; then you can POKE anywhere in memory--at your own      risk!     (14) In general, special POKEs into the BASIC intMEM than in STDMEM, because of all the  extra CPU time spent in bank switching.  That's the way it goes!     (16) High-resolution graphics have supposedly been fixed in SB II to      eliminate the problem of "video bleed" when HPLOTing or DRAWing in adjacent    pixels, but the few simple tests I've run indicate that the color-bleed        problem is AS BAD AS, IF NOT WORSE THAN, IN SB I.  Nonetheless, THE BIG NEWS   IS THAT SB II IS CAPABLE OF HANDLING SPRITES!  It does this through the "DRAW" and "XDRAW"hip), numbered  1 through 32.     (17) SB II has a built-in function for displaying ANY character on the    screen at the current cursor position (in TEXT mode), even the control-character symbols below ASCII 32.  To utilize this function, POKE the ASCII    code into address 16771, then CALL 16770.  This function interprets the code   as a displayable character, NOT a control code, so you can print even the      characters equivalent to a linefeed (10, a Greek "pi") or carriage return (13, a left-pointinou can view them by the       following interaction:     POKE 16788, 1: HOME     HCOLOR = 3: DRAW 1 AT 100, 50: DRAW 2 AT 100, 100This will display sprite 1 as a sailboat and sprite 2 as a communications      satellite!  The format for creating your own sprites is EXACTLY THE SAME AS    FOR SHAPES IN SMARTLOGO, as described in the SmartLogo Reference Manual (pp.   72-74); each sprite is a 32-byte string of hexcodes.  A maximum of 32 sprites  is allowable (the limit for simultaneous display by the video clace in Wiley's renowned Self-Teaching Guide series), it is arguably the most thoroughly informative--if not the biggest--volume of its kind yet published, arriving as it does on Adam's first birthday.  Like dozens of other early-comers to the Adam bookstall,   it also has its share of mistakes and misapprehensions--such as       taking the AdamNet port for a modem connection (p. 9)!--but then, it  was written before the release of the disk drive.  Nonetheless,       unlike its predecessors, it is compreheg arrowhead).  Try this short program:     10 HOME: FOR char = 1 to 127: POKE 16771, char: CALL 16770: PRINT " "; :        NEXTwhich will show a staggered screen display of the entire Adam character set,   from ASCII 1 (a centered dot) through 127 (a flashing cursor).TLY THE SAME AS    FOR SHAPES IN SMARTLOGO, as described in the SmartLogo Reference Manual (pp.   72-74); each sprite is a 32-byte string of hexcodes.  A maximum of 32 sprites  is allowable (the limit for simultaneous display by the video c commands--and these work IN ALL THREE SCREEN-DISPLAY MODES:  TEXT, GR, and HGR/HGR2.  To activate this function, first POKE a nonzero value into  address 16788 (the shape/sprite flag; default value is 0); addresses 16786 and 16787 hold the pointer to the starting address of the sprite table, low byte   first (the default table is at 192 decimal).  A sprite table can be located    anywhere in memory you choose, with its address POKEd into these two bytes.    There are TWO default sprites already provided; yxLp., $14.95     This is absolutely the last introductory book on the Adam I'll   ever buy.  As a step-by-step tutorial for Coleco's SmartBASIC (the    book takes its placTHE BASIC ADAMBy William Abikoff and Gary CornellNew York, John Wiley & Sons, 524 pp., $14.95     This is absolutely the last introductory book on the Adam I'll   ever buy.  As a step-by-step tutorial for Coleco's SmartBASIC (the    book takes its phip), numbered  1 through 32.     (17) SB II has a built-in function for displaying ANY character on the    screen at the current cursor position (in TEXT mode), even the control-character symbols below ASCII 32.  To utilize this function, POKE the ASCII    code into address 16771, then CALL 16770.  This function interprets the code   as a displayable character, NOT a control code, so you can print even the      characters equivalent to a linefeed (10, a Greek "pi") or carriage return (13, a left-pointinnsive where they are skimpy,   insightful where they are obtuse, humorous where they are dreary.     There's a lot to like about this book.  The paperback "perfect"  binding is wonderfully sturdy, and the book lies flat for easy        reading.  The two authors define computer jargon ("buzzwords") at     first usage in text, then all together in a chapter-indexed glossary  in the back.  I was particularly tickled by their definitions of      "user-friendly" ("a type of program that doesn't need an expert t can hold the output of a program.  We've mentioned     several times that SmartBASIC was designed so that     Applesoft programs would run on ADAM with little or no     change....Applesoft's way of writing to files has many     do's and don'ts.  The current version of SmartBASIC     does a few things differently than Applesoft.  These     changes may seem quite minor, but they either limit you     to working with short files or test if you have the     patience of a saint.  We can't believe that Coes, must be fascinating teachers if they    can lecture as entertainingly as they write.  Every point is lavishly illustrated with numerous programming examples, and I'm sure that to  some people the book may well be worth the price for one of its       lengthier ready-written programs alone--Smart ShapeMaker (for         constructing a high-resolution shape table) or Smart Musician (a      music editor and translator).  Much of the book's style reflects many hours of hands-on experience ("Sometimes this iseased at this book's    presstime, should have more details" (p. 412), or "Coleco hasn't      released enough technical information about SmartBASIC at this time"  (p.451).  But take heart:  Lazer MicroSystems, Inc., of Riverside,    Calif., the company that produced SmartBASIC for Coleco, has already  (Dec. l984) completed the new "turbocharged" version 2.0, which       should be released in second quarter l985.  Hopefully, by then the    documentation will be properly adequate for the more advanced        book fills in many gaps in the operating       knowledge of SmartBASIC.  The authors have evidently pushed hard on   every capability of the current version (1.0), especially in the      areas of graphics and file handling, both of which leave something to be desired, to put it politely.  One paragraph well worth quoting (p. 429) begins a section on "How to Add Information to a File":       Unless we can change the contents of files, the only     advantage they have over DATA statements is that they    o    run it") and "bomb" ("when a program rolls over and dies").  Key      lessons in each of the 16 numbered chapters are highlighted in gray   boxes, and helpful "Tricks of the Trade" subsections are scattered    throughout, providing illuminating asides to the main discussion.     Numerous short quizzes ("Self-Checks") spur the reader to review and  apply what he is learning (with answers at the back!).     The BASIC Adam gets high marks for readability.  The authors,    both college professor typleco will     permit these silly limitations to remain in SmartBASIC.     However, we have to write about the version we have,     not the version we expect.  (We hope you'll learn     enough about files to use the version we hope will     appear.)     Let's face it--SmartBASIC's current version 1.0 still bears the  scars of haste in Adam's early rush to market.  It works well enough, but...  More than once, the book brings us up short with remarks      like:  "Coleco's technical manual, not yet rel called getting your  hands dirty") with Adam itself:  "We've never been video game         fanatics, but we enjoyed playing Buck Rogers long enough to delay the writing of this book for several days" (p. 20).  Not all their        stories are so paradisal:  "We once lost about ten pages of this book because of a power problem.  It only dimmed the lights for a second,  but that was enough.  We had forgotten our own rule [to save current  work every 10 or 15 minutes]" (p. 408).     Read closely, the  programmmer, instead of the complete idiot--possibly even on a level  with Coleco's outstanding SmartLogo package, which rather puts to     shame the SmartBASIC that comes bundled with every Adam.     The book is enhanced by several precise appendixes. Appendix A,  "The ASCII Codes," is positively the best listing of Adam's character set I've seen anywhere.  Other appendixes cover the error codes,      mathematical formulas, and the differences between Applesoft BASIC    and Coleco SmartBASIC, along witharden blossoms.  The BASIC Adam     will nourish the roots of this growth, in preparation for a more      mature literary harvest still forthcoming.                                   George A. Havach                                   550-27th Street                                   San Francisco, CA 9413117),        omission of a quotemark within a key program line in the midst of the discussion on how to print quotemarks (p. 200), "GOSUM" (p. 282),     "one momment--getting directory" (p. 408),  with my Taxan 210 color monitor, I find the statement "A color        monitor is rather useless for ADAM because ADAM cannot produce fine   enough color dots to warrant the additional expense of a monitor" (p. 14) simply unsupportable.  The authors point out the Auxiliary Video  plug in the back of the Memory Console, but say nothing more about    its function.  Also peculiar is their dislike for conveniently        abbreviating the PRINT command by "?" (p. 88).  Their disdain to use  the CONTROL key in cg the Hinkles' Hacker's Guide to Adam  and learning that it's really possible to copy cartridge     games to data pack or disk, I've been waiting for some       clever hacker to produce a commercially available utility    for this purpose.  And now, wonder of wonders, two have hit  the market almost simultaneously:  "Multicart Backup" from   M.W. Ruth and "Cartcopy+" from MMSG.  Price-wise, Cartcopy+  has the edge:  $15 versus $19.95.  But, although they both   work extremely well, there are signi and "e=esp(1)" for         e=EXP(1) in math formulas--all surrounded by white space and          impossible to overlook.     The BASIC Adam closes l984's trade in adolescent publishing      about Adam and, on a promising note, bridges us over into l985, when  we should see Adam begin to prove its mettle my performing more       useful work as a small-business computer.  With the disk drive and    the modem already in hand, and CP/M and SmartBASIC II on the way,     Adam-lovers can rejoice as their g a neat "Reference Guide" to the     command set.  Conspicuously absent, however, is any memory map        (mentioned on p. 451 but nowhere detailed).  In fact, the book        specifically avoids incursions into the tantalizing realm of machine  language.  The reader is left in the dark as to how to use the        "machine language interface" commands USR and WAIT, and there is no   mention of the mysterious "ampersand routine."     I have my share of quibbles with The BASIC Adam.  Quite pleasedx	EW. Ruth Co.Media:  Data packRating:  9Title:  Cartcopy+Manufacturer:  MMSGMedia:  Data pack or diskRating:  7Review by:  George Havach     Ever since reading t                         SOFTWARE REVIEWTitle:  Multicart BackupManufacturer:  M.W. Ruth Co.Media:  Data packRating:  9Title:  Cartcopy+Manufacturer:  MMSGMedia:  Data pack or diskRating:  7Review by:  George Havach     Ever since readinonjunction with the right and left arrow keys for onscreen editing (p. 87-88) is downright ludicrous, since this        special feature gives Adam a truly powerful line editor.  Finally, I  spotted several sore-thumb typos:  "3-80 A" for Z80-A CPU (not once,  but twice, in figures 1.4 and 2.3), "Keepting Count" (p. 117),        omission of a quotemark within a key program line in the midst of the discussion on how to print quotemarks (p. 200), "GOSUM" (p. 282),     "one momment--getting directory" (p. 408),ficant differences in    their convenience to the user.     First off, I must admit it's a real kick to be able to  transfer a familiar ColecoVision game to data pack or        disk--and not just one, but several, one after another.  The instructions for Multicart Backup say 8 to a data pack and 5 to a disk, but it turns out these are minimums, because the  games themselves are of varying length.  So it's not unusual to get 8 or 9 complete games on one side of a disk, with no  problem; and if you use bothither to add new games or to play existing ones; Cartcopy+'s target is for    game play exclusively.     Overall, Multicart Backup's no-frills approach is more  to my liking.  For one thing, you select games with the      keypad, not the keyboard, as with Cartcopy+, so it's more    "kid-oriented."  (Games are for the child in us all!)  And I found Cartcopy+'s title-screen display a bit tedious;        loading time from data pack or disk is long enough as it is. Of course, the whole advantage of a PROM carMSG's earlier-released        utility "Backup+").  Multicart Backup's unique directory is  "stacked" at the end of block 1, where it can be read only   by the utility itself or a block editor, like Uncle Ernie's  Toolkit.     It turns out that, despite its more sophisticated       coding, Cartcopy+ is less accurate in determining the size   of any cartridge:  it rounds off in multiples of 4 blocks.   On the other hand, Multicart Backup registers and records    the exact size to the nearest block.  This trsigns as the printer tripping or the screen freezing up, and just to hit COMPUTER RESET.  Bad advice!  I learned  the hard way:  the next day, my screen display was           zapped--probably some component on the video board FRIED. Hi ho, Honeywell...  So, if you're going to enjoy the           convenience provided by one of these utilities, be SURE to   power down in between cartridge changes; otherwise, you'll   risk blowing it in a big way.g enough as it is. Of course, the whole advantage of a PROM carer to use than Cartcopy+.  Its quick     loading time--1 second to main menu, whereas Cartcopy+ takes 4 seconds to load and displays its flashy title screen for   another 16--makes for less waiting to get down to game play. Both utilities require a specially formatted medium          ("target") to work with; Cartcopy+ can create its own        target, whereas Multicart Backup must first be transferred   to the target with a backup utility like "Packcopy."  But    Multicart Backup's target can then be used e sides (a "flippy"), that's 15   to 20 cartridges on one diskette!  Now, that's compactness   for you.  And away into storage can go your cartridge        collection!     To tell just how close you're getting to running out of space, though, you need to be able to read the directory     structure generated by either utility.  In this regard,      Cartcopy+ is more direct:  the named game files (type "C")   it creates are actually readable with SmartBASIC--in fact,   they can even be copied (with Mtridge is its    near-instantaneous loading and its durability, so running    games from "softer" media is actually a step backward.  But  the compactness of data storage is a big plus--not to        mention being able to peek into all that proprietary code!     A final note of caution:  Neither Cartcopy+ nor         Multicart Backup sufficiently stresses the DANGER of         inserting or removing cartridges with the system powered on; Multicart Backup's instructions even tell you to ignore such warning anslates to     less wasted space on your "soft" media, and thus more games  per tape/disk.  It's neat to learn the actual lengths of     various games.  So far, the shortest I've seen is Q*bert     (only 8 K), and the longest are Football, Tapper, and Dam    Busters (32 K each).  Lots of others are 16 or 24 K, with a  few oddballs:  Mouse Trap, 11; Centipede, 15; Victory, 19. I think this kind of information is a real bonus.     For what it does, Multicart Backup is a lot shorter (2  versus 8 K) and easi5& NIAD#BNDV710LOMEM :3755015 base=2750020HOME:? "   CP/M to ADAM FIX"25& ECN#9 Daniel Uitti30?:? "  CP/M files transferred to ":? "  ADAM need some modifications":? "  as provided in this program."40?:? "  Line feeds are deleted.":? "  Control-Z means end of file.":? "  Tab characters need conver-":? "  sion to a column."70?:? "  Enter drive that converted ":? "  program is on.(d1,d2,etc) ":INPUT "====> "; drive$90? CHR$(4); "catalog,"; drive$120?:? "  Enter name of file to adjust":? "  with this 4); "write "; dfile$3040GOTO 30603050HTAB 1:? CHR$(4); "append "; dfile$3060 adr=03070 a=PEEK(adr+base)3080IF a=10 THEN  count=0:GOTO 31403090IF a=9 THEN GOSUB 6000:GOTO 31403100IF a=26 THEN 31603110IF a=13 THEN ?: count=0:GOTO 31403120? CHR$(a); 3130 count=count+13140 adr=adr+13150IF adr<>blk THEN 30703160HTAB 1:? CHR$(4); "close "; dfile$3170RETURN3200?3210?:? CHR$(4); "close "; dfile$3220? "  Error occurred accessing ":? "  destination file "; dfile$3240CLRERR3250END6000? " "; 6010 c070POKE adr+base, ASC(a$)2080 adr=adr+12085IF adr<length-maxln THEN 20902086IF a$=CHR$(13) THEN 21102090IF done=1 THEN 21102100IF adr<>length THEN 20502110 bn=bn+12120 lastchre=lastchr+adr2125 blk=adr2130HTAB 1:? CHR$(4); "close "; sfile$2140RETURN2150?2155HTAB 1:? CHR$(4); "close "; sfile$2160? "  Error occurred accessing ":? "  source file "; sfile$2180CLRERR2190END3000& write block routine3005ONERR  GOTO 32003010IF bn<>1 THEN 30503020HTAB 1:? CHR$(4); "open "; dfile$3030HTAB 1:? CHR$($="": t$=""320 tt=0330FOR i=0 TO LEN(nm$)-1340 re=ASC(MID$(nm$, LEN(nm$)-i, 1))350IF re<64 THEN  re=re-48360IF re>64 AND re<91 THEN  re=re-55370IF re>96 THEN  re=re-87380IF re>bs THEN GOSUB 1220:GOTO 200390IF re<0 THEN GOSUB 1220:GOTO 200400 tt=tt+((bs^i)*re)410NEXT i420REM   CONVERTED NUMBER430 fg=0440FOR i=20 TO 0 STEP -1450 n1=(tt/(bc^i))+1E-05460IF INT(n1)<>0 THEN  fg=1470IF fg=1 THEN  r$=a$(INT(n1))480 t$=t$+r$490 tt=tt-((INT(n1))*(bc^i))500NEXT i510?:REM   PRINT & GET NEXT NUMBER ount=count+16020IF count<>8*INT(count/8) THEN 60006030RETURN7000& dump data blk routine7010FOR db=lastchr TO 0 STEP -17020GET a$7030NEXT db7040RETURN2110 bn=bn+12120 lastchre=lastchr+adr2125 blk=adr2130HTAB 1:? CHR$(4); "close "; sfile$2140RETURN2150?2155HTAB 1:? CHR$(4); "close "; sfile$2160? "  Error occurred accessing ":? "  source file "; sfile$2180CLRERR2190END3000& write block routine3005ONERR  GOTO 32003010IF bn<>1 THEN 30503020HTAB 1:? CHR$(4); "open "; dfile$3030HTAB 1:? CHR$(program."140INPUT "  ===> "; sfile$150?:? "  Enter name to give file":? "  created from the FIX."160?:INPUT "  ===> "; dfile$170 maxln=250180 length=10000190 lastchr=0200 done=0210 bn=0220GOSUB 2000230GOSUB 3000235?:? "  BLOCK "; bn; " COMPLETED"240IF done<>1 THEN 220250?:? "  Conversion is complete."270END2000& read text block2005ONERR  GOTO 21502010 adr=02020HTAB 1:? CHR$(4); "open "; sfile$2030HTAB 1:? CHR$(4); "read "; sfile$2040GOSUB 70002050GET a$2060IF a$=CHR$(26) THEN  done=12100REM   by Don Zimmerman110POKE 17059, 8:POKE 17115, 26:POKE 17126, 31:TEXT120DIM a$(15)130 nm$="": bc$="": bs$=""140FOR i=0 TO 15150READ a$(i)160NEXT i170HOME180GOSUB 550:GOSUB 650:GOSUB 550:GOSUB 810190?:GOSUB 970200HTAB 1:? SPC(70):VTAB 15:HTAB 1210? "ENTER NUMBER TO CONVERT-"220? " ":FLASH230? " NUMBER-> "; :NORMAL240INPUT ""; nm$:IF nm$=CHR$(3) THEN GOTO 1210250IF nm$="Q" OR nm$="q" THEN GOTO 1210260IF nm$="N" OR nm$="n" THEN RUN270IF nm$="" THEN 210280GOSUB 1260290?300VTAB 4310 r4); "write "; dfile$3040GOTO 30603050HTAB 1:? CHR$(4); "append "; dfile$3060 adr=03070 a=PEEK(adr+base)3080IF a=10 THEN  count=0:GOTO 31403090IF a=9 THEN GOSUB 6000:GOTO 31403100IF a=26 THEN 31603110IF a=13 THEN ?: count=0:GOTO 31403120? CHR$(a); 3130 count=count+13140 adr=adr+13150IF adr<>blk THEN 30703160HTAB 1:? CHR$(4); "close "; dfile$3170RETURN3200?3210?:? CHR$(4); "close "; dfile$3220? "  Error occurred accessing ":? "  destination file "; dfile$3240CLRERR3250END6000? " "; 6010 c520GOSUB 970530GOTO 200540DATA   0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F550HOME:REM   PRINT SCREEN 560INVERSE570FOR i=1 TO 30:? "*"; :NEXT i:NORMAL580VTAB 24:HTAB 4:FLASH:? " ** QUIT BY TYPING 'Q' **"; :NORMAL590 nm$="": bc$="": bs$=""600VTAB 2:HTAB 4:INVERSE610? " NUMBER BASE CONVERSION ":NORMAL620INVERSE630FOR i=1 TO 30:? "*"; :NEXT i:NORMAL640RETURN650REM   GET SOURCE BASE660VTAB 7:HTAB 9:? "1 = "; 670INVERSE:? " DECIMAL ":NORMAL680VTAB 8:HTAB 9:? "2 = "; 690INVERSE:? " BINARY  ":NORMAL700VTAB OURCE NUMBER BASE IS-"; :INVERSE:? bx$:NORMAL1080HTAB 7:? "SOURCE NUMBER IS:"1090HTAB yx:INVERSE:? " "; nm$; " ":NORMAL:?:?1100HTAB 1:? "TARGET NUMBER BASE IS-"; :INVERSE:? bz$:NORMAL1110HTAB 7:? "TARGET NUMBER IS:"1120HTAB yz:INVERSE:? " "; t$; " ":NORMAL1130VTAB 22:HTAB 2:FLASH:? " PRESS <RETURN> TO CONTINUE ":NORMAL1140VTAB 23:HTAB 2:INVERSE:? "   PRESS 'N' FOR NEW BASE           ":NORMAL1150HTAB 2:INVERSE:? "     PRESS 'Q' TO QUIT      "; :NORMAL1160VTAB 15:HTAB 11170GET zz$1180IF zz$="N" OR E FOR TARGET NUMBER"; bc$900IF bc$="Q" OR bc$="q" OR bc$=CHR$(3) THEN GOTO 1210910 bc=VAL(bc$)920IF bc<1 OR bc>3 THEN 890930IF bc=1 THEN  bc=10940IF bc=2 THEN  bc=2950IF bc=3 THEN  bc=16960RETURN970REM   SHOW BASES USED 980HOME: yx=12: yz=12990IF bs=16 THEN  bx$=" HEX "1000IF bs=2 THEN  bx$=" BINARY ": yx=81010IF bs=10 THEN  bx$=" DECIMAL"1020IF bc=16 THEN  bz$=" HEX "1030IF bc=2 THEN  bz$=" BINARY ": yz=81040IF bc=10 THEN  bz$=" DECIMAL"1050INVERSE:? SPC(30); :NORMAL1060?:?1070HTAB 0:? "S  18  19  20  21  22  23  24  25  26  27  28  29  30  312  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  473  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  634  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  795  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  956  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 1117 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 1278 128 129 130 131 132 133 134 135 136 137 138 139 140 141 1zz$="n" THEN RUN1190IF zz$="Q" OR zz$="q" OR zz$=CHR$(3) THEN 12101200RETURN1210POKE 17059, 0:POKE 17115, 241:POKE 17126, 31:TEXT:END1220VTAB 13:HTAB 1:FLASH:? "                                      ":NORMAL1230VTAB 14:HTAB 6:FLASH:? " '"; nm$; "' "; " IS IN ERROR         ":NORMAL1240VTAB 17:HTAB 11:? SPC(10)1250RETURN1260IF bs<>10 THEN RETURN1270FOR i=1 TO LEN(nm$)1280 xa$=MID$(nm$, i, 1):NEXT i1290IF xa$="A" OR xa$="a" THEN GOSUB 1220:GOTO 2001300RETURNPC(30); :NORMAL1060?:?1070HTAB 0:? "S9:HTAB 9:? "3 = "; 710INVERSE:? " HEX     ":NORMAL720?:?730INPUT "ENTER BASE FOR SOURCE NUMBER"; bs$740IF bs$="Q" OR bs$="q" OR bs$=CHR$(3) THEN GOTO 1210750 bs=VAL(bs$)760IF bs<1 OR bs>3 THEN 730770IF bs=1 THEN  bs=10780IF bs=2 THEN  bs=2790IF bs=3 THEN  bs=16800RETURN810REM   GET TARGET BASE820VTAB 7:HTAB 9:? "1 = "; 830INVERSE:? " DECIMAL ":NORMAL840VTAB 8:HTAB 9:? "2 = "; 850INVERSE:? " BINARY  ":NORMAL860VTAB 9:HTAB 9:? "3 = "; 870INVERSE:? " HEX     ":NORMAL880?:?890INPUT "ENTER BASxI           Don Zimmerman    0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F0   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  151  16  17  1                    UNDERSTANDING HEXIDECIMAL                                                  Don Zimmerman    0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F0   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  151  16  17OURCE NUMBER BASE IS-"; :INVERSE:? bx$:NORMAL1080HTAB 7:? "SOURCE NUMBER IS:"1090HTAB yx:INVERSE:? " "; nm$; " ":NORMAL:?:?1100HTAB 1:? "TARGET NUMBER BASE IS-"; :INVERSE:? bz$:NORMAL1110HTAB 7:? "TARGET NUMBER IS:"1120HTAB yz:INVERSE:? " "; t$; " ":NORMAL1130VTAB 22:HTAB 2:FLASH:? " PRESS <RETURN> TO CONTINUE ":NORMAL1140VTAB 23:HTAB 2:INVERSE:? "   PRESS 'N' FOR NEW BASE           ":NORMAL1150HTAB 2:INVERSE:? "     PRESS 'Q' TO QUIT      "; :NORMAL1160VTAB 15:HTAB 11170GET zz$1180IF zz$="N" OR 42 1439 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159A 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175B 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191C 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207D 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223E 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239F 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255     Hexadecimal is a numbering system bass 3) Use the above chart that can be printed out  using Peter Hinkles' "hex.table" program that comes with his      "Hackers Guide. The best way is to buy a Decimal/Hex hand held    calculator but they are expensive and hard to locate. A computer  conversion program ties up your computer unless you have two      computers or just want to convert a lot of numbers that you have  written down on paper. The most likly method is to use a chart    such as the one above.     Look up the first number/letter of th. Each number/letter is used to represent the zeros and ones that are contained in one         "nibble". Because a "nibble" (4 bits) is one half of one byte (8  bits), we use two of these Hex digits to represent one byte of    computer memory. This is the reason you will almost always see    Hex numbers in pairs. Any single Hex number alone has an implied  zero in front of it. Eg. $C3F is really $0C3F and $D is $0D.      Because Hex and decimal numbers can be confused Hex numbers will  have a dollar sign or.) or $A0 Hex blocks but they are       numbered 0 - 159(Dec.) or $0 - $9F(Hex.).     By coupling two eight bit (one byte) registers together we   can address 65535 memory locations and we use TWO Hexadecimal     number pairs for any thing larger then 255 ($FF). Eg.: $0100. Use the first(lefthand) pair of the Hex. numbers ($01), look up its'  decimal equalivalent on the chart (1 Dec.) and multiply the       decimal equalivalent by 256. Add the decimal equalivlant of the   SECOND Hex set (the right hand pa to one "block" or 1024 ($0400 Hex) bytes of memory. It is   very easy to located block numbers in Hexadecimal and difficult   in Decimal. For example if block 1 started at $1000 then block 2  would start at $1400, block 3 at $1800 and so forth. If we were   to use standard Decimal block 1 would start at 1024, block 2 at   2048, block 3 at 3072, and so forth.      There are three ways to convert decimal numbers to           Hexadecimal: 1) Buy a "Decimal/Hex" calculator 2) Use a program   that will do thied on 16 rather than    the 10 based decimal system that most of us are used to using.    The hexadecimal numbering system is used by programmers because   hexadecimal numbers can be used to represent the zeros and ones   that a computer understands much easier than the common 10 based  decimal system. For this reason Hexadecimal numbers are a         "natural" system to use when working with computers.      The sixteen Hex "numbers" start at zero end at the letter    "F" (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)e Hexadecimal pair in   the left hand column of the chart. Go across the chart until you  come to the second Hex number of the pair at the top of the       chart. Eg.: $25=35(Dec), $0D=13(Dec.), $3E=62, $ED=237, and so    forth. $FF= 255(Dec.) but this includes the $00(0 Dec) byte to    bring the TOTAL number that ONE byte can address is 256 bytes     even though the highest number is $FF(255 Dec.). You have to      include the Zero byte. Remember programmers have NINE fingers (0  - 9). The disk has 160(Dec the letter "H" before it. $24 or H24 will   mean the Hex number 24 and a "plain" 24 indicates a decimal 24.      Many times one "block" of memory 1024 bytes ($0400 Hex) will be set aside as a "buffer" that will be used as temporary holding areas for Input/Output (I/O), read and write areas, scratch pad   areas, and the like. One "page" is equal to 256 bytes (0100 Hex). If page #1 is located at $0100 then page #2 is at $0200, page 3   at $0300 and so on. Four "Pages" (256 bytes each, 100 Hex) is     equalir) to the result of the first   operation. Eg.: $0100. $01= 1(Dec.), and 1 * 256 = 256 and $00 =  0(Dec.). By adding the results of the first operation (256) to    the results of the second (0) we come up with 256 as the decimal  equalivalent of the Hex number $0100. Eg. $0E3F= $0E or 14 * 256  = 3584, and 3584 plus $3F (63) = 3647(Dec.). Eg. $FFFF. $FF= 255  * 256 or 65280. The right hand Hex pair $FF = 255 (taken from     chart). The first (65280) plus the second (255) equals 65535      which is the maxisy   way to get the remainder is to multiply the WHOLE number result   from the division by 256 and subtract this from the originial     decimal number. Eg. 34215/256 = 133.65234. Use the 133 for the    first Hex set. Multiply 133 by 256 to get the even number of      34048. Subtract this number from your originial decimal number    (34215) to get the remainder of 167 which second Hex set.     There is no need for Hexadecimal number notation to be a     road block to programming or understanding ADAM. WhiDivide   the decimal number by 256, look up its' Hex equalivalent on the   chart, and use this Hex pair as the first Hex set. Look up the    remainder of the division for the second Hex pair. Eg. 65535 /    256 = 255 which is $FF. The remainder of 255 also is $FF. Eg.     34215 = 34215/256 or 133 (use only the whole number). Because     133(Dec.) is $85, $85 will be the first set of Hex numbers. The   remainder of 167 will be $A7 from the chart.     The decimal of 34215 will be $85A7 in Hexadecimal. An eaHTAB 2:? SPC(28)15NORMAL20VTAB 9:HTAB 7:? "1. LENGTH":VTAB 11:HTAB 7:? "2. AREA":VTAB 13:HTAB 7:? "3. VOLUME"22VTAB 15:HTAB 7:? "4. LIQUID CAPACITY":HTAB 7:VTAB 17:? "5. WEIGHT":VTAB 19:HTAB 7:? "6. TEMPERATURE"23VTAB 21:HTAB 7:? "7. END"25INVERSE:VTAB 23:HTAB 4:? "  INPUT REQUIRED NUMBER  ":NORMAL26INPUT a:IF a<1 OR a>7 THEN 2630ON a GOTO 1000, 2000, 3000, 4000, 5000, 6000, 8000100FOR x=1 TO 12:READ a$(x):NEXT110DATA   "MILLIMETRES","CENTIMETRES","METRES","KILOMETRES","INCHES","FEET","YARDS","FATHle Hex may    seem complicated at first it is like anything else. It becomes    almost second nature after using it. With PRACTICE you too can    use Hexidecimal number notation. Before you say it is too hard    think back to the first time you opened the large ADAM box and    remember your first attempts at using SmartWriter or SmartBasic.  If you now feel comfortable using these you too can use           Hexadecimal!ill be $A7 from the chart.     The decimal of 34215 will be $85A7 in Hexadecimal. An eamum number of memory locations that the          Hexidecimal of $FFFF can address. ADAM uses the Z-80              microprocessor that will couple two eight bit registors together  so the Hex number $FFFF can be used. Because only two registers   can be coupled together the most memory ADAM can use is 65335 (64 K) unless we go to a "memory bank switching" operating system     that will switch back and forth between two or more "banks" of 64 K memory     Converting from decimal to Hex is just the reverse. 1REM         CONVERSIONS2REM       based on a program for the ZX-803REM       written by Jonathan Court in ZX-80 Aug/Sept 19844POKE 17115, 245:POKE 17126, 79:POKE 17059, 5:TEXT5DIM a$(12), b$(15), c$(7), d$(8), e$(11), f$(3), a(12), b(15), c(7), d(8), e(11)6GOSUB 1007HOME10VTAB 2:HTAB 2:INVERSE:? SPC(28):VTAB 3:HTAB 2:? " "; :NORMAL:? SPC(26); :INVERSE:? " "11VTAB 4:HTAB 2:? " "; :NORMAL:? "   C O N V E R S I O N    "; :INVERSE:? " "12VTAB 5:HTAB 2:? " "; :NORMAL:? SPC(26); :INVERSE:? " "13VTAB 6:sy   way to get the remainder is to multiply the WHOLE number result   from the division by 256 and subtract this from the originial     decimal number. Eg. 34215/256 = 133.65234. Use the 133 for the    first Hex set. Multiply 133 by 256 to get the even number of      34048. Subtract this number from your originial decimal number    (34215) to get the remainder of 167 which second Hex set.     There is no need for Hexadecimal number notation to be a     road block to programming or understanding ADAM. WhiOMS","POLES (RODS)"120DATA   "CHAINS","FURLONGS","MILES"  130FOR x=1 TO 15:READ b$(x):NEXT140DATA    "SQUARE MM","SQUARE CM","SQUARE METRES","SQUARE KM","CENTIARES","ARES","HECTARE","SQUARE INCHES","SQUARE FEET"150DATA   "SQUARE YARDS","PERCHES","SQUARE CHAINS","ROODS","ACRES","SQUARE MILES"     160FOR x=1 TO 7:READ c$(x):NEXT170DATA   "CUBIC MILLIMETRES","CUBIC CENTIMETRES","CUBIC DECIMETRES","CUBIC METRES (STERES)","CUBIC INCHES"180DATA   "CUBIC FEET","CUBIC YARDS" 190FOR x=1 TO 8:READ d$(x):NEXTAB 18:? "  "; x; " "; b$(f):VTAB 19:? "      IS EQUAL TO "2430 y=x*(b(f)/b(t))2435GOSUB 71002440? "  "; y$; " "; b$(t)2445?2450? "Hit"; :INVERSE:? " A "; :NORMAL:? "to convert another area  hit"; :INVERSE:? " M "; :NORMAL2455? "for menu"; SPC(10); 2460GET w$:IF w$="A" OR w$="a" THEN 23002470IF w$="M" OR w$="m" THEN 72475IF ASC(w$)=3 THEN END2480GOTO 24603000REM            volume3010 ci=6.10254723300HOME:VTAB 2:HTAB 8:? "V O L U M E":HTAB 8:? "***********":?3310FOR x=1 TO 73315HTAB 43320? x; TA   2.4710533e-09,2.4710533e-07,2.4710533e-03,2471.0533 ,2.4710533e-03,.24710533,24.710533290DATA   1.59422508e-06,2.29568411e-04,2.0661157e-03,.0625,1,2.5,10,6400 300FOR x=1 TO 7:READ c(x):NEXT310DATA   6.1025472e-05,.061025472,61.025472,61025.472,1,1728,46656  320FOR x=1 TO 8:READ d(x):NEXT330DATA   1.7598049e-03,.017598049,1.7598049,.05,.25,1,2,8 340FOR x=1 TO 11:READ e(x):NEXT350DATA   2.2046224e-06,2.2046224e-03,2.2046224,2204.6224,3.90625e-03,.0625,1,14,28,112,2240  360RETURN1000REM         OTO 34604000REM            liquid capacity4300HOME:VTAB 2:HTAB 8:? "LIQUID CAPACITY ":HTAB 8:? "***********":?4310FOR x=1 TO 84315HTAB 44320? x; ". "; d$(x)4330NEXT4350 p=13: n=8:GOSUB 70004360VTAB 19:? "FROM "; d$(f):VTAB 20:? "TO "; d$(t)4370VTAB 21:? "INPUT NO. OF "; d$(f); :INPUT x:IF x=0 THEN 43704380VTAB 19:? "  "; x; " "; d$(f):VTAB 20:? "      IS EQUAL TO "4390 y=x*(d(f)/d(t))4395GOSUB 71004400? "  "; y$; " "; d$(t)4450? "Hit"; :INVERSE:? " L "; :NORMAL:? "to convert another liquidcapaother lengthhit"; :INVERSE:? " M "; :NORMAL:? "for menu"1430GET w$:IF w$="L" OR w$="l" THEN 13001440IF w$="M" OR w$="m" THEN 71445IF ASC(w$)=3 THEN END1450GOTO 14302000REM            area2010 sqc=2.47105332300HOME:HTAB 10:? "A R E A    ":HTAB 10:? "*********"2310FOR x=1 TO 15:IF x<10 THEN HTAB 5:GOTO 23202315HTAB 42320? x; ". "; b$(x)2330NEXT2400 p=17: n=15:GOSUB 70002405VTAB 18:? " ":? "FROM "; b$(f):VTAB 20:? " TO "; b$(t)2410VTAB 23:? "INPUT NO. OF "; b$(f); :INPUT x:IF x=0 THEN 24102420VT200DATA    "MILLILITRES","CENTILITRES","LITRES","FLUID OUNCES","GILLS","PINTS","QUARTS","GALLONS"  210FOR x=1 TO 11:READ e$(x):NEXT220DATA    "MILLIGRAMS","GRAMS","KILOGRAMS","TONNES","DRAMS","OUNCES","POUNDS","STONES","QUARTERS","HUNDREDWEIGHT","TONS"230FOR x=1 TO 3:READ f$(x):NEXT240DATA   "CENTIGRADE (CELSIUS)","FAHRENHEIT","KELVIN"  250FOR x=1 TO 12:READ a(x):NEXT260DATA   1.0936133E-03,.010936133,1.0936133,1093.6133,.0277777777,.333333333,1,2,5.5,22,220,1760 270FOR x=1 TO 15:READ b(x):NEXT280DA". "; c$(x)3330NEXT3350 n=7: p=13:GOSUB 70003355VTAB 19:? "FROM "; c$(f):VTAB 20:? "TO "; c$(t)3360VTAB 21:? "INPUT NO. OF "; c$(f); "":INPUT x:IF x=0 THEN 33603370VTAB 19:? "  "; x; " "; c$(f):VTAB 20:? "      IS EQUAL TO "3390 y=x*(c(f)/c(t))3395GOSUB 71003400? "  "; y$; " "; c$(t)3450? "Hit"; :INVERSE:? " V "; :NORMAL:? "to convert another volumehit"; :INVERSE:? " M "; :NORMAL3455? "for menu"3460GET w$:IF w$="V" OR w$="v" THEN 33003470IF w$="M" OR w$="m" THEN 73475IF ASC(w$)=3 THEN END3480G   length1010 y=1.09361331300HOME:VTAB 2:HTAB 8:? "L E N G T H":HTAB 8:? "***********":?1310FOR x=1 TO 12:IF x<10 THEN HTAB 5:GOTO 13201315HTAB 41320? x; ". "; a$(x)1330NEXT1350 n=12: p=17:GOSUB 70001360VTAB 19:? "FROM "; a$(f):VTAB 20:? "TO "; a$(t)1370VTAB 21:? "INPUT NO. OF "; a$(f); :INPUT x:IF x=0 THEN 13701380VTAB 19:? "  "; x; " "; a$(f):VTAB 20:? "      IS EQUAL TO "1390 y=x*(a(f)/a(t))1395GOSUB 71001400? "  "; y$; " "; a$(t)1405?1410? "Hit"; :INVERSE:? " L "; :NORMAL:? "to convert ancity"; :INVERSE:? " M "; :NORMAL4455? "for menu"4460GET w$:IF w$="L" OR w$="l" THEN 43004470IF w$="M" OR w$="m" THEN 74475IF ASC(w$)=3 THEN END4480GOTO 44605000REM            weight5300HOME:VTAB 2:HTAB 8:? "W E I G H T":HTAB 8:? "***********":?5310FOR x=1 TO 11:IF x<10 THEN HTAB 5:GOTO 53205315HTAB 45320? x; ". "; e$(x)5330NEXT5350 p=16: n=11:GOSUB 70005360VTAB 19:? "FROM "; e$(f):VTAB 20:? "TO "; e$(t)5370VTAB 21:? "INPUT NO. OF "; e$(f); :INPUT x:IF x=0 THEN 53705380VTAB 19:? "  "; x; " "; 8VTAB 18:? SPC(30):VTAB 19:? INT(x*100+.05)/1009400VTAB 20:? "DEGREES "; f$(t)23410VTAB 21:? "INPUT NO. OF "; b$(f); :INPUT x:IF x=0 THEN 241018:? "DEGREES "; f$(t)6420VTAB 20:INVERSE:? "   HIT "; :NORMAL:? " T "; :INVERSE:? "TO CONVERT ANOTHER":NORMAL6425VTAB 21:? "      "; :INVERSE:? "TEMPERATURE":VTAB 226427NORMAL:? "     "; :INVERSE:? "  HIT "; :NORMAL:? " M "; :INVERSE6430? " FOR MENU  ":NORMAL6440GET a$:IF a$="M" OR a$="m" THEN 76450IF a$="T" OR a$="t" THEN 60006460GOTO 64406999STOP:GOTO 7 "; f:IF f<1 OR f>3 THEN 63406350VTAB 20:HTAB 2:INPUT "    TO ? "; t:IF t<1 OR t>3 THEN 63506360VTAB 17:? "FROM DEGREES "; f$(f)6365VTAB 18:? "TO DEGREES "; f$(t)6370VTAB 20:? "INPUT TEMPERATURE IN ":? "DEGREES "; f$(f):INPUT x6380VTAB 12:HTAB 5:? x:VTAB 13:? "DEGREES "; f$(f):VTAB 15:? "     IS EQUAL TO"6381VTAB 14:? SPC(30)6390IF f=2 THEN  x=(x-32)*(5/9)6392IF f=3 THEN  x=x-273.156394IF t=2 THEN  x=x*9/5+326396IF t=3 THEN  x=x+273.156399VTAB 16:?6400 no$=STR$(x):FOR l=1 TO LEN(no$):IF MID$(no$§ConvrsionsAY‘NUMBERSAFTaÓBLOCKS LEFTc=7000VTAB 20:HTAB 2:INPUT "FROM? "; f:IF f<1 OR f>n THEN 70007010VTAB 20:HTAB 2:INPUT "    TO ? "; t:IF t<1 OR t>n THEN 70107090RETURN7100 y$=STR$(y)7115 de=07120 l=LEN(y$):FOR x=1 TO l:IF MID$(y$, x, 1)="." THEN  de=1:GOTO 71607130NEXT7150IF de=0 THEN  y$=y$+".00":RETURN7160IF l-x<=2 THEN RETURN7170 z$=LEFT$(y$, x+2)7175IF VAL(MID$(y$, x+3))<5 THEN  y$=z$:RETURN7176IF VAL(MID$(y$, x+3))>=5 THEN  n=VAL(z$)+.017177 y$=STR$(n)7200RETURN8000POKE 17059, 0:POKE 17115, 240:POKE 17126, 15:TEXT:END939e$(f):VTAB 20:? "      IS EQUAL TO "5390 y=x*(e(f)/e(t))5395GOSUB 71005400? "  "; y$; " "; e$(t)5450? "Hit"; :INVERSE:? " W "; :NORMAL:? "to convert another weighthit"; :INVERSE:? " M "; :NORMAL5455? "for menu"5460GET w$:IF w$="W" OR w$="w" THEN 53005470IF w$="M" OR w$="m" THEN 75475IF ASC(w$)=3 THEN END5480GOTO 54606000REM            temperature6300HOME:VTAB 2:HTAB 8:? "TEMPERATURE":HTAB 8:? "***********":?6310FOR x=1 TO 36315HTAB 46320? x; ". "; f$(x)6330NEXT6340VTAB 20:HTAB 2:INPUT "FROM?DECIMAL  BINARY  HEXIDECIMAL                                              0 -    0 --       0    1 -    1 --       1   2 -   10 --       2   3 -   11 --       3   4 -  100 --       4   5 -  101 --       5   6 -  110 --       6   7 -  111 --       7   8 - 1000 --       8   9 - 1001 --       9  10 - 1010 --       A  11 - 1011 --       B  12 - 1100 --       C  13 - 1101 --       D  14 - 1110 --       E  15 - 1111 --       F  16 -10000 --      10ConvertAFTMÙConvrtDocHQ, l, 1)=CHR$(46) THEN 64056401NEXT:VTAB 17:? "    "; x:GOTO 64106405IF LEN(no$)>=l+2 THEN VTAB 17:? "    "; LEFT$(no$, l+2):GOTO 64106410VTAB 18:? "DEGREES "; f$(t)6420VTAB 20:INVERSE:? "   HIT "; :NORMAL:? " T "; :INVERSE:? "TO CONVERT ANOTHER":NORMAL6425VTAB 21:? "      "; :INVERSE:? "TEMPERATURE":VTAB 226427NORMAL:? "     "; :INVERSE:? "  HIT "; :NORMAL:? " M "; :INVERSE6430? " FOR MENU  ":NORMAL6440GET a$:IF a$="M" OR a$="m" THEN 76450IF a$="T" OR a$="t" THEN 60006460GOTO 64406999STOP:GOTO 7xOreading all the           information on them but I have wondered, how does the information get to   ANN and to me.Well in response to this much asked question the Offic^AFOR THOSE THAT WONDERED........Gee, I enjoy getting my ANN disks each month and reading all the           information on them but I have wondered, how does the information get to   ANN and to me.Well in response to this much asked question the Ofook through old dusty disks from years ago, to find items   to pull off and put on current ANN disks, hoping all who read the original many long years ago have now gone on to the Great Coleco Co. in the sky.Sometimes it is necessary to write nonsense items such as this item,       merely to fill out the space and not necessarily to impart knowledge.  Are these items works of fiction, friction, fixation, or fact.   Only the      Shadow knows.As each disk is filled, except for  a small space for the descrf CPM thru the Middle  Ages; (2) Rob Friedman's CPM as a second language for the foreign born;    (3) Tom Keene's The Care and Feeding of a CPMer, and its sequel, Raising   CPMers for Fun And Profit, here it is......There are hidden adamite moles , who many years ago we planted in various  cities to further the interests of ANN.  Now when they are needed, they    come to the surface  (hence the name moles) and then they send threatening letters to local adamites strongly suggesting that they see that theintral-2, Dean formally hands the disks over to    Joe Alford in a ceremony suitable for photo taking, known as the changing  of the disks.   However, prior to this very colorful and historical and    hysterical ceremony, Dean makes certain additions to the disks.  These are trade secrets, handed down from the time of Big John and Sol Swift thru    generations of adamites until Dean's great great great grandfather who     bequeath the same to Dean.Joe Alford who has aged considerably under the strain and r Mo. USA.Here Barry carefully places them unread on disks  (it helps keep the sense of mystery alive not to know what is in them).  When the supply of information sent is not sufficent (like every month)    Barry must use his skill and daring to obtain more material. Sometimes this is by signing on various BBSs under assumed names and       stealing (downloading) items meant for downloading and some meant only for private communications.    Sometimes it is necessary to go to the          archieves and lficial ANN response as  stated in the Policy Manual under Article 2 Section 12 paragraph 3 subpart A7 is as follows:The stork brings them.   Further you should not ask such questions until   you are older, go to bed without dinner.Now for those of you willing to take the unofficial version for which I    make no guarantees, warranties, or other such creatures of law and which I will fully deny under moderate torture, such as being forced to listen to  any of the following: (l) Ron Collin's The History oiption      (readmetwo) file, it is sent by truck to Florida, then by boat to Cuba,    where it is flown to the South Pole, dog sleded to a secret military base  wehre it is taken by submarine to the North Pole and finally delivered by  reindeer or by an elf to Dean Roades in Indiana.  (ANN Central-2, which is a duplicate of the ANN Central-l and meant to serve as the main control    centre for ANN in case of an emergency, attack by CPMers, or other natural or unnatural disaster.)Here in Indiana at ANN Cer     medical and accident insurance is all paid up as they will be using it     shortly unless they submit articles to ANN.   If this fails, well we are   not in this business for this long without having the necessary contacts   to see that pressure is applied to wrists, kness & elbows.   I would       suggest investing in Plaster Cast Co. stock as it may be a growth          industry.The articles are then sent in plain brown envelopes without return address to ANN Central which is Barry Wilson St.Louisesponsibility   but who being a loyal adamite continues the good fight waged by ANN        against evil, ignorance and CPM has a special and very difficult job to    do.To Joe Alford serving in the finest tradition of such greats as Rich Clee, Ron Mitchell, David Cobley, Pat Herrington and others of similar stature,  goes the thankless, unrewarding, unrelenting and just generally boring job of ACTUALLY READING EACH AND EVERY FILE.  This is done to enable Joe to    write the Readmetwo, item descriptions, fen placed into sterilized disk folds, placed in          appropriate mailing containers, weighed, measured, tested for flavor and   then the final step, one which has much ceremony almost as formal as the   changing of the disks above mentioned, is the applying of the stamps and   postage.Now your ANN disk is ready for you and when you look in your mail box and  find it , you can be sure                                                  that..................................................The stork brouds each file and tries to determine the often hidden and secret     meaning and subject of each file.  Then locking himself in his room, with  food & drink, much drink for a 3k-4 days stay, does his magic and produces the Readmetwo file.The disk is then returned by a secret, long, and twisted route, again to   conceal the source and each person's involvement in this project, to the   North Pole where it is again reindeered into Dean Roades in Indiana.The master disk is now laboriously copied by hand by en placed into sterilized disk folds, placed in          appropriate mailing containers, weighed, measured, tested for flavor and   then the final step, one which has much ceremony almost as formal as the   changing of the disks above mentioned, is the applying of the stamps and   postage.Now your ANN disk is ready for you and when you look in your mail box and  find it , you can be sure                                                  that..................................................The stork brou to write on parchment and upon plastic, make  the necessary copies, properly label them as supervised by the Food and    Drug Administration.The reader will be relieved to know that ANN disks are cholesterol free,   Sodium free, non-caloric and can be used to pick your teeth for good       dental hygiene.But I digress as is my custom when I am thinking of what to next write     down for your enlightenment (?).After the Food & Drug Administration supervises the proper labeling of the disks, they are thile.  What it amounts to is many  days of work to come up with a condensed, organized and detailed while     being brief and to the point, file of just a few K to let you know what is on each disk.Now after all of this, each disk must be cleared with the National         Security Agency for Canada , United States, Great Britian, as well as      other countries whose names are classified and therefore cannot be given   out at this time.  (Noticed any Russian or German letters in your files    ???)Joe reaght it.Your Editor, Barry Wilson.For those foolish enough to do so, full permission is given for reprinting this file.Further those with opposing views are invited to apply sufficent lubricant to this disk and then insert in the proper orifice.e used to pick your teeth for good       dental hygiene.But I digress as is my custom when I am thinking of what to next write     down for your enlightenment (?).After the Food & Drug Administration supervises the proper labeling of the disks, they are tha team of Monks from  the Carmelotta Monastery, a well known but ancient order, sworn to         maintain silence and ANN & Adam secrets.  Since the assemblage of so many  Monks in one place might cause notice and suspicion the disk copying       actually takes place in Indiana, Washington State, Missouri  and Florida.  Nuns are used to get the disks from ANN Central-2 to the various copying   locations.At each copying location, Monks using double sided styluses or is it       stylusi or whatever they usex	E€ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááANN Activities Updateby Rich Clee     Activities by the staff of the ADAM News Network        continue to progress. Some projects are already in           operation; others are planned for the immediate future.      Here's a quick rundown of what isto area close enough         together to consider starting their own group, but if you    have remote ADAM friends looking for advice on getting a     user group started in the home area, ANN can provide it.     The ANN Expert Panel is now in operation, under the     guidance of Ron Mitchell, president of the ADAM User         Friendly Group, 210 Gloucester St., Apt. 1107, Ottawa, Ont.  K2P 2K4, phone 613-230-9511. If you run into an intractable  hardware or software problem with your ADAM, you may write NN head honcho, Barry Wilson (12967 Weatherfield Drive, St. Louis, MO., U.S.A.     63146) would be happy to entertain your ideas. For instance, if you have Megacopy, you could offer to send a dozen 320K   cheap Megacopied tapes to ANN, plus enough to cover a small  copy cost and postage back to you at the rate of one tape    per month for a year. The $35/year regular service charge    includes one or two discs a month, usually double-sided, and their shipping costs.     If you just want an occasional peek. If you want a reply by phone, you    will be called collect. Be prepared; remember your answer    may come from Seattle or such. And be patient; only people   willing to reply in a reasonable time will be queried, but   it may take time to develop a full correct answer, they do   have other obligations, and our postal service is not the    fastest in the world.     A network of ADAM activists around North America are    developing the ADAM Survival Guide. This is envisioned as a  roughly 200-page photocver the next several months we will attempt to assemble reasonable sets   of these, probably mixing in similar items from other        sources, and add them to our PD library. These will be       available for the regular copy charge.     A current ANN project up and running is a New User      Groups Assistance Programme. This is being handled by B.     David Cobley of VISA, who founded that relatively new club   himself not that many months ago. So far MTAG does not have  enough members outside the Toron available to you now, and  what is coming soon.     ANN News Service: the club, of course, subscribes, as   you can see in the newsletter. But as you might expect at a  price of almost $3.00 (U.S.) a month ($35/year actually)     there is far more here than can be squeezed into a bimonthly newsletter of 30 pages. So how can you access the rest?     First, you can subscribe yourself. The service is at    present supplied only on disc. But if you can figure a way   to make it cost-effective on tape the A  or phone to Ron and he will refer your question to someone   capable of providing an answer. There are certain rules,     First, exhaust the expertise within your own club. (Given    that MTAG has the likes of Syd Carter, Mike McDermott, the   Wick brothers, Jim Ballantyne, Gary Bowser and others, Ron   shouldn't hear much from us). Phone in the evening; Ron is a working stiff like the rest of us. If you write, enclose two blank stamped envelopes, one for Ron to pass your query on,  and one for your reply, Terry Cairns has   some ANN material in the pay section of his TAPPS Music BBS  (741-2432). It is not up to date as it is unfair to expect   Terry to pay for his own ANN subscription until he has       determined that those who want to share in its use are also  willing to share in its cost. The same payment would cover   access to the A-Net relay or echo section, as TAPPS is now   part of A-Net.     In addition to news, ANN often also carries utility and graphics programs, the latter mostly clip art. Oopied book, to be published at        ADAMCON 03 by ANN. It will contain a directory section,      listing clubs, suppliers, BBSs, books on the ADAM,           newsletters and all other current sources of ADAM goodies,   plus introductory articles on BASIC, telecommunications,     CP/M, graphics, ADAM technical specifications, repairs tips, etc. Price will be in the range of $20 postpaid whether in   U.S. or Canadian dollars depending on destination. If it     sells well enough to prove it's really needed, tmentsoftware packages. The first data drive speed checker isself-booting and the screen will show a line indicating whatpercentage off that the read / write speed is running at.The hand controller is used to stop or start the program atany time. When the software is running, it will prompt you toadjust your drive speed. This can be done by turning the datadrive adjustment screw. Turn the speed adjustment screwslowly allowing the software time to run in order to show thenew speed. Keep repeating thported  computer can demand.     This is the direct result of the devoted efforts, over  the past eight years, of a handful of activists who, when    Coleco said "quit", replied "no way". They're the ones who   kept retail supply lines open, developed new software and    hardware, organized user groups and published newsletters,   organized print and electronic exchanges, and did all the    things to assure the support you are so dependent on today.     It's time all of us said "thank you" to these peopives, the adjustment screw is on the toplefthand side. This was a really great improvement becausenow the speed can be adjusted without removing and holdingthe drive upside down. One quick way to tell if the datadrive is the new JVC style is by looking at the motormounting screws in the front of the drive. On a new JVC,these screws will be lined up vertically.Coleco revised the speed adjustment software (SpeedCheck V2.0) because of the change in the way they formattedblank data packs. In doing so,NIAD files:4DATA DRIVE SPEED ADJUSTMENT SOFTWAREby Phil Kosowskyfrom the DECEMBER / JANUARY 1991 N.I.A.D. NEWSLETTEREver make a backup copy on one ADAM and for some reason itworks on one of your ADAMs, but not on the other? Well, maybeone ADAM has a dirty head or just maybe one data drive speedis a little off? Thanks to data drive speed testing softwarewhich leaked out of Coleco and was placed into the PublicDomain, this is not a problem!Coleco made for it's own use two data drive speed adjusANN will      contemplate a new updated edition or series of supplements   at a later date.     ADAM is in the almost unbelievable situation of         offering more and better support cheaper than some           comparable computers still in production today. This has the twin results of making your ADAM to most attractive          available as long as any 8-bit, 64K computer can meet your   growing needs, and assures that should you finally outgrow   your ADAM, you can sell it at a price only a well-supis process until the softwareshows the speed that you desire. You will note that the speedwill vary some with the temperature of the drive.The speed adjustment screw can be found either on the top orbottom of the data drives. On the USA and early JVC drives,the speed adjustment screw is located on the bottom of thedrives. Turn the drive over and look at the center of thebottom. Sometimes you have to move the lead wire for thedrive head over a little to see the adjustment screw. On thelatest JVC drle    for their efforts, so ANN is organizing the ADAM Gallery of  Honour. The first inductees will be announced at ADAMCON 03. It's hoped this will be a continuing activity with           subsequent inductions at future ADAMCONs. Full details       appear in a separate article elsewhere in this newsletter.   Please read the rules and get your nominations in on time,   so those who deserve your thanks may receive them. that should you finally outgrow   your ADAM, you can sell it at a price only a well-sup some additional options areadded such as: light blue screen, measuring the percentageoff on search speed, and percentage number read out. Thesoftware itself works the same as the first speed adjustmentprogram (Speed Check V1.0). However, be for-warned, that thedata pack that these are copied to HAVE TO HAVE THE RIGHTFORMAT FOR THAT REVISION!!! There are two different formatsthat Coleco used with their blank data packs. The first blankColeco data packs had a clear see through label, the speedadjust MIDI-MITE by Bonafide Systems andcontains: SBMDIDRVR - A SmartBASIC V1.0 Midi driver,PlayNotes - Plays all the Midi notes in a run, Harmonize -Harmonizes  along with what you play, MidiMon- A graphicsdemo which follows your notes and velocity, MidiMsg.WP - Acomplete list of all Midi messages. Contains SmartWRITERdocumentation.MIDI SONG FILESThese volumes listed below are collections of Midi format 0files which are for use with the Mini-Recorder that ispackaged with the MIDI-MITE Interface. The t Coleco data pack DO NOT take a chance.This can be corrected by just copying it to the correct typeof Coleco blank data pack.PRESS ANY KEY TO CONTINUENIAD files Area##     Title                  Source------------------------------------1) adam.add    NIAD       for Barry2) serial      NIAD    HAVE THE RIGHTFORMAT FOR THAT REVISION!!! There are two different formatsthat Coleco used with their blank data packs. The first blankColeco data packs had a clear see through label, the speedadjustzart), Sonata8-2, Sonata8-3, Sonata15-1 (Mozart), Sonata15-2, Sonata 15-3, Passepied, WillTell.MNDV #5: CLASSIC I - Haydn Andante, Chorale, Fuga 1, Gavotte,MozMenuet, Preludio, Allegro, Cantata, SonataC, FugueCma,Legrenzi, Pachbel, Sinfonie, Partia.MNDV #6: CLASSICS II - Vivaldi, Doubled, Beeth5th, Handelop,SonataG, Concerto, Moonlight, Pre6, Canta29, Bouree.MNDV #7: NEW AGE I - Baroque, Lullaby, Romance, Weekend,Railroad, Clock, News, Sadness, Barok, Moments, Drive, Rain,Talk, Country, FolkSong11PUBLIC DOMAIN WORKSHOPBy Jim Notinifrom the DECEMBER / JANUARY 1991 N.I.A.D. NEWSLETTERMOAUG PHRASE PAKThis is a collection of over 300 phrases which were puttogether by George Drank of the Metro Orlando ADAM UsersGroup. The Phrase Pak is for use with Reedy Software's PHRASECRAZE program ans was compiled with Reddy Software's PHRASEPAK CONSTRUCTION SET. Contains SmartWRITER documentation.MIDI DRIVERS & DEMOSThis is a collection of Midi utilities which was developedand are for use with thement tape V1.0 can only be used with these. The secondblank Coleco data packs have a light gray label that SpeedCheck V2.0 can only be used with. This is very importantbecause if the wrong data pack format is used, then thesoftware will give you false readings. The software will seemto be working, but false readings will be given. I know thisdrove me crazy for a long time since I had V2.0 on an oldformatted data pack.If you get this software and it is not on a Coleco brand datapack or not the righvolumes which arenow available include under the MIDI SONGS MNDV category are:MNDV # 1: JOPLIN I - JCascade, JElite (ver. 1), JEzwWinr,JGladiol, JSolace, JCrysnth, JEugenie, JFavorit, JRagDanc.MNDV #2: JOPLIN II - JAlabam, JPalmlef, JPineapl, JSunFlwr,JSycamor, JMapleaf (ver. 1), JPeachrn, JSmthnDn, JSwipEsy.MNDV #3: JOPLIN III - JEntrtnr (ver. 2), EliteSynco (ver. 2),Solace, Swipesy, JWillow (ver. 2), MapleLeaf (ver. 2),Strenuous.MNDV #4: COLLIN'S CLASSICAL - Bach D Mi, Polanase, Sonata8-1(Moment tape V1.0 can only be used with these. The secondblank Coleco data packs have a light gray label that SpeedCheck V2.0 can only be used with. This is very importantbecause if the wrong data pack format is used, then thesoftware will give you false readings. The software will seemto be working, but false readings will be given. I know thisdrove me crazy for a long time since I had V2.0 on an oldformatted data pack.If you get this software and it is not on a Coleco brand datapack or not the righ, Reckless, Waiting, Crystal.MNDV #8: POP/ROCK I - AllOfUs, ElecRocl, SpysEye, Funky,BadMan, Highways, Squares, Reggae, BigCity, Parade, Zardoz,RollRock, Dance, Pickled2, Classy.MNDV #9: CHRISTMAS - Joy, Angels, Deck, GodRestYe, Holy,Medley, Silent, We3Kings, Adeste, Child, Drummer, GoodKing,Jingle, Noel, Tree, WeWish.PRESS ANY KEY TO CONTINUE), EliteSynco (ver. 2),Solace, Swipesy, JWillow (ver. 2), MapleLeaf (ver. 2),Strenuous.MNDV #4: COLLIN'S CLASSICAL - Bach D Mi, Polanase, Sonata8-1(Moajor supporter of the ADAM over the years through themany articles he has written and have been published as wellas the numerous commercial and public domain softwarepackages that he has released over the years.On the ADAM front, no pun at all intended, the fight for thecontinued support of this fine system continues and as itcontinues, it grows stronger and stronger and stronger. Isthis surprising? No, not at all. Many of us have known forsome six or seven years now what a tremendous and flexibleNIAD files:14EDITORIALBy Jim Notinifrom the DECEMBER / JANUARY 1991 N.I.A.D. NEWSLETTERAs I sit here and write this editorial for the December /January 1991 N.I.A.D. Newsletter, I am listening to theevents of the Gulf War (Operation Desert Storm) unfold. WhenI first heard of the bombing that was taking place in Iraqand Kuwait, butterflies briskly filled by stomach. For somefive or six months, the events that were taking place in theMiddle East seemed so far away, but within minutes theconflicardware with the softwarelagging slightly behind; Micro Innovations continues toimprove their line of Powermate Hard Drive systems as well ascontinue development of stand-alone 5 1/4" 360K and 3 1/2"720K Floppy Disk Drives as well as a stand-alone 20 MegabyteHard Drive without all the additions of the Powermate; StevePitman Software is nearing the completion of their muchawaited entertainment game, RoboThief, as well hopefullycontinuing work on a graphics printer program specific for24-pin dot matrnd quick returnof all United States / Nations troops in the immediate futureand express my feelings, which are totally for the actionswhich have been taken. I only wish these, for a better word,STUPID protesters would be put in their place, but this is afree country and they have the right to do as they wish evenif it will only stand to hurt the efforts in the Middle East.Also, I would like to extend my wishes to Mrs. Ricki Gerlachfor the safe return of her husband, Ricki. Ricki Gerlach hasbeen a mzart), Sonata8-2, Sonata8-3, Sonata15-1 (Mozart), Sonata15-2, Sonata 15-3, Passepied, WillTell.MNDV #5: CLASSIC I - Haydn Andante, Chorale, Fuga 1, Gavotte,MozMenuet, Preludio, Allegro, Cantata, SonataC, FugueCma,Legrenzi, Pachbel, Sinfonie, Partia.MNDV #6: CLASSICS II - Vivaldi, Doubled, Beeth5th, Handelop,SonataG, Concerto, Moonlight, Pre6, Canta29, Bouree.MNDV #7: NEW AGE I - Baroque, Lullaby, Romance, Weekend,Railroad, Clock, News, Sadness, Barok, Moments, Drive, Rain,Talk, Country, FolkSongcomputer the ADAM is, many others are just now finding thisout and these are the people that are quickly coming to thefore-front of support and product development. New hardwareand software developers seem to be popping up each day andmany of the older and not so old developers continue todevote countless hours into research and development. Forinstance, Jason Brown Software's hypercard-type program willsoon be released; Oasive Pensive Abacutors has gone into massproduction of the ADAM Image Maker ht has jumped up and given me, and I am sure manyothers in the world, a wake-up slap in the face. It is hardto motivate myself to even write this editorial due to thefact that it seems so trivial compared to the happenings inthe Middle East, but as one sports figure said, "Life must goon." Being only 22 years old, I would be eligible to bedrafted in the case that the draft is re-installed. Would Igo and serve my country? YES, I WOULD. As I sit here, I feelpretty useless, but I can pray for the safe aix printers; Walters Software continues workon their updated SmartDSK Cart which promises to be the bestcompilation of utilities ever released for the ADAM; and on,and on, and on. You'll notice I didn't even mention thecontinued planning of ADAMCON 03!There just is no end to the amount of support that the ADAMhas generated over the years, but don't let this fact lullyou into a false sense of security. In order to make the ADAMsuccessful for the long haul, sacrifices must be made. I feelthat I havehe best part of the first two conventions was the people.  When I attended ADAMCON 01 I was a little apprehensive.   After all, I was basically a novice with no special skills in any particular area of ADAM.  When I arrived, I immediately felt comfortable.  I met people for the first time and soon felt like I had known them all my life.  Everyone was eager to help and willing to spend the time to answer my many questions.  ADAMites are more eager to talk about ADAM than a grandparent about their grandchildrFrom the 5-91 463 ADAM Newsletter.¯ADAMCON 03 ¯UPDATE - 4/20/91by Dean Roades - Convention ChairmanThings are really rolling.  I look forward to going to the mailbox each day because there are usually new registrations. ADAM suppliers are working feverishly on new software and hardware to unveil. Plans are falling into place and people are preparing information for the workshops at AC03.This month, I want to address the people I refer to as "BASE ADAMites".  They are known by many names, NewBees, novll show those lonely ADAMites that there are others in their area.Another thing you can do to help ADAMCON 03 and ADAM in general.  Place an ad in the classified section of your local newspaper.  I just talked to Ron Leibert of Elkhart, IN.  He called to get more information on the convention.  He said he placed an ad and brought 4 new people into the world of ADAM.  As Jerry Vrancks said "If everyone brought one more person into the ADAM community, we would double our size."  There must be thousands of pre, hardware and supplies off the shelf! We have assembled an excellent cross section of ADAM vendors who will display their wares.  Ribbons, data packs, printer wheels.  All the basic supplies you need will be right in front of you.We are also fortunate to have the best minds in the ADAM world making plans to be there.  I honestly don't think there is any question about ADAM that can't be answered by these people.  They are the people whose articles you have been reading in your favorite newsletter.T sacrificed a lot and now that many others havesacrificed even more so than myself, probably to the point ofgetting ulcers, for the sole purpose of the ADAM community.Now is the time to show even further appreciation for all thedevelopers and user's groups efforts to insure that a year ortwo from now, the ADAM is still enjoying the high amount ofsupport it has received in the past and is currentlyreceiving.'TIL NEXT MONTH, "KEEP ON ADAMing"PRESS ANY KEY TO CONTINUEm specific for24-pin dot matren.The point I am trying to make is that we would like to see you at the convention.  You may not know anyone when you arrive, but you will when you leave.  Set the time aside now and make plans to attend.  We are looking forward to meeting you.¯PUBLICITY¯On the next page is a poster the 463 ADAM group has been putting up in stores, libraries, and just about anywhere we think a lonely ADAMite may see it.  Make a few copies and put them up in your area.  Add your name and address if you want.  It wiices, beginners, but they all have one thing in common - ADAM.  They use their ADAM the way it came out of the box, maybe adding a second tape drive or a disk drive.  They enjoy ADAM for all the things it can do for them.Dear BASE ADAMites,If there is any way you can get to South Bend in August for the convention, GO!  ADAMCON 03 is geared for the novice ADAM user.  It will be the BEST place to get answers to your questions, solutions to your problems, and give you a unique opportunity - buy ADAM softwaeople out there who still have their ADAM, but don't know about the extensive support available.  If you enjoy using your ADAM, take a few minutes and do something that will help keep ADAM thriving for many more years, place an ad, put up a poster, find someone new.  The larger our group, the more hardware and software that will be developed.(Note: 4 posters were printed in the newsletter.  Some of these graphics are on this ANN disk.)t them up in your area.  Add your name and address if you want.  It wi     By the way, if you prefer to count the middle pixel, instead of ignoring it, add line 285 s%(x,y)=s%(x,y)+1.     Since there are 40x40=1600 pixels on the GR screen, the processing for one generation can take quite a while.  The program has a routine that checks the initial position and only sets up a screen big enough to hold that position.  It then enlarges this screen as needed during the processing.  This routine greatly speeds the processing.     The program was originally written to allow coordi  From the 5-91 463 ADAM Newsletter.Editors Note: Joe has written a couple of interesting BASIC programs that follow this page.  If you do not feel like typing them in, you may get a copy on disk or tape at our regular PD price.  If you have any comments, Joe's address is inside the front cover of the newsletter, or write to him c/o 463 ADAM User Group, 8522 Hohman Ave., Munster, IN 46321.¯LIFE¯ by Joe Alford - 463 ADAM     No, this is not a philosophical treatise.  This is an article about the progerence.  Letters and numbers are also interesting, as are geometric figures.  Let me know if you find anything especially interesting.     Have fun with your new LIFE.¯CHESS5¯ by Joe Alford - 463 ADAM     The program CHESS5 is rather specialized.  I play tournament chess.  I also write the reports on the tournaments for the Hammond Chess Club in Hammond, Indiana.  One of the problems I have is that I would like to save paper by printing the games out in five columns instead of one.  For years I did tscreen.  For each pixel I am interested in the 8 pixels surrounding it.  If only 1 has "life" (or if none have) then the pixel in question is dead in the next generation.  It may or may not have life itself.     If there are two or three living neighbors then the pixel in the middle is alive in the next generation.  Again, it may or may not be alive in this generation.     Finally, if there are more than three neighbors alive then our pixel plays Daniel Boone and the space is dead in the next generation.ll show those lonely ADAMites that there are others in their area.Another thing you can do to help ADAMCON 03 and ADAM in general.  Place an ad in the classified section of your local newspaper.  I just talked to Ron Leibert of Elkhart, IN.  He called to get more information on the convention.  He said he placed an ad and brought 4 new people into the world of ADAM.  As Jerry Vrancks said "If everyone brought one more person into the ADAM community, we would double our size."  There must be thousands of pnate entry of the points that make up the starting position.  During testing, I decided that this was awkward, though it was the same idea I used in a COBOL version of the program.  For this program I wrote a new data entry routine using the arrow keys.  The old code is retained for those who might prefer it.  It is in lines 997 through 1130 and may be activated by changing line 40.  Instead of GOSUB 1200, make it GOSUB 1000.     For starters, try a line of 3 dots, then 4, then 5.  I was amazed at the diffram LIFE, which I wrote in January of 1991.     Life is a very old simulation game.  Although it predates computers, it has been programmed in many different languages for many different machines.  The basic idea is a simulation of population growth.  If there are not at least two members in the population, then the life dies out.  Two members will maintain themselves, while three members indicate growth.  More than that, however, cause death due to overcrowding.     In the game I check each pixel on the his by hand.  Now I type the game in one column and run CHESS5 which does the formatting for me.     I would be very surprised if anyone else has a use for a chess score conversion program, but anyone might have a need to turn a one-column list into a five-column list.  If you find this program useful, please drop me a line and tell me about it.--Joe Alford  April, 1991line 40.  Instead of GOSUB 1200, make it GOSUB 1000.     For starters, try a line of 3 dots, then 4, then 5.  I was amazed at the diff y>hy THEN  hy=y460NEXT y:NEXT x470RETURN900? " LIFE"910?:? " Joe Alford, Jan 1991"920?:? " Number of Neighbors"930?:? " < 2 = Death From Loneliness"940?:? "   2 = Equilibrium"950?:? "   3 = Growth"960?:? " > 3 = Death From Overcrowding"970?:? " Hit any key to continue"980GET k$990RETURN997REM ********************998REM Get Starting Position999REM ********************1000? " Enter Start Position"1010INPUT " How Many Points?"; p1020DIM s(p, 2): s(0, 1)=p:DIM s%(39, 39): lx=40: ly=40: hx=0: 10REM LIFE20REM Joe Alford, Jan 199130TEXT:GOSUB 900:TEXT40GOSUB 1200:REM Get Start Position 50GOSUB 100:GOSUB 200:GOSUB 300:GOSUB 40060? " Generation "; g: g=g+1:?:?70GOTO 5097REM ********************98REM Init Table99REM ********************100FOR x=lx-1 TO hx+1110FOR y=ly-1 TO hy+1120 s%(x, y)=0130NEXT y140NEXT x150RETURN197REM ********************198REM Read Screen199REM ********************200FOR x=lx-1 TO hx+1:FOR y=ly-1 TO hy+1:IF SCRN(x, y)=3 THEN GOSUB 210205NEXT y:NEXT x:RETURN0: y=20:PLOT x, y1220? " x="; x; " y="; y; "  Use Arrows to move"1230? " ESC=done   CLR=erase"1240? " HOME toggles plot/unplot"1250GET k$: k%=ASC(k$)1260IF k%=27 THEN RETURN1265IF k%>159 AND k%<164 AND SCRN(x, y)<>3 THEN COLOR =0:PLOT x, y1270IF k%=160 THEN  y=y-11280IF k%=161 THEN  x=x+11290IF k%=162 THEN  y=y+11300IF k%=163 THEN  x=x-11310IF k%=150 THEN TEXT:GOTO 12001320IF k%<>128 THEN COLOR =4:GOTO 13501330IF SCRN(x, y)=3 THEN COLOR =0:GOTO 13501340COLOR =3:GOSUB 13701350PLOT x, y1360GOTot New Screen299REM ********************300FOR x=lx-1 TO hx+1310FOR y=ly-1 TO hy+1320IF s%(x, y)=2 AND SCRN(x, y)=3 THEN COLOR =3:GOTO 350330IF s%(x, y)=3 THEN COLOR =3:GOTO 350340COLOR =c350PLOT x, y360NEXT y370NEXT x372 c=c+1374IF c=3 THEN  c=4376IF c>15 THEN  c=0390RETURN397REM ********************398REM Reset High/Low x/y399REM ********************400FOR x=lx-1 TO hx+1:FOR y=ly-1 TO hy+1410IF SCRN(x, y)<>3 THEN 460420IF x<lx THEN  lx=x430IF x>hx THEN  hx=x440IF y<ly THEN  ly=y450IFerence.  Letters and numbers are also interesting, as are geometric figures.  Let me know if you find anything especially interesting.     Have fun with your new LIFE.¯CHESS5¯ by Joe Alford - 463 ADAM     The program CHESS5 is rather specialized.  I play tournament chess.  I also write the reports on the tournaments for the Hammond Chess Club in Hammond, Indiana.  One of the problems I have is that I would like to save paper by printing the games out in five columns instead of one.  For years I did thy=0: g=21030FOR p=1 TO s(0, 1)1040TEXT1050? " Point "; p1060?:INPUT " x = "; s(p, 1)1062IF s(p, 1)<lx THEN  lx=s(p, 1)1064IF s(p, 1)>hx THEN  hx=s(p, 1)1070?:INPUT " y = "; s(p, 2)1072IF s(p, 2)<ly THEN  ly=s(p, 2)1074IF s(p, 2)>hy THEN  hy=s(p, 2)1080NEXT p1090GR:COLOR =31100FOR p=1 TO s(0, 1)1110PLOT s(p, 1), s(p, 2)1120NEXT p1130RETURN1197REM ********************1198REM Start Using Arrows1199REM ********************1200GR:COLOR =4: lx=40: hx=0: ly=40: hy=0:DIM s%(39, 39): g=21210 x=2210IF y-1>0 THEN 230220? " Moving off top":GOTO 2000230IF y+1<40 THEN 250240? " Moving off bottom":GOTO 2000250IF x-1>0 THEN 270260? " Moving off left":GOTO 2000270IF x+1<40 THEN 281280? " Moving off right":GOTO 2000281 s%(x-1, y-1)=s%(x-1, y-1)+1282 s%(x-1, y)=s%(x-1, y)+1283 s%(x-1, y+1)=s%(x-1, y+1)+1284 s%(x, y-1)=s%(x, y-1)+1286 s%(x, y+1)=s%(x, y+1)+1287 s%(x+1, y-1)=s%(x+1, y-1)+1288 s%(x+1, y)=s%(x+1, y)+1289 s%(x+1, y+1)=s%(x+1, y+1)+1290RETURN297REM ********************298REM PlO 12201370IF x<lx THEN  lx=x1380IF x>hx THEN  hx=x1390IF y<ly THEN  ly=y1400IF y>hy THEN  hy=y1410RETURN2000END(p, 1)1064IF s(p, 1)>hx THEN  hx=s(p, 1)1070?:INPUT " y = "; s(p, 2)1072IF s(p, 2)<ly THEN  ly=s(p, 2)1074IF s(p, 2)>hy THEN  hy=s(p, 2)1080NEXT p1090GR:COLOR =31100FOR p=1 TO s(0, 1)1110PLOT s(p, 1), s(p, 2)1120NEXT p1130RETURN1197REM ********************1198REM Start Using Arrows1199REM ********************1200GR:COLOR =4: lx=40: hx=0: ly=40: hy=0:DIM s%(39, 39): g=21210 x=2: x3=x+2*y: x4=x+3*y: x5=x+4*y240 line$(x)=move$(x)+" "+move$(x2)+" "+move$(x3)+" "+move$(x4)+" "+move$(x5)250IF x<y THEN  x=x+1:GOTO 230300?:? " Writing "; outfile$310? d$; "OPEN "; outfile$320? d$; "WRITE "; outfile$330FOR x=1 TO y340? line$(x)350NEXT x360? d$; "CLOSE "; outfile$370?:? " File has been reformatted."380? "   Input (1-column):  "; infile$390? "  Output (5-column):  "; outfile$400END500TEXT:? " This program will reformat a":? " chess score file from 1 to 5":? " column format."510REM CHESS520REM J. Alford, 3/25/9130REM Reformats chess scores from 1 column to 540 d$=CHR$(4):DIM move$(100)50GOSUB 50060TEXT:INPUT " Input  File:  "; infile$70?:INPUT " Output File:  "; outfile$100?:? " Reading "; infile$110? d$; "OPEN "; infile$120? d$; "READ "; infile$130INPUT record$140IF LEFT$(record$, 2)="xx" THEN 180150 x=x+1160 move$(x)=record$170GOTO 130180? d$; "CLOSE "; infile$200?:? " Formating Records"210 y=INT(x/5):IF y*5<x THEN  y=y+1220 x=x+5:DIM line$(x): x=1230 x2=x+y Orlando     A BASIC program to change Screen colors.IOPORTS    A   Brian Matteson  A BASIC program to access Input/Output ports through the keyboard.COLORBAS   A   Joseph Sheppard     A BASIC program to calculate screen colors.blockpeek  A   A BASIC program to display the contents of a block on a disk or tape.HELLO      A   A BASIC program to diplay the catalog of a disk.SB2_notes  H   George Havach  Notes on SmartBASIC 2.0 and comparisons to 1.0.BASIC_revu H   George Havach  A review of the bo10?:? " The input file must have ":? " two-digit move numbers (01) ":? " and each move set must be 11"520? " characters long, 3 for the ":? " move number (and space)":? " and 4 for each move."530?:? " The program will put in the ":? " spaces between move sets."540?:? " Joe Alford":? " March, 1991"550?:? " Hit any key to continue.":GET k$:RETURN60 move$(x)=record$170GOTO 130180? d$; "CLOSE "; infile$200?:? " Formating Records"210 y=INT(x/5):IF y*5<x THEN  y=y+1220 x=x+5:DIM line$(x): x=1230 x2=x+y0: y=20:PLOT x, y1220? " x="; x; " y="; y; "  Use Arrows to move"1230? " ESC=done   CLR=erase"1240? " HOME toggles plot/unplot"1250GET k$: k%=ASC(k$)1260IF k%=27 THEN RETURN1265IF k%>159 AND k%<164 AND SCRN(x, y)<>3 THEN COLOR =0:PLOT x, y1270IF k%=160 THEN  y=y-11280IF k%=161 THEN  x=x+11290IF k%=162 THEN  y=y+11300IF k%=163 THEN  x=x-11310IF k%=150 THEN TEXT:GOTO 12001320IF k%<>128 THEN COLOR =4:GOTO 13501330IF SCRN(x, y)=3 THEN COLOR =0:GOTO 13501340COLOR =3:GOSUB 13701350PLOT x, y1360GOT9105ANN-2EOS_WS     A   Bob Blair      Converting EOS text files to Wordstar format.ECHO       H   A variety of messages from the ANET ECHO system.FILERpatch A   A BASIC program by Digital Express for SmartFLIER. Change screen color and fix line feed bug.Deluxe     A   From the Oct. 87 Nibbles & Bits.  A BASIC program to put a graphic screen on your BASIC disk or tape to display while BASIC loads.SPRITES2   A   SPRITES    A   Dan Orlando    A BASIC program to demstrate Sprites.SCRN_COLOR A   Dan: x3=x+2*y: x4=x+3*y: x5=x+4*y240 line$(x)=move$(x)+" "+move$(x2)+" "+move$(x3)+" "+move$(x4)+" "+move$(x5)250IF x<y THEN  x=x+1:GOTO 230300?:? " Writing "; outfile$310? d$; "OPEN "; outfile$320? d$; "WRITE "; outfile$330FOR x=1 TO y340? line$(x)350NEXT x360? d$; "CLOSE "; outfile$370?:? " File has been reformatted."380? "   Input (1-column):  "; infile$390? "  Output (5-column):  "; outfile$400END500TEXT:? " This program will reformat a":? " chess score file from 1 to 5":? " column format."5ok 'The BASIC ADAM' by Abikoff and Cornell.cartbackup H   George Havach  A review of programs to copy carts.CPMADAMFIX A   From NIAD BNDV7.  A BASIC program to modify CP/M files converted to EOS.Convert    A   Don Zimmerman   A BASIC program to convert numbers to Hex.ConvrtDoc  H   Don Zimmerman   An explanation of the Hex number system.Convrsions A   Based on a program by Jonathan Court to convert measurements into differnt units of measure.NUMBERS    A   A chart showing 1 thru 10 in Decimal, B| ˆˆˆˆˆˆˆˆ?ÿààààÿøüþþÿÿÿàààààøüþ?ÿààààÿøüþþðøüîçãáà>~îÎŽÿ€€à   0€ü÷ñ`3À@À@@0#bBCBB@ÁA@À@@€€$$$,¸À€    `À€`    (0ˆˆˆˆˆˆˆˆÿÿàààààþþààààÿÿÿþüøÿÿàààààþþààààààà<`ÿÛÛ€ñð\Æƒ€€ÀÀ@` 17gÿÿÿÿÃƒ†Øðà÷üøN 03.JAbasic    A   Joe Alford     Dov file for the two BASIC programs written by Joe.LIFE       A   Joe Alford     An interesting 'population' program.CHESS5     A   Joe Alford     A BASIC program to turn a one column list into a 5 column list.Poster1    A 10k PowerPaint file containing a poster on ADAMCON 03.Poster2    Another poster.READMETWO  A   This file, prepared by Dean Roades to convert measurements into differnt units of measure.NUMBERS    A   A chart showing 1 thru 10 in Decimal, BøD@p@Døˆˆˆˆˆˆˆˆ?ÿðààáãøüþ>~îÎŽ?ÿÀ??øüþüø8hx80€   `@À€0€€3fÌ0`À€08`ÀøDDDDDøˆˆˆˆˆˆˆˆçîüøÿ?þüø?Àÿ?üþüøà·àÀˆˆØPp À`0À` 0Ã3fLXðàÀ€0`Ààˆˆˆˆˆˆ|ÿ€€€ˆˆˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÄdTLDDÄˆˆˆˆˆˆˆˆà8øÀ€8,€À`  inary and Hex.INSIDE_ANN H   by Barry Wilson, ANN Editor-in-Chief.  "How does ANN get put together?"annActivit H   Rich Clee      Update on ANN activities.From the Dec/Jan 91 NIADNIAD4      A   Phil Kosowsky  Data drive speed adjustment software.NIAD11     A   Jim Notini     PD Workshop. MOAUG's Phrase Pak, MIDI drivers and demos, MIDI song files.NIAD14     A   Jim Notini     Editorial on the state of ADAM.From the 5/91 463 ADAM News LetterAC03ud591  A   Dean Roades    The latest new on ADAMCO| ˆˆˆˆˆˆˆˆ?ÿðààààøüþ?ÿðààààøüþàðøüîæããŽ@À€€CÁ€€€< @` `À0`Ç‡7cÃÛÛÃÛÛÛÿÿøðóòòòââñÑÑ`@@@@Døˆˆˆˆˆˆˆˆàààðÿ?þüøàààðÿ?þüøáààààààŽÎî~>ð€€€00À`AÃ†Œ0`Àÿð˜`À€èinary and Hex.INSIDE_ANN H   by Barry Wilson, ANN Editor-in-Chief.  "How does ANN get put together?"annActivit H   Rich Clee      Update on ANN activities.From the Dec/Jan 91 NIADNIAD4      A   Phil Kosowsky  Data drive speed adjustment software.NIAD11     A   Jim Notini     PD Workshop. MOAUG's Phrase Pak, MIDI drivers and demos, MIDI song files.NIAD14     A   Jim Notini     Editorial on the state of ADAM.From the 5/91 463 ADAM News LetterAC03ud591  A   Dean Roades    The latest new on ADAMCOˆˆˆˆˆˆˆˆ0~Ãg7>sáÁ€œ0à€?ÿààààÿøüþþàààààààà?ÿðààààøüþ~øDDx@@ÀˆˆˆˆˆˆˆˆpÀ€€€À@@À€00`À€p°àÀÀ`  0ÿÿàààààþþààààÿ?þüøàààðÿ?~~þüø00ˆˆˆˆˆˆˆˆÿðªêªª®î¨®¢®îHLHNà àÂ¤à    ®¨î*.î"n(î@À@@àxÌÌxÌÌxˆˆˆ€€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿ| ˆˆˆˆˆˆˆˆ?ÿðàðÿøüþøø?ÿðààààøüþààààààààÿÿÿþþþ€€€€€ààààààÿÿþþNsÚ“1 `@À€á!;
ëj?€€€ˆˆˆˆˆˆ|ˆˆˆˆˆˆˆˆ?àÿ?üþüøàààðÿ?þüøààààÿ?þüø€€€€€€€ÿààààààþ€€€€À@` €€Àp	€À`  `À€;3€€€€€€€€?ÿðàðøüþþþ?ÿðàðøüþþþ;3€€€€€€€€ˆˆˆˆˆˆˆˆÿÿÿþþþ€€€€€àðøüîæããŽÈˆˆè(8 ¯  °PYkeí«ÿÿÿ‚ÀÀà1QQQQÑ±¢bÎ¨¬¨ÎNªêªª

Dª®ªJÎ¨¬¨Îà€à àˆˆˆˆˆˆˆˆÿÿÿ€€€€þþþáààààààŽÎî~>006†Ã`0Â€ÿ;æàÆ„0`Àî¨î¢îî"îˆî



Jª®ªJ¤ê®ªªà    Jªêª¤à€À€â`    (0ˆˆˆˆˆˆˆˆƒ‚dÌ&dÌaCÆ0`À€0høÀ€€;3€€€€€€€€|Àxø0x0049qáÿÀÀÀÀÀÀÀþ0x004à``xllìxˆ€€€ˆpˆˆˆˆˆˆˆˆ˜ð`0 `ÒšËI;.,<uGÞð€à@@À€€€€ÀpËÿÿÿ€€€€þþþü´0000xxÌÌÌÌÌxÿÿþþÀÀÀÀÀøDDxPHÆˆˆˆˆˆˆˆˆÿÿÿàààÿÿøüþüøÿÿÿàààÿÿþþþððàðøüîæããŽÿÿÿàààààøüþ 8€á91`Ã†4„†ÂbÞ'€À`0„Æÿÿÿ€€€€þþþàÿ?þþüøàÿ?þþüøÿÿÿ€€€€þþþøD@p@DøˆˆˆˆˆˆˆˆÿàààÿÿÿüþüøÿàààÿÿÿðþþþáààààààŽÎî~>ààààÿÿÿþüø8hh\Ö³¡   Ðpa1! `@À€€b¢¡ÑQQQQäŠÊŠ„à àÀ ¤êªª¤î¨ìÈ®î¨¬¨¨@   @àˆˆˆˆˆˆ|0Pø8@€ðˆˆpø0ˆp Pˆˆøˆˆðˆˆˆˆˆð PˆˆøˆˆˆØ¨¨ˆˆˆˆˆˆˆˆˆppˆ€pˆpø€€ð€€øðˆˆð ˆpˆ€€˜ˆxðˆˆð ˆpˆˆˆˆˆpˆˆˆˆˆˆpðˆˆð€€€ðˆˆð€€€ðˆˆð ˆø€€ð€€øpˆ€pˆpø€€ð€€øˆˆÈ¨˜ˆˆø      pˆ€pˆpÄdTLDDÄ`    (0Ï‡3333ÿÿÿ3333‰ÿÿÿ‰33ƒó‡ÿÿ3333‰ÿÿÿƒ?‡óÿïÏ‡ÏÏËçÿÿÿÿÿÿÿÿÿˆˆˆˆˆˆˆˆââââââââŒüÿÿÿÿÿÿÿÿÿÿâââââââÂÿÿÿÿÿÿÿÿÃçççç'ÿÿÿ‡333‡ÿçÿÇçççÃÿÿÿ‡““““ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxˆ€€€ˆpÿÿÿÿÿÿÿÿÏÏÏÏÏÿÿÿÿƒÿÿÿÿãÃ“3óáÿÿÿÿÿÏÏŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆˆˆˆˆˆˆˆââââââââÿ ÿÿÿ˜ÌæóñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÏ‡ÏÏËçÿŸŸ‡““ÿÿÿÇ›ƒŸÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ| ¿¼>ßÿû|Ìîþþþççïÿÿÿÿÿððððððððrxxp~pppppðð¿¼>ßÿû|Ìîþþþÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÿÿÿÿþþüøüýÿðð0p0ðððøðöÿÿÿÿÿpðqqðððøðàÀ€ñô÷÷ÿÿÿÿððððððððÁàãËûÿÿÿðððððððððòûûÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿðððððððð`@@@@Dø999›‘Ÿ™™™™™š™™™™™™™€€€™™™™™™™™—YYYYY™™™999›‘Ÿ™™™™™š™™™™™™™€€€™™™™™™™™™››ššššš™™™Ùy9™™™šœ¸ðà™™™™™™™™™™™™™™™™™€Àà°˜œž™™™™™™™™™™™™™™™™™™™™™™™™™™™•••—“™™™™™™™™øDDxPHÆÀpÿÿ8àÀpÿÿ8àøD@p@Dø4DL@@ 4DDDDDDDDDDDDDDT”DDDDDDttDDDDx|D@@@HRRRJJJtDDDDDDXRRRJJJtDDDDDDX0DDDDRRRJJJ0DDDDDDDDDDDD4DL@@ 0DDDD?ÿÿÿÿøàÿÿÿÿÿÿÿÿÿÿÿÿÀàðøìââ?ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÀàðøìââøDDx@@ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ€ƒ†ŒˆˆÿÿââââââââÀÀÀÃÆÌ(8ÿÿââââââââÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ| ÿÿÿûûÓãÀÀÀààààÿÿÿÿÿÿÿÿÿÿÿöðððàüÿ?€ÀÀàààÿÿÿûûÓãÀÀÀààààÿÿÿÿÿÿÿÿþÿ·‡‡Ïß€€ÀÀàÿÿþþøþþþððð0pð??ÿþüøÀààðüþÿÿ?÷€ÀÀà??÷óðà€àðüþ?ÿ?€ÀÀàÿÿÿÿÿÿÿÿððððøøøøÿýüàðððððððð0pðð`    (0àÁ“÷÷ÿÿÿpðððøøøxÿÿíáááÀ€àÄÎÿõððpÿÿÿwðððððððpàÁ“÷÷ÿÿÿpðððøøøxÿÿþþþþðüÿÿÿ?àððøøüüþ>>xpüþÿoððððððððÿÿÿòøøÌþÿÿyppp÷ðáÀ÷÷þüàðàÀ€ÿÿ÷÷ôÁãçïÿùðððÿÿÿÿÿÿûóàðððððððÿÿûûùñÀàüüüüþþ>þæÿÿÿÿÿÿÿppðððððð| ÿÿÿÿÿÿÿÿÏÏÏÏÏÿ‡33ƒçÏßÿ‡33ƒçÏßÿÏÏÏÏÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆˆˆˆˆŒÎÿÿÿââââââââÀ ˜Ìÿÿÿññññññññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ—‡—Ÿÿ333333‡ÿ9	!199ÿÿÿÿÿÿÿÿÿˆˆˆˆˆˆ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿøÂÂÂ‚ÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿüñññÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøD@p@Dø99yYYYÙ™™™™™™™™Ÿ™™™™™™™™€ÀÀÀÀàà ™™™™™™™™™™™™™™™™™™™™™™™™° àÀ99yYYYÙ™™™™™™™™Ÿ™™™™™™™™€ÀÀÀÀàà ™™™™™™™™šššššššš™™™™™™™™™™ÙYy99Ÿ™™™™™™™›™™™™™™™€€€€€€€™™ÙYy99Ÿ™™™™™™™™™™™™™™™     ÀÀ€™™™™™™™™“““‘‘‘‘‘™™™™™™™™øDDDDDø™™™ÿà™™™ÿ ø™™™ÿ™™™ÿ™Ÿœà€™™™ÿà™™™ÿ ø™™™ÿšššþ™™™ÿð™™™ÿ›žøÀ™™™ÿ›ž¸à™™™ÿð™™™ÿðDDxDDDDDxDDDDDxxDDDDDDÌ@DDDDøhX@@DüZJJJBBÆDDDDDø00`xZJJJBBÆDDDDDøxtDDDDDÌZJJJBBÆtDDDDDÌ00`DDDDDxDDxtDDDDDÌêJNJJà€À€àNªªªJŠŠŽ„äJ®ªªJêªêŠŽîHLHNà àÀ dŠŠŠdêªªª¤îŠÊŠêîDDDNNªªªJ


êŠÊŠäN¤¤¤DìŠÊŠì¦¨H¨¦ŠŠŠŠîî„ä$î®¨¬¨NŠŠŽ„ä@   @êJNJJà€À€àxˆ€€€ˆpx„„„„„x`@@@@DøøD@p@Døxˆ€€€ˆpx„„„„„x0xÌÌüÌÌøÌÌÌÌÌø0xÌÌüÌÌ‚Æîº’’‚øD@p@@À$$|$D†ìTTDDDÂ`    (0`@@@@Døˆˆˆˆxðxˆ€€€ˆpx„„„„„xìTTDDDÂøDDx@@Àˆˆˆˆˆˆ|| øD@p@DøøDDxPHÆ<lÌþdŠŠŠdî¤¤¤¤F¨è¨¦à@@@@Î¨¬¨ÎNªêªª

Dª®ªJÎ¨¬¨Îà€à"ä

î‚î(îà à€à¤ªêª¤ª®êªªNªêªª


®¨¬¨N @ªêªª®î¨®¢®îHLHNà àÂ¤à    ®¨î*.î"n(î@À@@àåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå