Index: ram/asgdsp.c
===================================================================
--- ram/asgdsp.c	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/asgdsp.c	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -20,6 +20,4 @@
 
 #define	AUX_BIT		0x02	/* aux control bit in PSG port B */
-
-#define	AK_WIDTH	115	/* width, in words, of keyboard icon */
 
 /* 4 bit pixel patterns */
Index: ram/asgdsp.x
===================================================================
--- ram/asgdsp.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/asgdsp.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -9,4 +9,6 @@
 #include "stdint.h"
 
+#define	AK_WIDTH	115	/* width, in words, of keyboard icon */
+
 /*
    =============================================================================
@@ -15,7 +17,7 @@
 */
 
-extern	uint16_t	asgkbbt[115];
+extern	uint16_t	asgkbbt[AK_WIDTH];
 extern	int16_t		asgkble[88];
-extern	uint16_t	asgkbtp[115];
+extern	uint16_t	asgkbtp[AK_WIDTH];
 extern	int16_t		asgpal[16][3];
 extern	int8_t		*asgsrc[];
Index: ram/chksec.x
===================================================================
--- ram/chksec.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/chksec.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -16,8 +16,8 @@
 */
 
-extern	int8_t		cmgtags[25];
-extern	int8_t		cmgtype[25];
-extern	int16_t		cmslens[25];
-extern	int16_t		ehdlist[25];
+extern	int8_t		cmgtags[N_ETYPES];
+extern	int8_t		cmgtype[N_ETYPES];
+extern	int16_t		cmslens[N_ETYPES];
+extern	int16_t		ehdlist[N_ETYPES];
 
 /*
Index: ram/cminit.c
===================================================================
--- ram/cminit.c	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/cminit.c	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -10,6 +10,4 @@
 
 #include "ram.h"
-
-#define	CM_MXSTR	257	/* maximum parser string result length */
 
 #define	CM_DBLK		if (!QQanch) while (*QQip EQ ' ') ++QQip
Index: ram/cminit.x
===================================================================
--- ram/cminit.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/cminit.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -8,4 +8,6 @@
 
 #include "stdint.h"
+
+#define	CM_MXSTR	257	/* maximum parser string result length */
 
 /*
@@ -23,5 +25,5 @@
 extern	int32_t		QQnum;
 extern	int8_t		*QQop;
-extern	int8_t		QQstr[257];
+extern	int8_t		QQstr[CM_MXSTR];
 extern	int16_t		QQsw;
 
Index: ram/configs.h
===================================================================
--- ram/configs.h	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/configs.h	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -2,6 +2,4 @@
 
 #include "stdint.h"
-
-#define	MAXCFG	12
 
 /* Configuration 0 */
@@ -733,5 +731,5 @@
 };
 
-int8_t	*cfgptr[MAXCFG] = {
+int8_t	*cfgptr[12] = {
 
 	(int8_t *)cfg_00, (int8_t *)cfg_01, (int8_t *)cfg_02, (int8_t *)cfg_03,
Index: ram/im700.x
===================================================================
--- ram/im700.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/im700.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -11,4 +11,5 @@
 #include "instdsp.h"
 #include "libdsp.h"
+#include "midas.h"
 #include "objdefs.h"
 #include "score.h"
@@ -38,5 +39,5 @@
 extern	int16_t		asgmod;
 extern	uint16_t	*asgob;
-extern	struct	asgent	asgtab[100];
+extern	struct	asgent	asgtab[NASGS];
 extern	int16_t		asig;
 extern	int16_t		asmode;
@@ -113,10 +114,10 @@
 extern	int16_t		ext_cv4;
 extern	int16_t		ext_mod;
-extern	struct	fcat	filecat[20];
+extern	struct	fcat	filecat[FCMAX];
 extern	struct	gdsel	*gdfsep;
-extern	struct	gdsel	gdfsl[256];
-extern	struct	gdsel	*gdstbc[17];
-extern	struct	gdsel	*gdstbn[17];
-extern	struct	gdsel	*gdstbp[17];
+extern	struct	gdsel	gdfsl[MAXFSL];
+extern	struct	gdsel	*gdstbc[NGDSEL];
+extern	struct	gdsel	*gdstbn[NGDSEL];
+extern	struct	gdsel	*gdstbp[NGDSEL];
 extern	int16_t		gomode;
 extern	int16_t		grp2prt[12][2];
@@ -127,7 +128,7 @@
 extern	int16_t		hitcx;
 extern	int16_t		hitcy;
-extern	struct	s_entry	*hplist[20][12];
+extern	struct	s_entry	*hplist[N_SCORES][N_TYPES];
 extern	int16_t		idcfsw;
-extern	struct	instdef	idefs[41];
+extern	struct	instdef	idefs[NINST];
 extern	int16_t		idimsw;
 extern	int16_t		idintmp;
@@ -172,7 +173,7 @@
 extern	int16_t		lseqsw;
 extern	int16_t		lstbgnc;
-extern	struct	n_entry	*lstbgns[48];
+extern	struct	n_entry	*lstbgns[NLSTENTS];
 extern	int16_t		lstendc;
-extern	struct	n_entry	*lstends[48];
+extern	struct	n_entry	*lstends[NLSTENTS];
 extern	int16_t		lstflag;
 extern	int16_t		lstrsw;
@@ -197,5 +198,5 @@
 extern	struct	nevent	*nefree;
 extern	struct	nevent	*nelist;
-extern	struct	nevent	nevents[32];
+extern	struct	nevent	nevents[NNEVTS];
 extern	int16_t		newflag;
 extern	int16_t		nkdown;
@@ -241,5 +242,5 @@
 extern	int16_t		pecase;
 extern	struct	s_entry	*peg;
-extern	struct	pflent	pfents[336];
+extern	struct	pflent	pfents[NPFENTS];
 extern	struct	pflent	*pflist;
 extern	struct	pflent	*pfqhdr;
@@ -258,5 +259,5 @@
 extern	int16_t		sbase;
 extern	int16_t		scmctl;
-extern	struct	s_entry	*scores[20];
+extern	struct	s_entry	*scores[N_SCORES];
 extern	struct	s_entry	*scp;
 extern	uint16_t	scrl;
@@ -268,5 +269,5 @@
 extern	int16_t		sdmrow;
 extern	int16_t		se;
-extern	struct	s_entry	*seclist[20][20];
+extern	struct	s_entry	*seclist[N_SCORES][N_SECTS];
 extern	int16_t		secop;
 extern	int16_t		secopok;
@@ -275,5 +276,5 @@
 extern	int16_t		sharp;
 extern	int16_t		sigtab[128][2];
-extern	struct	scndx	sindex[20];
+extern	struct	scndx	sindex[N_SCORES];
 extern	struct	s_entry	*size1;
 extern	struct	s_entry	*size2;
@@ -291,5 +292,5 @@
 extern	int16_t		stepint;
 extern	int16_t		stepwgt;
-extern	struct	s_time	stimes[20][20];
+extern	struct	s_time	stimes[N_SCORES][N_SECTS];
 extern	int16_t		subj;
 extern	int16_t		submenu;
@@ -332,5 +333,5 @@
 extern	int16_t		ttsel3;
 extern	int16_t		tuneval;
-extern	int16_t		tunlib[10][128];
+extern	int16_t		tunlib[NTUNS][128];
 extern	int16_t		tunmod;
 extern	uint16_t	*tunob;
@@ -345,5 +346,5 @@
 extern	int16_t		tylast;
 extern	int16_t		tystop;
-extern	struct	valent	valents[12 << 4];
+extern	struct	valent	valents[NGPSRS];
 extern	int16_t		varmode[8][16];
 extern	struct	instdef	vbufs[12];
@@ -387,5 +388,5 @@
 extern	int16_t		wpntsv;
 extern	int16_t		wshmax;
-extern	struct	wstbl	wslib[20];
+extern	struct	wstbl	wslib[NUMWAVS];
 extern	int16_t		wsnmod[12][2];
 extern	int16_t		wvlast;
Index: ram/initi.x
===================================================================
--- ram/initi.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/initi.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -8,4 +8,5 @@
 
 #include "instdsp.h"
+#include "midas.h"
 #include "stdint.h"
 
@@ -18,5 +19,5 @@
 extern	uint16_t	dfltins[];
 extern	int16_t		expbit[16];
-extern	int16_t		finival[13];
+extern	int16_t		finival[NFINST];
 extern	int16_t		ptoftab[];
 
Index: ram/instdsp.x
===================================================================
--- ram/instdsp.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/instdsp.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -7,4 +7,5 @@
 #pragma once
 
+#include "midas.h"
 #include "stdint.h"
 
@@ -15,5 +16,5 @@
 */
 
-extern	int16_t		fnoff[13];
+extern	int16_t		fnoff[NFINST];
 extern	int16_t		idbox[][8];
 extern	int8_t		*idbxlbl[];
Index: ram/ptdisp.x
===================================================================
--- ram/ptdisp.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/ptdisp.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -22,5 +22,5 @@
 extern	uint16_t	seqline[16];
 extern	uint16_t	seqstim[16];
-extern	struct	seqent	seqtab[1000];
+extern	struct	seqent	seqtab[NSLINES];
 extern	uint16_t	seqtime[16];
 extern	uint16_t	sregval[16];
Index: ram/scwrite.x
===================================================================
--- ram/scwrite.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/scwrite.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -7,4 +7,5 @@
 #pragma once
 
+#include "score.h"
 #include "stdint.h"
 #include "stdio.h"
@@ -17,5 +18,5 @@
 
 extern	int32_t		m1con;
-extern	int16_t		scsizes[25][2];
+extern	int16_t		scsizes[N_ETYPES][2];
 
 /*
Index: ram/sedump.x
===================================================================
--- ram/sedump.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/sedump.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -23,6 +23,6 @@
 extern	int16_t		SL_Flag;
 extern	int8_t		*actname[];
-extern	int8_t		*evkinds[25];
-extern	int8_t		*hpname[12];
+extern	int8_t		*evkinds[N_ETYPES];
+extern	int8_t		*hpname[N_TYPES];
 extern	int8_t		*srcname[];
 extern	int8_t		*var_lbl[6];
Index: ram/showcfg.c
===================================================================
--- ram/showcfg.c	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/showcfg.c	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -7,6 +7,4 @@
 
 #include "ram.h"
-
-#define	MAXPAT		35
 
 #include "configs.h"
Index: ram/showcfg.x
===================================================================
--- ram/showcfg.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/showcfg.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -9,4 +9,6 @@
 #include "fields.h"
 #include "stdint.h"
+
+#define	MAXPAT		35
 
 /*
@@ -32,6 +34,6 @@
 extern	struct	fet	id_fet3[];
 extern	struct	selbox	idmbox[];
-extern	uint16_t	pat[35][16];
-extern	int16_t		patctab[35];
+extern	uint16_t	pat[MAXPAT][16];
+extern	int16_t		patctab[MAXPAT];
 
 /*
Index: ram/stmproc.x
===================================================================
--- ram/stmproc.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/stmproc.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -17,6 +17,6 @@
 */
 
-extern	struct	defent	defents[256];
-extern	int8_t		defptr[5120];
+extern	struct	defent	defents[RAWDEFS];
+extern	int8_t		defptr[NDEFSTMS];
 extern	int8_t		dmatch[];
 extern	uint16_t	dpecpos;
@@ -24,10 +24,10 @@
 extern	uint16_t	dpesucc;
 extern	uint16_t	dtfree;
-extern	struct	patch	patches[256];
+extern	struct	patch	patches[MAXPATCH];
 extern	int8_t		ptdsbuf[50];
 extern	struct	wordq	ptefifo;
-extern	uint16_t	ptewrds[256];
+extern	uint16_t	ptewrds[NPTEQELS];
 extern	uint16_t	ptfree;
-extern	int8_t		stmptr[5120];
+extern	int8_t		stmptr[NDEFSTMS];
 
 /*
Index: ram/swinit.c
===================================================================
--- ram/swinit.c	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/swinit.c	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -110,5 +110,5 @@
 int8_t	ebuf[MAXEBUF+1];	/* edit data entry buffer */
 int8_t	errbuf[65];		/* error message build area */
-int8_t	idbuf[91];		/* display format conversion work area */
+int8_t	idbuf[65];		/* display format conversion work area */
 int8_t	keystat[24];		/* front panel key status */
 int8_t	ldcmnt[38];		/* comment field */
Index: ram/swinit.x
===================================================================
--- ram/swinit.x	(revision 526a9931ecf963fd88914bbf92cee82eb60a80bd)
+++ ram/swinit.x	(revision 4aa78b2a192ef236ecb29c3fccf3766f74f2dc5e)
@@ -7,5 +7,9 @@
 #pragma once
 
+#include "fields.h"
+#include "libdsp.h"
 #include "midas.h"
+#include "score.h"
+#include "scwheel.h"
 #include "stddefs.h"
 #include "stdint.h"
@@ -45,5 +49,5 @@
 extern	int32_t		dvwork;
 extern	void		(*e_key)(void);
-extern	int8_t		ebuf[80 + 1];
+extern	int8_t		ebuf[MAXEBUF+1];
 extern	int8_t		errbuf[65];
 extern	int32_t		frags;
@@ -56,6 +60,6 @@
 extern	int16_t		grptmap[12];
 extern	int16_t		gtctab[12];
-extern	int32_t		hwave[256];
-extern	int8_t		idbuf[91];
+extern	int32_t		hwave[NUMWPCAL];
+extern	int8_t		idbuf[65];
 extern	int16_t		ins2grp[12];
 extern	int16_t		instmod[12];
@@ -72,5 +76,5 @@
 extern	int8_t		ldcmnt[38];
 extern	int8_t		ldfile[9];
-extern	int16_t		ldmap[20];
+extern	int16_t		ldmap[N_SCORES];
 extern	int8_t		ldmsg1[65];
 extern	int8_t		ldmsg2[65];
@@ -79,10 +83,10 @@
 extern	int8_t		*lmln23;
 extern	int8_t		*lmln24;
-extern	int8_t		loadedc[8][37];
-extern	int8_t		loadedf[8][8];
+extern	int8_t		loadedc[NLTYPES][37];
+extern	int8_t		loadedf[NLTYPES][8];
 extern	void		(*m_key)(void);
 extern	int8_t		masens[3];
 extern	int16_t		mctlnum[4];
-extern	int8_t		mctlval[6144];
+extern	int8_t		mctlval[NCTRLS];
 extern	int8_t		mdbyte[3];
 extern	int16_t		mpbend[48];
@@ -91,5 +95,5 @@
 extern	int16_t		msmstv[3];
 extern	int32_t		ndbytes;
-extern	int32_t		nlpersc[20];
+extern	int32_t		nlpersc[N_SCORES];
 extern	int16_t		(*not_fld)(int16_t k);
 extern	int32_t		noteoff;
@@ -98,5 +102,5 @@
 extern	int32_t		noteval;
 extern	int32_t		nrest;
-extern	int16_t		offsets[256];
+extern	int16_t		offsets[NUMWPCAL];
 extern	void		(*olddkey)(int16_t k);
 extern	void		(*oldekey)(void);
@@ -106,5 +110,5 @@
 extern	void		(*oldxkey)(void);
 extern	void		(*premove)(void);
-extern	int16_t		prstab[6144];
+extern	int16_t		prstab[NTRIGS];
 extern	int32_t		*pspool;
 extern	void		(*pstmove)(void);
@@ -112,6 +116,6 @@
 extern	int16_t		s_trns[12];
 extern	int32_t		schksum;
-extern	int8_t		scname[20][16];
-extern	int32_t		scsums[20];
+extern	int8_t		scname[N_SCORES][16];
+extern	int32_t		scsums[N_SCORES];
 extern	int32_t		se1_cnt;
 extern	int32_t		se2_cnt;
@@ -123,7 +127,7 @@
 extern	int32_t		sntlreq;
 extern	int32_t		spcount;
-extern	int32_t		spool[32768L];
+extern	int32_t		spool[MAX_SE];
 extern	int32_t		swcount;
-extern	int16_t		swfifo[100];
+extern	int16_t		swfifo[NSWFIFO];
 extern	LPF		(*swpt)[];
 extern	int32_t		swrate;
@@ -143,16 +147,16 @@
 extern	int32_t		t_sect;
 extern	int32_t		t_send;
-extern	int8_t		trgtab[6144];
+extern	int8_t		trgtab[NTRIGS];
 extern	int8_t		tuncurn[33];
-extern	int8_t		tunname[10][32];
+extern	int8_t		tunname[NTUNS][32];
 extern	int16_t		tuntab[128];
-extern	int16_t		txfifo[100];
-extern	int16_t		tyfifo[100];
+extern	int16_t		txfifo[NTKFIFO];
+extern	int16_t		tyfifo[NTKFIFO];
 extern	int16_t		vce2grp[12];
 extern	int16_t		vce2trg[12];
-extern	int16_t		veltab[6144];
-extern	int32_t		vknm[32][256];
+extern	int16_t		veltab[NTRIGS];
+extern	int32_t		vknm[NUMHARM][NUMWPCAL];
 extern	int8_t		*vlbptr[3];
-extern	int16_t		vmtab[32];
+extern	int16_t		vmtab[NUMHARM];
 extern	void		(*vt_adv)(void);
 extern	void		(*vt_bsp)(void);
@@ -162,5 +166,5 @@
 extern	void		(*vt_stop)(void);
 extern	int8_t		*vtdeptr;
-extern	int16_t		wsbuf[256];
+extern	int16_t		wsbuf[NUMWPCAL];
 extern	int32_t		wshfac;
 extern	void		(*x_key)(void);
