On 10/3/20 4:07 PM, Fred Cisin via cctalk wrote:
On Sat, 3 Oct 2020, Will Senn via cctalk wrote:
2. Most of the Assembly examples use DOS
interrupt 21 for output. Is
this typical of assembly programs of the time, or did folks use other
methods?
For simple stuff, Int21H works and is portable to anything running
MS-DOS.
Int10H is less portable.? Not as commonly used.
If you need SPEED, which all commercial software perceived a need for,
then you need to determine WHERE video memory is (segment B000H for
MDA, segment B800H for CGA, with TEXT modes of EGA/VGA also using
those), and put bytes/words directly into video memory.? REP MOVSW was
generally the quickest way to put up a screenful of stuff (avoid
segment over-ride because REP MOVSW lost that if an interrupt occured
in mid transfer)
Great detail. I'll be playing around in the video memory. Int 21H is
fine for printf style output, but I've never really played around with
pages of data and this sounds like fun.
Keyboard input could be done with Int21H, Int16h, or accessing memory
in the BIOS segment.
3. I was able to find a lot of 5150/5160 and
other manuals, but I
couldn't find an IBM Macro Assembler 2.0 manual (there are plenty of
IBM Macro Assembler/2 manuals, but those are for OS/2, not DOS). Does
anyone know where I can find one online?
MASM manual??!?
MASM 5.0 was the first version to have documentation that a sane
person could say was adequate.
The MASM 5.00 manualS were pretty usable for the earlier MASM.
Hmm. I'll give
it a shot.
I used Lafore as textbook for my assembly language class
4. In y'all's view, what are the
significant differences between IBM
PC-DOS 2.10 and it's brother MS-DOS 2.x?
2.00 to 2.10 was minor changes.? Perhaps the most significant was that
the PCJr used the QumeTrak 142 (early half-height) drives, which were
TOO SLOW for 2.00, so PC-DOS 2.10 slowed down the DOS track to track
access time.
2.11 was MS-DOS ONLY, not PC-DOS.? It was one of the favorite ones for
OEMs to patch for different video or different drives (such as 720K 3.5")
PC-DOS didn't get 3.5" drives until PC-DOS 3.20.
PC-DOS 3.30 added 1.4M If you want CD-ROM, 3.10 added the "network
redirector".
MS-DOS (NOT PC-DOS) 3.31, another favorite for patching, was the first
to support hard drives larger than 32M
PC-DOS 4.00 was unpopular, partially becaause IBM didn't pre-warn
Norton to revise their fUtilities.
MS-DOS 5.00 was the first to be sold RETAIL (not gray-market from an
OEM), and added such things as SETVER (so LINK and EXe2BIN didn't need
patching for DOS versions).
MS-DOS 6.00 added a whole cartful of bundled aftermarket add-ons,
including compression, SMARTDRV disk cacheing, etc.
PC-DOS 6.10 had a cartful of different aftermarket brands of the same
add-ons.
MS-DOS 6.20 was the first version of MS-DOS for which imporving
reliability was primary goal!? (instead of adding smell-o-vision,
dancing kangaroos and yodelling jellyfish)
It backed off the settings for SMARTDRV so that disks didn't get
trashed (incorrectly blamed on compression)
6.21 was same, without compression due to copyright lawsuit(s).
6.22 was same with non-infringing compression
Great detail, thanks.
5. I'm
thinking of moving on to 3.3 at some point, in your view, what
are the advantages?
Consider 3.31, instead of 3.30, to get larger drive support.
I am using a Thinkpad T430 w/DOS 6.22. If I can figure out how to get
3.31 on there, I'll give it a shot. I bought a Floppy-USB connector for
my old 1.44 floppy drive and it works fine with DOS 6.22, but I'm not
sure where to locate 3.31 media that I could burn onto a 1.44 floppy and
boot. I have sealed IBM DOS 3.3 media, but I don't think my T430 is
really compatible :). So, I'm not keen on opening the seal...
Bob Wallace (MICROS~1 10th? employee) wrote the IBM
PASCAL.? He
advised me to NOT use the run-time library.
Well, there's a thought. I have Turbo Pascal 3 and it works fine. I just
like the feeling of running the old stuff.
--
Grumpy Ol' Fred???????????? cisin at
xenosoft.com
Thanks Fred!
--
GPG Fingerprint: 68F4 B3BD 1730 555A 4462 7D45 3EAA 5B6D A982 BAAF