PDA

View Full Version : Hydra Asset Manager released!



Keebler
01-30-2007, 04:03 PM
Hey everyone,

The Hydra Asset Manager is ready for it's first release. I've attached a .zip file to this post.

H.A.M. requires .NET Framework 2.0. If you don't have it, here's a link:
Download .NET Framework 2.0 (http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en)




The Hydra Asset Manager Documentation said...


The Hydra Asset Manager was created to help game authors' organize and update the assets for their games. One of the benefits of the Hydra is it's EEPROM cartridges and their ability to hold more than just the 32k executable image. However, this immediately begs the question, how do the programmers get their game assets onto the EEPROM? Like they say, "Necessity is the mother of invention."

With the Hydra Asset Manager (H.A.M.), you can simply drag and drop files into the application, arrange them in memory and upload to the Hydra. Also, you can also download the entire EEPROM image from the Hydra and save it to your PC for later re-use.



Hopefully this will help the developers do more experimentation with that extra 96KB :)

Please check it out and I'm open to any comments/suggestions. Do keep in mind that it's a first release and this is the bare minimum in functionality. It's going to get more polished and more features are already being added.

My email address is in my profile and in the Help | About box in the Hydra Asset Manager.




(Update)

Version 1.0.9 is available here:
http://forums.parallax.com/attachment.php?attachmentid=90044&d=1330294165

Thanks,
Richard Benson

Post Edited (Keebler) : 5/26/2008 8:01:48 PM GMT

Bean
01-31-2007, 08:43 AM
Richard,
My computer is asking me to install .Net framework v2.0.50727 when I try to run the program.
Can you tell me where I can get it ?

Thanks,

Bean.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheap used 4-digit LED display with driver IC·www.hc4led.com (http://www.hc4led.com)

Low power SD Data Logger www.sddatalogger.com (http://www.sddatalogger.com)
SX-Video Display Modules www.sxvm.com (http://www.sxvm.com)
Stuff I'm selling on ebay http://search.ebay.com/_W0QQsassZhittconsultingQQhtZ-1

"USA Today has come out with a new survey - apparently, three out of every four people make up 75% of the population." - David Letterman

Keebler
01-31-2007, 09:38 AM
Ah, good point. I didn't have to since I had .NET 2005 installed.

Try this:
http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en

Apologies,
Rich

AndreL
01-31-2007, 03:49 PM
Bean, did you install .net and get it to work? .net is so big, not something you want to include in the install :)

Andre'

Keebler
02-02-2007, 05:24 PM
Bean? :)

Rich

Bean
02-03-2007, 02:12 AM
Yep, I installed the .NET from the link you gave, and then it worked fine (well it came up, I didn't actually try to download anything into the Hydra yet.).

Bean.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheap used 4-digit LED display with driver IC·www.hc4led.com (http://www.hc4led.com)

Low power SD Data Logger www.sddatalogger.com (http://www.sddatalogger.com)
SX-Video Display Modules www.sxvm.com (http://www.sxvm.com)
Stuff I'm selling on ebay http://search.ebay.com/_W0QQsassZhittconsultingQQhtZ-1

"USA Today has come out with a new survey - apparently, three out of every four people make up 75% of the population." - David Letterman

Keebler
02-03-2007, 02:51 AM
Awesome, thanks.

I'll go ahead and put the link in the documentation.

Rich

Brian_B
02-03-2007, 02:57 AM
I got it working too.

Brian

PS. My daughter loves the piano demo.

Post Edited (Brian Beckius) : 2/2/2007 7:04:17 PM GMT

AndreL
02-03-2007, 08:08 AM
Another fun thing to do is take a hex editor, edit the binaries, change the text and stuff, and then re-upload them with your personalizations :)

And of course, the tools is good for data logging since if you write some code for your hydra or demo board that writes to the eeprom, there is no way to get it off the eeprom with the spin tool, but with this program and client you can pull data off the eeprom (any size eeprom) as well and download back to the pc.

Andre'
·

Brian_B
02-03-2007, 08:25 AM
Hmmmm, data logging you say :- )

Brian

Keebler
02-04-2007, 02:20 AM
AndreL said...
Another fun thing to do is take a hex editor, edit the binaries, change the text and stuff, and then re-upload them with your personalizations :)


And of course, the tools is good for data logging since if you write some code for your hydra or demo board that writes to the eeprom, there is no way to get it off the eeprom with the spin tool, but with this program and client you can pull data off the eeprom (any size eeprom) as well and download back to the pc.



Andre'


Yes, one of the features of the Hydra Asset Manager is the ability to "download" the eeprom to the PC. This is especially helpful when you get your game and assets laid out and want to save off the snapshot in it's entirety.

Rich

Brian_B
02-05-2007, 12:39 PM
Rich,
I tried to download from hydra (I set the com port).I get a "Send:address-timedout" error.

Brian

Keebler
02-05-2007, 01:25 PM
Brian Beckius said...
Rich,
I tried to download from hydra (I set the com port).I get a "Send:address-timedout" error.

Brian


Hmm.. You should only get that error if something is really wrong. Basically, it means the PC hasn't heard from the Hydra in a full second.
Did the Hydra say, "Sending EEPROM Contents to PC" ?

Can you tell me exactly how you tried to do it? Did you have HAM 1.04 running on the Hydra with it saying "Waiting" ?
When did you get the timeout error? What percentage was the status bar showing in the lower right corner of the PC app?

Also, which EEPROM chip are you trying to download from? We're currently working on a problem with the microchip 24LC1025 chip.

Thanks Brian,
Rich

Brian_B
02-05-2007, 08:42 PM
Rich,
I reloaded the hydra and now I can get it to download . I see that it saves it as a eeprom file ,but how do I veiw it.

Thanks,Brian


Ps. is saving like this· 14585732985239757.eeprom.spin

Post Edited (Brian Beckius) : 2/5/2007 1:13:45 PM GMT

Keebler
02-06-2007, 12:24 AM
It's just a binary file. You can view it in any binary editor. You can also view it as well as reupload it with the Propellor tool.
You can also drag it into H.A.M. and reupload images in their entirety. Admittedly, it's a little tricky to fit an asset that is exactly the size of the EEPROM. I'll fix that soon, but in the meantime, just drag the asset in above the top of memory and the code will clamp it to address 0 and it will fit :)

As far as the name, I'm not sure where you get the .spin on the end from?

It always saves it as Download_%%Date%%_%%Time%%.eeprom. This way, it should always be unique.
For example, one of mine is Download_01272007_154844.eeprom (01/27/2007 - 15:48:44). You're free to rename them after they're downloaded of course...

Hope that helps,
Rich

Brian_B
02-06-2007, 02:14 AM
Rich,
What binary editor would you recomend , also for some reason my computer is attaching .spin in the end of the file.

Thank's Brian

Keebler
02-06-2007, 01:16 PM
Brian Beckius said...
Rich,
What binary editor would you recomend , also for some reason my computer is attaching .spin in the end of the file.

Thank's Brian


Your computer can't change my code :) However, you probably allowed the Propellor Tool to associate .eeprom files with the tool, so maybe it's showing it as a Spin file in Windows Explorer? This won't be a problem if you uncheck "Hide extensions for known file types" in Windows Explorer, Tools, Folder Options, View (Tab)... Then it should definitely show up as a .eeprom.

Anyways, I haven't had a need for a binary editor anytime recently, but when I did, I simply used .NET since it worked fine.
Doing a Google search for Binary Editor pulls up a ton of applications, but I'm sure if someone reading this thread has one they like a lot, they'll chime in with a link.

On a side note, I've been working on integrating the ability to Hex Edit the assets from within the Hydra Asset Manager...

Rich

Brian_B
02-06-2007, 08:13 PM
Rich,
Now that I have a hex editor on my computer I don't get the .spin added. Works AWSOME !

Thanks, Brian

PS. I have a feeling that the hex editor is going to do nothing but get me in·trouble http://forums.parallax.com/images/smilies/smile.gif

Post Edited (Brian Beckius) : 2/6/2007 10:12:54 PM GMT

bassmaster
02-14-2007, 08:25 AM
Anyone succeed with the prop protoboard? I get Send:address-timedout" error, You say it needs to be connected on startup, but my usb serial is com 18 ( I work in a serial industry), you app defaults to com4 (my IR) is this the problem? is there a command line arg for ports? I select com 18 and see the flashing, used propeller to download the driver and demo, modified to 64k for the demo board....

Keebler
02-14-2007, 08:43 AM
bassmaster said...
Anyone succeed with the prop protoboard? I get Send:address-timedout" error, You say it needs to be connected on startup, but my usb serial is com 18 ( I work in a serial industry), you app defaults to com4 (my IR) is this the problem? is there a command line arg for ports? I select com 18 and see the flashing, used propeller to download the driver and demo, modified to 64k for the demo board....


It iterates the available ports at startup and adds them all to the combo box. If you can't select the correct COM port, that's a huge problem.

I'm confused though, you said, "I select com 18 and see the flashing". So I'm not sure if you can select COM18 or not.

What percent is the progress bar when it times out?

Thanks,
Rich

bassmaster
02-14-2007, 10:28 AM
I assume that you mean the PORT, need to be there on startup, not the running device, so anyway i THOUGHT IT MAY NEED TO "SEE THE PROP ON STARTUP", dang laptop keyboards.

I see port 18, I hav studio 2005 abd the latest service packs, it seems a little fasted than a second before the popup, one flash. With your demo running I see the prop plug red led flash (dimly) about 300ms when not plugged into the pc.

bassmaster
02-14-2007, 10:29 AM
Let me try on my demoboard, nevermind it only has 32k

Keebler
02-14-2007, 03:20 PM
bassmaster said...
Let me try on my demoboard, nevermind it only has 32k


That should be fine as long as you aren't trying to go beyond the 32KB in the upload or trying to use the download which assumes 128KB

Keebler
02-14-2007, 03:23 PM
bassmaster said...
I assume that you mean the PORT, need to be there on startup, not the running device, so anyway i THOUGHT IT MAY NEED TO "SEE THE PROP ON STARTUP", dang laptop keyboards.

I see port 18, I hav studio 2005 abd the latest service packs, it seems a little fasted than a second before the popup, one flash. With your demo running I see the prop plug red led flash (dimly) about 300ms when not plugged into the pc.


I just mean that H.A.M. only scans for available serial ports when it launches. So if you didn't have the thing plugged in when you launched H.A.M., you'd have to relaunch it to detect the new serial port.

"With your demo running I see the prop plug red led flash (dimly) about 300ms when not plugged into the pc"
I'm not sure what you mean by this.

Rich

bassmaster
02-14-2007, 09:31 PM
Ill try on the demo board to see if its just the new protoboard and let you know, I have 4 prop sustems set up, Ill see if any of them work, one is without the propplug, it may be the issue?

Keebler
02-17-2007, 04:14 AM
bassmaster said...
Ill try on the demo board to see if its just the new protoboard and let you know, I have 4 prop sustems set up, Ill see if any of them work, one is without the propplug, it may be the issue?


Any luck?

Keebler
03-11-2007, 06:56 PM
Hydra Asset Manager update.

Version 1.06 is ready. (It's attached to this post. I'll try and find a centralized upload location so I don't have to keep attaching them here)

New to this version:

Push mode

You can now move multiple assets at once. Any asset that comes into contact with the moving asset will slide with it. (Hold Control to turn on Push mode)

Project support

Save a given layout as a project that can be loaded at any time.

Hex editing support

View and modify any asset's data in a visual hex editor.

MRU list

Easy access to your last 5 opened projects.

More documentation.

The About box has tons of documentation on how to use H.A.M. That documentation is also available as a RTF file in the ZIP.


Enjoy.

Rich

Post Edited (Keebler) : 3/11/2007 6:52:38 PM GMT

Baggers
05-16-2007, 08:02 PM
Keebler,
Any chance of adding a Download Size?
So I can download just 64KB on my protoboard?

Cheers.
Baggers

Keebler
05-16-2007, 11:07 PM
Yeah, that should be doable. I've planned to make the eeprom size a user-selected item for a while.
Let me see if I can squeeze it in over the weekend / early next week.

Feel free to bug me if you don't hear back :)

Rich

epmoyer
05-16-2007, 11:26 PM
Keebler,

I am migrating to HAM for my SpaceWar! project and I think it would be very nice for people distributing HAM-empowered software if there was a quick and easy way for other people to load the software we develop. I had expected that I'd be able to prepare all my assets with HAM, and then when it was all working write all the data to eeprom and then read it all back into a single large .eeprom file that I could distribute along with my release, but (and I haven't done much investigation on this yet, so if I am being foolish please feel free to throw furniture) I found that when I uploaded the entire contents of the eeprom and then tried to drag the resulting .eeeprom file back into HAM, HAM complained that the .eeprom file was larger than the available memory.

However we get there, I believe an easy to use end-user HAM-enabled-app installation solution will help get more people on the HAM band wagon. SpaceWar! is going HAM, and I'd like to make it as easy as possible for people to load and play in the future.

The quickest install solution I can imagine is 1) have an end-user run a pre-compiled .eeprom file which is the HAM communications engine 2) run the HAM windows app and click some new "load .eeprom image" button 3) select the release .eeprom image from a file browser 4) the code loads, you click reset, and you're up and running.

By the way, congratulations on a job well done! HAM works very well and is almost exactly what I would have dreamed of doing if someone hadn't done it already. I'm ever so pleased that you did!!!! How about releasing the HAM vb app source so the community can help evolve it?

Baggers
05-16-2007, 11:55 PM
Cheers Keebler,
Cheers.

epmoyer, yes HAM VB App Source would be great, as we could do lots of mods to it, like exporting a spin file with con statements for file starts + lengths etc.
I've just wrote an app to upload manic miner level files + title screen into upper memory, as I had trouble with HAM, but I've since got HAM working, (IE don't download from eeprom, I was trying to load it back in to check it.)
If you or anyone wants that, your more than welcome.

Baggers.

Keebler
05-17-2007, 02:02 AM
Hey Baggers,

Please let me know if you run into problems like that. I can't help if I don't know anything is wrong :)

I've received virtually no feedback on HAM, so I just assumed noone was using it or it's working perfectly...

Rich

Keebler
05-17-2007, 02:05 AM
epmoyer said...
Keebler,

I am migrating to HAM for my SpaceWar! project and I think it would be very nice for people distributing HAM-empowered software if there was a quick and easy way for other people to load the software we develop. I had expected that I'd be able to prepare all my assets with HAM, and then when it was all working write all the data to eeprom and then read it all back into a single large .eeprom file that I could distribute along with my release, but (and I haven't done much investigation on this yet, so if I am being foolish please feel free to throw furniture) I found that when I uploaded the entire contents of the eeprom and then tried to drag the resulting .eeeprom file back into HAM, HAM complained that the .eeprom file was larger than the available memory.

However we get there, I believe an easy to use end-user HAM-enabled-app installation solution will help get more people on the HAM band wagon. SpaceWar! is going HAM, and I'd like to make it as easy as possible for people to load and play in the future.

The quickest install solution I can imagine is 1) have an end-user run a pre-compiled .eeprom file which is the HAM communications engine 2) run the HAM windows app and click some new "load .eeprom image" button 3) select the release .eeprom image from a file browser 4) the code loads, you click reset, and you're up and running.

By the way, congratulations on a job well done! HAM works very well and is almost exactly what I would have dreamed of doing if someone hadn't done it already. I'm ever so pleased that you did!!!! How about releasing the HAM vb app source so the community can help evolve it?



Epmoyer,

Thanks for the feedback.

There is a slight bug with the adding of assets (in this case, your EEPROM) that are the exact size of memory.
Try this. Try dragging it in just above the memory window. That should cause the app to clamp it to address 0 and it should fit.
I'll try and fix that bug very soon.


Rich

Keebler
05-17-2007, 02:09 AM
epmoyer said...
Keebler,

I am migrating to HAM for my SpaceWar! project and I think it would be very nice for people distributing HAM-empowered software if there was a quick and easy way for other people to load the software we develop. I had expected that I'd be able to prepare all my assets with HAM, and then when it was all working write all the data to eeprom and then read it all back into a single large .eeprom file that I could distribute along with my release, but (and I haven't done much investigation on this yet, so if I am being foolish please feel free to throw furniture) I found that when I uploaded the entire contents of the eeprom and then tried to drag the resulting .eeeprom file back into HAM, HAM complained that the .eeprom file was larger than the available memory.

However we get there, I believe an easy to use end-user HAM-enabled-app installation solution will help get more people on the HAM band wagon. SpaceWar! is going HAM, and I'd like to make it as easy as possible for people to load and play in the future.

The quickest install solution I can imagine is 1) have an end-user run a pre-compiled .eeprom file which is the HAM communications engine 2) run the HAM windows app and click some new "load .eeprom image" button 3) select the release .eeprom image from a file browser 4) the code loads, you click reset, and you're up and running.

By the way, congratulations on a job well done! HAM works very well and is almost exactly what I would have dreamed of doing if someone hadn't done it already. I'm ever so pleased that you did!!!! How about releasing the HAM vb app source so the community can help evolve it?


Missed your comment on releasing the source. I'm pretty open to it, but I'd like to get it a tad bit farther and cleaned up before I did anything like that. Also, it's not VB, it's C#.

In the meantime, I'll try and fix bugs as I'm made aware of them here or in my inbox (richbenson at gmail dot com)

Rich

Baggers
05-17-2007, 02:30 AM
Yes, Congrats on HAM Keebler, I can't believe you've had no feedback, it's a great App, and now that I know not to use download from eeprom, as it expects 128KB, not the 64KB I have on my protoboard, it's a lot friendlier :) and working 100%
so the problems I had with it weren't problems with HAM, just the nut holding the keyboard :)

PS, any chance of source release for the PC side? or just a quick eeprom max size mod?

Baggers.

Keebler
05-17-2007, 04:00 AM
Baggers said...


PS, any chance of source release for the PC side? or just a quick eeprom max size mod?

Baggers.


Both of those questions are answered up above :)

Rich

Baggers
05-18-2007, 04:28 PM
Yeah NP, didn't see that reply, when I started my reply, but got phone call in the middle of typing it :)
Any time your ready.
it's really good though so far, I've not had trouble with it, and it's nice being able to slide it up and down etc. or enter the exact addy for it.
like i said, the only things I'd probably add to it, is <128KB for download
and export .spin con file for file starts and lengths.

Cheers
Baggers.

Keebler
05-18-2007, 05:42 PM
Baggers said...
Yeah NP, didn't see that reply, when I started my reply, but got phone call in the middle of typing it :)
Any time your ready.
it's really good though so far, I've not had trouble with it, and it's nice being able to slide it up and down etc. or enter the exact addy for it.
like i said, the only things I'd probably add to it, is <128KB for download
and export .spin con file for file starts and lengths.

Cheers
Baggers.


Yeah, the export with addresses/offsets was something I had thought of a long time ago, but had forgotten as of late.
Thanks for the reminder!

Rich

CardboardGuru
05-19-2007, 12:34 AM
epmoyer said...
The quickest install solution I can imagine is 1) have an end-user run a pre-compiled .eeprom file which is the HAM communications engine 2) run the HAM windows app and click some new "load .eeprom image" button 3) select the release .eeprom image from a file browser 4) the code loads, you click reset, and you're up and running.


Or one step further. How about this:

Winzip has an install feature. If you have a setup.exe or install.exe file in a zip file, then when you open the zip file, you can click on Install and winzip will extract to a temporary directory and run setup.exe or install.exe.

So how about creating a zip file with 3 files in it.

1) Install.exe
2) Install.ini
2) benson_ham_driver_1_06.eeprom
3) Spacewar.eeprom

The Install.exe is a special build of HAM which has minimal interface, and automatically loads benson_ham_driver_1_06.eeprom into Hydra RAM as the spin tool would. It then uses that to upload the file named in install.ini. In this case case, install.ini would contain the name Spacewar.eeprom.

If you have the registered version of Winzip you could go even further and create a self-extracting zip file that will run the install program automatically. So that would be one double click from the desktop to install the 128K EEPROM file on the Hydra. You can't get much easier for the end-user than that.

Keebler
05-19-2007, 12:41 AM
CardboardGuru said...

epmoyer said...
The quickest install solution I can imagine is 1) have an end-user run a pre-compiled .eeprom file which is the HAM communications engine 2) run the HAM windows app and click some new "load .eeprom image" button 3) select the release .eeprom image from a file browser 4) the code loads, you click reset, and you're up and running.


Or one step further. How about this:

Winzip has an install feature. If you have a setup.exe or install.exe file in a zip file, then when you open the zip file, you can click on Install and winzip will extract to a temporary directory and run setup.exe or install.exe.

So how about creating a zip file with 3 files in it.

1) Install.exe
2) Install.ini
2) benson_ham_driver_1_06.eeprom
3) Spacewar.eeprom

The Install.exe is a special build of HAM which has minimal interface, and automatically loads benson_ham_driver_1_06.eeprom into Hydra RAM as the spin tool would. It then uses that to upload the file named in install.ini. In this case case, install.ini would contain the name Spacewar.eeprom.

If you have the registered version of Winzip you could go even further and create a self-extracting zip file that will run the install program automatically. So that would be one double click from the desktop to install the 128K EEPROM file on the Hydra. You can't get much easier for the end-user than that.


Well, if nothing else, I do agree that there should be a one button solution in HAM to upload and launch the HAM driver. That wouldn't be too bad.

Jasper_M
05-19-2007, 12:48 AM
I have some C# code to boot Propeller from an EEPROM file. Tell me if you're interested.

Baggers
05-19-2007, 12:54 AM
Yeah Jasper :)
That'd be handy.

Jasper_M
05-19-2007, 01:54 AM
Ok, I ZIPped it along with a simple Windows Forms test app.

The booter is a single .NET 2.0 class, in a class library. It's REALLY simple:

Booter b = new Booter("COM3");
b.Boot("a.eeprom");

or

Booter b = new Booter("COM3");
b.Reprogram("a.eeprom");

... It also works with .binary files.

The only problem you may face is opening the project, it's made with Visual Studio Express Edition Orcas Beta (...), but since the app itself is a single class, you can just take the source file.

epmoyer
05-19-2007, 02:45 AM
Keebler,

I agree, loading the HAM driver automatically would be a nice addition. A one click install path is probably unnecessary overkill. In general all Hydra users are developers, so they can handle a little mucking about. I just think that if the instructions for installing a HAM-enabled propeller app can be short and sweet then more people will use HAM, which will be better for everyone. My step-by-step HAM instructions for the last HDMF demo release were 7 steps long, which is a tad foreboding.

Again, all this stuff is nit picking and I'm just looking to make a great thing better. Thanks for your work; I'm very glad to have HAM at all!

Keebler
05-19-2007, 06:40 AM
epmoyer said...
Keebler,

I agree, loading the HAM driver automatically would be a nice addition. A one click install path is probably unnecessary overkill. In general all Hydra users are developers, so they can handle a little mucking about. I just think that if the instructions for installing a HAM-enabled propeller app can be short and sweet then more people will use HAM, which will be better for everyone. My step-by-step HAM instructions for the last HDMF demo release were 7 steps long, which is a tad foreboding.

Again, all this stuff is nit picking and I'm just looking to make a great thing better. Thanks for your work; I'm very glad to have HAM at all!


Thank you for all the feedback. Now that I know people are actually using it, I'll dust it off, fix some of the bugs and start to clean up the code.

Keep the feedback/comments/suggestions coming.

Rich

epmoyer
05-23-2007, 03:19 AM
Rich,

I am a few days away from releasing HDMF, and the HDMF EEPROM Playback demo will require HAM to install. Any chance of getting the .eeprom drag position / available size / 0 clamping fix in real soon so that the HAM installation instructions can be simpler?

Thanks.

Baggers
05-23-2007, 04:39 AM
Jasper_M said...
Ok, I ZIPped it along with a simple Windows Forms test app.

The booter is a single .NET 2.0 class, in a class library. It's REALLY simple:

Booter b = new Booter("COM3");
b.Boot("a.eeprom");

or

Booter b = new Booter("COM3");
b.Reprogram("a.eeprom");

... It also works with .binary files.

The only problem you may face is opening the project, it's made with Visual Studio Express Edition Orcas Beta (...), but since the app itself is a single class, you can just take the source file.
Cheers for that Jasper, I'm sure It'll come in handy :)
Thanks

Baggers.

Keebler
05-24-2007, 03:08 PM
epmoyer said...
Rich,

I am a few days away from releasing HDMF, and the HDMF EEPROM Playback demo will require HAM to install. Any chance of getting the .eeprom drag position / available size / 0 clamping fix in real soon so that the HAM installation instructions can be simpler?

Thanks.
I'll do my best to get it done this weekend.··· Work has been pretty intense and I have a real estate deal going that's taking a lot of time/energy :)

Rich

epmoyer
05-24-2007, 09:45 PM
"Ah life. Don't talk to me about life." -Marvin, from the Hitchhikers Guide to the Galaxy

No worries at all.
Thanks.

Keebler
05-29-2007, 03:45 PM
Jasper_M said...
Ok, I ZIPped it along with a simple Windows Forms test app.

The booter is a single .NET 2.0 class, in a class library. It's REALLY simple:

Booter b = new Booter("COM3");
b.Boot("a.eeprom");

or

Booter b = new Booter("COM3");
b.Reprogram("a.eeprom");

... It also works with .binary files.

The only problem you may face is opening the project, it's made with Visual Studio Express Edition Orcas Beta (...), but since the app itself is a single class, you can just take the source file.
Wow Jasper, Thanks!

HAM can now launch the HAM driver directly (don't have to use propellor tool) thanks to your Booter class.· (Look for it in HAM 1.07)

Rich

epmoyer
05-29-2007, 03:57 PM
Rich,

At the risk of over designing this, I've given it a lot of thought and what I think would be more useful than exporting spin constants is creating an asset directory within the EEPROM itself. I would create a convention where each asset begins with a 32bit asset tag. People who generate assets would have to generate the tag on their end and place it first in their assets. Then HAM would create a list (either at the start of the 96K region (i.e just above the lower 32K), or at the end working backwards) of assets which basically looks like:



ASSET_TAG1 0x42464548
START_ADDRESS1 0x00008000
END_ADDRESS1 0x0000B307
ASSET_TAG2 0x48494847
START_ADDRESS2 0x0000B307
END_ADDRESS2 0x000CFD0
END_OF_DIRECTORY 0xFF




Then an application could just read the directory and find out both that A) The assets its looking for are actually there and B) Where they are.
It would make moving assets around easier to maintain than a spin copy/paste solution because you wouldn't have to touch your code at all. Once we write a little asset directory reader object everyone can just use that easily to read the directory, so integration with HAM is easy. Maybe HAM or some other utility could be written to allow users to append an asset tag to an existing file if people have legacy assets that they need to add tags to.

Personally I'd also create the convention that asset tags are 4 byte strings and restrict the values to alphanumeric ASCII; that way you can "print out" an asset directory and have somewhat sensical names for your assets like "GFX1" "SND1" "SFX1" "SNG5" "JAZZ" etc.

Baggers
05-29-2007, 04:49 PM
Hi Rich,
epmoyer's idea is a good one, but... not all users have >64KB ( eg protoboard has only 64KB total, and demoboard only has 32KB )
so it's probably best to have it still export to a spin file, but can be included into a project.

eg.
it exports a file ( named by user ) eg eeprominf.spin
and it's set out like this

CON
Files long 0x41424344 ' first 4 letters of first filename
long 0x45464748 ' second 4 letters of first filename that way if people use 8.3 filename format, it can be the filename, and save us having to make up TAG's
long start_addr1
long end_addr1

long 0x494a4b4c ' first 4 letters of second filename etc...
long 0x4d4e4f50
long start_addr2
long end_addr2

Baggers.

Keebler
05-30-2007, 03:15 PM
Keebler said...

I'm starting work on the adjustable EEPROM size now.



I have it working but i need to do some more testing before uploading 1.07.
This will also include the ability to load the HAM driver from H.A.M. with the propellor tool as well as the fix for adding assets that are as big as the eeprom.

Look for it late tomorrow evening.

Rich

AndreL
05-31-2007, 06:06 AM
4 bytes is a bit too limiting, 12 is perfect, this way we can use 8.3 filenames at least for the tags, let's do that, and YES always ASCIIZ is the best way to go, ALWAYS make it human readable and editable.

Andre'

Keebler
06-01-2007, 12:16 PM
Keebler said...

I have it working but i need to do some more testing before uploading 1.07.
This will also include the ability to load the HAM driver from H.A.M. with the propellor tool as well as the fix for adding assets that are as big as the eeprom.

Look for it late tomorrow evening.



Let's make it Friday or Saturday :)

Rich

Keebler
06-03-2007, 05:44 PM
H.A.M. 1.07 is ready.


Bug Fixes:

If an asset will take up all of EEPROM, it will be automatically placed at address 0, regardless of where you drag to in the memory window.



HexEdit window now displays the starting address of each line instead of the ending address (i.e. first line would show 00000010 instead of 00000000). It's not my hex edit control, but I was able to recompile it with this change.



Improvements:

"Load HAM Driver" will load the driver onto the Hydra automatically.

(Thanks to Jasper for the Booter class)



H.A.M. reboots the Hydra after a successful upload



Selectable EEPROM size (new combo box at bottom)







Please keep the feedback coming.



Rich

Post Edited (Keebler) : 5/19/2008 11:44:54 PM GMT

Baggers
06-03-2007, 06:49 PM
Hi Keebler,

SEND: File Header timed out :(

I set it to correct COMport, set memory size to 64KB then dragged CP_HIADEMO.eeprom into it, then clicked upload to hydra.

Edit: S'ok, sorted that problem now, not only had I forgot to load HAM driver,·I forgot to change it to 5Mhz for my protoboard.
but it sorted that, tv displays correctly, and clock is fine, I can·down load stuff to it, but it doesn't seem to run correctly :(

I tried some other apps, I tried ManicMiner DodgyKong and two other binaries, but like i said, i just get a black screen. :(

Also, IIRC those drivers from the book/cd, so·you might have to not release those, as they are part of·Andre's CD.


Post Edited (Baggers) : 6/3/2007 11:19:34 AM GMT

Keebler
06-04-2007, 01:54 AM
Baggers said...
Hi Keebler,

SEND: File Header timed out :(

I set it to correct COMport, set memory size to 64KB then dragged CP_HIADEMO.eeprom into it, then clicked upload to hydra.

Edit: S'ok, sorted that problem now, not only had I forgot to load HAM driver,·I forgot to change it to 5Mhz for my protoboard.
but it sorted that, tv displays correctly, and clock is fine, I can·down load stuff to it, but it doesn't seem to run correctly :(

I tried some other apps, I tried ManicMiner DodgyKong and two other binaries, but like i said, i just get a black screen. :(

Also, IIRC those drivers from the book/cd, so·you might have to not release those, as they are part of·Andre's CD.

Hmm..··· The asset is set at address 0, right?

Does it·say·programming·complete?
What happens if you reset it manually, does it still reboot to black?
What EEPROM chip is on the protoboard (specific chip)?
Did the H.A.M. driver show any errors or did seem to go through successfully as well?
Did·you try the "Download From Hydra" feature to see if you could grab the EEPROM contents for investigation?

Another trick you could try is this.·· Rename one of the apps (.eeprom)· you want to upload to benson_ham_driver_1_07.eeprom in the directory where H.A.M. is and use the "Load H.A.M. Driver" option and see if that works.

I might need to get a protoboard to figure this out.·· I don't know what differences there are.· Can·anyone tell me the major differences between the Hydra and the Protoboard?

Rich

Post Edited (Keebler) : 6/4/2007 4:28:04 PM GMT

Baggers
06-04-2007, 02:27 AM
Yes, Address is set to 0
it does say programming complete.
then goes black
if i reboot, it stays black.
the eeprom has U3 A on top row, then AT512 on the bottom row of text
I'm guessing the differences would be the page size for the eeprom.
I've re-downloaded the bottom half using proptool ( lower 32KB so the program runs ) BUT the graphics are corrupted, it's like the pages are 128 bytes, by the looks of the way the data is layed out, I'm guessing you're using 256byte pages?
if I'm right, this will be the problem. :)

Hope this helps,
Cheers,
Baggers.

Edit:
Hi Keebler,
I've fixed the problem, it was to do with the pagesize when writing to eeprom.
I've attached links to the source file and eeprom file, for the now working benson_ham_driver_1_07.
http://www.jimbagley.co.uk/benson_ham_driver_1_07.eeprom
http://www.jimbagley.co.uk/benson_ham_driver_1_07.spin

Post Edited (Baggers) : 6/4/2007 9:45:57 AM GMT

Keebler
06-05-2007, 02:29 PM
Jasper_M said...
Ok, I ZIPped it along with a simple Windows Forms test app.

The booter is a single .NET 2.0 class, in a class library. It's REALLY simple:

Booter b = new Booter("COM3");
b.Boot("a.eeprom");

or

Booter b = new Booter("COM3");
b.Reprogram("a.eeprom");

... It also works with .binary files.

The only problem you may face is opening the project, it's made with Visual Studio Express Edition Orcas Beta (...), but since the app itself is a single class, you can just take the source file.


Jasper, how did you find out the Propellor protocol?

Jasper_M
06-05-2007, 03:03 PM
The code is based on (ie. it's a port of) a pascal source file released by Chip. It should be mentioned in the XML comment for the Booter class, along with a forum link.

edit: I·forgot to put the link i the source,·it was only in a·version that I didn't release. This is·the link:·http://forums.parallax.com/showthread.php?p=611536 (http://forums.parallax.com/showthread.php?p=611536)·So the booter class is mostly a port of the serialunit.pas file.

Post Edited (Jasper_M) : 6/5/2007 10:03:08 AM GMT

epmoyer
06-21-2007, 01:23 PM
Rich,

I am using HAM for the next SpaceWar! release. Trying to get a version out tonight. I have run into several bugs with 1.07 so I've switched back to 1.06 for now.

1) The app searches the current directory for the HAM driver, but the current directory changes if you load a project or assets from a directory other than the one HAM is stored in. If I load a project from another directory and then try to upload the driver, HAM fails to find it.

2) The Memory Map does not scale when I change the EEPROM size. It seems appears to always be scaled for 64K, but I am using 128K (Hydra).

3) When I tried using the benson_ham_driver_1_07.spin & eeprom files in your most recent post (3 posts back) the driver never started on my Hydra (screen stayed black). I switched back to the driver in the 1.07 release .zip and that one worked fine for what I was doing.

4) If you run Help->About it also searches the current directory for the .rtf help file. Again if you've loaded a project file from another directory it can't find the help file anymore.

Baggers
06-21-2007, 04:15 PM
Hi Epmoyer, the 3 posts back version is my version, I forgot to change it back from Protoboard to Hydra setup
So it'll have wrong clock speed and wrong pins for TV out.

I've attached Hydra versions, let me know if this fixes it.

Cheers and soz http://forums.parallax.com/images/smilies/blush.gif

Baggers.

Keebler
06-21-2007, 10:36 PM
epmoyer said...
Rich,

I am using HAM for the next SpaceWar! release. Trying to get a version out tonight. I have run into several bugs with 1.07 so I've switched back to 1.06 for now.

1) The app searches the current directory for the HAM driver, but the current directory changes if you load a project or assets from a directory other than the one HAM is stored in. If I load a project from another directory and then try to upload the driver, HAM fails to find it.

2) The Memory Map does not scale when I change the EEPROM size. It seems appears to always be scaled for 64K, but I am using 128K (Hydra).

3) When I tried using the benson_ham_driver_1_07.spin & eeprom files in your most recent post (3 posts back) the driver never started on my Hydra (screen stayed black). I switched back to the driver in the 1.07 release .zip and that one worked fine for what I was doing.

4) If you run Help->About it also searches the current directory for the .rtf help file. Again if you've loaded a project file from another directory it can't find the help file anymore.
Ah, I'll have to fix that current directory logic.·
As for the memory map, does it correct itself if you hit PgUp/PgDn?· I may have forgot a refresh call after the size changes.
I need to incorporate Baggers fixes into a new official release instead of this 1.07 + forum attachments version :)

Rich

epmoyer
06-22-2007, 12:04 AM
Yup! PgUp/PgDn fixes the scaling. I like the way the asset names collect on the top of the window as you scroll down; that looks really cool.

SpaceWar! has gone HAM as of version 2.5, and uses the upper EEPROM memory to store its title screen, option screen, and music assets. Thanks of all your hard work.

Keebler
06-22-2007, 03:25 AM
epmoyer said...
Yup! PgUp/PgDn fixes the scaling. I like the way the asset names collect on the top of the window as you scroll down; that looks really cool.

SpaceWar! has gone HAM as of version 2.5, and uses the upper EEPROM memory to store its title screen, option screen, and music assets. Thanks of all your hard work.
Excellent!

Keebler
01-22-2008, 03:25 PM
Everyone still doing ok with HAM? I haven't heard a peep in a while. :)

Paul Baker
01-23-2008, 02:45 AM
This is the only recent discussion of it: http://forums.parallax.com/showthread.php?p=702739


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Keebler
01-27-2008, 02:55 AM
FYI, the first post has been updated to include the 1.0.8. release.

epmoyer, the current directory logic has been fixed.

Baggers, thanks for the updated .eeprom and .spin. Those have been included in the 1.0.8. release. One side note, the video settings were causing problems so I had to change them back to what I had in 1.0.7. Not sure what effect that will have on the non-Hydra people.

Looks like you still had wireless video enabled as well as having some tweaks to the normal video flags.



long %011_0001 'pins - wireless video
' long %001_0101 'pins - normal video





1.0.8 is back to these settings.



' long %011_0001 'pins - wireless video
long %011_0000 'pins - normal video




http://forums.parallax.com/showthread.php?p=628778

Post Edited (Keebler) : 5/19/2008 11:54:19 PM GMT

Keebler
05-27-2008, 04:08 AM
Version 1.0.9 is available.

Here's a download link. I updated the first post as well.
http://forums.parallax.com/attachment.php?attachmentid=90044&d=1330294165

This fixes a few bugs that Marko Lukat pointed out.


You couldn't add an asset at the end of memory if it was a perfect fit.
Various issues with the zoom level and different memory sizes.
I also removed the check that prevented project files from older versions from loading. This will be reworked if/when the project format changes or I'll move to a tag-based, change-tolerant version.

Keebler
02-26-2012, 10:10 PM
Just a heads up, the download link isn't working because Verizon seems to have removed the file from my webspace.

I'm attaching the latest version.
90044