A summary of programs made with QuickBASIC in DOS.
My Projects (except sudoku)
🛸 Games / Demos | ⚙️ Utilities | ➰ Details |
---|---|---|
🛸 sudoku | 🛸 designs | 🛸 chocolate-info |
🛸 stone-paper-scissor | 🛸 3d-experiment | 🛸 ball-animation |
🛸 building-animation | 🛸 gravity-simulation | 🛸 fun-with-mouse |
⚙️ text-draw | ⚙️ sound-creator | ⚙️ picture-creator |
⚙️ image-effect | ⚙️ keyboard-scancode | ⚙️ system-information |
⚙️ port-io-helper | ⚙️ boot-register-view | ⚙️ file-sound |
⚙️ file-graph | ⚙️ file-encrypt | ⚙️ file-bytes |
⚙️ file-byte-sum | ⚙️ file-pack | ❌ |
➰ opengl-functions-list | ➰ windows-file-handling-list | ❌ |
External Projects
⚙️ Utilities | 🧷 Libraries | ➰ Details |
---|---|---|
⚙️ deluxe-paint | ⚙️ deluxe-paint-animation | ⚙️ deluxe-paint-animation-kit |
⚙️ pal-edit | ⚙️ obj-rip | ⚙️ debug32 |
⚙️ masm | ⚙️ tasm | ⚙️ alink |
⚙️ resource-hacker | ⚙️ hex-it | ⚙️ bochs |
🧷 future-library | 🧷 rel-lib | 🧷 multilib |
🧷 s3-asm | ❌ | ❌ |
➰ abc-archive | ➰ rbil-viewer | ➰ exe-format |
➰ asm-help | ➰ pm-tuts | ➰ rel-3d |
➰ sound-blaster | ➰ sound-blaster-awe32 | ➰ keyboard-controller |
My Story
I first got into computer programming with LOGO in the 4th class. However, I take interest in programming when I learn about the IF
command in GWBASIC - the idea that computers are decision making machines! I took to learn BASIC in great detail - and eventually bump into graphics in GWBASIC itself. From Debashish, I pick up QuickBASIC 4.0, a brilliant programming environment by Microsoft. On the HP-Compaq desktop computer my father bought (with 256MB RAM and Windows XP installed), or the IBM Thinkpad laptop my father brought home after completing lab experiments, I pour in a lot of time on learning QuickBASIC and writing text/graphics mode DOS programs. My text mode programs include Playing any file as a sound (frequency steps), designing a 4-bit Huffman coding based file packer, performing Particle gravity simulation with velocity colored traces, a simple Single tone sound creator, Reading the bytes of a file one-by-one, viewing the byte values of a file as a line graph, finding the Byte sum of a file to verify its integrity, writing a tool for Encrypting and decrypting a file, a tool for helping Find and verify IO ports, another tool to determine the Keyboard scancode of a key, one for Making a text-mode user interface or art, a tool for finding basic System information, a tiny ASCII-art based chocolate info program, and the classic Stone paper scissor game vs the CPU.
QuickBASIC’s SCREEN 13
VGA graphics mode is an 8-bit pixel (256 colors using palette) mode with 320x200
screen resolution. One can draw a pixel here by simply writing values to the 0xA000
memory address (text mode is also similar, but speed is not an issue there). In this mode, I experiment with 3d formulae, use Left or right mouse button to draw, design a small and simple Animation showing rising building like structures, a basic Bouncing ball animation, demonstrate 50 different graphics animations, develop a 640x400 Picture creator tool, and another to Add an animated effect to an image. I first learn assembly language with DEBUG32
, a command-line assembler and disassembler, and then move to MASM
and FASM
- I use these to write fast routines to draw to screen or perform mouse handling with Interrupt Service Routines (ISRs), with reference from Ralf Brown’s Interrupt list. I also write a Bootloader that shows the values of CPU registers - which I tested using Bochs, a portable open source IA-32 (x86) PC emulator. Do these remind you of the Windows XP days? You can download its theme if you like.