Article 41854 of comp.sys.cbm:
Xref: undergrad.math.uwaterloo.ca comp.sys.cbm:41854
Newsgroups: comp.sys.cbm
Path: undergrad.math.uwaterloo.ca!csbruce
From: csbruce@ccnga.uwaterloo.ca (Craig Bruce)
Subject: Re: Suggestions for ACE: Let's have a GUI! -- the author speaks
Message-ID: <DED6Aw.6MI@undergrad.math.uwaterloo.ca>
Sender: news@undergrad.math.uwaterloo.ca (system PRIVILEGED account)
Nntp-Posting-Host: ccnga.uwaterloo.ca
Organization: University of Waterloo, Canada (eh!)
Date: Mon, 4 Sep 1995 04:40:08 GMT

Yo!

Jack.Vanderwhite@cee-64.gigo.com (Jack Vanderwhite) writes:

>I have one question for the users who are deciding what ACE will be?
>Has anyone asked the author what he thinks or what he wants ACE to
>be?

I have been ducking the conversation, since I don't really have much to say
about it.  I have also bbeen on vacation for the past couple weeks.

ACE needs some more basic work done on it before I can start thinking about
adding system features on top of it.  I need to finish the text editor,
assembler, terminal program, kernel, and get some archiving software going
before considering something like a GUI server/window manager.  Mind you,
the idea might not be practical at all on a C64.

>Someone threatened "Well, I won't program for ACE unless you put in a GUI."

ACE isn't at the stage yet to start thinking about bells and whistles for
applications... it is at the stage to think about making basic system
software available.  That's my position.  Although, the kernel does
currently have all of the functionality available to make full-screen
text-oriented programs controlled by the keyboard, such as text editors,
spreadsheets, databases, etc., for both the C128, C64, and soft-80 C64.  I
am currently putting a mouse driver into the kernel (because it is easy to
do), although I am not planning to use it anytime soon myself.

>Since the author is making a lot of source code available what is to
> stop any of you from constructing a GUI or TUI or both??? Gee...a
> system where those who want it to look a certain way can program for
> it and release it. Or is the debate because you guys want everyone to
>conform to your idea of what you want to see?

I think that what is being argued here is what kills a lot of amateur
projects: squabbling about minor details and not getting anything done.
How's that C compiler coming, guys?  No matter how your user interface
works, your application is still going to have the same basic underlying
"engine" that makes it go.  If you have something to offer, you should
program your application using the ACE system as it is now (or your own
interface to the Commodore kernel), in order to have _SOMETHING_, and then
adapt it later to the user interface that you think it should have as more
system features become available.

>It would be up to individual programmers which interface they wanted
> to conform to or if they want to conform to both. Then you guys can
> debate endlessly on "I won't use that unless you put it in the form I
> want".

"One pair beats no cards."


bastard@diku.dk (Jonas Olsen) writes:

>brain@mail.msen.com (Jim Brain) writes:
>
>>I don't disagree with you wanting a GUI.  I disagree only with the timing
>>and symantics of a GUI.  I know lots of people won't use ACE without
>>a GUI.  However, I read this original statment as " I want ACE to have
>>an integrated GUI interface", which I disagree with.  I think a GUI,
>>however it is implemented, should be optional, becasue I, as a user,
>>may not want it.

The way that I see it, a GUI would be an extension of the basic system, not
a replacement.  You would still be able to use full-screen text programs in
the same way that you are still able to use "vi" on Unix systems running
X-Windows.  In fact, almost all of the programs that I run are text-oriented
ones that think I am using basically a dumb VT100 terminal...  I just have
at least four windows on my screen all of the time to run them in.

>I see your point. The reason I would like to have a GUI early is because
>people are developing applications for ACE now. We have Zed and the
>terminal program being developed, and I think those programs could be
>developed faster, if a GUI was provided.

I don't.

I think that they would be developed faster if all of the TVs in my
apartment were to conk out simultaneously.

>More importantly, they wouldn't
>have to be rewritten once the GUI was be there.

They won't _HAVE_ to be re-written; "vi" was never re-written
(save your snide comments :-).

>A GUI would mean that you would get a keyboard input routine for numbers 
>and a file selector for free,  and you could spend your time on enhancing 
>functionality.

The way that I envision something like a file selector working is as a
sub-task.  The parent program would execute this subtask, you would select
your file, and the child would return the name of the file that you selected
to the parent program.  Actually, I don't really know what you mean by "file
selector".

>I would like it to be an integrated UI and this is much easier to do if
>we have IPC. I like the 16 bit keyboard because this doesn't cripple the
>possibilities like 8 bit does. The 16 bit keyboard is not important, but
>at the moment you actually have 12 bits or so, because you have to check
>for shift, control and commodore, and I would like to avoid this, because
>keyboard layouts differ and thus some keys might be unobtainable on some
>keyboards. This doesn't happend if all combinations of shift, control,
>commodore and another key can be assigned a free 16 bit value. Furthermore
>this would provide a consistent program regarding keyboardinput, while we
>today differ between normal text, that can be read with the kernal, and 
>"hot-key" like ctrl+a, which we have to check for in two runs: First the
>return code from the kernal and then the shift-state.

I still don't know what you are going on about with all of this 16-bit
keyboard stuff.  ACE has a keyboard that returns 255 different codes for
different key combinations, like ctrl-a, alt-z, etc.  There are only so many
combinations that are sensible.  Plus, ACE also returns the shift status
that was in effect as each key is returned from the "getkey" routine
(although that never made it into the documentation).  The full table is
included at the bottom of this document.

Also, a lot of them have standard meanings, like Ctrl-DOWN means "Page
Down", to help in making consistent applications.

>>> I insist on graphics. Not fancy stuff, but I would like to use
>>> the ISO-8859-1
>>> font, where we have $40 characters undefined. Of those, I would like to pre-
>>> define the first $20 for characters needed for the GUI, and the rest to be
>>> definable by the applications. Can you have your own font in 80 column mode
>>> on c128?

ACE will allow you to load your own characterset, including ISO 8859-1.  It
doesn't allow you to redefine individual characters, yet.

Keep on Hackin'!

-Craig Bruce
csbruce@ccnga.uwaterloo.ca
"Five more... Four more... Keep it going, three more... Two more, almost
 there... One more...  Okay, click and drag...  Five more...  Mousercising."

----
                    Craig's Handy ACE PETSCII INPUT Guide

  0/00 __<none>___   64/40 _____@_____  128/80 ___Ct-F1___  192/c0 __Sh-*__`__
  1/01 _Ct-RETURN_   65/41 _____a_____  129/81 ___Co-1____  193/c1 _____A_____
  2/02 __Sh-TAB___   66/42 _____b_____  130/82 ___Ct-F3___  194/c2 _____B_____
  3/03 ___STOP____   67/43 _____c_____  131/83 __Sh-STOP__  195/c3 _____C_____
  4/04 ___HELP____   68/44 _____d_____  132/84 __Sh-HELP__  196/c4 _____D_____
  5/05 ___Ct-2____   69/45 _____e_____  133/85 ____F1_____  197/c5 _____E_____
  6/06 __Sh-LEFT__   70/46 _____f_____  134/86 ____F3_____  198/c6 _____F_____
  7/07 ___Sh-LF___   71/47 _____g_____  135/87 ____F5_____  199/c7 _____G_____
  8/08 __Co-DEL___   72/48 _____h_____  136/88 ____F7_____  200/c8 _____H_____
  9/09 ____TAB____   73/49 _____i_____  137/89 ____F2_____  201/c9 _____I_____
 10/0a _LINEFEED__   74/4a _____j_____  138/8a ____F4_____  202/ca _____J_____
 11/0b _Sh-RIGHT__   75/4b _____k_____  139/8b ____F6_____  203/cb _____K_____
 12/0c ___Co-UP___   76/4c _____l_____  140/8c ____F8_____  204/cc _____L_____
 13/0d __RETURN___   77/4d _____m_____  141/8d _Sh-RETURN_  205/cd _____M_____
 14/0e _Sh-ESCAPE_   78/4e _____n_____  142/8e ___Ct-F5___  206/ce _____N_____
 15/0f __Co-DOWN__   79/4f _____o_____  143/8f ___Ct-F7___  207/cf _____O_____
 16/10 __Co-LEFT__   80/50 _____p_____  144/90 ___Ct-1____  208/d0 _____P_____
 17/11 ___DOWN____   81/51 _____q_____  145/91 ____UP_____  209/d1 _____Q_____
 18/12 ____RVS____   82/52 _____r_____  146/92 __RVS-OFF__  210/d2 _____R_____
 19/13 ___HOME____   83/53 _____s_____  147/93 ____CLR____  211/d3 _____S_____
 20/14 ____DEL____   84/54 _____t_____  148/94 ___INST____  212/d4 _____T_____
 21/15 _Co-RIGHT__   85/55 _____u_____  149/95 ___Co-2____  213/d5 _____U_____
 22/16 ___Ct-UP___   86/56 _____v_____  150/96 ___Co-3____  214/d6 _____V_____
 23/17 __Ct-DOWN__   87/57 _____w_____  151/97 ___Co-4____  215/d7 _____W_____
 24/18 __Ct-TAB___   88/58 _____x_____  152/98 ___Co-5____  216/d8 _____X_____
 25/19 __Ct-LEFT__   89/59 _____y_____  153/99 ___Co-6____  217/d9 _____Y_____
 26/1a _Ct-RIGHT__   90/5a _____z_____  154/9a ___Co-7____  218/da _____Z_____
 27/1b ____ESC____   91/5b _____[_____  155/9b ___Co-8____  219/db __Sh-+__{__
 28/1c ___Ct-3____   92/5c _____\_____  156/9c ___Ct-5____  220/dc __Sh-\__|__
 29/1d ___RIGHT___   93/5d _____]_____  157/9d ___LEFT____  221/dd __Sh--__}__
 30/1e ___Ct-6____   94/5e _____^_____  158/9e ___Ct-8____  222/de __Sh-^__~__
 31/1f ___Ct-7____   95/5f _BACKARROW_  159/9f ___Ct-4____  223/df _Sh-BACKAR_
 32/20 ___SPACE___   96/60 ___Alt-@___  160/a0 __Comm-@___  224/e0 __Ctrl-@___
 33/21 _____!_____   97/61 ___Alt-A___  161/a1 __Comm-A___  225/e1 __Ctrl-A___
 34/22 _____"_____   98/62 ___Alt-B___  162/a2 __Comm-B___  226/e2 __Ctrl-B___
 35/23 _____#_____   99/63 ___Alt-C___  163/a3 __Comm-C___  227/e3 __Ctrl-C___
 36/24 _____$_____  100/64 ___Alt-D___  164/a4 __Comm-D___  228/e4 __Ctrl-D___
 37/25 _____%_____  101/65 ___Alt-E___  165/a5 __Comm-E___  229/e5 __Ctrl-E___
 38/26 _____&_____  102/66 ___Alt-F___  166/a6 __Comm-F___  230/e6 __Ctrl-F___
 39/27 _____'_____  103/67 ___Alt-G___  167/a7 __Comm-G___  231/e7 __Ctrl-G___
 40/28 _____(_____  104/68 ___Alt-H___  168/a8 __Comm-H___  232/e8 __Ctrl-H___
 41/29 _____)_____  105/69 ___Alt-I___  169/a9 __Comm-I___  233/e9 __Ctrl-I___
 42/2a _____*_____  106/6a ___Alt-J___  170/aa __Comm-J___  234/ea __Ctrl-J___
 43/2b _____+_____  107/6b ___Alt-K___  171/ab __Comm-K___  235/eb __Ctrl-K___
 44/2c _____,_____  108/6c ___Alt-L___  172/ac __Comm-L___  236/ec __Ctrl-L___
 45/2d _____-_____  109/6d ___Alt-M___  173/ad __Comm-M___  237/ed __Ctrl-M___
 46/2e _____._____  110/6e ___Alt-N___  174/ae __Comm-N___  238/ee __Ctrl-N___
 47/2f _____/_____  111/6f ___Alt-O___  175/af __Comm-O___  239/ef __Ctrl-O___
 48/30 _____0_____  112/70 ___Alt-P___  176/b0 __Comm-P___  240/f0 __Ctrl-P___
 49/31 _____1_____  113/71 ___Alt-Q___  177/b1 __Comm-Q___  241/f1 __Ctrl-Q___
 50/32 _____2_____  114/72 ___Alt-R___  178/b2 __Comm-R___  242/f2 __Ctrl-R___
 51/33 _____3_____  115/73 ___Alt-S___  179/b3 __Comm-S___  243/f3 __Ctrl-S___
 52/34 _____4_____  116/74 ___Alt-T___  180/b4 __Comm-T___  244/f4 __Ctrl-T___
 53/35 _____5_____  117/75 ___Alt-U___  181/b5 __Comm-U___  245/f5 __Ctrl-U___
 54/36 _____6_____  118/76 ___Alt-V___  182/b6 __Comm-V___  246/f6 __Ctrl-V___
 55/37 _____7_____  119/77 ___Alt-W___  183/b7 __Comm-W___  247/f7 __Ctrl-W___
 56/38 _____8_____  120/78 ___Alt-X___  184/b8 __Comm-X___  248/f8 __Ctrl-X___
 57/39 _____9_____  121/79 ___Alt-Y___  185/b9 __Comm-Y___  249/f9 __Ctrl-Y___
 58/3a _____:_____  122/7a ___Alt-Z___  186/ba __Comm-Z___  250/fa __Ctrl-Z___
 59/3b _____;_____  123/7b ___Alt-[___  187/bb __Comm-[___  251/fb __Ctrl-[___
 60/3c _____<_____  124/7c ___Alt-\___  188/bc __Comm-\___  252/fc __Ctrl-\___
 61/3d _____=_____  125/7d ___Alt-]___  189/bd __Comm-]___  253/fd __Ctrl-]___
 62/3e _____>_____  126/7e ___Alt-^___  190/be __Comm-^___  254/fe __Ctrl-^___
 63/3f _____?_____  127/7f _Alt-BAKAR_  191/bf _Comm-BKAR_  255/ff _Ctrl-BKAR_


