Subject: Adding a third app?

From: "Jeff" <fyberoptic1979@...>
Date: Mon, 30 Jul 2007 23:37:24 -0000

Going by spew.txt, changing the data at 0x20000 can let you add new 
app entries to the MS.  You do so by changing the first digit of this 
series of bytes:

02 00 02 00 01 00 01 5e   1c 18 01 01 01 20 a7 19

Well this works fine for one or two extra apps.  But upon trying to 
add a third app, I ran across a problem.  I get three icons, but my 
third icon is now the same as my first one (on mine this is the Hello 
World app).  And running this third one doesn't work, it simply 
returns to the main menu.  The first two apps run fine though.

Has anyone deciphered this series of bytes to know what they're for?  
Or is there the possibility that the MS just simply can't handle more 
than 2 apps?

---

From: "Jeff" <fyberoptic1979@...>
Date: Mon, 30 Jul 2007 23:50:41 -0000

I forgot to mention that if you clear out all the bytes except the 
first one where you specify your number of apps, all the app icons 
end up the same (your first app's), and none of them will execute 
(aka just returning to the main menu).  Could be a piece to the 
puzzle.

---

From: "Cyrano Jones" <cyranojones_lalp@...>
Date: Tue, 31 Jul 2007 03:29:32 -0000

> Or is there the possibility that the MS just simply can't handle more 

I was looking into my notes on the app directory (pg #08), 
and I found out a bit more since I wrote the instructions 
in "spew.asm" file.  

The first 4 bytes in page #08 are a header, where the 
first byte is a count of the number of apps in dataflash.  
After the 4 byte header, there are six byte records, one 
for each loaded app.  I don't know what all the bytes 
mean, but the second byte is the dataflash page number 
where you put the app, and the 6th byte is an app number. 

I think there is a max of 5 extra apps. 

App number prob should be at least #18, but I don't know 
for sure.  I don't know what would happen if you used the 
number of some other app (built in apps have numbers, too).  

I think the highest the app number is allowed to be is #1D, 
or maybe #1E.  (there is an internal app table with 30 rows,
but I don't remember right now if the first is app 00 or 01.)

Going by the data you posted, the first dataflash app is
#18, so I am gonna guess that the last internal app is #17.
AFAICT, just about every different screen type is a 
different "app", even if the screens seem to be part of
what you would normally call the same "app".

 0308:4000  nn  <-- num of recs
 0308:4001  ??
 0308:4002  ??  <--?????
 0308:4003  ??
 0308:4004  xx 00 xx xx xx 18  <-- data for 1st loaded app
 0308:400A  xx 01 xx xx xx 19  <-- data for 2nd loaded app
 0308:4010  xx 02 xx xx xx 1a  <-- data for 3rd loaded app
 0308:4006  xx 03 xx xx xx 1b  <-- data for 4th loaded app
 0308:4000  xx 04 xx xx xx 1c  <-- data for 5th loaded app
               ^^          ^^
               ||          ||
             page         who

My notes say 0308:4002 is "hex editor state", but I'm 
not sure that's right.  Just leave it whatever it is.

I filled in typical values above for the page & app 
numbers, but I don't see any reason they need to be 
consecutive.  The xx's are not "dont care", I just 
don't know what they are for.  Seems to work if
you just leave them 00.

--CJ

---

From: "Jeff" <fyberoptic1979@...>
Date: Tue, 31 Jul 2007 20:15:15 -0000

--- In [email-masked], "Cyrano 
> where you put the app, and the 6th byte is an app number. 

I had a thought earlier.  Since obviously the data for the tv 
listings and whatnot had to be updated when you dialed in for your 
mail, do you suppose part of those six byte records could specify a.) 
whether (or where) the MS should execute code while the connection is 
open for the app to fetch its own data, and/or b.) for the MS to then 
parse the data it received after the connection is complete?  I don't 
have any of the actual Yahoo apps to poke around in, but I figure the 
data has to be parsed or at least stored somewhere for these apps to 
find.

> don't know what they are for.  Seems to work if

This worked like a charm, by the way.  Thanks!

---

From: "Cyrano Jones" <cyranojones_lalp@...>
Date: Wed, 01 Aug 2007 04:12:04 -0000

--- In [email-masked], "Jeff" <fyberoptic1979@...> wrote:

> parse the data it received after the connection is complete?  

I suppose anything is possible.  My hunch is that the
mailstation passively receives the data, rather than 
fetching it.  I would think, since it is binary data,
that it would be at least base64 or uuencoded.

> I don't 

If by data you mean the TV listings, or weather, it is
stored right in the app itself, as one big graphic image.

I don't know if they reload the whole 16k page each time
they update data, or just the image data (what I named
icon2 in helloapp, maybe not the best name). 

> This worked like a charm, by the way.  Thanks!

Great!  Is the foldertab displaying right???

--CJ