File: MulDev_02.fth

package info (click to toggle)
fcode-utils 1.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 46,768 kB
  • sloc: ansic: 9,717; csh: 241; makefile: 129; sh: 17
file content (71 lines) | stat: -rw-r--r-- 1,745 bytes parent folder | download | duplicates (20)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
\  Test multiple device-nodes with injected erorrs... ;-}
\  MulDev_02.fth  --  slight variant relative to  MulDev_01.fth 

\  Updated Thu, 12 Jan 2006 at 15:36 PST by David L. Paktor

global-definitions
   alias rc! rb!
device-definitions

fcode-version2

headers

[message]  Top-Level (root) device-node
create achin  12 c, 13 c, 14 c,
: breakin  achin 3 bounds do i c@ . loop ;
: creakin     0 if breakin then ;
: deacon   achin creakin drop breakin ;

[message]  Subsidiary (child) device-node
new-device
create eek!  18 c, 17 c, 80 c, 79 c,
: freek  eek! 4 bounds ?do i c@ . 1 +loop ;
: greek  -1 if  freek then ;
[message]  About to access method from parent node
: hierareek
       eek!
           freek
	       achin
	           greek
;
: ikey  hierareek  freek  greek ;
[message]  about to end child node
finish-device
[message]  We can access methods from the root node now
: jeeky
     achin
       3 type
;
[message] create sibling node
new-device
0 value inky
: kinky  
    " "(   \
    \  value  offset   
    03  22   \   Comm Params (offset 22) = parity check (bit 0) even (bit 1) 
    4   17   \   Plex  (offs 17) = full (bit 2)
    b7  0e   \   Bells (offs 0e) = Bits 7,6,4,2,1,0  (No church or Gamelon)
    7f  0f   \  Bell volume (offs 0f)  = Just under halfway
    89  10   \  Whistles (offs 10) = Foghorn, Train, Piccolo (Bits 7,3,0)
    ff  18   \  Foghorn duration (offs 18) = maximum
    22  14   \  Train-whistle (offs 14) = two short blasts
    03  11   \  Piccolo = mercifully short
          )"
    bounds do i c@ i 1+ c@  inky + rc! 2 +loop
;

[message] creating nephew node
new-device

: open  kinky true ;

[message] creating great-nephew node
new-device

: open
     jeeky
	 kinky
             true ;

fcode-end