home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / binaries / ibm / pc / archives / 3503 < prev    next >
Encoding:
Internet Message Format  |  1992-07-20  |  22.4 KB

  1. Path: sparky!uunet!mcsun!uknet!ox-prg!emerald.comlab!ptb
  2. From: ptb@prg.ox.ac.uk (Peter Breuer)
  3. Newsgroups: comp.binaries.ibm.pc.archives
  4. Subject: Review of The Last Byte memory manager
  5. Summary: Review.
  6. Keywords: review lastbyte last byte memory manager
  7. Message-ID: <4077@inca.comlab.ox.ac.uk>
  8. Date: 21 Jul 92 12:18:33 GMT
  9. Sender: news@comlab.ox.ac.uk
  10. Reply-To: ptb@prg.ox.ac.uk (Peter Breuer)
  11. Organization: Oxford University Computing Laboratory, UK
  12. Lines: 432
  13.  
  14.  
  15. LASTBYTE.RVW
  16.                             Review
  17.  
  18.  
  19. Product title:          LASTBYTE
  20. Version:                2.02
  21. Author:                    Key Software Products
  22. Directory:              simtel mirrors: sysutl/tlb-v202.zip
  23. Reviewer:           P.T. Breuer <ptb@uk.ac.ox.prg>
  24. Date of review:            13/07/91
  25. Product description:    memory manager + utilities
  26. Cost:                   $29.95 for registration.
  27.     
  28. Review Equipment
  29. ----------------
  30. Machine:        WE NBL 36X16, VLSI '320C chips
  31. Processor:        386sx
  32. CPU Clock:        16Mhz
  33. Memory:            3M extended/expanded
  34. Display:        VGAM
  35. Operating system:    MS-DOS 5.0, 4DOS 4.01
  36. Other hardware:        n/a
  37. Other software:        QEMM 6.02, HIMEM.SYS 3.00, EMM386.EXE, WINDOWS
  38.             3.0a, STACKER 1.0, HYPERDSK 4.31, BOOT.SYS
  39.  
  40.  
  41. Rating (1-4, 1 = poor, 4 = very good)
  42.       "Friendliness"
  43.             Installation      3
  44.             Ease of use       2
  45.             Help systems      1
  46.       Compatibility           4
  47.       Company
  48.             Stability         4
  49.             Support           4
  50.       Documentation           3
  51.       Hardware required       3*           *I borrowed this format from
  52.       Performance             4             comp.virus reviews, and I
  53.       Availability            4             take a high `hardware' score
  54.       Local Support           ?             to mean `few requirements'.
  55.  
  56. About the package
  57. -----------------
  58. Lastbyte is a set of RAM-extending utilities. It uses expanded memory or
  59. shadow  memory  to fill in as upper memory between 640K & 1M, which then
  60. becomes available to DOS and other programs.
  61.  
  62. Installation
  63. ------------
  64. I ran the INSTALL program in the  package,  which  invokes  the  CHIPSET
  65. checker and suggests a DEVICE= line for CONFIG.SYS. I chose to abort the
  66. routine and edited config.sys myself, because I didn't trust it to alter
  67. the  customized multiple boot configuration utility (BOOT.SYS) I had set
  68. up to help with testing - I have had experience  of  setting  up  memory
  69. managers!
  70.  
  71. If I had not aborted, a vanilla config.sys would have been written on to
  72. any bootable floppy in A:. So installation seems safe enough and I liked
  73. the  install  screens.  Pop-up  help would have been a comfort the first
  74. time round, and  Key  Software  should  pay  more  attention  to  making
  75. installers  feel  safe, secure and well-advised at this stage. They will
  76. miss out on a big market otherwise.  There  is  no  information  on  the
  77. _consequences_  of a button push, so it is a case of holding ones breath
  78. and trusting to the software, and quite a few window-shoppers might bolt
  79. at this stage.
  80.  
  81. How it performed
  82. ----------------
  83. I see that the last time I reviewed lastbyte (Dec 1991, v1.20), I  began
  84. "I  wasn't  very  happy  with  this utility ...". I am much happier this
  85. time!  Key Software have made great progress both  with  the  technology
  86. and  with  the  interface.  I  found  lastbyte  2.02  quite  charming by
  87. comparison with its previous incarnations, and  the  technology  is  now
  88. addressing enough different types of shadow ram controller to cover most
  89. of the major 386 and 486 machines being built. Mine included - which  is
  90. what I noticed most!
  91.  
  92. That said, I should get it off my chest right now that
  93.  
  94. (1)  I  still dislike the dozen different utilities (*1), and the 150Kb+
  95. of documentation.  Why is it impossible to make a _single_ utility  load
  96. as  much  as  itself as it needs according to the command line switches?
  97. Even better, the install routine could trim the utility according to the
  98. switches,  saving on disk space as well as memory space.  The monolithic
  99. documentation is easy to get lost in, and I  had  to  make  a  hypertext
  100. version for myself before I could begin to see it at all.
  101.  
  102. (2)  there  is  a  32Kb  limit  on  upper memory usage (for UMBs) in the
  103. shareware  version  which  makes  it  quite  impossible  to   test   for
  104. compatibility  and  conflicts.  I  can't  load  STACKER  high  (*2), for
  105. example, and I am not going to buy until I know I can get  both  stacker
  106. and a disk cache high simultaneously. Key Software, take note. 32K means
  107. that no-one who already has a 386 is going to be  keen  to  buy  on  the
  108. basis  of the shareware demo alone. This is a major limitation and makes
  109. the label `crippleware' difficult to avoid - though  one  can  get  some
  110. memory  gains  out of the unregistered version, and those are absolutely
  111. free of charge (registering costs $29.95 and buys you up to 384K).
  112.  
  113. ---
  114. *1 The many utilities do serve a  purpose.  Lastbyte  enables  parts  of
  115. memory  which shadow physical adapters to be used for data (not programs
  116. - they might try and access the adapter in their own address space)  and
  117. the  utilities  all make good use of this kind of memory (`bankswitch').
  118. No other vendor bankswitches shadow ram.
  119.  
  120. ---
  121. *2 No such problems in the registered version. Stacker loads high in an
  122. UMB.
  123.  
  124.  
  125. Apart from these two pet `hates', I  cannot  complain.  Lastbyte  simply
  126. does  the  job  on  my machine, but it is __very__ hard to set up -- not
  127. through any intrinsic fault of its own, I suspect.  But these remarks do
  128. reflect a relative lack of attention in the lastbyte design to the human
  129. interface problem, vis-a-vis the technical challenge.
  130.  
  131. Technically, QEMM (for comparison) has a much easier job  to  do  on  my
  132. machine because it fills in with extended or expanded memory, not shadow
  133. ram.  But qemm seems infinitely more robust.  Why the difference? I have
  134. yet  to  be  able  to  run  windows (3.0) in enhanced mode over lastbyte
  135. alone, for example. The only way I have been able to is by loading  qemm
  136. on  top of lastbyte - which I recommend as an approach. (Yes - I set all
  137. the `magic' switches in system.ini). It feels  as  though  qemm  may  be
  138. applying  some  extra  healing magic for irregularities in upper memory.
  139. My problems may be peculiar to my setup, however. Lastbyte is documented
  140. as  supporting  windows 386 enhanced mode, and, as I said, I could do it
  141. by pasting qemm on top.
  142.  
  143. I am still  a  little  confused  by  the  documentation  on  the  memory
  144. designated  `hole  memory'  by  lastbyte.  I  could not get the HIGHMARK
  145. utility to load until I named some holes for lastbyte in the  registered
  146. version.  These  `holes'  are designated areas (often at the tail end of
  147. shadow ram blocks) that lastbyte can use  as  additional  high  ram.  It
  148. seems that I used up my high ram with the UMB provider, so that highmark
  149. needed some extra holes in  my  non-read/write  (hence  non-hi-dos'able)
  150. shadow  ram before it would load.  But the shareware version has the use
  151. of holes disabled and hence I couldn't get highmark to work  at  all!  I
  152. can  imagine  potential  customers getting quite angry at wasting a week
  153. trying it out! There is a neat utility - HIGHHOLE - which suggests holes
  154. to  use,  but I am not sure if holes are worth the trouble, overall.  If
  155. they work, then you have gained a  few  Kb  of  memory  at  no  cost  to
  156. yourself.
  157.  
  158. I  am  still  not able to get the supplied EMS drivers to work. Again, I
  159. have a feeling that qemm is a more stable EMS manager over lastbyte than
  160. the  supplied managers, but it would have been nice to have been able to
  161. make a comparison. The supplied managers should be more space efficient.
  162.  
  163. Overall, I find that there  are  very  few  conflicts  with  non-windows
  164. applications  and  utilities,  but  windows  in enhanced mode is still a
  165. pain, though it can be coaxed into working.
  166.  
  167.  
  168. Ease of use
  169. -----------
  170. (1) and (2) above do make it very off-putting to set up lastbyte. I must
  171. have  been  through  a  hundred  reboot  cycles  by  now,  searching the
  172. configuration space.  But this is not bad as  memory  manager  utilities
  173. go.  I  just  prefer the neatness of QEMM's setup, and the simplicity of
  174. UMB_DRVR (simtel, etc.).  I can think of worse interfaces (I  might  get
  175. sued,  so  I  won't mention them) and I would put lastbyte about 75% _of
  176. the way _up_ the usability scale, so  do  not  take  my  complaints  too
  177. seriously!  It's  just  that  things  could  be  so  much better ... Key
  178. Software have done a lovely streamlining  job,  but  this  is  still  an
  179. iron-age  interface,  which  just  used  to be stone-age.  Can _someone_
  180. please write  a  decent  expert  system  to  help  with  memory  manager
  181. installations? Or are PCs + DOS just too much of a mess?
  182.  
  183. Compatibility
  184. ------------
  185. The 2.00 version of lastbyte on GARBO, SIMTEL etc. at the  beginning  of
  186. the month hung my machine, and a quick email reply from Dan Lewis at Key
  187. Software (weekend, yet!) told me to wait for 2.02, which fixes the  bug.
  188. That  was very good customer support. It seems several glitches got into
  189. the bytes with the change to assembler and the all-new  organization  of
  190. the  code,  and  these  were  fixed  in 2.01, which lasted a week before
  191. turning into 2.02 with a minor bug fix. 2.02 works fine for me now,  and
  192. feels  robust.  I  have  no  reason  to  believe that lastbyte is not as
  193. compatible as it is possible for a memory manager to be, and  I  ran  it
  194. with all the systems I listed in the heading of this review.
  195.  
  196. As  noted above, I couldn't get the `mark'/`release' memory utilities to
  197. work at all on  the  shareware  version.  I  found  that  Direct  Memory
  198. Control's  TSR  management utilities (DMCxxx, simtel and mirrors) worked
  199. perfectly instead. I thought at first that 4DOS did  not  see  the  UMBs
  200. dispensed  by  HIGHUMM.SYS  when qemm was also loaded, but it turned out
  201. that I had the driver loaded before qemm instead  of  after.  There  are
  202. some advantages to that strange arrangement, and the 4DOS problem is the
  203. only disadvantage: qemm sees conventional memory as extending to  800K+,
  204. or wherever lastbyte's UMBs stop, which can be helpful.
  205.  
  206. I  have  experienced  some problems with hyperdisk (HYPER386.EXE) loaded
  207. high with expanded memory running, but not under extended memory.
  208.  
  209. I didn't see a dynamic device loader in amongst the utilities, but there
  210. are  a  lot of them, and there are two at least of whose function I have
  211. no idea whatsoever (no - the documentation does not  help).  Again,  the
  212. DMC  utilities  came  to  the  rescue. I had trouble with the equivalent
  213. TSRCOM (TSR Control, simtel and mirrors) utility, and I rapidly gave  up
  214. the experiment in favour of DMC's.
  215.  
  216. Windows  is  a  real  bugbear.  I  finally determined that the following
  217. utilities may *not* be loaded high if windows is to run in enhanced mode
  218. over  lastbyte:  NNANSI.SYS, SETVER.EXE, KEYB.COM. At least one of these
  219. kiboshes lastbyte + windows if loaded low too (I have forgotten which!).
  220. I  eventually used DMC's note utility to release all TSRs before windows
  221. ran, then put them back again afterwards, and this seems  the  best  way
  222. forward. A simple win.bat copes easily.
  223.  
  224. These  remarks apply to windows running on top of qemm running on top of
  225. lastbyte. I have yet to get win/3 running on top of  lastbyte  alone  (+
  226. HIMEM.SYS and/or SMARTDRV.SYS).
  227.  
  228. Company Stability
  229. ----------------
  230. Key Software have been producing lastbyte since 1989 and started  up  in
  231. software  production  in  1983.  They behave like a secure outfit (but I
  232. have no way of knowing ...). The docs  list  several  other  well  known
  233. manufacturers of utilities as distributors.
  234.  
  235. Company Support
  236. --------------
  237. My email to Dan Lewis returned quicker than it had a right to. I  didn't
  238. try   anything  else.  Dan's  letter  was  commendable  for  length  and
  239. informativeness. I hope he does not waste his time that way always,  but
  240. he insists that he enjoys the feedback he gets from such contacts.
  241.  
  242. Documentation
  243. -------------
  244. Reasonable. Certainly lengthy and detailed, but not really written  from
  245. the user's point of view (a general failing of the utility). I wanted to
  246. know how I should set up my 386, and the best clue I got  was  from  the
  247. install routine, documentation notwithstanding.
  248.  
  249. Hardware requirements
  250. ---------------------
  251. effectively, 1x{286/386/486} with the appropriate chip set
  252. or
  253.              1x{8088/8086} plus hardware expanded memory
  254.  
  255. but it is the shadow ram controller chip that is the real requirement.
  256. It happens that supported controllers are the norm on 386/486s, but many
  257. 286s and 8086s are documented as not needing EMS either, and their
  258. controllers will yield to lastbyte too (I cannot test this).
  259.  
  260. Performance
  261. ----------
  262. As it claims.  I'll skip a long discussion of  precisely  what  lastbyte
  263. does  -  surely everyone has tried umpteen memory managers by now? - but
  264. the salient points are:
  265.  
  266. 1) lastbyte does not run in protected mode. So  you  *can*  run  windows
  267. (3.0,  maybe  3.1)  in  enhanced  mode over it. Not many memory managers
  268. which bring you shadow ram do that. I'm having some  trouble  making  it
  269. work  for me, though. So far I have always needed another memory manager
  270. loaded on top, but that is good enough, in principle.
  271.  
  272. 2) As noted, it reclaims shadow ram for use as DOS UMBs,  or  bankswitch
  273. memory, or whatever else you can squeeze out of it. For me, that has the
  274. effect of freeing up the extended memory that my other manager was using
  275. to  fill in as UMBs. So I gain as much extended memory as I had occupied
  276. UMBs (96K).
  277.  
  278. 3) Lastbyte will use expanded memory to fill in as  upper  memory  on  a
  279. machine with expanded memory hardware (*3), and no physical upper memory
  280. itself. So it's a great way of rejuvenating 8086s. For non-386  machines
  281. with  this hardware, I must recommend lastbyte _unreservedly_.  As noted
  282. above, it is claimed that EMS is not a requirement here either, but I do
  283. not know what the results are like.
  284.  
  285. ---
  286. *3 hardware to the standard of LIM 4.0 is certainly a requirement if you
  287. want more than 64K of UMBs, but more than the minimum 64K window must be
  288. physically supported too. Under 3.2, the expanded memory service will be
  289. disabled (and you get 64K of UMBs at most). The situation is complicated
  290. - but my machine is not playing in that particular ballpark.
  291.  
  292. 4) It comes with many related utilities which  can  interface  with  the
  293. manager  directly,  such  as  a  ramdisk,  a  DOSKEY replacement, an UMB
  294. dispenser, a device loader, a TSR loader, and more. For  me,  all  these
  295. are  something  of  a  _minus_,  as  I  don't  want to be tied in to one
  296. manufacturer's products, and I have plenty of utilities that I  want  to
  297. go  on  using.   All I really want to have is the UMB dispenser, which I
  298. can install in config.sys and then use to  dole  out  UMBs  to  whatever
  299. requests them.
  300.  
  301. I'm  generally happy with what all the utilities do, and how they do it.
  302. I am just not happy with so _many_ of them in as an operational  design.
  303. I  could not see what business a utility-for-utilities supplier had with
  304. providing some of these (the keyboard history utility in particular).  I
  305. would  still  rather  they  concentrated  on  making  the memory manager
  306. support open systems, but I have had the technical reason  explained  to
  307. me  now,  and  I can see the benefit! Still, I would have thought that a
  308. separate utility to load DOS buffers high was  not  entirely  necessary,
  309. nor  a utility to load DOS file control blocks, and this kind of clutter
  310. adds  to  the  feeling  that  severe  demands  are  being  made  on  the
  311. installer's technical abilities.  Very stressful.
  312.  
  313. A  dynamic  device  loader  is not included, but other suppliers loaders
  314. seem compatible.
  315.  
  316. Local support
  317. ------------
  318. There seem to be official distributors in many areas of the world.
  319. But I don't suppose they're going to rush round. Email works.
  320.  
  321. Support requirements
  322. -------------------
  323. Beginners need not apply. You need to be fairly aware of  what  you  are
  324. doing  to  install  any  memory manager, and a few (!!!) duff trials are
  325. part of the learning process. The more you know about 386  memory  here,
  326. or  expanded  memory, the better (I am still learning about `bankswitch'
  327. memory). A good general PC memory tutorial comes in the documentation.
  328.  
  329.  
  330.                   General Remarks
  331.  
  332. Why am I happier with lastbyte this time round?
  333.  
  334. (1) They've provided a very useful feedback  utility,  HIGHMEM,  in  the
  335. style  of  qemm's  MFT, which provides a scrollable view of how lastbyte
  336. has organised your memory. This may sound trivial, but, believe  me,  it
  337. is  _essential_  to  be able to get a good idea of how you're doing when
  338. playing around with memory. The lastbyte.sys manager itself also gives a
  339. useful  sign-on  display,  including bandwidths and buswidths in the map
  340. (necessary to you for avoiding clashes with DMA-performing  utilities  -
  341. though I missed where the manual said so).
  342.  
  343. (2)  This  is  the  first  version of lastbyte which can reclaim my chip
  344. set's shadow memory for my  use.  This  is  something  which  QEMM,  for
  345. example,  can  _not_  do  for  me  -- it uses extended memory to fill in
  346. (other chip sets may be more fortunately treated).
  347.  
  348. I should explain that I am looking  for  just  one  thing  in  a  memory
  349. manager  -  the ability to reclaim shadow memory for my use. I have Mb's
  350. of extended memory which qemm and other managers do wonders with, but  I
  351. only  know  of  one  other utility (umb_drvr) which will bring me shadow
  352. ram. There is 128Kb at least of usable memory up there,  just  shadowing
  353. my VGA and main bios, and I'd like it back. And, yes, lastbyte now seems
  354. able to do that job for me.
  355.  
  356. But it's not quite the bottom line. At $29.95, that 120Kb comes in quite
  357. expensive  in  comparison  with the cost of another megabyte of extended
  358. memory. And I can't map it the  way  I  want  it.  Still,  it's  not  so
  359. expensive  that I can't afford to buy, but my decision won't be based on
  360. strict economics if I do. (In fact, I am paying for precisely as much of
  361. the  reclaimed memory as I can figure out a use for, and at the moment I
  362. can think of something useful for only 96K of it - but half of the upper
  363. 384K is available to me, I know).
  364.  
  365. I would probably have junked (the shareware version of) lastbyte by now,
  366. on the grounds that I could do without a demo taking up space on my disk
  367. -  what  else  can  I call something that gives me only 32Kb of UMBs and
  368. professes to disable the rest of the upper memory map? - if  I  had  not
  369. made  the  discovery  that  one  can load qemm and other memory managers
  370. _after_ lastbyte, and get that shareware 32Kb _plus_ whatever the  other
  371. manager  gives  you.  Allocating an extra 8Kb or so as bankswitch memory
  372. allows the lastbyte utilities to  virtually  disappear  from  UMBs  too.
  373. Qemm  sees  lastbyte-managed  space  as  an adapter. I guess the rest of
  374. upper memory isn't disabled after all, but the documentation did not let
  375. on  that way! One should use the /REPLACE option of HIGHUMM.SYS and load
  376. it after the second manager.
  377.  
  378. One more cavil before I wind up: the shareware  version  is  limited  to
  379. just two lastbyte utilities loaded at a time, so you can understand that
  380. I had a great deal of trouble trying them all. I  used  HIGHDRVR.SYS  to
  381. load  HIMEM.SYS high, and HIGHUMM.SYS to dispense UMBs.  That left me no
  382. room to try any other lastbyte utilities, until I discovered  that  qemm
  383. could be loaded in afterwards (and instead of HIMEM.SYS), at which point
  384. I made some more progress. In particular, I really could make no headway
  385. with an expanded memory driver (EMM386.EXE) that I tried, since it isn't
  386. intelligent enough to load itself out of the way like qemm, and  I  lost
  387. much  more  memory  than I gained. But I believe the two are compatible,
  388. and I would appreciate it if someone would tell me how to  set  lastbyte
  389. and  emm386.exe  up  together  in  an optimal way. I got very fragmented
  390. upper memory out of my arrangement.  But  then  I  don't  have  hardware
  391. expanded  memory,  and  lastbyte  seems  to  expect  that  rather than a
  392. software emulation.
  393.  
  394. My favoured shareware setup turned out to be extended memory, running  a
  395. hyperdisk  cache  in  lastbyte's UMB, with most of upper memory excluded
  396. from lastbyte. It seems that one _has_ to set DOS=UMB - a pity,  because
  397. I  loaded  qemm  on top for more UMBs, and qemm does a better management
  398. job. DOS=NOUMB blows away the UMB that lastbyte supplies.
  399.  
  400. I couldn't get the lastbyte shareware 32K UMB to go anywhere  but  C000.
  401. In fact, setting D=C000:32 (which just says 32K at C000) in the lastbyte
  402. switches disabled lastbyte completely.  Error  messages  are  altogether
  403. incomprehensible,  as  one  might  expect, and I have no idea at all why
  404. most of my failed  experiments  failed.  I  cannot  set  D=F000:32,  for
  405. example,  as  the  documentation  says  I should, apparently because the
  406. shadow ram there  is  not  read/write,  but  it  has  taken  a  week  of
  407. experiment and correspondence to find that out!
  408.  
  409. Under  the  registered  version,  the  32K restriction disappears, and I
  410. chose to let lastbyte have 96K of  UMBs,  and  a  few  K  of  bankswitch
  411. memory.   The UMBs were more than enough to load all my TSRs and devices
  412. in, and I could then run qemm on top with upper memory excluded,  simply
  413. supplying extended/expanded memory.
  414.  
  415. I  have so far (after a weekend's trying) only managed to run windows in
  416. enhanced mode over lastbyte when qemm is loaded too,  and  with  certain
  417. devices and TSRs removed from upper memory.
  418.  
  419. Conclusion: lastbyte 2.02
  420. -----------
  421. I believe that lastbyte is just the thing for you if you have a  non-386
  422. with  LIM 4.0 hardware expanded memory. For a 386, the shareware version
  423. is not convenient to use as it stands and should be regarded as a  demo.
  424. The  registered  utility is very worthwhile technically, but still has a
  425. cumbersome interface, which, however, is marvelous by the  standards  of
  426. most  memory  managers. If it doesn't hurt you to buy, or you absolutely
  427. must have that shadow ram and you have the  right  chips,  buy,  by  all
  428. means. It is cheap enough to make a mistake over ($29.95).
  429.  
  430. Note  that  you can use the shareware version free to reclaim 32K of 386
  431. shadow ram at the cost of some fragmentation of  upper  memory,  if  you
  432. already  run  a  conventional  memory  manager.  And  it  seems to be as
  433. compatible as a manager of this sort  is  possible  to  get  with  other
  434. utilities and devices.
  435.  
  436. Needless  to say, I am very impressed by any utility of this sort, since
  437. a lot of technical knowledge and programming effort has to go  into  it.
  438. But  I  am  reviewing it from the user's standpoint, so my apologies for
  439. some relatively harsh words. If I knew how to do it myself,  I  wouldn't
  440. need to look at Key Software's fine utility! I am just disappointed that
  441. it isn't _better interfaced_. There isn't anything technically wrong  at
  442. all,  but setting it up takes a lot of work, and you may well waste more
  443. time over that than the space you save is worth to you.
  444.  
  445. - PTB 1992
  446.