\ This file includes all aliases and extra definitions removed from
\ the original RiscOS Forthmacs sources.
\ Use it for compatibilty reasons or cross-developing hs23.10.94
\ assumes 32-bit Forth
\ NEW words defined UP-compatible

\needs /cell		4 constant /cell
\needs /char		1 constant /char
\needs cell+		: cell+		/cell + ;
\needs char+		: char+		/char + ;
\needs cells		: cells		/cell * ;
\needs chars		: chars		/char * ;
\needs cells+		: cells+	cells + ;
\needs chars+		: chars+	chars + ;
\needs ?exit		: ?exit		postpone if  postpone exit  postpone then ; immediate
\needs @execute		: @execute      @ execute ;
\needs compile,		alias compile,  token,
\needs (compile)	alias (compile) token,
\needs compile		alias compile do-postpone
\needs postpone		: postpone ' dup immediate? 0= if ['] do-postpone compile, then compile, ; immediate
\needs "		alias " c"
\needs c"		alias c" "

\needs rshift		alias rshift >>
\needs lshift		alias lshift <<
\needs acf-aligned	alias acf-aligned aligned
\needs taligned		alias taligned	aligned
\needs acf-align	alias acf-align align
\needs talign		alias talign	align

\needs dumpx		: dumpx		blword 10 dump ; \ name (s -- )
\needs d#		alias d# td
\needs h#		alias h# th

\needs alloc-mem	: alloc-mem allocate abort" Can't allocate" ;
\needs free-mem         : free-mem over block-size over > if negate over block-size + resize nip else drop free then abort" Couldn't free-mem" ;

\needs ascii		: ascii	 blword char+ c@  do-literal ; immediate
\needs char             : char	 blword char+ c@ ;
\needs [char]		: [char] char do-literal ; immediate
\needs td		alias td d#
\needs th		alias th h#
\needs n>flags		: n>flags  count + ;
\needs >>a		: >>a		0 ?do 2/ loop ;
\needs >>		alias >> rshift
\needs <<		alias << lshift
\needs ctoggle		: ctoggle	( mask addr -- )	toggle ;
\needs u*d		: u*d		(s u u -- ul )		*  ;

\needs \itc		: \itc		( -- )	postpone \	; immediate
\needs \dtc		: \dtc		( -- )			; immediate
\needs \ttc		: \ttc		( -- )	postpone \	; immediate
\needs \t8		: \t8		( -- )	postpone \	; immediate
\needs \t16		: \t16		( -- )	postpone \	; immediate
\needs \t32		: \t32		( -- )			; immediate

\needs 32\		: 32\  ; immediate
\needs 16\		alias 16\ \

\needs filec!		alias filec! file!
\needs filec@		alias filec@ file@
\needs read-write	alias read-write modify
\needs getword		alias getword fgetword
\needs getcword		alias getcword fgettill
\needs skipcword	alias skipcword fskiptill
\needs close		alias close fclose
\needs open		alias open fopen

\needs na1+		alias na1+ cell+
\needs ta1+		alias ta1+ cell+
\needs ca1+		alias ca1+ char+
\needs /c		alias /c /char
\needs /n		alias /n /cell
\needs /a		alias /a /cell
\needs /branch		alias /branch /cell
\needs /c*		alias /c* noop
\needs /n*		alias /n* cells
\needs na+		alias na+ cells+
\needs ca+		alias ca+ chars+

\needs n->a		alias n->a noop

\needs n!		alias n!	!
\needs \c		alias \c	\

needs lconstant extend.portab32
needs wconstant	extend.portab16
