1: \ mirror.fs mirrors ram in rom and copies back at startup
2:
3: \ Copyright (C) 1998,2000,2003,2004,2007 Free Software Foundation, Inc.
4:
5: \ This file is part of Gforth.
6:
7: \ Gforth is free software; you can redistribute it and/or
8: \ modify it under the terms of the GNU General Public License
9: \ as published by the Free Software Foundation, either version 3
10: \ of the License, or (at your option) any later version.
11:
12: \ This program is distributed in the hope that it will be useful,
13: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
14: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: \ GNU General Public License for more details.
16:
17: \ You should have received a copy of the GNU General Public License
18: \ along with this program. If not, see http://www.gnu.org/licenses/.
19:
20: 0 [IF]
21:
22: For the romable feature:
23:
24: We need to save the ram area (there might be initialized variables,
25: and code-fields...) into rom and copy it back at system startup.
26:
27: [THEN]
28:
29: \ save ram area
30:
31: >rom
32: unlock ram-dictionary extent lock
33: Constant ram-len
34: Constant ram-start
35: Variable ram-origin
36: ram-start ram-origin ram-len unlock tcmove lock
37: ram-len allot align
38: >auto
39:
40: : mirrorram
41: ram-origin ram-start ram-len cmove ;
42:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>