Waxx Posted January 16, 2011 Report Share Posted January 16, 2011 Hi, i'm making a stereo MidiboxSid, it's almost finished, just need a box, bankstick, dout module, and a second din module. I've started to play with my Midiboxsid, and i've got a problem with the LFO's, it seems the LFO's don't do 1/4T 1/8T 1/16T etc, or 1/2P 1/4P etc It just does the regular 1 1/2 1/4..... Are the LFO synced by the SID chip or is it in the mios in the pic ? Can it be added in the mios ? Thank you (I've started to look at the asm files, and for now i don't find a part with LFO) Quote Link to comment Share on other sites More sharing options...
nILS Posted January 16, 2011 Report Share Posted January 16, 2011 The LFOs are generated in the PIC. So you just need to dig a little deeper in the source ;) \src\sid_se_l.inc might be helpful as a start Quote Link to comment Share on other sites More sharing options...
TK. Posted January 16, 2011 Report Share Posted January 16, 2011 I added your request to the Wishlist (end of the CHANGELOG.txt sid_lfo_table.inc has to be enhanced (see end of this file) + the preset offset in sid_se_l.inc (search for "if LFO synched via clock, replace 245-255 by MIDI clock optimized incrementers") In addition the appr. CS code + Rutger's and Nils Editor have to be adapted. And the documentation has to be overworked of course. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Waxx Posted November 23, 2011 Author Report Share Posted November 23, 2011 (edited) Hi everybody !!!! i'm trying to add the new lfo's value to the sidbox : So, i started by searching the real values, i'm not shure of it: 1/2T=1/3=0.333333333 1/4T=1/6=0.166666667 1/8T=1/12=0.08333333 1/16T=1/24=0.0416667 1/32T=1/48=0.0208333 1/64T=1/96=0.0104167 1/2.=3/4=0.75 1/4.=3/8=0.375 1/8.=3/16=0.1875 1/16.=3/32=0.09375 1/32.=3/64=0.046875 1/64.=3/128=0.0234375 Edit the sid_lfo_table.inc at the end, i take 1024/divisor, exemple: 1024/(1/2)= 2048, 1024/(1/16T)=1024/(1/24)= 24576. ;; alternative table for MIDI clock ;; (overrules entries 231-255 of normal LFO table if SID_I_LFO_MODE_CLKSYNC flag is set) SID_LFO_TABLE_MCLK dw 16 ; 231: 64/1 dw 32 ; 232: 32/1 dw 64 ; 233: 16/1 dw 128 ; 234: 8/1 dw 256 ; 235: 4/1 dw 512 ; 236: 2/1 dw 1024 ; 237: 1/1 dw 1365 ; 238: 1/2. dw 2048 ; 239: 1/2 dw 3072 ; 240: 1/2T dw 2731 ; 241: 1/4. dw 4096 ; 242: 1/4 dw 6144 ; 243: 1/4T dw 5461 ; 244: 1/8. dw 8192 ; 245: 1/8 dw 12288 ; 246: 1/8T dw 10923 ; 247: 1/16. dw 16384 ; 248: 1/16 dw 24576 ; 249: 1/16T dw 21845 ; 250: 1/32. dw 32768 ; 251: 1/32 dw 49152 ; 252: 1/32T dw 43691 ; 253: 1/64. dw 65536 ; 254: 1/64 dw 98304 ; 255: 1/64T After that, edit the sid_se_l.inc file at: ;; if LFO synched via clock, replace 231-255 by MIDI clock optimized incrementers movlw SID_Ix_LFOx_MODE BRA_IFCLR PLUSW0, SID_I_LFO_MODE_CLKSYNC, ACCESS, SIDSE_L_LFO_Rate_NoClkSync SIDSE_L_LFO_Rate_ClkSync movf IRQ_TMP1, W addlw -231 bnc SIDSE_L_LFO_Rate_NoClkSyncValues TABLE_ADDR_MUL_W SID_LFO_TABLE_MCLK, 2 rgoto SIDSE_L_LFO_Rate_ClkSync_Cont SIDSE_L_LFO_Rate_NoClkSyncValues SIDSE_L_LFO_Rate_NoClkSync And now, compil again and upload to the Midibox Sid, for now i'm testing and it's working :D, but i think it could be better to make duplicate values for a better midi control, it's 25 values for 255 midi steps so each value repeats 10 time : dw 16 ; 1: 64/1 dw 16 ; 2: 64/1 dw 16 ; 3: 64/1 dw 16 ; 4: 64/1 dw 16 ; 5: 64/1 dw 16 ; 6: 64/1 dw 16 ; 7: 64/1 dw 16 ; 8: 64/1 dw 16 ; 9: 64/1 dw 16 ; 10: 64/1 dw 16 ; 11: 64/1 dw 32 ; 12: 32/1 dw 32 ; 13: 32/1 dw 32 ; 14: 32/1 dw 32 ; 15: 32/1 dw 32 ; 16: 32/1 dw 32 ; 17: 32/1 dw 32 ; 18: 32/1 dw 32 ; 19: 32/1 dw 32 ; 20: 32/1 dw 32 ; 21: 32/1 dw 32 ; 22: 32/1 dw 32 ; 23: 32/1 dw 64 ; 24: 16/1 dw 64 ; 25: 16/1 dw 64 ; 26: 16/1 dw 64 ; 27: 16/1 dw 64 ; 28: 16/1 dw 64 ; 29: 16/1 dw 64 ; 30: 16/1 dw 64 ; 31: 16/1 dw 64 ; 32: 16/1 dw 64 ; 33: 16/1 dw 64 ; 34: 16/1 dw 128 ; 35: 8/1 dw 128 ; 36: 8/1 dw 128 ; 37: 8/1 dw 128 ; 38: 8/1 dw 128 ; 39: 8/1 dw 128 ; 40: 8/1 dw 128 ; 41: 8/1 dw 128 ; 42: 8/1 dw 128 ; 43: 8/1 dw 128 ; 44: 8/1 dw 256 ; 45: 4/1 dw 256 ; 46: 4/1 dw 256 ; 47: 4/1 dw 256 ; 48: 4/1 dw 256 ; 49: 4/1 dw 256 ; 50: 4/1 dw 256 ; 51: 4/1 dw 256 ; 52: 4/1 dw 256 ; 53: 4/1 dw 256 ; 54: 4/1 dw 512 ; 55: 2/1 dw 512 ; 56: 2/1 dw 512 ; 57: 2/1 dw 512 ; 58: 2/1 dw 512 ; 59: 2/1 dw 512 ; 60: 2/1 dw 512 ; 61: 2/1 dw 512 ; 62: 2/1 dw 512 ; 63: 2/1 dw 512 ; 64: 2/1 dw 1024 ; 65: 1/1 dw 1024 ; 66: 1/1 dw 1024 ; 67: 1/1 dw 1024 ; 68: 1/1 dw 1024 ; 69: 1/1 dw 1024 ; 70: 1/1 dw 1024 ; 71: 1/1 dw 1024 ; 72: 1/1 dw 1024 ; 73: 1/1 dw 1024 ; 74: 1/1 dw 1365 ; 75: 1/2. dw 1365 ; 76: 1/2. dw 1365 ; 77: 1/2. dw 1365 ; 78: 1/2. dw 1365 ; 79: 1/2. dw 1365 ; 80: 1/2. dw 1365 ; 81: 1/2. dw 1365 ; 82: 1/2. dw 1365 ; 83: 1/2. dw 1365 ; 84: 1/2. dw 2048 ; 85: 1/2 dw 2048 ; 86: 1/2 dw 2048 ; 87: 1/2 dw 2048 ; 88: 1/2 dw 2048 ; 89: 1/2 dw 2048 ; 90: 1/2 dw 2048 ; 91: 1/2 dw 2048 ; 92: 1/2 dw 2048 ; 93: 1/2 dw 2048 ; 94: 1/2 dw 3072 ; 95: 1/2T dw 3072 ; 96: 1/2T dw 3072 ; 97: 1/2T dw 3072 ; 98: 1/2T dw 3072 ; 99: 1/2T dw 3072 ; 100: 1/2T dw 3072 ; 101: 1/2T dw 3072 ; 102: 1/2T dw 3072 ; 103: 1/2T dw 3072 ; 104: 1/2T dw 2731 ; 105: 1/4. dw 2731 ; 106: 1/4. dw 2731 ; 107: 1/4. dw 2731 ; 108: 1/4. dw 2731 ; 109: 1/4. dw 2731 ; 110: 1/4. dw 2731 ; 111: 1/4. dw 2731 ; 112: 1/4. dw 2731 ; 113: 1/4. dw 2731 ; 114: 1/4. dw 4096 ; 115: 1/4 dw 4096 ; 116: 1/4 dw 4096 ; 117: 1/4 dw 4096 ; 118: 1/4 dw 4096 ; 119: 1/4 dw 4096 ; 120: 1/4 dw 4096 ; 121: 1/4 dw 4096 ; 122: 1/4 dw 4096 ; 123: 1/4 dw 4096 ; 124: 1/4 dw 6144 ; 125: 1/4T dw 6144 ; 126: 1/4T dw 6144 ; 127: 1/4T dw 6144 ; 128: 1/4T dw 6144 ; 129: 1/4T dw 6144 ; 130: 1/4T dw 6144 ; 131: 1/4T dw 6144 ; 132: 1/4T dw 6144 ; 133: 1/4T dw 6144 ; 134: 1/4T dw 5461 ; 135: 1/8. dw 5461 ; 136: 1/8. dw 5461 ; 137: 1/8. dw 5461 ; 138: 1/8. dw 5461 ; 139: 1/8. dw 5461 ; 140: 1/8. dw 5461 ; 141: 1/8. dw 5461 ; 142: 1/8. dw 5461 ; 143: 1/8. dw 5461 ; 144: 1/8. dw 8192 ; 145: 1/8 dw 8192 ; 146: 1/8 dw 8192 ; 147: 1/8 dw 8192 ; 148: 1/8 dw 8192 ; 149: 1/8 dw 8192 ; 150: 1/8 dw 8192 ; 151: 1/8 dw 8192 ; 152: 1/8 dw 8192 ; 153: 1/8 dw 8192 ; 154: 1/8 dw 12288 ; 155: 1/8T dw 12288 ; 156: 1/8T dw 12288 ; 157: 1/8T dw 12288 ; 158: 1/8T dw 12288 ; 159: 1/8T dw 12288 ; 160: 1/8T dw 12288 ; 161: 1/8T dw 12288 ; 162: 1/8T dw 12288 ; 163: 1/8T dw 12288 ; 164: 1/8T dw 10923 ; 165: 1/16. dw 10923 ; 167: 1/16. dw 10923 ; 168: 1/16. dw 10923 ; 169: 1/16. dw 10923 ; 170: 1/16. dw 10923 ; 171: 1/16. dw 10923 ; 172: 1/16. dw 10923 ; 173: 1/16. dw 10923 ; 174: 1/16. dw 10923 ; 175: 1/16. dw 16384 ; 176: 1/16 dw 16384 ; 177: 1/16 dw 16384 ; 178: 1/16 dw 16384 ; 179: 1/16 dw 16384 ; 180: 1/16 dw 16384 ; 181: 1/16 dw 16384 ; 182: 1/16 dw 16384 ; 183: 1/16 dw 16384 ; 184: 1/16 dw 16384 ; 185: 1/16 dw 24576 ; 186: 1/16T dw 24576 ; 187: 1/16T dw 24576 ; 188: 1/16T dw 24576 ; 189: 1/16T dw 24576 ; 190: 1/16T dw 24576 ; 191: 1/16T dw 24576 ; 192: 1/16T dw 24576 ; 193: 1/16T dw 24576 ; 194: 1/16T dw 24576 ; 195: 1/16T dw 21845 ; 196: 1/32. dw 21845 ; 197: 1/32. dw 21845 ; 198: 1/32. dw 21845 ; 199: 1/32. dw 21845 ; 200: 1/32. dw 21845 ; 201: 1/32. dw 21845 ; 202: 1/32. dw 21845 ; 203: 1/32. dw 21845 ; 204: 1/32. dw 21845 ; 205: 1/32. dw 32768 ; 206: 1/32 dw 32768 ; 207: 1/32 dw 32768 ; 208: 1/32 dw 32768 ; 209: 1/32 dw 32768 ; 210: 1/32 dw 32768 ; 211: 1/32 dw 32768 ; 212: 1/32 dw 32768 ; 213: 1/32 dw 32768 ; 214: 1/32 dw 32768 ; 215: 1/32 dw 49152 ; 216: 1/32T dw 49152 ; 217: 1/32T dw 49152 ; 218: 1/32T dw 49152 ; 219: 1/32T dw 49152 ; 220: 1/32T dw 49152 ; 221: 1/32T dw 49152 ; 222: 1/32T dw 49152 ; 223: 1/32T dw 49152 ; 224: 1/32T dw 49152 ; 225: 1/32T dw 43691 ; 226: 1/64. dw 43691 ; 227: 1/64. dw 43691 ; 228: 1/64. dw 43691 ; 229: 1/64. dw 43691 ; 230: 1/64. dw 43691 ; 231: 1/64. dw 43691 ; 232: 1/64. dw 43691 ; 233: 1/64. dw 43691 ; 234: 1/64. dw 43691 ; 235: 1/64. dw 65536 ; 236: 1/64 dw 65536 ; 237: 1/64 dw 65536 ; 238: 1/64 dw 65536 ; 239: 1/64 dw 65536 ; 240: 1/64 dw 65536 ; 241: 1/64 dw 65536 ; 242: 1/64 dw 65536 ; 243: 1/64 dw 65536 ; 244: 1/64 dw 65536 ; 245: 1/64 dw 98304 ; 246: 1/64T dw 98304 ; 247: 1/64T dw 98304 ; 248: 1/64T dw 98304 ; 249: 1/64T dw 98304 ; 250: 1/64T dw 98304 ; 251: 1/64T dw 98304 ; 252: 1/64T dw 98304 ; 253: 1/64T dw 98304 ; 254: 1/64T dw 98304 ; 255: 1/64T Sorry for my bad english And thank you again for all your work Edited November 26, 2011 by Waxx Quote Link to comment Share on other sites More sharing options...
TK. Posted April 4, 2012 Report Share Posted April 4, 2012 For the records: with V2.039 the MIDI Clock Sync feature has been enhanced. The final solution looks a bit different from Waxx' proposal, but it works 100% accurate over long time, even when the LFO isn't reseted via Key Sync because the usage of "uneven values" is avoided. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.