[HN Gopher] 101 BASIC Computer Games
       ___________________________________________________________________
        
       101 BASIC Computer Games
        
       Author : sohkamyung
       Score  : 168 points
       Date   : 2025-04-21 22:47 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | prvc wrote:
       | BASIC, that is.
        
         | esafak wrote:
         | The title should be corrected.
        
         | dang wrote:
         | We've put an ASIC in there. Thanks!
        
       | vunderba wrote:
       | If you are craving a BASIC fix, I highly recommend getting a DOS
       | emulator like DosBos-X and just installing a copy of Quickbasic
       | 4.5 (which has a compiler among other niceties over the original
       | Microsoft QBASIC). You can easily find it on the Internet
       | Archive.
       | 
       | There are modern variants like QB64, but personally I find that
       | BASIC really loses a lot of its appeal/flavor when you move from
       | an interpretative language to a compiled one.
       | 
       | https://dosbox-x.com
       | 
       | I made this a while ago and it ran beautifully in DosBox on my
       | Mac:
       | 
       | https://specularrealms.com/q-basic
        
         | ForOldHack wrote:
         | I was craving a BasicA fix, so rather than run the ROM
         | extractor on an IBM, I found the extraction program with them
         | extracted. No 43-line mode like qbasic... :(.
        
         | 3036e4 wrote:
         | I prefer GW-BASIC 1.0, as open sourced by Microsoft a few years
         | ago, but with some changes to make it possible to build it
         | easily yourself:
         | 
         | https://gitlab.com/tkchia/GW-BASIC
         | 
         | Also do a pip3 install pcbasic to get this great
         | reimplementation of BASICA/GW-BASIC done in python for modern
         | systems: http://robhagemans.github.io/pcbasic/
        
           | anthk wrote:
           | Or this which is lighter:
           | 
           | http://www.moria.de/~michael/bas/
        
           | eesmith wrote:
           | Thanks for the pointer to pcbasic! I experienced nostalgia
           | from doing                   play "cdefgab>c<bagfedc"
           | 
           | and have it simply work.
        
         | tuveson wrote:
         | If anyone is interested, I just wrote a TinyBasic
         | implementation:
         | 
         | https://github.com/danieltuveson/dbi
        
           | anthk wrote:
           | I was afraid 'dbi' would clash with a binary on my machine
           | (related to DBI), but it's fine.
           | 
           | BTW, on Basic, I had MISSION.BAS for MBASIC.COM under CP/M.
           | 
           | https://termbin.com/w7oe
           | 
           | Is there any public Basic to run it? I tried bas, blassic,
           | bwbasic, yours, and I had no luck.
        
             | tuveson wrote:
             | Sorry, but I'm not sure which dialect of BASIC this is -
             | wish I could be more helpful here. TinyBASIC is a very
             | minimal implementation (no arrays, functions, nor loops) so
             | it definitely won't be able to run this program.
        
               | anthk wrote:
               | This:
               | 
               | https://en.m.wikipedia.org/wiki/MBASIC
        
         | pjmlp wrote:
         | There is no reason to lose anything, hence why many BASIC still
         | do support both ways of working.
         | 
         | I bet many are unaware of many dynamism is still present in
         | VB.NET, pity BASIC is no longer a darling language at Microsoft
         | headquarters, and gets the bench on Sunday games.
        
         | anthk wrote:
         | Bas will run straight:
         | 
         | http://www.moria.de/~michael/bas/
         | 
         | There's no need to run QB 4.5 and a full VM.
        
         | anta40 wrote:
         | Or FreeBASIC (it has QB compatibility mode). Works fine on
         | Windows/Linux/DOS. No macOS port, unfortunately.
        
         | ZenThereWere0 wrote:
         | Thank you for the dosbox-x suggestion. I am running Ubuntu on a
         | newer laptop and did not have any luck getting Age of Empires
         | to work in a virtual machine because of issues with DirectX on
         | modern hardware. The game would render so slowly as to be
         | unplayable.
         | 
         | I installed dosbox-x out of curiosity, then saw you could load
         | Windows 9x on top of it. I chose the recommended Win98SE. It
         | took a bit of tweaking to get the drivers loaded for 256 color
         | display and the sound card, but I was just able to play the
         | game. Because DosBox emulates the machine (I think this is it,
         | anyway.), there are no issues with DirectX rendering. I was
         | able to play through the Ascent of Egypt learning campaign for
         | the first time since 2009 or so.
         | 
         | Maybe next I'll try to loading up a version of BASIC. I'd have
         | to rewind back to 2000 or so for using Visual Basic in high
         | school computer lab.
         | 
         | Thanks again, getting to play AoE without having to buy an XP-
         | era laptop, was a real treat.
        
           | vunderba wrote:
           | Nice! I think my favorite part of the original age of empires
           | was the weird Latin sounding simlish of the voices
           | (Pleribus!)
           | 
           | It'll be interesting if you can get the original VB to run.
           | Fun fact there was actually a visual basic for dos which
           | would let you build TUIs out of extended ASCII.
        
             | ddingus wrote:
             | I saw that and was quite pleased with the idea of it all
             | working nicely in say,80x50 text mode, that I proceeded to
             | write a similar set of subroutines.
             | 
             | I ended up with a pretty nice subset.
             | 
             | Could draw a window with fields, pop a number of them up on
             | top of that window, if desired.
             | 
             | Used that to write a small pile of DOS programs which
             | computed various manufacturing related values used in sheet
             | metal work.
        
         | Narishma wrote:
         | > Quickbasic 4.5 (which has a compiler among other niceties
         | over the original Microsoft QBASIC)
         | 
         | QuickBasic was the original, with QBASIC being a cut down
         | version of it bundled with DOS.
        
       | jasperry wrote:
       | Many happy memories of checking out books like this from my
       | public library and trying to get the programs working on the C64.
       | The BASIC dialect never matched exactly.
        
         | alisonatwork wrote:
         | Me too, except with the CPC. After going through enough of
         | them, I got to a point I could flick through the book in the
         | library and figure out what was going to work ahead of time,
         | what could be adapted and what went way beyond my abilities
         | (usually anything that shoveled machine code into DATA blocks).
         | It was neat imagining the incredible capabilities of computers
         | other than my own and then trying to figure out a way to make
         | mine do something like it too.
        
         | kreelman wrote:
         | Similar for me in my early teens. I used an Australian machine
         | called the Microbee,
         | https://www.microbeetechnology.com.au/classic-plus-kit-compu...
         | 
         | A clever friend of mine wrote BASIC games that he sold back
         | then. I think they had a bit of Z80 assembler built into it
         | too.... Can't remember what names of them were though.
         | 
         | The 'hires' graphics mode (511*255, monochrome) were encoded
         | into sprites. There were only 128 characters from memory. There
         | were all sorts of tricks to try and get around that issue.
         | 
         | The best games used the sprites plonked into char positions.
        
           | smackeyacky wrote:
           | The 'bee was how a lot of us Australians of a certain age got
           | into computers. The only real competition it had was the C64
           | as other things like the Apple II and IBM compatibles were
           | just too expensive in comparison to that $399 intro price.
           | 
           | It was a bit weird to program for, as you said the basic was
           | not quite the same as the popular platforms. It did mean you
           | learned a lot about the machine itself, how memory was laid
           | out, how to get those PCG graphics right.
           | 
           | It's funny now to be able to see very similar cultures sprang
           | up around less successful machines in other countries.
        
       | khazhoux wrote:
       | Would be better if the programs were JPGs that you had to type in
        
         | ForOldHack wrote:
         | MS Office OCR works great for this, it did the Rogue.c jpegs in
         | no time, but there are missing routines. I wonder if an AI
         | could fill the gap.
        
           | Mountain_Skies wrote:
           | A listing made on a dot matrix printer that contain PETSCII
           | graphic characters might make it struggle. It'd be
           | interesting to see if the LLM could infer the intended
           | character.
        
             | ForOldHack wrote:
             | I ment fixing the missing code blocks, of would suppose
             | that an LLM could fix the mangled code without OCR
             | training...
        
         | a_e_k wrote:
         | Knock yourself out:
         | https://archive.org/details/101basiccomputer0000davi/mode/2u...
        
       | dang wrote:
       | Related. Others?
       | 
       |  _Updating "101 Basic Computer Games" for 2021_ -
       | https://news.ycombinator.com/item?id=26273866 - Feb 2021 (65
       | comments)
        
         | NaOH wrote:
         | From your own 2023 comment here:
         | https://news.ycombinator.com/item?id=36945046
         | 
         |  _Play Basic Computer Games in the Browser_ -
         | https://news.ycombinator.com/item?id=34377776 - Jan 2023 (1
         | comment)
         | 
         |  _Basic Computer Games (1978)_ -
         | https://news.ycombinator.com/item?id=28572761 - Sept 2021 (12
         | comments)
         | 
         |  _Basic Computer Games (ported to C#, Java, JavaScript, Python,
         | Ruby, VB.NET)_ - https://news.ycombinator.com/item?id=26188324
         | - Feb 2021 (3 comments)
         | 
         |  _BASIC Computer Games_ -
         | https://news.ycombinator.com/item?id=19604142 - April 2019 (120
         | comments)
         | 
         |  _BASIC Computer Games (1978)_ -
         | https://news.ycombinator.com/item?id=9026063 - Feb 2015 (31
         | comments)
         | 
         |  _Atari Archives: BASIC Computer Games_ -
         | https://news.ycombinator.com/item?id=3200133 - Nov 2011 (23
         | comments)
         | 
         |  _BASIC Computer Games Book, published in 1978_ -
         | https://news.ycombinator.com/item?id=1866103 - Nov 2010 (36
         | comments)
         | 
         | There's also
         | 
         |  _More Basic Computer Games_ -
         | https://news.ycombinator.com/item?id=41984335 - Oct 2024 (1
         | comment)
         | 
         |  _Basic Star Trek Games_ -
         | https://news.ycombinator.com/item?id=42709559 - Jan 2025 (1
         | comment)
         | 
         |  _BASIC Star Trek Games_ -
         | https://news.ycombinator.com/item?id=43070752 - Feb 2025 (2
         | comments)
         | 
         |  _Vintage Basic - Games_ -
         | https://news.ycombinator.com/item?id=25502018 - Dec 2020 (1
         | comment)
        
           | musicale wrote:
           | I like the "Play BASIC Games in the Browser" link. All of
           | these games should be collected into a browser-playable
           | archive, along with the books and appropriate documentation.
        
       | genghisjahn wrote:
       | I loved Amiga Basic. My first taste of programming without line
       | numbers.
        
         | kbelder wrote:
         | Amiga Basic still seems to me like the pinnacle of the basic
         | language. Line numbers were optional, structured programming
         | with loops and true functions, a graphics library... but still
         | firmly BASIC. Not bits of code embedded in a UX editor, not
         | some compiler-based C wannabee...
        
           | pjmlp wrote:
           | Dartmouth BASIC was designed as compiled on the fly language,
           | no interpreter.
           | 
           | As for C wannabe, BASIC got famous before C had any
           | meaningful meaning outside Bell Labs.
        
             | musicale wrote:
             | I think "C wannabe" is a complaint about some modern BASICs
             | trying to be too much like C.
             | 
             | Dartmouth BASIC and timesharing were remarkable
             | achievements: a simplified version of Fortran that could be
             | learned in an afternoon but could be used for a wide
             | variety of programs, including games; a fast, interactive
             | compiler; and efficient resource usage and multiplexing
             | that enabled a single machine to be shared by dozens (?) of
             | interactive users. BASIC was also simple enough that it
             | could be implemented compactly and efficiently on 8-bit
             | microcomputers, while retaining its ease of learning for
             | beginners and non-experts. And you could still write/run
             | games with it.
        
               | pjmlp wrote:
               | And could be used as systems programming language on 8
               | and 16 bit home computers, long before C got famous
               | outside UNIX, while being safer at it.
               | 
               | So there is nothing like wanting to be like C, when its
               | mainstream adoption predates C.
               | 
               | Actually I am quite thankful to have learnt systems
               | programming on 8 and 16 bit systems, with BASIC and
               | Pascal variations, macro Assemblers, exactly long before
               | C's mainstream adoption, because I am not tainted with
               | the idea before C there was nothing else, as it
               | eventually became a common myth.
        
               | anthk wrote:
               | I still see Forth far more advanced than Basic and C+Unix
               | it's a bit meh. Being orthogonal with pipes it's cool,
               | but Forth did that better since day 1 and without even a
               | wordlist.
               | 
               | On Pascal, good for DOS, and maybe the Classic Mac, but
               | even under Unix there were really good underused
               | platforms, like TCL/Tk +SQLite. More crude than VB, for
               | sure; but, seriously, most of the time a quick tool in
               | that language would cover the 90% of the needs of any
               | corporation.
        
         | bemmu wrote:
         | I was in primary school when I heard about AmigaBasic. I was
         | incredibly excited by it, I told my friend it would make it
         | possible for us to build anything, for example we could build
         | an ice hockey game. I hated ice hockey. I was just so excited
         | that building anything at all with it seemed amazing.
         | 
         | But it turned out it was basically unusable on a TV because of
         | the narrow cursor and difficult to read font. But AMOS was
         | great, and we built a simple one-room adventure game prototype
         | on it.
        
       | Narishma wrote:
       | Are any of the games any good?
        
         | ForOldHack wrote:
         | The game of life is still being persuied relentlessly, the
         | lunar module program was cooked by a NASA drop-out. Hamarabi is
         | about to get cooked. Monopoly I do not think can be published.
        
         | anthk wrote:
         | Golf.bas it's almost a Neo Turf Masters game in text mode.
         | 
         | Super Star Trek it's good too; and there are modern ports such
         | as Super Star Trek from ESR in Python which expand the game a
         | lot.
         | 
         | Also, BSD users have installed the old one, written in C, at
         | /usr/games/trek.                        man trek
        
       | chasil wrote:
       | I remember variants on this for several platforms by the authors:
       | 
       | Don Inman, Ramon Zamora, Bob Albrecht.
       | 
       | TRS-80: https://www.amazon.com/Advanced-TRS-80-Level-II-
       | BASIC/dp/047...
       | 
       | TI-99/4a: https://www.amazon.com/Introduction-TI-BASIC-
       | TI-99-4A/dp/081...
       | 
       | Visual basic for dos: https://www.amazon.com/Visual-MS-DOS-
       | Prentice-Innovative-Tec...
       | 
       | VIC-20: https://www.amazon.com/Vic-BASIC-User-Friendly-
       | Guide/dp/0835...
       | 
       | Here is the full TRS-80 text:
       | https://archive.org/details/trs-80-level-ii-basic-a-self-tea...
       | 
       | Who were these guys? They were all over the map.
        
         | musicale wrote:
         | https://en.wikipedia.org/wiki/Bob_Albrecht
         | 
         | http://www.svipx.com/pcc/
        
       | wduquette wrote:
       | This exact book is how I learned to program, back in the late
       | '70's. Lots of good memories.
        
         | ForOldHack wrote:
         | This is the book on how to write practical games. If DEC had
         | not shafted Ahl, I would have been on real DEC instead of an
         | HP.
         | 
         | DEC could have ruled the world.
        
           | MauryMarkowitz2 wrote:
           | > DEC could have ruled the world
           | 
           | No way.
           | 
           | DEC's entire corporate structure was based on a particular
           | business model that demanded their products sell for tens of
           | thousands to hundreds of thousands per sale.
           | 
           | They tried many times to break out of this box, but failed
           | every time. There was simply too much of the company invested
           | in selling into a particular size of customer, and its weight
           | meant that they could not survive, for instance, selling
           | individual small computers to end users.
           | 
           | You can see this right to the end: even when they came out
           | with Alpha it was targeted 100% to what was then the high-end
           | of the new server-based market. Sure they made workstations,
           | but only grudgingly, and with the hope that it would be part
           | of a network containing at least one of their higher-end
           | servers.
        
           | wduquette wrote:
           | Nah, this was the book on how to write programs in the
           | dominant end-user language of the day. Few of the games are
           | all that memorable, really; the coolness lay in making the
           | computer do things, in building something that was
           | interactive. The book appeared in a brief shining moment when
           | literally anyone could write meaningful programs without
           | requiring vast amounts of training---and then, like me and so
           | many others, could grow and learn as the industry grew.
        
         | TMWNN wrote:
         | Walter Bright said here that he learned programming from this
         | book.
        
         | a_e_k wrote:
         | I picked up my copy of the microcomputer version at a
         | neighborhood rummage sale in a park as a young kid. It's one of
         | the earliest things from my childhood that I still have. Good
         | times.
        
       | DigiEggz wrote:
       | It's so entertaining to just pour through the source for each
       | game and read the language used at the time, like in the game
       | instructions or result responses.
       | 
       | There's something refreshing about seeing things described in
       | different ways than they are now. I always wonder if some long
       | forgotten words of phrasings will make their way back into public
       | consciousness.
        
       | saneshark wrote:
       | I don't see gorillas.bas -- that was my favorite. I actually
       | found my appreciation for writing code modifying lines of code in
       | that game to make bigger explosions.
        
         | nurettin wrote:
         | nibbles was my favorite. Reading the code as a 13 year old I
         | learned that they doubled y resolution by using lower and upper
         | square ascii characters. It inspired me to find creative
         | solutions for problems.
        
           | AnonHP wrote:
           | I had fun changing the barrier wall sizes in nibbles to make
           | some levels easier. Having the source accessible and easy to
           | change was quite useful.
        
       | shmerl wrote:
       | No gorilla.bas?
        
       | zkmon wrote:
       | Looks like no Qbasic games? Nibbles, Gorilla - love to see them
       | included.
        
         | hnlmorg wrote:
         | Literally the first line of the README explains why:
         | 
         | > This folder contains the programs found in the March 1975 3rd
         | printing of David Ahl's 101 BASIC Computer Games, published by
         | Digital Equipment Corp.
        
       | TMWNN wrote:
       | Among the most important computer books ever written, on the
       | level of SICP and K&R.
       | 
       | Walter Bright said here that he learned programming from this
       | book.
        
       | sudofoo wrote:
       | Were line numbers in old BASIC games actually helpful, or just
       | extra typing?
        
         | femto wrote:
         | They were required for most early BASIC interpreters. They
         | acted as a label for goto statements and determined the
         | listing/execution order. From memory, the TRS-80 (and similar)
         | would immediately execute a statement without a line number,
         | but would store a statement with a line number.
        
           | a_e_k wrote:
           | They were also how you edited your program in the absence of
           | a coding editor. You'd type LIST to see your current program,
           | type a new line with the same number to replace an existing
           | line, or a new line with a new number to insert it
           | numerically, etc.
        
             | femto wrote:
             | And it was an absolute pain if you had to insert a new
             | statement, but didn't have enough space left between line
             | numbers. You had to retype the offending lines with new
             | line numbers.
        
               | musicale wrote:
               | Dartmouth BASIC had a renumber command. I believe that
               | line renumbering commands and/or utilities were commonly
               | available for microcomputer BASICs as well.
        
               | femto wrote:
               | Some BASICs had a RENUM command. They were a bit of a
               | pain as well. As you wrote your program you got to know
               | which line numbers were associated with which statements.
               | Doing a RENUM meant having to relearn the "meaning" of
               | each line number. I'm pretty sure my VZ-200 didn't have
               | the RENUM command.
        
               | michaelcampbell wrote:
               | Sadly Atari BASIC did not.
               | 
               | I can't recall if the Apple ][ BASIC had it built in, or
               | if Beagle Brothers utility software could do it, but it
               | was possible somehow.
        
               | ahonhn wrote:
               | Common practice was to increment line numbers by 10
               | instead of 1. Would give a bit of wiggle room to add more
               | lines in later without having to renumber everything
               | else.
        
             | musicale wrote:
             | Dartmouth BASIC was designed for teletype-style, hard-copy
             | printing terminals, rather than video displays.
             | Conveniently your whole session was printed out, so you
             | could take your email and program listing home with you.
             | Line-by line editing was practical for printing terminals,
             | and line-by-line I/O scaled well across multiple terminals
             | on a timesharing system.
             | 
             | Line editing also worked well on microcomputers with cursor
             | movement (like the C64) - you could edit code in place just
             | by overtyping and hitting "return" for the appropriate
             | line.
             | 
             | On a slightly unrelated note, teletypes date back to the
             | 19th century telegraph (and typewriter) era.
             | 
             | https://en.wikipedia.org/wiki/Teleprinter
        
           | fifticon wrote:
           | To elaborate on that: They were the handle on the code lines,
           | for anything. You would often use the line number to either
           | edit a given line number, or to remove it. 'Clever' people
           | would even do mis-guided arithmetic on them, e.g.
           | GOTO  MenuChoiceNum\*100 + 1000       GOSUB
           | MenuChoiceNum\*100 + 1000
        
             | codr7 wrote:
             | Wow, it hurts to imagine maintaining and evolving that code
             | :)
        
               | michaelcampbell wrote:
               | Fortran's had computed goto's since... at least '77
               | version. Fun times, those.
        
               | pklausler wrote:
               | Fortran has never had a GOTO to a computed label number
               | like this.
        
         | jamalaramala wrote:
         | They were essential for branching with GOTO and GOSUB.
         | 
         | Example:                   10 PRINT "HELLO ";         20 GOTO
         | 10
         | 
         | This would create an infinite loop that you could break with
         | Ctrl+C.
         | 
         | You could then type:                   15 PRINT "WORLD ";
         | 
         | And when you listed the source code (with the command LIST) you
         | would see:                   10 PRINT "HELLO ";         15
         | PRINT "WORLD ";         20 GOTO 10
        
       | BrenBarn wrote:
       | The Dave Ahl books were one of my first introductions to
       | programming. They're still awesome.
        
         | musicale wrote:
         | I wish modern computer companies to hire people to create
         | material like this, the way DEC apparently did. Unfortunately
         | computers aren't really programmed by end-users anymore.
         | Arguably there's no need to between a million apps on one hand
         | and AI on the other.
        
       | musicale wrote:
       | I'm greatly inspired by the kind of utopian visions of computing
       | that seemed to be common from the BASIC era to the PC era to the
       | pre-Facebook Internet era.
       | 
       | I'm somewhat disenchanted with commercial computing from the
       | social media and smartphone era to the modern AI era, even though
       | it is impressive and technically interesting.
        
       | anthk wrote:
       | I would love this for Forth :)
       | 
       | Yes, everyone had and has run these either on micros or
       | bwbasic/blassic/bas, but porting these to Forth would be really
       | cool.
        
       | Erwin wrote:
       | I found the backslash as separator of multiple statements on one
       | line curious. I guess that's because I was used to BASIC on the
       | Commodore C-64/128/Amiga and later the magical Amos Basic, so
       | there were more differences in some of the other dialects.
        
         | MauryMarkowitz2 wrote:
         | I've been slowly documenting these differences with a series of
         | Wiki articles. Generally though, there's three major
         | "families":
         | 
         | * The original Dartmouth BASIC turned into a wide variety of
         | mainframe versions. These are marked by the use of the CHANGE
         | statement and supporting the MAT statements. * HP's dialect had
         | array-based strings (like C) and string slicing... LET
         | A$[1,6]="HELLO. * Timeshare's SUPER BASIC, which turned into
         | BASIC-PLUS, which turned into MS BASIC, lacked those features
         | and instead used MID/LEFT/RIGHT.
         | 
         | There's many other more minor changes from dialect to dialect,
         | but those are the main differences.
        
       | carrja99 wrote:
       | Oh wow this is a trip down memory lane. My parents bought me a
       | computer advertised in the classified ad as "includes over 100
       | games" and that really meant it came with a book over 100+ games
       | in basic. I'd stay up copying the book to play the games in it.
       | Fun times.
        
       | zombot wrote:
       | Ha, `poet.bas` is the ancestor of all LLMs!
        
       | 0xEF wrote:
       | I also remember these books if anyone else was fond of them:
       | https://en.wikipedia.org/wiki/Micro_Adventure
       | 
       | I have a few books from the Micro Adventures series and they can
       | still be found on eBay for around $5 - $10 USD each, I think. Fun
       | times, indeed!
        
       | zabzonk wrote:
       | Anyone recommend a good, ideally free QBASIC-like for modern
       | Windows? Want native Windows, no DOSBox or similar.
       | 
       | My little brother (60+yr old) wants to get back into programming
       | after many years of business analysis, project management, yada
       | yada, but he was originally a programmer. I suggested Python, but
       | I think he might be happier with BASIC. He's retired now, so
       | doesn't need/want to do it for a job.
        
         | mysterydip wrote:
         | Freebasic or QB64 would be good places to look. There's also VB
         | equivalents like gambas or xojo.
        
       | hhhAndrew wrote:
       | Oh my, this is so amazing. I can't wipe the grin off my face. I
       | never thought I was would see Hammurabi
       | (https://github.com/maurymarkowitz/101-BASIC-Computer-Games/b...)
       | again!
       | 
       | With this I can pinpoint the exact first bug I created, and
       | debugged. The year was 1991 +/- 1, the place was Canberra
       | Australia. For unknown reasons that changed my life forever, my
       | Dad got on board with this "computer" thing and bought an
       | "Osborne" 486 PC. That year I went to the school fete and, for
       | AUD 0.20, picked up a used copy of this book, leafed through the
       | pages, settled on Hammurabi, and after some struggle and
       | discussions with friends, managed to run Q-Basic and typed this
       | program into it. And it sort of worked, but something was wrong,
       | and after much experimentation I found that on line 11 (only
       | today, with this post can, I finally state the true line number)
       | I had written "LET P=P+1" instead of the correct "LET P=P+I".
       | After a fair bit (days) of trial and error and 10-year-old
       | reasoning, I figured that out, and so it began.
        
         | sitkack wrote:
         | A compatible Quick Basic system is available
         | https://en.wikipedia.org/wiki/QB64
        
         | PaulHoule wrote:
         | They built a Route 93 bypass around Manchester, NH and a new
         | mall in 1980, not long after that I bought a copy of "101 BASIC
         | Computer Games" from the Digital [1] Store there (really!) This
         | was the minicomputer edition that David Ahl had published when
         | he worked at DEC, not the microcomputer edition that he
         | produced at Creative Computing magazine.
         | 
         | I was typing those programs into a TRS-80 Color Computer which
         | had a very good implementation of Microsoft BASIC enhanced with
         | commands to draw lines, circles and flood fills on a high
         | resolution screen. The text mode only had 32 characters across,
         | but you could get most programs to work on it.
         | 
         | That generation of games was intended to be run on a
         | teleprinter so they did not use any graphics other than drawing
         | scenes with ASCII characters and didn't use any commands to
         | write text at specific places on the screen. Later in the 1980s
         | you saw books with more complex BASIC games that implemented
         | shooters and Pac-Man clones and such but all of those were
         | specific to a particular computer whereas Ahl's games were
         | portable even though you'd often have to modify the programs a
         | little to get them to work.
         | 
         | By 1991 though I was done with BASIC. I had a ROM cartridge
         | with an assembler by 1982 or so but I was still writing a lot
         | of BASIC. Circa 1985 I was doing a lot with the OS-9 operating
         | system which had a C compiler and BASIC09 which was
         | particularly advanced, I remember writing a FORTH in 6809
         | assembly. Circa 1987 I had a 286 PC which had a wide range of
         | programming languages including various BASICs, but Turbo
         | Pascal was my favorite, though I switched to C in college
         | (where I was in '91) because C was portable to the 32-bit
         | workstations they had.
         | 
         | [1] https://en.wikipedia.org/wiki/Digital_Equipment_Corporation
        
           | lioeters wrote:
           | I had a similar early learning experience. Grew up on BASIC,
           | LOGO, a bit of 8086 assembly, Turbo Pascal, C.
           | 
           | Pretty sure these first few languages affected or shaped my
           | childhood mental development somehow, for better or worse,
           | and how I think about and express programs. Especially with
           | BASIC, I was so young I was still learning how to think and
           | talk in a _human_ language, along with how to think with and
           | talk to a computer.
        
       | coldpie wrote:
       | The Retronauts podcast recently had an excellent episode about
       | type-in computer games, and modern efforts to preserve them:
       | https://retronauts.com/article/2367/retronauts-episode-677-t...
        
       | kerv wrote:
       | Thanks for sharing! This brings back so many memories. When I was
       | 8 years old, my mother enrolled me in a programming summer camp
       | at our local university. This was my first exposure to BASIC and
       | that is what got me hooked. After that, writing BASIC programs on
       | APPLE 2/2E throughout junior high and highschool was the thing to
       | do. Switched to Visual Basic shortly after that... It started it
       | all for me!
        
       | kayo_20211030 wrote:
       | Damn! I'm old. I remember the book.
        
       | whartung wrote:
       | I would love to know how DECs BASIC-PLUS worked.
       | 
       | The key thing about B+ is that it's a compiled BASIC, it compiled
       | into P-Code, that was then executed. This is in contrast to MS-
       | BASIC which interpreted the parsed token stream over and over.
       | 
       | But, there is no way that the entire thing was compiled each time
       | you said "RUN", that would have been much to expensive. But, it
       | was compiled. At the same time, it kept the entirety of the BASIC
       | program in memory, as text. So, it had to store both the raw text
       | form, and the compiled form. Seems quite expensive given the
       | limits of machines back in the day.
       | 
       | So, I've always been interested in the design and engineering
       | history of B+.
       | 
       | Similarly, I'd love to know where Gates and Allen got the idea to
       | use a tokenized form to store the program, as its an elegant
       | solution in a tight memory budget to store the program source and
       | runtime.
       | 
       | They're clever guys, and maybe they made it up out of whole
       | cloth, but it would be interesting to know what may have inspired
       | them to do it that way. It wasn't BASIC-PLUS, as that's not how
       | it worked.
        
       | jordiburgos wrote:
       | Where is gorilla.bas?
        
       ___________________________________________________________________
       (page generated 2025-04-22 23:01 UTC)