Author
| MP3 player for MSX
|
Sd-Snatcher msx freak Posts: 228 | Posted: May 23 2007, 12:47   |
I have it, this evening ill try it.
|
|
DD msx user Posts: 44 | Posted: May 23 2007, 14:14   |
Good to hear they are arrived!
|
|
doraemonppc msx lover Posts: 85 | Posted: May 23 2007, 17:51   |
Yobi, did you ship mine?
Thanks for that dream coming true!
|
|
Yobi msx lover Posts: 90 | Posted: May 23 2007, 18:03   |
What's you name?
|
|
doraemonppc msx lover Posts: 85 | Posted: May 23 2007, 18:22   |
Carles Bernardez
|
|
Sd-Snatcher msx freak Posts: 228 | Posted: May 23 2007, 18:25   |
It sounds awesome!!!!!
VBR 128-160-190-320
|
|
Sd-Snatcher msx freak Posts: 228 | Posted: May 23 2007, 18:47   |
|
|
Prodatron msx master Posts: 1088 | Posted: May 23 2007, 20:25   |
SymAmp already makes some music  But there are a lot of plops, and it seems, that it skips parts. I guess I currently have problems with the ATMega buffer synchronisation. Hope I can fix it later tonight. As I don't use the interrupt methode, I have to test one Bit of the status register, maybe here is something wrong.
Regarding the CPU usage, it seems, that we really keep about 25% for 128kbit MP3s, that's very nice!  |
|
Yobi msx lover Posts: 90 | Posted: May 23 2007, 22:03   |
Carles, i did send it last Monday.
Prodatron, for ATMega details you can contact Dennis.  |
|
doraemonppc msx lover Posts: 85 | Posted: May 23 2007, 22:13   |
Thanks Yobi  |
|
DD msx user Posts: 44 | Posted: May 24 2007, 09:22   |
The default bufferlevel is set to 2, try 8 or so if you are sending small packages by entering:
OUT &H23,&H40
OUT &H22,&H08
OUT &H22,&H00
OUT &H23,&HC1
|
|
Prodatron msx master Posts: 1088 | Posted: May 24 2007, 17:10   |
@DD: Thanx for the hint, that should be the same how I already do it.
This is my current code for initialising the MP3 decoder.
As I always want to send 2KB data blocks to the decoder, I set the buffer warning level to 1536 (=6*256).
Do you see some bugs here?
m3mreg ds 4
;### M3MINI -> Initialise the MP3 hardware
;### Output CF=0 ok, CF=1 error, hardware not detected
m3mres xor a
out (#22),a ;reset mp3 decoder
ld b,a
m3mres1 djnz m3mres1
ld a,#00 ;read MP3 register 0+1
out (#23),a
call m3mwai
ld hl,m3mreg
ld bc,#422
push bc
push hl
inir
pop hl
res 6,(hl) ;no interrupts
ld a,(m3mreg+2)
and #f0
or 6 ;warn, if buffer is lower than 1536 bytes (= 3.5KB - 2KB)
ld (m3mreg+2),a
ld a,#40 ;write MP3 register 0+1
out (#23),a
pop bc
call m3mwai
otir ;write to ATM
ld a,#c0
out (#23),a ;write to MP3 encoder
call m3mwai
ld a,#00 ;go to audio mode
out (#23),a
or a ;**currently no detection implemented**
ret
m3mwai in a,(#23)
and 16
jr nz,m3mwai
ret
Btw, I wonder, why you do OUT &H23,&HC1
Shouldn't it be #c0? (as you want to write back register 0) |
|
DD msx user Posts: 44 | Posted: May 24 2007, 21:19   |
When writing &HC1, you only update MP3 register 1. With the 4 OUT's in my previous post register 0 is not written.
I don't see any problems in your init routine, but try to give it more time to initialize after OUT &H22,0. In PLAYINFO you can see that OUT &H22,0 is given in the basic program, after this OUT the AtMega begins to upload the spectrum program to the VS1011, this takes time. To see if this really is the the problem you can give the OUT &H22,0 in basic or the assembler and execute your progam.
For these MP3 related functions (OUT &H22 and &H23) you can simulate a (hard)reset with OUT &H21,0.
Another way to check the buffer warning level is to read it back:
OUT &H23,&H01
? INP(&H22) 'Should be the number you entered
? INP(&H22)
|
|
spl msx professional Posts: 718 | Posted: May 26 2007, 17:36   |
Any news, Prodatron?  |
|
spl msx professional Posts: 718 | Posted: May 26 2007, 19:12   |
|
|
|
|
|