• Please review our updated Terms and Rules here

Software written in DOS DEBUG

neilobremski

Experienced Member
Joined
Oct 9, 2016
Messages
55
Location
Seattle, USA
The DEBUG utility included with DOS (and FreeDOS) is an awesome experimental and hobbyist programming platform, but can it be used for professional programs and full blown software? I think so.

My first computer programming was done on Apple II's during a special class in elementary school. I still don't know how I got put into it but we used LOGO to do cool graphics shit with the "turtle". I don't remember much from this period. Later, my mom got a monochrome IBM AT 8088 with a 10 megabyte hard drive and my friend Aric Catron gave me a floppy loaded with GW-BASIC and a handful of programs. Now I wish I had had DEBUG (maybe it was included with the DR DOS installation, I don't know) and a copy of The Peter Norton Programmer's Guide to the IBM PC, which I just finished reading incidentally. Oh the things I could have done.

I didn't have any intrinsic computer knowledge (or the internet to bust it open). I simply had a tool powered by my insatiable compulsion to create. I built forts out of palettes and rusty nails in the forest on our property. I drew up board games and paper-based RPG's that I forced my friends Josh and Kevin to play (thanks guys!). I wrote pick-your-path adventure books. I dreamed of authoring novels. But the computer had me with its infinite depth coded in finite digits of binary.

Okay, I'm rambling. Essentially I found myself limited by the resources at my disposal and using DOS DEBUG now, I feel the enthusiasm I felt back then but without foggy constraints.

And so returning to the original question, I am going to try to answer it. You'll see what it comes out to or if it amounts to nothing but it's worth trying for the knowledge as well as the painful challenge it provides.

The only web page I've found so far that talks seriously about DEBUG in this way is a Google-hosted scan of PC Magazine from February 1984:


The author, Barbara Krasnoff, goes on to say ...

Why would you want to? First, DEBUG is much easier program to operate than the ASM or MASM assembler programs. To type in and execute a program using DEBUG requires calling up only DEBUG itself. Using an assembler, on the other hand, involves using a text-editor, the assembler itself, a program called LINK, and often another program called EXE2BIN. Each of these programs requires a rather complex series of commands to make it work.

The second advantage is that programs written with DEBUG require less "overhead" than those written with the assembler. This overhead comes in the form of program statements that appear in the ASM "source file", but are not necessary in DEBUG - so by using DEBUG you avoid having to start your day with a lot of incomprehensible program lines.

Third, using DEBUG puts you in closer contact with what is really going on in your computer. Besides being useful for assemblying programs, DEBUG is also used to examine and modify memory locations; to load, store, and start programs; and to examine and modify registers (reserved storage areas). In other words, DEBUG is designed to put us in touch with various phyiscal features of the IBM PC.

DEBUG has features that make it possible to get down to the most fundamental level of your computer's operation (short of opening up the cover and probing about with meters and oscilloscopes). Sooner or later, if you write programs in assembly language, you're going to have to learn to use DEBUG.

Some of this gives me a chuckle and a head shake but remember this was written only a few years after the IBM PC stomped into the scene with its balls hanging out. Later on we got sophisticated, optimizing compilers, and high-level methods of dealing with our hardware but it remains a valid point that to touch these things directly is to come in contact with the digital divinity living within the humming beige walls of our electronic idols.
 
Back
Top