home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / palmtops / newton / faq / development < prev    next >
Encoding:
Internet Message Format  |  2002-10-01  |  23.0 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news-out.cwix.com!newsfeed.cwix.com!newsfeed.vmunix.org!fr.clara.net!heighliner.fr.clara.net!proxad.net!feeder2-1.proxad.net!news1-1.free.fr!not-for-mail
  2. From: Paul Guyot <spam@kallisys.com>
  3. Organization: Kallisys
  4. User-Agent: PostFAQ Script 2.0
  5. Mail-Copies-To: never
  6. Newsgroups: comp.sys.newton.misc,comp.sys.newton.programmer,comp.answers,news.answers
  7. Followup-To: comp.sys.newton.misc,comp.sys.newton.programmer
  8. Subject: Newton FAQ: Part VII - Development [9/9]
  9. Summary: This posting gives answers to most questions concerning the Newton
  10.  Message Pads. Please read before posting to comp.sys.newton.* newsgroups.
  11.  This part includes links to development solutions & documentations for all
  12.  platforms and languages.
  13. Message-ID: <palmtops/newton/faq/development-20021001@enki.continuity.cx>
  14. References: <palmtops/newton/faq/index-20021001@enki.continuity.cx>
  15. Supersedes: <palmtops/newton/faq/development-20020901@enki.continuity.cx>
  16. X-Disclaimer: Approval for *.answers is based on form, not content.
  17. Approved: news-answers-request@MIT.EDU
  18. Date: 01 Oct 2002 04:00:30 GMT
  19. Lines: 571
  20. NNTP-Posting-Date: 01 Oct 2002 06:00:30 MEST
  21. NNTP-Posting-Host: 209.212.89.162
  22. X-Trace: 1033444830 news1-1.free.fr 28751 209.212.89.162
  23. X-Complaints-To: abuse@proxad.net
  24. Xref: senator-bedfellow.mit.edu comp.sys.newton.misc:164897 comp.sys.newton.programmer:30076 comp.answers:51490 news.answers:238731
  25.  
  26. Archive-name: palmtops/newton/faq/development
  27. Posting-Frequency: monthly
  28. Last-modified: 2002/10/01
  29. URL: http://www.cat2.com/newton/Newton-FAQ/newton-faq-development.html,
  30.  http://www.geocities.com/newtonresurrection/newton-faq-development.html,
  31.  http://www.thisoldnewt.net/html/FAQ/newton-faq-development.html,
  32.  http://www.chuma.org/newton/faq/newton-faq-development.html,
  33.  http://www.guns-media.com/mirrors/newton/faq/newton-faq-development.html,
  34.  http://www.splorp.com/newton/faq/newton-faq-development.html
  35. Version: This is the October 2002 update
  36. Maintainer: Steve Weyer <weyer@kagi.com>,
  37.  Peter Rand <rand_peter@hotmain.com>,
  38.  Sean Luke <seanl@cs.umd.edu> and Paul Guyot <pguyot@kallisys.net>
  39.  
  40. PART VII: Development
  41.      
  42. * A) Environments
  43.   + 1) What are Apple's Tools to develop software on the Newton, and where
  44. can I find them?
  45.     x a) Apple NTK: The Newton Toolkit.
  46.     x b) Apple NCT: The Newton C/C++ Toolkit.
  47.   + 2) What are the solutions to develop directly on my Newton?
  48.     x a) software on Newton OS: NDE by Steve Weyer
  49.     x b) software on Newton OS: nsScribe by Prism Research
  50.     x c) A powerful tool: View Frame by Jason Harper
  51.   + 3) Are there any languages other than NS/C++ with NCT?
  52.     x a) NS Basic
  53.     x b) Lisp
  54.     x c) Assembler
  55.     x d) Is Java available on the Newton?
  56.     x e) C/C++ on other platforms
  57.   + 4) Are there any other tool to develop Newton Packages?
  58. * B) Documentation
  59.   + 1) Where can I find documentation?
  60.     x a) Apple standard manuals
  61.     x b) Apple additional docs
  62.     x c) Articles and additional documentation
  63.     x d) The Newton Bowels Project
  64.   + 2) Wow, that's a huge list! Where do I start?
  65. * C) Sample Code
  66.   + 1) Sources for Apple's Sample Code modules
  67.   + 2) The list of Apple's Sample Code modules
  68. ---------------------------------------------------------------------------
  69.  
  70.  
  71. A) Environments
  72.  
  73.  
  74. 1) What are Apple's Tools to develop software on the Newton, and where can
  75. I find them?
  76.  
  77.  
  78. a) Apple NTK: The Newton Toolkit.
  79.  
  80. Allows you to develop programs in NewtonScript on MacOS or Windows and to
  81. install them (that's cross development). There is a cross debugger for
  82. Newton Script programs.
  83. You can find it on Apple's FTP site: 
  84. <ftp://ftp.apple.com/developer/Newton_Development/tools/ntk/>
  85. It was also on Planet Newton and it's now on the mirror on UNNA:
  86. <http://guelph.unna.org/mirrors/download.planetnewton.com/download/programm
  87. ing/appledesktoptools.htm>
  88. It's also included into NewtonDev, an archive of essential development
  89. tools and documentation for MacOS (and Basilisk II) which is on UNNA:
  90. <http://www.unna.org/unna/development/NewtonDev/>.
  91. NTK and MacOS X 10.1. NTK might work on MacOS X under classic if it cannot
  92. find a serial port. To fix this problem or to use NTK over EtherTalk under
  93. MacOS X (this is the only way), you might need to create/define a serial
  94. port.
  95. To do this, you can use PortShare Demo
  96. <http://www.stalker.com/pub/PortShareDemo.sit.hqx>
  97. * Install "PortShare Demo"
  98. * Boot under 9.x. Open PortShare Demo control panel and create a new port.
  99. * Start NTK and select this port
  100. * Boot under X. NTK does work (under Classic).
  101. Or you can use TCPSerial (which is freeware) and can be found here:
  102. <http://tucows.sympatico.ca/mac/preview/205826.shtml>
  103.  
  104. b) Apple NCT: The Newton C++ Toolbox.
  105.  
  106. The Newton C++ Toolbox is divided into several parts available at various
  107. places on the internet:
  108. The core archive was avaible at Planet Newton, it's now at the mirror on
  109. UNNA:
  110. <http://guelph.unna.org/mirrors/download.planetnewton.com/download/programm
  111. ing/applec++tools.htm>.
  112. You can find additional SDK to design drivers (DDK) on Apple's FTP site:
  113. <ftp://ftp.apple.com/developer/Newton_Development/>.
  114. There is the Lantern DDK. It is the DDK for Ethernet cards drivers. It
  115. includes Hammer and Newtsbug, the low level debuggers. It can be found on
  116. UNNA: <http://www.unna.org/unna/apple/development/DDKs/FullLanternDDK.sit>.
  117. NCT requires MPW which only runs on MacOS:
  118. <ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-PR
  119. _Images/MPW-PR.img.bin> (August 1999 distribution is 18.5 megs).
  120. You can find all that without MPW and a Basilisk II image with MPW into
  121. NewtonDev which is on UNNA:
  122. <http://www.unna.org/unna/development/NewtonDev/>. NewtonDev includes
  123. additions and bug fixes of the NCT. It also includes NTK, other tools and
  124. the most important documentation.
  125.  
  126. 2) What are the solutions to develop directly on my Newton?
  127.  
  128.  
  129. a) NDE by Steve Weyer
  130.  
  131. There is Steve Weyer's Newton Dev Environment:
  132. <http://www.kagi.com/weyer/#NewtDevEnv>. It allows you to build packages
  133. directly on the Newton.
  134. Here is a comparison between NTK and NDE I made. It only involves my [PG]
  135. responsibility.
  136. * NDE:
  137.   + pros:
  138.     x develop directly on your Newt
  139.     x save applications as packages
  140.     x play with the turtle
  141.     x easier to incorporate help books (typically created with Newt's Cape)
  142.     x continued support from Steve
  143.   + cons:
  144.     x no graphical interface to develop your pro GUI, but VisualNewt (from
  145. Serg Koren) provides a graphical layout editor.
  146. <http://www.visualnewt.com/>
  147.     x direct text input for frames
  148.     x no way to compile C++ code on your Newton (but you can import
  149. libraries)
  150.     x no way to compile "native" Newton Script (but you can import such)
  151.     x no debugger (but you can use viewframe)
  152.   + purpose: all software that does not require resources (you must import
  153. them) and too complex GUI. But you can also use Newt's Cape to write
  154. form-based applications.
  155. * NTK:
  156.   + pros:
  157.     x graphical interface (like RAD) allow C++ code with NCT.
  158.     x allow native functions.
  159.     x debugger (with breakpoints and steps) is available (for Newton Script
  160. code only)
  161.   + cons:
  162.     x cross development (i.e. develop on your Mac or your Windows device)
  163.     x discontinued software
  164.     x can be exported from MacOS to Windows only
  165.   + purpose: all software, including these that require big resources and
  166. complex GUI.
  167.  
  168. b) software on Newton OS: nsScribe by Prism Research
  169.  
  170. Many software programs allow you to execute NewtonScript. One which is the
  171. easiest to use is nsScribe: it allows you to execute code from the Notepad,
  172. the Assistant or Works.
  173. <http://members.aol.com/NewtsPrism/nsScribe/nsScribe.sit.hqx>
  174.  
  175. c) A powerful tool: View Frame by Jason Harper
  176.  
  177. View Frame is a very powerful tool for debugging directly on the Newton,
  178. inspect the Newton environment. However, it does not allow you to set
  179. breakpoints or to step.
  180. <http://pobox.com/~JasonHarper>
  181.  
  182. 3) Are there any other languages than NS?
  183.  
  184.  
  185. a) NS Basic Softwares
  186.  
  187. <http://www.nsbasic.com>NS Basic/Newton is a complete implementation of the
  188. BASIC programming language, with extensions to take advantage of the rich
  189. Newton OS. The product is commercial and fully supported, with many
  190. thousand users worldwide. (George Henne)NewtCard is a hypercard-like
  191. environment for the Newton. It allows you to manage text and pictures as a
  192. collection of cards. It's easy to add text fields, check boxes, buttons and
  193. lots more to the cards. Buttons can be scripted using NS Basic/Newton.
  194. NewtCard is also commercial and fully supported. (George Henne)
  195. Try the demo: <ftp://ftp.nsbasic.com/pub/NewtCard_files/NewtDemo.sit>
  196.  
  197. b) Lisp
  198.  
  199. * LittleLisp by David Benn
  200. <http://www.adelaide.net.au/~dbenn/LittleLisp/LittleLispDocs/>
  201.  
  202. * Lisp by by Jonathan Millen <mailto:JKMillen@aol.com>
  203. [any homepage?]
  204.  
  205. c) Assembler
  206.  
  207. * Roger Milne <mailto:roger@barking-dog.com> succeeded in writing programs
  208. (such as his MOD Player) in Assembly language on his PC with a GNU
  209. assembler.
  210. He made a page explaining how he proceeded:
  211. <http://roger.trideja.com/newton/newtonasm.html.>
  212. See the warning about C/C++ on other platforms below. (VIIA3e)
  213. * There is also the Compiler-Formerly-Known-As-ChARM (CFKAC) by Prism
  214. Research <http://members.aol.com/NewtsPrism/> It allows to compile and
  215. disassemble code directly on the Newton using nsScribe.
  216.  
  217. d) Is Java available on the Newton?
  218.  
  219. Sean Luke and Steve Weyer implemented Waba which is a subset of Java.
  220. Currently, the software is in alpha release. You can find the binaries and
  221. the sources on Sean's website: <http://www.cs.umd.edu/users/seanl/newton/>
  222.  
  223. e) C/C++ on other platforms
  224.  
  225. C++ and other compiled languages can basically be used in two ways: as
  226. native functions and for P-Classes which are used in drivers. The Newton
  227. C++ Toolbox is more than a compiler and a linker. It also includes tools to
  228. use this C++ code, either to convert a link output to a Native Module, a
  229. file used by NTK or to generate and pack a P-Class.
  230. All the documentation required to make a tool to convert from link output
  231. to NTK is available, but no such tool exists. Therefore, with a C/C++
  232. suite, you will have to use NCT anyway. The other solution is to use Roger
  233. Milne's tool. <http://roger.trideja.com/newton/newtonasm.html>.
  234. The format of the P-Class encapsulated programs is unknown.
  235. Finally, the low level debuggers (Newtsbug and Hammer) only run on MacOS.
  236. Apparently, they are based on RDI, but nobody succeeded to write a
  237. compatible low level debugger.
  238. There are several C/C++ compilers for ARM, here are just the most common
  239. ones:
  240. * The ARM SDT from arm: <http://www.arm.com/>
  241. * GNU C/C++ compiler for Intel based computers (apparently, the Sparc tools
  242. archive is corrupted) <ftp://ftp.intel.com/pub/i960/XScale/SA1tools/>
  243. BTW, you can use NCT on Basilisk II which you'll find at
  244. <http://www.uni-mainz.de/~bauec002/B2Main.html>. It's a Mac 68K emulator
  245. for Win NT, BeOS, UNIX with X11 and AmigaOS.
  246.  
  247. 4) Are there any other tool to develop Newton Packages?
  248.  
  249. Yes, there is Pinehill AppGen that can be found on UNNA:
  250. <http://www.unna.org/unna/development/AppGeneratorV3/>.
  251. It lets you create simple data collection applications on your Newton and
  252. export the data to a PC (using PineHill Mover).
  253. ---------------------------------------------------------------------------
  254.  
  255.  
  256. B) Documentation
  257.  
  258.  
  259. 1) Where can I find documentation?
  260.  
  261.  
  262. a) Apple standard manuals
  263.  
  264. Apple published a book called findinfo.pdf
  265. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  266. crobat/FINDINFO.PDF>
  267. I reproduce here the content of this book with added links. I removed
  268. comments about the CD where this book was originally. DV=DocViewer for
  269. MacOS. You need both the file and the index.
  270. There are several sources of information on the Newton Platform APIs and
  271. how to use them. Although the Newton Programmers Guide is the first source,
  272. it is not necessarily the most complete or up to date. There are a number
  273. of additional places you can search for information on the Newton Platform
  274. APIs.
  275. Below is a list of where to look. The order of items is also a rough order
  276. of searching, i.e., check the NPG, then the OS 2.1 documentation, then the
  277. Q&A's, and so on.
  278. * Newton Programmers Guide 2.0 & Newton Programmers Reference 2.0
  279. This is the primary source of information. Start here when searching. All
  280. the other sources of documentation supplement this guide.
  281.   + Programmers Guide:
  282.     x [DV-idx, 2545 Kb]
  283. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  284. ocviewer/NProgRef.idx.sea.hqx>
  285.     x [DV, 4269 Kb]
  286. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  287. ocviewer/NProgRef.sea.hqx>
  288.     x [PDF, ZIP, 2844 Kb]
  289. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  290. crobat/progref.zip>
  291.   + Programmers Reference:
  292.     x [PDF, ZIP, 3369 Kb]
  293. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  294. crobat/progguid.zip>
  295. * Newton Programmers Guide 2.1
  296. This is a supplement to the Newton Programmers Guide/Reference. It is the
  297. main source for the new APIs in Newton OS 2.1. Like NPG, this is a primary
  298. source of information.
  299.   + [PDF, Mac, 1392 Kb]
  300. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  301. crobat/NPG21.SEA.HQX>
  302. * NewtonScript Reference
  303. This is the primary reference for the NewtonScript language and related
  304. support functions.
  305.   + Newton Script Reference (nscriptref): [What's the difference between
  306. them? - I only have one]
  307.     x [DV-idx, 449 Kb]
  308. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  309. ocviewer/NScriptRef.idx.sea.hqx>
  310.     x [DV, 1295 Kb]
  311. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  312. ocviewer/NScriptRef.sea.hqx>
  313.     x [PDF, ZIP, 763 Kb],
  314. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  315. crobat/nscriptr.zip>
  316.   + Newton Script Reference (nsref):
  317.     x [DV-idx, 442 Kb]
  318. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  319. ocviewer/NSReference.idx.sea.hqx>
  320.     x [DV, 1275 Kb]
  321. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  322. ocviewer/NSReference.sea.hqx>
  323.     x [PDF, ZIP, 872 Kb]
  324. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  325. crobat/NS_REF.ZIP>
  326. * Q&A's (Q_AND_AS)
  327. New and updated information on APIs and extra explanation. This is one of
  328. the best sources of information apart from the Newton Programmers Guide.
  329. They can be found on UNNA:
  330. <http://www.unna.org/unna/apple/documentation/developer/QAs-2.x/>
  331. * Platform File Functions (PLATFUNC)
  332. This contains documentation on APIs that are included as part of the
  333. Platform File. The APIs are either new APIs or replacements for ones
  334. already in the ROM.
  335. * Sample Code (SAMPCODE)
  336. In addition to showing you how to use particular features, some pieces of
  337. sample code contain interim documentation.
  338. * NTK 1.6 User's Guide (WINNTK16.PDF)
  339. In addition to documenting Newton Toolkit, this guide also contains
  340. valuable information on both debugging your application and performance
  341. tuning.
  342.  
  343. b) Additional Apple docs
  344.  
  345. Apple published additional books. These can be found on Newton Gurus'
  346. sites.
  347. * Newton Formats (1.1) describes the format of packages and stream objects.
  348. It can be found on David Arnold site:
  349. <http://staff.dstc.edu.au/david-arnold/newton/dev/newton-formats.pdf> And
  350. on UNNA:
  351. <http://www.unna.org/unna/apple/documentation/developer/NewtonFormats1.1.pd
  352. f>
  353. * Newton Toolkit 1.6.x File Formats describes the format of NTK files for
  354. both MacOS and Windows.
  355. It can also be found on David Arnold site:
  356. <http://staff.dstc.edu.au/david-arnold/newton/dev/ntkformats.pdf>
  357. * Newton Interconnect Port Hardware Specification for the MessagePad.
  358. It can be found on UNNA
  359. <http://www.unna.org/unna/development/documentation/interconnect/>
  360.  
  361. * Newton OS 2.1 Engineering Documents
  362.   + [PDF, 559 Kb]
  363. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  364. crobat/engdoc21.zip>
  365. * Newton Toolkit Enhancements
  366. * Newton OS 2.1 Miscellaneous
  367. * Newton 2.0 User Interface Guidelines
  368.   + [DV-idx, 604 Kb]
  369. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  370. ocviewer/UI_Guidelines.idx.sea.hqx>
  371.   + [DV, 1828 Kb]
  372. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/d
  373. ocviewer/UI_Guidelines.sea.hqx>
  374.   + [PDF, 1340 Kb]
  375. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  376. crobat/uiguidl.zip>
  377.   + [PDF, 1761 Kb]
  378. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  379. crobat/UI_GUIDE.ZIP>
  380. * User Interface Guidelines for Newton OS 2.1 Keyboard Enhancements
  381.   + [PDF, ZIP, 327 Kb]
  382. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  383. crobat/KEYBDUI.ZIP>
  384.   + [PDF, ZIP, 277 Kb]
  385. <ftp://ftp.apple.com/developer/Newton_Development/tech_info/documentation/a
  386. crobat/keybdui.zip>
  387.  
  388. c) Articles and additional documentation
  389.  
  390. There were a lot of articles written by Apple and third party developers.
  391. They were published in the Newton Technology Journal, in the PIE Developers
  392. and other journals.
  393. * The Newton Technology Journal was a review for both general and developer
  394. information. Issues from February 1995 (I,1) to March 1997 (III,2) were
  395. published. They can be found on UNNA:
  396. <http://www.unna.org/unna/apple/documentation/developer/NewtonTechnologyJou
  397. rnal/> David Arnold has also them all:
  398. <http://staff.dstc.edu.au/david-arnold/newton/dev/Newton%20Technology%20Jou
  399. rnal/>
  400. * Some articles by the Newton ToolBox Group can be also found. These were
  401. published in various places. They can be found on UNNA:
  402. <http://www.unna.org/unna/apple/documentation/developer/Articles/>       
  403.   David Arnold has also them all:
  404. <http://staff.dstc.edu.au/david-arnold/newton/dev/Articles/>
  405. * You can also look into develop issues, on Apple's website:
  406. <http://developer.apple.com/dev/techsupport/develop/>
  407.  
  408. * You can also look into Handheld Systems Magazine. Some articles were
  409. published there. The issues used to be found on UNNA, they might be back in
  410. some time. They used to be on cdpubs website, but they finally decided to
  411. charge for it. Note that all these articles can be found elsewhere. Some
  412. were archived by web.archive.org:
  413. <http://web.archive.org/web/*re_pd_/http://cdpubs.com*>
  414.  
  415. * There is the articles "Ask Dr. Llama" in the form of Q&As
  416. David Arnold has them all (thanks David, once again)
  417. <http://staff.dstc.edu.au/david-arnold/newton/dev/Dr%20Llama/>
  418. * If you're interested in articles explaining how the NewtonOS or the
  419. NewtonScript language works, you can go to Walter Smith's website
  420. <http://wsmith.best.vwh.net/works.html>. Walter Smith is the father of
  421. NewtonScript and is responsible for other great parts of the NewtonOS.
  422. * Finally, there are all the programming hints from the newton developer
  423. website.
  424. [I'm sorry I haven't them]
  425. You can also consult the documentation concerning the processor (ARMs).
  426. Please note that this is useless to the NewtonScript developer. It is only
  427. useful for assembly development and sometimes C++ development.
  428. * The ARM Architecture Reference Manual by D.Jaggar. You can order the
  429. paper version from any good (internet) library. You can get the electronic
  430. version by ordering a free evaluation copy of the ARM Development Suite at
  431. <http://www.arm.com/sitearchitek/devtools.ns4/html/ads_eval?OpenDocument>.
  432. You'll find in this book a (simple) diagram of the Runt based Message Pads.
  433. There are other reference manuals for the ARM such as the ARM
  434. System-on-Chip Architecture by S.Furber and The ARM RISC Chip, A
  435. Programmer's Guide by A. van Someron & C. Atack.
  436. * The ARM SDT Reference Manual. This manual isn't a manual to the processor
  437. but a manual to the ARM SDT which the Newton C++ Toolbox is a MPW port of.
  438. The SDT changed a lot, but it's there that you'll find informations about
  439. the compiler's behavior (e.g. data size).
  440. * You can find additional documentation on ARM's website. They are not very
  441. interesting for Newton development, though, except the Quick reference
  442. guide. <http://www.arm.com/Documentation/>.
  443. * Intel has several application notes and technical documents about the
  444. StrongARM, including one on the memory management (one of the sources about
  445. the ARM MMU). They can be downloaded from the Intel's developer website:
  446. <http://developer.intel.com/design/strong/>
  447.  
  448. d) The Newton Bowels Project
  449.  
  450. The Newton Internals are not documented. But several developers made
  451. discoveries when digging the system to interface with it. There is a
  452. repository for these documents and thrill seekers tools, called The Newton
  453. Bowels Project. It can be found on Kallisys website:
  454. <http://www.kallisys.com/newton/bowels/>.
  455.  
  456. 2) Wow, that's a huge list! Where do I start?
  457.  
  458. My advice is to start with the examples. Try the examples that comes with
  459. NDE or those on Apple's FTP site.
  460. You can also try the interactive tutorial book NewtATut to create a simple
  461. app: <http://www.kagi.com/weyer/#NewtATut>
  462. ---------------------------------------------------------------------------
  463.  
  464.  
  465. C) Sample Code
  466.  
  467.  
  468. 1) Sources for Apple's Sample Code modules
  469.  
  470. Most of them, in their latest version, can be found on UNNA at:
  471. <http://www.unna.org/unna/apple/development/Examples/>.
  472.  
  473. 2) The list of Apple's Sample Code modules
  474.  
  475. There is a list on Rochester FTP. It has the advantage to include keywords
  476. and description.
  477. * By category:
  478. <ftp://ftp.cif.rochester.edu/pub/newton/programming/dev_tools_from_apple/Ne
  479. wton_Development/sample_code/*Samples_by_Category.txt>
  480. * By name:
  481. <ftp://ftp.cif.rochester.edu/pub/newton/programming/dev_tools_from_apple/Ne
  482. wton_Development/sample_code/*Samples_by_name.txt>
  483. However, it is not complete, with latest versions. Here is a more complete
  484. list:
  485. * Application Design
  486.   + Altered States-6
  487.   + ChezDTS-2
  488.   + DeletionScript-2
  489.   + ExtensionTap-1
  490.   + protoFSM-7
  491.   + True Grid-5
  492. * Controls and Other Protos
  493.   + Gauges-2
  494.   + Glancing-2
  495.   + NouveauScroll-2
  496.   + protoVertSlider-1
  497.   + RadioCluster-3
  498. * Data Storage
  499.   + SoupTour-4
  500. * Desktop Connectivity
  501.   + CompNRun-1
  502.   + DILette-Mac-2
  503.   + DILette-Windows-2
  504.   + Mini-MetaData-1
  505.   + SoupDrink-Mac-4
  506.   + SoupDrink-Newton-4
  507.   + SoupDrink-Windows-3
  508.   + SuiteP-Mac-2
  509.   + SuiteP-Windows-2
  510. * Developer Tools
  511.   + MonacoTest-5
  512.   + MooUnit-1
  513. * Digital Books
  514.   + Beyond Help-5
  515.   + Book Maker Examples-1
  516.   + BookSample-4
  517. * Drawing and Graphics
  518.   + Bitmap-2
  519.   + Dot2Dot-3
  520.   + Drawing-4
  521.   + Photo Album-1
  522.   + Up In Smoke-33&2/3
  523. * Endpoints
  524.   + Basic LlamaTalk-1
  525.   + Basic Modem-2
  526.   + Basic Serial-2
  527.   + Comms FSM-6
  528.   + Thumb-8
  529.   + Tool Time-2
  530. * Localization
  531.   + CreatingALocale-2
  532. * Modem Setup
  533.   + Modem Setup-2
  534. * NewtApp
  535.   + Checkbook-8
  536.   + newtLabelPicker-1
  537. * NewtonScript
  538.   + Inspector Gadget-4
  539. * Pickers, Popups, and Overviews
  540.   + ListPickerSamples-2
  541.   + PictIndex-1
  542.   + protoNumberPicker_TDS-1
  543.   + protoOverview-2
  544.   + protoSlimPicker-1
  545.   + WhereInTheWorld-1
  546. * Recognition
  547.   + CharEdit-2
  548.   + WordArray-2
  549. * Routing
  550.   + AutoRoute-4
  551.   + CustomRoute-2
  552.   + MultiRoute-1
  553.   + VariRoute-1
  554. * Sound
  555.   + Bitchin' Piano-3
  556.   + Serenade-1
  557.   + Sound Advice-3
  558.   + Sound Tricks-4
  559.   + SoundStudio-2
  560. * Stationery
  561.   + WhoOwesWhom-5
  562. * System Data and Built-in Apps
  563.   + Cardfile Extensions-1
  564.   + Extra Change-3
  565.   + HandWrite-1
  566.   + Party Time-1
  567.   + PeoplePicker-1
  568.   + Sketch-1
  569.   + Stamps&Patterns-1
  570. * System Services
  571.   + PeriodicElements-1
  572. * Text Input
  573.   + InkForm-1
  574.   + InkTranslate-1
  575.   + Keyboardin-1
  576.   + Keys-4
  577.   + QWERTY-3
  578.   + TXWord-2
  579. * Transports
  580.   + ArchiveTransport-4
  581.   + MinMail-3
  582.   + StatusReport-1
  583. * User Interface
  584.   + AdjustoButton-1
  585.   + PreeferMadnessTNG-1
  586. * Views
  587.   + Clock-2
  588.   + DatePick-2
  589.   + DragonDrop-1
  590.   + Paragraph Scroll-4
  591.   + SyncScroll-1
  592.   + TabsNStyles-3
  593.   + Thumbnail-1
  594.   + ViewScripts-3
  595.