OSDN Git Service

V3 prerelease added extended assembler
[fast-forth/master.git] / MSP430-FORTH / FastForthSpecs.f
1
2 ; ------------------
3 ; FastForthSpecs.f
4 ; ------------------
5
6 ; display all FastForth compilation options
7
8 \ TARGET SELECTION
9 \ MSP_EXP430FR5739  MSP_EXP430FR5969    MSP_EXP430FR5994    MSP_EXP430FR6989
10 \ MSP_EXP430FR4133  CHIPSTICK_FR2433    MSP_EXP430FR2433    MSP_EXP430FR2355
11 \
12 \ drag and drop this file onto SendSourceFileToTarget.bat
13 \ then select your TARGET when asked.
14 \
15 0 CONSTANT CASE IMMEDIATE \ -- #of-1 
16
17 : OF \ #of-1 -- orgOF #of 
18 1+                          \ count OFs 
19 >R                          \ move off the stack in case the control-flow stack is the data stack. 
20 POSTPONE OVER POSTPONE = \ copy and test case value
21 POSTPONE IF                 \ add orig to control flow stack 
22 POSTPONE DROP           \ discards case value if = 
23 R>                          \ we can bring count back now 
24 ; IMMEDIATE 
25
26 : ENDOF \ orgOF #of -- orgENDOF #of 
27 >R                          \ move off the stack in case the control-flow stack is the data stack. 
28 POSTPONE ELSE 
29 R>                          \ we can bring count back now 
30 ; IMMEDIATE 
31
32 : ENDCASE \ orgENDOF1..orgENDOFn #of -- 
33 POSTPONE DROP
34 0 DO 
35     POSTPONE THEN 
36 LOOP 
37 ; IMMEDIATE 
38
39 : BS 8 EMIT ;   \ 8 EMIT = BackSpace EMIT
40 : ESC #27 EMIT ;
41
42 : ADDONS
43 ESC ." [7m"     \ escape sequence to set reverse video
44 ." KERNEL ADD-ON:"
45 ESC ." [0m"     \ escape sequence to clear reverse video
46 KERNEL_ADDON @
47     DUP + DUP 0< IF CR ." TERMINAL5WIRES" THEN
48     DUP + DUP 0< IF CR ." TERMINAL4WIRES" THEN
49     DUP + DUP 0< IF CR ." TERMINAL3WIRES" THEN
50     DUP + DUP 0< IF CR ." TOTAL" THEN
51     DUP + DUP 0< IF CR ." QUIETBOOT" THEN
52     DUP + DUP 0< IF CR ." BOOTLOADER" THEN
53     DUP + DUP 0< IF CR ." SD_CARD_READ_WRITE" THEN
54     DUP + DUP 0< IF CR ." SD_CARD_LOADER" THEN
55     DUP + DUP 0< IF CR ." FIXPOINT_INPUT" THEN
56     DUP + DUP 0< IF CR ." DOUBLE_INPUT" THEN
57     DUP + DUP 0< IF CR ." VOCABULARY_SET" THEN
58     DUP + DUP 0< IF CR ." NONAME" THEN
59     DUP + DUP 0< IF CR ." EXTENDED_ASSEMBLER" THEN
60     DUP + DUP 0< IF CR ." ASSEMBLER" THEN
61     DUP + DUP 0< IF CR ." CONDCOMP" THEN
62     0< \ true if CONDCOMP add-on
63 IF CR CR 
64 ESC ." [7m"     \ escape sequence to set reverse video
65 ." OTHER ADD-ON:"
66 ESC ." [0m"     \ escape sequence to clear reverse video
67     [DEFINED] {ANS_COMP} [IF] CR ." ANS_COMPLEMENT" [THEN]
68     [DEFINED] {TOOLS}    [IF] CR ." UTILITY" [THEN]
69     [DEFINED] {FIXPOINT} [IF] CR ." FIXPOINT" [THEN]
70     [DEFINED] {SD_TOOLS} [IF] CR ." SD_TOOLS" [THEN]
71 THEN
72 ;
73
74 : specs         \ to see Fast Forth specifications
75 PWR_STATE       \ before free bytes computing, remove all words defined after RST_HERE
76 ESC ." [1J"     \ erase up
77 ESC ." [H"      \ cursor home
78 ESC ." [7m"     \ escape sequence to set reverse video
79 CR ." FastForth V" 
80 VERSION @ U.
81 ." for MSP430FR"
82 HERE            \ to compute bytes
83 DEVICEID @      \ kept in TLV area
84 CASE
85 $830C OF ." 2355" $8000 ENDOF \ $8000 = org MAIN
86 $8240 OF ." 2433" $C400 ENDOF
87 $81F0 OF ." 4133" $C400 ENDOF
88 $8103 OF ." 5739" $C200 ENDOF
89 $8102 OF ." 5738" $C200 ENDOF
90 $8169 OF ." 5969" $4400 ENDOF
91 $8160 OF ." 5948" $4400 ENDOF
92 $82A1 OF ." 5994" $4000 ENDOF
93 $81A8 OF ." 6989" $4400 ENDOF
94 ABORT" xxxx <-- unrecognized device!"
95 ENDCASE SPACE
96 FREQ_KHZ @ 0 1000 UM/MOD U. BS
97 ?DUP
98 IF   ." ," U. BS                \ if remainder
99 THEN ." MHz, "                  \ MCLK
100 INI_THREAD @ U. BS ." -Entry Vocabularies, "
101 - U. ." bytes, "                \ HERE - MAIN_ORG
102 SIGNATURES HERE - U. ." bytes free"
103 CR
104 ESC ." [0m"     \ escape sequence to clear reverse video
105 CR ADDONS CR
106 ;
107
108 ECHO
109 specs \ here FastForth type a (volatile) message with some informations