Browse Source

lead works -- has weird glitches, but maybe i'll just ignore them

Joachim Fenkes 8 years ago
parent
commit
71853df37d
1 changed files with 17 additions and 15 deletions
  1. 17 15
      avr/noiseplug.s

+ 17 - 15
avr/noiseplug.s

@@ -67,10 +67,10 @@ clear_sram:
 	sbrs r30, 5
 	rjmp clear_sram
 	
-;	ldi r18, LEADSIZE
-;	sts leadptr1, r18
-;	sts leadptr2, r18
-;	sts leadptr3, r18
+	ldi r18, 0;LEADSIZE
+	sts lead1, r18
+	sts lead2, r18
+	sts lead3, r18
 ;	ldi r18, hi8(LEADINIT1)
 ;	sts leadosc2, r18
 ;	ldi r18, lo8(LEADINIT1)
@@ -289,7 +289,7 @@ noarp:
 	ldi r24, 0
 	ldi r25, ~1
 	rcall lead_voice
-	add r16, r23
+	mov r16, r23
 	
 	;ldi r28, lead2
 	;ldi r24, 4
@@ -329,16 +329,18 @@ lead_voice:
 	cpi r23, LEADSIZE
 	brne noleadsetup
 	
-	cpi r17, 4
-	brne skiplead_top
-	cp r18, r24					; r24 no longer needed now!
-	brne skiplead_top
+		cpi r17, 4
+		brne skiplead_top
+		cp r18, r24					; r24 no longer needed now!
+		brne skiplead_top
+		tst r19
+		brne skiplead_top
 	
-	dec r28
-	ldi r20, -1
-	st Y+, r20
-	ldi r20, 1
-	st Y, r20
+		dec r28
+		ldi r23, -1
+		st Y+, r23
+		ldi r20, 1
+		st Y, r20
 
 noleadsetup:
 	lds r26, boost				; r26 = boost
@@ -495,7 +497,7 @@ leaddata:
 	.byte	0x20, 0x29, 0x20, 0x2A, 0x8B, 0x0, 0x4E, 0x0, 0x6F, 0x30, 0x6F, 0xAC, 0xE0, 0xE0, 0xE0, 0xE0
 	.byte	0x65, 0x22, 0x20, 0x65, 0x26, 0x87, 0x0, 0x68, 0x69, 0x2B, 0xAA, 0xC0, 0x67, 0x24, 0x20, 0x67
 	.byte	0x28, 0x89, 0x0, 0x68, 0x69, 0x2B, 0xAA, 0xC0, 0x65, 0x22, 0x20, 0x65, 0x26, 0xA7, 0x28, 0x20
-	.byte	0x69, 0x2B, 0xAA, 0x29, 0x20, 0x68, 0x29, 0xAA, 0x2B, 0x20, 0x69, 0x28, 0x69, 0x67
+	.byte	0x69, 0x2B, 0xAA, 0x29, 0x20, 0x68, 0x29, 0xAA, 0x2B, 0x20, 0x69, 0x28, 0x69, 0x67, 0xE0
 
 leadseq:
 	.byte	0, 1, 0, 2, 0, 1, 0, 3, 4, 5, 6