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: 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 _____ 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_