Index: ram/addfpu.c
===================================================================
--- ram/addfpu.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/addfpu.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,10 +6,7 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	MAXSEGT		32767
-
-extern	uint16_t	tofpu(uint16_t time);
-extern	uint16_t	fromfpu(uint16_t fputime);
 
 /* 
Index: ram/adfield.c
===================================================================
--- ram/adfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/adfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,130 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	select(void);
-extern	int16_t	whatbox(void);
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	int16_t	stdctp4(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	stdmkey(void);
-extern	void	stddkey(int16_t k);
-
-extern	int16_t	et_null(int16_t n);
-extern	int16_t	ef_null(int16_t n);
-extern	int16_t	rd_null(int16_t n);
-extern	int16_t	nd_null(int16_t n, int16_t k);
-extern	int16_t	et_atab(int16_t n);
-extern	int16_t	ef_atab(int16_t n);
-extern	int16_t	rd_atab(int16_t nn);
-extern	int16_t	nd_atab(int16_t nn, int16_t k);
-extern	int16_t	et_aopt(int16_t n);
-extern	int16_t	ef_aopt(int16_t n);
-extern	int16_t	rd_aopt(int16_t nn);
-extern	int16_t	nd_aopt(int16_t nn, int16_t k);
-extern	int16_t	et_avgr(int16_t nn);
-extern	int16_t	ef_avgr(int16_t nn);
-extern	int16_t	rd_avgr(int16_t nn);
-extern	int16_t	nd_avgr(int16_t nn, int16_t k);
-extern	int16_t	et_accn(int16_t n);
-extern	int16_t	ef_accn(int16_t n);
-extern	int16_t	rd_accn(int16_t nn);
-extern	int16_t	nd_accn(int16_t nn, int16_t k);
-extern	int16_t	et_agpt(int16_t n);
-extern	int16_t	ef_agpt(int16_t n);
-extern	int16_t	rd_agpt(int16_t nn);
-extern	int16_t	nd_agpt(int16_t nn, int16_t k);
-extern	int16_t	et_agch(int16_t n);
-extern	int16_t	ef_agch(int16_t n);
-extern	int16_t	rd_agch(int16_t nn);
-extern	int16_t	nd_agch(int16_t nn, int16_t k);
-extern	int16_t	et_ains(int16_t n);
-extern	int16_t	ef_ains(int16_t n);
-extern	int16_t	rd_ains(int16_t nn);
-extern	int16_t	nd_ains(int16_t nn, int16_t k);
-extern	int16_t	et_adyn(int16_t n);
-extern	int16_t	ef_adyn(int16_t n);
-extern	int16_t	rd_adyn(int16_t nn);
-extern	int16_t	nd_adyn(int16_t nn, int16_t k);
-extern	int16_t	et_atun(int16_t n);
-extern	int16_t	ef_atun(int16_t n);
-extern	int16_t	rd_atun(int16_t nn);
-extern	int16_t	nd_atun(int16_t nn, int16_t k);
-extern	int16_t	et_aprg(int16_t n);
-extern	int16_t	ef_aprg(int16_t n);
-extern	int16_t	rd_aprg(int16_t nn);
-extern	int16_t	nd_aprg(int16_t nn, int16_t k);
-extern	int16_t	et_aint(int16_t n);
-extern	int16_t	ef_aint(int16_t n);
-extern	int16_t	rd_aint(int16_t nn);
-extern	int16_t	nd_aint(int16_t nn, int16_t k);
-extern	int16_t	et_arat(int16_t n);
-extern	int16_t	ef_arat(int16_t n);
-extern	int16_t	rd_arat(int16_t nn);
-extern	int16_t	nd_arat(int16_t nn, int16_t k);
-extern	int16_t	et_adep(int16_t n);
-extern	int16_t	ef_adep(int16_t n);
-extern	int16_t	rd_adep(int16_t nn);
-extern	int16_t	nd_adep(int16_t nn, int16_t k);
-
-extern	void	vcputsv(int16_t *obase, int16_t nw, int16_t fg, int16_t bg, int16_t row, int16_t col, int8_t *str, int16_t pitch);
-
-extern	void	*memset(void *vp, int8_t c, int16_t n);
-
-extern	int16_t	adnamsw;
-extern	int16_t	asgmod;
-extern	int16_t	astat;
-extern	int16_t	cmtype;
-extern	int16_t	cmfirst;
-extern	int16_t	curasg;
-extern	int16_t	curhold;
-extern	int16_t	curmop;
-extern	int16_t	curslim;
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	cxrate;
-extern	int16_t	cyrate;
-extern	int16_t	hcwval;
-extern	int16_t	hitbox;
-extern	int16_t	hitcx;
-extern	int16_t	hitcy;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	thcwval;
-extern	int16_t	tvcwval;
-extern	int16_t	vcwval;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-extern	int16_t	vtwcol;
-extern	int16_t	vtwrow;
-extern	int16_t	vtxval;
-extern	int16_t	vtyval;
-
-extern	int16_t	crate1[];
-
-extern	uint16_t *asgob;
-
-extern	struct	asgent	asgtab[];
-
-extern	struct	selbox	adboxes[];
-extern	struct	selbox	*csbp;
-
-extern	int16_t	grp2prt[12][2];
-extern	int16_t	key2grp[];
-extern	int16_t	mctlnum[];
-extern	int16_t	vce2grp[];
-
-/* forward references */
-
-void	adcxupd(void);
-void	adcyupd(void);
-void	ad_xkey(void);
-
-extern	void adswin(int16_t n);
-extern	void curset(struct curpak *s);
-extern	void drawk2g(int16_t grp);
-extern	void modasg(void);
+#include "ram.h"
 
 /* 
Index: ram/adselbx.c
===================================================================
--- ram/adselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/adselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,74 +8,9 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
+#include "ram.h"
 
 #define	ATWROW	10		/* typewriter row */
 #define	ATWCOL	1		/* typewriter column */
 #define	ATDECOL	1		/* data entry base column */
-
-extern	int16_t	entbh(int16_t n);
-extern	void	adswin(int16_t n);
-extern	void	advacur(void);
-extern	void	bspacur(void);
-extern	void	nokey(void);
-extern	void	vtdisp(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf);
-extern	void	adpoint(int16_t x, int16_t y, int16_t pen);
-
-extern	void	(*itxput)(int16_t row, int16_t col, int8_t *txt, int16_t tag);
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	int16_t	admctl;
-extern	int16_t	adnamsw;
-extern	int16_t	asgfks;
-extern	int16_t	asghit;
-extern	int16_t	asgmod;
-extern	int16_t	auxctl;
-extern	int16_t	curasg;
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	hitbox;
-extern	int16_t	hitcx;
-extern	int16_t	hitcy;
-extern	int16_t	lastam;
-extern	int16_t	submenu;
-
-extern	int16_t	adbox[][8];
-
-extern	int16_t	grp2prt[12][2];
-extern	int16_t	ins2grp[12];
-extern	int16_t	asgkble[];
-extern	int16_t	key2grp[];
-extern	int16_t	mctlnum[];
-
-extern	struct	selbox	*csbp, *curboxp;
-
-extern	int8_t	bfs[];
-extern	int8_t	caname[];
-extern	int8_t	vtlin1[], vtlin2[], vtlin3[];
-
-extern	uint16_t	*asgob;
-
-/* forward references */
-
-void admenu(int16_t n);
-int16_t	bx_null(void);
-int16_t	adfnbox(int16_t n);
-
-extern	int16_t vtyper(void);
-extern	uint16_t exp_c(uint16_t c);
-extern	void awins(void);
-extern	void drawk2g(int16_t grp);
-extern	void getasg(int16_t n);
-extern	void putasg(int16_t n);
-extern	void setaux(int16_t aux);
-extern	void settc(int16_t rv, int16_t cv);
-extern	void showam(int16_t asg);
-extern	void showim(void);
-extern	void showtm(void);
-extern	void vtsetup(uint16_t *obj, int16_t (*dsp)(), int16_t col, int8_t *ptr, int16_t tr, int16_t tc, int16_t (*adv)(), int16_t (*bsp)(), int16_t (*cup)(), int16_t (*cdn)(), int16_t (*stop)(), uint16_t fg, uint16_t bg);
 
 /* 
Index: ram/asgdsp.c
===================================================================
--- ram/asgdsp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/asgdsp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,5 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
+#include "ram.h"
 
 #define	PSG_ADDR	0
@@ -41,74 +41,4 @@
 #define	AKW_E	0x0FFF
 #define	AKW_F	0xFFFF
-
-/* 
-
-*/
-
-/* things defined elsewhere */
-
-extern	void		(*point)(int16_t x, int16_t y, int16_t pen);
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern	void arcurs(uint16_t icolor);
-extern	void dswap(void);
-extern	void execins(int16_t vce, int16_t ins, int16_t tag);
-extern	void gettun(int16_t n);
-extern	void itcini(uint16_t color);
-extern	void itcpos(int16_t row, int16_t col);
-extern	void newvce(int16_t voice);
-extern	void sendval(int16_t voice, int16_t par, int16_t ival);
-extern	void settc(int16_t rv, int16_t cv);
-extern	void ttcini(uint16_t color);
-extern	void vsndpal(int16_t pp[16][3]);
-
-extern	int16_t	stcrow, stccol, cxval, cyval;
-extern	int16_t	curtun, tunmod;
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	uint16_t	*obj0, *obj2;
-
-extern	int8_t	bfs[];
-extern	int8_t	*adbxlb[];
-extern	int8_t	caname[];
-
-extern	int16_t	adbox[][8];
-
-extern	int16_t	admctl;			/* assignment menu control */
-extern	int16_t	adnamsw;		/* vitrual typewriter switch */
-extern	int16_t	asgfks;			/* first key selected */
-extern	int16_t	asghit;			/* row hit / assignment in progress */
-extern	int16_t	asgmod;			/* assignment number or table modified */
-extern	int16_t	auxctl;			/* aux control flag */
-extern	int16_t	curasg;			/* current assignment table */
-extern	int16_t	curmop;			/* current MIDI output port */
-extern	int16_t	curvce;			/* current voice being edited */
-extern	int16_t	prgchan;		/* MIDI program change channel  (port 1) */
-extern	int16_t	ps_dpth;		/* phase shifter -- depth */
-extern	int16_t	ps_intn;		/* phase shifter -- intensity */
-extern	int16_t	ps_rate;		/* phase shifter -- rate */
-extern	int16_t	submenu;		/* submenu flag */
-
-extern	int16_t	grpdyn[12];		/* group dynamics table (0..9) */
-extern	int16_t	ins2grp[12];		/* instrument to group table (00..NINST-1) */
-extern	int16_t	mctlnum[4];		/* MIDI controller number table (-1, 00..99) */
-extern	int16_t	s_inst[12];		/* instrument assignments */
-extern	int16_t	vce2grp[12];		/* voice to group table (-1, 1..12)*/
-
-extern	int16_t	grp2prt[12][2];	/* group to port and channel table */
-				/* port [0] = 0..4, channel [1] = -1, 1..16 */
-
-extern	int16_t	key2grp[88];	/* port 1 key to group assignment table */
-				/* bit n = group n */
-
-extern	struct	asgent	asgtab[NASGS];	/* assignment table library */
-
-extern	uint16_t	*asgob;
-
-extern	struct	octent	*adoct;
 
 /* 
Index: ram/asgvce.c
===================================================================
--- ram/asgvce.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/asgvce.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -10,60 +10,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern int16_t sc_trak(int32_t tval);
-extern int16_t sc_trek(int32_t tval);
-extern void chgsdf(void);
-extern void chgsef(void);
-extern void execkey(int16_t trg, int16_t pch, int16_t vce, int16_t tag);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-/* 
-
-*/
-
-extern	int16_t	clksrc;		/* clock source */
-extern	int16_t	curasg;		/* current assignment table */
-extern	int16_t	legato;		/* "legato" mode flag */
-extern	int16_t	lstbgnc;	/* last note begin entry count */
-extern	int16_t	lstendc;	/* last note end entry count */
-extern	int16_t	lstflag;	/* last note list end flag */
-extern	int16_t	ndisp;		/* current display number */
-extern	int16_t	newflag;	/* new data entered while t_ctr EQ t_cur */
-extern	int16_t	nkdown;		/* number of keys down */
-extern	int16_t	recsw;		/* record/play switch */
-extern	int16_t	sd;		/* score display direction */
-extern	int16_t	se;		/* score execution direction */
-extern	int16_t	stepenb;	/* step enable */
-extern	int16_t	stepint;	/* note interval */
-extern	int16_t	stepwgt;	/* note weight */
-extern	int16_t	velflag;	/* velocity display enable flag */
-
-extern	int16_t	grpmode[];	/* group mode table */
-extern	int16_t	grpstat[];	/* group status table */
-extern	int16_t	ins2grp[];	/* instrument to group assigments */
-extern	int16_t	vce2grp[];	/* voice to group map */
-extern	int16_t	lastvce[];	/* last voice assigned in each group */
-extern	int16_t	lastvel[];	/* last velocity seen by each group */
-extern	int16_t	tuntab[];	/* current tuning table */
-extern	int16_t	vce2trg[];	/* voice to trigger map (-1 EQ NULL) */
-
-extern	int16_t	stepfrm[][17];	/* steps per frame table */
-
-extern	uint16_t	*obj8;	/* score display object pointer */
-
-extern	struct	gdsel	*gdstbc[];	/* group status table - center slice */
-
-extern	struct	n_entry	*lstbgns[NLSTENTS];	/* note begin pointers */
-extern	struct	n_entry	*lstends[NLSTENTS];	/* note end pointers */
-
-extern	struct	nevent	*nefree;	/* pointer to free note entries */
-extern	struct	nevent	*nelist;	/* pointer to note entry list */
-
-extern	struct	nevent	nevents[NNEVTS];	/* note event list */
+#include "ram.h"
 
 /* 
Index: ram/barbadj.c
===================================================================
--- ram/barbadj.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/barbadj.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -30,8 +30,5 @@
 */
 
-#include "all.h"
-
-extern	int16_t	BarBcur[];
-extern	int16_t	BarCcur[];
+#include "ram.h"
 
 /* left-most bar columns */
Index: ram/chgsef.c
===================================================================
--- ram/chgsef.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/chgsef.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,19 +6,5 @@
 */
 
-#include "all.h"
-
-extern void rslice(struct gdsel *gdstb[]);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-
-extern	int16_t	sd;
-extern	int16_t	se;
-
-extern	struct	gdsel	*gdstbc[];
-extern	struct	gdsel	*gdstbn[];
-extern	struct	gdsel	*gdstbp[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/chksec.c
===================================================================
--- ram/chksec.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/chksec.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,14 +8,5 @@
 #undef	DEBUGGER		/* define to enable debug trace */
 
-#include "all.h"
-
-extern	int16_t	ancmsw;
-extern	int16_t	grptran;
-
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-extern	int16_t	grptmap[];
-
-extern	int16_t	varmode[][16];
+#include "ram.h"
 
 int16_t	cmslens[N_ETYPES] = {	/* score event sizes for copy / merge */
Index: ram/cminit.c
===================================================================
--- ram/cminit.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/cminit.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -9,5 +9,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	CM_MXSTR	257	/* maximum parser string result length */
Index: ram/ctcpos.c
===================================================================
--- ram/ctcpos.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ctcpos.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,18 +6,7 @@
 */
 
-#include "all.h"
-
-extern void vclrav(uint16_t *adr, uint16_t row, uint16_t col, uint16_t atr, uint16_t len);
-extern void vsetav(uint16_t *adr, uint16_t row, uint16_t col, uint16_t atr, uint16_t len);
+#include "ram.h"
 
 int16_t	ctcsw;				/* text cursor status */
-
-extern	int16_t	CurLine;		/* current patch display line */
-extern	int16_t	cxval, cyval;		/* patch text cursor x, y */
-extern	int16_t	stcrow, stccol;		/* patch text cursor row,col */
-extern	int16_t	vtcrow, vtccol;		/* menu text cursor row,col */
-
-extern	uint16_t	*obj9;		/* patch cursor object pointer */
-extern	uint16_t	*obj11;		/* menu cursor object pointer */
 
 int16_t	mtcoldc;			/* previous cursor column location */
Index: ram/curset.c
===================================================================
--- ram/curset.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/curset.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,10 +8,8 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-
-short	debugcs = 1;
+#include "ram.h"
+
+#if	DEBUGIT
+uint16_t	debugcs = 1;
 
 char	*C_TYPE[] = {
@@ -27,54 +25,4 @@
 
 int16_t	trkonly = FALSE;		/* set TRUE to force use of trackball */
-
-extern	void	txstd(void);
-extern	void	tystd(void);
-extern	void	cmvgen(void);
-
-extern	void		(*curmove)(void);
-extern	int16_t		(*curtype)(void);
-extern	void		(*cx_key)(void);
-extern	void		(*cx_upd)(void);
-extern	void		(*cy_key)(void);
-extern	void		(*cy_upd)(void);
-extern	void		(*d_key)(int16_t k);
-extern	void		(*e_key)(void);
-extern	void		(*m_key)(void);
-extern	int16_t		(*not_fld)(int16_t k);
-extern	void		(*premove)(void);
-extern	void		(*pstmove)(void);
-extern	void		(*x_key)(void);
-extern	void		(*xy_dn)(void);
-extern	void		(*xy_up)(void);
-
-extern	int16_t		*cratex;
-extern	int16_t		*cratey;
-
-/* 
-
-*/
-
-extern	int16_t		chtime;
-extern	int16_t		chwait;
-extern	int16_t		cmfirst;
-extern	int16_t		cmtype;
-extern	int16_t		curhold;
-extern	int16_t		curslim;
-extern	int16_t		cvtime;
-extern	int16_t		cvwait;
-extern	int16_t		cxval;
-extern	int16_t		cyval;
-extern	int16_t		hcwval;
-extern	int16_t		nchwait;
-extern	int16_t		ncvwait;
-extern	int16_t		stccol;
-extern	int16_t		stcrow;
-extern	int16_t		submenu;
-extern	int16_t		syrate;
-extern	int16_t		thcwval;
-extern	int16_t		tvcwval;
-extern	int16_t		vcwval;
-
-extern	struct selbox	*csbp;
 
 /* 
Index: ram/dbentr.c
===================================================================
--- ram/dbentr.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/dbentr.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -30,7 +30,5 @@
 */
 
-#include "all.h"
-
-extern void xtrap15(void);
+#include "ram.h"
 
 #define	DB_DEPTH	256		/* depth of the debug buffer */
Index: ram/dcopy.c
===================================================================
--- ram/dcopy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/dcopy.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,23 +6,9 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	PROGID	"midas.abs"		/* MIDAS-VII program file name */
 
-extern	int16_t	defect;			/* error code */
-
-extern	int8_t	end, edata, etext;	/* loader symbols */
-
-extern	int32_t	p_dlen;			/* size of data (from basepage) */
-
-extern	void	Lo_RAM(void);
-
-extern	void postio(void);
-extern	void preio(void);
-
-extern	struct	EXFILE	mphead;		/* MIDAS-VII program header */
-
-/* 
-
+/*
 */
 
Index: ram/dec2fr.c
===================================================================
--- ram/dec2fr.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/dec2fr.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,5 +8,5 @@
 #define	TESTER	0
 
-#include "all.h"
+#include "ram.h"
 
 #define	SFACT	1000L		/* scale factor */
Index: ram/delnote.c
===================================================================
--- ram/delnote.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/delnote.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,8 @@
 */
 
-#include "all.h"
-
-extern int16_t pix2mid(void);
-extern int16_t sc_refr(int32_t t);
+#include "ram.h"
 
 #define	TO_LFT		(TO_BAK + 1)
 
-extern	int16_t	cflag;		/* accidental flag */
-extern	int16_t	cnote;		/* note value at cursor */
-extern	int16_t	cxval;		/* cursor x value */
-extern	int16_t	cyval;		/* cursor y value */
-extern	int16_t	lstflag;	/* last note entry list end flag */
-extern	int16_t	recsw;		/* record status */
-
-extern	int32_t	ctime;		/* time at cursor */
-
-extern	int16_t	grpmode[12];	/* group record modes */
-extern	int16_t	grpstat[12];	/* group status */
 /* 
 
Index: ram/delpnts.c
===================================================================
--- ram/delpnts.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/delpnts.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -10,29 +10,11 @@
 #define	D_INSPNT	0	/* debug inspnt() */
 
-#include "all.h"
-
-extern int16_t edfunc(int16_t n);
-extern uint16_t setipl(uint16_t arg);
-extern void modinst(void);
-extern void pntsel(void);
-extern void showpt(int16_t q);
+#include "ram.h"
 
 #define	PT_SIZE	(sizeof (struct instpnt))
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugdf = 1;
 #endif
-
-extern	int16_t	curfunc;
-extern	int16_t	curvce;
-extern	int16_t	pntsv;
-extern	int16_t	subj;
-
-extern	int16_t	finival[];
-extern	int16_t	fnoff[];
-
-extern	struct	instdef	vbufs[];
 
 /* 
Index: ram/dformat.c
===================================================================
--- ram/dformat.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/dformat.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,5 +6,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	DF_FREC		6		/* first sector of primary FAT */
@@ -12,12 +12,4 @@
 #define	DF_FSIZ		5		/* FAT size */
 #define	DF_DSIZ		7		/* directory size */
-
-extern	int16_t	defect;			/* defect code */
-extern	int16_t	dferror;		/* error code from BIOS or XBIOS */
-
-extern	int16_t	dftype;			/* disk type code */
-extern	int16_t	dfsides;		/* number of sides */
-
-extern	uint16_t	dfbuf[4096];	/* track formatting buffer */
 
 /* 
Index: ram/dopatch.c
===================================================================
--- ram/dopatch.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/dopatch.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,17 +8,7 @@
 #define	DEBUGPA		0
 
-#include "all.h"
-
-extern uint16_t setsr(uint16_t sr);
-extern void dosync(int16_t vce);
-extern void execins(int16_t vce, int16_t ins, int16_t tag);
-extern void gettun(int16_t n);
-extern void sendval(int16_t voice, int16_t par, int16_t ival);
-extern void setoval(struct instdef *ip, int16_t v, int16_t val);
-extern void setv2gi(int16_t group);
+#include "ram.h"
 
 #if	DEBUGPA
-extern	short	debugsw;
-
 short	debugpa = 1;
 #endif
@@ -28,22 +18,5 @@
 #define	ST_PCT	0x0002		/* break subaddress into port, chan, trig */
 
-extern	int8_t	*S1IoRec, *S2IoRec, *M1IoRec, *M2IoRec;
-
 uint16_t	seqdupd;		/* sequence display update flag */
-
-extern	int16_t	bform;			/* oscillator buffer format */
-extern	int16_t	curinst;		/* current instrument being edited */
-extern	int16_t	curvce;			/* current voice being edited */
-extern	int16_t	timemlt;		/* time multiplier */
-
-extern	int16_t	expbit[];		/* FPU exponent bit table */
-extern	int16_t	ins2grp[];		/* instrument to group assignments */
-extern	int16_t	s_inst[];		/* instrument to voice assignments */
-extern	int16_t	vce2grp[];		/* voice to group assignments */
-
-extern	struct wordq	ptefifo;	/* trigger fifo */
-extern	struct instdef	vbufs[];	/* voice buffers */
-extern	struct wstbl	wslib[];	/* waveshape library */
-
 int8_t	ledstat[24];			/* LED status */
 
Index: ram/enterit.c
===================================================================
--- ram/enterit.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/enterit.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,53 +8,9 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern int16_t gcurpos(int16_t xloc, int16_t yloc);
-extern int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern void ctcpos(int16_t row, int16_t col);
-extern void itcpos(int16_t row, int16_t col);
-extern void mtcpos(int16_t row, int16_t col);
-extern void sgcoff(void);
-extern void sgcon(void);
-extern void stcoff(void);
-extern void stcpos(int16_t row, int16_t col);
-extern void ttcpos(int16_t row, int16_t col);
+#include "ram.h"
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugen = 1;
 #endif
-
-extern	void	(*cx_key)(void);
-extern	void	(*cy_key)(void);
-extern	void	(*cx_upd)(void);
-extern	void	(*cy_upd)(void);
-extern	void	(*xy_up)(void);
-extern	void	(*xy_dn)(void);
-extern	int16_t	(*not_fld)(int16_t k);
-extern	void	(*x_key)(void);
-extern	void	(*e_key)(void);
-extern	void	(*m_key)(void);
-extern	void	(*d_key)(int16_t k);
-extern	void	(*premove)(void);
-extern	void	(*pstmove)(void);
-extern	int16_t	(*curtype)(void);
-
-extern	int16_t	*cratex;
-extern	int16_t	*cratey;
-
-extern	int16_t	asig, aval, astat, aflag;
-extern	int16_t	xkstat, ykstat, xkcount, ykcount;
-extern	int16_t	cmtype, cmfirst, xycntr, curpos;
-extern	int16_t	cxrate, cyrate, cxval, cyval;
-extern	int16_t	ncvwait, nchwait, chwait, cvwait, cvtime, chtime;
-extern	int16_t	stcrow, stccol, runit, submenu, vtcrow, vtccol;
-extern	int16_t	trkball, tkctrl, txflag, tyflag;
-extern	int16_t	curhold, hcwval, thcwval, tvcwval, vcwval;
-
-extern	int16_t	sigtab[128][2];
-
-extern	int16_t	crate0[];
 
 int16_t	syrate = SMYRATE;		/* smooth scroll vertical rate */
Index: ram/etaccn.c
===================================================================
--- ram/etaccn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etaccn.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,24 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int8_t	*numblk(int8_t *buf, int16_t n);
-
-extern	void advacur(void);
-extern	void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	int16_t	mctlnum[4];	/* MIDI controller number table (-1, 00..99) */
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etadep.c
===================================================================
--- ram/etadep.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etadep.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advacur(void);
-extern void modasg(void);
-extern void sendval(int16_t voice, int16_t par, int16_t ival);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	ps_dpth;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etadyn.c
===================================================================
--- ram/etadyn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etadyn.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,33 +6,5 @@
 */
 
-#include "all.h"
-
-extern	uint16_t	setsr(uint16_t sr);
-
-extern	void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	uint16_t	curintp;
-
-extern	int16_t		stccol;
-extern	int16_t		stcrow;
-extern	int16_t		timemlt;
-
-extern	int8_t		dspbuf[];
-
-extern	int16_t		vce2grp[];
-extern	int16_t		grpdyn[];
-extern	int16_t		dyntab[];
-
-extern	int16_t		expbit[];
-
-extern	int16_t		adbox[][8];
-
-extern	struct instdef	vbufs[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etagch.c
===================================================================
--- ram/etagch.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etagch.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,25 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int8_t	*numblk(int8_t *buf, int16_t n);
-
-extern	void advacur(void);
-extern	void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	int16_t	grp2prt[12][2];	/* group to port and channel table */
-				/* port [0] = 0..4, channel [1] = -1, 1..16 */
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etagpt.c
===================================================================
--- ram/etagpt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etagpt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,28 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int8_t	*numblk(int8_t *buf, int16_t n);
-
-extern	void drawk2g(int16_t grp);
-extern	void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-
-extern	int8_t	dspbuf[];
-extern	int8_t	*gprep[];
-
-extern	int16_t	key2grp[];
-
-extern	int16_t	adbox[][8];
-
-extern	int16_t	grp2prt[12][2];	/* group to port and channel table */
-				/* port [0] = 0..3, channel [1] = -1, 1..16 */
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etains.c
===================================================================
--- ram/etains.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etains.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,28 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int8_t	*numblk(int8_t *buf, int16_t n);
-
-extern	void adswin(int16_t n);
-extern	void advacur(void);
-extern	void setinst(void);
-extern	void setv2gi(int16_t group);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	asgmod;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-
-extern	int8_t	dspbuf[];
-
-extern	int16_t	ins2grp[];
-
-extern	int16_t	adbox[][8];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etaint.c
===================================================================
--- ram/etaint.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etaint.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advacur(void);
-extern void modasg(void);
-extern void sendval(int16_t voice, int16_t par, int16_t ival);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	ps_intn;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etaopt.c
===================================================================
--- ram/etaopt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etaopt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,5 @@
 */
 
-#include "all.h"
-
-extern void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	curmop;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	int8_t	*gprep[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etaprg.c
===================================================================
--- ram/etaprg.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etaprg.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,24 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern void advacur(void);
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	prgchan;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etarat.c
===================================================================
--- ram/etarat.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etarat.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advacur(void);
-extern void modasg(void);
-extern void sendval(int16_t voice, int16_t par, int16_t ival);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	ps_rate;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etatab.c
===================================================================
--- ram/etatab.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etatab.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,29 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	adpoint(int16_t x, int16_t y, int16_t pen);
-
-extern	uint16_t exp_c(uint16_t c);
-extern	void adswin(int16_t n);
-extern	void advacur(void);
-extern	void settc(int16_t rv, int16_t cv);
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	asgmod;
-extern	int16_t	curasg;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etatun.c
===================================================================
--- ram/etatun.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etatun.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,21 +6,5 @@
 */
 
-#include "all.h"
-
-extern void gettun(int16_t n);
-extern void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	curtun;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etavgr.c
===================================================================
--- ram/etavgr.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etavgr.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,30 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int8_t	*numblk(int8_t *buf, int16_t n);
-
-extern	void advacur(void);
-extern	void execins(int16_t vce, int16_t ins, int16_t tag);
-extern	void modasg(void);
-
-extern	uint16_t	*asgob;
-
-extern	int16_t	stcrow, stccol;
-
-extern	int16_t	adbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	int16_t	vce2grp[12];		/* voice to group table */
-extern	int16_t	ins2grp[12];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etdyn.c
===================================================================
--- ram/etdyn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etdyn.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,18 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advscur(void);
-extern void scupd(void);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void setdyn(int16_t grp, int16_t dyn);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	ctrsw, recsw, stccol;
-
-extern	int16_t	grpdyn[], grpmode[], grpstat[];
-
-extern	struct	gdsel	*gdstbc[];
+#include "ram.h"
 
 /*
Index: ram/etiact.c
===================================================================
--- ram/etiact.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etiact.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,32 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-/* functions defined elsewhere */
-
-extern	void	advicur(void);
-
-extern	int8_t	*strcpy(int8_t *s1, int8_t *s2);
-
-extern	void modinst(void);
-
-/* variables defined elsewhere */
-
-extern	int16_t	stcrow, stccol, curvce, curpnt, curfunc;
-extern	int16_t	debugsw;
-
-extern	int16_t	idbox[][8];
-
-extern	uint16_t	*instob;
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-extern	int16_t	aform;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/eticnf.c
===================================================================
--- ram/eticnf.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/eticnf.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,25 +6,7 @@
 */
 
-#include "all.h"
-
-extern void advicur(void);
-extern void dosync(int16_t vce);
-extern void modinst(void);
-extern void showcfg(int16_t nn);
+#include "ram.h"
 
 #define	CFG_OFF		10	/* display offset into configuration field */
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stccol, curvce;
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-/* 
-
-*/
 
 /*
Index: ram/etidin.c
===================================================================
--- ram/etidin.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etidin.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,34 +6,7 @@
 */
 
-#include "all.h"
-
-extern void advicur(void);
-extern void allwins(void);
-extern void dswin(int16_t n);
-extern void execins(int16_t vce, int16_t ins, int16_t tag);
-extern void idcpfch(void);
-extern void idvlblc(void);
-extern void newinst(int16_t inst);
-extern void ttcpos(int16_t row, int16_t col);
+#include "ram.h"
 
 #define	DIN_OFF		14
-
-extern	uint16_t	*instob;
-
-extern	int16_t	vtcrow, vtccol, stccol, curinst, curvce, idcfsw, idintmp;
-extern	int16_t	editsw, curfunc, submenu;
-
-extern	int16_t	idbox[][8];
-extern	int16_t	instmod[];
-extern	int16_t	vce2grp[];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	idefs[];
-extern	struct	instdef	vbufs[];
-
-/* 
-
-*/
 
 /*
Index: ram/etimlt.c
===================================================================
--- ram/etimlt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etimlt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,39 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	void	advicur(void);
-extern	int16_t	dec2fr(int8_t *s);
-extern	void	dswin(int16_t n);
-extern	void	idvlbld(void);
-extern	void	ttcpos(int16_t row, int16_t col);
-
-extern	int8_t	*fr2dec(int16_t v, int8_t *s);
-
-extern	void idvlblc(void);
-extern	void modinst(void);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stcrow, stccol, curvce, curfunc, idsrcsw;
-extern	int16_t	vtcrow, vtccol, submenu;
-
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	int8_t	*srctbl[];
-
-extern	struct	instpnt	*pntptr;
-
-extern	struct	instdef	vbufs[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etinst.c
===================================================================
--- ram/etinst.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etinst.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,23 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advscur(void);
-extern void scupd(void);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void setinst(void);
-extern void setv2gi(int16_t group);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	ctrsw;
-extern	int16_t	recsw;
-extern	int16_t	stccol;
-
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-extern	int16_t	ins2grp[];
-
-extern	struct	gdsel	*gdstbc[];
+#include "ram.h"
 
 /*
Index: ram/etioas.c
===================================================================
--- ram/etioas.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etioas.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,34 +6,5 @@
 */
 
-#include "all.h"
-
-extern	uint16_t	fromfpu(uint16_t fputime);
-extern	uint16_t	tofpu(uint16_t time);
-
-extern	void advscur(void);
-extern	void getasg(int16_t n);
-extern	void gettun(int16_t n);
-extern	void mpcupd(void);
-extern	void scupd(void);
-extern	void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern	void settmpo(int16_t val);
-
-extern	uint16_t	*obj8;
-extern	uint16_t	curintp;
-
-extern	int16_t	ctrsw;
-extern	int16_t	curasg;
-extern	int16_t	curtun;
-extern	int16_t	tmpoval;
-extern	int16_t	recsw;
-extern	int16_t	stccol;
-
-extern	int8_t	dspbuf[];
-
-extern	struct	gdsel	*gdstbc[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etiosc.c
===================================================================
--- ram/etiosc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etiosc.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,32 +6,5 @@
 */
 
-#include "all.h"
-
-/* functions defined elsewhere */
-
-extern	void	advicur(void);
-extern	void	dosync(int16_t vce);
-
-extern	int8_t	*strcpy(int8_t *s1, int8_t *s2);
-
-extern	void modinst(void);
-
-/* variables defined elsewhere */
-
-extern	int16_t	stcrow, stccol, curvce;
-
-extern	int16_t	idbox[][8];
-
-extern	uint16_t	*instob;
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-extern	int16_t	cents, bform;
-
-/* 
-
-*/
+#include "ram.h"
 
 /* initialized variables */
Index: ram/etipnt.c
===================================================================
--- ram/etipnt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etipnt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,30 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern	void	advicur(void);
-extern	void	pntsel(void);
-extern	void	showpt(int16_t q);
-extern	int16_t	timeto(int16_t fn, int16_t pj);
-extern	void	setseg(int16_t pn, uint16_t ptime);
-
-extern	int16_t inspnt(struct instdef *ip, int16_t fn, int16_t inpnt);
-extern	void modinst(void);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stccol, subj, curvce, curfunc, curpnt;
-
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-extern	struct	instpnt	*pntptr;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etires.c
===================================================================
--- ram/etires.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etires.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,20 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern void modinst(void);
-extern void sendval(int16_t voice, int16_t par, int16_t ival);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stcrow, stccol, curvce, curfunc;
-
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-extern	struct	instpnt	*pntptr;
+#include "ram.h"
 
 int16_t	rsntab[] = {		/* resonance table */
Index: ram/etitim.c
===================================================================
--- ram/etitim.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etitim.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,30 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern	void	advicur(void);
-extern	int16_t	edfunc(int16_t n);
-extern	void	pntsel(void);
-
-extern	int16_t timeto(int16_t fn, int16_t pj);
-extern	void modinst(void);
-extern	void setseg(int16_t pn, uint16_t ptime);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stccol, subj, curvce, curfunc, curpnt;
-extern	int16_t	pecase, npts, temin, temax, pntsv;
-
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-extern	struct	instpnt	*pntptr;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etival.c
===================================================================
--- ram/etival.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etival.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,38 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	void	advicur(void);
-extern	int16_t	edfunc(int16_t n);
-extern	int16_t	dec2fr(int8_t *s);
-
-extern	int8_t	*dsimlt(int8_t *buf, int16_t src, int16_t mltval);
-extern	int8_t	*fr2dec(int16_t v, int8_t *s);
-
-extern	void dswin(int16_t n);
-extern	void idvlblc(void);
-extern	void idvlbld(void);
-extern	void modinst(void);
-extern	void ttcpos(int16_t row, int16_t col);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stccol, curfunc;
-
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instpnt	*pntptr;
-
-extern	int16_t	vtcrow, vtccol, idsrcsw, submenu;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etivce.c
===================================================================
--- ram/etivce.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etivce.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,24 +6,7 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	VCE_OFF		6
-
-extern	void	advicur(void);
-extern	void	newvce(int16_t voice);
-
-extern	void allwins(void);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stccol, curvce;
-
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
 
 /*
Index: ram/etiwsn.c
===================================================================
--- ram/etiwsn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etiwsn.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,23 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advicur(void);
-extern void dswin(int16_t n);
-extern void modinst(void);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	stcrow, stccol, curvce;
-extern	int16_t	idbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-extern	struct	wstbl	wslib[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etloc.c
===================================================================
--- ram/etloc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etloc.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,36 +6,5 @@
 */
 
-#include "all.h"
-
-extern	uint16_t	setsr(uint16_t sr);
-
-extern	void advscur(void);
-extern	void scupd(void);
-extern	void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-
-extern	uint16_t	*obj8;
-
-extern	uint16_t	curintp;
-
-extern	int16_t		ctrsw;
-extern	int16_t		timemlt;
-extern	int16_t		recsw;
-extern	int16_t		stccol;
-
-extern	int16_t		grploc[];
-extern	int16_t		grpmode[];
-extern	int16_t		grpstat[];
-extern	int16_t		loctab[];
-extern	int16_t		vce2grp[];
-
-extern	int16_t		expbit[];
-
-extern	struct gdsel	*gdstbc[];
-
-extern	struct instdef	vbufs[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etmcfn.c
===================================================================
--- ram/etmcfn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etmcfn.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,28 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advicur(void);
-extern void dosync(int16_t vce);
-
-extern	uint16_t	*instob;
-
-extern	int16_t	curvce;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	wmcsel;
-extern	int16_t	wmctag;
-
-extern	int8_t	dspbuf[];
-
-extern	int16_t	idbox[][8];
-
-extern	struct	instdef	vbufs[];
-
-extern	struct	wstbl	wslib[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etrel.c
===================================================================
--- ram/etrel.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etrel.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,5 +6,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 int16_t et_rel(void)
Index: ram/etres1.c
===================================================================
--- ram/etres1.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etres1.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,30 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advscur(void);
-extern void ds_anmd(void);
-extern void ds_anrs(void);
-extern void ds_anvl(void);
-extern void scupd(void);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void setsv(int16_t grp, int16_t src, int16_t ival);
-
-extern	int16_t	ancmsw;
-extern	int16_t	angroup;
-extern	int16_t	ctrsw;
-extern	int16_t	recsw;
-extern	int16_t	stccol;
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	anrs[8][16];
-extern	int16_t	grpmode[12];
-extern	int16_t	grpstat[12];
-extern	int16_t	var2src[6];
-extern	int16_t	varmode[8][16];
-
-extern	struct	gdsel	*gdstbc[];
-extern	struct	valent	valents[];
+#include "ram.h"
 
 /*
Index: ram/etscor.c
===================================================================
--- ram/etscor.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etscor.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,17 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advscur(void);
-extern void dsimode(void);
-extern void icancel(void);
-extern void sdwins(void);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	insmode;
-extern	int16_t	stccol;
-
-extern	int8_t	dspbuf[];
+#include "ram.h"
 
 /*
Index: ram/etsnbt.c
===================================================================
--- ram/etsnbt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etsnbt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,19 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advscur(void);
-extern void dsimode(void);
-extern void icancel(void);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	clkrun;
-extern	int16_t	insmode;
-extern	int16_t	stccol;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etstrn.c
===================================================================
--- ram/etstrn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etstrn.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,18 +6,5 @@
 */
 
-#include "all.h"
-
-extern void ttcpos(int16_t row, int16_t col);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	grptran;
-extern	int16_t	sdmctl;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-extern	int16_t	vtxval;
-extern	int16_t	vtyval;
-
-extern	int8_t	dspbuf[];
+#include "ram.h"
 
 /*
Index: ram/ettpch.c
===================================================================
--- ram/ettpch.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ettpch.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,34 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-/* functions defined elsewhere */
-
-extern	int16_t	cnvp2c(void);
-
-extern	void advtcur(void);
-extern	void cnvc2p(int8_t *buf, int16_t cv);
-extern	void modtun(void);
-
-/* variables defined elsewhere */
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int16_t	stcrow, stccol, cents;
-
-extern	int16_t	tdbox[][8];
-
-extern	int16_t	tuntab[];
-
-extern	int8_t	dspbuf[];
-extern	int8_t	sfdsp[];
-
-extern	uint16_t	*tunob;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/ettrns.c
===================================================================
--- ram/ettrns.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ettrns.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,27 +8,5 @@
 #define	DEBUGIT	0
 
-#include "all.h"
-
-extern	void	advscur(void);
-
-extern	void scupd(void);
-extern	void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern	void settune(void);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	ctrsw, recsw, stccol, stcrow;
-
-extern	int16_t	s_trns[12];	/* current transposition values */
-
-extern	int8_t	dspbuf[65];
-
-extern	int16_t	grpdyn[], grpmode[], grpstat[];
-
-extern	struct	gdsel	*gdstbc[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etttab.c
===================================================================
--- ram/etttab.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etttab.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,21 +6,5 @@
 */
 
-#include "all.h"
-
-extern void modtun(void);
-extern void settc(int16_t rv, int16_t cv);
-
-extern	uint16_t	*tunob;
-
-extern	int16_t	stcrow, stccol;
-extern	int16_t	curtun, tunmod;
-
-extern	int16_t	tdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/ettval.c
===================================================================
--- ram/ettval.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ettval.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,20 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advtcur(void);
-extern void tdswin(int16_t n);
-
-extern	uint16_t	*tunob;
-
-extern	int16_t	stcrow, stccol, tunval, tunmod;
-
-extern	int16_t	tdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etvel.c
===================================================================
--- ram/etvel.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etvel.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,20 +6,5 @@
 */
 
-#include "all.h"
-
-extern void advscur(void);
-
-extern	uint16_t	*obj8;
-
-extern	int16_t	recsw;
-extern	int16_t	stccol;
-
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-extern	int16_t	lastvel[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwavs.c
===================================================================
--- ram/etwavs.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwavs.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,23 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	advwcur(void);
-
-extern	uint16_t exp_c(uint16_t c);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stccol, curwave, curvce, curwslt;
-
-extern	int16_t	wsnmod[12][2];
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwhar.c
===================================================================
--- ram/etwhar.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwhar.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,21 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	advwcur(void);
-extern	void	newws(void);
-extern	void	wdswin(int16_t n);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stccol, curwhrm;
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwhrv.c
===================================================================
--- ram/etwhrv.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwhrv.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,30 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	advwcur(void);
-extern	void	wdswin(int16_t n);
-
-extern	void adj(int16_t wshar);
-extern	void whupd(void);
-extern	void wscalc(void);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stcrow, stccol, curwhrv, curvce, curwslt, curwhrm;
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-extern	struct	instdef	vbufs[];
-
-extern	int16_t	wsnmod[12][2];
-
-extern	int16_t	vmtab[NUMHARM];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwoff.c
===================================================================
--- ram/etwoff.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwoff.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,25 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	advwcur(void);
-extern	void	wdswin(int16_t n);
-extern	void	pntsup(void);
-
-extern	void wdintp(void);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stcrow, stccol, lstwoff, curwoff, curvce, curwslt, curwdth;
-
-extern	int16_t	wsnmod[12][2];
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwpnt.c
===================================================================
--- ram/etwpnt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwpnt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,21 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	advwcur(void);
-extern	void	wdswin(int16_t n);
-extern	void	newws(void);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stccol, curwpnt;
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwslt.c
===================================================================
--- ram/etwslt.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwslt.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,22 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern	void	advwcur(void);
-extern	void	wdswin(int16_t n);
-extern	void	newws(void);
-extern	void	dsnewws(void);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stcrow, stccol, curwslt;
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/etwvce.c
===================================================================
--- ram/etwvce.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/etwvce.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	advwcur(void);
-
-extern	void newvce(int16_t voice);
-extern	void wwins(void);
-
-extern	uint16_t	*waveob;
-
-extern	int16_t	stcrow, stccol, curvce;
-
-extern	int16_t	wdbox[][8];
-
-extern	int8_t	dspbuf[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/fcnote.c
===================================================================
--- ram/fcnote.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/fcnote.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,9 +6,7 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	TO_LFT		(TO_BAK + 1)
-
-extern	int32_t	ctime;		/* time at cursor */
 
 /*
Index: ram/frfind.c
===================================================================
--- ram/frfind.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/frfind.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -57,15 +57,5 @@
 #define	CHECKP		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	verbose, testing;
-#endif
-
-extern	int16_t	insmode;
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/gcurpos.c
===================================================================
--- ram/gcurpos.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/gcurpos.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,10 +6,8 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	YOFF	15	/* y pixel offset */
 #define	XOFF	14	/* x pixel offset */
-
-extern	int16_t	sgcsw;
 
 /* 4 bit pixel patterns */
@@ -32,12 +30,4 @@
 #define	AW_F	0xFFFF
 
-extern	void	objclr(uint16_t obj);
-extern	void	SetPri(int16_t obj, int16_t pri);
-extern	void	vbank(uint16_t b);
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t	stcrow, stccol;
-
 /* 
 
Index: ram/idfield.c
===================================================================
--- ram/idfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/idfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,136 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	select(void);
-extern	void	stdmkey(void);
-extern	void	stddkey(int16_t k);
-extern	void	nokey(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	int16_t	vtoy(int16_t val, int16_t window);
-extern	int16_t	ttox(uint16_t time, int16_t window);
-extern	int16_t	timeto(int16_t fn, int16_t pj);
-extern	void	dswin(int16_t n);
-extern	int16_t	stdctp1(void);
-extern	int16_t	whatbox(void);
-extern	int16_t	inspnt(struct instdef *ip, int16_t fn, int16_t inpnt);
-extern	void	pntsel(void);
-extern	void	setseg(int16_t pn, uint16_t ptime);
-extern	void	showpt(int16_t q);
-
-extern	int16_t	et_null(int16_t n);
-extern	int16_t	ef_null(int16_t n);
-extern	int16_t	rd_null(int16_t n);
-extern	int16_t	nd_null(int16_t n, int16_t k);
-extern	int16_t	et_ipnt(int16_t n);
-extern	int16_t	ef_ipnt(int16_t n);
-extern	int16_t	rd_ipnt(int16_t n);
-extern	int16_t	nd_ipnt(int16_t n, int16_t k);
-extern	int16_t	et_idin(int16_t n);
-extern	int16_t	ef_idin(int16_t n);
-extern	int16_t	rd_idin(int16_t n);
-extern	int16_t	nd_idin(int16_t n, int16_t k);
-extern	int16_t	et_ivce(int16_t n);
-extern	int16_t	ef_ivce(int16_t n);
-extern	int16_t	rd_ivce(int16_t n);
-extern	int16_t	nd_ivce(int16_t n, int16_t k);
-extern	int16_t	et_icnf(int16_t n);
-extern	int16_t	ef_icnf(int16_t n);
-extern	int16_t	rd_icnf(int16_t n);
-extern	int16_t	nd_icnf(int16_t n, int16_t k);
-extern	int16_t	et_ival(int16_t n);
-extern	int16_t	ef_ival(int16_t n);
-extern	int16_t	rd_ival(int16_t n);
-extern	int16_t	nd_ival(int16_t n, int16_t k);
-extern	int16_t	et_itim(int16_t n);
-extern	int16_t	ef_itim(int16_t n);
-extern	int16_t	rd_itim(int16_t n);
-extern	int16_t	nd_itim(int16_t n, int16_t k);
-extern	int16_t	et_iosc(int16_t nn);
-extern	int16_t	ef_iosc(int16_t nn);
-extern	int16_t	rd_iosc(int16_t nn);
-extern	int16_t	nd_iosc(int16_t nn, int16_t k);
-extern	int16_t	et_iact(int16_t nn);
-extern	int16_t	ef_iact(int16_t nn);
-extern	int16_t	rd_iact(int16_t nn);
-extern	int16_t	nd_iact(int16_t nn, int16_t k);
-extern	int16_t	et_iwsn(int16_t nn);
-extern	int16_t	ef_iwsn(int16_t nn);
-extern	int16_t	rd_iwsn(int16_t nn);
-extern	int16_t	nd_iwsn(int16_t nn, int16_t k);
-extern	int16_t	et_ires(int16_t n);
-extern	int16_t	ef_ires(int16_t n);
-extern	int16_t	rd_ires(int16_t n);
-extern	int16_t	nd_ires(int16_t n, int16_t k);
-extern	int16_t	et_imlt(int16_t n);
-extern	int16_t	ef_imlt(int16_t n);
-extern	int16_t	rd_imlt(int16_t n);
-extern	int16_t	nd_imlt(int16_t n, int16_t k);
-
-extern	uint16_t	fromfpu(uint16_t fputime);
-
-extern	void	*memset(void *vp, int8_t c, int16_t n);
-
-/* 
-
-*/
-
-extern	int16_t	curvce, curfunc, curpnt, hitbox, astat, idnamsw;
-extern	int16_t	cxval, cyval, cxrate, cyrate, curslim, cmtype, cmfirst;
-extern	int16_t	pecase, pntsv, npts, subj, idimsw, wcflag, imflag;
-extern	int16_t	idcfsw, idsrcsw, vtcrow, vtccol, stcrow, stccol;
-extern	int16_t	vtxval, vtyval;
-
-extern	int16_t	temax, temin;
-
-extern	int16_t	*cratex, *cratey, crate0[], crate1[];
-
-extern	uint16_t	*instob;
-
-extern	int8_t	bfs[];
-extern	int8_t	*idbxlbl[];
-
-extern	int16_t	fnoff[];
-extern	int16_t	idbox[][8];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	idboxes[];
-
-extern	struct	sment	sments[];
-extern	struct	sment	*vpsms[];
-
-extern	struct	valent	valents[];
-
-extern	struct	instpnt	*pntptr;
-
-extern	struct	instdef	vbufs[];
-
-void	idx_key(void);
-int16_t	idnfld(int16_t k);
-void	idcxupd(void);
-void	idcyupd(void);
-void	ikyup(void);
-void	ikydn(void);
-
-extern	int16_t delpnts(void);
-extern	int16_t edfunc(int16_t n);
-extern	int16_t gcurpos(int16_t xloc, int16_t yloc);
-extern	int16_t segtime(int16_t pn, uint16_t ptime);
-extern	uint16_t addfpu(uint16_t t, int16_t k);
-extern	uint16_t subfpu(uint16_t t, int16_t k);
-extern	void allwins(void);
-extern	void arcurs(uint16_t icolor);
-extern	void curset(struct curpak *s);
-extern	void execins(int16_t vce, int16_t ins, int16_t tag);
-extern	void initi(struct instdef *ip);
-extern	void modinst(void);
-extern	void setinst(void);
-extern	void vtcxupd(void);
-extern	void vtcyupd(void);
-
-/* 
-
-*/
+#include "ram.h"
 
 int16_t	zonemax[9] = { 63, 119, 175, 231, 287, 343, 399, 455, 509};
Index: ram/idselbx.c
===================================================================
--- ram/idselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/idselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,73 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	(*itxput)(int16_t row, int16_t col, int8_t *txt, int16_t tag);
-
-extern	void	dswin(int16_t n);
-extern	int16_t	entbh(int16_t n);
-extern	void	vtdisp(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf);
-extern	void	advicur(void);
-extern	void	bspicur(void);
-
-extern	void	drawfn(int16_t fn, int16_t how, int16_t pen, int16_t wn);
-extern	int16_t	selpnt(void);
-extern	int16_t	ttox(uint16_t time, int16_t window);
-extern	int16_t	vtoy(int16_t val, int16_t window);
-
-extern	int16_t	timeto(int16_t fn, int16_t pj);
-extern	uint16_t	exp_c(uint16_t c);
-
-/* 
-
-*/
-
-extern	int16_t	cursbox, cxval, cyval;
-extern	int16_t	curvce, curfunc, curpnt;
-extern	int16_t	hitbox, hitcx, hitcy, idnamsw, idimsw, idtdat;
-extern	int16_t	pntsv, pecase, stccol, subj, submenu;
-
-extern	int16_t	temin, temax;
-
-extern	struct	selbox	*csbp, *curboxp;
-extern	struct	instdef vbufs[];
-extern	struct	instdef idefs[];
-
-extern	struct	instpnt	*pntptr;
-
-extern	int16_t	idbox[][8];
-extern	int16_t	instmod[];
-
-extern	int8_t	*vtdeptr;
-
-extern	int8_t	*idbxlbl[];
-extern	int8_t	idhlbl[];
-extern	int8_t	bfs[];
-
-extern	uint16_t	*instob;
-
-/* forward references */
-
-int16_t	bx_null(void);
-int16_t	idfnbox(int16_t n);
-
-extern	int16_t gcurpos(int16_t xloc, int16_t yloc);
-extern	int16_t rd_ires(int16_t n);
-extern	int16_t vtyper(void);
-extern	void allwins(void);
-extern	void arcurs(uint16_t icolor);
-extern	void drawpt(int16_t px, int16_t py, int16_t pc);
-extern	void idbord(void);
-extern	void idvlblc(void);
-extern	void idvtyp(void);
-extern	void pntsel(void);
-extern	void setgc(int16_t xv, int16_t yv);
-extern	void settc(int16_t rv, int16_t cv);
-extern	void vtsetup(uint16_t *obj, int16_t (*dsp)(), int16_t col, int8_t *ptr, int16_t tr, int16_t tc, int16_t (*adv)(), int16_t (*bsp)(), int16_t (*cup)(), int16_t (*cdn)(), int16_t (*stop)(), uint16_t fg, uint16_t bg);
-extern	void wcmenu(int16_t wc);
-
-/* 
-
-*/
+#include "ram.h"
 
 struct	selbox	idboxes[] = {
Index: ram/im700.c
===================================================================
--- ram/im700.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/im700.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -11,95 +11,5 @@
 #define	M7CAT		1		/* so libdsp.h gets it right */
 
-#include "all.h"
-
-extern	uint16_t	tofpu(uint16_t time);
-
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	void	stdmkey(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	cxgen(void);
-extern	void	cygen(void);
-extern	void	cmvgen(void);
-extern	int16_t	stdctp2(void);
-
-extern	int16_t xgetran(int16_t mlt);
-extern	uint16_t setipl(uint16_t arg);
-extern	void clearer(int16_t stat, int16_t sig);
-extern	void clrnl(void);
-extern	void getasg(int16_t n);
-extern	void inital(void);
-extern	void initil(void);
-extern	void initpt(void);
-extern	void initsq(void);
-extern	void inittl(void);
-extern	void iniwslb(void);
-extern	void lcdlbls(void);
-extern	void setdyn(int16_t grp, int16_t dyn);
-extern	void setleds(void);
-extern	void setloc(int16_t grp, int16_t loc);
-extern	void settmpo(int16_t val);
-extern	void swinit(void);
-extern	void vsndpal(int16_t pp[16][3]);
-
-extern	int16_t	blakpal[16][3];
-
-extern	LPF	t_prmtr[];
-
-extern	int8_t	*funcndx[256][2];
-
-extern	int8_t	keystat[24];
-extern	int8_t	ldcmnt[38];
-extern	int8_t	ldfile[9];
-extern	int8_t	loadedc[NLTYPES][37];
-extern	int8_t	loadedf[NLTYPES][8];
-extern	int8_t	masens[3];
-extern	int8_t	mctlval[NCTRLS];
-extern	int8_t	mdbyte[3];
-extern	int8_t	mpsust[48];
-extern	int8_t	mrstat[3];
-extern	int8_t	trgtab[NTRIGS];
-
-extern	int16_t	fnoff[];
-
-extern	int16_t	articen[12];		/* voice articulation enable status */
-extern	int16_t	grpmode[12];		/* group mode - 0 = play, 1 = stdby, 2 = rec */
-extern	int16_t	grpsel[12];		/* group select status for instrument selection */
-extern	int16_t	grpstat[12];		/* group status - 0 = off, non-0 = on */
-extern	int16_t	gtctab[12];		/* group to color table */
-extern	int16_t	lastvce[12];		/* last voice assigned in each group */
-extern	int16_t	lastvel[12];		/* last velocity sent to group */
-extern	int16_t	mpbend[48];		/* MIDI pitch bend data, by port and channel */
-extern	int16_t	msmstv[3];		/* MIDI state machine state variables */
-extern	int16_t	prstab[NTRIGS];		/* pressure */
-extern	int16_t	vce2trg[12];		/* voice to trigger map (-1 EQ NULL) */
-extern	int16_t	veltab[NTRIGS];		/* velocity */
-
-/* 
-
-*/
-
-extern	LPF	(*oldsw)[];		/* saved swpt value */
-extern	LPF	(*swpt)[];		/* switch dispatch table pointer */
-
-extern	void	(*curmove)(void);	/* cursor move function */
-extern	int16_t	(*curtype)(void);	/* cursor type function */
-extern	void	(*cx_key)(void);	/* x rate calculation */
-extern	void	(*cx_upd)(void);	/* x update */
-extern	void	(*cy_key)(void);	/* y rate calculation */
-extern	void	(*cy_upd)(void);	/* y update */
-extern	void	(*d_key)(int16_t k);	/* in-field data key processor */
-extern	void	(*e_key)(void);		/* E key processor */
-extern	void	(*m_key)(void);		/* M key processor */
-extern	int16_t	(*not_fld)(int16_t k);	/* not-in-field data key processor */
-extern	void	(*premove)(void);	/* cursor pre-move function */
-extern	void	(*pstmove)(void);	/* cursor post-move function */
-extern	void	(*x_key)(void);		/* X key processor */
-extern	void	(*xy_dn)(void);		/* cursor - finger on (down) */
-extern	void	(*xy_up)(void);		/* cursor - finger off (up) */
-
-extern	int16_t	*cratex;		/* cursor x rate table pointer */
-extern	int16_t	*cratey;		/* cursor x rate table pointer */
+#include "ram.h"
 
 int16_t	admctl;			/* assignment display submenu control variable */
Index: ram/infield.c
===================================================================
--- ram/infield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/infield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,7 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int16_t	stcrow, stccol;
+#include "ram.h"
 
 /*
Index: ram/initi.c
===================================================================
--- ram/initi.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/initi.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,49 +8,5 @@
 #define	DEBUGPS		0		/* define non-zero to debug pntsel() */
 
-#include "all.h"
-
-extern	uint16_t	setipl(uint16_t arg);
-
-extern	uint16_t	tofpu(uint16_t time);
-extern	uint16_t	fromfpu(uint16_t fputime);
-
-extern	void clrvce(int16_t vce);
-extern	void dosync(int16_t vce);
-extern	void dswin(int16_t n);
-extern	void execkey(int16_t trg, int16_t pch, int16_t vce, int16_t tag);
-extern	void fpuclr(void);
-extern	void newws(void);
-
-extern	int16_t	s_inst[], vce2trg[], vce2grp[];
-
-extern	int16_t	curfunc;	/* current function number */
-extern	int16_t	curinst;	/* current instrument number */
-extern	int16_t	curpnt;		/* current point number (absolute) */
-extern	int16_t	curvce;		/* current voice number */
-extern	int16_t	cxval;		/* graphics cursor x value */
-extern	int16_t	editsw;		/* edit mode switch */
-extern	int16_t	initcfg;	/* initialization cfg value */
-extern	int16_t	npts;		/* number of points in function */
-extern	int16_t	pecase;		/* point edit case variable */
-extern	int16_t	pntsv;		/* point selection state variable */
-extern	int16_t	subj;		/* edited point number (relative) */
-extern	int16_t	temax;		/* time upper limit */
-extern	int16_t	temin;		/* time lower limit */
-
-extern	int8_t	*funcndx[256][2];	/* function header pointers */
-
-extern	int16_t	idbox[][8];		/* display box parameters */
-extern	int16_t	instmod[12];		/* intrument data modified */
-
-extern	int16_t	fnoff[];		/* instrument fn to FPU fn table */
-
-extern	struct	instpnt	*pntptr;	/* pointer to edited point */
-
-extern	struct	instdef	idefs[NINST];	/* current instrument definitions */
-extern	struct	instdef	vbufs[12];	/* voice instrument buffers */
-
-/* 
-
-*/
+#include "ram.h"
 
 #include "dfltins.h"		/* short dfltins[]; default instrument */
Index: ram/instdsp.c
===================================================================
--- ram/instdsp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/instdsp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,99 +8,8 @@
 #define	D_EXECKI	0		/* debug execins() */
 
-#include "all.h"
+#include "ram.h"
 
 #define	LSPCH		2		/* pitch source scale factor */
 #define	MAXRAND		(0x00FFFFFFL)	/* largest random number */
-
-/* things defined elsewhere */
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	void	fpuint(void);
-extern	uint16_t	setipl(uint16_t arg);
-extern	void	cnvc2p(int8_t *buf, int16_t cv);
-
-extern	uint16_t	tofpu(uint16_t time);
-extern	uint16_t	fromfpu(uint16_t fputime);
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int8_t	*dsimlt(int8_t *buf, int16_t src, int16_t mltval);
-
-extern	int32_t	rand24(void);
-
-/* 
-
-*/
-
-extern	int16_t	cxval, cyval, stcrow, stccol, initcfg;
-extern	int16_t	curslim, idimsw;
-
-extern	uint16_t	*obj0, *obj2;
-
-extern	int8_t	bfs[], *srctbl[], sfdsp[];
-extern	int8_t	vtlin1[], vtlin2[], vtlin3[];
-
-extern	struct	sment	sments[];
-extern	struct	valent	valents[];
-extern	struct	sment	*vpsms[];
-
-extern	int16_t	s_inst[], vce2trg[], vce2grp[];
-
-extern	int16_t	curfunc;	/* current function number */
-extern	int16_t	curinst;	/* current instrument number */
-extern	int16_t	curpnt;		/* current point number (absolute) */
-extern	int16_t	curvce;		/* current voice number */
-extern	int16_t	idcfsw;		/* copy / fetch menu switch */
-extern	int16_t	idintmp;	/* temporary for instrument number */
-extern	int16_t	idnamsw;	/* typewriter switch */
-extern	int16_t	idsrcsw;	/* source menu switch */
-extern	int16_t	npts;		/* number of points in function */
-extern	int16_t	pecase;		/* point edit case variable */
-extern	int16_t	pntsv;		/* point selection state variable */
-extern	int16_t	subj;		/* edited point number (relative) */
-extern	int16_t	submenu;	/* submenu cursor switch */
-extern	int16_t	temax;		/* time upper limit */
-extern	int16_t	temin;		/* time lower limit */
-extern	int16_t	vlbtype;	/* type of message window display */
-extern	int16_t	wcflag;		/* ws/cf menu type */
-extern	int16_t	wcpage;		/* ws/cf menu page */
-
-extern	int16_t	instmod[12];	/* intrument data modified */
-
-extern	uint16_t *instob;	/* instrument object pointer */
-
-extern	struct	octent *idoct;		/* instrument display octent pointer */
-extern	struct	instpnt	*pntptr;	/* pointer to edited point */
-
-extern	struct	instdef	idefs[NINST];	/* current instrument definitions */
-extern	struct	instdef	vbufs[12];	/* voice instrument buffers */
-
-extern	int8_t	*funcndx[256][2];	/* function header pointers */
-extern	int8_t	*vlbptr[3];		/* variable label pointers */
-
-extern	int8_t	idbuf[91];		/* display conversion work area */
-
-/* 
-
-*/
-
-/* forward references */
-
-void	idpoint(int16_t x, int16_t y, int16_t pen);
-
-extern	int16_t timeto(int16_t fn, int16_t pj);
-extern	int16_t ttox(uint16_t time, int16_t window);
-extern	int16_t vtoy(int16_t val, int16_t window);
-extern	void arcurs(uint16_t icolor);
-extern	void dswap(void);
-extern	void idfield(void);
-extern	void int2rat(int16_t rat);
-extern	void itcini(uint16_t color);
-extern	void setgc(int16_t xv, int16_t yv);
-extern	void setinst(void);
-extern	void settc(int16_t rv, int16_t cv);
-extern	void showcfg(int16_t nn);
-extern	void ttcini(uint16_t color);
-extern	void vsndpal(int16_t pp[16][3]);
 
 int16_t	idbox[][8] = {	/* display box parameters */
Index: ram/itcpos.c
===================================================================
--- ram/itcpos.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/itcpos.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,8 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	CW_0	0x0000
 #define	CW_F	0xFFFF
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern	uint16_t setipl(uint16_t arg);
-extern	void andcopy(uint16_t *to, uint16_t *from, uint16_t with, int16_t len);
-
-extern	int16_t	stcrow, stccol;		/* text cursor row,col */
-
-extern	uint16_t	*obj0;		/* cursor object pointer */
-
-/* 
-
-*/
 
 static int16_t itcur[] = {
Index: ram/kbobj.c
===================================================================
--- ram/kbobj.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/kbobj.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -12,5 +12,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	K_BLK	0	/* black keys */
Index: ram/lcdlbls.c
===================================================================
--- ram/lcdlbls.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/lcdlbls.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,5 +8,5 @@
 #define	ROMPOK		1		/* non-zero enables the ROMP switch */
 
-#include "all.h"
+#include "ram.h"
 
 #define	ARTIVAL(x)	(x << 5)
@@ -24,126 +24,4 @@
 
 */
-extern	int8_t	gain2eq(int16_t gain);
-
-extern	uint16_t	setsr(uint16_t sr);
-
-extern	void	(*d_key)(int16_t k);
-extern	void	(*e_key)(void);
-extern	void	(*m_key)(void);
-extern	void	(*x_key)(void);
-extern	void	(*olddkey)(int16_t k);
-extern	void	(*oldekey)(void);
-extern	void	(*oldmkey)(void);
-extern	void	(*oldxkey)(void);
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	LPF	(*oldsw)[];
-extern	LPF	(*swpt)[];
-
-extern	LPF	aswtbl[14];
-
-extern	int16_t	asig;
-extern	int16_t	asmode;
-extern	int16_t	astat;
-extern	int16_t	aval;
-extern	int16_t	clkrun;
-extern	int16_t	ctrsw;
-extern	int16_t	curasg;
-extern	int16_t	gomode;
-extern	int16_t	ismode;
-extern	int16_t	lampio;
-extern	int16_t	lampsw;
-extern	int16_t	loadrow;
-extern	int16_t	loadsw;
-extern	int16_t	ltagged;
-extern	int16_t	ndisp;
-extern	int16_t	oldpk;
-extern	int16_t	oldsl;
-extern	int16_t	pkctrl;
-extern	int16_t	recsw;
-extern	int16_t	sliders;
-extern	int16_t	tagslot;
-extern	int16_t	tmpomlt;
-extern	int16_t	tmpoval;
-extern	int16_t	tuneval;
-
-extern	uint16_t	seqdupd;
-
-extern	int16_t	BGeq[];
-extern	int16_t	BGother[];
-extern	int16_t	BGprmtr[];
-
-extern	int16_t	articen[];
-extern	int16_t	grpmode[];
-extern	int16_t	grpsel[];
-extern	int16_t	grpstat[];
-extern	int16_t	ins2grp[];
-extern	int16_t	lastart[];
-extern	int16_t	s_trns[];
-extern	int16_t	vce2grp[];
-extern	int16_t	vce2trg[];
-
-extern	int16_t	anrs[][16];
-
-extern	int32_t	iotime;
-extern	int32_t	lcdontm;
-extern	int32_t	lcdtime;
-
-extern	struct	gdsel	*gdstbc[];
-
-extern	struct	valent	valents[];
-
-/* 
-
-*/
-
-/* forward references */
-
-void	l_none(int16_t _1, int16_t _2);
-void	l_prmtr(int16_t stat, int16_t sig);
-void	l_other(int16_t stat, int16_t sig);
-void	l_voice(int16_t stat, int16_t vce);
-void	l_init(int16_t stat, int16_t sig);
-void	l_clock(int16_t stat, int16_t _2);
-void	l_eq(int16_t stat, int16_t sig);
-void	trapper(int16_t stat, int16_t _2);
-void	setlamp(int16_t stat, int16_t _2);
-void	rpctl(int16_t stat, int16_t _2);
-void	quiet(int16_t _1, int16_t _2);
-void	l_group(int16_t stat, int16_t grp);
-void	l_dflt(int16_t stat, int16_t _2);
-void	l_inst(int16_t stat, int16_t _2);
-void	l_goto(int16_t stat, int16_t _2);
-void	l_asgn(int16_t stat, int16_t _2);
-void	l_adfl(int16_t stat, int16_t _2);
-void	l_load(int16_t stat, int16_t _2);
-
-void	lcdlbls(void);
-void	sendart(int16_t vce, int16_t par, int16_t ival);
-
-extern	int16_t addpch(int16_t p1, int16_t p2);
-extern	int16_t lcancel(int16_t lct);
-extern	uint16_t exp_c(uint16_t c);
-extern	uint16_t setipl(uint16_t arg);
-extern	void BarBadj(int16_t bar, int16_t val);
-extern	void BarBset(int16_t bar, int16_t val);
-extern	void BarCadj(int16_t bar, int16_t val);
-extern	void BarCset(int16_t bar, int16_t val);
-extern	void clkset(int16_t st);
-extern	void dclkmd(void);
-extern	void dslslot(int16_t slot, uint16_t fg, int16_t row);
-extern	void dsrpmod(void);
-extern	void getasg(int16_t n);
-extern	void loadem(int16_t key);
-extern	void mpcupd(void);
-extern	void scupd(void);
-extern	void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern	void sendeq(int8_t band, int8_t gain);
-extern	void sendval(int16_t voice, int16_t par, int16_t ival);
-extern	void setinst(void);
-extern	void setleds(void);
-extern	void setv2gi(int16_t group);
-extern	void stmproc(uint16_t trg);
-extern	void xtrap15(void);
 
 /* initialized stuff */
Index: ram/ldfield.c
===================================================================
--- ram/ldfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ldfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,116 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern	void	select(void);
-extern	int16_t	whatbox(void);
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	stdmkey(void);
-extern	int16_t	et_null(int16_t n);
-extern	int16_t	ef_null(int16_t n);
-extern	int16_t	rd_null(int16_t n);
-extern	int16_t	nd_null(int16_t n, int16_t k);
-extern	void	lmwclr(void);
-extern	int16_t	ftkind(int16_t ns);
-extern	void	_clsvol(void);
-extern	int16_t	lcancel(int16_t lct);
-extern	int16_t	stdctp0(void);
-extern	int16_t	ldline(int16_t cy);
-extern	int16_t	lin2slt(int16_t line);
-extern	void	dslslot(int16_t slot, uint16_t fg, int16_t row);
-extern	int16_t	putcat(void);
-extern	int16_t	showcat(void);
-extern	int16_t	showsiz(void);
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	void	*memset(void *vp, int8_t c, int16_t n);
-extern	int8_t	*slotnam(uint16_t slot, uint16_t kind);
-
-/* 
-
-*/
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int16_t	astat;
-extern	int16_t	catin;
-extern	int16_t	cmfirst;
-extern	int16_t	cxrate;
-extern	int16_t	cxval;
-extern	int16_t	cyrate;
-extern	int16_t	cyval;
-extern	int16_t	ldelsw;
-extern	int16_t	lderrsw;
-extern	int16_t	ldkind;
-extern	int16_t	ldpass;
-extern	int16_t	ldrow;
-extern	int16_t	ldslot;
-extern	int16_t	lmwtype;
-extern	int16_t	loadrow;
-extern	int16_t	loadsw;
-extern	int16_t	lorchl;
-extern	int16_t	lrasw;
-extern	int16_t	lselsw;
-extern	int16_t	ltagged;
-extern	int16_t	ndisp;
-extern	int16_t	oldltag;
-extern	int16_t	oldpk;
-extern	int16_t	oldsl;
-extern	int16_t	pkctrl;
-extern	int16_t	sliders;
-extern	int16_t	stcrow;
-extern	int16_t	stccol;
-extern	int16_t	submenu;
-extern	int16_t	tagslot;
-extern	int16_t	thcwval;
-extern	int16_t	tvcwval;
-
-extern	uint16_t *librob;
-
-extern	int8_t	bfs[];
-extern	int8_t	ldfile[];
-extern	int8_t	ldcmnt[];
-
-extern	int16_t	crate1[];
-extern	int16_t	ldmap[];
-
-extern	LPF	(*swpt)[];
-extern	LPF	(*oldsw)[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	ldboxes[];
-
-/* forward reference */
-
-void	ld_prmv(void);
-void	ldxkey(void);
-void	ldmkey(void);
-void	ldkey(int16_t k);
-void	ldcxupd(void);
-void	ldcyupd(void);
-
-extern	int16_t getcat(int16_t msgsw);
-extern	int16_t getit(void);
-extern	int16_t ocslot(int16_t slot);
-extern	int16_t unlink(int8_t *name);
-extern	void clrerms(void);
-extern	void curset(struct curpak *s);
-extern	void dpy_scr(uint16_t color, int16_t ns);
-extern	void lcdlbls(void);
-extern	void ldswin(int16_t n);
-extern	void m7menu(void);
-extern	void setleds(void);
-extern	void vtcxupd(void);
-extern	void vtcyupd(void);
-
-/* 
-
-*/
+#include "ram.h"
 
 struct	fet	ld_fet1[] = {
Index: ram/ldselbx.c
===================================================================
--- ram/ldselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ldselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,129 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern	void	ldswin(int16_t n);
-extern	void	advlcur(void);
-extern	void	bsplcur(void);
-extern	void	ttcpos(int16_t row, int16_t col);
-extern	int16_t	fcindex(void);
-extern	int16_t	storit(void);
-extern	int16_t	showsiz(void);
-extern	int16_t	get_asg(void);
-extern	int16_t	get_orc(int16_t lorh, int16_t kind);
-extern	int16_t	get_tun(void);
-extern	int16_t	get_wav(void);
-extern	void	nokey(void);
-extern	int16_t	ldline(int16_t cy);
-extern	int16_t	lin2slt(int16_t line);
-extern	void	dslslot(int16_t slot, uint16_t fg, int16_t row);
-extern	void	vtdisp(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf);
-extern	void	ldpoint(int16_t x, int16_t y, int16_t pen);
-extern	int16_t	rd_ec(FILE *fp, int8_t *to, int32_t len);
-extern	void	fcreset(void);
-extern	int16_t	ftkind(int16_t ns);
-extern	void	ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
-extern	void	ldbusy(int8_t *msg);
-extern	int16_t	ckstor(void);
-extern	int16_t	get_pat(void);
-extern	int16_t	get_scr(void);
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int8_t	*slotnam(uint16_t slot, uint16_t kind);
-
-/* 
-
-*/
-
-#if DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	int16_t	asmode;
-extern	int16_t	catin;
-extern	int16_t	cxrate;
-extern	int16_t	cxval;
-extern	int16_t	cyrate;
-extern	int16_t	cyval;
-extern	int16_t	errno;
-extern	int16_t	gomode;
-extern	int16_t	hitcx;
-extern	int16_t	hitcy;
-extern	int16_t	ismode;
-extern	int16_t	lasgsw;
-extern	int16_t	ldelsw;
-extern	int16_t	lderrsw;
-extern	int16_t	ldkind;
-extern	int16_t	ldrow;
-extern	int16_t	ldslot;
-extern	int16_t	lksel;
-extern	int16_t	lmwtype;
-extern	int16_t	lorchl;
-extern	int16_t	lorchsw;
-extern	int16_t	lorclsw;
-extern	int16_t	ldpass;
-extern	int16_t	lpatsw;
-extern	int16_t	lrasw;
-extern	int16_t	lscrsw;
-extern	int16_t	lselsw;
-extern	int16_t	lseqsw;
-extern	int16_t	lstrsw;
-extern	int16_t	ltagged;
-extern	int16_t	ltunsw;
-extern	int16_t	lwavsw;
-extern	int16_t	ndisp;
-extern	int16_t	oldpk;
-extern	int16_t	oldsl;
-extern	int16_t	pkctrl;
-extern	int16_t	sliders;
-extern	int16_t	stcrow;
-extern	int16_t	stccol;
-extern	int16_t	tagslot;
-
-extern	uint16_t	*librob;
-
-extern	int16_t	ldmap[];
-extern	int16_t	scsizes[][2];
-
-extern	int16_t	ldbox[][8];
-
-extern	struct	scndx	sindex[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	*curboxp;
-
-extern	LPF	(*swpt)[];
-extern	LPF	(*oldsw)[];
-extern	LPF	t_libr[];
-
-extern	int8_t	bfs[];
-extern	int8_t	ldfile[];
-extern	int8_t	ldcmnt[];
-
-extern	int8_t	loadedf[][8];
-extern	int8_t	loadedc[][37];
-
-/* forward references */
-
-int16_t	bx_null(void);
-int16_t	ldfnbox(int16_t n);
-
-void	clrlsel(void);
-void	ldermsg(int8_t *p1, int8_t *p2, int8_t *p3, uint16_t p4, uint16_t p5);
-
-extern	int16_t get_seq(void);
-extern	int16_t putcat(void);
-extern	int16_t showcat(void);
-extern	int16_t vtyper(void);
-extern	void lcdlbls(void);
-extern	void lmwclr(void);
-extern	void lmwvtyp(void);
-extern	void postio(void);
-extern	void setleds(void);
-extern	void streset(void);
-extern	void vtsetup(uint16_t *obj, int16_t (*dsp)(), int16_t col, int8_t *ptr, int16_t tr, int16_t tc, int16_t (*adv)(), int16_t (*bsp)(), int16_t (*cup)(), int16_t (*cdn)(), int16_t (*stop)(), uint16_t fg, uint16_t bg);
+#include "ram.h"
 
 /* 
Index: ram/libdsp.c
===================================================================
--- ram/libdsp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/libdsp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -9,9 +9,5 @@
 #define	DEBUGWE		0
 
-#include "all.h"
-
-#if	(DEBUGRE|DEBUGWE)
-extern	short	debugsw;
-#endif
+#include "ram.h"
 
 #if	DEBUGRE
@@ -22,120 +18,4 @@
 short	debugwe = 1;
 #endif
-
-extern	int16_t	lcancel(int16_t lct);
-
-extern	int32_t	ptsizer(void);
-extern	int32_t	scsizer(void);
-extern	int32_t	sqsizer(void);
-
-/* 
-
-*/
-
-/* things defined elsewhere */
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	void	clrlsel(void);
-extern	void	_clsvol(void);
-extern	void	setgc(int16_t xv, int16_t yv);
-
-extern	int16_t	_bpbin;
-
-extern	int16_t	chtime;
-extern	int16_t	cmtype;
-extern	int16_t	cvtime;
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	sgcsw;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	submenu;
-extern	int16_t	thcwval;
-extern	int16_t	tvcwval;
-
-extern	uint16_t	*obj0, *obj2;
-
-extern	int8_t	*ldbxlb0[];
-extern	int8_t	vtlin1[], vtlin2[], vtlin3[];
-
-extern	int16_t	ldbox[][8];
-extern	struct	instdef	idefs[];
-
-extern	struct	bpb	*_thebpb;
-
-/* 
-
-*/
-
-extern	uint16_t *librob;		/* display object pointer */
-
-extern	int16_t	catin;			/* catalog read in flag */
-extern	int16_t	lrasw;			/* append (TRUE) / replace (FALSE) score */
-extern	int16_t	lorchl;			/* hi (TRUE) / lo (FALSE) orchestra */
-extern	int16_t	ldrow;			/* fetch select row */
-extern	int16_t	ldslot;			/* fetch select slot */
-extern	int16_t	lselsw;			/* fetch select switch */
-extern	int16_t	ldkind;			/* fetch file type */
-extern	int16_t	lstrsw;			/* store state switch */
-extern	int16_t	lasgsw;			/* assignments store switch */
-extern	int16_t	lksel;			/* librarian key slot selector */
-extern	int16_t	lorchsw;		/* hi orchestra (21 - 40) store switch */
-extern	int16_t	lorclsw;		/* lo orchestra (01 - 20) store switch */
-extern	int16_t	lpatsw;			/* patch store switch */
-extern	int16_t	lscrsw;			/* score store switch */
-extern	int16_t	lseqsw;			/* sequence store switch */
-extern	int16_t	ltunsw;			/* tunings store switch */
-extern	int16_t	lwavsw;			/* waveshapes store switch */
-extern	int16_t	ldelsw;			/* delete switch */
-extern	int16_t	lderrsw;		/* error message displayed switch */
-extern	int16_t	ldidsiz;		/* getcat() did showsiz() switch */
-extern	int16_t	lmwtype;		/* librarian message window type */
-extern	int16_t	ltagged;		/* load tag update in progress flag */
-extern	int16_t	ndisp;			/* display number currently up */
-
-extern	int32_t	lcsum;			/* library checksum */
-extern	int32_t	ndbytes;		/* bytes needed for storage */
-
-extern	int8_t	*lmln22;		/* message window line 22 */
-extern	int8_t	*lmln23;		/* message window line 23 */
-extern	int8_t	*lmln24;		/* message window line 24 */
-
-extern	int8_t	ldfile[9];		/* file name field */
-extern	int8_t	ldcmnt[38];		/* comment field */
-extern	int8_t	ldmsg1[65];		/* messsage build area 1 */
-extern	int8_t	ldmsg2[65];		/* messsage build area 2 */
-extern	int8_t	ldmsg3[65];		/* messsage build area 3 */
-extern	int8_t	errbuf[65];		/* error message build area */
-
-extern	struct	octent	*ldoct;		/* object control table pointer */
-
-extern	struct	mlibhdr	ldhead;		/* library header */
-
-/* forward references */
-
-void	ldpoint(int16_t x, int16_t y, int16_t pen);
-void	ldswin(int16_t n);
-
-extern	int16_t dspace(int16_t which);
-extern	int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern	int16_t wrt_asg(int16_t slot);
-extern	int16_t wrt_orc(int16_t slot, int16_t lorh);
-extern	int16_t wrt_pat(int16_t slot);
-extern	int16_t wrt_scr(int16_t slot);
-extern	int16_t wrt_seq(int16_t slot);
-extern	int16_t wrt_tun(int16_t slot);
-extern	int16_t wrt_wav(int16_t slot);
-extern	void arcurs(uint16_t icolor);
-extern	void dswap(void);
-extern	void itcini(uint16_t color);
-extern	void itcpos(int16_t row, int16_t col);
-extern	void ldermsg(int8_t *p1, int8_t *p2, int8_t *p3, uint16_t p4, uint16_t p5);
-extern	void nospace(int8_t *et);
-extern	void postio(void);
-extern	void preio(void);
-extern	void savefc(int16_t kind);
-extern	void ttcini(uint16_t color);
-extern	void vsndpal(int16_t pp[16][3]);
 
 /* 
Index: ram/librw.c
===================================================================
--- ram/librw.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/librw.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,55 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-/* 
-
-*/
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int8_t	*slotnam(uint16_t slot, uint16_t kind);
-
-extern	int32_t	chksum(int8_t *area, int32_t len);
-
-extern	int16_t ptread(FILE *fp);
-extern	int16_t ptwrite(FILE *fp);
-extern	int16_t rd_ec(FILE *fp, int8_t *to, int32_t len);
-extern	int16_t scread(int16_t ns, FILE *fp);
-extern	int16_t scwrite(int16_t sn, FILE *fp);
-extern	int16_t sqread(FILE *fp);
-extern	int16_t sqwrite(FILE *fp);
-extern	int16_t wr_ec(FILE *fp, int8_t *from, int32_t len);
-extern	void clrlsel(void);
-extern	void initpt(void);
-extern	void initsq(void);
-extern	void ldbusy(int8_t *msg);
-extern	void ldermsg(int8_t *p1, int8_t *p2, int8_t *p3, uint16_t p4, uint16_t p5);
-extern	void ldswin(int16_t n);
-extern	void makelh(int16_t kind);
-extern	void postio(void);
-extern	void preio(void);
-extern	void streset(void);
-
-extern	int16_t	ldslot, lderrsw, lrasw;
-extern	int16_t	tunlib[][128];
-
-extern	int32_t	lcsum, schksum, sntlreq;
-
-extern	int8_t	tunname[][32];
-extern	int8_t	ldfile[9];
-extern	int8_t	ldcmnt[38];
-
-extern	struct	mlibhdr	ldhead;
-extern	struct	asgent	asgtab[];
-extern	struct	wstbl	wslib[];
-extern	struct	instdef	idefs[];
-extern	struct	s_time	stimes[N_SCORES][N_SECTS];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/localkb.c
===================================================================
--- ram/localkb.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/localkb.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,83 +8,7 @@
 */
 
-#include "all.h"
-
-extern int16_t newsv(int16_t grp, int16_t src, int16_t ival);
-extern int16_t sc_refr(int32_t t);
-extern void asgvce(int16_t grp, int16_t port, int16_t chan, int16_t key, int16_t vel);
-extern void dpy_scr(uint16_t color, int16_t ns);
-extern void dsanval(int16_t var);
-extern void dsgtme(int16_t n);
-extern void dsgtmn(int16_t n, int16_t f);
-extern void dsimode(void);
-extern void execkey(int16_t trg, int16_t pch, int16_t vce, int16_t tag);
-extern void icancel(void);
-extern void ne_bgn(int16_t grp, int16_t key, int16_t vel);
-extern void ne_end(int16_t trg, int16_t grp);
-extern void procpfl(uint16_t trig);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void selasg(int16_t n);
-extern void selins(int16_t ival);
-extern void stmproc(uint16_t trg);
+#include "ram.h"
 
 #define	LCL_PRT		3	/* 1-origin local keyboard port number */
-
-/* 
-
-*/
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	int16_t	ancmsw;
-extern	int16_t	angroup;
-extern	int16_t	asmode;
-extern	int16_t	astat;
-extern	int16_t	aval;
-extern	int16_t	ctrsw;
-extern	int16_t	curasg;
-extern	int16_t	curtun;
-extern	int16_t	curvce;
-extern	int16_t	editsw;
-extern	int16_t	gomode;
-extern	int16_t	gtmsel;
-extern	int16_t	insmode;
-extern	int16_t	ismode;
-extern	int16_t	ldpass;
-extern	int16_t	lksel;
-extern	int16_t	lstbgnc;
-extern	int16_t	lstendc;
-extern	int16_t	lstflag;
-extern	int16_t	oldpk;
-extern	int16_t	pkctrl;
-extern	int16_t	recsw;
-extern	int16_t	stepenb;
-extern	int16_t	stepint;
-extern	int16_t	stepwgt;
-
-extern	int8_t	keystat[];
-extern	int8_t	trgtab[];
-
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-extern	int16_t	grptmap[];
-extern	int16_t	ldmap[];
-extern	int16_t	prstab[];
-extern	int16_t	tuntab[];
-extern	int16_t	veltab[];
-extern	int16_t	vce2grp[];
-extern	int16_t	vce2trg[];
-
-extern	int16_t	grp2prt[][2];
-extern	int16_t	ldbox[][8];
-extern	int16_t	varmode[][16];
-
-extern	struct	gdsel	*gdstbc[];
-
-extern	struct	n_entry	*lstbgns[NLSTENTS];
-extern	struct	n_entry	*lstends[NLSTENTS];
-
-/* 
-
-*/
 
 int16_t	lclkmap[24] = {		/* local key to MIDI key number map table */
Index: ram/m7menu.c
===================================================================
--- ram/m7menu.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/m7menu.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,5 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
+#include "ram.h"
 
 #define	DENSITY		1		/* double density */
@@ -19,45 +19,8 @@
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugm7 = 1;
 #endif
 
-extern	int8_t	m7verms[], bfs[], loadedf[][8];
-
-extern	struct	selbox	*csbp, *curboxp;
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	void	nokey(void);
-extern	void	nodkey(int16_t k);
-extern	int16_t	nonf(int16_t k);
-extern	void	select(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	cxgen(void);
-extern	void	cygen(void);
-extern	int16_t	stdctp2(void);
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t	ndisp, runit, curslim, sgcsw, cxval, cyval, stcrow, stccol;
-extern	int16_t	crate1[], defect, dsp_ok;
-
-extern	struct	octent	*mdoct;
-
-extern	uint16_t	*menuob, *obj0, vi_ctl;
-
 static int8_t	ml01[61], ml02[61], ml03[61], ml04[61], ml05[61];
-
-int16_t	mdselbx(int16_t n);
-
-extern	int16_t dcopy(void);
-extern	int16_t dformat(int16_t dt);
-extern	uint16_t setipl(uint16_t arg);
-extern	void arcurs(uint16_t icolor);
-extern	void curset(struct curpak *s);
-extern	void setgc(int16_t xv, int16_t yv);
-extern	void vsndpal(int16_t pp[16][3]);
 
 /* 
Index: ram/midas.c
===================================================================
--- ram/midas.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/midas.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,80 +8,14 @@
 #define	DEBUGIT		0
 
-#include "all.h"
+#include "ram.h"
 
 #define	LCD_TIME	((int32_t)(800 * 240))	/* LCD backlight 'on' time */
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugmm = 1;
 #endif
 
-extern	void	fpuint(void);
-extern	void	clk_ped(int16_t stat);
-extern	void	pch_ped(int16_t stat);
-
-extern	int16_t MouseWK(void);
-extern	int16_t rscript(int8_t *p[]);
-extern	uint16_t setipl(uint16_t arg);
-extern	void adfield(void);
-extern	void allwins(void);
-extern	void asgdsp(void);
-extern	void awins(void);
-extern	void fpuclr(void);
-extern	void idfield(void);
-extern	void im700(void);
-extern	void instdsp(void);
-extern	void lcd_on(void);
-extern	void ldfield(void);
-extern	void libdsp(void);
-extern	void m7menu(void);
-extern	void msl(void);
-extern	void newws(void);
-extern	void ptdisp(void);
-extern	void ptfield(void);
-extern	void scfield(void);
-extern	void scopeon(void);
-extern	void sdsetup(void);
-extern	void sdwins(void);
-extern	void setinst(void);
-extern	void setsio(void);
-extern	void settune(void);
-extern	void sqdisp(void);
-extern	void sqfield(void);
-extern	void tdfield(void);
-extern	void tsetup(void);
-extern	void tundsp(void);
-extern	void twins(void);
-extern	void wdfield(void);
-extern	void wsdsp(void);
-extern	void wwins(void);
-
-extern	void	(*foot1)(int16_t stat);
-extern	void	(*foot2)(int16_t stat);
-extern	void	(*pulse1)(void);
-extern	void	(*pulse2)(void);
-
-extern	int8_t	end, etext, edata;
-
-extern	int16_t	clkrun, clksrc, initcfg, ndisp, verbose;
-
-extern	int32_t	lcdontm, lcdtime;
-
-extern	int16_t	fp_resv[];
-
-extern	int8_t	*script0[];
-
-extern	int8_t	VerDate[];
-
-extern	struct wordq	ptefifo;	/* trigger fifo */
-
 int8_t	m7verms[32];	/* version message for the main menu */
-
 int16_t	clkdiv;		/* clock divider */
-
-/* 
-
-*/
 
 /*
Index: ram/msl.c
===================================================================
--- ram/msl.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/msl.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -12,136 +12,11 @@
 #define	OLDTIME		0	/* use old tempo time calculations */
 
-#include "all.h"
-
-extern int16_t newsv(int16_t grp, int16_t src, int16_t ival);
-extern int16_t sc_trak(int32_t tval);
-extern int16_t sc_trek(int32_t tval);
-extern uint16_t setsr(uint16_t sr);
-extern void asgvce(int16_t grp, int16_t port, int16_t chan, int16_t key, int16_t vel);
-extern void chgsdb(void);
-extern void chgsdf(void);
-extern void chgseb(void);
-extern void chgsef(void);
-extern void clkset(int16_t st);
-extern void curproc(void);
-extern void dclkmd(void);
-extern void doslide(void);
-extern void dsanval(int16_t var);
-extern void dsclk(void);
-extern void dsmem(void);
-extern void dsrpmod(void);
-extern void lcd_on(void);
-extern void localkb(int16_t sig);
-extern void msm(void);
-extern void procpfl(uint16_t trig);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void sendval(int16_t voice, int16_t par, int16_t ival);
-extern void seqproc(void);
-extern void settune(void);
-extern void stmproc(uint16_t trg);
-extern void wheel(void);
+#include "ram.h"
 
 #define	LCL_PRT		3	/* 1-origin local keyboard port number */
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugms = 1;
 #endif
-
-/* 
-
-*/
-
-/* variables defined elsewhere */
-
-extern	void	(*cx_key)(void);
-extern	void	(*cy_key)(void);
-extern	void	(*d_key)(int16_t k);
-extern	void	(*e_key)(void);
-extern	void	(*m_key)(void);
-extern	void	(*x_key)(void);
-
-extern	LPF	(*swpt)[];
-
-extern	int16_t	aflag;
-extern	int16_t	amplval;
-extern	int16_t	ancmsw;
-extern	int16_t	angroup;
-extern	int16_t	asig;
-extern	int16_t	astat;
-extern	int16_t	aval;
-extern	int16_t	clkctl;
-extern	int16_t	clkrun;
-extern	int16_t	ctrsw;
-extern	int16_t	cxrate;
-extern	int16_t	cxval;
-extern	int16_t	cyrate;
-extern	int16_t	cyval;
-extern	int16_t	dsp_ok;
-extern	int16_t	editss;
-extern	int16_t	editsw;
-extern	int16_t	lampsw;
-extern	int16_t	ndisp;
-extern	int16_t	nxtflag;
-extern	int16_t	pchsw;
-extern	int16_t	recsw;
-extern	int16_t	runit;
-extern	int16_t	swback;
-extern	int16_t	swctrl;
-extern	int16_t	swdelta;
-extern	int16_t	swdir;
-extern	int16_t	swfiin;
-extern	int16_t	swflag;
-extern	int16_t	swlast;
-extern	int16_t	swndx;
-extern	int16_t	swstop;
-extern	int16_t	swthr;
-extern	int16_t	swtime;
-extern	int16_t	swwait;
-extern	int16_t	sd;
-extern	int16_t	se;
-extern	int16_t	stcrow;
-extern	int16_t	stccol;
-extern	int16_t	tglclk;
-extern	int16_t	tglpch;
-extern	int16_t	timemlt;
-extern	int16_t	tmpomlt;
-extern	int16_t	tmpoval;
-extern	int16_t	tuneval;
-extern	int16_t	vtpcol;
-extern	int16_t	vtprow;
-
-/* 
-
-*/
-
-extern	uint16_t	*obj8;
-
-extern	int32_t	afi;
-extern	int32_t	lcdtime;
-extern	int32_t	swcount;
-extern	int32_t	swrate;
-extern	int32_t	swrmin;
-extern	int32_t	swtemp;
-
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-extern	int16_t	prstab[];
-extern	int16_t	simled[];
-extern	int16_t	swfifo[NSWFIFO];
-extern	uint16_t	tmultab[];
-extern	int16_t	vce2trg[];
-extern	int16_t	veltab[];
-
-extern	int8_t	trgtab[];
-
-extern	int16_t	grp2prt[][2];
-extern	int16_t	sigtab[][2];
-extern	int16_t	varmode[][16];
-
-extern	struct	gdsel	*gdstbc[];
-
-extern	struct 	wordq	ptefifo;
 
 uint16_t fifoval;
Index: ram/msm.c
===================================================================
--- ram/msm.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/msm.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,69 +8,5 @@
 */
 
-#include "all.h"
-
-extern int16_t newsv(int16_t grp, int16_t src, int16_t ival);
-extern void asgvce(int16_t grp, int16_t port, int16_t chan, int16_t key, int16_t vel);
-extern void clkset(int16_t st);
-extern void dsanval(int16_t var);
-extern void dsclk(void);
-extern void execkey(int16_t trg, int16_t pch, int16_t vce, int16_t tag);
-extern void getasg(int16_t n);
-extern void mpcupd(void);
-extern void ne_bgn(int16_t grp, int16_t key, int16_t vel);
-extern void ne_end(int16_t trg, int16_t grp);
-extern void newpps(int16_t trg, int16_t grp, int16_t src, int16_t ival);
-extern void procpfl(uint16_t trig);
-extern void sdwins(void);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void stmproc(uint16_t trg);
-
-extern	int16_t	ancmsw;		/* analog variable r/p control source */
-extern	int16_t	angroup;	/* analog variable group being displayed */
-extern	int16_t	clkctl;		/* clock control sources */
-extern	int16_t	ctrsw;		/* se_disp center update switch */
-extern	int16_t	curasg;		/* current assignment table */
-extern	int16_t	curvce;		/* current voice being edited */
-extern	int16_t	dsp_ok;		/* display update OK this cycle flag */
-extern	int16_t	editsw;		/* edit switch state */
-extern	int16_t	mascntr;	/* MIDI active sensing timeout counter */
-extern	int16_t	mdb1;		/* current MIDI data byte 1 */
-extern	int16_t	mdb2;		/* current MIDI data byte 2 */
-extern	int16_t	michan;		/* current MIDI channel */
-extern	int16_t	midiclk;	/* MIDI clock switch */
-extern	int16_t	midigo;		/* MIDI run switch */
-extern	int16_t	mistat;		/* current MIDI status */
-extern	int16_t	ndisp;		/* current display */
-extern	int16_t	recsw;		/* record/play switch */
-extern	int16_t	prgchan;	/* MIDI program change channel */
-
-/* 
-
-*/
-
-extern	int8_t	masens[];	/* MIDI port active sensing flags */
-extern	int8_t	mctlval[];	/* MIDI controller values */
-extern	int8_t	mdbyte[];	/* MIDI data byte buffers */
-extern	int8_t	mpsust[];	/* MIDI sustain status, by port and channel */
-extern	int8_t	mrstat[];	/* MIDI running status */
-extern	int8_t	trgtab[];	/* trigger status */
-
-extern	int16_t	grpmode[];	/* group mode table */
-extern	int16_t	grpstat[];	/* group status table */
-extern	int16_t	key2grp[];	/* key to group map */
-extern	int16_t	vce2grp[];	/* voice to group map */
-extern	int16_t	veltab[];	/* velocity */
-extern	int16_t	mctlnum[];	/* MIDI controller number map */
-extern	int16_t	mpbend[];	/* MIDI pitch bend data, by port and channel */
-extern	int16_t	msmstv[];	/* MIDI state machine state variables */
-extern	int16_t	prstab[];	/* pressure */
-extern	int16_t	src2var[];	/* source to variable number map */
-extern	int16_t	tuntab[];	/* current tuning table */
-extern	int16_t	vce2trg[];	/* voice to trigger map (-1 EQ NULL) */
-
-extern	int16_t	grp2prt[][2];	/* group to port/channel map */
-extern	int16_t	varmode[][16];	/* analog variable record mode */
-
-extern	struct	gdsel	*gdstbc[];	/* group status table - center slice */
+#include "ram.h"
 
 /* initialized stuff */
Index: ram/nedacc.c
===================================================================
--- ram/nedacc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/nedacc.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -24,32 +24,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-/* 
-
-*/
-
-extern	int16_t	pix2mid(void);
-
-extern	struct	n_entry	*fcnote(int16_t grp, int16_t tnote);
-
-extern	int16_t sc_refr(int32_t t);
-extern	void dnedmod(void);
-
-extern	int16_t	cflag;			/* accidental flag */
-extern	int16_t	cnote;			/* note value at cursor */
-extern	int16_t	cyval;			/* cursor y value */
-extern	int16_t	cxval;			/* cursor x value */
-extern	int16_t	recsw;			/* record / play switch */
-extern	int16_t	scmctl;			/* area 1 menu status */
-
-extern	int16_t	grpmode[];		/* group record / play status */
-extern	int16_t	grpstat[];		/* group enable status */
-
-extern	int32_t	ctime;			/* time at cursor */
+#include "ram.h"
 
 /* 
Index: ram/pix2mid.c
===================================================================
--- ram/pix2mid.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/pix2mid.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,18 +6,7 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	PCENTER		256	/* pixel offset of 0 time line */
-
-extern	int16_t	cflag;		/* accidental flag */
-extern	int16_t	cnote;		/* note value at cursor */
-extern	int16_t	cyval;		/* cursor y value */
-extern	int16_t	cxval;		/* cursor x value */
-
-extern	int32_t	ctime;		/* time at cursor */
-
-/* 
-
-*/
 
 int16_t	mpixtab[52][4] = {	/* pixel to MIDI note for the white keys */
Index: ram/ptdisp.c
===================================================================
--- ram/ptdisp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ptdisp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,36 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int8_t	*LineBak(void);
-extern	int8_t	*LineFwd(void);
-
-extern	int8_t	*(*BakLine)(void);
-extern	int8_t	*(*FwdLine)(void);
-
-extern	uint16_t	pt_alc(void);
-
-extern	void SetDTop(int16_t row, int16_t scan);
-extern	void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern	void aftercm(void);
-extern	void ctcpos(int16_t row, int16_t col);
-extern	void dptw(void);
-extern	void dswap(void);
-extern	void voidpb(void);
-extern	void vsndpal(int16_t pp[16][3]);
-extern	void vsplot4(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
-extern	void vvputsv(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t bg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
-
-extern	uint16_t	*obj8, *obj9, *obj10, *obj11;
-extern	uint16_t	*LineBuf, *ScObAdr, *OldLine;
-extern	uint16_t	LineAtr;
-
-extern	int16_t	CurLine, CurScan;
-extern	int16_t	ScrlObj, SmScNsl;
-extern	int16_t	PdScDnF, PdScUpF;
-extern	int16_t	ctcsw, submenu;
-extern	int16_t	cxval;
-
-extern	int16_t	cg3[][256];
+#include "ram.h"
 
 uint16_t	seqflag[16];		/* sequence flags */
Index: ram/ptdkey.c
===================================================================
--- ram/ptdkey.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ptdkey.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -11,11 +11,5 @@
 #define	DUMPSTM		0
 
-#include "all.h"
-
-extern void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern void ctcon(void);
-extern void dspdest(int8_t *buf, struct patch *pp);
-extern void dspdfst(int8_t *buf, uint16_t val);
-extern void movectc(int16_t r, int16_t c);
+#include "ram.h"
 
 #if	DEBUGPD
@@ -35,28 +29,4 @@
 short	dumpstm = 0;
 #endif
-
-#if	(DEBUGPD|DEBUGVP|DUMPDEF|DUMPSTM)
-extern	short	debugsw;
-#endif
-
-extern	int16_t	asig, astat;
-
-extern	uint16_t	dpepred, dpecpos, dpesucc;
-
-extern	int16_t	ptegood, ptedfok, ptestok, ptedsok, ptedtok;
-
-extern	int16_t	ptedef, ptestm, ptespec, ptesuba, ptedat1, ptedat2;
-
-extern	int16_t	ptedftp, ptedfst, ptedest, ptedata;
-
-extern	int16_t	pteset, ptbflag, ptemenu;
-
-extern	int16_t	ptepred, ptecpos, ptesucc;
-
-extern	int16_t	stccol, stcrow;
-
-extern	int8_t	ptdebuf[50];
-
-extern	struct patch	ptebuf;
 
 /* 
Index: ram/ptfield.c
===================================================================
--- ram/ptfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ptfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -10,9 +10,7 @@
 #define	USEVECTR	0	/* to force vector cursor control */
 
-#include "all.h"
+#include "ram.h"
 
 #if	DEBUGXP
-extern	short	debugsw;
-
 short	debugxp = 1;
 #endif
@@ -20,81 +18,5 @@
 #if	USEVECTR
 short	usevect = TRUE;
-
-extern	void	(*cx_key)(void);
-extern	void	(*cy_key)(void);
 #endif
-
-extern	void	(*xy_up)(void);
-extern	void	(*xy_dn)(void);
-extern	void	(*premove)(void);
-extern	void	(*pstmove)(void);
-extern	int16_t	(*curtype)(void);
-
-extern	uint16_t	fromfpu(uint16_t fputime);
-
-extern	void	select(void);
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	int16_t	stdctp5(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	stdmkey(void);
-extern	void	stddkey(int16_t k);
-extern	void	stopcm(void);
-extern	void	smxupd(void);
-extern	void	smyupd(void);
-extern	void	aftercm(void);
-extern	void	ptdkey(int16_t k);
-
-extern	int16_t	astat;
-extern	int16_t	chtime;
-extern	int16_t	chwait;
-extern	int16_t	cmfirst;
-extern	int16_t	cmtype;
-extern	int16_t	curhold;
-extern	int16_t	cvtime;
-extern	int16_t	cvwait;
-extern	int16_t	ncvwait;
-extern	int16_t	ptbflag;
-extern	int16_t	ptecpos;
-extern	int16_t	ptedef;
-extern	int16_t	ptedfok;
-extern	int16_t	pteset;
-extern	int16_t	ptestm;
-extern	int16_t	ptestok;
-extern	int16_t	ss_ptsw;
-extern	int16_t	ss_sqsw;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	syrate;
-extern	int16_t	tvcwval;
-extern	int16_t	vcwval;
-
-extern	int16_t	crate1[];
-
-extern	int8_t	ptdebuf[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	ptboxes[];
-
-extern	struct	patch	ptebuf;
-
-void	ptxkey(void);
-void	ptmkey(void);
-void	ptekey(void);
-
-extern	int16_t findnxt(int16_t cp);
-extern	int16_t findprv(int16_t cp);
-extern	int8_t *fr2dec(int16_t v, int8_t *s);
-extern	void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern	void cnvc2p(int8_t *buf, int16_t cv);
-extern	void curset(struct curpak *s);
-extern	void dptw(void);
-extern	void dt_del(uint16_t de);
-extern	void int2rat(int16_t rat);
-extern	void movectc(int16_t r, int16_t c);
-extern	void pt_del(uint16_t pe);
-extern	void pte2buf(void);
-extern	void voidpb(void);
 
 /* 
Index: ram/ptread.c
===================================================================
--- ram/ptread.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ptread.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -9,37 +9,9 @@
 #define	DEBUGSP		0
 
-#include "all.h"
-
-extern int16_t finddpe(void);
-extern int16_t findpte(void);
-extern int16_t rd_ec(FILE *fp, int8_t *to, int32_t len);
-extern uint16_t dt_alc(void);
-extern uint16_t pt_alc(void);
-extern void clrlsel(void);
-extern void ldermsg(int8_t *p1, int8_t *p2, int8_t *p3, uint16_t p4, uint16_t p5);
-extern void ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
-extern void voidpb(void);
-
-#if	(DEBUGRE|DEBUGSP)
-extern	short	debugsw;
-#endif
-
-#if	DEBUGRE
-extern	short	debugre;
-#endif
+#include "ram.h"
 
 #if	DEBUGSP
 short	debugsp = 1;
 #endif
-
-extern	uint16_t	dpecpos;
-extern	uint16_t	dpepred;
-extern	uint16_t	dpesucc;
-extern	int16_t	errno;
-extern	int16_t	ptecpos;
-extern	int16_t	ptepred;
-extern	int16_t	ptesucc;
-
-extern	struct	patch	ptebuf;
 
 /* 
Index: ram/ptselbx.c
===================================================================
--- ram/ptselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ptselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -9,5 +9,5 @@
 #define	SNAPDUMP	0
 
-#include "all.h"
+#include "ram.h"
 
 #if	SNAPDUMP
@@ -16,6 +16,4 @@
 
 #if	(SNAPDUMP|DEBUGIT)
-extern	short	debugsw;
-
 short	debug01 = 1;
 #endif
@@ -28,51 +26,4 @@
 #define	HT_5	0x20	/* filq, dynamc, vout, depth, rate, inten, aux */
 #define	HT_OFF	0x00	/* no submenu highlighted */
-
-/* 
-
-*/
-
-extern	int16_t	cnvp2c(void);
-extern	int16_t	dec2fr(int8_t *s);
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t	CurLine;
-
-extern	int16_t	cents;
-extern	int16_t	cmtype;
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	hitcx;
-extern	int16_t	hitcy;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	submenu;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-
-extern	int16_t	ndvals[];
-
-extern	uint16_t	*obj11;
-
-extern	struct selbox	*csbp;
-extern	struct selbox	*curboxp;
-
-extern	int8_t	*smdata[];
-extern	int8_t	*ssdata[];
-extern	int8_t	*stdata[];
-extern	int8_t	*trdata[];
-
-int16_t	ptfnbox(int16_t n);
-
-extern	uint16_t tofpu(uint16_t time);
-extern	void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern	void ctcpos(int16_t row, int16_t col);
-extern	void entrpte(void);
-extern	void mtcoff(void);
-extern	void mtcpos(int16_t row, int16_t col);
-extern	void setptcv(void);
-extern	void srdspte(void);
-extern	void vsetcv(uint16_t *adr, uint16_t row, uint16_t col, uint16_t cfb, uint16_t len);
 
 /* 
Index: ram/ptwrite.c
===================================================================
--- ram/ptwrite.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ptwrite.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -9,24 +9,9 @@
 #define	DEBUGPW		0
 
-#include "all.h"
-
-#if	(DEBUGPW|DEBUGWE)
-extern	short	debugsw;
-#endif
+#include "ram.h"
 
 #if	DEBUGPW
 short	debugpw = 1;
 #endif
-
-#if	DEBUGWE
-extern	short	debugwe;
-#endif
-
-extern	int32_t	chksum(int8_t *area, int32_t len);
-
-extern	int16_t find1st(void);
-extern	int16_t findnxt(int16_t cp);
-extern	int16_t wr_ec(FILE *fp, int8_t *from, int32_t len);
-extern	void ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
 
 /* 
Index: ram/puteq.c
===================================================================
--- ram/puteq.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/puteq.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -12,5 +12,5 @@
 #endif
 
-#include "all.h"
+#include "ram.h"
 
 #define	EQ_STB		0x04
@@ -139,6 +139,4 @@
 #if	TESTER
 
-extern	int	xtrap15();
-
 char	ahex[] = "0123456789abcdefABCDEF";
 
Index: ram/rscript.c
===================================================================
--- ram/rscript.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/rscript.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,11 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int16_t	sqscan(int8_t *ip);
-
-extern	void sqinit(void);
-
-extern	int16_t	endflg;
+#include "ram.h"
 
 int8_t	*script0[] = {		/* initialization score selection string */
Index: ram/scadv.c
===================================================================
--- ram/scadv.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scadv.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -10,40 +10,9 @@
 #undef	TRACEIT		/* define to enable step by step trace */
 
-#include "all.h"
-
-extern int16_t cslice(uint16_t *slice, uint16_t mask1, uint16_t mask2, struct gdsel *gdstb[]);
-extern int16_t uslice(uint16_t *slice, uint16_t mask1, uint16_t mask2, struct gdsel *gdstb[]);
-extern uint16_t setipl(uint16_t arg);
-extern void ucslice(void);
+#include "ram.h"
 
 #ifdef	TRACEIT
 short	tracesw;
 #endif
-
-/* variables defined elsewhere */
-
-extern	uint16_t	*consl;
-extern	uint16_t	*cursl;
-extern	uint16_t	*nxtsl;
-extern	uint16_t	*prvsl;
-extern	uint16_t	*saddr;
-
-extern	uint16_t	scrl;
-extern	uint16_t	vi_sadr;
-extern	uint16_t	vi_scrl;
-
-extern	int16_t	ctrsw;
-extern	int16_t	ndisp;
-extern	int16_t	sbase;
-extern	int16_t	sd;
-extern	int16_t	soffset;
-
-extern	struct	gdsel	*gdstbc[];
-extern	struct	gdsel	*gdstbn[];
-extern	struct	gdsel	*gdstbp[];
-
-/* 
-
-*/
 
 /* initialized stuff */
Index: ram/scfield.c
===================================================================
--- ram/scfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,167 +6,7 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	PCENTER		256L
-
-/* functions defined elsewhere */
-
-extern	void	*memset(void *vp, int8_t c, int16_t n);
-
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	select(void);
-extern	int16_t	oktode(struct s_entry *ep);
-extern	int16_t	stdctp3(void);
-extern	void	stddkey(int16_t k);
-extern	void	nokey(void);
-extern	void	stdmkey(void);
-
-extern	int16_t	et_strn(int16_t n);
-extern	int16_t	ef_strn(int16_t n);
-extern	int16_t	rd_strn(int16_t n);
-extern	int16_t	nd_strn(int16_t n, int16_t k);
-extern	int16_t	et_snbt(int16_t n);
-extern	int16_t	ef_snbt(int16_t n);
-extern	int16_t	rd_snbt(int16_t n);
-extern	int16_t	nd_snbt(int16_t n, int16_t k);
-
-extern	int16_t	et_ioas(int16_t n);
-extern	int16_t	ef_ioas(int16_t n);
-extern	int16_t	rd_ioas(int16_t n);
-extern	int16_t	nd_ioas(int16_t n, int16_t k);
-extern	int16_t	et_tune(int16_t n);
-extern	int16_t	ef_tune(int16_t n);
-extern	int16_t	rd_tune(int16_t n);
-extern	int16_t	nd_tune(int16_t n, int16_t k);
-extern	int16_t	et_tmpo(int16_t n);
-extern	int16_t	ef_tmpo(int16_t n);
-extern	int16_t	rd_tmpo(int16_t n);
-extern	int16_t	nd_tmpo(int16_t n, int16_t k);
-extern	int16_t	et_intp(int16_t n);
-extern	int16_t	ef_intp(int16_t n);
-extern	int16_t	rd_intp(int16_t n);
-extern	int16_t	nd_intp(int16_t n, int16_t k);
-
-extern	int16_t	et_inst(int16_t n);
-extern	int16_t	ef_inst(int16_t n);
-extern	int16_t	rd_inst(int16_t n);
-extern	int16_t	nd_inst(int16_t n, int16_t k);
-extern	int16_t	et_trns(int16_t n);
-extern	int16_t	ef_trns(int16_t n);
-extern	int16_t	rd_trns(int16_t n);
-extern	int16_t	nd_trns(int16_t n, int16_t k);
-extern	int16_t	et_dyn(int16_t n);
-extern	int16_t	ef_dyn(int16_t n);
-extern	int16_t	rd_dyn(int16_t n);
-extern	int16_t	nd_dyn(int16_t n, int16_t k);
-extern	int16_t	et_loc(int16_t n);
-extern	int16_t	ef_loc(int16_t n);
-extern	int16_t	rd_loc(int16_t n);
-extern	int16_t	nd_loc(int16_t n, int16_t k);
-extern	int16_t	et_vel(int16_t n);
-extern	int16_t	ef_vel(int16_t n);
-extern	int16_t	rd_vel(int16_t n);
-extern	int16_t	nd_vel(int16_t n, int16_t k);
-
-extern	int16_t	et_res1(int16_t n);
-extern	int16_t	ef_res1(int16_t n);
-extern	int16_t	rd_res1(int16_t n);
-extern	int16_t	nd_res1(int16_t n, int16_t k);
-extern	int16_t	et_aval(int16_t n);
-extern	int16_t	ef_aval(int16_t n);
-extern	int16_t	rd_aval(int16_t n);
-extern	int16_t	nd_aval(int16_t n, int16_t k);
-extern	int16_t	et_agrp(int16_t n);
-extern	int16_t	ef_agrp(int16_t n);
-extern	int16_t	rd_agrp(int16_t n);
-extern	int16_t	nd_agrp(int16_t n, int16_t k);
-
-extern	int16_t	et_scor(int16_t n);
-extern	int16_t	ef_scor(int16_t n);
-extern	int16_t	rd_scor(int16_t n);
-extern	int16_t	nd_scor(int16_t n, int16_t k);
-
-/* forward references */
-
-int16_t	et_null(int16_t n);
-int16_t	ef_null(int16_t n);
-int16_t	rd_null(int16_t n);
-int16_t	nd_null(int16_t n, int16_t k);
-void	sdcxu(void);
-void	sdcyu(void);
-void	sdxkey(void);
-void	sdmkey(void);
-int16_t	scntfld(int16_t k);
-
-extern	int16_t delnote(void);
-extern	int16_t sc_refr(int32_t t);
-extern	void curset(struct curpak *s);
-extern	void ds_anrs(void);
-extern	void ds_anvl(void);
-extern	void dsgmode(int16_t n);
-extern	void dsgstat(int16_t n);
-extern	void dsgtme(int16_t n);
-extern	void dsvmode(int16_t n);
-extern	void dswin(int16_t n);
-extern	void sdmenu(int16_t n);
-extern	void vtcxupd(void);
-extern	void vtcyupd(void);
-
-/* 
-
-*/
-
-/* variables defined elsewhere */
-
-extern	int16_t	ancmsw;
-extern	int16_t	angroup;
-extern	int16_t	astat;
-extern	int16_t	clkrun;
-extern	int16_t	cmfirst;
-extern	int16_t	cmtype;
-extern	int16_t	curhold;
-extern	int16_t	cxrate;
-extern	int16_t	cxval;
-extern	int16_t	cyrate;
-extern	int16_t	cyval;
-extern	int16_t	hcwval;
-extern	int16_t	insmode;
-extern	int16_t	oldpk;
-extern	int16_t	oldsl;
-extern	int16_t	pkctrl;
-extern	int16_t	recsw;
-extern	int16_t	scmctl;
-extern	int16_t	sdmctl;
-extern	int16_t	sliders;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	thcwval;
-extern	int16_t	tvcwval;
-extern	int16_t	vcwval;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-extern	int16_t	vtxval;
-extern	int16_t	vtyval;
-
-extern	int32_t	ctime;
-extern	int32_t	t_ins;
-
-extern	int16_t	crate1[];
-extern	int16_t	ehdlist[];
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-extern	int16_t	grptmap[];
-extern	int16_t	sdmlim[][4];
-extern	int16_t	varmode[8][16];
-
-extern	LPF	(*swpt)[];
-extern	LPF	(*oldsw)[];
-
-extern	struct	selbox	*csbp;
-
-extern	struct	selbox	sdboxes[];
-
-extern	struct	s_entry	*peg;
 
 /* 
Index: ram/scgoto.c
===================================================================
--- ram/scgoto.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scgoto.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -9,33 +9,5 @@
 #define	CHECKPTR	0	/* define non-zero to check pointers */
 
-#include "all.h"
-
-extern void clrnl(void);
-extern void clrsctl(void);
-extern void dsrpmod(void);
-extern void dssect(void);
-extern void quiet(int16_t _1, int16_t _2);
-extern void sc_adv(void);
-extern void scupd(void);
-extern void sdwins(void);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void sreset(void);
-
-/* variables defined elsewhere */
-
-#if	DEBUG_GO
-extern	short	verbose, testing;
-#endif
-
-extern	int16_t	recsw;
-extern	int16_t	ndisp;
-extern	int16_t	sd;
-extern	int16_t	swctrl;
-extern	int16_t	swflag;
-
-extern	struct	gdsel	*gdfsep;
-
-extern	struct	gdsel	*gdstbc[];
-extern	struct	gdsel	*gdstbn[];
+#include "ram.h"
 
 /* 
Index: ram/scinit.c
===================================================================
--- ram/scinit.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scinit.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -80,23 +80,5 @@
 */
 
-#include "all.h"
-
-extern void clkset(int16_t st);
-extern void dsclk(void);
-
-/* 
-
-*/
-
-extern	int16_t	sd;		/* Scroll direction */
-extern	int16_t	curasg;		/* Current assgnment table */
-extern	int16_t	tmpoval;	/* Current tempo */
-extern	int16_t	curtun;		/* Current tuning table */
-
-extern	struct	s_time	stimes[N_SCORES][N_SECTS];	/* section times */
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/scope.c
===================================================================
--- ram/scope.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scope.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,5 +6,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	SCOPEOLD	0x0014		/* scope old text attribute */
@@ -20,29 +20,4 @@
 
 int8_t		scopebf[65];		/* scope display buffer */
-
-extern	int16_t	stdctp2(void);
-extern	void	nokey(void);
-extern	void	nodkey(int16_t k);
-extern	int16_t	nonf(int16_t k);
-extern	void	stdmkey(void);
-
-extern	int16_t	astat;
-extern	int16_t	ndisp;
-
-extern	int16_t	scorpal[][3];
-
-extern	int16_t	crate1[];
-
-/* forward reference */
-
-void	scptogl(void);
-
-extern	void curset(struct curpak *s);
-extern	void dswap(void);
-extern	void vsndpal(int16_t pp[16][3]);
-
-/* 
-
-*/
 
 struct curpak dt_flds = {
Index: ram/scordsp.c
===================================================================
--- ram/scordsp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scordsp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,84 +6,5 @@
 */
 
-#include "all.h"
-
-/* 
-
-*/
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t rd_intp(int16_t n);
-extern	int16_t rd_ioas(int16_t n);
-extern	int16_t rd_tmpo(int16_t n);
-extern	int16_t rd_tune(int16_t n);
-extern	int16_t sc_refr(int32_t t);
-extern	void arcurs(uint16_t icolor);
-extern	void clrsctl(void);
-extern	void ds_dyn(void);
-extern	void ds_inst(void);
-extern	void ds_loc(void);
-extern	void ds_trns(void);
-extern	void dswap(void);
-extern	void setgc(int16_t xv, int16_t yv);
-extern	void stcclr(void);
-extern	void stcset(void);
-extern	void ttcini(uint16_t color);
-extern	void vputa(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t attrib);
-extern	void vsndpal(int16_t pp[16][3]);
-
-/* variables defined elsewhere */
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	uint16_t *obj0, *obj2, *obj3, *obj8, *obj11, *obj13, *obj14, *obj15;
-
-extern	uint16_t	*consl;		/* constant slice pointer */
-extern	uint16_t	*saddr;		/* score VSDD RAM base pointer */
-
-extern	uint16_t	scrl;		/* score VSDD object scroll register image */
-
-extern	int16_t	ancmsw;			/* analog variable r/p control source */
-extern	int16_t	angroup;		/* analog variable group being shown */
-extern	int16_t	clkctl;			/* clock control */
-extern	int16_t	clkrun;			/* clock run switch */
-extern	int16_t	clksrc;			/* clock source */
-extern	int16_t	cxval;			/* cursor x */
-extern	int16_t	cyval;			/* cursor y */
-extern	int16_t	dubsw;			/* overdub / replace switch */
-extern	int16_t	insmode;		/* insert switch */
-extern	int16_t	lastam;			/* last assignment menu page */
-extern	int16_t	ndisp;			/* display number */
-extern	int16_t	pchsw;			/* punch-in enable switch */
-extern	int16_t	recsw;			/* record / play switch */
-extern	int16_t	sbase;			/* score VSDD RAM scroll offset */
-extern	int16_t	scmctl;			/* score submenu #2 state */
-extern	int16_t	sd;			/* score scroll direction */
-extern	int16_t	sdmctl;			/* score submenu #1 state */
-extern	int16_t	secop;			/* section operation */
-extern	int16_t	sgcsw;			/* score graphic / text cursor switch */
-extern	int16_t	sliders;		/* slider function */
-extern	int16_t	soffset;		/* score scroll offset */
-extern	int16_t	stccol;			/* text cursor column */
-extern	int16_t	stcrow;			/* text cursor row */
-extern	int16_t	submenu;		/* submenu cursor switch */
-extern	int16_t	velflag;		/* velocity display enable flag */
-
-extern	int8_t	bfs[];			/* display generation buffer */
-
-extern	int8_t	*nedlbl[];		/* note edit labels */
-
-extern	int16_t	kbobj[];		/* keyboard icon */
-
-extern	int16_t	grpmode[];		/* group mode - 0 = play, 1 = stdby, 2 = rec */
-extern	int16_t	grpstat[];		/* group status - 0 = off, non-0 = on */
-extern	int16_t	lastvel[];		/* last velocity sent to group */
-
-extern	int16_t	anrs[][16];		/* analog variable resolution */
-extern	int16_t	varmode[][16];		/* analog variable record mode */
-
-extern	uint16_t	slices[];	/* score display slices */
-
-extern	struct	valent	valents[];	/* s/m value table */
+#include "ram.h"
 
 /* 
Index: ram/scread.c
===================================================================
--- ram/scread.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scread.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,30 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int16_t	scskip(FILE *fp, int16_t ns);
-
-extern	int16_t rd_ec(FILE *fp, int8_t *to, int32_t len);
-extern	int16_t skp_ec(FILE *fp, int32_t len);
-extern	void clrlsel(void);
-extern	void ldermsg(int8_t *p1, int8_t *p2, int8_t *p3, uint16_t p4, uint16_t p5);
-extern	void ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
-extern	void skperr(int16_t sn);
-
-extern	int32_t	schksum;		/* score checksum */
-
-extern	int16_t	errno;			/* system error number */
-extern	int16_t	lderrsw;		/* librarian error message switch */
-extern	int16_t	lrasw;			/* "Content" switch */
-
-extern	int16_t	ldmap[];		/* librarian gather-read map */
-
-extern	struct	s_entry	*libsp;		/* librarian score insert pointer */
-
-extern	struct	s_time	stimes[N_SCORES][N_SECTS];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/scselbx.c
===================================================================
--- ram/scselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,131 +6,5 @@
 */
 
-#include "all.h"
-
-/* functions defined elsewhere */
-
-extern	int16_t	entbh(int16_t n);
-extern	void	advscur(void);
-extern	int16_t	oktode(struct s_entry *ep);
-extern	void	nokey(void);
-
-/* 
-
-*/
-
-/* variables defined elsewhere */
-
-extern	void	(*itxput)(int16_t row, int16_t col, int8_t *txt, int16_t tag);
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	int16_t	ancmsw;
-extern	int16_t	angroup;
-extern	int16_t	asmode;
-extern	int16_t	clkrun;
-extern	int16_t	clkctl;
-extern	int16_t	clksrc;
-extern	int16_t	ctrsw;
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	dubsw;
-extern	int16_t	gomode;
-extern	int16_t	grptran;
-extern	int16_t	gtmsel;
-extern	int16_t	hitbox;
-extern	int16_t	hitcx;
-extern	int16_t	hitcy;
-extern	int16_t	insmode;
-extern	int16_t	ismode;
-extern	int16_t	lastam;
-extern	int16_t	midiclk;
-extern	int16_t	noteop;
-extern	int16_t	notesel;
-extern	int16_t	oldpk;
-extern	int16_t	oldsl;
-extern	int16_t	pchsw;
-extern	int16_t	pkctrl;
-extern	int16_t	pulsclk;
-extern	int16_t	recsw;
-extern	int16_t	scmctl;
-extern	int16_t	sdmcol;
-extern	int16_t	sdmctl;
-extern	int16_t	sdmrow;
-extern	int16_t	secop;
-extern	int16_t	sgoflag;
-extern	int16_t	sliders;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	stepclk;
-extern	int16_t	stepenb;
-extern	int16_t	submenu;
-extern	int16_t	velflag;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-
-/* 
-
-*/
-
-extern	int16_t	grptmap[];
-
-extern	int16_t	sctctab[][64];
-
-extern	struct	asgent	asgtab[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	*curboxp;
-
-extern	struct	s_time	stimes[N_SCORES][N_SECTS];	/* section times */
-
-extern	uint16_t	*obj8, *obj11;
-
-extern	LPF	(*swpt)[];
-extern	LPF	(*oldsw)[];
-extern	LPF	t_ngrp[];
-
-extern	int8_t	bfs[];
-extern	int8_t	tunname[][32];
-
-extern	struct	gdsel	*gdstbc[];
-
-/* forward references */
-
-int16_t	sdboxfn(int16_t n);
-void	bspscur(void);
-void	svtdsp(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf);
-void	svtstop(void);
-void	sdmenu(int16_t n);
-
-extern	int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern	int16_t sc_refr(int32_t t);
-extern	int16_t sec_cpy(int16_t ns);
-extern	int16_t sec_dev(int16_t ns);
-extern	int16_t sec_dgr(int16_t ns);
-extern	int16_t sec_grp(int16_t ns);
-extern	int16_t sec_mov(int16_t ns);
-extern	int16_t sec_mrg(int16_t ns);
-extern	int16_t sec_rmv(int16_t ns);
-extern	int16_t vtyper(void);
-extern	uint16_t exp_c(uint16_t c);
-extern	void dnedmod(void);
-extern	void donote(void);
-extern	void ds_vmod(void);
-extern	void dsclk(void);
-extern	void dsimode(void);
-extern	void dsrpmod(void);
-extern	void icancel(void);
-extern	void istart(void);
-extern	void lcdlbls(void);
-extern	void scupd(void);
-extern	void sdwin(int16_t n);
-extern	void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern	void setleds(void);
-extern	void showim(void);
-extern	void stcclr(void);
-extern	void stcpos(int16_t row, int16_t col);
-extern	void stcset(void);
-extern	void ttcpos(int16_t row, int16_t col);
-extern	void vputa(uint16_t *sbase, uint16_t row, uint16_t col, uint16_t attrib);
-extern	void vtsetup(uint16_t *obj, int16_t (*dsp)(), int16_t col, int8_t *ptr, int16_t tr, int16_t tc, int16_t (*adv)(), int16_t (*bsp)(), int16_t (*cup)(), int16_t (*cdn)(), int16_t (*stop)(), uint16_t fg, uint16_t bg);
+#include "ram.h"
 
 /* 
Index: ram/sctrak.c
===================================================================
--- ram/sctrak.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sctrak.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -12,38 +12,5 @@
 #undef	CHECKPTR		/* define to check pointers */
 
-#include "all.h"
-
-extern void dslocn(void);
-extern void sc_adv(void);
-extern void se_disp(struct s_entry *ep, int16_t sd, struct gdsel *gdstb[], int16_t cf);
-extern void sreset(void);
-
-#ifdef	DEBUG_TR
-extern	short	debugsw;
-#endif
-
-extern	int16_t	ancmsw;
-extern	int16_t	dubsw;
-extern	int16_t	ndisp;
-extern	int16_t	recsw;
-extern	int16_t	sbase;
-extern	int16_t	sd;
-extern	int16_t	se;
-extern	int16_t	soffset;
-
-extern	int16_t	grpmode[];
-extern	int16_t	grpstat[];
-
-extern	int16_t	varmode[][16];
-
-extern	struct	gdsel	*gdfsep;
-
-extern	struct	gdsel	*gdstbc[];
-extern	struct	gdsel	*gdstbn[];
-extern	struct	gdsel	*gdstbp[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/scwrite.c
===================================================================
--- ram/scwrite.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/scwrite.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,29 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int32_t	chksum(int8_t *area, int32_t len);
-
-extern	int16_t wr_ec(FILE *fp, int8_t *from, int32_t len);
-extern	void ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
-
-extern	int32_t	schksum;	/* score checksum */
-extern	int32_t	snbreq;		/* number of disk bytes required */
-extern	int32_t	snlreq;		/* number of score bytes required */
-extern	int32_t	sntbreq;	/* total number of disk bytes required */
-extern	int32_t	sntlreq;	/* total number of score bytes required */
-
-extern	int32_t	nlpersc[N_SCORES];	/* number of longs per score */
-extern	int32_t	scsums[N_SCORES];	/* score checksums */
-
-extern	struct	s_time	stimes[N_SCORES][N_SECTS];	/* section times */
-
-/* 
-
-*/
+#include "ram.h"
 
 int32_t	m1con = -1L;			/* null score constant */
Index: ram/seccpy.c
===================================================================
--- ram/seccpy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/seccpy.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -19,33 +19,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int16_t	chksec(int16_t ns);
-extern	int16_t	oktocm(struct s_entry *ep);
-extern	int16_t	oktode(struct s_entry *ep);
-extern	int16_t	oktodg(struct s_entry *ep);
-
-extern	int32_t	sizesec(void);
-
-extern	struct	s_entry	*madjsec(struct s_entry *sbp, int32_t btime);
-
-extern	void edelta(struct s_entry *ep, int32_t btime, int32_t delta);
-extern	void ehfix(struct s_entry *cbp, struct s_entry *cep);
-
-extern	int16_t	grptran;
-
-extern	int8_t	cmgtags[];
-extern	int8_t	cmgtype[];
-
-extern	int16_t	ehdlist[];
-extern	int16_t	grptmap[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/sedump.c
===================================================================
--- ram/sedump.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sedump.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,37 +6,5 @@
 */
 
-#include "all.h"
-
-extern int16_t Pcheck(struct s_entry *ptr, int8_t *msg);
-extern void mdump(int8_t *begin, int8_t *end, int32_t start);
-extern void xtrap15(void);
-
-extern	uint16_t	scrl;
-
-extern	int16_t	curfunc;
-extern	int16_t	curvce;
-extern	int16_t	sbase;
-extern	int16_t	sd;
-extern	int16_t	se;
-extern	int16_t	soffset;
-extern	int16_t	subj;
-
-extern	int16_t	varmode[][16];
-
-extern	struct	gdsel	*gdstbc[NGDSEL];
-extern	struct	gdsel	*gdstbn[NGDSEL];
-extern	struct	gdsel	*gdstbp[NGDSEL];
-
-extern	struct	gdsel	*gdfsep;
-extern	struct	gdsel	gdfsl[MAXFSL];
-
-extern	struct	instdef	vbufs[];
-
-extern	int8_t	*idbxlbl[];
-extern	int8_t	*osclbl[];
-
-/* 
-
-*/
+#include "ram.h"
 
 int8_t	*A6PTR = 0L;		/* traceback a6 starting address */
Index: ram/select.c
===================================================================
--- ram/select.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/select.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,24 +8,9 @@
 #define	DEBUGIT		0
 
-#include "all.h"
+#include "ram.h"
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugsf = 1;;
 #endif
-
-extern	int16_t	cxval, cyval, astat;
-
-extern	int16_t	cursbox;		/* currently selected box */
-extern	int16_t	hitbox;			/* box we just hit */
-extern	int16_t	hitcx, hitcy;		/* x,y of cursor when we hit the box */
-
-extern	struct	selbox	*csbp;		/* current select box table pointer */
-extern	struct	selbox	*curboxp;	/* current select box pointer */
-
-/* 
-
-*/
 
 /*
Index: ram/sendval.c
===================================================================
--- ram/sendval.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sendval.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,48 +6,5 @@
 */
 
-#include "all.h"
-
-/* functions defined elsewhere */
-
-extern	uint16_t	tofpu(uint16_t time);
-
-extern	uint16_t	setipl(uint16_t arg);
-
-extern	int16_t addpch(int16_t p1, int16_t p2);
-extern	void clrpfl(void);
-extern	void fpuclr(void);
-extern	void l_init(int16_t stat, int16_t sig);
-extern	void setdyn(int16_t grp, int16_t dyn);
-extern	void setloc(int16_t grp, int16_t loc);
-extern	void settune(void);
-
-extern	int16_t	amplval, ext_cv1, ext_cv2, ext_cv3, ext_cv4, ext_mod;
-extern	int16_t	lstbgnc, lstendc, ps_intn, ps_rate, ps_dpth, sliders;
-
-extern	int16_t	lastart[];
-extern	int16_t	dyntab[];
-extern	int16_t	expbit[];
-extern	int16_t	fnoff[];
-extern	int16_t	fp_resv[];
-extern	int16_t	grpdyn[];
-extern	int16_t	grploc[];
-extern	int16_t	lastvce[];
-extern	int16_t	prstab[];
-extern	int16_t	vce2grp[];
-extern	int16_t	vce2trg[];
-extern	int16_t	veltab[];
-
-extern	int16_t	sigtab[128][2];
-
-extern	int8_t	keystat[];
-extern	int8_t	mpsust[];
-extern	int8_t	trgtab[];
-
-extern	struct	n_entry	*lstbgns[NLSTENTS];
-extern	struct	n_entry	*lstends[NLSTENTS];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/setgc.c
===================================================================
--- ram/setgc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/setgc.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,17 +6,5 @@
 */
 
-#include "all.h"
-
-extern	int16_t	infield(int16_t row, int16_t col, struct fet *fetp);
-
-extern	int16_t gcurpos(int16_t xloc, int16_t yloc);
-extern	void itcpos(int16_t row, int16_t col);
-
-extern	int16_t	cmtype;
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	sgcsw;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
+#include "ram.h"
 
 /*
Index: ram/setv2gi.c
===================================================================
--- ram/setv2gi.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/setv2gi.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,20 +6,5 @@
 */
 
-#include "all.h"
-
-extern void execins(int16_t vce, int16_t ins, int16_t tag);
-
-extern	int16_t	curinst;
-extern	int16_t	curvce;
-
-extern	int16_t	ins2grp[];
-extern	int16_t	s_inst[];
-extern	int16_t	vce2grp[];
-
-extern	struct	instdef	vbufs[];
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/setwq.c
===================================================================
--- ram/setwq.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/setwq.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,5 +8,5 @@
 #define	WORDQHDR		/* so wordq.h gets it right */
 
-#include "all.h"
+#include "ram.h"
 
 /*
Index: ram/showcfg.c
===================================================================
--- ram/showcfg.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/showcfg.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,5 +6,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	MAXPAT		35
@@ -18,68 +18,4 @@
 #define	RGT_EDGE	131		/* right edge of configuration box */
 #define	BOT_EDGE	348		/* bottom edge of configuration box */
-
-/* external functions */
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	void	enterit(void);
-extern	void	idpoint(int16_t x, int16_t y, int16_t pen);
-extern	void	nokey(void);
-
-extern	int16_t	et_mcfn(int16_t n);
-extern	int16_t	ef_mcfn(int16_t n);
-extern	int16_t	rd_mcfn(int16_t n);
-extern	int16_t	nd_mcfn(int16_t n, int16_t k);
-extern	int16_t	et_mwsn(int16_t nn);
-extern	int16_t	ef_mwsn(int16_t nn);
-extern	int16_t	rd_mwsn(int16_t nn);
-extern	int16_t	nd_mwsn(int16_t nn, int16_t k);
-
-/* forward references */
-
-int16_t	imfnbox(int16_t n);
-
-extern	void modinst(void);
-extern	void reshowi(void);
-extern	void settc(int16_t rv, int16_t cv);
-
-/* 
-
-*/
-
-/* variables defined elsewhere */
-
-extern	void		(*point)(int16_t x, int16_t y, int16_t pen);
-					/* point plotting function pointer */
-extern	void		(*x_key)(void);	/* "X" key handler pointer */
-
-extern	int16_t		LftEdge;	/* left edge of current box */
-extern	int16_t		TopEdge;	/* top edge of current box */
-extern	int16_t		RgtEdge;	/* right edge of current box */
-extern	int16_t		BotEdge;	/* bottom edge of current box */
-
-extern	int16_t		curslim;	/* cursor changeover point */
-extern	int16_t		curvce;		/* currently edited voice */
-extern	int16_t		hitbox;		/* selected box number */
-extern	int16_t		hitcx;		/* selection cursor x value */
-extern	int16_t		hitcy;		/* selection cursor y value */
-extern	int16_t		stccol;		/* text cursor column */
-extern	int16_t		stcrow;		/* text cursor row */
-extern	int16_t		wcflag;		/* ws/cf menu select flag (cf=0, ws=1) */
-extern	int16_t		wcmcol;		/* ws/cf menu label column */
-extern	int16_t		wcmrow;		/* ws/cf menu label row */
-extern	int16_t		wcpage;		/* ws/cf menu page */
-extern	int16_t		wmcsel;		/* ws slot select */
-extern	int16_t		wmctag;		/* ws/cf display update flag */
-
-extern	uint16_t	*instob;	/* instrument display object pointer */
-
-extern	struct	octent	*idoct;		/* object control table pointer */
-
-extern	struct	selbox	*csbp;		/* current box select table pointer */
-
-extern	struct	instdef	vbufs[];	/* voice buffers */
-
-extern	struct	wstbl	wslib[];	/* waveshape library */
 
 /* 
Index: ram/smscrl.c
===================================================================
--- ram/smscrl.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/smscrl.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,20 +8,5 @@
 #define	OLDSCRL		0
 
-#include "all.h"
-
-extern int16_t findnxt(int16_t cp);
-extern int16_t findprv(int16_t cp);
-extern void ctcoff(void);
-extern void ctcon(void);
-extern void dptw(void);
-extern void dspdest(int8_t *buf, struct patch *pp);
-extern void dspdfst(int8_t *buf, uint16_t val);
-extern void dsqlin(int8_t *buf, int16_t slin);
-extern void pte2buf(void);
-extern void setptcv(void);
-extern void voidpb(void);
-extern void vputcv(uint16_t *adr, uint16_t row, uint16_t col, uint8_t chr, uint16_t atr, uint16_t cols);
-extern void vsplot4(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
-extern void vvputsv(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t bg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
+#include "ram.h"
 
 #define	SS_NSL		16			/* number of scrolled lines */
@@ -32,36 +17,5 @@
 #define	TOPSCAN		(NSCANS - 1)		/* top scan line */
 
-extern	int16_t	cmtype;				/* cursor type */
-extern	int16_t	ctcsw;				/* cursor status */
-extern	int16_t	curslin;			/* current sequence line */
-extern	int16_t	cxrate;				/* cursor X update rate */
-extern	int16_t	cxval;				/* cursor X location */
-extern	int16_t	cyrate;				/* cursor Y update rate */
-extern	int16_t	cyval;				/* cursor Y location */
-extern	int16_t	ptecpos;			/* current patch index */
-extern	int16_t	pteset;				/* ptebuf set flag */
-extern	int16_t	sqdeflg;			/* sequence data entry flag */
-extern	int16_t	stccol;				/* main cursor column */
-extern	int16_t	submenu;			/* submenu switch */
-extern	int16_t	vtccol;				/* submenu cursor column */
-extern	int16_t	vtcrow;				/* submenu cursor row */
-extern	int16_t	vtxval;				/* submenu cursor x value */
-extern	int16_t	vtyval;				/* subment cursor y value */
-
-extern	uint16_t	*obj10;			/* sequence status object pointer */
-
-extern	int16_t	cg3[][256];			/* character generator table */
-
-extern	int8_t	ptdebuf[];			/* patch data entry buffer */
-extern	int8_t	sqdebuf[];			/* sequence data entry buffer */
-
-extern	struct patch	ptebuf;			/* current patch image */
-extern	struct seqent	seqbuf;			/* sequence line buffer */
-
 int8_t	TheBuf[66];				/* display build buffer */
-
-/* 
-
-*/
 
 int8_t	*(*BakLine)(void);		/* next line backward function pointer */
Index: ram/sqdisp.c
===================================================================
--- ram/sqdisp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqdisp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,48 +8,11 @@
 #define	DEBUGSQ		0
 
-#include "all.h"
+#include "ram.h"
 
 #if	DEBUGSQ
-extern	short	debugsw;
-
 short	debugsq = 1;
 #endif
 
-extern	void	nokey(void);
-
-extern	void SetDTop(int16_t row, int16_t scan);
-extern	void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern	void ctcon(void);
-extern	void ctcpos(int16_t row, int16_t col);
-extern	void dswap(void);
-extern	void postcm(void);
-extern	void seq2buf(void);
-extern	void vsndpal(int16_t pp[16][3]);
-extern	void vsplot4(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
-extern	void vvputsv(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t bg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
-
-extern	int8_t	*(*BakLine)(void);
-extern	int8_t	*(*FwdLine)(void);
-
-extern	uint16_t	*obj8, *obj9, *obj10, *obj11;
-extern	uint16_t	*LineBuf, *ScObAdr, *OldLine;
-extern	uint16_t	LineAtr;
-
-extern	int16_t	CurLine, CurScan;
-extern	int16_t	ScrlObj, SmScNsl;
-extern	int16_t	PdScDnF, PdScUpF;
-extern	int16_t	ctcsw, submenu;
-extern	int16_t	stccol, stcrow;
-extern	int16_t	cxval;
-
-extern	int16_t	cg3[][256];
-
-extern	int8_t	TheBuf[];		/* display build buffer */
-
 int16_t	curslin;			/* current sequence line */
-
-/* 
-
-*/
 
 int8_t	sqhead[] =
Index: ram/sqdkey.c
===================================================================
--- ram/sqdkey.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqdkey.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,22 +6,5 @@
 */
 
-#include "all.h"
-
-extern void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern void ctcon(void);
-extern void dsqlin(int8_t *buf, int16_t slin);
-extern void movestc(int16_t r, int16_t c);
-
-extern	int16_t	asig, astat;
-
-extern	int16_t	action;
-extern	int16_t	curslin;
-extern	int16_t	sqdeflg;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-
-extern	int8_t	sqdebuf[50];
-
-extern	struct seqent	seqbuf;
+#include "ram.h"
 
 int16_t	actfmt;		/* action code format */
Index: ram/sqexec.c
===================================================================
--- ram/sqexec.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqexec.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -11,9 +11,5 @@
 #define	UPD_LINE	1
 
-#include "all.h"
-
-#if	(DEBUGSP|DEBUGSX)
-extern	short	debugsw;
-#endif
+#include "ram.h"
 
 #if	DEBUGSP
@@ -24,23 +20,4 @@
 short	debugsx = 1;
 #endif
-
-extern	uint16_t	setsr(uint16_t sr);
-extern	int32_t	rand24(void);
-
-extern	void vvputsv(uint16_t *obase, uint16_t nw, uint16_t fg, uint16_t bg, uint16_t row, uint16_t col, int8_t *str, uint16_t pitch, uint16_t ht, int16_t cgtab[][256]);
-
-extern	int8_t		trgtab[];
-
-extern	int16_t		curslin;
-extern	int16_t		dsp_ok;
-extern	int16_t		ndisp;
-
-extern	uint16_t	seqdupd;
-
-extern	uint16_t	*obj10;
-
-extern	int16_t		cg3[][256];
-
-extern	struct wordq	ptefifo;
 
 int16_t	seqdspn;
Index: ram/sqfield.c
===================================================================
--- ram/sqfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,68 +8,9 @@
 #define	DEBUGIT		0
 
-#include "all.h"
+#include "ram.h"
 
 #if	DEBUGIT
-extern	short	debugsw;
-
 short	debugqf = 1;
 #endif
-
-extern	void	(*xy_up)(void);
-extern	void	(*xy_dn)(void);
-extern	void	(*premove)(void);
-extern	void	(*pstmove)(void);
-extern	int16_t	(*curtype)(void);
-
-extern	void	select(void);
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	int16_t	stdctp5(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	stdmkey(void);
-extern	void	stddkey(int16_t k);
-extern	void	stopsm(void);
-extern	void	smxupd(void);
-extern	void	sqyupd(void);
-extern	void	postcm(void);
-
-extern	int16_t	astat;
-extern	int16_t	cmfirst;
-extern	int16_t	cmtype;
-extern	int16_t	curhold;
-extern	int16_t	curslin;
-extern	int16_t	cvtime;
-extern	int16_t	cvwait;
-extern	int16_t	ncvwait;
-extern	int16_t	sqdeflg;
-extern	int16_t	stccol;
-extern	int16_t	ss_ptsw;
-extern	int16_t	ss_sqsw;
-extern	int16_t	syrate;
-extern	int16_t	tvcwval;
-extern	int16_t	vcwval;
-
-extern	int16_t	crate1[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	sqboxes[];
-
-extern	struct	seqent	seqbuf;
-
-extern	int8_t	sqdebuf[];
-
-void	sqxkey(void);
-void	sqekey(void);
-void	sqmkey(void);
-void	sqdkey(int16_t k);
-
-extern	void curset(struct curpak *s);
-extern	void dcursq(void);
-extern	void dsqlin(int8_t *buf, int16_t slin);
-
-/* 
-
-*/
 
 struct curpak sq_flds = {
Index: ram/sqread.c
===================================================================
--- ram/sqread.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqread.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,13 +6,5 @@
 */
 
-#include "all.h"
-
-extern int16_t rd_ec(FILE *fp, int8_t *to, int32_t len);
-extern void clrlsel(void);
-extern void ldermsg(int8_t *p1, int8_t *p2, int8_t *p3, uint16_t p4, uint16_t p5);
-extern void ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
-
-extern	int16_t	errno;			/* system error number */
-
+#include "ram.h"
 
 /*
Index: ram/sqscan.c
===================================================================
--- ram/sqscan.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqscan.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,21 +8,9 @@
 #define	CHEKSTOP	1		/* non-zero to trap to ROMP on error */
 
-#include "all.h"
-
-extern int16_t waitcr(void);
-extern struct s_entry *SEdump(struct s_entry *sep);
-extern void SEsnap(void);
-extern void xtrap15(void);
+#include "ram.h"
 
 #if	CHEKSTOP
 int16_t	chkstop = TRUE;
 #endif
-
-extern	int16_t	notenum, notepit, curgrp, thescore, verbose;
-extern	int16_t	testing;
-extern	int16_t	sharp, endflg;
-
-extern	int32_t	curtime, noteon, noteoff, noteval, noteper, nrest;
-extern	int32_t	dvwork;
 
 int8_t	*nlist[]  = { "a", "b", "c", "d", "e", "f", "g", NULL };
Index: ram/sqselbx.c
===================================================================
--- ram/sqselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,5 +6,5 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	ST_0		0x01		/* initial Action 1 or Action 2*/
@@ -14,22 +14,4 @@
 #define	ST_OFF		0x00		/* cancel highlighting */
 
-/* 
-
-*/
-
-extern	int16_t	cmtype;
-extern	int16_t	curslin;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	submenu;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-
-extern	int8_t	actlft[];
-
-extern	int16_t	sqatype[];
-
-extern	uint16_t	*obj11;
-
 int16_t	action;				/* current action column */
 int16_t	sqdeflg;			/* sequence data entry buffer filled */
@@ -39,15 +21,4 @@
 
 struct seqent	seqbuf;			/* sequence line buffer */
-
-int16_t	sqfnbox(int16_t n);
-
-extern	void ctcon(void);
-extern	void ctcpos(int16_t row, int16_t col);
-extern	void dcursq(void);
-extern	void dsqlin(int8_t *buf, int16_t slin);
-extern	void dstw(void);
-extern	void mtcoff(void);
-extern	void mtcpos(int16_t row, int16_t col);
-extern	void vsetcv(uint16_t *adr, uint16_t row, uint16_t col, uint16_t cfb, uint16_t len);
 
 /* 
Index: ram/sqwrite.c
===================================================================
--- ram/sqwrite.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/sqwrite.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,18 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-#if	DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	int32_t	chksum(int8_t *area, int32_t len);
-
-extern	int16_t wr_ec(FILE *fp, int8_t *from, int32_t len);
-extern	void ldwmsg(int8_t *line1, int8_t *line2, int8_t *line3, uint16_t fgcolor, uint16_t bgcolor);
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/stcpos.c
===================================================================
--- ram/stcpos.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/stcpos.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,23 +6,9 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	STCOBJ		obj3
 
 #define	SDLINE		4		/* dividing line color - analog stuff */
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-
-extern	uint16_t	*STCOBJ;	/* text cursor address in VSDD RAM */
-
-extern	int16_t	cxval, cyval;		/* score cursor x,y */
-extern	int16_t	stcrow, stccol;		/* score cursor row,col */
-extern	int16_t	sctctab[10][64];	/* score background color table */
-
-/* 
-
-*/
 
 int16_t	sctccon[10][64] = {		/* score background color constants */
Index: ram/stmproc.c
===================================================================
--- ram/stmproc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/stmproc.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -14,25 +14,5 @@
 #define	PATCHDEF			/* so patch.h gets it right */
 
-#include "all.h"
-
-extern void UpdVid(int16_t row, int16_t col, int8_t *str, uint16_t atr);
-extern void buf2pte(void);
-extern void dopatch(struct patch *pp);
-extern void dspdest(int8_t *buf, struct patch *pp);
-extern void dspdfst(int8_t *buf, uint16_t val);
-extern void pte2buf(void);
-extern void voidpb(void);
-
-extern	int16_t	ptegood, ptedfok, ptestok, ptedsok, ptedtok;
-
-extern	int16_t	ptedef, ptestm, ptespec, ptesuba, ptedat1;
-
-extern	int16_t	pteset;
-
-extern	int16_t	ptecpos, ptepred, ptesucc;
-
-extern	struct patch	ptebuf;
-
-extern	int8_t	ptdebuf[];
+#include "ram.h"
 
 #if	DEBUGDP
@@ -56,8 +36,4 @@
 short	debugsr = 1;
 short	snapsr  = 1;
-#endif
-
-#if	(DEBUGDP|DEBUGEP|DEBUGFD|DEBUGFP|DEBUGSR)
-extern	short	debugsw;
 #endif
 
Index: ram/swinit.c
===================================================================
--- ram/swinit.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/swinit.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,18 +8,5 @@
 #define	FET_DEFS	1		/* so fields.h gets things right */
 
-#include "all.h"
-
-extern void tkinit(void);
-
-extern	int16_t	swctrl;
-extern	int16_t	swdir;
-extern	int16_t	swfiin;
-extern	int16_t	swflag;
-
-extern	int16_t	swfifo[NSWFIFO];
-
-/* 
-
-*/
+#include "ram.h"
 
 BOOL	se_chg;			/* Score free list changed flag */
Index: ram/tdfield.c
===================================================================
--- ram/tdfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/tdfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,56 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	select(void);
-extern	int16_t	whatbox(void);
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	int16_t	stdctp0(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	stdmkey(void);
-extern	void	stddkey(int16_t k);
-
-extern	int16_t	et_null(int16_t n);
-extern	int16_t	ef_null(int16_t n);
-extern	int16_t	rd_null(int16_t n);
-extern	int16_t	nd_null(int16_t n, int16_t k);
-extern	int16_t	et_ttab(int16_t n);
-extern	int16_t	ef_ttab(int16_t n);
-extern	int16_t	rd_ttab(int16_t nn);
-extern	int16_t	nd_ttab(int16_t nn, int16_t k);
-extern	int16_t	et_tval(int16_t n);
-extern	int16_t	ef_tval(int16_t n);
-extern	int16_t	rd_tval(int16_t nn);
-extern	int16_t	nd_tval(int16_t nn, int16_t k);
-extern	int16_t	et_tpch(int16_t nn);
-extern	int16_t	ef_tpch(int16_t nn);
-extern	int16_t	rd_tpch(int16_t nn);
-extern	int16_t	nd_tpch(int16_t nn, int16_t k);
-
-extern	void	*memset(void *vp, int8_t c, int16_t n);
-
-extern	int16_t	cxval, cyval, cxrate, cyrate;
-extern	int16_t	stcrow, stccol, submenu, vtcrow, vtccol, vtwrow, vtwcol;
-extern	int16_t	vtxval, vtyval;
-
-extern	int16_t	crate1[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	tdboxes[];
-
-extern	int16_t	tunmod, tdnamsw;
-
-/* forward references */
-
-void	tdcxupd(void);
-void	tdcyupd(void);
-
-extern	void curset(struct curpak *s);
-
-/* 
-
-*/
+#include "ram.h"
 
 struct	fet	td_fet1[] = {		/* field definitions */
Index: ram/tdselbx.c
===================================================================
--- ram/tdselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/tdselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,53 +6,5 @@
 */
 
-#include "all.h"
-
-extern	void	enterit(void);
-extern	int16_t	loc2key(int16_t row, int16_t col);
-extern	void	advtcur(void);
-extern	void	bsptcur(void);
-extern	void	vtdisp(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf);
-extern	void	nokey(void);
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	int16_t	hitbox, cxval, cyval, hitcx, hitcy, submenu;
-extern	int16_t	tunmod, curtun, tdnamsw;
-extern	int16_t	ttcmdsv, ttsel1, ttsel2, ttsel3;
-
-extern	int16_t	tdbox[][8];
-
-extern	struct	selbox	*csbp, *curboxp;
-
-extern	uint16_t	*tunob;
-
-extern	int16_t	tuntab[];
-extern	int16_t	oldtun[];
-
-extern	int8_t	tuncurn[];
-extern	int8_t	vtlin1[], vtlin2[], vtlin3[];
-
-/* forward references */
-
-int16_t	bx_null(void);
-int16_t	tdfnbox(int16_t n);
-
-extern	int16_t tt_incr(int16_t from, int16_t to);
-extern	int16_t tt_intp(int16_t from, int16_t to);
-extern	int16_t vtyper(void);
-extern	void dsttval(int16_t row, int16_t col, int16_t val, uint16_t fg, uint16_t bg);
-extern	void gettun(int16_t n);
-extern	void puttun(int16_t n);
-extern	void td_incr(int16_t mode);
-extern	void td_intp(int16_t mode);
-extern	void td_trcp(int16_t mode);
-extern	void tdswin(int16_t n);
-extern	void tt_trcp(int16_t start, int16_t finish, int16_t dest);
-extern	void twins(void);
-extern	void vtsetup(uint16_t *obj, int16_t (*dsp)(), int16_t col, int8_t *ptr, int16_t tr, int16_t tc, int16_t (*adv)(), int16_t (*bsp)(), int16_t (*cup)(), int16_t (*cdn)(), int16_t (*stop)(), uint16_t fg, uint16_t bg);
-
-/* 
-
-*/
+#include "ram.h"
 
 struct	selbox	tdboxes[] = {
Index: ram/ttcpos.c
===================================================================
--- ram/ttcpos.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ttcpos.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,19 +6,8 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	CW_0	0x0000
 #define	CW_F	0xFFFF
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	void andcopy(uint16_t *to, uint16_t *from, uint16_t with, int16_t len);
-
-extern	int16_t	vtcrow;		/* virtual typewriter cursor row */
-extern	int16_t	vtccol;		/* virtual typewriter cursor column */
-
-/* 
-
-*/
 
 static int16_t ttcur[] = {
Index: ram/tundsp.c
===================================================================
--- ram/tundsp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/tundsp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,53 +6,7 @@
 */
 
-#include "all.h"
-
-extern int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern uint16_t exp_c(uint16_t c);
-extern void arcurs(uint16_t icolor);
-extern void cnvc2p(int8_t *buf, int16_t cv);
-extern void dswap(void);
-extern void itcini(uint16_t color);
-extern void itcpos(int16_t row, int16_t col);
-extern void settc(int16_t rv, int16_t cv);
-extern void ttcini(uint16_t color);
-extern void vsndpal(int16_t pp[16][3]);
+#include "ram.h"
 
 #define	TUN_VAL	100		/* default value for tunval in cents */
-
-extern	int16_t	stcrow, stccol, cxval, cyval;
-
-extern	int16_t	curtun;		/* current tuning table */
-extern	int16_t	submenu;	/* submenu cursor switch */
-extern	int16_t	tunmod;		/* tuning table modified */
-extern	int16_t	tunval;		/* tuning table generator value */
-extern	int16_t	ttcmdsv;	/* tuning table editing state variable */
-extern	int16_t	tdnamsw;	/* tuning editor displaying typewriter */
-
-extern	int16_t	oldtun[];	/* previous tuning table for undo */
-extern	int16_t	tuntab[];	/* current tuning table */
-extern	int16_t	tunlib[][128];	/* tuning table library */
-
-extern	int16_t	panlkey[];	/* local key tunings */
-extern	int16_t	lclkmap[];	/* local key to MIDI key map */
-
-extern	int8_t	tuncurn[];	/* current tuning table name */
-extern	int8_t	tunname[][32];	/* tuning table names */
-extern	int8_t	sfdsp[];
-
-extern	uint16_t	*obj0, *obj2;
-
-extern	int8_t	bfs[];
-extern	int8_t	*tdbxlb[];
-
-extern	int16_t	tdbox[][8];
-
-extern	uint16_t	*tunob;
-
-extern	struct	octent	*tdoct;
-
-/* 
-
-*/
 
 int16_t	tunpal[16][3] = {	/* color palette */
Index: ram/ucslice.c
===================================================================
--- ram/ucslice.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/ucslice.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,31 +8,5 @@
 #undef	DEBUGGER
 
-#include "all.h"
-
-/* variables defined elsewhere */
-
-extern	uint16_t	*saddr;		/* score object base address */
-
-extern	int16_t		ndisp;		/* current display number */
-extern	int16_t		sd;		/* scroll direction flag */
-extern	int16_t		soffset;	/* score object scroll offset */
-
-extern	int16_t		gtctab[];	/* group to color table */
-extern	int16_t		lintab1[];	/* note top line table - N_SHARP */
-extern	int16_t		lintab2[];	/* note top line table - N_FLAT */
-extern	int16_t		nbmasks[];	/* pixel mask table for slices */
-extern	int16_t		nttab1[];	/* gdsel code transition table - fwd */
-extern	int16_t		nttab2[];	/* gdsel code transition table - bak */
-
-extern	uint16_t	pxtbl[][4];	/* pixel mask table - notes */
-extern	uint16_t	epxtbl[][16];	/* pixel mask table - events */
-
-extern	struct	gdsel	*gdfsep;	/* gdsel freechain pointer */
-
-extern	struct	gdsel	*gdstbc[];	/* group status list heads */
-
-/* 
-
-*/
+#include "ram.h"
 
 /*
Index: ram/uslice.c
===================================================================
--- ram/uslice.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/uslice.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -10,41 +10,7 @@
 #define	DEBUGIT		0
 
-#include "all.h"
+#include "ram.h"
 
 #define	BARCOLOR	0x3333
-
-/* variables defined elsewhere */
-
-#if DEBUGIT
-extern	short	debugsw;
-#endif
-
-extern	uint16_t	scrl;
-
-extern	int16_t		sbase;
-extern	int16_t		sd;
-extern	int16_t		soffset;
-
-extern	uint16_t	*consl;
-extern	uint16_t	*cursl;
-extern	uint16_t	*nxtsl;
-extern	uint16_t	*prvsl;
-extern	uint16_t	*saddr;
-
-extern	uint16_t	slices[];
-
-extern	int16_t		gtctab[12];		/* group to color table */
-
-extern	struct	gdsel	*gdfsep;		/* gdsel freechain pointer */
-
-extern	struct	gdsel	*gdstbc[NGDSEL];	/* group status list heads */
-extern	struct	gdsel	*gdstbn[NGDSEL];	/* group status list heads */
-extern	struct	gdsel	*gdstbp[NGDSEL];	/* group status list heads */
-
-extern	struct	gdsel	gdfsl[MAXFSL];		/* gdsel pool */
-
-/* 
-
-*/
 
 /* initialized data */
Index: ram/vtyper.c
===================================================================
--- ram/vtyper.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/vtyper.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,45 +6,5 @@
 */
 
-#include "all.h"
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	void ttcpos(int16_t row, int16_t col);
-
-extern	int16_t	cxrate;		/* data entry cursor x (col) update increment */
-extern	int16_t	cyrate;		/* data entry cursor y (row) update increment */
-extern	int16_t	stccol;		/* data entry text cursor column */
-extern	int16_t	stcrow;		/* data entry text cursor row */
-extern	int16_t	vtccol;		/* vtyper cursor column */
-extern	int16_t	vtcrow;		/* vtyper cursor row */
-extern	int16_t	vtdecol;	/* vtyper data entry column */
-extern	int16_t	vtxval;		/* vtyper cursor x value */
-extern 	int16_t	vtyval;		/* vtyper cursor y value */
-
-extern	int8_t	*vtdeptr;	/* vtyper data entry pointer */
-
-extern	int8_t	vtdechr;	/* vtyper data entry character */
-
-extern	int8_t	bfs[];		/* display string buffer */
-
-extern	int16_t	vtwrow;		/* vtyper window top row */
-extern	int16_t	vtwcol;		/* vtyper window left column */
-
-extern	void	(*vt_adv)(void);
-				/* vtyper data cursor advance function */
-extern	void	(*vt_bsp)(void);
-				/* vtyper data cursor backspace function */
-extern	void	(*vt_cdn)(void);
-				/* vtyper data cursor down function */
-extern	void	(*vt_cup)(void);
-				/* vtyper data cursor up function */
-extern	void	(*vt_stop)(void);
-				/* vtyper exit function */
-extern	void	(*vt_dsp)(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf);
-				/* vtyper display function */
-
-extern	uint16_t *vtobj;	/* vtyper display object pointer */
-extern	uint16_t vtfgval;	/* vtyper data foreground color */
-extern	uint16_t vtbgval;	/* vtyper data background color */
+#include "ram.h"
 
 /* virtual typewriter display line constants */
Index: ram/wdfield.c
===================================================================
--- ram/wdfield.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/wdfield.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,124 +8,8 @@
 #define	DOUBLED		1		/* non-zero for doubled WS outputs */
 
-#include "all.h"
+#include "ram.h"
 
 #define	WCSCALE		32768L
 #define	WCROUND		16384L
-
-extern	void	select(void);
-extern	int16_t	whatbox(void);
-extern	void	nokey(void);
-extern	int16_t	nonf(int16_t k);
-extern	int16_t	stdctp1(void);
-extern	void	cxkstd(void);
-extern	void	cykstd(void);
-extern	void	stdmkey(void);
-extern	void	stddkey(int16_t k);
-
-extern	int16_t	et_null(int16_t n);
-extern	int16_t	ef_null(int16_t n);
-extern	int16_t	rd_null(int16_t n);
-extern	int16_t	nd_null(int16_t n, int16_t k);
-extern	int16_t	et_wavs(int16_t n);
-extern	int16_t	ef_wavs(int16_t n);
-extern	int16_t	rd_wavs(int16_t n);
-extern	int16_t	nd_wavs(int16_t n, int16_t k);
-extern	int16_t	et_wvce(int16_t n);
-extern	int16_t	ef_wvce(int16_t n);
-extern	int16_t	rd_wvce(int16_t n);
-extern	int16_t	nd_wvce(int16_t n, int16_t k);
-extern	int16_t	et_wslt(int16_t n);
-extern	int16_t	ef_wslt(int16_t n);
-extern	int16_t	rd_wslt(int16_t n);
-extern	int16_t	nd_wslt(int16_t n, int16_t k);
-extern	int16_t	et_wpnt(int16_t n);
-extern	int16_t	ef_wpnt(int16_t n);
-extern	int16_t	rd_wpnt(int16_t n);
-extern	int16_t	nd_wpnt(int16_t n, int16_t k);
-extern	int16_t	et_woff(int16_t n);
-extern	int16_t	ef_woff(int16_t n);
-extern	int16_t	rd_woff(int16_t n);
-extern	int16_t	nd_woff(int16_t n, int16_t k);
-extern	int16_t	et_whar(int16_t n);
-extern	int16_t	ef_whar(int16_t n);
-extern	int16_t	rd_whar(int16_t n);
-extern	int16_t	nd_whar(int16_t n, int16_t k);
-extern	int16_t	et_whrv(int16_t n);
-extern	int16_t	ef_whrv(int16_t n);
-extern	int16_t	rd_whrv(int16_t n);
-extern	int16_t	nd_whrv(int16_t n, int16_t k);
-
-extern	void	wscalc(void);
-extern	void	adj(int16_t wshar);
-extern	void	wdswin(int16_t n);
-extern	void	clrws(void);
-extern	void	wadj(void);
-extern	void	wwins(void);
-extern	void	curset(struct curpak *s);
-
-/* 
-
-*/
-
-extern	int16_t	astat;
-extern	int16_t	cmtype;
-extern	int16_t	curfunc;
-extern	int16_t	curinst;
-extern	int16_t	curslim;
-extern	int16_t	curvce;
-extern	int16_t	curwave;
-extern	int16_t	curwdth;
-extern	int16_t	curwfnl;
-extern	int16_t	curwhrm;
-extern	int16_t	curwhrv;
-extern	int16_t	curwoff;
-extern	int16_t	curwpnt;
-extern	int16_t	curwslt;
-extern	int16_t	cxrate;
-extern	int16_t	cxval;
-extern	int16_t	cyrate;
-extern	int16_t	cyval;
-extern	int16_t	hitbox;
-extern	int16_t	lstwoff;
-extern	int16_t	lstwpnt;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	wdupdfl;
-extern	int16_t	wplast;
-extern	int16_t	wpntsv;
-extern	int16_t	wvlast;
-
-/* 
-
-*/
-
-extern	int16_t	crate1[];
-extern	int16_t	offsets[NUMWPCAL];
-extern	int16_t	vmtab[NUMHARM];
-extern	int16_t	wsbuf[NUMWPCAL];
-
-extern	int16_t	wsnmod[12][2];
-
-extern	uint16_t *waveob;
-
-extern	int8_t	bfs[];
-
-extern	struct	instdef	vbufs[];
-
-extern	struct	selbox	*csbp;
-extern	struct	selbox	wdboxes[];
-
-/* forward references */
-
-void	wdxkey(void);
-int16_t	wdnfld(int16_t k);
-void	wdcxupd(void);
-void	wdcyupd(void);
-void	wdykup(void);
-void	wdykdn(void);
-
-/* 
-
-*/
 
 #include "wdcurtb.h"		/* int16_t wdcurtb[];  int16_t wdcurct[8][2]; */
Index: ram/wdfield.x
===================================================================
--- ram/wdfield.x	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
+++ ram/wdfield.x	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -0,0 +1,35 @@
+#pragma once
+
+#include "curpak.h"
+#include "fields.h"
+#include "stdint.h"
+
+/*
+   =============================================================================
+	adfield.c -- global variables
+   =============================================================================
+*/
+
+extern	int16_t		wdbox[][8];
+extern	int8_t		*wdbxlb0[];
+extern	int8_t		*wdbxlb1[];
+extern	int16_t		wxrate;
+
+/*
+   =============================================================================
+	adfield.c -- global functions
+   =============================================================================
+*/
+
+extern	void		pntsup(void);
+extern	void		updfpu(void);
+extern	void		wdcxupd(void);
+extern	void		wdcyupd(void);
+extern	void		wdfield(void);
+extern	void		wdintp(void);
+extern	int16_t		wdnfld(int16_t k);
+extern	void		wdxkey(void);
+extern	void		wdykdn(void);
+extern	void		wdykup(void);
+extern	void		whupd(void);
+extern	void		wsupd(void);
Index: ram/wdselbx.c
===================================================================
--- ram/wdselbx.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/wdselbx.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -8,45 +8,5 @@
 #define	DEBUGIT		0
 
-#include "all.h"
-
-extern	int16_t	entbh(int16_t n);
-extern	void	wdswin(int16_t n);
-
-extern	int16_t	curvce, curwdth, cursbox, hitbox, cxval, cyval, hitcx, hitcy;
-extern	int16_t	curwave, curwfnl, curwpnt, curwoff, curwhrm, curwhrv, curwslt;
-extern	int16_t	wdupdfl, wpntsv, wplast, wvlast, lstwoff, lstwpnt;
-
-extern	int16_t	offsets[NUMWPCAL];
-extern	int16_t	vmtab[NUMHARM];
-extern	int16_t	wsbuf[NUMWPCAL];
-
-extern	int32_t	vknm[NUMHARM][NUMWPCAL];
-
-extern	int16_t	wdbox[][8];
-
-extern	int16_t	wsnmod[12][2];
-
-extern	int16_t	crate1[], crate2[], *cratex, *cratey;
-
-extern	struct	selbox	*csbp, *curboxp;
-
-extern	struct	instdef	vbufs[];
-
-extern	struct	wstbl	wslib[];
-
-/* forward references */
-
-int16_t	bx_null(void);
-int16_t	wdfnbox(int16_t n);
-
-extern	int16_t gcurpos(int16_t xloc, int16_t yloc);
-extern	void arcurs(uint16_t icolor);
-extern	void settc(int16_t rv, int16_t cv);
-extern	void updfpu(void);
-extern	void wadj(void);
-
-/* 
-
-*/
+#include "ram.h"
 
 struct	selbox	wdboxes[] = {
Index: ram/wheel.c
===================================================================
--- ram/wheel.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/wheel.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -12,12 +12,5 @@
 #define	DEBUGTK		0
 
-#include "all.h"
-
-extern	uint16_t	setipl(uint16_t arg);
-
-extern	int16_t infield(int16_t row, int16_t col, struct fet *fetp);
-extern	void cmfix(void);
-extern	void smy_up(int16_t tag);
-extern	void sqy_up(int16_t tag);
+#include "ram.h"
 
 #define	M_FL_CT		1024			/* mouse flush count */
@@ -122,93 +115,4 @@
 };
 
-/* 
-
-*/
-
-extern	void	(*curmove)(void);
-extern	void	(*cx_upd)(void);
-extern	void	(*cy_upd)(void);
-extern	void	(*xy_dn)(void);
-extern	void	(*xy_up)(void);
-extern	void	(*e_key)(void);
-extern	void	(*m_key)(void);
-extern	void	(*x_key)(void);
-
-extern	int16_t	asig;
-extern	int16_t	astat;
-extern	int16_t	aval;
-extern	int16_t	chtime;
-extern	int16_t	chwait;
-extern	int16_t	clkctl;
-extern	int16_t	clkrun;
-extern	int16_t	cmfirst;
-extern	int16_t	cmtype;
-extern	int16_t	ctrsw;
-extern	int16_t	curhold;
-extern	int16_t	cvtime;
-extern	int16_t	cvwait;
-extern	int16_t	cxrate;
-extern	int16_t	cxval;
-extern	int16_t	cyrate;
-extern	int16_t	cyval;
-extern	int16_t	nchwait;
-extern	int16_t	ncvwait;
-extern	int16_t	ndisp;
-extern	int16_t	ss_ptsw;
-extern	int16_t	ss_sqsw;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	swback;
-extern	int16_t	swctrl;
-extern	int16_t	swdelta;
-extern	int16_t	swdir;
-extern	int16_t	swfiin;
-extern	int16_t	swflag;
-extern	int16_t	swlast;
-extern	int16_t	swndx;
-extern	int16_t	swstop;
-extern	int16_t	swthr;
-extern	int16_t	swtime;
-extern	int16_t	swwait;
-
-/* 
-
-*/
-
-extern	int16_t	tkback;
-extern	int16_t	tkctrl;
-extern	int16_t	tkrmin;
-extern	int16_t	tkthr;
-extern	int16_t	tktime;
-extern	int16_t	tkwait;
-extern	int16_t	trkball;
-extern	int16_t	txfiin;
-extern	int16_t	txflag;
-extern	int16_t	txlast;
-extern	int16_t	tyfiin;
-extern	int16_t	tyflag;
-extern	int16_t	tylast;
-extern	int16_t	txstop;
-extern	int16_t	tystop;
-extern	int16_t	vtccol;
-extern	int16_t	vtcrow;
-extern	int16_t	vtpcol;
-extern	int16_t	vtprow;
-extern	int16_t	xkstat;
-extern	int16_t	ykstat;
-
-extern	int32_t	swcount;
-extern	int32_t	swrate;
-extern	int32_t	swrmin;
-extern	int32_t	swtemp;
-
-extern	int16_t	*cratex;
-extern	int16_t	*cratey;
-
-extern	int16_t	sigtab[][2];
-extern	int16_t	swfifo[NSWFIFO];
-extern	int16_t	txfifo[NTKFIFO];
-extern	int16_t	tyfifo[NTKFIFO];
-
 #include "swrtab.h"		/* long swrtab[128]; */
 
Index: ram/wscalc.c
===================================================================
--- ram/wscalc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/wscalc.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,18 +6,8 @@
 */
 
-#include "all.h"
+#include "ram.h"
 
 #define	WAVESMAX	1023
 #define	WAVESMIN	1023
-
-extern	int16_t	curwhrm;
-
-extern	int32_t	hwave[NUMWPCAL];
-
-extern	int16_t	offsets[NUMWPCAL];
-extern	int16_t	vmtab[NUMHARM];
-extern	int16_t	wsbuf[NUMWPCAL];
-
-extern	int32_t	vknm[NUMHARM][NUMWPCAL];
 
 #include "knmtab.h"		/* short knmtab[NUMHARM][NUMWPCAL]; */
Index: ram/wsdsp.c
===================================================================
--- ram/wsdsp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ ram/wsdsp.c	(revision b28a12ef97b945387f5b106a616f46d89ccff6b6)
@@ -6,77 +6,5 @@
 */
 
-#include "all.h"
-
-/* things defined elsewhere */
-
-extern	uint16_t	exp_c(uint16_t c);
-
-extern	void	(*point)(int16_t x, int16_t y, int16_t pen);
-
-extern	uint16_t	*obj0;
-
-extern	int8_t	bfs[];
-
-extern	int8_t	*wdbxlb0[];
-extern	int8_t	*wdbxlb1[];
-
-extern	int16_t	wdbox[][8];
-
-extern	struct	instdef	vbufs[];
-
-/* 
-
-*/
-
-extern	int16_t	curinst;
-extern	int16_t	curvce;
-extern	int16_t	curwave;	/* current waveshape library slot */
-extern	int16_t	curwdth;	/* current waveshape cursor width */
-extern	int16_t	curwfnl;	/* current waveshape final value */
-extern	int16_t	curwhrm;	/* current waveshape harmonic number */
-extern	int16_t	curwhrv;	/* current waveshape harmonic value */
-extern	int16_t	curwpnt;	/* current waveshape point number */
-extern	int16_t	curwoff;	/* current waveshape offset value */
-extern	int16_t	curwslt;	/* current waveshape instrument slot */
-extern	int16_t	cxval;
-extern	int16_t	cyval;
-extern	int16_t	lstwoff;
-extern	int16_t	lstwpnt;
-extern	int16_t	stccol;
-extern	int16_t	stcrow;
-extern	int16_t	wpntsv;		/* waveshape point selection state variable */
-extern	int16_t	wplast;
-extern	int16_t	wvlast;
-
-extern	int16_t	vmtab[NUMHARM];		/* harmonic table */
-extern	int16_t	wsbuf[NUMWPCAL];	/* waveshape generation buffer */
-
-extern	int32_t	vknm[NUMHARM][NUMWPCAL];	/* scaled harmonics */
-
-extern	uint16_t *waveob;		/* waveshape display object pointer */
-
-extern	int16_t	wsnmod[12][2];		/* waveshape number or data modified */
-
-extern	struct	wstbl	wslib[NUMWAVS];	/* waveshape library */
-
-extern	struct	octent	*wdoct;		/* object control table pointer */
-
-/* forward references */
-
-void	wdpoint(int16_t x, int16_t y, int16_t pen);
-
-extern	void arcurs(uint16_t icolor);
-extern	void clrwsa(void);
-extern	void dswap(void);
-extern	void itcini(uint16_t color);
-extern	void itcpos(int16_t row, int16_t col);
-extern	void newws(void);
-extern	void setgc(int16_t xv, int16_t yv);
-extern	void updfpu(void);
-extern	void vsndpal(int16_t pp[16][3]);
-
-/* 
-
-*/
+#include "ram.h"
 
 int16_t	wavpal[16][3] = {	/* waveshape display color palette */
