RKE = 200h      ;kernel related
R2E = 300h	;Ruckus related
RVE = 400h	;vox related
RME = 500h	;MIDI related
RDE = 600h	;trak related
RPE = 700h	;patch related
RCD = 800h	;CD-audio related
RMX = 900h	;mixer related

		 
;DOS-type errors generated/returned by Rcukus
ERR_UNXEOF	EQU -3	    ;unexpected end of file DOS (65533)
ERR_DISKFULL	EQU -2	    ;disk full DOS		(65534)
ERR_NOMEMORY	EQU 8	    ;cannot allocate required memory from DOS


;kernel errors
ERR_NOHANDLES	EQU RKE+04  ;no handles left from ss$Malloc for MCB
ERR_BADHANDLE	EQU RKE+06  ;handle not valid from ss$Free for MCB/xms$ too
ERR_MEMCORRUPT	EQU RKE+07  ;memory corrupt from ss$Malloc for MCB
ERR_NOMEMKRN	EQU RKE+08  ;no/not enough memory from ss$Malloc for MCB
ERR_NOMATCH	EQU RKE+09  ;EnvVar not found
ERR_XMSFAIL	EQU RKE+20  ;XMS general failure (check xms@lastErr,lastErrFunc)
ERR_NOXMSMGR	EQU RKE+21  ;xms$Init called but no XMS manager installed
ERR_XMS16MB	EQU RKE+22  ;XMS allocation crossed 16MB (no-go for ISA DMA)
ERR_FILE64MB	EQU RKE+23  ;XMS file cache filesize >= 64MB
ERR_XMSFC255	EQU RKE+24  ;XMS file cache has no XF slots available
ERR_VDSFAIL	EQU RKE+30  ;VDS general failure
ERR_VDSLOCKFAIL	EQU RKE+31  ;VDS region lock failed
ERR_TIMEROFF	EQU RKE+40  ;selected timer is not set up/not init'ed
ERR_TIMERINUSE	EQU RKE+41  ;selected timer already in use
ERR_TIMERUPSO	EQU RKE+42  ;selected timer cannot be used (not responding)


;device init/access errors
ERR_ILLEGALCMD	EQU R2E+01  ;command code not valid
ERR_NODEVICE	EQU R2E+02  ;device (in context) not detected/not valid device#
ERR_DEVICEON	EQU R2E+03  ;device has already been installed
ERR_DEVIRQ	EQU R2E+04  ;device fails IRQ test (NYI)
ERR_DEVDMA	EQU R2E+05  ;device fails DMA test (NYI)
ERR_DEVNOTIMER	EQU R2E+06  ;device has no on-board timer
ERR_NOMEMDEV	EQU R2E+08  ;device has no RAM available
ERR_NOTINGEAR	EQU R2E+11  ;device has not been installed
ERR_DMATIMEOUT	EQU R2E+31  ;DMA transfer did not signal completion (see RPE)
ERR_DMABADMODE	EQU R2E+32  ;DMA mode not valid for request
ERR_DMABUSY	EQU R2E+33  ;DMA channel already in use
ERR_DMAGRAM256	EQU R2E+39  ;GRAM 256K page crossing on DMA attempt [GUS]
ERR_BADENVVAR	EQU R2E+91  ;requested EnvVar not found or incomplete
ERR_BADPATH	EQU R2E+92  ;path+filename+ext > MAX_PATHSIZE or null
ERR_MMSSCORRUPT EQU R2E+93  ;general memory manager is corrupt
ERR_MMSSLOCKFAIL EQU R2E+94 ;general memory manager lock failed
ERR_INVALIDTASK EQU R2E+99 ;internal error


;MIDI file errors
ERR_FORMATMIDI	EQU RME+01  ;file is not of type 0 or type 1
ERR_TRACKSMIDI	EQU RME+02  ;file contains too many tracks (more than 48)
ERR_TIMINGMIDI	EQU RME+03  ;file division timing not metrical
ERR_HEADERMIDI	EQU RME+04  ;file does not start with "MT"
ERR_NOTAVAILMIDI EQU RME+10 ;function not currently available (AdjustTempo)

;patch/voice allocation errors		
ERR_UNKPATHDR	EQU RPE+01  ;patch file header is not known
ERR_UNKPATINS	EQU RPE+02  ;patch file contains more than 1 instrument [GUS]
ERR_UNKPATLAYER EQU RPE+03  ;patch file contains more than 1 layer [GUS]
ERR_OLDPATVER	EQU RPE+04  ;patch file format is obsolete
ERR_BADMODE	EQU RPE+05  ;mode not supported for operation
ERR_NOMEMDMA	EQU RPE+06  ;no memory for temporary DMA transfer buffer
ERR_NOCACHE	EQU RPE+07  ;patch permanent store/cache not available (XMS)
ERR_NOMEMPATCH	EQU RPE+08  ;cannot allocate required patch memory
ERR_INVALIDBANK	EQU RPE+09  ;patch bank invalid
ERR_NOINI	EQU RPE+10  ;R2*.INI not found in current dir or in PATDIR=
ERR_BADINI	EQU RPE+11  ;R2*.INI has invalid format
ERR_BADBANKINI	EQU RPE+12  ;INI must at least contain [bank 0]
ERR_BADDIRINI	EQU RPE+13  ;INI [bank must at least include [dir=DEFAULT]
ERR_NOPATCHINI	EQU RPE+14  ;patch required not found in INI [bank]
ERR_TOOMANYPCS	EQU RPE+15  ;more than 512 Program Change events
WRN_PATCHFLAGGED EQU RPE+19  ;patchname starts with "*" in INI (WARNING only)
ERR_NOPATCH	EQU RPE+20  ;no program change info in .MID and no default patch
ERR_BADPATCHNO	EQU RPE+21  ;melo/drum patch out-of-range or not loaded
ERR_NOPATCHMAP	EQU RPE+22  ;drum patch out-of-range (percCh ky# doesn't map)
ERR_PATCHBOGUS	EQU RPE+23  ;patch contains out-of-bounds data	
ERR_PATCHIS8	EQU RPE+24  ;patch is already in low-rez form
ERR_BADLOOPADDR	EQU RPE+25  ;loop points not valid
ERR_PATCHINUSE	EQU RPE+26  ;patch number has already been allocated
ERR_PATCHZERO	EQU RPE+27  ;patch number is not allocated/no patch data
;ERR_DMATIMEOUT	EQU RPE+31  ;DMA transfer did not signal completion (see R2E)
ERR_BADVOICE	EQU RPE+50  ;voice number not valid (user selected)
ERR_VOICENA	EQU RPE+51  ;voice is not available (already in use)
ERR_VOICEACTIVE EQU RPE+52  ;voice active (cannot unassign w/o force)

;<EOF>
	     
