;*	PAS.INC
;*
;* Include files for Pro Audio Spectrum Sound Device, v1.22
;*
;* Copyright 1995 Petteri Kangaslampi and Jarno Paananen
;*
;* This file is part of the MIDAS Sound System, and may only be
;* used, modified and distributed under the terms of the MIDAS
;* Sound System license, LICENSE.TXT. By continuing to use,
;* modify or distribute this file you indicate that you have
;* read the license and understand and accept it fully.
;*

; This file includes necessary pieces from the PAS SDK include files


DEFAULT_BASE	EQU	00388h		;; default base I/O address
ALT_BASE_1	EQU	00384h		;; first alternate address
ALT_BASE_2	EQU	0038Ch		;; second alternate address
ALT_BASE_3	EQU	00288h		;; third alternate address
USE_ACTIVE_ADDR EQU	00000h		;; uses what is currently active

pAUDIOMIXR	EQU	0078Bh		;; Parallel interface Audio Mixer Reg
AUDIOMIXR	EQU	00B88h		;; Audio Mixer Control Register
AUDIOFILT	EQU	00B8Ah		;; Audio Filter Control Register
INTRCTLRST	EQU	00B89h		;; Interrupt Control Status Register
INTRCTLR	EQU	00B8Bh		;; Interrupt Control Register write
INTRCTLRRB	EQU	00B8Bh		;; Interrupt Control Register read back
PCMDATA 	EQU	00F88h		;; PCM data I/O register (low byte)
PCMDATAH	EQU	00F89h		;; PCM data I/O register (high byte)
CROSSCHANNEL	EQU	00F8Ah		;; Cross Channel Register
SAMPLERATE	EQU	01388h		;; (t0) Sample Rate Timer Register
SAMPLECNT	EQU	01389h		;; (t1) Sample Count Register
SPKRTMR 	EQU	0138Ah		;; (t2) Local Speaker Timer Address
TMRCTLR 	EQU	0138Bh		;; Local Timer Control Register
MDIRQVECT	EQU	01788H		;; MIDI-0 IRQ Vector Register
MDSYSCTLR	EQU	01789H		;; MIDI-1 System Control Register
MDSYSSTAT	EQU	0178AH		;; MIDI-2 IRQ Status Register
MDIRQCLR	EQU	0178BH		;; MIDI-3 IRQ Clear Register
MDGROUP4	EQU	01B88H		;; MIDI-4 Group #1 Register (MDGROUP1)
MDGROUP5	EQU	01B89H		;; MIDI-5 Group #2 Register (MDGROUP2)
MDGROUP6	EQU	01B8AH		;; MIDI-6 Group #3 Register (MDGROUP3)
MDGROUP7	EQU	01B8BH		;; MIDI-7 Group #4 Register (MDGROUP4)

;
; mixer select
;
OUTPUTMIXER	equ	00h		;; output mixer H/W select
INPUTMIXER	equ	40h		;; input mixer select
DEFMIXER	equ	-1		;; use last mixer selected
MIXERMAX	equ	1fh		;; maximum mixer setting

MVVOLUMEMAX	equ	3fh		;; MVA508 maximum mixer setting
NSVOLUMEMAX	equ	28h		;; National maximum mixer setting

EQUALIZERMAX	equ	0ch		;; maximum equalizer setting
EQUALIZERMID	equ	06h		;; maximum mid setting

;
;	Filter register bits
;
fFIdatabits	equ	00011111B	;; filter select and decode field bits
fFImutebits	equ	00100000B	;; filter mute field bits
fFIpcmbits	equ	11000000B	;; filter sample rate field bits
bFImute 	equ	00100000B	;; filter mute bit
bFIsrate	equ	01000000B	;; filter sample rate timer mask
bFIsbuff	equ	10000000B	;; filter sample buffer counter mask
FILTERMAX	equ	6		;; six possible settings

;
;	Cross Channel Bit definitions
;
fCCcrossbits	EQU	00001111B	;; cross channel bit field
fCCpcmbits	EQU	11110000B	;; pcm/dma control bit field
bCCr2r		EQU	00000001B	;; CROSSCHANNEL Right to Right
bCCl2r		EQU	00000010B	;; CROSSCHANNEL Left  to Right
bCCr2l		EQU	00000100B	;; CROSSCHANNEL Right to Right
bCCl2l		EQU	00001000B	;; CROSSCHANNEL Left  to Left
bCCdac		EQU	00010000B	;; DAC/ADC Control
bCCmono 	EQU	00100000B	;; PCM Monaural Enable
bCCenapcm	EQU	01000000B	;; Enable PCM state machine
bCCdrq		EQU	10000000B	;; Enable DRQ bit

;
;	Interrupt Control Register Bits
;
fICintmaskbits	EQU	00011111B	;; interrupt mask field bits
fICrevbits	EQU	11100000B	;; revision mask field bits
fICidbits	EQU	11100000B	;; Board revision ID field bits
bICleftfm	EQU	00000001B	;; Left FM interrupt enable
bICritfm	EQU	00000010B	;; Right FM interrupt enable
bICsamprate	EQU	00000100B	;; Sample Rate timer interrupt enable
bICsampbuff	EQU	00001000B	;; Sample buffer timer interrupt enable
bICmidi 	EQU	00010000B	;; MIDI interrupt enable
   fICrevshr	EQU	5		;; rotate rev bits to lsb

;
;	Interrupt Status Register Bits
;
fISints 	EQU	00011111B	;; Interrupt bit field
bISleftfm	EQU	00000001B	;; Left FM interrupt active
bISritfm	EQU	00000010B	;; Right FM interrupt active
bISsamprate	EQU	00000100B	;; Sample Rate timer interrupt active
bISsampbuff	EQU	00001000B	;; Sample buffer timer interrupt active
bISmidi 	EQU	00010000B	;; MIDI interrupt active
bISPCMlr	EQU	00100000B	;; PCM left/right active
bISActive	EQU	01000000B	;; Hardware is active (not in reset)
bISClip 	EQU	10000000B	;; Sample Clipping has occured

;
;	cross channel channel #s
;
RIGHT2RIGHT	equ	00h		;; right to right
LEFT2RIGHT	equ	01h		;; left  to right
RIGHT2LEFT	equ	02h		;; right to left
LEFT2LEFT	equ	03h		;; left  to left

;
; left/right mixer channel selection
;

;	left channel values

L_FM		equ	01h
L_IMIXER	equ	02h
L_EXT		equ	03h
L_INT		equ	04h
L_MIC		equ	05h
L_PCM		equ	06h
L_SPEAKER	equ	07h
L_FREE		equ	00h
L_SBDAC 	equ	00h

;	right channel values

R_FM		equ	08h
R_IMIXER	equ	09h
R_EXT		equ	0Ah
R_INT		equ	0Bh
R_MIC		equ	0Ch
R_PCM		equ	0Dh
R_SPEAKER	equ	0Eh
R_FREE		equ	0Fh
R_SBDAC 	equ	0Fh

;	Mixer register bits

fMImixerbits	EQU	00010111B	;; mixer control bit fields
fMIspkrbits	EQU	01000000B	;; speaker integrator field bits
bMIdata 	EQU	00000001B	;; data bit
bMIclock	EQU	00000010B	;; clock strobe
bMImistrb	EQU	00000100B	;; mixer output strobe
bMIna1		EQU	00001000B	;; not used
bMIvol		EQU	00010000B	;; total volume enabled
bMIna2		EQU	00100000B	;; not used
bMIspkrint	EQU	01000000B	;; speaker integrator
bMImonofm	EQU	10000000B	;; make both FMs mono

bMIfmreset	EQU	bMIdata 	;; OPL3 FM chip reset
bMIdacreset	EQU	bMIclock	;; CODEC reset
bMIsbreset	EQU	bMImistrb	;; SB microprocessor reset
bMI508reset	EQU	bMIvol		;; MVA508 reset

;	volume control channel #s

VOLMUTE 	equ	40h		;; MUTE button
VOLLOUDENH	equ	41h		;; LOUDNESS and ENHANCED STEREO switch
VOLBASS 	equ	42h		;; BASS level setting
VOLTREBLE	equ	43h		;; TREBLE level setting
VOLLEFT 	equ	44h		;; MASTER LEFT LEVEL settting
VOLRIGHT	equ	45h		;; MASTER RIGHT LEVEL settting
VOLMODE 	equ	46h		;; Model Select Left/Stereo/Right

bVOLEbass	equ	0001b		;; enhanced bass bit
bVOLEstereo	equ	0010b		;; enhanced stereo bit

;	output control

pmADDRSELECT	equ	80h		;; Parallel mixer addr select
pmDATASELECT	equ	00h		;; Parallel mixer data select

;	mixer channel programming selection

pmCHANNELLR	equ	00h		;; Left/Right channel select
pmCHANNELL	equ	20h		;; Left  channel only select
pmCHANNELR	equ	40h		;; Right channel only select

;	device select

pmMIXERSELECT	equ	10h		;; Parallel Mixer device select
pmVOLUMESELECT	equ	00h		;; Parallel Volume device select

;	Volume Device selects

pmVOLUMEA	equ	01h		;; Left/Right channel select
pmVOLUMEB	equ	02h		;; Left/Right channel select
pmVOLUMEBASS	equ	03h		;; Left/Right channel select
pmVOLUMETREB	equ	04h		;; Left/Right channel select
pmVOLUMEMODE	equ	05h		;; Left/Right channel select

;	mixer selection

pmOUTPUTMIXER	equ	00h		;; Mixer-A selection
pmINPUTMIXER	equ	20h		;; Mixer-B selection

;	mixer channel swap

pmCHSWAP	equ	40h		;; Mixer channel reroute
					;;
;	int 2F application ID codes

INT2FCODE1	equ	0BCH		;; Bryan's initials

;	int 2F ID (func 0) return register values

INT2FREGBX	equ	6D00h		;; 'm '
INT2FREGCX	equ	0076h		;; ' v'
INT2FREGDX	equ	2020h		;; UPPERCASE XOR MASK

; hardware specific equates for the MV101 (digital ASIC)

MASTERADDRP	equ	09a01h		;; Master Address Pointer    (w)
MIDIPRESCALE	equ	01788h		;; MIDI prescale	     (r/w)
MIDITIMER	equ	01789h		;; MIDI Timer		     (r/w)
MIDIDATA	equ	0178ah		;; MIDI Data		     (r/w)
MIDICONTROL	equ	0178bh		;; MIDI Control 	     (r/w)
MIDISTATUS	equ	01b88h		;; MIDI Status		     (r/w)
MIDIFIFOS	equ	01b89h		;; MIDI Fifo Status	     (r/w)
MIDICOMPARE	equ	01b8ah		;; MIDI Compare Time	     (r/w)
MIDITEST	equ	01b8bh		;; MIDI Test		     (w)
MASTERCHIPR	equ	0ff88h		;; Master Chip Rev	     (r)
SLAVECHIPR	equ	0ef88h		;; Slave Chip Rev	     (r)
ENHANCEDSCSI	equ	07f89h		;; Enhanced SCSI detect port
SYSCONFIG1	equ	08388h		;; System Config 1	     (r/w)
SYSCONFIG2	equ	08389h		;; System Config 2	     (r/w)
SYSCONFIG3	equ	0838ah		;; System Config 3	     (r/w)
SYSCONFIG4	equ	0838bh		;; System Config 4	     (r/w)
IOCONFIG1	equ	0f388h		;; I/O Config 1 	     (r/w)
IOCONFIG2	equ	0f389h		;; I/O Config 2 	     (r/w)
IOCONFIG3	equ	0f38ah		;; I/O Config 3 	     (r/w)
IOCONFIG4	equ	0f38bh		;; I/O Config 4 	     (r/w)
COMPATREGE	equ	0f788h		;; Compatible Rgister Enable (r/w)
EMULADDRP	equ	0f789h		;; Emulation Address Pointer (r/w)
WAITSTATE	equ	0bf88h		;; Wait State		     (r/w)
PUSHBUTTON	equ	0e388h		;; Push Button (slave)	     (???)
AUXINTSTAT	equ	0e38ah		;; Aux Int Status	     (???)
AUXINTENA	equ	0e38bh		;; Aux Int Enable	     (???)
OVRSMPPRE	equ	0bf8ah		;; Over Sample Prescale      (r/w)
ANALSERD	equ	0bf89h		;; Analog Chip Serial Data   (w)
MASTERMODRD	equ	0ff8bh		;; Master Mode Read	     (r)
SLAVEMODRD	equ	0ef8bh		;; Slave Mode Read	     (r)
INTWATCHDOG	equ	0fb8bh		;; Interrupt Watch Dog	     (???)
MASTERuPDATA	equ	0fb88h		;; Master uP Data	     (???)
MASTERuPCMD	equ	0fb89h		;; Master uP Command/Status  (???)
MASTERuPRST	equ	0fb8ah		;; Master uP Restart	     (???)
SLAVEuPDATA	equ	0eb88h		;; Slave uP Data	     (???)
SLAVEuPCMD	equ	0eb88h		;; Slave uP Command/Status   (???)
SLAVEuPRST	equ	0eb88h		;; Slave uP Restart	     (???)
CDTOCOUNTER	equ	04388h		;; CD-ROM timeout counter    (r/w)
CDTOSTAT	equ	04389h		;; CD-ROM timeout status     (r/w)
LEFTVURD	equ	02388h		;; Left VU Read 	     (r)
RITVURD 	equ	02389h		;; Right VU Read	     (r)

SBRST		equ	00206h		;; SB Reset		     (w)
SBDATA		equ	0020Ah		;; SB Data Read 	     (r)
SBCMD		equ	0020Ch		;; SB CMD Write/Status Read  (r/w)
SBSTAT		equ	0020Eh		;; SB Data Status	     (r)
MPUDATA 	equ	00300h		;; MPU-401 data reg	     (r/w)
MPUCMD		equ	00301h		;; MPU-401 command reg	     (r/w)

; Sys Config 1

bSC1timena	equ	00000001b	;; shadow enable
bSC1pcmemu	equ	00000010b	;; PCM Emulation of PAS1
bSC128mhz	equ	00000100b	;; 28mhz clock divisor
bSC1invcom	equ	00001000b	;; invert COM port interrupt input
bSC1stspea	equ	00010000b	;; stereoize pc speaker
bSC1realsnd	equ	00100000b	;; smart real sound emulatio
bSC1d6		equ	01000000b	;;
bSC1mstrst	equ	10000000b	;; master chip reset

; Sys Config 2

bSC2ovrsmp	equ	00000011b	;; oversampling 0,1,2,4
bSC216bit	equ	00000100b	;; 16 bit audio
bSC212bit	equ	00001000b	;; 12 bit interleaving (d2 must be set too)
bSC2msbinv	equ	00010000b	;; invert MSB from standard method
bSC2slavport	equ	01100000b	;; slave port bits
bSC2vcolock	equ	10000000b	;; VCO locked (Sample Rate Clock Valid)

; Sys Config 3

bSC328mhzfil	equ	00000001b	;; PCM Rate uses 28mhz
bSC31mhzsb	equ	00000010b	;; 1mhz timer for SB sample rate
bSC3vcoinv	equ	00000100b	;; invert VCO output
bSC3bclkinv	equ	00001000b	;; invert BCLK form 16 bit DAC
bSC3lrsync	equ	00010000b	;; 0=L/R, 1 = Sync Pulse
bSC3d5		equ	00100000b	;;
bSC3d6		equ	01000000b	;;
bSC3d7		equ	10000000b	;;

; Sys Config 4

bSC4drqahi	equ	00000001b	;; DRQ from drive active high
bSC4dackahi	equ	00000010b	;; DRQ from drive active high
bSC4intahi	equ	00000100b	;; INT from drive active high
bSC4drqvalid	equ	00001000b	;; DRQ line valid from drive
bSC4comena	equ	00010000b	;; enable COM interrupt
bSC4enascsi	equ	00100000b	;; enable SCSI interrupt
bSC4drqptr	equ	11000000b	;; DRQ timing pointer bits

; I/O Config 1

bIC1ps2ena	equ	00000001b	;; Enable Chip (PS2 only)
bIC1comdcd	equ	00000110b	;; COM port decode pointer
bIC1comint	equ	00111000b	;; COM port interrupt pointer
bIC1joyena	equ	01000000b	;; Enable joystick read
bIC1wporena	equ	10000000b	;; Enable warm boot reset

; I/O Config 2

bIC2dmaptr	equ	00000111b	;; DMA channel select

;;bIC28dmaptr	equ	00001111b	;;  8 bit DMA channel select
;;bIC216dmaptr	equ	11110000b	;; 16 bit DMA channel select

; I/O Config 3

bIC3pcmint	equ	00001111b	;; pcm IRQ channel select
bIC3cdint	equ	11110000b	;; cd  IRQ channel select

; Compatibility Register

cpMPUEmulation	equ	00000001b	;; MPU emuation is on bit
cpSBEmulation	equ	00000010b	;; SB emuation is on bit

; Emulation Address Pointer

epSBptr 	equ	00001111b	;; bit field for SB emulation
epMPUptr	equ	11110000b	;; bit field for MPU emulation

; Slave Mode Read

bSMRDdrvtyp	equ	00000011b	;; drive interface type
bSMRDfmtyp	equ	00000100b	;; FM chip type
bSMRDdactyp	equ	00001000b	;; 16 bit dac (1) or 8 bit dac (0)
bSMRDimidi	equ	00010000b	;; use internal MIDI
bSMRDswrep	equ	10000000b	;; switch is auto repeating

; Master Mode Read

bMMRDatps2	equ	00000001b	;; AT(1) or PS2(0) bus
bMMRDtmremu	equ	00000010b	;; timer emulation enabled
bMMRDmsmd	equ	00000100b	;; master/slave mode
bMMRDslave	equ	00001000b	;; slave power on or device present
bMMRDattim	equ	00010000b	;; xt/at timing
bMMRDmstrev	equ	11100000b	;; master  rev level

; MIDI Control Register

bMCRenatstmp	equ	00000001b	;; MIDI enable time stamp interrupt
bMCRenacmptm	equ	00000010b	;; MIDI enable compare time interrupt
bMCRenafifoi	equ	00000100b	;; MIDI enable FIFO input interrupt
bMCRenafifoo	equ	00001000b	;; MIDI enable FIFO output interrupt
bMCRenafifooh	equ	00010000b	;; MIDI enable FIFO output half int
bMCRrstfifoi	equ	00100000b	;; MIDI reset Input FIFO pointer
bMCRrstfifoo	equ	01000000b	;; MIDI reset Output FIFO pointer
bMCRechoio	equ	10000000b	;; MIDI echo input to output (THRU)

; MIDI Status Register

bMSRtimstamp	equ	00000001b	;; MIDI time stamp interrupt
bMSRcmptime	equ	00000010b	;; MIDI compare time interrupt
bMSRififo	equ	00000100b	;; MIDI input FIFO data avail interrupt
bMSRofifo	equ	00001000b	;; MIDI output FIFO empty interrupt
bMSRofifohalf	equ	00010000b	;; MIDI output FIFO half empty interrupt
bMSRififoovr	equ	00100000b	;; MIDI input FIFO overrun error
bMSRofifoovr	equ	01000000b	;; MIDI output FIFO overrun error
bMSRframeerr	equ	10000000b	;; MIDI frame error

; MIDI FIFO count

bMFCififo	equ	00001111b	;; MIDI input FIFO count
bMFCofifo	equ	11110000b	;; MIDI output FIFO count

; Aux interrupt status/enable

bAUfmrit	equ	00000001b	;; FM right interrupt
bAUpushb	equ	00000010b	;; push button active
bAUslavecpu	equ	00000100b	;; slave coprocessor
bAUaux0int	equ	00001000b	;; aux 0 interrupt
bAUaux1int	equ	00010000b	;; aux 1 interrupt
bAUaux2int	equ	00100000b	;; aux 2 interrupt
bAUaux3int	equ	01000000b	;; aux 3 interrupt
bAUmastrcpu	equ	10000000b	;; master coprocessor or emulation active

; Push Buttons on the Front Panel

bPSHmute	equ	00000001b	;; mute on the front panel
bPSHdnarrow	equ	00000010b	;; down arrow on the front panel
bPSHuparrow	equ	00000100b	;; up arrow on the front panel
bPSauxbit1	equ	00001000b	;; unused bit...
bPSauxbit2	equ	00010000b	;; unused bit...
bPSauxbit3	equ	00100000b	;; unused bit...
bPSauxbit4	equ	01000000b	;; unused bit...
bPSauxbit5	equ	10000000b	;; unused bit...




STRUC	MVState
  _sysspkrtmr	 db	0	;    42 System Speaker Timer Address
  _systmrctlr	 db	0	;    43 System Timer Control
  _sysspkrreg	 db	0	;    61 System Speaker Register
  _joystick	 db	0	;   201 Joystick Register
  _lfmaddr	 db	0	;   388 Left  FM Synth Address
  _lfmdata	 db	0	;   389 Left  FM Synth Data
  _rfmaddr	 db	0	;   38A Right FM Synth Address
  _rfmdata	 db	0	;   38B Right FM Synth Data
  _dfmaddr	 db	0	;   788 Dual  FM Synthesizer Address Register
  _dfmdata	 db	0	;   789 Dual  FM Synthesizer Data Register
		 db	0	;	reserved for future use
  _paudiomixr	 db	0	;   78B Paralllel Audio Mixer Control
  _audiomixr	 db	0	;   B88 Audio Mixer Control
  _intrctlrst	 db	0	;   B89 Interrupt Status
  _audiofilt	 db	0	;   B8A Audio Filter Control
  _intrctlr	 db	0	;   B8B Interrupt Control
  _pcmdata	 db	0	;   F88 PCM Data I/O Register
  _RESRVD2	 db	0	;	reserved
  _crosschannel  db	0	;   F8A Cross Channel
  _RESRVD3	 db	0	;	reserved
  _samplerate	 dw	0	;  1388 Sample Rate Timer
  _samplecnt	 dw	0	;  1389 Sample Count Register
  _spkrtmr	 dw	0	;  138A Shadow Speaker Timer Count
  _tmrctlr	 db	0	;  138B Shadow Speaker Timer Control
  _mdirqvect	 db	0	;  1788 MIDI IRQ Vector Register
  _mdsysctlr	 db	0	;  1789 MIDI System Control Register
  _mdsysstat	 db	0	;  178A MIDI IRQ Status Register
  _mdirqclr	 db	0	;  178B MIDI IRQ Clear Register
  _mdgroup1	 db	0	;  1B88 MIDI Group #1 Register
  _mdgroup2	 db	0	;  1B89 MIDI Group #2 Register
  _mdgroup3	 db	0	;  1B8A MIDI Group #3 Register
  _mdgroup4	 db	0	;  1B8B MIDI Group #4 Register
ENDS




;;
;; Each product will some/all of of these features
;;

bMVA508 	=	0000000000000001b	; MVA508(1) or National(0)
bMVPS2		=	0000000000000010b	; PS2 bus stuff
bMVSLAVE	=	0000000000000100b	; CDPC Slave device is present
bMVSCSI 	=	0000000000001000b	; SCSI interface
bMVENHSCSI	=	0000000000010000b	; Enhanced SCSI interface
bMVSONY 	=	0000000000100000b	; Sony 535 interface
bMVDAC16	=	0000000001000000b	; 16 bit DAC
bMVSBEMUL	=	0000000010000000b	; SB h/w emulation
bMVMPUEMUL	=	0000000100000000b	; MPU h/w emulation
bMVOPL3 	=	0000001000000000b	; OPL3(1) or 3812(0)
bMV101		=	0000010000000000b	; MV101 ASIC
bMV101_REV	=	0111100000000000b	; MV101 Revision
bMV101_MORE	=	1000000000000000b	; more bits in BX

;;
;; Define the ASIC versions
;;

ASIC_VERSION_B	=	0000000000000010b	; revision B
ASIC_VERSION_C	=	0000000000000011b	; revision C
ASIC_VERSION_D	=	0000000000000100b	; revision D
ASIC_VERSION_E	=	0000000000000101b	; revision E
ASIC_VERSION_F	=	0000000000000110b	; revision F

;;
;; First Pro Audio Spectrum feature list
;;
PRODUCT_PROAUDIO	=	bMVSCSI

;;
;; Pro Audio Plus feature list
;;
PRODUCT_PROPLUS 	=	bMV101+      \
				bMVSCSI+     \
				bMVENHSCSI+  \
				bMVSBEMUL+   \
				bMVOPL3
;;
;; Pro Audio Spectrum 16 feature list
;;
PRODUCT_PRO16		=	bMV101+      \
				bMVA508+     \
				bMVSCSI+     \
				bMVENHSCSI+  \
				bMVSBEMUL+   \
				bMVDAC16+    \
				bMVOPL3
;;
;; CDPC feature list
;;
PRODUCT_CDPC		=	bMV101+      \
				bMVSLAVE+    \
				bMVSONY+     \
				bMVSBEMUL+   \
				bMVDAC16+    \
				bMVOPL3
