VS1011e in application "standalone player"

Writing software that controls the system and peripherals such as displays, SD cards, Buttons, LEDs, Serial Ports etc.
Post Reply
Gunter0503
User
Posts: 5
Joined: Wed 2015-11-04 21:00

VS1011e in application "standalone player"

Post by Gunter0503 »

Deleted for accidentially posting it twice.
Last edited by Gunter0503 on Fri 2015-11-06 21:33, edited 1 time in total.
Gunter0503
User
Posts: 5
Joined: Wed 2015-11-04 21:00

VS1011e in application "standalone player"

Post by Gunter0503 »

I am using VS1011e in some "homebrew" (private use) applications. I recently successfully build up the "VS1011E / VS1002D / VS1003B / VS1033C+D / VS1103B standalone player (Legacy VSKIT version)", booting from a serial EEPROM. I now wanted to modify the application, but did not find anything useful.

Even worse, no design kit contained header files for that very device. I understand, that "standalone" is not the intended use case, but some links tell me that it once should have been available. In the discussion "vs1011e firmware source code" a file "rom1011e.txt" is mentioned.

Is this "rom1011e.txt" somewhere still available ?
Better:
Is there a whole set of header files available for VS1011e, like in the sub folders of VSIDE (1103,1003 etc)?
Perfect solution:
Is the whole source code for that application (especially for VS1011e) somewhere available ?
(i.e., the code that finally compiles player1011ebut.bin)

Thanks in advance for any hint !
User avatar
Panu
VSDSP Expert
Posts: 2829
Joined: Tue 2010-06-22 13:43

Re: VS1011e in application "standalone player"

Post by Panu »

Hi!

That's a very good question! And one that brings up very old memories. I checked, and indeed I couldn't find the source codes for the VS1011 version on the web. Not sure, it may be because they are almost impossible to modify because of severe I/O and memory size restrictions on the VS1011/VS1002/VS1003; people other than Pasi, who wrote that player, usually only modify the VS1053/VS1063 versions; those chips have 16 kilobytes of program RAM insted of the 5 kilobytes of VS1011/VS1002/VS1003; to make the player work on these, its written in assembler and heavily optimized C.

That said, there's no reason to not allow you to try. I'll ask Pasi to dig up the source codes and post them here.

-Panu
User avatar
pasi
VLSI Staff
Posts: 2120
Joined: Thu 2010-07-15 16:04

Re: VS1011e in application "standalone player"

Post by pasi »

It seems I have a long time in the past (20th Nov 2008) made a cleaned-up vs1011e-only source code version. You can get it from:
http://www.vlsi.fi/fileadmin/evaluation ... dalone.zip

There is absolutely no warranty.

The package uses the make tool.

I'm not sure how it works with the current uSD/SD cards. It may need changes to the init routine. The issue is the total lack of instruction memory, so to add something you need to remove something else.

I hope it is some use to you anyway.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Gunter0503
User
Posts: 5
Joined: Wed 2015-11-04 21:00

Re: VS1011e in application "standalone player"

Post by Gunter0503 »

Hi Panu,
hi Pasi,

thanks a lot for your fast reply, even for me as a "non commercial client". Already when I wrote my question I was kind of sure that it would take some deep digging into the past.

I guess, Pasi accidentially zipped the subfolder "code", which just containes the binary for the EEPROM and the two "SCI download records", i.e. *.cmd (for download from VSIDE) and *.c (the embedded stuff -> and here the extension ."c" is misleading, it is not the source code for the DSP, but for the host micro to download code to the DSP).

If you'd be so kind to look for the c ans assembler source code - usually located one layer higher. If this is gone: the instruction ROM description file "rom1011e.txt" would be very helpful for me for the first step.

I already read about SD cards and learned that there is a problem with SPI mode and cards bigger than 2GB (i.e. starting at 4GB). So, for bring-up I used an old fashioned 32MB and 128MB card (it was not easy either to find such old hardware either ;) )

So, my request is not urgent at all, take your time and enjoy the week-end.
Best regards

- Gunter
User avatar
Panu
VSDSP Expert
Posts: 2829
Joined: Tue 2010-06-22 13:43

Re: VS1011e in application "standalone player"

Post by Panu »

:oops: oops, I think you're right. We'll sort it out on Monday.

Actually, SPI mode mostly does work on sdHC cards, an only on occasion you find a card which does not work. That said, I'm not sure if all checks and inits and variants have been able to fit on the VS1011 version. When you actually do get the source code, there is a #define USE_HC which switches on including the code to detect and support SDHC cards, if indeed it was compilable for the 11E.

-Panu
User avatar
pasi
VLSI Staff
Posts: 2120
Joined: Thu 2010-07-15 16:04

Re: VS1011e in application "standalone player"

Post by pasi »

How about now? The same location, the same name.

Yes, SDHC is supported in the source code. (You can comment out USE_HC to free a bit of code space.)
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Gunter0503
User
Posts: 5
Joined: Wed 2015-11-04 21:00

Re: VS1011e in application "standalone player"

Post by Gunter0503 »

Thank you ! That's it :-)
I already could compile it, now I have to understand it ;-)
In case I manage to add significant new features despite all restrictions, RAM size being the toughest one, I will let you know. You may close this posting now.

-Gunter
Gunter0503
User
Posts: 5
Joined: Wed 2015-11-04 21:00

Re: VS1011e in application "standalone player"

Post by Gunter0503 »

Oh my god ! Is it really (more than) two years ago that I started some coding exercises on VS1011e ? Time to keep my promise:
"In case I manage to add significant new features despite all restrictions, RAM size being the toughest one, I will let you know."

So, I wondered how to attach a color LCD without "wasting" too many pins or code size. For my first trial I omitted the SD card and managed to control a LCD and to monitor the state of one button with almost no external components. The button is connected to the /HOLD pin of the boot flash (so, drawback, no boot with button pressed) and the LCD is sharing pins with the boot flash. One GPIO is still unused. Also, the SPI is controlled by the ROM'S SpiSendReceive, which is a 16 SPI transfer, but here "abused" with 8 bit oriented slaves. In the video you can see my self made demo unit, the prove of concept.

Also, I found a way to pass the desired target clock frequency as a plain number to the make process. This might be interesting for users who have to maintain huge projects with many different Xtal oscillators. More details in the readme.txt inside the tgz.

So, what's next: as written in in the readme.txt: Print "Hello World" in the display and get the SD card attached.
Let's see what I can do in the next two years ;)
Attachments
vlsi.mp4
short video to illustrate example
(1.34 MiB) Downloaded 500 times
ideas.tgz
source code of example, check readme.txt for details
(550 KiB) Downloaded 389 times
User avatar
Henrik
VLSI Staff
Posts: 1294
Joined: Tue 2010-06-22 14:10

Re: VS1011e in application "standalone player"

Post by Henrik »

My hat off to you, Sir!

Thank you for sharing the video. Getting that done on the VS1011 is quite impressive! :)

Kind regards,
- Henrik
Good signatures never die. They just fade away.
Post Reply