Forth Language/FCode Driver Programming Class (Updated March 2, 1998) To equip qualified engineers to work with Open Firmware (as defined by IEEE Standard 1275-1994) and to write Open Firmware device drivers, FirmWorks conducts a four and 1/2 day class which provides the knowledge necessary to write Open Firmware-compliant FCode Drivers. No prior knowledge of the Forth language or Open Firmware is assumed. However, participants should have the following: * Some experience with programming in a high level language. * Some knowledge of the hardware organization of a general purpose computer. * Some knowledge of what a device driver is and what it does. The course consists of lecture and in-class programming exercises for which each student is provided his/her own computer. By the end of the week, participants will have a basic understanding of Forth, Open Firmware and FCode, and will have written their first FCode device driver. COURSE DESCRIPTION Pre-Work -- approximately 20 hours Materials: "Starting Forth" Class workbook Description: Upon completion of registration, each student is provided with a class workbook, a copy of "Starting Forth, Second Edition" by Leo Brodie, and, if necessary, a 32-bit, ANS Forth interpreter suitable for use on an IBM-PC compatible computer. The class workbook contains clarifications of the material in "Starting Forth", additional related to Open Firmware's Forth environment, and exercises to help the student master Forth in preparation for the classroom environment. Although some class time will be spent reviewing the Forth language, it is important that the student have scheduled time available prior to the class for completing the pre-work assignment. Forth Language, Debugging Tools and Forth Laboratory -- 1.5 days Materials: "Starting Forth" Class workbook Description: At the start of the class, students will be given a short questionnaire with which they can evaluate their Forth skills. Based upon the quiz results and student feedback, the instructor will review the topics with which the students need help, and will review all of the language constructs that the students should need over the course of the class. At the end of this review, the students will be given a programming exercise with which to refine their Forth skills. Experience has shown that refining Forth language skills in this laboratory helps prepare students for the FCode driver laboratory later in the week. Open Firmware and FCode Drivers -- 1.5 days Materials: "Open Firmware Command Reference" "Writing FCode Programs for PCI" Open Firmware presentation handouts Topics: Open Firmware Overview Device Tree Device Nodes Interconnection Node names Device paths Ambiguous paths Aliases Properties Names Encoding Creation Browsing Example definitions Methods Static Instance-specific Instance chains Instance records Instance chain creation Method execution Data Static Instance-specific Package creation Wildcard Nodes FCode Overview Standard Device Types Standard method sets block byte network serial memory mmu Support Packages disk-label obp-tftp deblocker Software Nodes Method execution $call-method $call-parent execute-device-method Memory types User Interface Tools "Magic" keyboard chords Command line editor Hardware debugging FCode debugging Device Interface and FCode Source Binary Tokenizing Downloading and debugging Code Walkthrough of a Serial Device Driver FCode Driver Laboratory -- 1 day Description: Each student will write a simple FCode driver for their classroom computer's serial port. Adjacent computers will have their serial ports connected, and the students will test their drivers by "chatting" through their drivers across the serial ports. Open Firmware Conclusion -- 0.5 day Description: Standard Device Types display Support Packages fb1 fb8 terminal emulator Code Walkthrough of a Graphics Adapter Device Driver Console selection issues Fallback devices Configuration Variables Start-up sequence nvramrc banner and probing Booting Interrupts Client Program Interface Initial program state Calling conventions Services Callbacks Debugging The training is conducted in English. Course materials are provided. CLASS SCHEDULES Classes are scheduled each month at FirmWorks's site and are subject to cancellation if a minimum class size of 4 is not achieved. Please call for information on the next available class. Classes may also be scheduled on request at FirmWorks's or at your site subject to a guaranteed minimum class size of 4. Please call to make arrangements for a class scheduled for your needs. Class Schedule Registration Closes Class Dates U.S. Registrants All Other Registrants ----------- ------------------- --------------------- 1997 September 15 - 19 September 3 August 27 October 20 - 24 October 8 October 1 November 10 - 14 October 29 October 22 December 15 - 19 December 3 November 26 1998 January 12 - 16 December 22, 1997 December 22, 1997 ** Note early registration close due to holidays February 9 - 13 January 28 January 21 March 9 - 13 February 25 February 18 April 13 - 17 April 1 March 25 May 11 - 15 April 29 April 22 June 8 - 12 May 27 May 20 July 13 - 17 July 1 June 24 August 10 - 14 July 29 July 22 September 14 - 18 September 2 August 26 FEES Our standard single student rate for a class at our site is $2300. Alternatively, multiple enrollments from a single company for a single class may be purchased for $8,250 plus $1,085 per student. Discounts are available from both these rates for holders of FirmWorks system ROM source or manufacturing kit licenses. Please contact FirmWorks for details. Our fees do not include meals, hotels or transportation. We will also run single company classes on our site given a minimum class size of 4 for $2,300 per student or on your site given a minimum class size of 4 for $7,500 plus $1,085 per student. In addition, travel time and expenses are charged for off-site classes. We accept Mastercard, Visa, Diners Club, Carte Blanche, JCB, check, money order or company purchase order (subject to credit approval). (Sorry. We do not accept American Express.) Deposit on Forth Interpreter FirmWorks will loan a copy of a proprietary 32-bit, ANS Forth interpreter to any student needing one to complete their pre-work assignment. This interpreter is suitable for use on an IBM-compatible PC running MS-DOS(r). The student must accept the terms of FirmWorks's license agreement, must agree to return the software at the completion of the class, and must provide a $500 refundable deposit. If the software is not returned by one week after the class's completion, the deposit will be forfeited. REGISTRATION Registration for a given class session closes approximately two and 1/2 weeks prior to the start of that session for United States registrants and three and 1/2 weeks prior to the start of that session for all other registrants (as shown above). Payment must be received by the close of registration to allow sufficient time for shipment of pre-work materials and completion of pre-work by students. CANCELLATION POLICY Regularly Scheduled Classes at FirmWorks's Site If, after registering for the class, a student's registration is rescheduled or canceled, one of the following fees will apply for each student whose registration is modified. * Reschedules more than 2 weeks before class start: $50. * Cancellations more than 2 weeks before class and before shipment of class pre-work materials: $50. * Reschedules within 2 weeks before class start or "act of God" no-shows who reschedule: $400 each time you reschedule. * Cancellations after shipment of pre-work materials: $400. * No-shows (including "act-of-God" no-shows that do not reschedule): 100%. Classes Scheduled on Request If, after a class has been scheduled per your request, the class is rescheduled or canceled, one of the following fees will apply. * If a class as a whole is canceled or rescheduled more than 2 weeks before class and before shipment of class pre-work materials: $200. * If a class as a whole is rescheduled after shipment of class pre-work materials: $400 for every set of prework materials shipped each time the class is rescheduled. * If a class as a whole is canceled after shipment of class pre-work materials: $400 for every set of prework materials shipped. * If a class is held as scheduled, but the number of students in attendance is less than the number of students registered (as measured by the number of sets of prework materials shipped): $400 for every student who was registered and did not attend the class. In addition to the above, you will be required to reimburse FirmWorks for any non-refundable travel expenses that were incurred by FirmWorks as a result of the cancellation or rescheduling of any class not scheduled to be held at FirmWorks's site. TO REGISTER Contact FirmWorks: info@firmworks.com TERMS ----- 1. All prices are exclusive of sales, use and other applicable taxes, which must be paid by customer. 2. Prices, offering and terms subject to change without notice.