Advertisement
dheadshot

Door32 Spec

Jun 11th, 2019
435
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.08 KB | None | 0 0
  1. .--------------------------------------------------------------------------.
  2. | DOOR32 Revision 1 Specifications Updated: Feb 23rd, 2001 |
  3. `--------------------------------------------------------------------------'
  4.  
  5. What is Door32?
  6. ---------------
  7.  
  8. Door32 is a standard text-based drop file designed to take advantage of
  9. 32-bit operating systems. Supporting handle inheritance, it will allow
  10. for doors to work under multiple platforms and over both serial and
  11. socket (telnet) connections.
  12.  
  13. Programming Door32 Doors
  14. ------------------------
  15. There are several freeware door libraries which support Door32 although
  16. most if not all of them are for Pascal at this time. These libraries are
  17. able to compile doors for DOS, Windows, OS/2, and Linux.
  18.  
  19. I personally suggest the D32 library which is freeware and comes with
  20. source code. It can compile doors for DOS, Windows, OS/2 and Linux using
  21. various Pascal compilers. There are other great door libraries as well,
  22. so give them all a try!
  23.  
  24. Testing Door32 Support in BBS Software
  25. --------------------------------------
  26. Included in the Door32 specification archive is a Win32 executable by the
  27. name of SAMPLE.EXE. This is a very simple Door32 compatible door compiled
  28. with the Pascal library mentioned above. BBS authors may find this
  29. program useful for testing their Door32 support.
  30.  
  31. Notes about Door32 Programming
  32. ------------------------------
  33. At this point, there seems to be two things which need to be kept
  34. in mind when doing Door32 programming:
  35.  
  36. 1. Under Linux or any operating system with case sensitive file names,
  37. the Door32 drop file (DOOR32.SYS) will be created with all lower
  38. cased lettering. IE: door32.sys
  39.  
  40. 2. There appears to be a bug in the Win32 programming API (ie, a bug in
  41. Windows) which prevents Door32 programs from running from a batch
  42. file. This means that the doors have to be executed directly from
  43. the software. Instead of running MYDOOR.BAT which eventually
  44. executes MYDOOR.EXE, you must run MYDOOR.EXE directly. This problem
  45. has said to have been fixed in Windows NT, but still exists under
  46. the Windows 9x platforms.
  47.  
  48. What does this mean to BBS authors? Not much.
  49.  
  50. What does this mean to DOOR authors? Maybe some changes...
  51.  
  52. Because Door32 doors must be executed directly, there is a good
  53. chance that the current directory will NOT be the directory that
  54. your door executable is stored. When porting an old DOS door,
  55. the door might assume that the system is in the same directory
  56. as the .EXE when loading data files. Because of this, it is
  57. recommended that you have your Door switch to the directory where
  58. the door .EXE is located, or read that directory and use it when
  59. accessing door related files. In Pascal, this is a sample of
  60. getting the directory where the door .EXE is found:
  61.  
  62. Function ProgPath : String;
  63. Var
  64. Dir : DirStr;
  65. Name : NameStr;
  66. Ext : ExtStr;
  67. Begin
  68. FSplit (ParamStr(0), Dir, Name, Ext);
  69. ProgPath := Dir + '\';
  70. End;
  71.  
  72. The above example will return the path where your door is located.
  73. Some door libraries might already switch to the directory of the
  74. executable, so you may not have to worry about it.
  75.  
  76. The DOOR32.SYS Drop file
  77. ------------------------
  78.  
  79. Below is the final Revision 1 version of DOOR32.SYS. It is a straight
  80. DOS-style text file in all lower cased letters under operating systems
  81. with case sensitive file systems:
  82.  
  83. [cut here]-------------------------------------------------------------------
  84.  
  85. 0 Line 1 : Comm type (0=local, 1=serial, 2=telnet)
  86. 0 Line 2 : Comm or socket handle
  87. 38400 Line 3 : Baud rate
  88. Mystic 1.07 Line 4 : BBSID (software name and version)
  89. 1 Line 5 : User record position (1-based)
  90. James Coyle Line 6 : User's real name
  91. g00r00 Line 7 : User's handle/alias
  92. 255 Line 8 : User's security level
  93. 58 Line 9 : User's time left (in minutes)
  94. 1 Line 10: Emulation *See Below
  95. 1 Line 11: Current node number
  96.  
  97. [cut here]-------------------------------------------------------------------
  98.  
  99. * The following are values we've predefined for the emulation:
  100.  
  101. 0 = Ascii
  102. 1 = Ansi
  103. 2 = Avatar
  104. 3 = RIP
  105. 4 = Max Graphics
  106.  
  107. Avatar, RIP, and Max Graphics all have ANSI fallback support, so most door
  108. libraries that don't support those emulations can just use ANSI if emulation
  109. 2, 3, or 4 is encountered.
  110.  
  111. Conclusion
  112. ----------
  113.  
  114. Thats it for the Revision 1 specifications of DOOR32.SYS. You can find the
  115. latest information at the official Door32 web page:
  116.  
  117. http://www.mysticbbs.com/door32
  118.  
  119. You can e-mail mysticbbs@geocities.com for any questions or suggestions
  120. relating to Door32 or post a message in the FidoNet DOORGAMES echo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement