Skip to content

qb40/qb40.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A summary of programs made with QuickBASIC in DOS.


  • 🛩️ qb: Microsoft QuickBASIC v4.0 in DOS.
  • 🛩️ all: All of the stuff 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.



ORG