xref: /dflybsd-src/contrib/file/magic/Magdir/forth (revision 7b80531f545c7d3c51c1660130c71d01f6bccbe0)
16fca56fbSSascha Wildner
26fca56fbSSascha Wildner#------------------------------------------------------------------------------
3*614728caSSascha Wildner# $File: forth,v 1.4 2021/04/26 15:56:00 christos Exp $
46fca56fbSSascha Wildner# forth:  file(1) magic for various Forth environments
56fca56fbSSascha Wildner# From: Lubomir Rintel <lkundrak@v3.sk>
66fca56fbSSascha Wildner#
76fca56fbSSascha Wildner
86fca56fbSSascha Wildner# Has a FORTH stack diagram and something that looks very much like a FORTH
96fca56fbSSascha Wildner# multi-line word definition. Probably a FORTH source.
106fca56fbSSascha Wildner0       regex   \[[:space:]]\\(([[:space:]].*)?\ --\ (.*[[:space:]])?\\)
116fca56fbSSascha Wildner>0      regex   \^:\[[:space:]]
126fca56fbSSascha Wildner>>0     regex   \^;$				FORTH program
136fca56fbSSascha Wildner!:mime  text/x-forth
146fca56fbSSascha Wildner
156fca56fbSSascha Wildner# Inline word definition complete with a stack diagram
166fca56fbSSascha Wildner0       regex   \^:[[:space:]].*[[:space:]]\\(([[:space:]].*)?\ --\ (.*[[:space:]])?\\)[[:space:]].*[[:space:]];$	FORTH program
176fca56fbSSascha Wildner!:mime  text/x-forth
186fca56fbSSascha Wildner
19970935fdSSascha Wildner# Various dictionary images used by OpenFirware FORTH environment
206fca56fbSSascha Wildner
216fca56fbSSascha Wildner0	lelong	0xe1a00000
22970935fdSSascha Wildner>8	lelong	0xe1a00000
23970935fdSSascha Wildner# skip raspberry pi kernel image kernel7.img by checking for positive text length
24970935fdSSascha Wildner>>24	lelong	>0		ARM OpenFirmware FORTH Dictionary,
25970935fdSSascha Wildner>>>24	lelong	x		Text length: %d bytes,
26970935fdSSascha Wildner>>>28	lelong	x		Data length: %d bytes,
27970935fdSSascha Wildner>>>32	lelong	x		Text Relocation Table length: %d bytes,
28970935fdSSascha Wildner>>>36	lelong	x		Data Relocation Table length: %d bytes,
29*614728caSSascha Wildner>>>40	lelong	x		Entry Point: %#08X,
30970935fdSSascha Wildner>>>44	lelong	x		BSS length: %d bytes
316fca56fbSSascha Wildner
326fca56fbSSascha Wildner0	string	MP
336fca56fbSSascha Wildner>28	lelong	1		x86 OpenFirmware FORTH Dictionary,
346fca56fbSSascha Wildner>>4	leshort	x		%d blocks
356fca56fbSSascha Wildner>>2	leshort	x		+ %d bytes,
366fca56fbSSascha Wildner>>6	leshort	x		%d relocations,
376fca56fbSSascha Wildner>>8	leshort	x		Header length: %d paragraphs,
386fca56fbSSascha Wildner>>10	leshort	x		Data Size: %d
396fca56fbSSascha Wildner>>12	leshort	x		- %d 4K pages,
40*614728caSSascha Wildner>>14	lelong	x		Initial Stack Pointer: %#08X,
41*614728caSSascha Wildner>>20	lelong	x		Entry Point: %#08X,
426fca56fbSSascha Wildner>>24	lelong	x		First Relocation Item: %d,
436fca56fbSSascha Wildner>>26	lelong	x		Overlay Number: %d,
44*614728caSSascha Wildner>>18	leshort	x		Checksum: %#08X
456fca56fbSSascha Wildner
466fca56fbSSascha Wildner0	belong	0x48000020	PowerPC OpenFirmware FORTH Dictionary,
476fca56fbSSascha Wildner>4	belong	x		Text length: %d bytes,
486fca56fbSSascha Wildner>8	belong	x		Data length: %d bytes,
496fca56fbSSascha Wildner>12	belong	x		BSS length: %d bytes,
506fca56fbSSascha Wildner>16	belong	x		Symbol Table length: %d bytes,
51*614728caSSascha Wildner>20	belong	x		Entry Point: %#08X,
526fca56fbSSascha Wildner>24	belong	x		Text Relocation Table length: %d bytes,
536fca56fbSSascha Wildner>28	belong	x		Data Relocation Table length: %d bytes
546fca56fbSSascha Wildner
556fca56fbSSascha Wildner0	lelong	0x10000007	MIPS OpenFirmware FORTH Dictionary,
566fca56fbSSascha Wildner>4	lelong	x		Text length: %d bytes,
576fca56fbSSascha Wildner>8	lelong	x		Data length: %d bytes,
586fca56fbSSascha Wildner>12	lelong	x		BSS length: %d bytes,
596fca56fbSSascha Wildner>16	lelong	x		Symbol Table length: %d bytes,
60*614728caSSascha Wildner>20	lelong	x		Entry Point: %#08X,
616fca56fbSSascha Wildner>24	lelong	x		Text Relocation Table length: %d bytes,
626fca56fbSSascha Wildner>28	lelong	x		Data Relocation Table length: %d bytes
636fca56fbSSascha Wildner
646fca56fbSSascha Wildner# Dictionary images used by minimal C FORTH environments, any platform,
656fca56fbSSascha Wildner# using native byte order.
666fca56fbSSascha Wildner
676fca56fbSSascha Wildner# Weak.
686fca56fbSSascha Wildner#0	short	0x5820		cForth 16-bit Dictionary,
69*614728caSSascha Wildner#>2	short	x		Serial: %#08X,
70*614728caSSascha Wildner#>4	short	x		Dictionary Start: %#08X,
716fca56fbSSascha Wildner#>6	short	x		Dictionary Size: %d bytes,
72*614728caSSascha Wildner#>8	short	x		User Area Start: %#08X,
736fca56fbSSascha Wildner#>10	short	x		User Area Size: %d bytes,
74*614728caSSascha Wildner#>12	short	x		Entry Point: %#08X
756fca56fbSSascha Wildner
766fca56fbSSascha Wildner0	long	0x581120	cForth 32-bit Dictionary,
77*614728caSSascha Wildner>4	long	x		Serial: %#08X,
78*614728caSSascha Wildner>8	long	x		Dictionary Start: %#08X,
796fca56fbSSascha Wildner>12	long	x		Dictionary Size: %d bytes,
80*614728caSSascha Wildner>16	long	x		User Area Start: %#08X,
816fca56fbSSascha Wildner>20	long	x		User Area Size: %d bytes,
82*614728caSSascha Wildner>24	long	x		Entry Point: %#08X
83