help adding programs to SD max menu
VIRAND
Posts: 656
I read the manual for the SD MAX and
compiled my own programs to .eeprom files and saved them on the SD card
and then edited the dir.txt file to include names and their "8.3" FAT filenames.
I tried a few different things but the result is always the same:
All the programs I added to the menu show up but don't work.
(The Hydra freezes, still showing the menu but not responding to pushing buttons.)
But the programs that came on the SD card still do work if I select them instead.
An example entry I added in dir.txt for a program I put on the SD card is:
Virand Acid Demo
VIRACID2.EEP
I'm thinking...
1.Do I have to reformat the SD card everytime I add a new program to it, to defrag it?
2.The new files must be listed in (alphabetical or logical) order?
3.Menu can't find the files because there are extremely specific unobvious rules for writing the filenames?
(The file I mentioned is filenamed VIRACID2.eeprom)
Any clues?
I tried a few things and haven't found the working combination yet,
but I think it's probably just a simple stupid thing I haven't tried.
Can Femtobasic run .eeprom files? Can PropDOS do it and work with SDmax?
Sorry for the dumb questions but I think I'll save a lot of time by asking instead of searching and trying for many days.
compiled my own programs to .eeprom files and saved them on the SD card
and then edited the dir.txt file to include names and their "8.3" FAT filenames.
I tried a few different things but the result is always the same:
All the programs I added to the menu show up but don't work.
(The Hydra freezes, still showing the menu but not responding to pushing buttons.)
But the programs that came on the SD card still do work if I select them instead.
An example entry I added in dir.txt for a program I put on the SD card is:
Virand Acid Demo
VIRACID2.EEP
I'm thinking...
1.Do I have to reformat the SD card everytime I add a new program to it, to defrag it?
2.The new files must be listed in (alphabetical or logical) order?
3.Menu can't find the files because there are extremely specific unobvious rules for writing the filenames?
(The file I mentioned is filenamed VIRACID2.eeprom)
Any clues?
I tried a few things and haven't found the working combination yet,
but I think it's probably just a simple stupid thing I haven't tried.
Can Femtobasic run .eeprom files? Can PropDOS do it and work with SDmax?
Sorry for the dumb questions but I think I'll save a lot of time by asking instead of searching and trying for many days.
Comments
1) If you format the SD card with 32K clusters, you should not have to reformat it
2) There's no particular order required for the filenames
3) Only 8.3 filenames are allowed. File extensions are not required to be anything specific.
On my own SD cards, I use .BIN for executable files and either .TXT or .DAT for data files.
Theoretically, you could use a smaller cluster size if the entire first 32K of the file were in
sequential clusters. The loader is given a starting sector number and a length and just reads
successive sectors until the whole thing is loaded in. This works if the (up to) 32K is sequential.
Post Edited (Mike Green) : 6/9/2008 5:55:56 AM GMT
I will try to add binary files and run them with Femtobasic.
But I'm still wondering why I can't run my programs with the menu demo that came on the SD card.
Like the other programs appear to be, and as the manual says, the menu demo needs .eeprom files
and 8.3 filename format entries in the dir.txt file. I tried to do that with my programs but I don't see any
difference between the way my programs, and the original demos which work, are stored on the SD.
My SD card is in its original condition except that I've added programs.
I have not reformatted the SD card, and I'm glad it's not necessary.
Else, if you are using your own card and having trouble, once again, format Fat16, and then drag and copy my images from the menu directory, it should work.
The point is we need to see where the failure is here and what you are doing wrong.
Now, once you have everything working properly, take one of the eeprom programs from my list and replace it with your with the SAME name, get it? We are going to do the LEAST amount of change to the SD card, if your program doens't load then then you are doing someting wrong when generating the eeprom image. Remember, its NOT a binary, its an EEPROM, the binary is shorter, we want the 32K images for each app.
But, bottom line is you can add, subtract programs. BUT, you need to watch your file names, and spaces, and funky things like that ,look at all my demos, the names and how they are entered into the text file and how they are on the SD card. Its a very simple program really.
Please post when you find what you;re doing wrong, its going to be really subtle and something you assume is ok, but is not [noparse]:)[/noparse]
Andre'
I thought my SD card burner was cheap and junky so I replaced it with a new one but there is no difference.
BUT... it worked when I changed "VIRACID2.EEP" to "asteroids_demo.eeprom"
then my program did run instead of "Parallaxaroids". Very important clue!
So then I tried renaming another program to "inoutdemo.eeprom"
and adding a dir.txt entry to
In-Out Demo
inoutd~1.eep
But that didn't work.
Then I renamed it again to inoutdemo (without changing dir.txt) and it worked.
(inoutdemo.eeprom.eeprom didn't work but inoutdemo.eeprom did, and WindowsXP hides what's after the dot.)
OK, I'm familiar with DOS and FAT but this was confusing. I think I got it under control now. It seems to me:
1.The filename must be MORE than 8 characters and be an .eeprom file.
(WindowsXP hides ".eeprom" but shows as size 32K in Properties)
2.The filename entry in dir.txt must be the first 6 characters of the real filename followed by "~1.eep"
After putting many more programs on the SD card I noticed that some just wouldn't work from the menu.
I copied all of the files into a PC folder and then deleted them from the SD card.
I copied them all back onto the SD card. (Look down to see why I didn't format it first.)
Now almost all of them run from the menu.
The monks stopped singing and the sevens started singing (Parallax's vocaltract demos modded for Hydra).
One game that worked before now seems corrupted in it's TV driver as if the crystal is loose but it's not.
SURPRISE:
Femtobasic, which came on the card, "spins" eeprom files, even one that never worked in the menu.
FILES command shows the filenames on the card but they are more than a screenful.
SPIN"MYPROG~1.EEP" runs myprogram.eeprom (example command)
My computer does not give me formatting cluster size choices such as 32K,
but I'll soon try a different FAT16 reformatted card anyway.
If that one works then I won't worry about reformatting the SDmax card anymore.
If you munch the card then things get problematic, but of course, you can always write you own SD card functions that are more robust than my tutorial versions and the others that come with femtobasic's drivers.
Andre'
I really don't mean to be a P.I.T.A. - definitely not my intention - just sharing my experiences.
The new and formatted card behaves exactly like the not-reformatted card that came with the SDmax board right now.
I copied the files from the old card to the desktop folder, then from there to the newly formatted other card.
All the files do work when loaded from the cards to the Hydra with the Propeller Tool.
Only 3 programs behave badly and the same on both cards: (There are many others which all work perfectly.)
1.Defender; only works in femtobasic, not the menu. I'm sure it is saved as eeprom not binary.
2.My incomplete 3D maze game; worked once on the menu, but now it behaves as if the TV driver is
set to the wrong parameters, both in femtobasic and the menu, and on both SD cards.
It draws the first maze ok, then the TV goes nuts every time it repeats the loop to make another maze.
If I use the Propeller Tool to load it from the SD card to Hydra then it works right.
3.The "monks" vocaltract demo which I modded for Hydra by changing the sound output pins to 7 and 0
and changing the crystal and PLL parameters. It worked once in the menu, but now I assume that
since femtobasic now says "can't find file", I assume the menu has the same problem.
Even having it saved twice didn't help.
aesing~1.eep - the filename I use in femto and menu to try to load it
aesingingdemo.eeprom - first actual filename I saved it as
aesinging.eeprom - other file name when I saved it twice to see if it could find it then, and also deleted the other one
It also works only if I load it from SD to Hydra using the Propeller Tool.
These issues seem so rare, bizarre, irreproducible that I'm not really going to bother asking for help with them now,
I'll just assume I goofed somewhere (seems most likely), and wait and see if it happens to anyone else.
But if someone wants to try to see what's going on I could probably zip my card and email it.
SORRY ABOUT THIS EXTRA STUPID QUESTION:
Why don't MMC cards work with SDmax? (They are not "too thin", or "too small"; a 32 meg SD card works.)
I thought SD is backwards compatible with MMC. SD and MMC do both work with the PC.
Don't pull your hair out on this one.. I have a binary of this that I can't make work
with PropDOS. It works with Femtobasic (even the COLOR edition) but I can't launch
it otherwise.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Getting started with the Protoboard? - Propeller Cookbook 1.4
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
Got an SD card? - PropDOS
Need a part? Got spare electronics? - The Electronics Exchange
so I wonder what's stopping it from working from SD with some loaders.
Seems to me a good loader would have to run in a cog and not need any Hub RAM for itself, if that's possible.
Idea:make a version of femtobasic that only launches Defender, by reading a string instead of the keyboard.
Just a few thoughts.