I'm looking for about 5 more people to help beta test this version. If interested, please let me know. Windows version should be available in about a week, with Linux to follow that. Cheers, S --- PDB Genesis� ------------ (c) 1999 by Serg Koren. All rights reserved. [EMAIL PROTECTED] VisualNewt Software http://www.VisualNewt.com/ THIS IS A BETA RELEASE. THIS PROGRAM IS FUNCTIONAL BUT YOU WILL GET A REMINDER EVERY MINUTE OR SO. PLEASE DO NOT DISTRIBUTE. WARNING: -------- This utility uses reverse-engineered information as well as unofficial sources. ALL PDB FILES BUILT SHOULD FIRST BE THOROUGHLY TESTED USING THE SIMULATOR. Neither Serg Koren, nor VisualNewt Software will be held liable for any loss of data you may encounter by using this utility or by using any pdb file you generate with this utility. By using this utility you acknowledge that you have read and understood this. Although we have attempted to make this utility as safe and reliable as possible, as with all development tools, we cannot guarantee you won't run into problems. BACK UP YOUR DATA AND USE THE SIMULATOR EXTENSIVELY. OVERVIEW: --------- PDB Genesis� is a utility which allows developers of the PalmPilot to easily prebuild databases for inclusion with their projects. PDB Genesis� is useful for creating standalone reference databasse, test databases, etc. REQUIREMENTS: ------------- This copy of PDB Genesis� should run on any Macintosh and is a "fat binary". I will be releasing Windows and Unix versions in the near future. KNOWN BUGS & LIMITATIONS: ------------------------- This being a beta version, there are still some rough edges and potential bugs. Known limitations include: - There are no appInfo or sortInfo areas. These are not currently supported. - Record info flags are not supported. - File level flags are supported, but documentation on them is pretty much non-existent. These have been reverse engineered, and may be incorrect. If you know the format/values of the file level flags, please let me know. - Version numbers can only be integers - Creation/modification dates are generated incorrectly, but are usable. That is, the date on the device does not match the date specified within the program, but this doesn't appear to cause a problem. USE: ---- The program uses a text input file that includes formatting and data values to load into the target pdb file. (The next release will break the formatting information apart from the actual data). The text input file can use any line terminators (Mac, DOS, Unix, etc.) but must contain ASCII representations of both the formats and data to be loaded. This allows input files to be easily transported across platforms. Format of the input file: ------------------------- The input file must start with the following 2 lines (no blank lines are allowed): <Format Header> <Field Header> Each element in the <Format Header> and <Field Header> must be separated by a single separator character of your choice (comma,tab, or #) where <Format Header> specifies how the data records are to be converted into PDB data records, and includes the codes: C - a 'c' null-terminated character array. C:n - where 'n' is an integer value. Creates a truncated 'c' string no longer than 'n' characters (not including the null terminator). Note, this will NOT pad to the length if the actual length is shorter than 'n'. P - a Pascal (length-prefixed, non null-terminated) string. X - a field which is ignored by PDB Genesis� (useful for bypassing certain fields in the input.) B - a 1 byte ASCII character 1 - a 1 byte value (0-9) 2 - a 2 byte value. 4 - a 4 byte value 8 - an 8 byte value 16 - a 16 byte value 32 - a 32 byte value 64 - a 64 byte value where <Field Header> specifies the field names within each record, separated by the same separator character used in the <Format Header>. Following the two header lines, include the data records in ASCII format one data record per line with each field separated by the same separator character used in the headers. Each data record line in turn is consistently separated by either a CR, LR, or CRLF. Any number of data records can be included with no intervening blank lines. Sample Input File ------------------ C#P#C#P#X#C#1#B#2#4 F1#F2#F3#F4#F5#F6#F7#F8#F9#F10# C string#P String#Another C string#Another P string#Delete this#Record 1#1#1#15#256# C string#P String#Another C string#Another P string#Delete this#Record 2#2#2#10#1000# C string#P String#Another C string#Another P string#Delete this#Record 3#3#3#3#1# C string#P String#Another C string#Another P string#Delete this#Record 4#4#4#1# C string#P String#Another C string#Another P string#Delete this#Final1#1# record#5#5#1#65535# How Data is Built ------------------ Actual data records are built in the order encountered in the input file. This *should* map the first record to record id 1, the second to 2, etc., but there is no guarantee of this, so you should devise your own mapping scheme as suggested in the SDK, etc. USER INTERFACE: --------------- The user interface is fairly straight-forward. It allows you to specify the name of the target pdb file to be created (.pdb will be automatically appended), as well as the file-level flags, a version number, file type and creator. Once these are specified, you can use the two popups to select the field and record separators used within your text input file. The Record Separator popup defaults to the platform's standard line terminator, so you won't have to change this unless you're using an input file moved from another platform, or have created an input file using another one of the terminators. Once you specify the field separator from the popup, a button will appear prompting you to specify the input file. This will bring up a standard file dialog which you can use to point PDB Genesis� at the input. Doing so will display the creation and modification times that will be used to create the file (current time), as well as the calculated number of records and fields in the input based on the settings of the popups. If these appear incorrect you have either chosen the incorrect separators, or the formatting of the input file is inconsistent. Selecting a file will reveal another button which when pressed will present you with a standard save dialog that you use to specify the destination of the target pdb file. The file is then built and a notification is displayed. Large input files may take a while to process, and there is a progress bar to indicate this. Also, any errors encountered in the processing of the input file are alerted. WHEN DONE: ---------- Once the pdb file is built you should test it by installing it in the Simulator. WARNING: -------- This utility uses reverse-engineered information as well as unofficial sources. ALL PDB FILES BUILT SHOULD FIRST BE THOROUGHLY TESTED USING THE SIMULATOR. Neither Serg Koren, nor VisualNewt Software will be held liable for any loss of data you may encounter by using this utility or by using any of pdb file you generate with this utility. By using this utility you acknowledge that you have read and understood this. Although we have attempted to make this utility as safe and reliable as possible, as with all development tools, we cannot guarantee you won't run into problems. BACK UP YOUR DATA AND USE THE SIMULATOR EXTENSIVELY. REPORTING BUGS AND REQUESTS FOR ENHANCEMENTS: --------------------------------------------- If you find a bug, have an enhancement, or have another kind of datatype you wish the program to handle, feel free to email them to me at: [EMAIL PROTECTED] Make sure you prefix the subject with [PDBG-Mac] so I can filter it properly. I would also appreciate any information you may have on the internals of file-level flags since I'm making several assumptions about their meaning and use. FUTURE VERSIONS: ---------------- Future versions will allow for the separation of the formatting information from the actual data. This will allow a simpler way of loading data, and allow for the creation of libraries of formats that can be redistributed. THANK YOU! ---------- As a beta tester and as a way of thanking you, for each confirmed bug (not on the known list) that you report, I'll deduct $1 off the price of the product when it is officially released. -- END DOC -- ------------------------------------------------------------------------ VisualNewt Software Makers of: Newt'sPaper(tm) - The premiere newsreader for the Apple MessagePad http://www.VisualNewt.com/NewtsPaper.html The Universe(tm) - The only ST:CCG database with built-in browser http://www.VisualNewt.com/TheUniverse.html ------------------------------------------------------------------------
