Amazing… I know that there are still people out there who optimize software down to the processor-level, but to actually read the story of one of them really brings back memories.
Back when PC-XT (Intel 8086 / compatible) still rule the world, every processor tick is precious. A tick saved in a loop can be very visible to the end user. Also, there were no drivers – most of us (programmers) access the hardware DIRECTLY.
Feeling the chill down your spine ? Yes, that’s how many of us code back then.
When others busy playing games, I was busy hacking the games. I think I even managed to package a few of those hacks and upload them to a local BBS.
When I coded a Sysinfo-like software for a competition, I found out that the screen benchmark routine was very slow. I changed it to access the video card directly, and it ran way faster afterwards. Also developed other stuff; hard disk auto park TSR (Terminate and Stay Resident), etc.
Let me tell you; it’s great joy to see your creation (software) performs excellently. Even though I was almost alone while doing all of those (no Internet yet at that time, not enough people with similar interest on local BBSs), I still managed to accomplish a few things.
It’s no easy task, however. A small mistake can send you in a goose chase for hours, while you’re trying to spot the error in the assembly language. Turbo Debugger was very helpful, but with limitations. A great help came later when a friend informed me of SoftIce. Way more powerful than Turbo Debugger, it’s also harder to use.
Sometimes I also had to resort to DEBUG, the built-in debugger from DOS. The ultimate pain 🙂 however, in certain situations, it can be quite handy; especially because we can script it in a batch file (.BAT) and it’s available in virtually all PCs (since it’s bundled with DOS).
Then I saw a software package, I forgot what it was called, which let us code by creating the flowchart on its GUI (Graphical User Interface) – instead of coding by hand. It came on 10 (ten) 360KB floppy disks. Took a long time to install, ran very slowly on my PC-XT, cost me a fortune, and ate up almost all available DOS memory.
But once it ran, I realize that this is the future of software development.
Years later, Visual Basic showed up, and pretty much revolutionize software development on PC.
It has been about 10 years since I created code that access the hardware directly. So I’m very touched that there are still people out there doing it, enjoying it, and actually profit from it. Simply amazing.
Regarding the software competition that I mentioned above – I was sent by Al-Azhar (AA) High School as their representative, along with my friend Isa (Istiqfar). Actually, we had to beg so AA will allow us to participate (not sponsoring, mind you) in the contest – the two of us were pretty much the only ones that can work with computer at the moment, and they didn’t have any interest on IT. AA were more interested to sponsoring students on things like basketball, bands, sports, etc.
We were very happy when they allow us to join in the competition (at Kanisius High School). On top of my head, we prepared everything ourselves, with our own money and equipments. AA just allowed us to list ourselves as AA student in the competition.
We were awed when we arrived in the event. Scores of students, mostly from Christian schools, showed up their projects. Most of them work in teams. Many of the projects were multimedia-related; this is amazing considering 8-bit SoundBlaster card costs an arm and a leg at the time, and it’s very hard to find the reference on how to access it (I finally managed to purchase a book on the topic several years later when I visited Singapore). Almost all of them were accompanied by their teachers, and their hardware provided by their school.
In contrast, we brought our own PCs there, no teacher, only 2 of us, and showing up a software (Sysinfo) with no multimedia capability.
I’ve lost my confidence at the time, and quite ashamed by our situation. Then the jury came. I showed the software, and tried to present it as best as I could. Alas, I’m not a good presenter (even now), and it doesn’t help when you’ve lost your confidence.
The presentation was soon over, and not much comment from the jury. Of course, bells and whistles considered, a Sysinfo software is plain uninteresting. It’s just not shiny enough.
However, then he spoke with me, encouraging me to keep on learning.
I was surprised, since I didn’t see him talking like that to the other kids. He wore a name tag, but I couldn’t remember his complete name though. I think it’s “Samaun” or something.
To this day, when I was feeling down, the memory of that event always cheers me up again. It’s because it was my inspiration to develop my career in IT. I’m forever thankful to the jury in that event.
btw; I sure hope AA now has (MUCH) better IT education programme.
Right, back to the topic – I wish I can do direct hardware coding again, but it’s just not feasible at the moment. Perhaps when I have more time, some time…