One of my favourite DOS things was the DEBUG.EXE command. As far as I know, it was the only debugger that allows for the creation of debug files where you could do things like debug.exe < script.dbg to do low level things like replacing a disk partition table.
It was a very handy method of passing around binaries in text-oriented chat systems.
What got me into assembly programming was my peecee getting infected with the STONED virus at the end of the 80's. DOS came with a small very thick binder user manual, and the DEBUG.EXE section was very extensive. It seemed to me that I could use it to repair my disks. It took a while, but I succeeded.
I managed to carve out the boot sector, learn assembly, and rewrite the virus code to more human readable format, and then the cherry on top: read the original boot sector off the disk (which I learned about through the virus code itself) and write it on top of the virus code. All this just from the user manual pages for DEBUG. The code for both reading and writing the virus code and the original boot sector, which was offset to a different sector, was right there in the virus. So it was an unusual self-documenting solution.
That was so much fun, I went head first into learning how to program in Assembler using TASM (Borland Turbo Assembler), which is in every way a more friendly way to write assembler. I still have the TASM programming book I bought way back then on my severely nerdy book shelf.
Those sure were the days.
Unsurprisingly, I kept up on viruses and antivirus, then hacking, then firewalls, then pentesting, in that order, as they were invented. The STONED virus and the DOS manual literally gave me a career path.
Wow that's pretty cool! I first found out I had some virus when I was hex editing my boot/root floppy disks for Linux back in 92? I'd just compiled a kernel and forgot to set the root to the hard disk, swapped disks around and found some bootsector thing that I can't remember at the time. It was initially mystifying how it read okay in DOS, as the virus could hide, but on Linux is where it was laid bare.
Pretty cool how you made such a massive leap! Talk about making lemonade!
If you would have asked me in high school what I wanted to do for a career, it had absolutely nothing to do with computing, even though I grew up tweens onward around computers. The opportunities were interesting to me, and as things progressed, I went along with it.
I've been lucky enough that I am currently in early retirement, 15 years before traditional retirement. I still do a lot of what I did work-wise, but as hobby now.
debug.exe did not like non-DOS EOL, which caused some problems when copying texts.
If I remembered correctly, debug was only capable of writing 64kB (mono-segment) data? Though one can always create an in-RAM program inside debug to output larger files.
Yea, I think you could only write a COM file, since they are single segment "memory images". And 64kB was indeed the limit for a memory segment in those days.
Depending on what you were doing, even a ^C character in a script would throw it off, too.
I made a very in-depth video that shows 86-DOS version 0.11 being used in-context to port a piece of code from CP/M-80 2.2, to 86-DOS using RDCPM, TRANS, and the ASM. I also directly address the elephant in the room "Was CP/M code stolen for MS-DOS?" https://www.youtube.com/watch?v=Zd7T5euID1E
Nah, it was wp-mail-smtp. It completely crashed out on me.
> PHP Fatal error: Uncaught TypeError: ActionScheduler_Action::set_schedule(): Argument #1 ($schedule) must be of type ActionScheduler_Schedule, ActionScheduler_NullSchedule given
I've been able to take 2 million hits a day, so it's not that!
It was a very handy method of passing around binaries in text-oriented chat systems.