home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The California Collection
/
TheCaliforniaCollection.cdr
/
his046
/
mt_100.lzh
/
MT_099.TXT
< prev
next >
Wrap
Text File
|
1991-09-13
|
23KB
|
830 lines
Preamble
Copyright 1991 Greylock Software, Inc.
Greylock Software, Inc.
POBox 730
Gt Barrington MA 01230
Data: 413-243-0034
EMail: 1:321/202@fidonet
Intended Audience
Synopsis
This is a brief description of MilqueToast, with both its
similarities and differences from BinkleyTerm.
This document is for the 0.86 version of MT.
Contents
Milque.Res
Milque.Lng
Eventually, the language file will be totally eliminated from
MilqueToast, in favor of resource file based solutions. However,
we wanted to extend some of the language file functionality for
Bink proper, so the conversion would be consistent between the
two versions.
MT.Exe
MT_086.Txt
Yes, the last beta was 0.97. What's it to you?
1 Features
1.1 BinkleyTerm With A Windows-Like Interface
1.1.1 Mouse Support
1.1.2 Where Simple, Extensions
1.2 Code More Or Less Concurrent With Bink 2.50
At the present time, the code for Milque is virtually identical
to the 2.49 beta. The time release bug is fixed in Milque.
2 Differences From "Standard" Bink
2.1 .Res File Should Be In Directory MT Is Run From
MilqueToast, like a Windows application, makes use of a Resource
File for things like dialog boxes, text, and other things. At
the current time, the Resource File MUST be located in the run
directory, although in theory, it can be located in the directory
the program lives in.
2.2 ComboBox In Kill Traffic
Yoy may note a combo in the Kill Traffic dialog. Eventually,
there will be combo boxes in all the dialog boxes, derived from
FidoUser.Lst or the nodelist itself.
2.3 Environmental, Config Files Called Milque
The environmental used to determine the config file path is
MILQUE.
The Config file is Milque.Cfg. The event file is Milque.Evt.
The language file is now called Milque.Lng, rather than
MilqueL.Lng. (Early development of Milque was medium model. Now
that Bink is large model, this is no longer necessary.)
The semaphore and related files are prefixed Milq.
2.4 Gateway Mode Triggered By Alt-Minus, Not Alt-Equal
This will be rectified when after I've talked to Magma about the
problem.
2.5 Keyboard Remapping Does Not Function In Milque
The keyboard remapping facility in the Bink language file is NOT
USED by Milq. The irony of this is we put that facility INTO
Bink in the first place! Filling out this table in the language
file will merely consume memory needlessly.
The reason for this is the way MEWEL/Windows processes events,
menus, and accelerators. In a MEWEL/Windows application, if you
have an active menu and you press Alt and the first letter of one
of those menu items, that menu will be pulled down.
The "legal" way to subvert this is by the use of accelerators.
Accelerators are generally stored in the resource file (which we
are doing.) Unfortunately, we have yet to resolve the legal
issues involved in distributing the MEWEL side resource compiler,
and know little or nothing about the legal status of Windows
resource compilers. (The MEWEL resource language format is close
to identical to the Windows format.)
We are considering making use of the keyboard remapping in the
language file as an "on the fly" accelerator table. Even in this
case, it should be noted that MEWEL/Windows keystroke values are
different than DOS keystroke values.
2.6 Overlaid With VROOMM
Found the major oops that was causing us problems with the
overlaid version.
The current version is overlaid using BorlandC VROOMM. This
means if you are running the beast on a file server, you should
be careful not to run it more than once from the same image at
the same time.
2.7 Product Code Table Derived From Resource File, Not Language
2.8 Screen "Blanking" Quite A Bit Different
Screen blanking involves "iconizing" the main window, and moving
it around the screen at randomly.
In addition, we have divorced the screen blank time from the
modem init time in Milque.
Finally, a new config verb, BlankWait [Seconds] has been added to
the config file. If it is not specified, 60 is used.
2.9 Terminal Mode Is Marginally Operational
Terminal Mode is marginally (barely) operational.
ANSI is internal to Milque. The implementation is not complete.
However, it has been generalized to the point that eventually, it
can be used relatively easily in Bink proper.
However, few of the function keys have been implemented, none
fully. Alt-D, Alt-M and Alt-Y should work.
2.10 Version 7 NodeList Is The Default!
2.11 Windows Are Sizeable, Moveable, And Storable
Windows are sizeable and moveable, and should still work as you
would expect. If you resize the recent activity window by
shrinking the number of columns, and increase the number of lines
in the Pending window, all the lines in the pending window should
be used (if needed.)
The "focus" of Mailer mode can be changed by clicking on the
window you wish to have focus, or by tabbing from Window to
Window. You can change the position by grabbing the caption bar,
or from the move option of the system menu for that window. The
system menu is accessed by clicking on the system menu box for
that window, or by pressing alt-space. The size of the window
can be changed by grabbing the lower right hand corner of the
window, or via the size option of the system menu.
The state of the windows is stored in a file called Milque.Scr.
This is written to by the Save Layout command in the File menu.
The original layout can be loaded from the Original Layout
command from the file menu.
3 Differences From Earlier Betas
3.1 Milque.Scr Format Has Changed!
With 0.83, the Milque.Scr file has a version number, and should
not act as brain damaged as it has in the past.
4 Current Status
4.1 Operating Full Time On JonesNose For 40+ Days
We've been running MilqueToast for approximately 10 days on
JonesNose, full time.
4.2 Release Features
4.2.1 Vrsn 0.99 (910914)
4.2.1.1 Scheduler Improvements
The Schedule list has been enhanced both with regard to the
amount of schedule information displayed, along with allowing you
to actually manipulate the information.
The Write button takes the changes you have made and commits them
to memory, and, when you leave Milq, saving them in the .Scd
file. It does NOT affect the .Evt (text format) file. This is
accomplished by using the Export function. In other words, the
changes you make will "stick" when you use the write button until
you update the .Evt file or erase the .Scd file.
Currently, the Export button generates a file called Event.New.
This is basically done out of cowardice on my part. It appears
to be a functioning event file, but since I don't have a very
complex event file, I'm not sure this is true.
4.2.1.2 Graphics Support
Graphics Mode has been enabled, although all the ramifications
have yet to be ironed out.
To enable graphics mode at program start, in Milque.Ini, set
GraphicsMode=16 (or whatever mode is best for your system.) It
is recommended you NOT use EGA=1 in this case.
All this stuff will be cleaned up in the 1.10 release.
4.2.2 Vrsn 0.71
4.2.2.1 Merge To 2.49n Level Source
4.2.2.2 Terminal Side Resource File Fixes
4.2.3 Vrsn 0.86 (910901)
4.2.3.1 Code Merge
Milque code is now virtually identical to Bink code, at least in
those modules that are common between the two.
This was the result of a lot of effort on Vince's part. Thanks,
Vince!
4.2.3.2 Nav Keys Hosed
The Pending Window Navigation Keys are somewhat problematic.
In order to provide access to their functionality while we work
these kinks out, we set up the following accelerators (case
independent):
D - Down a Line
E - End
H - Home
N - Next Screenful
P - Previous Screenful
U - Up a Line
4.2.4 Vrsn 0.85 (910831)
4.2.4.1 Attempted Cleanup of "modal" modeless window problems
A number of bugs were found in the code that sets the "mode" of
the Status and Pending windows. These have been eliminated, we
hope.
4.2.4.2 Event List Dialog Box Added
An Event List dialog has been added. It's a hint of things to
come more than anything at the current time.
4.2.4.3 Merging To k Level Source (2.49-7+)/Code Cleanup
This was not fun.
No, that's being nice.
This was downright painful. It was also profound in the number
of areas it touched. Please test EVERYTHING.
Much of the Windows specific code has been removed from Bink
proper, in favor of macro changes, explained in detail in the
0.84 notes.
4.2.4.4 NewNodeList BugFix
NewNodeList was broken in 0.84. It's fixed now.
The default remains Version 7, but specifying NewNodeList will
work now.
4.2.4.5 Path Send Problems
Milque is experimenting with handling paths during WaZOO based
sessions. Essentially, we plan on a mechanism that will allow
systems to transfer files between ACTUAL PATHS, bypassing the
inbound directories, under controlled conditions.
As a precursor to this, we set Milq to ALWAYS send the full
path. This has caused problems at least with dBridge systems.
The problem is one of compliance with the ZModem spec, which
specifies that paths are allowed.
The short term solution to this will be to send path names ONLY
to other Milqs (and Binks). This is not a great solution (one we
will NOT extend on a case by case basis). However, we cannot see
the point in adding a bit to the WaZOO handshake for a capability
we should already be able to legally support with the information
already being transferred. Nor will we make Milq aware on a
mailer by mailer basis who is and is not capable of handing
this. Both these solutions are "proving the negative".
Milq will ONLY send paths if SendPaths=1 exists in Milque.Ini.
This verb may be moved to Milque.Cfg before the formal release.
The real solution, in short, is compliance.
4.2.4.6 Pending Window Keys Different From Binkley
Due to the limitations of accelerator keys (described elsewhere),
we have been forced to change the keys used to manipulate the
pending outbound window. In Milque, the keystrokes must be Alt'd
- for instance, Down becomes Alt-Down.
4.2.5 Vrsn 0.84 (910828)
4.2.5.1 Distributed Screen Layout Peek-A-Boo
The resource file default layout is such that not all the
information that can be displayed in a given window is exposed.
You should try stretching some of the windows to see what's
there.
4.2.5.2 FreeSpace Added to Settings
4.2.5.3 Macro Changes To Reduce Redundant Code
4.2.5.3.1 General
Here's what we're doing internally to clean up some of the
conditional code. The main changes relate to sb_* flavored
macros. MANY of them are simply macro'd to nothingness on the
Milq side.
We treat sb_puts(w,s) as a macro on the Milq side, which is
resolves as follows:
SendMessage( w, WM_SETTEXT, 0, (long)(char far *)s )
In other words, on the Milq side, sb_puts is talking to a formal
Window handle.
On the Bink side, sb_puts still talks to a Bink window pointer (a
REGIONP).
We have far more Windows (essentially, every item displayed on
the screen has its unique Window.)
Where old Bink code would look like:
sb_puts( historywin, str );
Now it looks like:
sb_puts( history_hWnd, str );
With macros on the Bink side resolving it to:
sb_puts( historywin, str );
and on the Milq side to:
SendMessage( historywin->hWnd, WM_SETTEXT, 0, (long)str );
However, in most cases, the destination of the sb_puts() will NOT
be a *_hWnd flavored macro. Each display location has a specific
window handle on the Milq side:
sb_puts( history_BBS, str );
On the Milq side, this will resolve to:
SendMessage( history_BBS, WM_SETTEXT, 0, (long)str );
And on the Bink side:
sb_puts( historywin, str );
4.2.5.3.2 Milque Side Detail
4.2.5.3.2.1 *_hWnd
4.2.5.3.2.1.1 call_hWnd
4.2.5.3.2.1.2 file_hWnd
4.2.5.3.2.1.3 history_hWnd
4.2.5.3.2.1.4 hold_hWnd
4.2.5.3.2.1.5 node_hWnd
4.2.5.3.2.1.6 settings_hWnd
4.2.5.3.2.2 sb_*
4.2.5.3.2.2.1 sb_fill*
4.2.5.3.2.2.2 sb_move
sb_move() is history on the Milq side. It is meaningless.
4.2.5.3.2.2.3 sb_puts
This has been macro'd as follows:
#define sb_puts(w,s)
SendMessage(w,WM_SETTEXT,0,(long)(char *)s)
This requires some macro changes on the Bink side. Where
sb_puts() wants to talk to a REGIONP, we now want it to talk to
an hWnd. Since we have more hWnds than Bink has REGIONP, this
seemed the only possible approach. So we refer to callwin->hWnd
as call_hWnd, and carry this approach through the five remaining
windows: File, History, Hold, Node, and Settings.
The Bink code is being changed such that sb_moves() talk to
*_hWnd flavor'd names.
4.2.5.3.2.2.4 sb_w*
4.2.5.3.3 Bink Side Detail
4.2.5.3.3.1 SendMessage
SendMessage() is reduced to nothing on the Bink side.
4.2.5.3.3.2 call_*
4.2.5.3.3.2.1 call_hWnd
4.2.5.3.3.3 hold_*
4.2.5.3.3.3.1 hold_hWnd
4.2.5.3.3.4 node_*
4.2.5.3.3.4.1 node_hWnd
4.2.5.4 Merging to j level source
We believe we are concurrent with the j level Bink sources. This
is roughly equivalent to Bink Beta 2.49-7.
4.2.5.5 Node Window Behaviour Changes
The Node Window behaviour has been refined. What is displayed
depends on what window has the focus, and what we are doing. If
the Pending window has the focus, the detail information for the
top line of the window will be displayed. If you are dialing or
in a session, the current node information is displayed.
Otherwise, the last node called info is displayed.
There are some flaws in the way this works at the current time.
4.2.5.6 On Disk Structures Have Changed!
4.2.5.6.1 Milque.Scd
Some elapsed time information, and a more rational way of storing
last and next address information have resulted in changes to the
Scd file. Also, in an earlier release, a change was made to the
.Scd structure, but the internal version was not incremented.
This caused problems for some testers.
Not sure how this will be resolved with Bink.
4.2.5.6.2 Milque.Scr
Changes were made to Milque.Scr to allow storage of more
information about the state of the screen (although those
features are not being utilized in this version.)
4.2.5.7 Resource File Humour
The resource file has some elements of humour. Hope y'all see it
the same way.
4.2.5.8 Spawn Configuration From MEWEL.Ini
Spawn information is drawn from MEWEL.Ini, which is MEWEL's
equivalent of Win.Ini.
To use EMS in swapping, you need to have a mewel.ini containing
the following:
[MEWEL.SWAPEXEC]
UseEMS=1
The file should be either in the run directory, or in the program
directory MT lives in.
4.2.5.9 UseWinColors added to Milque.Ini
Added a switch to allow use of the Windows default color scheme.
4.2.5.10 Version7 Nodelist Is The Default
This change was made in 0.83, actually.
The default nodelist in Milq is V7. V6 is currently supported,
but as soon as V7 support is more widely available, Milq will
support only that format.
To use V6, you MUST specify the NEWNODELIST verb in Milque.Cfg.
4.2.5.11 Windows Menu Item Added
4.2.6 Vrsn 0.83
4.2.6.1 Call Window Improved
The call history window has been improved. It should retain its
contents and scroll properly now.
4.2.6.2 Initial State Info To Milque.Ini
The current graphics mode is stored in Milque.Ini. This is a
Win.Ini flavored file. A sample is included in the archive.
4.2.6.3 Language File Elements Moved To Resource File
Milque eventually will completely abandandon the language file.
The Resource File is the "Windowish" way of approaching this.
At this time, all the data in the language file is contained in
the resource file as well. We have drastically cut the product
code strings contained in the Milque langauge file, as MT is
using the resource file for this.
Keyboard translation is currently an amalgam of Accelerators and
the translation feature added to the language file. Eventually,
this will be exclusively a resource file operation.
4.2.6.4 Major Window Selection Bug Fixed From Terminal Mode
4.2.6.5 Menus Now Accessable Via Keyboard
We are much closer to Windows-style keyboard handling than in
earlier versions. While some work remains, the underlying code
now reflects the proper path.
You should be able to access the menus via the keyboard, as well
as have the alt-key functionality you've gotten used to in Bink.
4.2.6.6 Node Detail Information
4.2.6.6.1 PWD in Milque.Ini
4.2.6.7 Pending Window Operation Vastly Improved
The Pending Window flashing has been eliminated.
We've made some changes to the Pending display. These are
tentative changes, subject to reversal. In essence, the address
field is now right justified, and if you shrink the window
horizontally, the leading part of the address will be lost rather
than the information about it.
4.2.6.8 Resource File Open Continuously
The resource file (Milque.Res) is now open all the time. It can
be in the directory the main program is located in, or the run
directory.
4.2.6.9 sb_put* Functions Improved
4.2.6.10 Screen Size Specific Resource Files
I don't like this solution, but it works.
4.2.6.11 Scrolling Problem in Active Window Fixed
4.2.6.12 Shift-Space Access To System Menu
4.2.6.13 Tab/Shift-Tab Mailer Mode Window Navigation
4.2.6.14 Terminal Mode Colors Somewhat Improved
4.2.6.15 VROOMM Buffer Size Reduced
4.2.6.16 VROOMM Now Uses EMM/Extended Memory
4.3 Known Limitations/Problems
4.3.1 General (Possibly MEWEL Internal)
4.3.1.1 ComboBoxes Not Coming Down Via Alt-Down
4.3.1.2 Compiled Using BorlandC
Since it's not overlaid, this is currently not a problem.
However, once we get back into VROOMM, there could be some
problems with fileservers.
4.3.1.3 Input Problems
4.3.1.3.1 Desqview "mouse" keyboard not effective
4.3.1.3.2 Hosing of Fabian's Mouse
4.3.1.3.3 Keyboard buffer spooky (Focus Problem)
4.3.1.3.4 Keypad Enter Not Always Effective
4.3.1.3.5 Keypad Enter Not Always Kosher In Size, Move
4.3.1.4 Return From Spawn Hi Res Problems
4.3.1.5 Spawn Configuration From MEWEL.Ini
Spawn information is drawn from MEWEL.Ini, which is MEWEL's
equivalent of Win.Ini.
To use EMS in swapping, you need to have a mewel.ini containing
the following:
[MEWEL.SWAPEXEC]
UseEMS=1
The file should be either in the run directory, or in the program
directory MT lives in.
4.3.1.6 SwapDir Config File Verb Not Respected
The SwapDir config file verb is not respected by Milq. Instead,
it uses the TEMP environmental.
This is an artifact of MEWEL/Windows. We are not sure how we
will resolve it, since doing so would involve mucking with MEWEL
internals.
4.3.2 Mailer Mode
4.3.2.1 Baud Display In Node Detail Not Nearly Right
4.3.2.2 Blank Screen
Sometimes, upon return from "screenblank", the mailer screen is
hosed. The Activity window, and sometimes others are either not
displayed, or are displayed in a fragmentary manner. Milque will
respond to keyboard (and mouse) commands in this state.
This is a long lived bug. We continue to improve it, but fail to
kill it entirely.
4.3.2.3 Node
4.3.2.3.1 Unknown nodes incorrectly identified
4.3.2.4 Pending
4.3.2.4.1 Hilight when calling
4.3.2.4.2 Last Line Not Properly Erased
4.3.2.4.3 PageDown/Up Not By Length of Screen, but 4
4.3.2.5 Polling Transition From Nothing In Outbound
4.3.2.6 Transfer Status Problems
4.3.2.6.1 Janus Time/Position Updating
While dramatically improved, there are still problems with Janus
transfer updates.
Further, the adaptations we've had to make to accomodate Janus
affect the appearance of uni-directional transfer status.
4.3.2.6.2 Terminal Mode
4.3.2.6.3 ZModem Update
There have been times when updating in ZModem has stopped
appearing on the screen. I have yet to identify the conditions
under which this occurs. It does NOT interfere with transfers.
If someone can pin this down, it would be appreciated.
4.3.3 Terminal Mode
4.3.3.1 ANSI Problems
4.3.3.2 Avatar Not Even Implemented
4.3.3.3 External Protocols Not Yet Supported
4.3.3.4 Gateway Mode Nowhere Near Real
First off, we don't have access to Alt-= under Windows/MEWEL.
We have yet to make the internal changes to the message
processors to properly handle it.
4.3.3.5 Minimize Should Be Disallowed
4.3.3.6 Redial Nearly Working
We have totally revamped the redial system.
Of course, it doesn't work, but you'll get the idea.
4.3.3.7 Transfer Status Problems
4.3.3.7.1 Terminal Mode
4.3.3.7.2 ZModem Update
There have been times when updating in ZModem has stopped
appearing on the screen. I have yet to identify the conditions
under which this occurs. It does NOT interfere with transfers.
If someone can pin this down, it would be appreciated.
5 Testing Desired
5.1 Full Time Node Testing
Those of you brought in specifically to test Milque are requested
to run the beast full time on your nodes.
Beyond that, anyone is welcome to test in whatever capacity they
wish.
5.2 Response Via BinkBeta