Uzeamp

Use this forum to share and discuss Uzebox games and demos.
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Uzeamp

Post by danboid »

Whilst it wouldn't be ideal for listening to music because of the Uzebox mono / limited frequency audio playback limitations, I still think it would be cool to be able to play (specially encoded) wav files from an SD card on the Uzebox which is what Uzeamp promises but it looks like its suffered from bitrot as I've been unable to get it to work under cuzebox or on real hardware. I've opened a githib ticket for it:

https://github.com/Uzebox/uzebox/issues/105
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Uzeamp

Post by Artcfox »

danboid wrote: Sun Feb 26, 2023 8:26 pm Whilst it wouldn't be ideal for listening to music because of the Uzebox mono / limited frequency audio playback limitations, I still think it would be cool to be able to play (specially encoded) wav files from an SD card on the Uzebox which is what Uzeamp promises but it looks like its suffered from bitrot as I've been unable to get it to work under cuzebox or on real hardware. I've opened a githib ticket for it:

https://github.com/Uzebox/uzebox/issues/105

Is it an SDSC card, (usually just labeled SD) or SDHC card reformatted with a smaller FAT16 partition? The reason why I am asking is because SDHC hardware needs a different initialization sequence, regardless of whether there is or is not a FAT16 partition on the device. Also the sector addressing is different between SD and SDHC cards.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzeamp

Post by uze6666 »

Is it an SDSC card, (usually just labeled SD) or SDHC card reformatted with a smaller FAT16 partition? The reason why I am asking is because SDHC hardware needs a different initialization sequence, regardless of whether there is or is not a FAT16 partition on the device. Also the sector addressing is different between SD and SDHC cards.
Yeah that's what I answered Dan in the Github tocket. Since it's getting hard to find regular SD under 2G I would not be surprised that's the problem. I look at Uzeamp code and it's horrible. :? And there was so much limitations that it seems better to just put the axe on it and start over with one of our SD library that supports SDHC/XC and fragmentation.
Whilst it wouldn't be ideal for listening to music because of the Uzebox mono / limited frequency audio playback limitations
I reckon you'd be surprised how could 15Khz can sound. :P
I've been unable to get it to work under cuzebox
This one I am surprised because it works fine here (at least on Windows). Try it with the ROM attached to see if it makes any difference.
Attachments
UZEAMP.UZE
(34.98 KiB) Downloaded 38 times
uzeamp.JPG
uzeamp.JPG (95.1 KiB) Viewed 1633 times
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Re: Uzeamp

Post by danboid »

Thanks Uze!

This build that you've posted here does work under cuzebox so you should replace/update the uze file on https://uzebox.org/wiki/Uzeamp which is what I was testing with previously, rather than building it.

I don't have a SD card that works with Uzeamp on my real Uzebox. Even with this latest version, I only ever get the 'INITIALIZING SD...' message.

Being able to seek through tracks, as in jumping back or forwards 5 seconds or so every time you push left or right would also be very useful. I don't think this was ever implemented in Uzeamp was it?
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzeamp

Post by uze6666 »

Interesting, indeed the wiki version seems problematic, specially since I can see that the last update was by Jubatian...I have refreshed them on the wiki. Let me know if those works. Seems the current code for Uzeamp removed/changed some things VS the old working ROM Images. Will have to look into that.
Being able to seek through tracks, as in jumping back or forwards 5 seconds or so every time you push left or right would also be very useful. I don't think this was ever implemented in Uzeamp was it?
Actually, you can seek using right/left shoulders buttons on a dpad or right/left Shift keys on Cuzebox.
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Re: Uzeamp

Post by danboid »

UZEAMP2.UZE from the uzeamp wiki page works fine under cuzebox.
uze6666 wrote: Tue Feb 28, 2023 6:16 pm Actually, you can seek using right/left shoulders buttons on a dpad or right/left Shift keys on Cuzebox.
So it does!
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Re: Uzeamp

Post by danboid »

I'm reproducing my latest github comment here for increased visibility:

https://github.com/Uzebox/uzebox/issues/105

"I'm wondering why fatfs was included in the Uzebox kernel dir when nothing uses it yet? Obviously it is useful for Uzeamp and who knows what else (a tracker, a pixel editor...).

Before I start trying to re-do Uzeamp to use fatfs, might it be worth updating the kernel fatfs to the latest version? I've noticed the Uzebox kernel fatfs source (ff.c) is R0.09b from 2013 whilst the latest version on the fatfs website is R0.15 from 2022. exFAT, UTF-8 support have been added and several bugs have been fixed since.

http://elm-chan.org/fsw/ff/updates.html"
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Re: Uzeamp

Post by danboid »

I've started to attempt to fix Uzeamp by adjusting its Makefile and its #includes to use fatfs, commenting out all of the old mmc code with the aim of replacing it bit by bit, starting with the mmc init code:

https://github.com/danboid/uzebox

Am I right in thinking that no-one has actually used or tested fatfs on the Uzebox, hence there are no example programs for me to reference?

First step is checking the SD is initialized in the fatfs way. Looking at uzebox/kernel/fatfs/ff.c , lines 2118-2120:

Code: Select all

stat = disk_initialize(fs->drv);	/* Initialize the physical drive */
	if (stat & STA_NOINIT)				/* Check if the initialization succeeded */
		return FR_NOT_READY;			/* Failed to initialize due to no medium or hard error */
This would seem to be how I might check the disk is initialized using fatfs, but before I can do that I obviously have to at least create this 'fs' object/structure and I'm not sure how I'm supposed to do that? My guess is I might have to add something like:

Code: Select all

FATFS fs;
to Uzeamp.c to init a fatfs disk object? Am I barking up the right tree here?

Once I've got the disk init working, the next step is to get Uzeamp to list the files on the SD. There are examples of this here:

http://elm-chan.org/fsw/ff/doc/readdir.html
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Re: Uzeamp

Post by danboid »

I was going to have a go at writing a fatfs based init() for Uzeamp tonight but then I thought it might be a better idea to ask how I should do this on the fatfs forum first:

http://elm-chan.org/fsw/ff/bd/?show=3756
User avatar
danboid
Posts: 1937
Joined: Sun Jun 14, 2020 12:14 am

Re: Uzeamp

Post by danboid »

No reply from the fatfs dev yet but I have just found this which looks like the sort of tutorials I need to learn fatfs:

https://www.avrfreaks.net/s/topic/a5C3l ... AW/t109364
Post Reply