#quickbasic
Explore tagged Tumblr posts
Text
Get started with QBasic ...

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

Post #344: Greg Perry & Steven Potts, Crash Course in QBasic, The Fastest Way To Move To QBasic, Second Edition, QUE Corporation, Indianapolis, USA, 1994.
#programming#retro programming#vintage programming#basic#basic programming#education#qbasic#quickbasic#qbasic programming#microsoft#que corporation#i love qbasic#i love quickbasic#dos programming
8 notes
·
View notes
Text
i always interpreted "LPRINT" as "literally print"
4 notes
·
View notes
Text
DOS Compilers (GitHub repo) https://github.com/davidly/dos_compilers
0 notes
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
Text

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
#unqork#nocodeplatform#applicationdevelopment#digitaltransformation#enterprisesolutions#workflowautomation#PegaPlatform#Servicenow#quickbase#PowerApps#Salesforce#mendixplatform#FreeDemo#onlinetraining#Visualpath#education#newtechnology#SoftwareCourses
0 notes
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:



Some assorted peripherals and accessories:






And two boxes full of software, including sealed QuickBASIC on low density 5.25” diskettes!!

I’m so absolutely excited to do more with this stuff!!!
108 notes
·
View notes
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.
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
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.
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.
Atoms infer types. age knows it's an int.
You cannot assign a new type to an atom.
However, you can cast between types by creating two atoms at the same address, typed differently.
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.
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:
This is equivalent to:
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".
Verbose and annoying! Just like BASIC.
Array Allocation
Likewise, arrays have a similar macro:
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:
This produces the initial layout:
Which, after the code is run, results in the memory values:
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
Text
MarioUp (DOS, Gilberto Lima Correia/MasterSoft, ~1999/2000)
You can play this Brazilian fangame made in QuickBasic here.
Controls: arrows and Ctrl.
#internet archive#in-browser#dos#dos games#game#games#video game#video games#videogame#videogames#computer game#computer games#obscure games#fangame#fangames#fan game#fan games#brazil#brazilian#1999#2000#1990s#90s#2000s
10 notes
·
View notes
Text
:D asked too much if quickbase now I cant open any reports+scared
5 notes
·
View notes
Text

Post #321: Racunari, Computer Magazine, 1980 - 1990, 2024.
#programming#basic#vintage programming#retro programming#education#basic programming#iloveprogramming#ilovebasic#ilovegwbasic#gwbasic#quickbasic#racunari
4 notes
·
View notes
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
Text
Czarina-VM, study of Microsoft tech stack history. Preview 1
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 )

Yay for the four large tags below, and farewell.
#youtube#technology#retro computing#maskutchew#microsoft#big tech#providing constructive criticisms of both old and new Microsoft products and offering decent ethical developer consumer solutions#MVP deliveries spyware data privacy unethical policies and bad management really strikes the whole market down from all potential LTS gains#chatGPT buyout with Bing CoPilot integrations + Windows 8 Metro dashboard crashes being more examples of corporate failings#16-bit WineVDM & 32-bit Win32s community efforts showing the working class developers do better quality maintenance than current MS does
5 notes
·
View notes
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
Text
QuickBasic für Linux - QB64 unter Debian Linux Bookworm installieren
0 notes