X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=csrc%2Fpf_inner.c;h=60bddee62ed035262a97e330d62f212e4e6d2062;hb=eaa66646ab0ebe6671c66014467485908b255cbb;hp=1446356cda7d7067ee7a7b5d40de6b1bd4edddda;hpb=2d8c3ec4828a9a6502a3b81334e1b50294d26fcc;p=debian%2Fpforth diff --git a/csrc/pf_inner.c b/csrc/pf_inner.c index 1446356..60bddee 100644 --- a/csrc/pf_inner.c +++ b/csrc/pf_inner.c @@ -5,14 +5,17 @@ ** Author: Phil Burk ** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom ** -** The pForth software code is dedicated to the public domain, -** and any third party may reproduce, distribute and modify -** the pForth software code or any derivative works thereof -** without any compensation or license. The pForth software -** code is provided on an "as is" basis without any warranty -** of any kind, including, without limitation, the implied -** warranties of merchantability and fitness for a particular -** purpose and their equivalents under the laws of any jurisdiction. +** Permission to use, copy, modify, and/or distribute this +** software for any purpose with or without fee is hereby granted. +** +** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +** THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +** CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +** FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +** CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +** OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ** **************************************************************** ** @@ -1131,7 +1134,7 @@ DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql )); TOS = PF_FAM_WRITE_ONLY; endcase; - case ID_FILE_BIN: /* ( -- fam ) */ + case ID_FILE_BIN: /* ( fam1 -- fam2 ) */ TOS = TOS | PF_FAM_BINARY_FLAG; endcase; @@ -1632,6 +1635,10 @@ DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql )); endcase; #endif + case ID_SLEEP_P: + TOS = sdSleepMillis(TOS); + endcase; + case ID_SP_FETCH: /* ( -- sp , address of top of stack, sorta ) */ PUSH_TOS; TOS = (cell_t)STKPTR; @@ -1756,6 +1763,7 @@ DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql )); { ERR("' could not find "); ioType( (char *) CharPtr+1, *CharPtr ); + EMIT_CR; M_THROW(-13); } else @@ -1779,6 +1787,7 @@ DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql )); endcase; case ID_VAR_BASE: DO_VAR(gVarBase); endcase; + case ID_VAR_BYE_CODE: DO_VAR(gVarByeCode); endcase; case ID_VAR_CODE_BASE: DO_VAR(gCurrentDictionary->dic_CodeBase); endcase; case ID_VAR_CODE_LIMIT: DO_VAR(gCurrentDictionary->dic_CodeLimit); endcase; case ID_VAR_CONTEXT: DO_VAR(gVarContext); endcase;