home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / sticpsrc.lzh / DOC / ATARI.ARC / ATARI.DOC next >
Encoding:
Text File  |  1988-07-15  |  11.8 KB  |  286 lines

  1. 06601030305800
  2. F0000000
  3. 9[...................................................]001
  4. êNETandBMportedtotheAtariST
  5. Ç
  6. byR.E.Janssen,PE1CHL.
  7.  
  8. TheNETandBMprogramshavebeenportedtotheAtariSTseries
  9. ofcomputers.AllmodelsoftheSTseries(260,520,1040and
  10. MEGA)arebasicallythesame,andtheprogramsshouldrunonall
  11. versions,bothwithTOSinRAM,andtheoriginalorthe"blitter
  12. TOS"inROM.TheprogramshavebeencompiledusingMarkWilliams
  13. Cversion2.1.7.Othercompilersrequirequitesomechangesto
  14. manymodules,soIrecommendstickingwithMWifyouwantto
  15. recompilethepackage.
  16.  
  17.  
  18. êChangesmadewhenportingtotheAtariSTÇ
  19.  
  20. -BecausetheAtariSTissoldwiththeGEMDesktopasthe
  21. primaryuserinterface,no"standard"commandprocessor
  22. existsthatcanbecalledfromNETandBMwhenasubshellis
  23. requested.However,severalcommandprocessorsexist,both
  24. availablecommerciallyandinthepublicdomain.Therefore,
  25. avariantofthe"shell"commandhasbeenimplementedin
  26. NET,thatallowsyoutosetthepathnameoftheprogramto
  27. beexecutedasacommandprocessor.Thesyntaxis:
  28.  
  29. shell=pathname
  30.  
  31. Thisstatementcanbeincludedintheautoexec.netfile.
  32. Example:
  33.  
  34. shell=c:\toolkit\command.tos
  35.  
  36. NoequivalentsyntaxhasbeenbuiltinBM,Ithingthe
  37. configurationfileaccessroutinesshouldbemadesomewhat
  38. moresophisticated,beforeaddingtoomanyoptional
  39. reconfigurationcommands.Workstilltobedone...
  40.  
  41. -Thisimplementationonlyknowsabout"asy"hardware.2
  42. portsaredefined,onebeingtheRS232serialport,andthe
  43. othertheMIDIserialport.BothcanbeusedforKISSor
  44. SLIPlinks.
  45.  
  46. TheRS232portcanbeattachedwith:
  47.  
  48. attach asy 0 0 ax25 ax0 2048 256 9600
  49.  
  50. Thisattachestheportforax25(KISS)operation,asdevice
  51. ax0,witha2048bytebuffer,anMTUof256,andabaudrate
  52. of9600bauds.
  53. TheRS232portisaccessedusing"hardwareaddress"0.This
  54. doesnotrepresentthephysicallocationofthechip,but
  55. ratherthedevicenumberusedintheAtariIorec()call...
  56. Validbaudratesare300,600,1200,1800,2000,2400,3600,
  57. 4800,9600and19200bauds.
  58. Ç
  59. TheMIDIportcanbeattachedwith:
  60.  
  61. attach asy 2 0 ax25 ax1 2048 256 9600
  62.  
  63. ThisportusesthesameparameterstructureastheRS232
  64. portattachcommand.The"hardwareaddress"is2.
  65. Somerestrictionsapplytotheusageofthisport:
  66.  
  67. -Thebaudrateisonlysettableto7812or31250bauds.A
  68. simplehardwaremodificationmakesitpossibleto
  69. changethisto9600or38400bauds,butthesoftware
  70. can'ttellthedifference,soitwillblindlyaccept
  71. all4mentionedvaluesforthebaudrate,assumingthat
  72. youinstalledthemodifyouspecify9600or38400.
  73.  
  74. -Ofcourse,theinterfaceonthisportisa5mAcurrent
  75. loop,soyouwillneedanexternalconversioncircuit
  76. ifyouwanttoconnectthistoanRS232TNC.Please
  77. note,that"currentON"onthemidiportcorrespondsto
  78. apositivevoltageontheRS232pins,thisisreverse
  79. from"normal"currentloopoperationasusedwith
  80. teleprintersandthelike.
  81.  
  82. -Thetransmitroutineonthisportdoesnotuse
  83. interrupts,butitbusy-waitsforeachcharacterina
  84. frame.Thisisbecausetheinterrupthandlerforthe
  85. serialchipusedonMIDIissharedwiththe
  86. keyboard/mouseinterrupthandler,anditdoesnot
  87. supporttransmitterinterrupts....
  88.  
  89. TheMIDIportCANbeusedtolinktwoSTsusingSLIP,andno
  90. hardwaremodsarenecessary.Onlyconnect4wiresbetween
  91. theMIDIportsonthemachines(fromMIDIINtoMIDIOUTand
  92. viceversa)andusethefollowingattachcommand:
  93.  
  94. attach asy 2 0 slip sl0 4096 576 31250
  95.  
  96. -    End-of-lineconventions.Someextraworkhasgonein
  97. attemptstocorrecttheend-of-linesequencesgeneratedby
  98. theRECORDcommandsformAX.25andTELNET,andtheASCII
  99. typefiletransferfromFTP.AsobservedbyPhil,thewhole
  100. messofCR/LFhandlinghasbeenneatlyavoidedbyUNIX,but
  101. wepoorsoulsusingMS-DOS(orAtariTOS)needtosolvethe
  102. probleminsomeway.OntheMarkWilliamscompilerforthe
  103. ST,thedefaultopenmodeforfilesis"textmode",andin
  104. thiscaseall\ncharactersgettranslatedtoCR/LFpairsin
  105. thefile,andvice-versa.ThismeansthatwritingCR/LFin
  106. textmoderesultsinCR/CR/LFinthefile.Youcanopenthe
  107. filein"binarymode"(using"wb"inthefopencall),and
  108. thecharacterswillbewrittenuntranslated.Thisseemsto
  109. bemorelikethebehaviourofAztecC,soIusedthebinary
  110. modeasatemporaryfixfortheproblemswithRECORDmode,
  111. butthisshouldreallybefixedinthecodeatthe
  112. Çappropriateplace.IdidsomeworkinthecodeforAX.25
  113. mode,butcommenteditoutfornow.TheTELNETcodestill
  114. needstobeconverted.IFyouwanttogetthiscorrectin
  115. theUNIXversion,itshouldbefixedbecauseUNIXdoesnot
  116. knowabout"filemodes"andalwayswriteswhatyoutellit
  117. towrite...
  118.  
  119. -BMfilenamingconventionshavebeenchangedtoallowuseof
  120. theprogramonnon-DOSenvironments,usingthesameapproach
  121. asintheNETprogram(871225release).Module"files.c"is
  122. nowalsousedbyBM,andindefinesallfilenamesand
  123. directorynamesusedintheprogram.Thebm_rc[]definition
  124. hasbeenaddedforthispurpose.Pleasenote,that
  125. directorynamesalsoincludethetrailing\or/character,
  126. thisisbecausetheseparatorcharacteruseddiffersbetween
  127. DOS,UNIXandAtariTOS.Thisalsomeansthatthesyntaxof
  128. the"smtp"commandintheBM.RCfilehaschanged,itnow
  129. shouldalsoincludethetrailingseparator.Infact,the
  130. smtpcommandisnotreallynecessarybecausethedefault
  131. valueisnowequaltothevalueusedbyNET.
  132. ê
  133. Ç-DIRUTIL.ChasbeenrevisedtorunonbothMS-DOSandAtari
  134. TOS,andsomecleanuphasbeendoneonthecode.Now,itis
  135. possibletodefinethecharacterusedtoseparatethedigits
  136. inlargenumbers,bycompilingwith-DTHSEP="'.'"
  137.  
  138. -    BMnowusesNET'sversionofDIRUTIL.C.Thismodulecould
  139. besplituptoavoidinclusionofdirectoryprintroutines.
  140.  
  141. -AnextraoptionhasbeenaddedtoBM.RC:
  142.  
  143. tzTIM
  144.  
  145.      setsthetimezoneusedindate/timestringsproducedbyBM.
  146. Thiswasnecessarybecausenostandardwayhasbeendefined
  147. toaddvaluestothetop-levelenvironmentoftheST
  148. operatingsystem,sothegetenv()wouldalwaysfailifyou
  149. startedBMfromthedesktop.Now,youcandefineyourlocal
  150. timezoneinBM.RC(shouldbe3characters,e.g.GMT,WET).
  151.  
  152. -    ChangesweremadetoGLOBAL.HbecauseofbugsintheMark
  153. WilliamsCcompiler:
  154. 
  155. -theconstruct'x>>16'confusestheoptimizer,
  156. thereforethehiworddefinehasbeenchangedtoa
  157. function,andtheshiftiscodeddifferentlyinthis
  158. function(atari.c)
  159.  
  160. -thecompilerdoesn'tlikevoidpointerstobefurther
  161. typecasted.(asin:(structmbuf**)(void*)0)
  162. therefore,thegeneralpurposepointerhasbeenchanged
  163. tochar*type.
  164.  
  165. -STILLEXPERIMENTAL:Desktopaccessoryversion
  166. ÇI'mworkingonaversionofNETthatcanrunasadesktop
  167. accessoryontheST.Thecodeisincludedwiththis
  168. version,andcanbecomiledbydefiningtheGEMDESK
  169. preprocessorsymbol.Anentryinthemakefile,NET.ACC,
  170. providesforthis.Theresultingprogramstillhassome
  171. problems.BecarefulwhenrunningprogramswithNET.ACCin
  172. thebackground...
  173. Theaccessoryversiondefinesawindowthatcanbepoppedup
  174. byselectingtheentryintheDeskmenu.Itwillalsobe
  175. poppedupautomaticallywhentheNETprogramprintsabell,
  176. usuallywhenanewconnectioncomesin.
  177. ThefilesearchalgorithmisdifferentfromtheTOSversion:
  178. onstartup,aftera5seconddelaytoallowotherprograms
  179. toinitialize,theprogramsearchesthedriveslookingfora
  180. file\NET\AUTOEXEC.NET,andassumesthedriveonwhichthis
  181. fileisfoundwillalsocontainallotherfiles.(This
  182. mechanismisonlyusedonhard-disksystems).
  183. Oneoftheproblemsoftheaccessoryversionisthatthe
  184. currentdirectorywillbechangedwhentheforeground
  185. programdoesaDsetpathfunction,andyoumayconfusethe
  186. foregroundprogramwhenyouchangedirectoryinthe
  187. accessory.Thisisbecauseonlyone'currentdirectory'is
  188. keptinthesystem.
  189.  
  190. ê
  191.  
  192. InstallationonanAtariSTÇ
  193.  
  194. TheAtariSTimplementationassumesthefollowingdirectory
  195. structure:
  196.  
  197. Onthedisk(anydisk-canbefloppy,harddiskorRAMdisk)a
  198. directorynamed"net"mustbecreateddirectlyundertheroot
  199. directory.Thisdirectorycontains:
  200.  
  201. \net:
  202. autoexec.net        -NETconfigurationfile
  203. bm                  -(directorycontainingsourcesforBM)
  204. bm.rc               -BMconfigurationfile
  205. bm.tos              -theBMprogram
  206. des                 -(directorycontainingDESsources)
  207. doc                 -(directorycontainingdocumentation)
  208. ftpusers            -FTPconfigurationfile
  209. hosts.net           -IPconfigurationfile
  210. mail                -directoryforincomingmail
  211. mbox                -(defaultmailboxfileforBM)
  212. mqueue              -directoryforoutgoingmail
  213. net.log             -(NETlogfile)
  214. net.tos             -theNETprogram
  215. rqueue              -directoryusedformailrouting
  216. src                 -(directorycontainingNETsources)
  217. tmp                 -directoryfortemporaryfiles
  218.  
  219. Itemsinparenthesesareoptional,orwillbecreated
  220. Çautomaticallywhenyouruntheprograms.Thecontentsofthe
  221. mentioneddirectoriesare:
  222.  
  223. \net\bm:
  224. bm.h                -BMsourcefiles
  225. bmutil.c            -
  226. header.c            -
  227. header.h            -
  228. main.c              -
  229. makefile            -
  230. send.c              -
  231. version.c           -
  232. +objectfiles,whenthepackagehasbeencompiled
  233.  
  234. \net\des:
  235. ...DESsourcefilesanduuencode/uudecode...
  236.  
  237. \net\doc:
  238. ...Documentationfiles...
  239.  
  240. \net\mail:
  241. yourname.txt        -createdbySMTPserverforincomingmail
  242.  
  243. \net\mqueue:
  244. sequence.seq        -sequencenumberforoutgoingmail,
  245. maintainedbyBM
  246.  
  247. \net\src:
  248. ...SourcesforNET...
  249.  
  250. \net\tmp:
  251. ...Tempfilescreatedhere,anyfilesremainingafterexitfrom
  252. NETandBMcanberemoved...
  253.  
  254.  
  255.  
  256. Changestotheabovedirectorystructurecanbemadeonlywhen
  257. theNETsourcefile,files.c,isedited,andeverythingis
  258. recompiled.
  259. Toinstallthepackageonadisk,makeallmentioneddirectories
  260. (e.g.usingthe"NewFolder"commandonthedesktop),andcopy
  261. thefilesintheproperdirectory.
  262. TorunNETorBM,double-clickontheicon,ortypeNETorBM
  263. whileinsomecommandprocessor.Whenusingacommandprocessor,
  264. makesurethecurrentdiskisthediskonwhichthe\NET
  265. directorycanbefound.
  266.  
  267.  
  268.  
  269.  
  270. êExampleconfigurationfileAUTOEXEC.NET,usedonmyownmachineÇ
  271.  
  272. [nowdistributedassomeseparatefiles]
  273.  
  274. êExampleBM.RCfrommymachineÇ
  275.  
  276. ; configuration file for Bdale's Mailer...
  277. host pe1chl.PA_UTnet.ampr
  278. user rob
  279. fullname R.E. Janssen (PE1CHL)
  280. reply rob@pe1chl
  281. edit c:\toolkit\tempus.prg
  282. ; smtp d:\net\mail\
  283. maxlet 100
  284. tz WET
  285.  
  286.