@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr  MPP 1000C Modem/850 Emulator Page -1- -Intro- MPP 1000C modem  capable of autodial and} autoanswer. This manual is meant to  describe the installation, use, and technical aspects of the  driver. Majo}r things, such as error trapping and full 850  compatibility in the -normal- everyday use that many Amodem users  } and BBS Sysops would use it, as well as HomePak buyers who own  MPP modems, played a major part in the development of }this  driver. Thorough testing of this driver with Amodem 5.1,  unmodified Amis and Forem, and most important of a }ll, HomePak,  by Russ Wetmore, to ensure full 850 compatibility has been  taking place within the past 9 months. T }his driver was  constructed by the MAC/65 cartridge for the Main and Smartmodem  Source, and Basic XL for the Reloc }ation Generator, to generate  MAC/65 source code, thus taking up a maximum of 2.5K of code  inside the machine, wit }h the Smartmodem commands. This introduction would not be complete without the  mentioning of the support and }beta-testing help of my very good  friends. First of all, Dave Lowry, Sysop of OTB BBS in  Oakville, Ontario, (416}) 844-2483, made sure that all of the  functions of the driver worked, especially the custom XIO  commands that wer}e built into the driver. If it weren't for  him, this driver wouldn't have gotten the testing it has already  rece}ived. To this day, OTB BBS is still running with this  version of the MPP driver (Without the Smartmodem commands).  } Secondly, and equally important, Peter Marshall, of The Martech  Group, made sure that the Hayes SmartModem(tm) comm}ands and XIO  commands pertaining to the 850 all worked properly. He also  ensured that the HomePak worked properl}y with the driver, which  was our main goal.   -Booting up the Driver-elocatable, the booting stage of} the  driver is quite simple. All that must be done is to rename one  of the modem drivers to AUTORUN.SYS and then} boot up a DOS  diskette with your new AUTORUN.SYS, that you renamed from the  driver, and when the disk driver fin}ishes whirring, your driver  should be installed. As the driver is relocatable, it will  place itself in the lowes}t area of memory without interfering  with any terminal program. Those with the OSS Supercartridges  will have an }added advantage if they are using the part of DOS  XL that puts itself into the Supercartridge, as they will save  }approximately 5K, thus enabling the driver to be in a lower part  of the computer's memory. If there is no sig}n of the Driver, ie. You didn't hear a  beep and see the Version number on the screen, then the driver  wasn't rena}med properly. After the driver is booted, you are  then ready to use any Terminal or Bulletin Board System (BBS)  }program of your choice.   MPP 1000C Modem/850 Emulator Page -2- -General CIO} Calls to the Driver-ral Calls, ie. OPEN, CLOSE, PRINT,  INPUT, etc., without worrying too much about how the driver  } works on the inside. There are also specialized commands,  called XIO Commands, that will be discussed in the next }section,  which communicate with the driver to get certain tasks done that  the CIO is not truly capable of handlin }g by itself, such as  altering the Baud Rate. The OPEN command is very simple. All that need be done, is  !} to remember the Basics of the OPEN Statment. In the OPEN  command, you need remember, that for the mode of communicat"}ion,  ie. Input, OUtput or Both, a 5, 9, or 13 must be placed in the  Aux1 byte for Input, OUtput, or Both, respect#}ively. For true  850 compatibility, the Aux2 byte should be a zero. A value  other than zero will give it charact$}eristics, unique to the  driver and, thus render it incompatible with the 850 interface.  This is not a drawback, %}but an intention to make custom and  compact terminal and BBS programs for the MPP modem. For the  Aux2 byte, the &}following corresponds to the actions taken by the  driver and the corresponding XIO statemants for you to look up  '}for the meanings:  +128 -- Hang up upon the CLOSE Statement (XIO  34,#chan,128,0,"R:") +64 -- (}Enter Autoanswer state (XIO 35,#chan,0,0,"R:") +32 -- No Translation (ATASCII) (XIO 38,#chan,32,0,"R:") )}+16 -- Dial Number Supplied (XIO  37,#chan,0,0,"R:555-1212") +8 -- Odd Parity (XIO 38,#chan,8,0,"R:") *} +4 -- Even Parity (XIO 38,#chan,4,0,"R:") +2 -- Echo Byte back to modem (XIO 38,#chan,2,0,"R:") +}+1 -- Half Duplex (XIO 38,#chan,1,0,"R:") desired functions in your application program, simply add up  the c,}orresponding bytes and the modem handler will take care of  the rest. As an example, let's say that we want to dial a -} number in ATASCII and work in half-duplex: then we add 32  (ATASCII or NO translation)+16 (Dial)+1 (Half duplex) w.}hich  comes to 49. Thus the statement would be OPEN  #chan,13,49,"R:phonenumber" and that is all there is to it. /}Due  to all of this flexibility, there are also limitations, such as  setting the Dial and Answer bits simultaneous0}ly will report back  with an error, as you can't dial and answer the phone at the  same time. The other limitation1} is setting the echo & half  duplex bits simultaneously. It won't report back with an error,  but it will constant2}ly juggle the same bytes from both buffers. The Get or Input statements function the same as if doing  Gets or3} Inputs from any other channel. The are only two  requirements. The first requirement is that the modem must be  4}plugged in. The second one is that an XIO 40 must have been  executed for its own internal reasons, not to mention that5} it is  an Atari 850 standard. For more on this, see next section. The  MPP 1000C Modem/6}850 Emulator Page -3- third requirement is that there must be a byte in the buffer  within a given, user presetta7}ble time period. If any of these  three requirements are not met, then an error results, depending  on the require8}ment not met. The driver doesn't lock up and wait  for you to plug in the modem. The only condition of a lockup is  9} in the terminal program used, but -not in the driver-so the same as any other  Put or Print statements to the othe:}r channels. As with the  Get/Input Statements, there are requirements to be met; however,  only the first two requ;}irements that were listed in the  Get/Input commands are needed. The third requirement is not  even seen by the Pu<}t/Print statments. The CLOSE command is also the same as Closing another  device. The only twist here is that=} if you had specified the  hang-up bit upon opening modem, then, when the channel is  closed, the modem will hang u>}p and empty all of the buffers.  Otherwise, the close command will have no effect on the modem,  but will disable ?}the XIO 40, Dial, Answer, Half Duplex,  Linefeeds and a few other things internal to the driver.  @}-Special Commands (XIO) to the CIO & Modem-sed to enable a certain  characteristic, or execute a certain command in tA}he driver.  They are XIO commands because they have nothing to do with  opening, closing, getting a status, or genB}eral I/O. To further  explain the meaning of these Commands, we shall present them in  order and explain what the C}commands do. -XIO 34 -- Switch hook toggle:-  Usage: XIO 34,#chan,aux1,aux2,"R:"  Where chan is theD} IOCB that you are using with the modem. aux1 is one of the following numbers in order to have an effect  on the drE}iver.  128 - Hangs up the modem and clears the buffer off all data in  the buffers at the time of hang-up. ThF}e interrupt for the modem  is also disabled as it is not needed in the 'hung up' state.  192 - 'Picks up' the G}modem and enables the interrupt at the baud  chosen either by default or by the user (See XIO 36).  Aux2 is igH}nored by the driver so it may be any value.  -XIO 35 - AutoAnswer with Carrier Checking-o they may be any value.I} Although no real restriction is imposed on this command and can  be used even when the modem is online, one must rJ}emember that  with all of this freedom comes a little responsibility. What  MPP 1000C ModK}em/850 Emulator Page -4- must be remembered is that the ring detect line is constantly  monitored until a ring puL}lse comes in. What this may mean is  that you will probably think that the computer has locked up,  when it is, inM} fact, waiting for the ring pulse and won't  proceed without it. -The recommended usage-is  to wait until a rinN}g pulse is detected, by using the PEEK  function on Trig1 (DON'T use Strig(1)) located at 53265 ($D011  Hex). ThisO} is one of the commands not found in the 850, so if  you're using an unmodified version of Amodem, etc, you won't  P}find any autoanswer, and certain BBS programs would need to  modified slightly, if the Smartmodem commands are not used.Q}  However, if the smartmodem commands are used, then you wouldn't  need worry much about modification of the progrR}ams.   -XIO 36 - Changing the Baud Rate-  Where chan is, again, the IOCB used to communicate with the S} modem. Aux1 is the desired baud rate that you set using the formula of  aux1=21307/desired_baud-1. Aux2 T}is ignored, thus may be any value. As this is an XIO command used by the 850, the way in which it  is used is incomU}patible with the 850 itself. However, the many  terminal programs used with the 850 have the Aux1 value below 16  V}and in this case, any value less than 16 will result in a  default of 300 baud, to maintain compatibility. Conversely, W}any  program used with this driver setting the baud will not affect  the 850 because once XIO 40 has been executed,X} the 850 will  ignore the given XIO 36 command as it will tell the 850 to set  7,6, or 5 bit chars and in concurrenY}t I/O, a full 8 bit char is  sent always. Besides, who here speaks Baudot (raise your hand)?  -XIO 37 - AutZ}odial-chan is the IOCB number. Aux1 and aux2 are ignored.  The real beauty of this command is that there is r[}eally no  guesswork on how to operate this command. All that need be  known is the phone number and that it is pla\}ced in the  quotations after the R: and the driver does the rest. There is  no restriction as to what kind of char]}acters may be put inside  the quotations, but you must remember that if it is in Normal  Video and is a number, the^} driver will use it to dial. If you  don't want a specific number dialed, then put it in Inverse  Video. The driv_}er will thn ignore it. Remember that this  command is also not found in the 850 driver. Also, there is no `} MPP 1000C Modem/850 Emulator Page -5- restriction as to when this command may be used so take  a} precautions as to ensure that the modem is Hung up (SEE XIO 34).  The reason for this is because that there are also pb}arts of the  driver made for the Hayes SmartModem(tm) and the Hayes does not  hang up the phone itself, and also onc}e can, on the Hayes (As  well as this driver), use the Dial command for the Answer  command. The only difference id}s that the Hayes would answer in  Originate mode only. This doesn't really matter to the MPP  modem as it toggles e}Originate and Answer until it receives a  carrier.   -XIO 38 Communication Handling-Chan is the IOCB tf}hat is being used for communication with the  modem. Aux1 is the important parameter in that it will direct  the dg}river as to how to communicate with the other modems. To  explain, here is a table of what to add to aux1 in order to h} achieve the desired mode of communication:  +128 -> Hangs up modem upon closing the IOCB (Not an 850  stai}ndard). +64 -> Appends line feeds to ASCII Carriage Returns (ASCII  only). +32 -> No Translation or Atascii j}mode of communication. +8 -> Odd output parity (Not 850 Standard format) +4 -> Even Parity in output +2 k}-> Echo received bytes back to the modem (Not 850 standard) +1 -> Half duplex (Not 850 standard) As you may l}very well notice, a few of the parameters are  850 standard as they are the 99.9% of the parameters used in  most om}f the Terminal Programs, including HomePak. The others  are there to perform specific task, like answering and dialing.n}  Chances are that you will need features not found here but are  in the 850, eg. Parity, Word Size, are slim so to}hey were  excluded from the driver (However, one can modify the source  code provided to give you what you need). p} Another thing to notice is that the ASCII mode of the  driver performs the most common ASCII to ATASCII, and viq}ce  versa, translations: Carriage Returns, Clear Screen, Buzzer and  Backspace. This way, you don't have to writer} an ASCII  translator. Other noticeable thing is that some of these things can be  set up upon the executis}on of an Open Statement. Although this  is not 850 standard, you can save a lot of code when writing  terminal prot}grams for the 850. The only difference here is that  you cannot set up for line feeds in the OPen aux bytes. This  u} byte is reserved for answering with Carrier Detect.   MPP 1000C Modem/850 Emulator v} Page -6- -XIO 39 - User Timeout Setting-h the modem.  Aux1 is not used but should be a non-zero value in ordew}r to  activiate the new timeout. Aux2 is the new timeout value in  seconds. A zero in Aux2 will result in a 3 jifx}fy timeout value.  This XIO commands is useful so that the you can tell the driver  when to send you an error staty}us. An example for this could be  used in detecting a carrier from the XIO 35 command. After the  preset time hasz} expired and no carrier is present, an error is  sent back to the calling program (OTB BBS uses this method to  ans{}wer the line, if you have noticed that it may have hung up on  you before you have switched your modem to data.). |}  -XIO 40 - Setting up Concurrent I/O-: XIO 40,#chan,aux1,aux2,"R:"  Where chan is the channel being u}}sed to communicate with the  modem. Aux1 and aux2 are not needed and may thus contain any  value. XIO 40 is neede~}d in order to input data from the modem  as the driver uses location 747 for both buffer checks and Modem  Status. } If this command is not executed first, then an error  will result. XIO 40 is not needed, however, for output to the  } modem. After XIO 40 is executed, the driver then performs a  check to see how many, if any, bytes are in the input }buffer.  After closing the channel, XIO 40 must be executed again after  opening the channel. XIO 40 is the only }command that must be  executed after opening the modem. However, it may be executed  before other XIO statements, }unlike the 850 interface. Also,  user supplied buffers are not supported and the buffer size is  256 bytes for bot}h input and output, although 128 bytes for  Version 1.0H output buffer, as it is easy to keep track of them  with a} one byte pointer. When an IOCB to the modem is opened,  before XIO 40, one is able to check the status of the modem by}  looking at location 747. The following table will give the bit  positions and their purpose:  6 & 7 --}> DSR (Off only when modem is unplugged) 4 & 5 --> CTS (same as above) 2 & 3 --> CRX (bit 2 is off when no carrier;} otherwise, same as  above)  After XIO 40 is executed, location 747 is then used to indicate  how many by}tes are in the input buffer, and location 748 is used  for indicating the number of bytes in the output buffer.  } -XIO 41 - Echoing Characters to the Screen-1000C Modem/850 Emulator Page -7- Usage: XIO 41,#chan,aux1,aux2,"R:"}  Where chan is the IOCB used in communication with the modem.  Aux1 is a non-zero value used in order to decl}are the command  valid. Aux2 is the 'decision' byte. If it's a non-zero value,  then all characters are echoed to} IOCB 0 as well as the modem.  IOCB 0 is assumed to be open and the modem will ignore any  errors and keep going i}f there is something wrong with IOCB 0.  This command may be executed at anytime mainly because it  doesn't deal w}ith communication to the modem but to the default  IOCB instead.   -Hayes SmartModem (}tm) Commands- it's a smart  modem. What it does is takes user input commands and executes  them. These commands }can be found in the drivers flagged with  an 'S' after the version number. Although all commands are  supported, o}nly four of them are executed: dial, answer, repeat  last command, wait for phone to ring before answering. All  }commands are to be prefixed with the letters 'AT' and then the  command to be executed and must be less than 40 characte}rs as  the command buffer only accepts the first forty characters. The dial command is very simple. All that }need be done is  to enter 'ATD###', eg. ATD844-2483, and the driver will do the  rest. For rules as to how to dial}, look at XIO 37 because the  number format is the same. The result of the command is either  'Connect' or 'No Car}rier' with no error returned. The answer command is even simpler than the dial command as  all that need be en}tered is 'ATA'. The results yielded from the  command are the same as the dial command above. The wait for ri}ng command/answer is accomplished by typing  'ATO'. This command puts the driver in a wait mode and will  just sta}y there until a ring pulse is detected. When a ring  pulse is detected, the driver then lifts the hook as if 'ATA'  } were typed in. After that, the same results are yeilded. All other commands will result in an 'Ok' message sent } back. The only other time a 'No Carrier' is sent is when I/O  commands are issued and the carrier is lost. An er}ror 139 is  also issued once when the carrier is first lost. When using any  SmartModem version of the driver, the} XIO 39 command is disabled  as the SmartModem takes care of the timeouts.   -Error Codes} Involved with the Driver-ut (You Haven't got the modem plugged in...  All I/O involving the modem's IOCB needs the mod}em plugged in as  this is what the driver is designed for.) 139 -->NAK (The modem is off hook and a carrier isn't p}resent.) 148 -->Input Buffer Empty (You tried to get bytes from the modem  and the driver waited until a specified }time. After this time,  MPP 1000C Modem/850 Emulator Page -8- if no data is found in th}e buffer, this error will be returned  back.) 149 -->Driver Confused (You set the Dial/Answer bits in the Open  } statement in the Aux2 parameters.) 150 -->Modem already Open (You tried to open two IOCB'S to the  modem simultan}eously.) 151 -->Concurrent I/O error (XIO 40 was executed while the IOCB  to the modem was closed... IOCB must be o}pened first) 154 -->Concurrent I/O not enabled (A form of Input commands was  issued without an XIO 40 being execut}ed previously) }$G( D:SPRCHRDS.LSTD@@D:SPRCHRDS.LSTG6PP -OC>1 -8nHIȌhF<n-} ӍөHȌhh@(ҭͩP( HIȌh ӍКPQ}    L  R$R詀)өPӭ ӭ @өEҩҩ} Ң` LL7`K  `J  0 `` ~` Q}Q`Q R <`RR`  M `' ȌH gh`ĥ}н `) ` }``~``RLSHHI B Vh` Mh`h  ) 1HhH}ȌhȌ  HL`ɛ  `} ``~`H J0h`h `MSS}T0()@C9 8%`HIjj h  ʠ``8`STii*}B*8" HH`J)@J)H) Hhh)HhJ.J.JnJn`J.ɀ` @}x)X`)x X` c   <` MTUޠ `}D$E% c  ȱ$ɛF0:80 @ ) <0 0 ` `J}EҠ`K `ԩ ݩ<ԩ ٥ԍՍ```(`mmUUe}(`K`-}1@z``<ҩҢD`EZHI B VԩPխ֭נԑԑ}ːԩaթх֩aנmرmqؑץץaѩm`m`L`Modem Driver Rev. 1.0 Installe}d(c) 1984 Jordan L. Chilcott`a󡡛!&)9]bpsy"&*SVY\_z&0HMrw}}ab}`}@,K67AR,.>:@,c67Ab,.>:@,{67Au,.>612 TITLEWRKNPNDFILEVLINSAVLINBYNRN@@} ""PRODUCE BASIC STRING ASSIGNSFRO}M ASM/EDITOR OUTPUTJIM DYSON99;@P,;@,9A<@,9@P,;@ ,;@ ,6}-  AREAD DATA(H(>:A%,+(AUTO ML STRING PROGRAMH(ENTER NAME OF INPUT FILE-2,(( ENTER} BASIC STRING VARIABLE NAME,<A(ENTER TITLE OF ROUTINE=(THIS IS COMMENT (50 CHARS)AA8"(ENTER STARTING LINE N}UMBER4( MUST BE > 7008F 6-KSETUP AUTO RETURN FEATUREP?(>:A%,"-@@0( REM 3(6(?(}CONTR*-@'AB@*&U#AB@#6-%@ZR @@4-@}@A)@E RDOS HEADER_"6-@"SIGNAL FIRST O/Pd ATRAP EOFnG6-)@}*6-%@4 AGSEE IF NON DSPLYx#"@A@#NON DSPLY$67B:,%@,.>:,$ AP^ 67B:},%@,.>:@2,.6-%@?68<@,-P68<@,-^6-%@%6-%@% @A } APADD TO PRGRM 6.6- A. AP.ADD REST OF STRING."A}.NO REASSIGNS TO MAKE6-@x(>:A%,"-@@i( (8<@,,8<@,)=CHR$(}8<@,)l(o(x(CONT*-@'AB@*&#AB@#6-%@6-%@}!A& A&MAKE NEXT REASSIGNMENT ALIST OUTPUT,##LOOKUP NON DISPLAYABLE VALUES.,-@}"8, 6-,6-@0 2$^((ADD ML ASSIGNMENTS TO THIS PROGRAM`"(>:A%,"-@@b%}"@6-% A`d77( (LEN()+1)=>:@4,>:@4,e9( ((CONT$-@}6AB@9&f&AB@#6-%@&$h_)( =>:@4,>:@4,,(/(8(CONTJ-@}\AB@_&j&AB@#6-%@&$&&READ IN NON PRINT DECIMAL VALUES #A@! A}%!OUT OF DATA ERROR 6- ("6-%@68,-( A" $..ADD ANY ADDITIONAL 'PROBLEM' VALU}ES HERE..SOME CHR$ VALS WILL NOT PROPERLY DISPLAY%%PROGRAM SUBSTITUTES SPACE, THEN!!THEN GENERATES REASSIGNMENT}7728,29,30,31,34,44,125,155,156,157,158,159,254,255XLIST OUTPUT RESULTS]9@(>:A%,9(PREPARING TO LI}ST RESULTSb!(ENTER OUTPUT FILENAME!v&@ OUTPUT LISTED TO D2:MLSTRING.BAS+ wMlstring.BAS This program will create String assignment statements from the output of the Assembler editor, or its equi }valent. The program reads in the ASM/ED output, discards the DOS header and use the auto return feature to assign the str }ing name you specify. Due to the fact that some characters cannot be displayed, the program substitutes a space for displ }ay purposes, and then generates a sub string assignment to correct this inconvenience. Line 540 contains a table of the }decimal values of the non display characters. If you find additional values that are causing trouble, you should add them }here. Questions Jim Dyson 75126,255  seconds HAp("##(ΠӠŠ,##( , p PP @P0 P0Ҁi I"k}i!?!!xh@?n @ ? ^–} (C  H P@ @ `@ @@   C ` }A a @ B @ !> `@- #@ }fb_H@~`^?<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}<<<<<<<<<<<<<<<p*-@@H(宮R @ +VL( Error #F:A, a(> | MUPRT\UTRP\U@ * (* ( *J!?OST#U(**("(*(" J0 ?CPT"U@** **TU}#?CPTUP * * U"?OSTU R*Q ?OSPTU R * Q ?CSTU } 'U ?OST U (U ?OCPT UTPRJ(2U ?CPTUTRBJ( 2}U ?OSTU@U ?OCSTAU ?OSPTBUT U AUT U  UTP@ @PTUTU}TRJ** PTU? UTP@ @PTUTUTPB **BTU ? UT@P**JRTUTPT@ **PU}@ UTPP** BPTUTPTJ*U U * ** " * TUP? UP * * (*"}*@UT U **  * @ρ U **  *@ρUP* }/Щo ] ] \O"#p ` `} `'*$i_%i_ ЩЩЩ 01b |_ |_ `ɛL`SL |_} |PQ_ (`HLQS |_ |_ (`HLQD !F GLoQR FGLoQ+ #FGLoQ- $FGLoQCLRLP } |_G |_ (`HLPpFBhDdE VLDRLPFG QP?bQ?bR?bS?bL`SbP?bQ?bR?bS?F G} QLPQRBhDdEFJ V02GBPD!EHI V0 B V0`j B V |_ aRhh `LPk}lmjxkmkklmllXkHJJJJ Rh) R`m` 0mHc BHIh Vc`pBXDSEJ V R} |_pBDRSEHI V! BDEHI VLRp B V BVDbEHI VR `LPD:*.*}bN KZLS01* O_4eō uU ^ ] X X` @V6'LSLSLTLTLS}*5?"# RVLSST7L(T87 _"8:#9;*5 RV v_LS 7 v_LS<>=8[9Z:}U;T "W=":U#;T8[9Z*5 "W>LSLS _? ZLSg'e `LS$#ɽ#"ɝ"} LS* bbTUcpo"mo#mp ;Xccop֩˩@̭* O_ōcpocmoi} mp?*5 RVopҩP˩! v_LT _4`D _ `'`E `'7` LAZ0:80 **}N`hhLS}P!O?LUV`UL_F _ `'`W IL]CL\P 'gne* ' `` }`Э`hhLP()5 bb)) O_()eŨ ?+()NN8n+n+LV+I,)( O_eŅ }eƅ(JJMKŸLŹ?hcVWMKL?-LWLW M-,-+ `T`Ua?IL }vywz`Z 8ZvyL\WZ8`vya[ 8[wzL{W[8awzprZT[Uwvv~twJpLWJr~L:Xpevp }tp8tpTeyTrewrtr8trUezUWX=JT( O_iPi!UJJJH IL5XJHI?hc? }L5XUT RV~LW`()+() n+n+LLX)( O_PeŅ!eƅ(JJ-+() nnLX`N`U#( }O_iPi!8阅QRQi(SRiTXY"JJe湥8VIV …DLYH)")}L'YWLY & & & &U7Ui汭VHɂL+ZL BL6Z澥ji}i!LPD? - 0}Clear the screen. CLEAR SPACE - Enlarge current working BAR area for detailed drawing. Push SPACE BAR agai1}n to return to normal mode. C - Change color. Press C and then 1, 2, 3, or 4 to change the respective2} color. Move the joystick up and down to change luminance (brightness), left and right to change hue (color).3} Press the fire button when finished. D - Draw mode. The cursor will resemble an "X". Draw by pushing 4} the fire button while moving the the joystick. E - Elastic (draw-to) mode. The Cursor will resemble an "O". 5} Push the fire button once to define the starting point. Move the cursor to place the line as desired and p6}ush the fire button again. F - Fill mode. The cursor will resemble a "+". Move the cursor within the bou7}ndries to be filled and press the fire button. H - Halt fill mode. Use to halt filling of an area, or if f8}ill mode hangs up. p - Change pattern. The cursor will resemble a "[]". Select from paint cans 5 through 9}10. Position the cursor over the area with the desired pattern and push the fire button. The pattern will :} be transferred to the selected paint can. All four colors should not be in the selected pattern. U - Und;}o. Removes the last command from the picture. W - Paint can window select. Turns display of paint cans off and<} on. 0-9 - Choose paint color to use. The color chosen is shown by a line covering the can. You can also c=}hose a color by moving the cursor to the paint can and pressing the fire button. To move the paint can window: >} 1. Move cursor to the arrow box in the window. Push the fire button and move up or down with the joystick?}, or; 2. Hold the button on a paddle controller plugged into Port 2 and turn the paddle. The picture save f@}ormat is as follows. This format is the same as Micro-Painter. Screen Memory = 7680 bytes. Color bytes: Color 1 - memA}ory location 712. Color 2 - Memory location 708. Color 3 - Memory location 709. Color 4 - Memory location 710. Use the B}following guidelines for loading pictures from BASIC. The same principles apply when using other programming languages. C} * Graphics 8 no window. (Change 24 to a 8 if you want the window.) 10 GR.24 * Find Display list 20 S=PEEK(560)+256*PD}EEK(561) * Change Graphics mode to the same one paint uses. 30 FOR I=1 TO 210 40 IF PEEK(S+I)=15 THEN POKE S+I,14 50 IE}F PEEK(S+I)=79 THEN POKE S+I,78 60 NEXT I * Open the picture file for reading 70 OPEN #1,4,0,"D:NAME.PIC" * Tell the operF}ating system you want to read. 80 IOCB=848:POKE IOCB+2,7 * Tell it you want it to store the information in the screenG} memory. 90 POKE IOCB+4,PEEK(88):POKE IOCB+5, PEEK(89) * And you want it to store 7680 bytes there (0 + 256 * 30 =H} 7680) 100 POKE IOCB+8,0:POKE IOCB+9,30 * Make it do it. 110 USER=USR(ADR("hhh*LVd"),16) The characters between the quoI}tes are small h, small h, small h, inverse asterisk, capital L, capital V, inverse small d * Read colors and store J}them in their proper places. 120 GET #1,X:POKE 712,X 130 GET #1,X:POKE 708,X 140 GET #1,X:POKE 709,X 150 GET #1,X:POK}KE 710,X 160 CLOSE #1 200 GOTO 200 Let your creativity flow and draw up some breathtaking pictures! d))-F:%@oV V`pVN iVkVN0VWAV!"#$%&)JJJJV`)V`0ot#",ine0oint0icture0oint"rushicturealett!M}eH ԭ`ЩЩЩNWh@HH Խ` ԍнaнDbн`.Whh@D1: D1: D1: !N} D1: D1: WX Welcome to Philip Price's Multi-Color Drawer. (C)1984 Philip PriceAvailable !O}from ANTIC magazine.Please Enter the Picture name.D1: .PIC4`^ VlV B VB !P}JKLXE:DXE V BXYDWEHI V`BJKLXK:DXE VBD`EH!Q}I V BD`EHI V``WWWWWɛ`  B V`.WWWWWPWWWWWIWCW!R}WWWWW0W1W2W3W YZWWWW B VBJKDWE VBD EHI V!S}BD0EHI VBtDXEHI V B V䢿tX`uX`vXawXDbBJKDW!T}E VBD`EHI V B V䢻Z[BJKDWE VBĝD`EHI V B V!U}BJKDWE VBDaEHI V B VBJKDWE VBDDbEHI V!V} B Vԍ/ԩ0V1.Wԩ>/[\ЩPԩЍЍЍЍЍЩ0ЩȍЩЍ L\8S\`I!W}Э)D):)04)))) L[Lq]L]L]L]L\L^L^LZ\U)S\S\L\S\L\!X})S\8S\S\S\ VWS\ VWTUS\\]i%SSTTT T`TU`U UU\ 8!Y}S\L[T\IT\B(WWV@ VjV@kV@R\V\Lg]"WWV VjV0kV)!Z}L[8S\)Hi)hL]8S\)H8)h]^L]8S\)Hi)hL]8S\)H8![})h VV VV))L[, ҍU\IU\ W WL^W WL^R\i)R\# DbL^!\}aL^`L^ą`8S\@R\V\^_R\VV)L[/ԩ@ԥ))!]}BJKDWE V BD`EHI V B VBJKDWE V BĝD`EHI!^} V B VBJKDWE V BDaEHI V_` B VBJKDWE V B!_}DDbEHI V B Vԩ>/L[xXp,'@%@/[\ЩPԩЍЍЍЍЍЩ0ЩȍЩЍ L\8S\`I%t}Э)D):)04)))) L[Lq]L]L]L]L\L^L^LZ\U)S\S\L\S\L\%u})S\8S\S\S\ VWS\ VWTUS\\]i%SSTTT T`TU`U UU\ 8%v}S\L[T\IT\B(WWV@ VjV@kV@R\V\Lg]"WWV VjV0kV)%w}L[8S\)Hi)hL]8S\)H8)h]^L]8S\)Hi)hL]8S\)H8%x})h VV VV))L[, ҍU\IU\ W WL^W WL^R\i)R\# DbL^%y}aL^`L^ą`8S\@R\V\^_R\VV)L[/ԩ@ԥ))%z}BJKDWE V BD`EHI V B VBJKDWE V BĝD`EHI%{} V B VBJKDWE V BDaEHI V_` B VBJKDWE V B%|}DDbEHI V B Vԩ>/L[xX{{{{{\/?]|[{_QK-@( !-@'( 3-@9  $945 I^QQQQQQQQQQQ1Q1Q1Q1Q1Q1Q2Q2Q2Q2Q2Q3Q3Q3Q3Q4Q4Q4Q4Q4Q5Q5Q5Q8Q10Q10Q10Q12Q14)~}Q15Q16Q18Q19Q25Q25Q27Q27Q30Q36Q44Q53Q54Q55Q70Q71Q71Q74Q75Q76Q78LDBEENHERIMAGAAAFILEFNTEMPOUTP)}MPLYCKABLANKFONSHOWINFLAGDCOCOLBRJUMDISTDSVEADGRPHU@@@@B@)}@@ @ @ @ @ @@@@ A @"@@'@)}@4B@2A @!A0@HA H@P@Q B !@"AA#A$A%A )}&A!@'AU(A`)A*A+AU,AV-B2w.B2y/A0A`1A@2A63A@4AY5A)} 6A7A8A@9AR:Ad;A<=@I>?@@A@B^CrD)}EFGHAIeJ@KLMHN@"O@"PQB `RAvS@0T)}UA)VWXY@Z6-6-@'6-@36-@?6-@K6-B)}W6-@c6-@o6-@{6-@6-@6-@ 6-@6-@6-@6-@6-)}@ 6-A 6-@"6-@6-@'6-@'6-@436-B?6-@2K6-A W6-@)}!c6-A0o6-@H{6-A H6-@P6-@Q6-B 6-@6-AA6-A6-A)}'6-A 36-A!@?6-AUK6-A`W6-Ac6-Ao6-AU{6-AV6-B2w6-B2y)}6-A6-A`6-A@'6-A636-A@?6-AYK6-A W6-Ac6-Ao6-A@{6)}-AR6-Ad6-A .;@0,.6.h hhr0 Vթ`+-AX" %6-+6-T)}T104,201,1,208,10,104,104,141,114,3,162,48,32,86,228,133,213,169,0,133,212,96,0d88;A ,;,;,;,;,;,;)},;,9,n36. %6-+6-36-&7 %+00%16-A$76- %)} %8 6-.( ¯ȠŠ 46-8  -((c) 1983 -(Irata Press L)}td.# -#(oad a B/GRAPH Image. B- --(isplay a Standard Image.(Load)& -&(edisplay Curre)}nt Image.*-@*(ave as B/GRAPH Image.2-@2(mage in Standard Form. (Save) -(xit to BA)}SIC.a-@2(Press to Redisplay this>-@ a(Menu from the Graphics Screen.- -%-(=Color:)} =Hue: =Intensity"QK:A/A@d6)B"@vGM6-Q , "&+)}1 "@*6- 4&"@s*6-& B6< "*+@V!'-2)}< AG8"@h BT %h(+006-#-( 6.D:J (}-%)}#( ¯ȠD( (Insert data disk.)G(J(S(Last file was... (" 7(ENTER FILE NAME;A6-K )}BpOS B:,A+7<,4:)7<,4:!6.+ A 67,.6.6.6. .+ 6)}-00#.0.(+( ¯Ƞˠ.(D: 6-%*7<,4 FREE SECTORS0)}: A@X" !( -"6-6b: "6(-%0(Press age for more.: Al( A)}_ -%&(-%<( Press to continue,_( or for function menu.RA!A@d)}&4K:;)@F"KN'R 6"@*"6@4 &6-,(}6 A`A)}@$ 8 B"%$2+%%@2$86-  ")}6 "#*06(((J6-F:A`,%F:Aa,$*6-F:,$26)}-&=6-P:',J6-P:&$,]6-P:',6-P:&$,'A3A?AKA]6-?:C:,<%$,)}6-Ad&F:B2y," F:Ad,"& A`@K:"A4A)}@d;)@#"@g#6-+%,&$+&,!"@r!6-%&$+&,#"@s6-%"#6- &)}"&$P:',6-% "&6-% 6-% AGV -  xi$4)416.D1:*.*! $)}$i 426.D2:*.* $i 446.D4:*.* $i 436.D3:*.* $i 6- $`mY 6.D:(})}-%2(Ġ͠S( (Insert data disk.)V(Y(jm](Last file was... (( B=(ENTER FILE)} NAMEAG6-Q Bp]@omB:,Bpm+7<,4:)7<,4:!6.+ B@m 67,.6.6.)}6.o6 B"%$6+@$%$@2o1**@"F:F:@,%$F:@,,1*o )}ToC6-F:@,%F:@,$+6-Av66-P:',C6-P:&$,ho]6-P:',6-P:&$,'A3A)}?AKA]6-?:C:,<%$,oE*F:A,!*F:,+*F:,;*F:A,E*F:,o@ " )}B)&A-)3:)@o) ")A#))o 6-6- AGH)}qM %+(}-%5(C-AG MMq   D:PICLOAD.BAS@P<6-F:(mB/GRAPH CUSTOM SCREEN DUMPS B/GRAPH has a very versatile built in printer dump capability that supports most of the popula-}r graphics printers on the market. Nevertheless, there are new printers being introduced almost every week, and some of thes-}e may not be compatible with our screen dump routine. Also, some users may find that they have need for printouts of differ-}ent sizes, shading or other parameters. We have therefore created a BASIC program named PICLOAD. This program may be fr-}eely copied and does not require any other B/GRAPH program to load it. In fact, you may distribute it to anyone whom you wis-}h to provide with B/GRAPH Images, who doesn't own the B/GRAPH program and thus would otherwise be unable to view them. Sim-}ply boot (turn on) your computer with a disk installed that contains DOS and with the BASIC cartridge installed (on non-XL m-}achines). Now insert the disk containing PICLOAD and type... RUN "D:PICLOAD" You will be presented with a menu conta-}ining the following choices..... Load a B/GRAPH Image. Display a Standard Image. (Load) Redisplay a Current Image-}. Save a B/GRAPH Image. Image in Standard Form. (Save) Exit to BASIC. To use this program as a means of di-}splaying B/GRAPH Images, use the L function. As with all B/GRAPH programs, OPTION will always redisplay the main menu. Yo-}u may then Redisplay an already loaded Image with the R function. The main purpose of this program though is to allow you to-} use custom or commercial screen dump routines with B/GRAPH Images. This may be done in several ways. The first is, if the -}special printer dump program is in machine language (such as The APX Screen Dump Utility), you can first load it, do the ap-}propriate Pokes as detailed in the instructions, for scaling and setting other parameters, then just RUN"D:PICLOAD". The pri-}nter dump would then be executed with whatever command is specified (CTRL-P in the case of the APX program). Many printer -}dump utilities though, such as COLOR PRINT from Datasoft, by Courtney Godin, first require that the screen Image that you wi-}sh to print out be in a standard compatable form. Regular B/GRAPH Images are not in such form and therefore can not be prop-}erly loaded and printed out. The reason for this is that when we designed our Imaging routine we decided that it was import-}ant that all of the screen colors be set before the Image was displayed. Most other programs first save the screen data and -}THEN the color information. The end result is the same but we find having the colors set first to be more elegant. The sol-}ution then is simple, Load a B/GRAPH Image and then use the Image function to save it back to disk in Standard form. You can-} now boot your favourite printer dump program and the file saved with the function can be loaded normally. Finally we als-}o provide in PICLOAD.BAS the D and S functions so that you can take any Standard Graphics 8 Image file and convert it into B-}/GRAPH compatable form, possably so that you can use our Custom Labeling module, or to mix that Image with a B/GRAPH Slide -}Show sequence. One final note: the program Graphics Master, from Datasoft, by Courtney Godin is a superior program that we -}have found very useful in enhancing B/GRAPH Images. To use this program, Load a B/GRAPH Image, Image it in Standard form; u-}se Graphics Master; Save from Graphics Master; Display with PICLOAD then use the Save command to resave back in B/GRAPH Imag-}e form. A bit of work, but worthwhile.  6-  A A,,@tuMQQQQQQQQQQQ1Q1Q1Q1Q1Q1Q2Q2Q2Q2Q2Q3Q3Q3Q3Q4Q4Q4Q4Q4Q5Q5Q5Q8Q10Q10Q10Q12Q141}Q15Q16Q18Q19Q25Q25Q27Q27Q30Q36Q44Q53Q54Q55Q70Q71Q71Q74Q75Q76Q78LDBEENHERIMAGAAAFILEFNTEMPOUTP1}MPLYCKABLANKFONSHOWINFLAGDCOCOLBRJUMDISTDSVEADGRPHU1} 1} !"#$%1}&'()*+,-./0123451}6789:;<=>?@ABCD1}EFGH@IJKLMNOPQRST1}UVWXYZ6-6-@'6-@36-@?6-@K6-B1}W6-@c6-@o6-@{6-@6-@6-@ 6-@6-@6-@6-@6-1}@ 6-A 6-@"6-@6-@'6-@'6-@436-B?6-@2K6-A W6-@1}!c6-A0o6-@H{6-A H6-@P6-@Q6-B 6-@6-AA6-A6-A1}'6-A 36-A!@?6-AUK6-A`W6-Ac6-Ao6-AU{6-AV6-B2w6-B2y1}6-A6-A`6-A@'6-A636-A@?6-AYK6-A W6-Ac6-Ao6-A@{61}-AR6-Ad6-A .;@0,.6.h hhr0 Vթ`+-AX" %6-+6-T1}T104,201,1,208,10,104,104,141,114,3,162,48,32,86,228,133,213,169,0,133,212,96,0d88;A ,;,;,;,;,;,;1},;,9,n36. %6-+6-36-&7 %+00%16-A$76- %1} %8 6-.( ¯ȠŠ 46-8  -((c) 1983 -(Irata Press L1}td.# -#(oad a B/GRAPH Image. B- --(isplay a Standard Image.(Load)& -&(edisplay Curre1}nt Image.*-@*(ave as B/GRAPH Image.2-@2(mage in Standard Form. (Save) -(xit to BA1}SIC.a-@2(Press to Redisplay this>-@ a(Menu from the Graphics Screen.- -%-(=Color:1} =Hue: =Intensity"QK:A/A@d6)B"@vGM6-Q , "&+1}1 "@*6- 4&"@s*6-& B6< "*+@V!'-21}< AG8"@h BT %h(+006-#-( 6.D:J (}-%1}#( ¯ȠD( (Insert data disk.)G(J(S(Last file was... (" 7(ENTER FILE NAME;A6-K 1}BpOS B:,A+7<,4:)7<,4:!6.+ A 67,.6.6.6. .+ 61}-00#.0.(+( ¯Ƞˠ.(DD A@6-%47<,4 FREE1} SECTORS:D A@X" !( -"6-6b: "6(-%0(Press age for more.: Al(1} A_ -%&(-%<( Press to continue,_( or for function menu.RA!A1}@d&4K:;)@F"KN'R 6"@*"6@4 &6-,(}6 A`1}A@$ 8 B"%$2+%%@2$86-  "1}6 "#*06(((J6-F:A`,%F:Aa,$*6-1}F:,$26-&=6-P:',J6-P:&$,]6-P:',6-P:&$,'A3A?AKA]6-?:C:,<1}%$,6-Ad&F:B2y," F:Ad,"& A`@K:"A41}A@d;)@#"@g#6-+%,&$+&,!"@r!6-%&$+&,#"@s6-%"1}#6- &"&$P:',6-% "&6-% 6-% AGV -  xi$4)416.D11}:*.*! $$i 426.D2:*.* $i 446.D4:*.* $i 436.D3:*.* $i 6- $`mY 6.1}D:(}-%2(Ġ͠S( (Insert data disk.)V(Y(jm](Last file was... (( B=(1}ENTER FILE NAMEAG6-Q Bp]BomB:,Bpm+7<,4:)7<,4:!6.+ B@m 67,.1}6.6.6.o6 B"%$6+@$%$@2o1**@"F:F:@,%$F:@,,1*o1} ToC6-F:@,%F:@,$+6-Av66-P:',C6-P:&$,ho]6-P:',6-P:&$,'A1}3A?AKA]6-?:C:,<%$,o;*F:A,'*F:A,1*F:,;*F:,oF " 1}B)&A-)9A@)Fo ")o$ 6-6-6-$ AGHqM 1}%+(}-%5(C-AG MMq  D2:PICLOAD.BASBB1}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1}&&&&&&&`,^^6.ThhhhhhhhhhhX˥Ym˥m̠˪͑ˊ3367@,. 0 PICLOAD! by Charles F. Johnson 11/19/85 75066,404 PICLOAD is 5}a BASIC program that can load and display just about any kind of picture file, including Micro-Illustrator (or Atari 5} Artist) and Fun with Art pictures. I wrote a new machine language routine to decompress Micro-Illustrator files in5}stead of using the standard method. The new routine is significantly faster than the ones used by Magic Lantern 5}and other programs. In addition, PICLOAD uses the G: device (which is available on SIGATARI) to print pictur5}es. PICLOAD lets you set the various options of the G: device very easily, and then print your picture with a press 5} of the START key. When you run PICLOAD, the program checks to see if the G: device has been loade5}d into memory. If it has, you will see a menu of Print options. Set the options how you like and press RETURN to go o5}n. If the G: device is not present, the program will skip this menu. Next, you will be asked for either a d5}rive number or "F" to enter a filename. Type a number between 1 and 4 and PICLOAD will search that disk's direct5}ory for all files that have a ".PIC" or ".FWA" extension and list them on screen, with a letter next to each file5}name. To load a picture, just press the letter next to its name. PICLOAD will first check the file to see if it's a M6}icro-Illustrator or Fun with Art file and if it is, the picture will load automatically. If not, you will prompt6}ed for the format and graphics mode of the picture. Just answer the prompts and the picture will load. 6} If you press "F" instead of a number, you may enter a filename for the picture. This is so that you can load pictur6}es which don't have an extension of ".PIC" or ".FWA". Once the picture is being displayed, START will6} print it using the G: device. (However, this program does not allow printing of Fun with Art pictures because t6}hey use a display system which is incompatible with the way the G: device prints pictures.) The SELECT key will 6}print the picture and center it vertically on the page. OPTION will cycle through all 5 hi-res graphics modes without 6}clearing the screen, so you can see what your picture looks like in other modes. (The OPTION key does not affect6} the graphics mode of a Fun with Art picture.) To load a new picture press ESC, and PICLOAD will restart. 6 } 6 }<6-F:A,$AV+6-P:'AV,7AHK4B[""P6FILETEMPTEMP2INBUFFNHEADERCOLCOL10GCOLGINITDLIONDLIOFFGR7PLUMOVPOKCIDMMGTIFWINVERWID: }TGFLACOL1COVVTSTARBYTMODTYPCONSOKEMNOLDDLOLDDLOLDMTOLDMTPICBADLIBA: } :} !"#:}$%&'()*+,-./01!!:}ġ!!!!ӠƮΠ!!Ӡ:}!!--------------------------- When picture is displayed:""Ԡ = Print picture w/ G:%% = Print; vertic:}al center## = Switch graphics mode && 1 +A1A :}@~~;@,;@,;@,;@,;Av,;A ,;@,;@,;@ ,;@ ,;:}@,F&;@6,;@,;@,F@@K:6.hݩL\6.h@Ԣ_:}L\ZZ6-C:Mh0i˭1i̠ON˥i˥i̩A`i˥i̩,446-C:'hhhhhhh:}֑`,7&-C:hJhhhȑh`,76-C:hhhLV,..6.$hhhhh֥Xׅͅ٥Y΅iڄL :}y6-6-'6-36-?6-K6-U6.G1:a6-m6-y6-#S6:}. $FXv6.(ʔ (6-C:,16-C:,S6-F:A4,%AV$F:A5,$Z%6-F:A@,%AV$F:AA,36-Bpr:}&Z6-?:<%@<<%@<AV,%zZ6.PՄϱ n(*&J˅ n˅ n nͦ L< uޱ:}˅ nz67@8<@8,.>:@4,&kk67@<A`,.Pёͦ Lb u`iP͐Υ*:}$!i(ͥi'ii67Aa<A8,.Ni(ِ`Хׅͅ٥؅iXi(Yihh`ΥXͥYi:}(5-AA1@5F:,"@:G,@E)F:,"6-A1*  @P-6-@6-A1:} 2**("ġƮ7 ApQ( ()(Type drive # to use ( - )F(or Ơ to ent:}er filenameI(Q(> G)@G>:,01*>:,02*>:,03*>:,04*>:,0FAPF (>:,0>:,41)>:,42)>:}:,43)>:,44<6-@F A#(#(Which drive? ( - ) > 8)@->:,02*>:,03*>:,0486-@:: }1, (>:,F 6.D67@,.>:,.67@,.:2< AF A =((Picture filename?&(> 3:!}@:4=%67@,.e A*@@4 BH-@@U)@a:"}67,.>:,e 0A5p-@@$)@067,.>:,4 B4N6-@Z6-@:#}f6-@$p A: 46-@$6-@06-@$: Apf@(#( Which format?4( - St:$}andardI( - MicroPainter^( - Koala Sketchf(> ,)@,>:,21)>:,33AP<>:,426-@:%}&6-@26-@$< A M>:,43( Koala Sketch+6-@76-@C6-@ M A(Stand:&}ard@((Graphics mode?8(>7+ >8 >9 >10 >11@(> ",)@,>:,21)>:,35A,D (>:,6:'}-A:>:,,D6-@%%+"@,%@$+ @,6+@"@6-?:,J8"@86-?:<A<<:(}A <@,r A At A  Av4 A*@@4 B|:)}QQ6-?:C:hRhUhThYhXLV,:,N-@@$)@2A%@67<,.>:,D N AN"@:+}#-@@0)@>A%J67,.>:,N (AM)@+%@20-@@:,} =)@I67,.>:,M !!6-?:-@@:8}$)@0"@>A%l67,.>:, v(-@@ $)@( <(ARF:@:9},2ASF:@,< AP6-?:<AR}-B:,%@@667,. : &&67+&@,$@%@,.vF:@,"@ G@@$+F:@:?},"@,%@v-@$+F:@,"@!,%@@]-(>:A%,7@<@,]F:@:@}, @ )F:@, @!AX-@@#(( Ӡ٠5)@G@@N(}X A:A} @A`-(%No .PIC or .FWA files on this disk.M(Press any key to continue.Z)@]'`%/:B}F:@,"@/6-@ &F:@, >AR'@@>6.7@<@,*<-@@!:C}&4(Choice? ( to exit)<(> 4")@"AU'"%>## @e)!@d%A H9&6.7+&@e:D},$@%@,567@,.9(R$\ԠРԠӠfNAR@'-@@7( Ǻ:E}ŠN(ԠӠp<(( nverse .....*( idth .......<( eight ......z%(%( ...Continue Prog:F}ram*@@'-@@*(((Ơ A P (Π "(Š"@:G}(Š"@(Š$ 4G1:(Š$ A@(Š0@@'AR:H}@*(-(0(((CHOICE?( ()@.>:,4I6-O:&AU,8>:,0WAB56-%@:I}%+ @,)!@56-V*>:,4H*4G1: 6.G4:* A[ >:,4H*4G4: 6.G1:y"A:J}U,@F:@,%@@2(}O@F:@,&@@aARs-v(y$'-@:K}@(' A ΠȠԠŠ-6-A(6-A-AYU)@"67@:L},.>:,6-@@C)@Q67<,.>:,U  m\6-?:<AP<@<AR<<AS<@<AV:M}<<AW<@,m6-?:<@,gV6-?:<AP<@<AR<<AS<<AV<@<AW<@:N}0,g6-?:<@, gV6-?:<AP<@<AR<<AS<<AV<<AW<@ ,g6-?:<@:O},4}@}6-?:<AA<<AE<%@<AX<@<Ac<<A`<<Aa<@<AY<@4:P},>-6-?:<<A<@,*6-?:C:,,-$  D:PICLOAD  D2:PICLOAD:Q} logo.(Park '86)2. MCP. Multi-Colored P8R@tuMQQQQQQQQQQQ1Q1Q1Q1Q1Q1Q2Q2Q2Q2Q2Q3Q3Q3Q3Q4Q4Q4Q4Q4Q5Q5Q5Q8Q10Q10Q10Q12Q14>S}Q15Q16Q18Q19Q25Q25Q27Q27Q30Q36Q44Q53Q54Q55Q70Q71Q71Q74Q75Q76Q78LDBEENHERIMAGAAAFILEFNTEMPOUTP>T}MPLYCKABLANKFONSHOWINFLAGDCOCOLBRJUMDISTDSVEADGRPHU>U} >V} !"#$%>W}&'()*+,-./012345>X}6789:;<=>?@ABCD>Y}EFGH@IJKLMNOPQRST>Z}UVWXYZ6-6-@'6-@36-@?6-@K6-B>[}W6-@c6-@o6-@{6-@6-@6-@ 6-@6-@6-@6-@6->\}@ 6-A 6-@"6-@6-@'6-@'6-@436-B?6-@2K6-A W6-@>]}!c6-A0o6-@H{6-A H6-@P6-@Q6-B 6-@6-AA6-A6-A>^}'6-A 36-A!@?6-AUK6-A`W6-Ac6-Ao6-AU{6-AV6-B2w6-B2y>_}6-A6-A`6-A@'6-A636-A@?6-AYK6-A W6-Ac6-Ao6-A@{6>`}-AR6-Ad6-A .;@0,.6.h hhr0 Vթ`+-AX" %6-+6-T>a}T104,201,1,208,10,104,104,141,114,3,162,48,32,86,228,133,213,169,0,133,212,96,0d88;A ,;,;,;,;,;,;>b},;,9,n36. %6-+6-36-&7 %+00%16-A$76- %>c} %8 6-.( ¯ȠŠ 46-8  -((c) 1983 -(Irata Press L>d}td.# -#(oad a B/GRAPH Image. B- --(isplay a Standard Image.(Load)& -&(edisplay Curre>e}nt Image.*-@*(ave as B/GRAPH Image.2-@2(mage in Standard Form. (Save) -(xit to BA>f}SIC.a-@2(Press to Redisplay this>-@ a(Menu from the Graphics Screen.- -%-(=Color:>g} =Hue: =Intensity"QK:A/A@d6)B"@vGM6-Q , "&+>h}1 "@*6- 4&"@s*6-& B6< "*+@V!'-2>i}< AG8"@h BT %h(+006-#-( 6.D:J (}-%>j}#( ¯ȠD( (Insert data disk.)G(J(S(Last file was... (" 7(ENTER FILE NAME;A6-K >k}BpOS B:,A+7<,4:)7<,4:!6.+ A 67,.6.6.6. .+ 6>l}-00#.0.(+( ¯Ƞˠ.(DD A@6-%47<,4 FREE>m} SECTORS:D A@X" !( -"6-6b: "6(-%0(Press age for more.: Al(>n} A_ -%&(-%<( Press to continue,_( or for function menu.RA!A>o}@d&4K:;)@F"KN'R 6"@*"6@4 &6-,(}6 A`>p}A@$ 8 B"%$2+%%@2$86-  ">q}6 "#*06(((J6-F:A`,%F:Aa,$*6->r}F:,$26-&=6-P:',J6-P:&$,]6-P:',6-P:&$,'A3A?AKA]6-?:C:,<>s}%$,6-Ad&F:B2y," F:Ad,"& A`@K:"A4>t}A@d;)@#"@g#6-+%,&$+&,!"@r!6-%&$+&,#"@s6-%">u}#6- &"&$P:',6-% "&6-% 6-% AGV -  xi$4)416.D1>v}:*.*! $$i 426.D2:*.* $i 446.D4:*.* $i 436.D3:*.* $i 6- $`mY 6.>w}D:(}-%2(Ġ͠S( (Insert data disk.)V(Y(jm](Last file was... (( B=(>x}ENTER FILE NAMEAG6-Q Bp]BomB:,Bpm+7<,4:)7<,4:!6.+ B@m 67,.>y}6.6.6.o6 B"%$6+@$%$@2o1**@"F:F:@,%$F:@,,1*o>z} ToC6-F:@,%F:@,$+6-Av66-P:',C6-P:&$,ho]6-P:',6-P:&$,'A>{}3A?AKA]6-?:C:,<%$,o;*F:A,'*F:A,1*F:,;*F:,oF " >|}B)&A-)9A@)Fo ")o$ 6-6-6-$ AGHqM >}}%+(}-%5(C-AG MMq   D:PICLOAD.BASBB>~}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%>}%%%%%%%<uvMAINMODENAMEPR1PR2PR3FILETEMPDUMPFILFFPIDUMPRPRSCPICSTBKCRCRCRDKEPADUMP2DUMP1PB}RTGRFJJ== & AU @ B}B} 5!" ##THIS PROGRAM WILL DISPLAY ANDPRINT KOALA TYPE PICTURES(2 THIS PROGRAB}M WILL NOT WORK<""WITH MONKEY WRENCH INSTALLEDFPss;A0,;@a,;@,;Ar,;Ar,;ArB},;A ,;@,;Ax,;Ax,U;@,;@,Z1 +AR@1A@_QB}0@@@70@@@Q0@@@d%%(} IN THE PUBLIC DOMAINe$$(B}fc#(ĠɠԠC(c(ŠҠB}g##(i##(ĠҠj##(kW( WHICH PB}RINTER*( PSON9( EMINIE( ECW( ROWRITERm!(ENTER YOUR CHOICE!n@4E)4G)4N)4B}P6(@ A p @sx!!PUT DISK I/O SUBROUTINES IN PAGE FOUR CASSETTE BUFFER.B}ee162,16,169,0,157,72,3,169,0,157,73,3,32,86,228,192,0,48,9,238,31,4,208,3,238,32,4,96,104,104,96%-A$ATB}"!% !!DUMP$ IS A MACHINE LANGUAGEROUTINE THAT DOES THESCREEN DUMPIT ALSO USES THE FIRB}ST 20!!BYTES OF PAGE 1 (0100,0110)DUMP1$ IS FOR EPSON TYPES""DUMP2$ IS FOR NEC, PROWRITERcc67@,B}.PhhhhhhhϩР˅ѥϭiͭi88שϭcc67@,.PiͭiΥ) B}JJ)  q͑JJѥ8%%67Aa,.(̅ХД`cc67@,.PhhhhhB}hhϩР˅ѥϭiͭi88שϭcc67@,.PiͭiΥ)  B}JJ) q͑JJѥ8%%67Aa,.(̅ХД`!!MODE$ IS A MACHINE LANGUAGE""RB}OUTINE TO CHANGE GRAPHICS 8TO GRAPHICS MODE E",GG6.=h01eeAO ݩ֩NB}`6@!!MAIN$ IS A MACHINE LANGUAGEJ ROUTINE TO DECOMPRESS .PICTFILES AND DISPLAY THEMr|ww67@,.B}dhBDE   D     ww67A,.d!B}  XY X!  FD))   ww67A,.dB} ]GPee`/ee(e--67A,.eeB}e`##67A<A,.>:@4,##67AW<AW,.>:@4,READ DISK DIRECTORYAND STORB}E .PIC FILENAMESI&( INSERT THE PICTURE DISK.E( THEN PRESS ΠI46-@4@@B}D:*.PIC+ 6. 67A ,. +67@,.@$$7@<@,0 A`167B}@<@,.D:167@,..PIC*67@$&@,.*6-%@& @7A06-&@:B}@DNNOW GET WHICH PICTUREXTO PRINTblA +2( } ŠӠΠӠˠ5(A6-B}v-@6.7$@&@,UB-++'@&P:'@,, ? ,$@ '@%@N @B}U(  (- ))(!ENTER '0' TO CATALOG A NEW DISK9 A 5("WHICH PICTURE DO YOU WANT TO PRINTB}9"A!A 6.7$@&@, 6.-@B:,)7<,0 )67B:,%B}@,.7<,  @@!+@%@!6-?:C:,, 6-?:C:,,@ * B} РҠҠӛ4>H AR A`\.@.@@P:a2 4EB}6-C:,'(@@326.Lb2 4G6-C:,'(@@326.Lc7 4N6-C:,*(@T16B}[Q76.S0772d7 4P6-C:,*(@T16[Q76.S0772f7 6.67Ar,.+67@,.16.76B}.p 6-C:,6-C:,zΠϠҠЛ7%6-F:@,%F:@,$AV7AdAUKB}-@9,F:Ad,AU/'AAdAUK A P*6-A$@@%%*6-?:<<<, 0(B}@(@ 0(@(@ (@  B'g"@+B}" A THIS ROUTINE CHANGESTHE GRAY SCALES36-@6-@'6-@36-@B}3+@%@2!6-?:C:,,3AR@{!A@p$+&@,?A@p$+&@,]A @B}p$+&@,{A@p$+&@, (}6-@--6-F:A`,%F:Aa,$AV%As--6-F:@B},%F:@,$AV&AW-@7-@$@$%@O%%@@$@S W +B}%@@e+%@@5%@F:%@,5%@F:%@,K@x2%@&P:'B}AV,$AVK%@P:'AV,8@.@@K:8 A@x#Q*("} B}PRESS RINT OR ENU OR IEW.Q(" CHOOSE COLOR TO CHANGE. (1-4)(**(! 1 2 3 428@.B}@@K:8 A0<)@@I"@)"A?(!} PRESS ANY KEY TO STOP PRINTINGI AB}PA!!"@w)"A A B-"@)"A# A- A F$$(} BLACK = 1 2 3 4 5 = WHITEP!!(B} CHOOSE NEW SHADE. (1-5)Z33(PRESENT SHADE FOR COLOR #&@H IS _@edV"@I( )@B}.6-&@HLA@p$+&@I,V AnV"@P( )@.6-&@HLA@p$+&@IB},V AxV"@Q( )@.6-&@HLA @p$+&@I,V AV"@R( )@B}.6-&@HLA@p$+&@I,V Ai%2@A@@9-@@ = _2B}@i A1#A%#-A`Ac'"-1 1#A%#-AdAgB}'"-1 1#A%#-AhAq'"-1 1#A%#-ArAu'"-1 $DB}ATA FOR GRAY SCALES15,15,15,1510,5,10,510,0,5,0 2,0,8,0 0,0,0,0PRINTER ERROR ROB}UTINE",,($SOMETHING IS WRONG WITH THE PRINTER!,%%2@A@@6-@@  @%%2@B}J-@A T APrw)+@%@%@2)6-?:C:,,{!B}A@p$+&@,?A@p$+&@,]A @p$+&@,{A@p$+&@,-B}@A $ D:PICPRINT@( KOALA PAD / ATARI ARTIST PICTURE PRINTER F} by TED BURGER This program is a result of becoming frustrated while priF}nting pictures from the Koala Pad system. The program is written in Atari basic with many machine language subroutines. F} Some of the ML routines are my own and some of them came from other authors. At the moment I can't remember the sources. F}If you see some of your code in here, Thanks. The program supports several printers, at least Epson, Gemini, NEC, and PF}rowriter. To modify it for a different printer is very simple. You can add the printer name to the list around line 100, adF}d the first letter to the check in the same area. The lines between 800 and 900 are where the printer is set up. Add anotF}her 'IF' statement with the proper graphics control characters to set up your printer. OPERATION OF THE PROGRAM The prF}ogram will ask you for the 'picture disk', picture files must end with the '.PIC' extender. The screen will display a list F}of the files on the disk, up 38 files. You make your selection from the list. The program will load the selected picture fF}rom the disk. The picture will appear in color at first then switch to black and white. The bottom of the screen will swiF}tch to text to prompt you. Below the text block is another line of graphics, this shows the shade of gray assigned to eacF}h of the four color registers. To change the gray shade of one of the color registers, select which one 1-4. The prompt wiF}ll change and ask which shade you want. Black = 1 and white = 5. The numbers 2,3,4 will give you different shades of grayF} in order between black and white. This will allow you to set up the picture in shades of gray on the display screen. F} NOTE: if you set color 3 and 4 to the same shade, the text will not be visible but things will still work. When you getF} the picture set up the way you want it, a tap of the 'P' key will send it to the printer. The other choices you have hereF} are: 'M'enu will take you back to the list of the picture files, 'V'eiw will temporarily show you the entire graphics screeF}n just in case something important is hidden by the text block. This is a case of 'WHAT YOU SEE IS WHAT YOU GET', the graF}y scales from the screen will be duplicated on the printer. HAVE FUN TED BURGER 71376,1263 F} D