所有網頁 圖片 影片 地圖 新聞 網誌搜尋 Gmail 更多 »
最近造訪的群組 | 說明 | 登入
Google 網上論壇首頁
Mini_TypeWriter_2.2 最終開發!!!
目前本群組有太多主題設為優先顯示。要優先顯示這個主題,請將其他主題的這個選項取消。
在處理您的要求時發生錯誤。請再試一次。
標幟
  3 個訊息 - 全部摺疊  -  將全文翻譯為 已翻譯 (查看所有原文)
您要留言的群組是 Usenet 群組。在此群組留言,網際網路上的任何使用者將可以看到您的電郵地址。
您的回覆郵件尚未寄出。
您已成功留言
 
寄件人:
收件人:
副本:
後續追蹤對象:
新增副本 | 新增後續追蹤對象 | 編輯主旨
主旨:
驗證:
為了確認,請輸入您在以下圖片中看到的字元,或輸入您按下存取圖示時所聽到的號碼。 注意聽並輸入您聽到的號碼
 
小P  
檢視個人資料  
 更多選項 9月14日, 上午10時49分
寄件人: 小P <p...@cht.com.tw>
日期: Sun, 13 Sep 2009 19:49:55 -0700 (PDT)
當地時間: 2009年9月14日(星期一) 上午10時49分
主旨: Mini_TypeWriter_2.2 最終開發!!!

最近比較忙!
所以最終回~

Mini_TypeWriter_2.2 最終開發!!!
==>TypeWriter 鍵盤輸入打字練習

如附加檔案 : Mini_TypeWriter_2_2.zip (內容如下)
檔案已上傳 : 符式協會 首頁 最下方的檔案區

(一) 已經完成Compile ,可以直接使用該可執行檔
說明檔 :  Mini_TypeWriter 2.0使用說明書.doc
執行檔 :  TYPER.EXE

(二) 未尚完成Compile , 留給使用者自行 Make file執行檔
說明檔 :  ReadMe.txt    (Show you How_To Make file 執行檔)
源始碼 :  TYPER.txt     (Open Source_Code by 小P Coding )
eForth  :  86EF202.EXE  ( C. H. Ting丁陳漢蓀  博士)

(三) (嵌入式 Forth系統C. H. Ting丁陳漢蓀  博士)
以下內容全部節錄摘要自丁陳漢蓀  博士 之【作品集】 易符學苑
先看=>內容簡短 :  eforth_符式語言摘要簡介.doc
後看=>內容詳細 :  嵌入式 Forth系統.doc

Mini_TypeWriter2.2 => Open Source Code (公開源碼)

( =================================================================== )
( =   The Top of <<< Mini_TypeWriter ver2.2 >>> Program in eForth
= )
( =================================================================== )

CR CR CR
.( |
=========================================================================== |
|   The first APP by PDH with eForth just for
practice                      |
|   Name of APP   : <<< Mini_TypeWriter ver2.2

>>>                          |

|   Up_Date       : '09 08 31 in Office of CHT
[ver_2.2]              |
|   Up_Date       : '09 08 07 in My STUDY_ROOM
[ver_2.0]              |
|   First_Date    : '09 08 04 in Office of CHT
[ver_1.0]              |
|   Programer     : PDH  => Perng Der-Huang lives in Taiwan & works
for CHT |
|   My Title [LP] : [LP] => Little PDH <<< Little Perng Der-Huang
>>>       |

|
=========================================================================== | )
CR CR CR

: DELAY_TIME ( -- ) ; ( 100000 FOR 10000 FOR NEXT NEXT ; )

DELAY_TIME DELAY_TIME DELAY_TIME

CR CR
.( COMPILING THE SOURCE CODE OF FORTH AP FOR TypeWriter version_2.2 )
CR

DELAY_TIME
CR
.( START......... )
CR CR

( =================================================================== )
( = The Declare & Define of constants <<< Mini_TypeWriter ver2.2

>>>= )

( =================================================================== )

: CHAR ( -- c ) BL PARSE DROP C@ ;

: CTRL ( -- c ) CHAR $001F AND ;

: CHARS ( +n c -- ) SWAP 0 MAX FOR AFT DUP EMIT THEN NEXT DROP ;

: BEEP ( -- ) 7 EMIT ;

: _HOME ( -- c ) 18176 ;

: _ESC ( -- c ) 27 ;

: TUREE ( -- ) -1 ;

: FALSE ( -- )  0 ;

: [_   ( -- ) [ CHAR [ ] LITERAL EMIT SPACE ;

: _]   ( -- ) [ CHAR ] ] LITERAL SPACE EMIT ;

: ?_   ( -- ) [ CHAR < ] LITERAL EMIT SPACE ;

: _?   ( -- ) [ CHAR > ] LITERAL SPACE EMIT ;

: _A   ( -- c ) [ CHAR A ] LITERAL ;

: _Y   ( -- c ) [ CHAR Y ] LITERAL ;

: _N   ( -- c ) [ CHAR N ] LITERAL ;

: _^   ( -- c ) [ CHAR ^ ] LITERAL ;

: _*   ( -- c ) [ CHAR * ] LITERAL ;

( =================================================================== )
( = The Declare & Define of Function_key < Mini_TypeWriter ver2.2 >
= )
( =================================================================== )

: _F1   ( -- C ) 15104 ;

: _F2   ( -- C ) 15360 ;

: _F3   ( -- C ) 15616 ;

: _F4   ( -- C ) 15872 ;

: _F5   ( -- C ) 16128 ;

: _F6   ( -- C ) 16384 ;

: _F7   ( -- C ) 16640 ;

: _F8   ( -- C ) 16896 ;

: _F9   ( -- C ) 17152 ;

: _F10  ( -- C ) 17408 ;

DELAY_TIME
CR CR
.( COMPILING THE SOURCE CODE ........... CONSTANTS...OK!  )
CR CR

( =================================================================== )
( =   The Declare & Define of  Variables < Mini_TypeWriter ver2.2 >
= )
( =================================================================== )

( VARIABLE    COUNTER <== Now Not To Use )

( VARIABLE    ERROR   <== Now Not To Use )

VARIABLE      NUMBER

VARIABLE      NUMBER_TEMP

CREATE        NUMBER_TABLE  94  ALLOT

VARIABLE      NUMBER_TABLE_HEAD   NUMBER_TABLE
NUMBER_TABLE_HEAD  !

VARIABLE      NUMBER_TABLE_TAIL   NUMBER_TABLE 94 +
NUMBER_TABLE_TAIL  !

VARIABLE      NUMBER_TABLE_INDEX  NUMBER_TABLE
NUMBER_TABLE_INDEX !

CREATE        HAND_NUMBER_TABLE  47  ALLOT
              HAND_NUMBER_TABLE

              ( LEFT_HAND_NUMBER_TABLE )

                CHAR 1   OVER C! 1+
                CHAR Q   OVER C! 1+
                CHAR A   OVER C! 1+
                CHAR Z   OVER C! 1+

                CHAR 2   OVER C! 1+
                CHAR W   OVER C! 1+
                CHAR S   OVER C! 1+
                CHAR X   OVER C! 1+

                CHAR 3   OVER C! 1+
                CHAR E   OVER C! 1+
                CHAR D   OVER C! 1+
                CHAR C   OVER C! 1+

                CHAR 4   OVER C! 1+
                CHAR R   OVER C! 1+
                CHAR F   OVER C! 1+
                CHAR V   OVER C! 1+

                CHAR 5   OVER C! 1+
                CHAR T   OVER C! 1+
                CHAR G   OVER C! 1+
                CHAR B   OVER C! 1+

     ( ------------------------------------------ )

              ( LEFT_HAND_NUMBER_TABLE )

                CHAR 6   OVER C! 1+
                CHAR Y   OVER C! 1+
                CHAR H   OVER C! 1+
                CHAR N   OVER C! 1+

                CHAR 7   OVER C! 1+
                CHAR U   OVER C! 1+
                CHAR J   OVER C! 1+
                CHAR M   OVER C! 1+

                CHAR 8   OVER C! 1+
                CHAR I   OVER C! 1+
                CHAR K   OVER C! 1+
                CHAR ,   OVER C! 1+

                CHAR 9   OVER C! 1+
                CHAR O   OVER C! 1+
                CHAR L   OVER C! 1+
                CHAR .   OVER C! 1+

                CHAR 0   OVER C! 1+
                CHAR P   OVER C! 1+
                CHAR ;   OVER C! 1+
                CHAR /   OVER C! 1+

                CHAR -   OVER C! 1+
                CHAR [   OVER C! 1+
                CHAR '   OVER C! 1+
                CHAR =   OVER C! 1+
                CHAR ]   OVER C! 1+
                CHAR \   OVER C! 1+
                     BL  OVER C! DROP

VARIABLE      SLIDE_WINDOWN_RANGE

VARIABLE      FLAG_ERROR

VARIABLE      FLAG_MAIN_SCREEN

VARIABLE      FILTER_SELECTOR

VARIABLE      FLAG_HAND_CHANGE

VARIABLE  RND        ( seed )
          HERE RND ! ( initialize seed <== FIRST VALUE FOR RND FORM
HERE[CP] )

DELAY_TIME
CR CR
.( COMPILING THE SOURCE CODE ........... VARIABLES...OK!  )
CR CR

( =================================================================== )
( =    The Declare & Define of  Strings  < Mini_TypeWriter ver2.2 >
= )
( =================================================================== )

: SHOW_AHEAD_STRING ( -- ) SPACE ." ===> " ;

: SHOW_RIGHT_STRING ( -- )
       SPACE
       ." <=== -VVV-RIGHT-VVV-     ((( =  You are so Good !!! = )))"
;

: SHOW_ERROR_MARK ( -- )
       CR
       SPACE
       3 _* CHARS
       10 SPACES
       3 _^ CHARS
;

: SHOW_ERROR_STRING ( -- )
       SPACE
       ." <=== -!!!-ERROR-!!!-     <<< =  Please Key_In Again = >>> "
       SHOW_ERROR_MARK
;

: SHOW_STAR_BAR ( -- )
CR CR CR
CR 7 SPACES ." ==============<<<<<< PDH ==> Perng Der-Huang

>>>>>>==============="

CR 7
SPACES ." !                                                                !"
CR 7 SPACES ." !   !!! JUST GO AGAIN !!!            Coding by LP
( Little PDH ) !"
CR 7
SPACES ." !                                                                !"
CR 7 SPACES ." =====<<<<<< Now , LP lives in Taiwan & works for CHT
>>>>>>======="

CR CR CR
;

DELAY_TIME
CR CR
.( COMPILING THE SOURCE CODE ........... STRINGS...OK!  )
CR CR

( =================================================================== )
( =  The Declare & Define of  Tool_Words < Mini_TypeWriter ver2.2 >
= )
( =================================================================== )

: RANDOM ( -- n, a random number within 0 to 65536 )
       RND @ 31421 *       ( RND*31421 )
       6927 +              ( RND*31421+6926 )
       DUP RND !
;

: CHOOSE ( n1 -- n2, a random number within 0 to n1 )
       RANDOM UM*              ( n1*random )
       SWAP DROP
;

: CHECK_KEY ( -- c )
       BEGIN

         KEY DUP
         32 127 WITHIN OVER ( Literal_Key  THE ASCII_CODE : 32 ~ 126 )
         _F10 = OR NOT     ( Funtionl_Key THE ASCII_CODE : [Home] )

       WHILE

         DROP

       REPEAT
;

: FILTER_1 ( -- f )

      NUMBER @
      65  90 WITHIN NOT   ( A~Z THE RANGE OF ASCII_CODE : 65 ~ 90 )
      IF
         _A 1 - NUMBER !
         SHOW_STAR_BAR
      THEN

      NUMBER @ 1 + NUMBER !
      FALSE
;

: FILTER_2 ( -- f )

      90 CHOOSE NUMBER !
      NUMBER @
      65  91 WITHIN NOT   ( A~Z THE RANGE OF ASCII_CODE : 65 ~ 90 )
;

: FILTER_3 ( -- f )       ( THE RANGE OF LEFT_HAND )

      19 CHOOSE
      HAND_NUMBER_TABLE + C@ NUMBER !
      FALSE
;

: FILTER_4 ( -- f )       ( THE RANGE OF RIGHT_HAND )

      26 CHOOSE 20 +
      HAND_NUMBER_TABLE + C@ NUMBER !
      FALSE
;

: FILTER_5 ( -- f )       ( THE RANGE OF LEFT_HAND + RIGHT_HAND )

      FLAG_HAND_CHANGE @

      IF

         FILTER_3 ( -- f )       ( THE RANGE OF LEFT_HAND )

      ELSE

         FILTER_4 ( -- f )       ( THE RANGE OF RIGHT_HAND )

      THEN
;

: FILTER_6 ( -- f )

      122 CHOOSE NUMBER !
      NUMBER @ DUP
      65   91 WITHIN SWAP ( A~Z THE RANGE OF ASCII_CODE : 65 ~ 90  )
      97  123 WITHIN      ( a~z THE RANGE OF ASCII_CODE : 97 ~ 122 )
      OR NOT

;

: FILTER_7 ( -- f )

      57 CHOOSE NUMBER !
      NUMBER @ DUP
      42  44 WITHIN OVER  ( * ~ + THE RANGE OF ASCII_CODE : 42 ~ 43 )
      45  48 WITHIN ROT   ( - ~ / THE RANGE OF
...

閱讀更多 »


    回覆作者    轉寄  
您必須先登入才能張貼訊息。
若要張貼訊息,您必須先加入此群組
請在留言之前更新您訂閱設定網頁上的暱稱。
您沒有留言所需的權限。
小P  
檢視個人資料  
 更多選項 9月30日, 下午5時30分
寄件人: 小P <p...@cht.com.tw>
日期: Wed, 30 Sep 2009 02:30:06 -0700 (PDT)
當地時間: 2009年9月30日(星期三) 下午5時30分
主旨: Re: Mini_TypeWriter_2.2 最終開發!!!

上善若水===> Forth ===>無形,無不形

這是 小P的 第一支 Forth Code

不知道如何???

看起來是不是很像C (因慣C)

其實還可以改進,

如 靜態 及 動態 的 正確率,錯誤率,終止速度及瞬間速率...等等.

有一問...

eForth for x86 , 如何突破64kB space的限制呢???

<P.S.>
小P的主力不在PC_base 而是在 single_chip_base (uCOM 微控制器)

On 9月14日, 上午10時49分, 小P <p...@cht.com.tw> wrote:

...

閱讀更多 »


    回覆    回覆作者    轉寄  
您必須先登入才能張貼訊息。
若要張貼訊息,您必須先加入此群組
請在留言之前更新您訂閱設定網頁上的暱稱。
您沒有留言所需的權限。
松涛  
檢視個人資料   翻譯為 已翻譯 (查看原文)
 更多選項 10月20日, 上午8時49分
寄件人: 松涛 <idisbluefl...@gmail.com>
日期: Mon, 19 Oct 2009 17:49:08 -0700 (PDT)
當地時間: 2009年10月20日(星期二) 上午8時49分
主旨: Re: Mini_TypeWriter_2.2 最終開發!!!
嵌入式 Forth系統.doc 正是我需要的。非常感谢。
我打算在8051上构建一个forth。
你的打字程序,我在vbox下面测试,发现超级占用cpu,速度慢到极点。不知道什么原因。

On 9月30日, 下午5时30分, 小P <p...@cht.com.tw> wrote:

...

閱讀更多 »


    回覆    回覆作者    轉寄  
您必須先登入才能張貼訊息。
若要張貼訊息,您必須先加入此群組
請在留言之前更新您訂閱設定網頁上的暱稱。
您沒有留言所需的權限。
無其他留言
« 返回討論主題 « 較新的主題     較舊的主題 »

建立群組 - Google 網上論壇 - Google 首頁 - 服務條款 - 隱私權政策
©2009 Google