#quickbasic
Explore tagged Tumblr posts
basic-retro-programming · 2 months ago
Text
Get started with QBasic ...
Tumblr media
Contents At A Glance
Introduction to QBasic
Using The QBasic Environment
Working With Data
Operators And String Variables
Advanced Input And Output
Making Decisions With Data
Controlling Program Flow
Data Structures
Buit-In Functions
Programming Subroutines
Disk Files
Sound And Graphics
Debugging Your Programs
Tumblr media
Post #344: Greg Perry & Steven Potts, Crash Course in QBasic, The Fastest Way To Move To QBasic, Second Edition, QUE Corporation, Indianapolis, USA, 1994.
8 notes · View notes
magnetictapedatastorage · 2 years ago
Text
i always interpreted "LPRINT" as "literally print"
4 notes · View notes
oglog · 10 months ago
Text
DOS Compilers (GitHub repo) https://github.com/davidly/dos_compilers
0 notes
reviewgazette · 2 years ago
Text
Python is weird!!
Python is weird and as well as all the other weird ones, such as forth, cobol. I like a nice normal language like Quick Basic and Assembler (Z80) but here I am trying to learn Python it could take a long time!
0 notes
businessgrape · 11 months ago
Text
0 notes
akhil-1 · 1 year ago
Text
Tumblr media
Join Now:https://meet.goto.com/121079021
Attend New Online Demo On Unqork (No-Code) by Mr. Sai.
Demo on: 8th December 2023 @ 7:30 AM (IST).
Contact us: +91 9989971070.
Join us on Telegram: https://t.me/+bEu9LVFFlh5iOTA9
Join us on WhatsApp: https://www.whatsapp.com/catalog/919989971070Visit: https://www.visualpath.in/Unqork-online-training.html
0 notes
europa6502 · 11 months ago
Text
So I just got a large haul of computer stuff I’m super excited to show off!! I’ll detail some things in its their posts, but here’s an overview of what I got:
Three computer towers:
Tumblr media Tumblr media Tumblr media
Some assorted peripherals and accessories:
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
And two boxes full of software, including sealed QuickBASIC on low density 5.25” diskettes!!
Tumblr media
I’m so absolutely excited to do more with this stuff!!!
108 notes · View notes
zandyland · 2 months ago
Text
Say, for the sake of argument, you want to make a bad programming language. Why would you do this?
Well, for instance, you might get your hands on a book of scripts to generate ephemera for celestial events, only to find out it was written for Microsoft QuickBasic for Macintosh System 7. You quickly discover that this particular flavor of BASIC has no modern interpreter, and the best you can do is an emulator for System 7 where you have to mount 8 virtual floppy disks into your virtual system.
Tumblr media
You could simply port all the scripts to another BASIC, but at that point you might as well just port them to another langauge entirely, a modern language.
Except QuickBasic had some funky data types. And the scripts assume a 16-bit integer, taking advantage of the foibles of bitfutzery before converting numbers into decimal format. BASIC is very particular -- as many old languages are -- about whitespace.
In addition to all this, BASIC programs are not structured as modern programs. It's structured to be written in ed, one line at a time, typing in a numbered index followed by the command. There are no scopes. There are no lifetimes. It's just a loose collection of lines that are hopefully in a logical order.
So sure, I could port all these programs. But I'm sure to make mistakes.
Wouldn't it just be easier, some basal part of my brain says, to write your own language that some some modern ameneties, that you compile for your own laptop, that kind of acts like BASIC? A language where you just have to translate particular grammar, and not the whole structure of the program?
Of course it's not easier. But I'm already too far in to quit now.
Memory
Who doesn't love manual memory layout?
In QuickBasic, memory is "kind of" manual. The DEFINT and DEFDBL keywords let you magically instantiate types based on their first letter. I don't know how you deallocate things, because all the scripts in this book finish quickly and don't hang around to leak a lot.
In QuickBasic, this looks like
Tumblr media
I guess that the second statement just overrides the first.
There is no stack in a BASIC program, so there will be no stack in my language. Instead you just give names to locations.
Tumblr media
creates a symbol named age and makes it refer to 0x1F. The pointer operator should be obvious, and the walrus means we're defining a symbol (to be replaced like a macro), not doing a value assignment during the execution of the program. Now we can assign a value.
Tumblr media
Atoms infer types. age knows it's an int.
You cannot assign a new type to an atom.
Tumblr media
However, you can cast between types by creating two atoms at the same address, typed differently.
Tumblr media
The language does not convert these, it simply interprets the bits as the type demands.
Larger types
Not all types are a single word. Therefore, you can use the range operator .. to refer to a range of addresses.
Tumblr media
Note that strings are stored with an extra byte for its length, instead of null-terminating it. Assignment of a string that is too long will result in a compilation error.
Next and Auto
There are also two keywords to make the layout of memory easier. The first is :next which will place the span in the next available contiguous location that is large enough to hold the size required. The second is :auto. For all :auto instances, the compiler will collect all these and attempt to place them in an intelligent free location. :auto prefers to align large structs with 64-word blocks, and fills in smaller blocks near other variables that are used in the same code blocks.
String Allocation
Strings come with a macro to help automatically build out the space required:
Tumblr media
This is equivalent to:
Tumblr media
That is, a string with capacity 5, a current size of 0, and zeroes (null char) in all spots. This helps avoid memory reuse attacks. ZBASIC is not a secure language, but this is still good practice.
There is also another macro that is similar to a "string literal".
Tumblr media
Verbose and annoying! Just like BASIC.
Array Allocation
Likewise, arrays have a similar macro:
Tumblr media
Which expands in a similar way as strings, with a capacity word and size word. The difference here is that the type given may change the actual size of the allocation. Giving a type that is larger than a single word will result in a larger array. For instance, f64 takes up two words some systems, so array::empty!(5, f64) will allocate 10 words in that case (5 * 2). Larger structs will likewise take up even more space. Again, all this memory will be zeroed out.
Allocation order
As an overview, this is the order that memory is assigned during compilation:
Manual Locations -> Next -> Auto
Manual locations are disqualified from eligibility for the Next and Auto phases, so a manual location will never accidentally reference any data allocated through :next or :auto.
Here is an example:
Tumblr media
This produces the initial layout:
Tumblr media
Which, after the code is run, results in the memory values:
Tumblr media
Note that types are not preserved at runtime. They are displayed in the table as they are for convenience. When you use commands like "print" that operate differently on different types, they will be replaced with one of several instructions that interpret that memory as the type it was at compile-time.
Truly awful, isn't it?
3 notes · View notes
arconinternet · 1 year ago
Text
MarioUp (DOS, Gilberto Lima Correia/MasterSoft, ~1999/2000)
You can play this Brazilian fangame made in QuickBasic here.
Controls: arrows and Ctrl.
Tumblr media
10 notes · View notes
woodcutchimera · 2 years ago
Text
:D asked too much if quickbase now I cant open any reports+scared
5 notes · View notes
basic-retro-programming · 6 months ago
Text
Tumblr media
Post #321: Racunari, Computer Magazine, 1980 - 1990, 2024.
4 notes · View notes
magnetictapedatastorage · 2 years ago
Text
so like. what happened to QB64. where did the good, professional looking wiki go? the one that calls you a caveman for using "let"?
4 notes · View notes
hydralisk98 · 2 years ago
Text
Czarina-VM, study of Microsoft tech stack history. Preview 1
Tumblr media
Write down study notes about the evolution of MS-DOS, QuickBASIC (from IBM Cassette BASIC to the last officially Microsoft QBasic or some early Visual Basic), "Batch" Command-Prompt, PowerShell, Windows editions pathing from "2.11 for 386" to Windows "ME" (upgraded from a "98 SE" build though) with Windows "3.11 for Workgroups" and the other 9X ones in-between, Xenix, Microsoft Bob with Great Greetings expansion, a personalized mockup Win8 TUI animated flex box panel board and other historical (or relatively historical, with a few ground-realism & critical takes along the way) Microsoft matters here and a couple development demos + big tech opinions about Microsoft too along that studious pathway.
( Also, don't forget to link down the interactive-use sessions with 86box, DOSbox X & VirtualBox/VMware as video when it is indeed ready )
Tumblr media
Yay for the four large tags below, and farewell.
5 notes · View notes
awesomecooperlove · 2 years ago
Text
EVERYTHING WOKE TURNS TO SHIT 370
🌈1800 FLOWERS 🌈A TRIBE CALLED QUEER 🌈ADIDAS🌈ABSOLUT VODKA🌈APPLE🌈BALENCIAGA🌈BUBLY🌈BOUCHONBAKERY🌈BANANA REPUBLIC🌈BATH & BODY WORKS🌈BLISS🌈BOMBAS🌈BOBO’S🌈THE BODY SHOP🌈BOY SMELLS👀🌈CHOOSE LOVE🌈CONVERSE🌈COACH🌈DISNEY🌈DR. MARTEN🌈EFFEN VODKA🌈FOSSIL🌈FRESH&CO🌈GTS KOMBUCHA🌈GAP🌈GC2B🌈GDY🌈HAPPY SOCKS🌈HARRYS 🌈IKEA🌈JOHN VARVATOS🌈KATE SPADE 🌈LEGO🌈LEVI STRAUSS 🌈MAC COSMETICS 🌈MADEWELL 🌈MATTEL 🌈NORDSTROM🌈NYX🌈OLAY🌈OLD NAVY 🌈OUTPLAY 🌈PETSMART 🌈POPSOCKETS🌈POSTMATES 🌈QVC🌈RALPH LAUREN 🌈REEBOK🌈SKAGEN🌈STARBUCKS 🌈SKITTLES 🌈TARGET🌈TEVA 🌈TGIFRIDAYS🌈TOMBOYX 🌈TOMS🌈UGG🌈VANS🌈VISTAPRINT🌈VERIZON🌈WEEKLY🌈WILDFANG 🌈ZENNI 🌈UNDER ARMOR🌈LUSH🌈BUDWEISER 🌈BOMBAS🌈DKNY🌈KOHLS🌈LISTERINE 🌈CHAMPION🌈TODD SNYDER🌈SWEETGREEN 🌈HELMET LANG🌈EQUINOX🌈SEPHORA🌈JUST SALAD 🌈CHIPOTLE 🌈CHICK FIL A🌈 ME UNDIES 🌈EXPRESS 🌈REEBOK🌈KIND BARS🌈CALVIN KLEIN 🌈ROSETTA STONE🌈NIKE🌈WARBY PARKER🌈ASOS🌈AMERICAN EAGLE🌈MICHAEL KORS 🌈URBAN DECAY 🌈H&M🌈DIESEL🌈GLASSES USA🌈SMIRNOFF🌈MEGABUS 🌈PENGUIN 🌈SPERRY🌈
MACYS🌈T MOBILE 🌈ADDEPAR🌈IBM🌈PAYPAL🌈GETTY IMAGES🌈SKILLSHARE 🌈KAZOO🌈QUESTION PRO🌈QUICKBASE🌈WORK HUMAN🌈SPROUT SOCIAL🌈COKE🌈DRIFT🌈SMART BEAR🌈BOUNTEOUS🌈NYLAS🌈SOUNDERMIND🌈DUDA🌈BOINGO WIRELESS 🌈GRINDR🌈GYMPASS🌈ALTO PHARMACY🌈RX BARS🌈ADOBE🌈TANGLE TEEZER 🌈ULTA COSMETICS 🌈TEVA SHOES🌈WELLY OLLY PFLAG 🌈GM🌈P&G🌈PEPSI🌈HILTON🌈J&J 🌈NVIDIA🌈CISCO🌈INTEL🌈MASTERCARD 🌈HUMANA 🌈TOYOTA🌈COMCAST🌈MARRIOTT 🌈KELLOGG🌈BOEING🌈
BOYCOTT 💯
HTTPS://T.ME/ITSALWAYSBEENABOUTTHECHILDREN
2 notes · View notes
mbergmann-sh · 2 months ago
Text
QuickBasic für Linux - QB64 unter Debian Linux Bookworm installieren
0 notes
impact-newswire · 9 months ago
Text
0 notes