6 \ to see kernel options, download FastForthSpecs.f
7 \ FastForth kernel options: MSP430ASSEMBLER, CONDCOMP, SD_CARD_READ_WRITE
10 \ MSP_EXP430FR5739 MSP_EXP430FR5969 MSP_EXP430FR5994 MSP_EXP430FR6989
11 \ MSP_EXP430FR4133 MSP_EXP430FR2433 MSP_EXP430FR2355 CHIPSTICK_FR2433
14 \ how to test SD_CARD driver on your launchpad:
17 \ remove the jumpers RX, TX of programming port (don't remove GND, TST, RST and VCC)
18 \ wire PL2303TA/HXD: GND <-> GND, RX <-- TX, TX --> RX
19 \ connect it to your PC on a free USB port
20 \ connect the PL2303TA/HXD cable to your PC on another free USB port
21 \ configure TERATERM as indicated in forthMSP430FR.asm
24 \ if you have a MSP-EXP430FR5994 launchpad, program it with MSP_EXP430FR5994_3Mbds_SD_CARD.txt
25 \ to do, drag and drop this file onto prog.bat
29 \ else edit forthMSP430FR.asm with scite editor
30 \ uncomment your target, copy it
31 \ paste it into (SHIFT+F8) param1
35 \ TERMINALBAUDRATE .equ 3000000
42 \ compile for your target (CTRL+0)
44 \ program your target via TI interface (CTRL+1)
46 \ then wire your SD_Card module as described in your MSP430-FORTH\target.pat file
50 \ format FAT16 or FAT32 a SD_CARD memory (max 64GB) with "FRxxxx" in the disk name
51 \ drag and drop \MSP430_COND\MISC folder on the root of this SD_CARD memory (FastForth doesn't do yet)
52 \ put it in your target SD slot
53 \ if no reset, type COLD from the console input (teraterm) to reset FAST FORTH
55 \ with MSP430FR5xxx or MSP430FR6xxx targets, you can first set RTC:
56 \ by downloading RTC.f with SendSourceFileToTarget.bat
57 \ then terminal input asks you to type (with spaces) (DMY), then (HMS),
58 \ So, subsequent copied files will be dated:
60 \ with CopySourceFileToTarget_SD_Card.bat (or better, from scite editor, menu tools):
62 \ copy TESTASM.4TH to \MISC\TESTASM.4TH (add path \MISC in the window opened by TERATERM)
63 \ copy TSTWORDS.4TH to \TSTWORDS.4TH
64 \ copy CORETEST.4TH to \CORETEST.4TH
65 \ copy SD_TOOLS.f to \SD_TOOLS.4TH
66 \ copy SD_TEST.f to \SD_TEST.4TH
67 \ copy PROG100k.f to \PROG100k.4TH
68 \ copy RTC.f to \RTC.4TH ( doesn't work with if FR2xxx or FR4xxx)
72 [UNDEFINED] {SD_TEST} [IF] \
77 \ https://forth-standard.org/standard/core/AND
78 \ C AND x1 x2 -- x3 logical AND
85 [UNDEFINED] MAX [IF] \ MAX and MIN are defined in {ANS_COMP}
86 CODE MAX \ n1 n2 -- n3 signed maximum
93 CODE MIN \ n1 n2 -- n3 signed minimum
101 [UNDEFINED] U.R [IF] \ defined in {UTILITY}
102 : U.R \ u n -- display u unsigned in n width (n >= 2)
104 R> OVER - 0 MAX SPACES TYPE
108 [UNDEFINED] DUMP [IF] \ defined in {UTILITY}
109 \ https://forth-standard.org/standard/tools/DUMP
110 CODE DUMP \ adr n -- dump memory
112 PUSH &BASE \ save current base
113 MOV #$10,&BASE \ HEX base
114 ADD @PSP,TOS \ -- ORG END
116 SWAP OVER OVER \ -- END ORG END ORG
117 U. U. \ -- END ORG display org end
118 $FFF0 AND \ -- END ORG_modulo_16
119 DO CR \ generate line
120 I 7 U.R SPACE \ generate address
121 I $10 + I \ display 16 bytes
124 I $10 + I \ display 16 chars
125 DO I C@ $7E MIN BL MAX EMIT LOOP
127 R> BASE ! \ restore current base
132 PWR_HERE \ remove all volatile programs from MAIN memory
134 ." 0 Set date and time" CR
135 ." 1 Load {TOOLS} words" CR
136 ." 2 Load {SD_TOOLS} words" CR
137 ." 3 Load {ANS_COMP} words" CR
138 ." 4 Load ANS core tests" CR
139 ." 5 Load a 100k program " CR
140 ." 6 Read only this source file" CR
141 ." 7 append a dump of FORTH to YOURFILE.TXT" CR
142 ." 8 delete YOURFILE.TXT" CR
143 ." 9 Load TST_WORDS" CR
152 ." LOAD UTILITY.4TH" CR
156 ." LOAD SD_TOOLS.4TH" CR
160 ." LOAD ANS_COMP.4TH" CR
164 ." LOAD CORETEST.4TH" CR
169 ." LOAD PROG100K.4TH" CR
174 ." READ PROG100K.4TH" CR
177 READ \ sequentially read 512 bytes
178 UNTIL \ prog10k.4TH is closed
181 ." WRITE YOURFILE.TXT" CR
184 MAIN_ORG HERE OVER - DUMP
185 ['] EMIT >BODY IS EMIT
189 ." DEL YOURFILE.TXT" CR
193 ." LOAD TSTWORDS.4TH" CR