あ、バイトじゃなくて要素でした。
今、内部バッファの0~959まで取り出し終わっているとしましょう。そうすると、次に取り出すタイミングは、MICPOSが(959+64) MOD 1000=23以上になったときです。
このとき取り出さなければいけない範囲は960...999|0...23の40要素+24要素の64要素です。
そのため2回に分けてMICSAVEして、一つの配列にまとめる必要があります。この処理は、次に取り出すべき開始位置をL、保存先配列をBUFとするとこんな感じです!
'前半
SIZE=MIN(BUFSIZE-L,64)
MICSAVE L,SIZE,BUF
IF SIZE<64 THEN
'後半
DIM TMP[0]
MICSAVE 0,64-SIZE,TMP
COPY BUF,SIZE,TMP,64-SIZE
ENDIF
L=(L+64) MOD 1000