Welch Company
San Francisco, CA


S U M M A R Y


DIARY: October 23, 1993 12:53 PM Saturday; Rod Welch

Visit Morris about completing menu system for demo disk.

1...Summary/Objective
.....Morris's Explanation
2...Recover Fragmented Memory to Avoid Program Crashes
.....Cause of Lost Memory
3...Wordwrap Commands for Managing SDS Flexible Structures


..............
Click here to comment!

CONTACTS 
0201 - Chips & Tech.
020101 - Mr. Morris E. Jones
020102 - Vice President
020103 - Advanced Products

SUBJECTS
Templates, freeze top lines
Schedule Header, 930221
SDS Records, Header, Field Descriptions
Doc Log Output Report Headers

0806 -
0806 -    ..
0807 - Summary/Objective
0808 -
080801 - Follow up ref SDS 11 0000.
080802 -
080803 - Completed header feature, also called "Template", begun at ref SDS 6
080804 - line 040601, but turned out to be inadequate, per ref SDS 7 line
080805 - 052701.  Today, we created something that works per our discussion at
080806 - ref SDS 7 line 053104.
080807 -
080809 -             ..
080810 -            We actually called it:  title line.
080811 -
080812 -               [On 110621 1240 "title" command created for SDS java for
080813 -               specifying a name on the title line of an application
080814 -               Windows on the desktop. ref SDS 13 2Z5O
080815 -
080817 -      ..
080818 -     Morris's Explanation
080819 -
080820 -     Add a tag to the lines ( Or possibly a color ) and a mode that
080821 -     will cause the screen display routines to place the line at the
080822 -     top of the screen.  The screen load routine would automatically
080823 -     search from the current top of screen backwards looking for a
080824 -     title line mark.  It would then add a fixed number of lines to
080825 -     the top of the screen.  If the title line is already at the top
080826 -     of the screen, then it wouldn't be placed.
080828 -      ..
080829 -     When the title line is displayed, it would be automatically
080830 -     marked as input protected.  The macros would need to be aware of
080831 -     the changes in where the data is positioned on the screen.
080833 -      ..
080834 -     Rod flaked out, and only wants the first n lines of the file to
080835 -     be the title area...
080836 -
080838 -  ..
080839 - This command seems to work with SDS macros, to read the top file
080840 - line, even with tl on.  Not sure why this is so.  We do have to turn
080841 - tl off for menu management, with tl 0, then turn it back on in macro
080842 - 804, which closes the menu.
080843 -
080845 -  ..
0809 -
0810 -
0811 - 000008
0812 -
081201 - Line 1610 - entry 157, added tl 1, for new header line.
081203 -  ..
0813 -
0814 -
0815 - 000005
0816 -
081601 - Line 2130 -label asSch, added tl 1, for Schedule title.
081602 -
081604 -  ..
0817 -
0818 -
0819 - 000003
0820 -
082001 - Line 165 - entry 80, turn title line off for menu bar.
082002 -
082004 -  ..
082005 - Line 1670 -label m23x, added tl 1 to turn title line on for SDS
082006 - records.
082007 -
082008 -
082010 -  ..
0821 -
0822 -
0823 - 06113
0824 -
082401 - Line 2220 - label Profle, just below this, added tl 3.
082402 -
082403 -
082404 -
082405 -
0825 -

SUBJECTS
SDS, Medit Improvements
Memory management (avoid crashing)

1104 -
110501 -  ..
110502 - Recover Fragmented Memory to Avoid Program Crashes
110503 -
110504 - Spent a lot of time investigating Morris' ideas at ref SDS 8 line 179,
110505 - supplemented at ref SDS 9 line 39.  Did not reach any good
110506 - conclusions.
110507 -
110508 - What about other ideas at ref SDS 8 6333, to create a command that
110509 - recovers memory that Medit is no longer using?
110510 -
110511 -     Morris feels this is a major effort, at least one day.
110513 -  ..
110514 - Another idea is to create some SDS compiled macro routines directly
110515 - in assembly language:
110516 -
110517 -     An example of SDS routines that can be done with less memory is at
110518 -     ref SDS 11 line 051426.
110519 -
110520 -         Morris checked a number of these, including those in
110521 -
110522 -                              000004
110523 -                              000005
110524 -                              000007
110525 -
110526 -         ...that have a lot of repetitive lines, and said if he did
110527 -         them in assembly language the program size would not be
110528 -         decreased by more than 1K.
110529 -
110531 -  ..
110532 - We did some tests to see if opening files and closing them with
110533 - purge, causes memory loss.  It did not seem to.  Same for calling the
110534 - DOS prompt, and coming back.
110536 -  ..
110537 - When we open an SDS menu, this takes some additional memory, but
110538 - after 4 or 5 iterations, it does not take more memory, after it
110539 - reserves enough for opening the cut file and pulling in a menu file.
110540 - Since these files use full length lines, their memory can be re-used,
110541 - but macro files called from menus, can chew up memory in the
110542 - following way:
110543 -
110545 -      ..
110546 -     Cause of Lost Memory
110547 -
110548 -     Looks like the cause of the problem of loosing memory, is loading
110549 -     data files after calling Medit macro files that have a lot of
110550 -     short lines, less than 32 char, which Morris feels is the minimum
110551 -     needed to create large enough blocks of memory, that they can be
110552 -     re-used by a data file lines.  Data files have longer lines, that
110553 -     don't fit in the short lines of code that comprise macro files,
110554 -     and so they jump over available memory spaces to find lines long
110555 -     enough to handle the data. Macro and data files with short line
110556 -     lengths will fit over other macro files.  So if we say call 3 or
110557 -     four macro files into memory, that require 20K in total, then
110558 -     even though the 20K is purged, it is only available to another
110559 -     macro file.  If we load a data file, the program acts as though
110560 -     the memory is not available.
110561 -
110563 -  ..
110564 - I am not real sure this explains why we chew up memory, because
110565 - experiments show that when we open data files with standard line
110566 - lengths, and purge them, memory use does not seem to grow, or grows
110567 - very slowly.  Why then do we get situations, where the print command
110568 - which does a "dos /c print tq.." command, fail?
110569 -
110570 -
110571 -
110572 -
1106 -

SUBJECTS
SDS, Medit Improvements
Wordwrap on SDS margins automatically,
Editing, Level 1
Wordwrap, 920102
Insert Key, make it wrap within margins

1907 -
190801 -  ..
190802 - Wordwrap Commands for Managing SDS Flexible Structures
190803 -
190804 - Follow up ref SDS 11 EO93.
190805 -
190806 - Wordwrap code was integrated with macro 610 on 911231. ref SDS 1 CQ57
190807 - Discussed again on 920101. ref SDS 2 OR43
190809 -  ..
190810 - Wordwrap code with macro 610 and macro 611 is discussed on 920112.
190811 - ref SDS 3 007R
190813 -  ..
190814 - Wordwrap for outline structures using macro 610 and 611 to set left
190815 - margin was developed on 920119. ref SDS 4 HN58
190817 -  ..
190818 - On 920215 changed Medit to eliminate requirement for wordwrap to call
190819 - macro 610 only with wrapflag 1 set. ref SDS 5 FR3O
190821 -  ..
190822 - To solve problem reported on 931015, ref SDS 11 8849, Morris added the
190823 - following command that supplements wordwrap routines previously
190824 - created:
190825 -
190826 -                     wsplit <num>
190828 -  ..
190829 - Morris explained the new command thus...
190830 -
190831 -        When num is zero, wordwrap splits the line after macro 610 and
190832 -        before 611.  when it is a 1, it will not split the line (or
190833 -        really do anything useful.  Only macro 610 and 611 will be
190834 -        called.  You may just turn it off and on in macros 610 and 611
190835 -        if you want, or do whatever you want. [...see Command
190836 -        Descriptions, ref OF 8 RQSU,
190838 -  ..
190839 - "Insert" was programmed in Medit today to call macro 610, also, to
190840 - wrap within margins.  This solves problem of Insert being on, and the
190841 - code wrapping into the SDS line number field, explained in the macro
190842 - command description file. ref OF 8 4966
190843 -
190844 -
190846 -  ..
1909 -
1910 -
1911 - 000002
1912 -
191201 - Line 2505, ref OF 10 KR8F, - entry 610,
191202 -
191203 -    Did not have time to complete implementation of this option.
191204 -
191205 -            [On 931024 continued work on wordwrap with macro 610 and
191206 -            macro 111. ref SDS 12 0001
191207 -
191208 -
191209 -
191210 -
191211 -
191212 -
191213 -
1913 -
Distribution. . . . See "CONTACTS"