TF01
1,PROGRAMMER'S LOG
3,Development of the LCARS software by Luke Elliott

REVISIONS
ŻŻŻŻŻŻŻŻŻ
Date/times given are for completion of alteration.


DATE        TIME        ENTRY
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
21-2-95     16:15       Fixed  bug  which  caused   samples  to  stop
                        playing  after  a  few  requesters  had  been
                        displayed.  Requester   routines   now   also
                        determine the  screen  display  type  (either
                        MenuMode  like   or   full   screen   like  a
                        slideshow) and  position  standard requesters
                        accordingly.

13-2-95     16:20       Release 2.2 sent to HQ!

12-2-95     17:00       Altered graphics routines. Previously, a ILBM
                        file  was  either  copied   to  RAM  (if  not
                        crunched) or decrunched to  RAM (if crunched)
                        before being displayed with  the buffered IFF
                        routines. Now, if the file is not crunched it
                        is displayed "off  the  disk",  with  quite a
                        considerable memory usage saving.

10-2-95     -----       A memorable day...

27-1-95     13:00       Final  final   improvements   before  finally
                        sending an update -  renamed lcars library to
                        lcsupport library in order  to avoid possible
                        problems with the old version, since they are
                        incompatible. Final. Honest.

9-1-95      15:35       Final few improvements before sending Simon a
                        release-ready version (2.2). When a requester
                        is opened the  window  it  is  opened from is
                        locked  (apart   from   in   MusicControl   -
                        later...).

8-1-95      17:00       More keyboard shortcuts  added  (to TextMode,
                        QuizMode and  PrefsMode).  Only  leaves Music
                        Control and the standard requesters.

4-1-95      01:20       Finally  rewritten  Dos   IO  error  handling
                        routines -  those  that  display  the "Insert
                        Disk" requesters. To the user should look the
                        same, but much tidier  code (should cope with
                        most situations).

3-1-95      19:30       As a  consequence  of  the  new  global event
                        handlers, in  TextMode  using  the  NEXT LINE
                        gadget would in fact move  two lines (one for
                        GADGETDOWN, one for GADGETUP) -- no longer!

3-1-95      17:40       Major  reshuffle.   Previously,   the   LCARS
                        library contained the  routines  and data for
                        playing the sounds you  hear  in the program.
                        Now the  sample  playing  routines  have been
                        rewritten and put in the lcmusic library. The
                        actual sample data for  the  sounds is now in
                        the LCARS  file  itself.  Unfortunately  this
                        means it size  has  gone  up  again (by about
                        18K), but of course the  LCARS library is 18K
                        smaller, and now  just contains miscellaneous
                        support functions which  really  have nothing
                        to do with LCARS - but which LCARS, and other
                        programs I have written, can utilise. This is
                        a much more logical  solution since all music
                        playing functions  are  now  in  the  lcmusic
                        library, where they should be!

1-1-95      11:55       Two improvements: In  TextMode, displaying of
                        files  would  be  considerably  slowed  after
                        viewing the INFO  screen.  Fixed  by removing
                        color from INFO screen.  Secondly, the NEXT /
                        PREV line gadgets  now  respond  the the user
                        moving the mouse back into  the select box of
                        the  gadget  after  moving  it  out  and  not
                        letting go of the  mouse button (as RELVERIFY
                        gadgets should).

31-12-94    15:30       Finished  perging   of   graphic   data.  The
                        executable is now  69K,  as  opposed  to 145K
                        before work started.  3300  bytes  of this is
                        chip  (graphic)  data,  as   opposed  to  83K
                        before...! Gibber gibber! Also compressed the
                        background "bridge"  sample  by  50%,  saving
                        almost 10K!

30-12-94    17:10       We now  have  background  printing!  You must
                        wait for  the  standard  "INFINITE FRONTIERS"
                        header to be printed, and  then you can carry
                        on doing what the  hell  you like - including
                        viewing other text files! However, you cannot
                        yet queue print requests. Is there any need?

30-12-94    15:20       All modes which interact  with the main LCARS
                        window now  use  a  global,  recursive  event
                        handler. Previously each mode  dealt with its
                        own events, but now we have a single handler.
                        This is  a  pre-cursor  to  adding background
                        printing   and   will   make   the   proposed
                        ScriptMode and HyperTextMode a  hell of a lot
                        simpler (if  they  ever  appear...)!  Besides
                        which, the executable is smaller still!

22-12-94    12:15       Changed the QuizMode  status  screen (again).
                        It is now  one  of  the  new, flexible, LCARS
                        "Easy Requesters".

22-12-94    11:25       Main file now 81K!  Saved  lots of image data
                        by  clever  use  of  PlanePick  /  PlaneOnOff
                        variables. Another 8K could go, however...

21-12-94    01:32       Variable sized  requesters,  with  any  title
                        (not just SYSTEM REQUEST  anymore). Check out
                        MenuMode INFO for an example...

20-12-94    12:15       Uncrunched executable  length  down  to 85K!!
                        Requesters tidied up,  all  requester gadgets
                        now highlight to the same colour.

18-12-94    23:30       YES! It's university  holiday  time again, so
                        work  on  LCARS   starts   once   again.  The
                        executable was getting  far  too large (about
                        145K), so a serious  purge  was  started - so
                        far, approx. 10K  has  been  lost  plus a 20K
                        file off the boot disk!  There is another 30K
                        to go, however!

25-9-94     16:30       Altered LCARS library  to  improve generation
                        of random numbers for QuizMode.

25-9-94     16:15       "The word  was  given"  (!)  from  Simon that
                        issue 8,  the  next  release  of  LCARS (2.1)
                        would have quizzes in  it,  so  a clean up of
                        QuizMode was next on the list. There were, as
                        far as I know, no  bugs,  but  the code was a
                        mess! Now much more "LCARS friendly"!

18-9-94     21:15       Finished complete  rewrite  of  all SoundMode
                        code.  Music  Control   feature   now  has  a
                        "ListView"-esque  kind  of  list  of  modules
                        available.  Tempo  of   modules  (except  MED
                        modules) can  be  controlled  with  a  slider
                        gadget. Can now  play  another module without
                        stopping another first.

16-9-94     17:30       Started going through  all  segments of LCARS
                        to optimise/bug fix/improve/add new features.
                        First up is the LCARS library. AnimPointer is
                        now only a  single  structure  - saves memory
                        fragmentation and will  be  faster. Interrupt
                        code about half its old length.

8-9-94      00:30       Removed   alternate   color    support   from
                        AnimPointer routines. It  occured  to me that
                        you  may  have  two  windows  on  screen,  do
                        something   in   one   which   activates   an
                        AnimPointer (and thus  changes  the pointer's
                        palette), then activate  the  other window to
                        do something in that  -  with  a pointer with
                        strange colors. Messy! It is mentioned in the
                        3.1  development  notes  that  a  colors-per-
                        window  system  for   the   pointer   may  be
                        introduced in the future, but until then this
                        feature will be dormant!

4-9-94      23:52       Fixed a bug in the new AnimPointer code which
                        caused a software failure  if the pointer was
                        displayed  for  a  long  while.  I  tried  to
                        "include" a file which  contained code twice,
                        but had the "Ignore Multiple Includes" option
                        in Devpac set - so the file was only included
                        once, meaning I was writing to an unallocated
                        area of memory!!

3-9-94      12:02       Complete rewrite  of  AnimPointer  support in
                        LCARS library. New  code  is  smaller, faster
                        and removes the  annoying  jerky  movement of
                        the pointer under Kickstart 3. Also no longer
                        needs a separate task.

25-8-94     21:45       Added skeletal NTSC support. If running on an
                        NTSC machine the LCARS screen will open up in
                        interlace, so that all  of  the screen can be
                        seen at once.  Of  course,  if  a  machine is
                        running Kickstart 2 or greater, then a screen
                        larger than the  actual  viewing  area can be
                        scrolled around with the  mouse,  but this is
                        hardly a workable  solution,  especially when
                        dealing with scrolling text.

25-8-94     00:53       Simple alteration -  changed  the position of
                        the screen-swap gagdet  to  the  top right of
                        the screen. I felt the old position was a bit
                        ambiguous - now  simply  move  the pointer as
                        far up and to  the  right  as  it will go and
                        click.  Then again, there's  no real need for
                        it anyway...

21-8-94     16:58       Fixed bug which  had  "appeared"  on keyboard
                        shortcuts in MenuMode.  Somehow some spurious
                        code  calling  sample  playing  routines  had
                        appeared in an interrupt server.

21-8-94     16:36       Bug fixed which  caused  sound effects execpt
                        for the background  "engine"  noise  to cease
                        functioning after playing  two music modules.
                        Found to  be  that  the  "access"  sample was
                        called twice when loading  a module, but only
                        waited for and freed  once,  so a channel was
                        lost each time a module was played!

18-8-94     01:20       LCARS interface for MusicList added. The STOP
                        gadget has been replaced by a permanent MUSIC
                        gadget which brings up a  window from which a
                        module can be selected  for playing (from the
                        MusicList),  playing   can   be   stopped  or
                        restarted from the beginning and the tempo of
                        playback can be altered.  Modules  can now be
                        selected independant  of  mode  -  eg  during
                        TextMode.

17-8-94     00:40       MusicList feature added -  worked first time!
                        Allows selection of modules  from  a list. No
                        LCARS interface to run this yet.

16-8-94     12:54       Bug found by  Allister  Brimble in ProTracker
                        replay (not my code  I  hasten to add!). When
                        running on faster machines  a  busy wait loop
                        using dbra obviously didn't wait long enough!
                        Now  uses  a  raster-line  timer.  Why  don't
                        people listen to Commodore?

12-8-94     19:20       Updated LCARS font size  28. Now much thinner
                        and looks far superior (in my opinion!). Also
                        added new characters such as ()% etc... A few
                        changes to fonts 11 and 8.


CREDITS
ŻŻŻŻŻŻŻ

All code and graphics ................. Luke Elliott
                                        (Except as noted below)

Original program design ............... Luke Elliott
                                        Jason Dunning

Additional program design ............. Simon Plumbe

Music replay routines ................. Teijo Kinnunen
                                        Peter Hanning

Additional music replay help .......... Allister Brimble


LCARS was created with the following hardware and sotfware:

            Amiga 500 with Kickstart 2.04 and 1MB RAM (originally)
            Amiga 600 with 30MB HD and 2MB RAM (for a short while)
            Amiga 1200 with 60MB HD (currently!)
            StereoMaster

            HiSoft Devpac 3.02
            DICE 2.06.21
            Deluxe Paint
            FED, the Workbench 1.3 font editor!
            The Art Department 1.0.3
            Protext 4.362

            and other utilities to numerous to mention...

Enjoy!
