Writing FCode 3.x Programs
  Buscar sólo este libro
Descargar este libro en PDF

............................Contents


Preface
xviii

1. SBus Cards and FCode
1
...FCode PROM Format 2
...Interpreting FCode 2
...Device Identification 2
...Creating and Executing FCode Definitions 3

2. Elements of FCode Programming
5
...Colon Definitions 6
...Stack Operations 7
...Programming Style 8
......Commenting Code 8
...Coding Style 9
......Definition Length 9
......Stack Comments 10
...A Minimal FCode Program 12
...FCode Classes 14
...Primitive FCode Functions 14
...System FCode Functions 15
...Interface FCode Functions 16
...Local FCode Functions 16

3. Testing FCode Programs
17
...FCode Source 17
...Tokenizing FCode Source 18
...FCode Binary Format 19
...Testing FCode Programs on the Target Machine 20
...Configuring the Target Machine 21
......Setting Appropriate Configuration Parameters 21
......Modifying the Expansion Bus Probe Sequence 21
......Getting to the Forth Monitor 22
...Using the Command Line Editor of the Forth Monitor 22
...Using the Forth Monitor to Test FCode Programs 23
......Using dload to Load from Ethernet 24
......Using dlbin to Load From Serial Port A 24
......Using boot to Load From Hard Disk, Diskette, or Ethernet 25
...Using dl to Load Forth Over Serial Port A 26
...Using the Forth Monitor to Interpret an FCode Program 26
...Using the Forth Monitor to Browse a Device Node 29
...Using the Forth Monitor to Test a Device Driver 30
......Device Node Methods 31
..........Using select-dev 31
..........Using begin-select-dev 33
..........Using execute-device-method 34
..........Using apply 35
...Testing FCode Programs in Source Form 35
...Producing an FCode PROM 35
...Exercising an Installed FCode PROM 36

4. Packages
37
...Package Instances 38
......Package Data 41
......Static and Instance-specific Methods 42
......Execution Tokens 43
......Intra-package Calling Methods 43
......Accessing Other Packages 44
......Inter-package Calling Methods 46
......execute-device-method and apply 49
...Plug-in Device Drivers 50
...Common Package Methods 51
......Basic Methods 51
......Recommended Methods 52
...Package Data Definitions 53
...Instance Arguments and Parameters 54
..........Package Addresses 56
......Package Mappings 57
......nvramrc 57
......Modifying Package Properties 58
...Standard Support Packages 58
......Sun Disk-Label Support Package 59
......TFTP Booting Support Package 60
......Deblocker Support Package 61

5. Properties
63
...Standard FCode Properties 65
......Standard Property Names 66
......Display Device Properties 66
......Network Device Properties 67
......Memory Device Properties 67
......General Properties For Parent Nodes 67
...Detailed Descriptions of Standard Properties 67
...Manipulating Properties 78
......Property Creation and Modification 78
......Property Values 79
......Property Encoding 79
......Property Retrieval 79
......Property Decoding 80
...Property-Specific FCodes 81

6. Block and Byte Devices
83
...Block Devices 83
...Byte Devices 84
...Required Methods 84
...Required Properties 86
...Device Driver Examples 86
......Simple Block Device Driver 87
......Extended Block Device Driver 87
......Complete Block and Byte Device Driver 95

7. Display Devices
107
...Required Methods 107
...Required Properties 108
...Device Driver Examples 108
......Simple Display Device Driver 108
......Extended Display Device Driver 109
...Complete Display Device Drive 114

8. Memory-Mapped Buses
121
...Required Methods 121
...SBus Addressing 125
...SBus Required Properties 126
...Device Driver Examples 126
......Basic Hierarchical Device Driver 127
......Extended Hierarchical Device Driver 130
......Complete Hierarchical Device Driver 138

9. Network Devices
155
...Required Methods 156
...Required Device Properties 157
...Optional Device Properties 157
...Device Driver Examples 158
......Simple Network Device Example 158
......Sample Driver With Test and Debugging Methods 161
......Bootable Network Device Driver Example 173

10. Serial Devices
201
...Required Methods 201
...Required Properties 202
...Device Driver Examples 202
...Simple Serial FCode Program 203
......Extended Serial FCode Program 204
......Complete Serial FCode Program 206

11. FCode Dictionary
211

A. FCode Reference
359
...FCode Primitives 359
...FCodes by Function 359
...FCodes by Byte Value 384
...FCodes by Name 399

B. FCode Memory Allocation
415

C. Coding Style
417
...Typographic Conventions 417
...Use of Spaces 417
...if...then...else 418
...do...loop 419
...begin...while...repeat 419
...begin...until...again 420
...Block Comments 420
...Stack Comments 420
...Return Stack Comments 421
...Numbers 421

D. Differences Between FCode 2.x
...and 3.x 423