diff options
| author | Charles Forsyth <charles.forsyth@gmail.com> | 2015-04-29 15:19:07 +0100 |
|---|---|---|
| committer | Charles Forsyth <charles.forsyth@gmail.com> | 2015-04-29 15:19:07 +0100 |
| commit | c714c442442ef137f20ca4ff9707d5480cb9ba7a (patch) | |
| tree | d0d285f05cb4292fa8f1f3c0bc70bec1251e956e /appl/wm/minitel/README | |
| parent | 1ac9729e9325d84db36c04b5cda3b5b1bc0d041f (diff) | |
remove obsolete minitel, but leave source as example
Diffstat (limited to 'appl/wm/minitel/README')
| -rw-r--r-- | appl/wm/minitel/README | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/appl/wm/minitel/README b/appl/wm/minitel/README deleted file mode 100644 index 82f3202e..00000000 --- a/appl/wm/minitel/README +++ /dev/null @@ -1,209 +0,0 @@ -Minitel Emulation for Inferno - -This directory contains the source of `miniterm', a minitel emulator -for Inferno. Miniterm is written in Limbo. The main components are: - - miniterm.m - common constants - miniterm.b - terminal emulator, messaging and Minitel `protocol` - event.[mb] - inter-module message format - keyb.b - Minitel keyboard module - modem.b - Minitel modem module - screen.b - Minitel screen module - socket.b - Minitel socket module - arg.m - basic command line argument handling - mdisplay.[mb] - Videotex display module - swkeyb.[mb] - Minitel aware software keyboard - - fonts.tgz which expands into: - - fonts/minitel - external and subfont directory (`bind -b' into /fonts) - fonts/minitel/f40x25 - 40 column external font - fonts/minitel/14x17 - fonts/minitel/14x17xoe - fonts/minitel/14x17arrow - fonts/minitel/f40x25g1 - 40 column semigraphic external font - fonts/minitel/vid14x17 - fonts/minitel/f40x25h - 40 column double height external font - fonts/minitel/14x34 - fonts/minitel/14x34xoe - fonts/minitel/14x34arrow - fonts/minitel/f40x25w - 40 column double width external font - fonts/minitel/28x17 - fonts/minitel/28x17xoe - fonts/minitel/28x17arrow - fonts/minitel/f40x25s - 40 column double size external font - fonts/minitel/28x34xoe - fonts/minitel/28x34arrow - fonts/minitel/f80x25 - 80 column external font - fonts/minitel/8x12 - fonts/minitel/8x12xoe - fonts/minitel/8x12arrow - -The fonts subdirectory should be bound into /fonts: - bind -b fonts /fonts -or the directory fonts/minitel copied to /fonts/minitel before invoking the emulator. -The names of the external fonts are -known to the Videotex display module. Similarly, the files: - /dev/modem - /dev/modemctl -are known to the modem module, but you can ignore them if -(as is almost certain) you are using the Internet-minitel gateway -and you haven't got appropriate modem hardware anyway. - -To build - mkdir /usr/inferno/dis/wm/minitel - mk install - -The code models the structure outlined in the Minitel 1B specification -provided by France Telecom. However, much more interpretation was -required to display the majority of screens currently seen on Minitel. -Additional information (although sketchy) was found on the Internet by -searching for Minitel or Videotex and also by examination of the codes -sent by minitel servers and experimenting with replies. There must be -some more up to date information somewhere! - -We don't support downloadable fonts, but correctly filter them out. - -The file miniterm.b contains the code for the minitel `terminal' with -which the other modules communicate. The keyboard, modem, socket, -screen and terminal are run as separate threads which communicate by -calling: - send(e: ref Event) -The clue to the intermodule communication is in Terminal.run which -does something like: - for(;;) { - ev =<- t.in => - eva := protocol(ev); - while(len eva > 0) { - post(eva[0]); - eva = eva[1:]; - } - # then deliver any `posted' messages (without blocking) - } -An Event `ev' may typically be an Edata type (say from the modem) or -an Eproto type for internal interpretation. In the call: - eva := protocol(ev) -The function protocol() dissects Edata messages to produce an inline -sequence of Edata and Eproto messages. The function post() queues -messages for delivery to the appropriate modules. For example, data -from the modem might be destined for the screen and the socket module. -Messages are queued until they can be delivered. That way the line: - ev =<- t.in -is executed in a timely way and the other modules can be written to -make blocking writes (via send()) and to service reads when they are -ready. - -In many places in the code lines appear with comments like: - if(p.skip < 1 || p.skip > 127) # 5.0 -These refer to sections of the Minitel specification which explain the -code. - -The mdisplay code provides a Videotex display using Inferno -primitives. The screen, keyboard and modem modules interpret data as -described in the equivalent section of the Minitel specification. The -socket module has not been implemented but currently performs a `null' -function and could easily be added if required. - - -- Namespace -We always expect the fonts to appear in /fonts and the softmodem -to appear as /dev/modem and /dev/modemctl. - -- Invocation -If invoked with no argument, miniterm uses the France Telecom -internet gateway by default (tcp!193.252.252.250!513). -If the argument starts with `modem' then -a direct connection through /dev/modem will be established. - -An argument beginning with anything other than `modem' will -be assumed to be an address suitable for dial(). For example: - - wm/minitel/miniterm tcp!193.252.252.250!513 - -will connect to the current France Telecom internet server. - -For direct connections a modem `init' string and an optional -phone number can follow the modem prefix, as in: - - wm/minitel/miniterm modem!F3!3615 - -or - - wm/minitel/miniterm modem!F3!01133836431414 - -The `F3' is the code which instructs the softmodem to enable V.23 -and needs to be passed when connecting to the FT servers. -To use pulse dialing instead of tone dialing the phone number -can be prefixed with a 'P' as in: - - wm/minitel/miniterm modem!F3!P3614 - -If the parameter specifies a network connection or a direct connection -with a phone number the software will attempt to connect immediately. -If Cx/Fin is used to disconnect and then re-connect it will use the -same IP address for a network connection or prompt for a new -phone number in the case of a direct connection. When prompting -for a new number the top row of the screen is used to allow the user -to edit the last used number. Simple editing is available, and the minitel -keys do the obvious things. - - - -** Notes on the 15th December 1998 Release ** - -- Software keyboard -A version of the software keyboard which understands some of -the minitel keyboard mappings is included. For example, hitting 'A' results -in a capital 'A' on the screen in spite of the Videotex case mapping. - -- Minitel function keys -The minitel keys are displayed on the right hand side of the screen -in 40 column mode on a network connection -and can be swapped to the left hand side by hitting the <- key. -In direct dial mode and 80 column network mode the keys are -displayed at the bottom of the screen. -In network mode they are re-displayed as appropriate on 40 to 80 -column mode changes. - - -Known Omission -------------- -- Error Correction (direct dial only) -There is no screen button to enable error correction in the release. -If a server asks for error correction it will be enabled. It looks as though -we need to include a key to enable it. Without it direct dial screens are -occasionally corrupted. - -- Software Keyboard Handling -We need to add some code to update the software keyboard and -bring it to the foreground on a mode change. - -- Full 80 column support -I am aware of some screens which don't look correct in 80 column -mode (and others that do). See `EMAIL' then choose USENET and -press SUITE a few times. I believe it behaves as specified but as we -have seen with the 40 column Videotex mode the specification -is not sufficient to display most of the minitel screens correctly. -80 column support needs just a little more work. -It may be, too, that the 80 column font could be made much more -readable by utilising a few more pixels on the screen now that we -are able to cover the toolbar. - -- Full toolbar integration -Experimentation will show whether there needs to be more -integration with the toolbar. - -Known Bugs ----------- -- Softmodem disconnection -Often, the modem does not hangup correctly. - -- Choose `USA' from a network connection -USA (from a network connection) gives an `iC' in bottom left hand -corner of screen. Possibly a server issue. Doesn't occur when -connecting directly. The server is really sending this sequence. -Both the FT emulator and their explorer plug-in suffer from it too. - - -John Bates -Vita Nuova Limited |
