Notes on APPT.ADB format.

Steve Korson (skorson@asic.sc.ti.com)
Thu, 15 May 1997 18:34:32 -0500 (CDT)

All,

This is for people interested in hacking/developing stuff for the
ogo.

Here is some information I have gleaned from the APPT.ADB database
for the omnigo (100 in my case.) This is not finished, but I want
to share this with others to encourage/speed-up 'cracking' the
complete code.

I haven't done any looking into how text formatting data is stored.
I gather that will be a whole nother animal.

In a blank APPT.ADB, there is only 1 USER DEF 14. It has a date & time
fields followed by ..?? I assume this is the field which contains status
information (To do view or appt view, weekly, monthly 4month, defaults etc.)
for the database. It is virtually the same in the DB with and without data.

In an older APPT.ADB with data, there is a second USER DEF 14, and it
contains a bunch of date/time pairs. ?? Haven't extracted them to
correlate them. Should be easy to figure out what they are for. Perhaps
a list of alarm info? Easy access from whatever program sets off the alarm?

USER DEF 17 is INK data (same as in *.GDB)

There is a USER DEF 16 in a DB with data. Does not appear to be INK data.
Very regular data. Lotsa 00's and FF's. Not in the Empty DB. Could be
text formatting?

In the DB with data, there is also a small USER DEF 15 in the DB with
data. It is only 3 bytes long with a trailing null. (6+3+1=10 total size.)
Don't know what it is for. Contains a single value 1: 0 0 1.

Well, that is as far as I got. I have included an example below. I think
I have enough data to add/change appt/to_do records safely. Not sure about
deleting them. Anyway, couple this with the INK knowledge, and a person
could almost make their own desktop software... [:) My goal from the start.]

DISCLAIMER: (This applies to my comments about INK format as well.)
THIS IS TRUE TO THE BEST OF MY KNOWLEDGE. I MAKE NO WARRANTIES, IMPLIED
NOR EXPRESS, ABOUT THE VALIDITY OF THIS INFORMATION. USE AT YOUR OWN RISK.
NOT RESPONSIBLE FOR ANY LOSS OF DATA OR OTHER BAD STUFF WHICH MAY OCCUR
FROM USING THIS INFORMATION.

Regards,
Steve

"My opinions are my own, not necessarily those of my employer."
s-korson@ti.com

** ***
Type Name Off Flags ## Name Appt. ToDo Event
==== ============ === ===== == ========== ===== ==== =====
2 - STRING_FIELD 27 0 Desc ...... x x
19 - [Date Field] 15 1 SDate ..... x x
7 - TIME_FIELD 18 2 STime ..... x
7 - TIME_FIELD 22 3 ETime ..... x
2 - STRING_FIELD *4 REL 4 Location ? ?
23 - [Int # of days] 20 0 5 EDate ..... x
0 - BYTEBOOL_FIELD 14 0 6 Alarm ..... x
24 - [Lead Time (m)] 24 0 7 LTime ..... x
20 - [Int # of days] 20 0 8 DDate ..... x
8 - DATE_FIELD 22 0 9 CheckDate . x
22 - [priority] 18 0 10 Priority .. x
0 - BYTEBOOL_FIELD 14 0 11 CForward .. x
10 - NOTE_FIELD 8 0 12 Note ...... x x
18 - ____?_______ 26 0 13 RptType ... ? ?
0 - BYTEBOOL_FIELD 14 0 14 WView ..... ? ?
0 - BYTEBOOL_FIELD 14 0 15 MView ..... ? ?
6 - CATEGORY *2 REL 16 Category .. ? ?
9 - RADIO_FIELD 26 0 17 None ...... x
9 - RADIO_FIELD 26 0 18 Daily ..... x
9 - RADIO_FIELD 26 0 19 Weekly .... x
9 - RADIO_FIELD 26 0 20 Monthly ... x
9 - RADIO_FIELD 26 0 21 Yearly .... x
9 - RADIO_FIELD 26 0 22 Custom .... x
0 - BYTEBOOL_FIELD 14 0 23 Event ..... ? ?
0 - BYTEBOOL_FIELD 14 0 24 Appt ...... x
0 - BYTEBOOL_FIELD 14 0 25 ToDo ...... x
0 - BYTEBOOL_FIELD 14 0 26 ComToDo ... x
==== ============ === ===== == ========== ===== ==== =====

? = Not sure
* = Relative Address
** = Includes completed To Do's
*** = I have no idea what an event is.

BYTEBOOL_FIELD Definitions:

Appt. To Do ???
===============================================
[01] [ 1] ------ ALARM - -
[02] [ 2] ------ - COM_TO_DO - MVIEW
[04] [ 4] ------ - C_FOREWARD - WVIEW
[08] [ 8] - na - - -
[10] [ 16] ------ - TO_DO -
[20] [ 32] ------ - - EVENT
[40] [ 64] - na - - -
[80] [128] ------ APPT - -

o DATA records

Appt. Example:
=================================================
Record Type: 11 Status: 2 Length: 49 Number: 0
Type: DATA

0 - 1 2b 0 - ? Int: representing length from here to end ?
2 - 3 0 0 - Word: Location Relative Address [don't know what is]
4 - 5 0 0 - Word: Category Relative Address [don't know where
categories can be entered in address book.]
6 - 7 0 0 - ???
8 - 9 fe ff - Note Address [Meaning??]
10 - 11 ff ff - NA for Appts - Previous for To Do's
12 - 13 ff ff - NA for Appts - Next for To Do's
14 80 - Byte Flags (See above)
(Appointment, no alarm for this one.)
15 - 17 61 4 2 - Date field 1900+61h/4+1/2+1 = 1997/5/3
18 - 19 68 1 - Start Time field (168h minutes from Midnight) = 6:00am
20 - 21 0 0 - NA for Appt.
22 - 23 1c 2 - End Time (21ch minutes from Midnight) = 9:00am
24 5 - Lead Time (minutes)
25 0 - ? na ?
26 1 - RADIO BUTTON: Repeat - none.
27 - n 66 6c 79 20 74 6f 20 63 68 69 63 61 67 6f 2e 0
Message Text (fly to chicago)

=================================================

To Do Example
=================================================
Record Type: 11 Status: 2 Length: 53 Number: 3
Type: DATA

0 - 1 2f 0 - ? Int: representing length from here to end ?
2 - 3 0 0 - Word: Location Relative Address [ ? don't know what is]
4 - 5 0 0 - Word: Category Relative Address [ ? don't know where
categories can be entered in address book.]
6 - 7 0 0 - ???
8 - 9 fe ff - Note Address [Meaning?? Haven't investigated.]
10 - 11 ff ff - Previous for To Do's (None)
12 - 13 5 0 - Next for To Do's (# 5 is next.)
14 14 - Byte Flags (See above)
(To Do, Carry Foreward, not complete.)
15 - 17 61 3 1b - Date field 1900+61h/3+1/1bh+1 = 1997/4/28
18 - 19 1 0 - Start Time field (?? Always set to 12:01am for To Do's)
20 - 21 4 0 - Due Date (Integer added to Start date (Fairly sure))
This one due 1997/5/2
22 - 23 0 0 - na
24 0 - na
25 0 - ? na ?
26 1 - na to To Do's. ?
27 - n 46 69 6e 69 73 68 20 46 50 20 41 70 70 2e 20 4e 6f 74 65 0
Message Text (Finish FP App. Note)

=================================================