Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JQ6500 file system details #1

Closed
rma-x opened this issue Oct 17, 2018 · 1 comment
Closed

JQ6500 file system details #1

rma-x opened this issue Oct 17, 2018 · 1 comment

Comments

@rma-x
Copy link

rma-x commented Oct 17, 2018

I have written a similar tool for the JQ6500, but in C and a bit earlier:
https://chiselapp.com/user/rmax/repository/jq6500

For that, I found out some more details about the "file system" header at offset 0x40000 that I want to share with you:

The meta data of the JQ6500 file system consists of little endian 32 bit unsigned integers that have the following meaning:

0 .. 3: Number of subdirectories
4 .. 7: Offset of subdir 1 (A)
...
A .. (A+3): Number of files in this dir
(A+4) .. (A+7): Offset of file 1 (B)
(A+8) .. (A+11): Size of file 1 (C)
...
(B) .. (B+C): MP3 data of file 1

So, for the first example hex dump in your readme, this means:

05000000: There are five directories in the file system
18000400: The 1st directory begins at 0x00040018
ec420600: The 2nd directory begins at 0x000642ec (after the data of dir #1)
f0420600: The 3rd directory begins at 0x000642f0
f4420600: The 4th directory begins at 0x000642f4
f8420600: The 5th directory begins at 0x000642f8
01000000: The 1st directory contains 1 file

Offsets for dirs and files can point anywhere in the flash. They don't need to be in any particular order and may also point to addresses below 0x40000.

But for using the area below 0x40000 for MP3s (at the expense of the embedded CD image) I found another trick to be more useful: The flash content wraps around at the end, so you can treat the flash as a continuous address space going from 0x40000 to 0x240000 (for the 16Mbit/2MByte model).

@kasbert
Copy link
Owner

kasbert commented Oct 31, 2021

Thank you

@kasbert kasbert closed this as completed Oct 31, 2021
kasbert added a commit that referenced this issue Nov 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants