boffinAudio
a year ago
I was a junior programmer on a team that built software, and managed the operations for a company with 27 offices across the continental US, with something like 2,000 different PC's deployed on the network in various locations around the country.
A new version of the business software we built was being deployed, and it required a proper shutdown/reboot of the system after installation. At that time in history, this reboot was done manually, by sub-contractors and fellow work colleagues who were flown from Burbank to New Hampshire to make sure the machines - which the clients weren't allowed to touch - were successfully rebooted after the update.
This cost tens of thousands in fees - subcontractors and plane tickets and whatnot - and my boss was sick of it .. he was a mainframe guy and hated these new DOS machines that didn't behave properly, having replaced dumb terminals with great fanfare, because per him, upper management just had to have The Newest Shit™ without thinking about it.
He tasked me to do the 'impossible' - work out how to safely reboot all these DOS PC's after a software update. If I could do it, I'd get a fat bonus - 1/3rd of the plane fare/travel budget that was on the block.
It was the easiest US$10K I ever made, looking (something like) this:
C:\>debug.com
a
JMP FFFF
s 5
n C:\reboot.com
w
q
It always amuses me to remember the look on his face when I showed him how easy it would be to remotely add a reboot.com to every machine by pasting this little script into a modem-connected system that had had its CON: redirected to COM1: (which was also how we were doing the software update remotely) ... and how annoyed my colleagues were that they didn't get the overtime pay for traveling across the country to do the CTRL-ALT-DEL dance, any more ..hyperman1
a year ago
I think you want a JMP FAR FFFF:0000 , the fact that you need 5 bytes instead of 3 is a hint.
It says something about the human brain that I haven't used these APIs for 30 year, they are so obsolete to be almost useless, and it still immediately jumps out to me.
boffinAudio
a year ago
I remembered it the same way, except that debug pads the 0, and I didn't need the FAR bit ..
But yeah, its almost muscle memory, still, even 40 years later ..