--- gforth/savesys.fs 2010/12/27 13:16:47 1.12 +++ gforth/savesys.fs 2012/12/31 15:25:18 1.18 @@ -1,6 +1,6 @@ \ image dump 15nov94py -\ Copyright (C) 1995,1997,2003,2006,2007 Free Software Foundation, Inc. +\ Copyright (C) 1995,1997,2003,2006,2007,2010,2011,2012 Free Software Foundation, Inc. \ This file is part of Gforth. @@ -17,12 +17,6 @@ \ You should have received a copy of the GNU General Public License \ along with this program. If not, see http://www.gnu.org/licenses/. -: save-mem-dict { addr1 u -- addr2 u } - here { addr2 } - u allot - addr1 addr2 u move - addr2 u ; - : delete-prefix ( c-addr1 u1 c-addr2 u2 -- c-addr3 u3 ) \ if c-addr2 u2 is a prefix of c-addr1 u1, delete it 2over 2over string-prefix? if @@ -46,10 +40,14 @@ LOOP maxalign ; +: update-maintask ( -- ) + throw-entry main-task udp @ throw-entry next-task - /string move ; + : dump-fi ( addr u -- ) w/o bin create-file throw >r update-image-included-files update-image-order + update-maintask here forthstart - forthstart 2 cells + ! forthstart begin \ search for start of file ("#! " at a multiple of 8) @@ -60,6 +58,4 @@ r> close-file throw ; : savesystem ( "name" -- ) \ gforth - ofile 256 chars erase - tfile 256 chars erase name dump-fi ;