Subversion Repositories svn.mios

Rev

Rev 875 | Rev 880 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 875 Rev 878
Line 1... Line 1...
1
; $Id: sid_se_l.inc 875 2009-12-29 13:06:43Z tk $
1
; $Id: sid_se_l.inc 878 2010-01-02 15:40:58Z tk $
2
;
2
;
3
; MIDIbox SID
3
; MIDIbox SID
4
; Lead Engine
4
; Lead Engine
5
;  
5
;  
6
; ==========================================================================
6
; ==========================================================================
Line 320... Line 320...
320
	iorlw	0x08		; set testflag if all waveforms disabled
320
	iorlw	0x08		; set testflag if all waveforms disabled
321
#endif
321
#endif
322
#endif
322
#endif
323
	iorwf	sid_base + SIDx_V1_CTRL, F, BANKED
323
	iorwf	sid_base + SIDx_V1_CTRL, F, BANKED
324
324
325
	;; if ABW (ADSR bug workaround) function active, update ADSR register only when the gate is set
325
	;; if ABW (ADSR bug workaround) function active, ADSR registers will be controlled by SIDSE_Gate
326
	movff	SID_PATCH_BUFFER_SHADOW + SID_Ix_OPT1_FLAGS, WREG
326
	movff	SID_PATCH_BUFFER_SHADOW + SID_Ix_OPT1_FLAGS, WREG
327
	BRA_IFSET WREG, SID_I_OPT1_FLAGS_ABW, ACCESS, SIDSE_L_UpdateStatRegs_NoADSR
327
	BRA_IFSET WREG, SID_I_OPT1_FLAGS_ABW, ACCESS, SIDSE_L_UpdateStatRegs_NoADSR
328
	movlw	SID_Ix_Vx_AD
328
	movlw	SID_Ix_Vx_AD
329
	movff	PLUSW0, sid_base + SIDx_V1_ENV_AD	
329
	movff	PLUSW0, sid_base + SIDx_V1_ENV_AD	
330
	movlw	SID_Ix_Vx_SR
330
	movlw	SID_Ix_Vx_SR
Line 407... Line 407...
407
	;; continue at modulation handler (same code - to save code space)
407
	;; continue at modulation handler (same code - to save code space)
408
	rgoto	SIDSE_L_WT_Key_Cont
408
	rgoto	SIDSE_L_WT_Key_Cont
409
SIDSE_L_WT_NoKey
409
SIDSE_L_WT_NoKey
410
410
411
	;; 
411
	;; 
412
	;; if MOD control flag (START[7]) set, control position from modulation matrix
412
	;; if MOD control flag (BEGIN[7]) set, control position from modulation matrix
413
	movlw	SID_Ix_WTx_BEGIN
413
	movlw	SID_Ix_WTx_BEGIN
414
	BRA_IFCLR PLUSW0, 7, ACCESS, SIDSE_L_WT_NoMOD
414
	BRA_IFCLR PLUSW0, 7, ACCESS, SIDSE_L_WT_NoMOD
415
SIDSE_L_WT_MOD
415
SIDSE_L_WT_MOD
416
	;; determine pointer to modulation target value -> FSR1
416
	;; determine pointer to modulation target value -> FSR1
417
	movf	SID_SE_ELEMENT_NUM, W, BANKED
417
	movf	SID_SE_ELEMENT_NUM, W, BANKED