41 |
42 |
43 |
51 |
52 |
--------------------------------------------------------------------------------
/agon.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Agon light™
4 |
5 | Agon light™ is a fully open-source 8-bit microcomputer and microcontroller in one small, low-cost board, built with state-of-the-art 21st-century technology. It has two claims to fame, both of which are substantiated in the next sections. In a nutshell,
6 |
7 | **Agon light™ is the fastest and cheapest 8-bit microcomputer ever made.**
8 |
9 | In addition, Agon light™ is the world's sole standalone, instant-on, BASIC-programmed microcontroller that dispenses with a host PC and sketch compilation.
10 |
11 | This allows projects to be controlled from the immediacy of a BASIC interpreter's prompt.
12 |
13 | Agon light™ is a true 8-bit microcomputer in that there are no FPGAs and no emulation in it. It also has no layers of abstraction such as virtual machines. The bare metal is exposed directly to the firmware programmer.
14 |
15 | As a microcomputer, Agon light™ has VGA resolution of up to 640 x 480 pixels and 64 simultaneous colors. It supports sprites and scores best in all popular microcomputer benchmarks by a large margin (see the "Benchmarks" section below).
16 |
17 | As a microcontroller, Agon light™ has a control port featuring SPI, I2C, 20 distinct GPIOs (including UART lines), a system clock output, as well as power (3.3V and 5V) and ground rails. It also features a separate ACCESS.bus header.
18 |
19 | **What sets the Agon light™ apart?**
20 |
21 | * The fastest and cheapest 8-bit microcomputer ever made, by a large margin.
22 | * No host PC or sketch compilation required to control your projects: you can control your whole house from the immediacy of interpreted BASIC commands.
23 | * A hardware canvas for you to make of it your own dream, customized microcomputer, with your own preferred look-and-feel and functionality. Agon is a laboratory for computer science experimentation.
24 | * No more assembly programming to customize or personalize your computer's firmware: Agon light™'s entire firmware suite, including the functionality of the Video Display Processor (VDP), is programmed in C with freely available tooling (compilers, IDEs, loaders, etc.).
25 | * Agon™ is an open-hardware and open-source project through and through, so you get all the information about the system.
26 |
27 | ## Official
28 |
29 | * [Agon light™](https://www.thebyteattic.com/p/agon.html)
30 | * [This Snappy 8-bit Microcomputer Brings the Speed to Retrocomputing](https://hackaday.com/2022/10/21/this-snappy-8-bit-microcomputer-brings-the-speed-to-retrocomputing)
31 | * [Emulator](https://github.com/tomm/fab-agon-emulator): Agon Light, Agon Light 2, Agon Console8 Emulator for Linux, Windows, any system with libSDL
32 | * [Emulator (Old)](https://github.com/astralaster/agon-light-emulator)
33 | * [agon_light_midi](https://github.com/halfbyte/agon_light_midi): MIDI hard- and software for the Agon Light
34 | * [popup-mos](https://github.com/tomm/popup-mos): A batteries-included SDCard template for Agon Light / Agon Light 2 / Console8
35 |
36 | ## Projects
37 |
38 | * [Oregon Trail](https://github.com/LuzrBum/Agon-OregonTrail)
39 | * [CP/M](https://bitbucket.org/cocoacrumbs/agon-vpd-cpm/src/master/)
40 | * [Agon-rokky](https://github.com/nihirash/Agon-rokky): Dungeons and Diamonds game for Agon Light
41 |
42 | ## Resources
43 |
44 | * [Complete BBC Micro Games Archive](http://bbcmicro.co.uk/)
45 | * [Learn Assembly Programming With ChibiAkumas!](https://www.chibiakumas.com/ez80/?fbclid=IwAR1kUZ2JLkmRJMGTcbyEQ1a49O-Ztrx_bkhzAPf6Ti6X3fDYuOsFUfET4nA)
46 |
--------------------------------------------------------------------------------
/amiga.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Amiga
4 |
5 | 
6 |
7 | ### BASIC
8 |
9 | 
10 |
11 | - [AQB](https://github.com/gooofy/aqb): A QuickBASIC-style Compiler and IDE for Amiga computers.
12 | - [AMIBLITZ³](blitz.md): AMIBLITZ³ is a free Development environment for AmigaOS3.x and Compatible based on BlitzBasic.
13 | - [MetaComCo ABasiC](https://archive.org/details/Amiga_BASIC_v1.0_1985_Commodore_Microsoft): Note that the entry is mislabeled, but a commentor pointed out which version of BASIC this actually is. See [MetaComCo](https://en.wikipedia.org/wiki/MetaComCo).
14 |
15 | ### Hardware Emulation (FPGA)
16 |
17 | 
18 |
19 | - [Amiga on MiSTer](https://www.mistercores.com/amiga-core/)
20 |
21 | ## Videos
22 |
23 | - [Microsoft Amiga BASIC (Workbench 1.3)](https://youtu.be/fsOO5wIGl70)
24 | - [How to install Amiblitz / Blitz Basic 3 on the Commodore Amiga running on WinUAW](https://youtu.be/BftEFLlSWhI)
25 |
26 | ## Books
27 |
28 | - [Microsoft Amiga BASIC Manual](https://archive.org/details/AmigaBASIC1985Commodore/)
29 | - [Amiga 3D Graphic Programming in BASIC](https://archive.org/details/Amiga3dGraphicProgrammingInBasic/mode/2up): A revealing book on how to use the spectacular and powerful graphic capabilities of the Amiga.
30 |
31 | ## Additional
32 |
33 | - [BitmapFonts](https://github.com/ianhan/BitmapFonts): Collection of bitmap fonts pulled from various demoscene archives over the years.
34 |
35 |
--------------------------------------------------------------------------------
/amstrad.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Amstrad CPC
4 |
5 | The Amstrad CPC (short for Colour Personal Computer) is a series of 8-bit home computers produced by Amstrad between 1984 and 1990. It was designed to compete in the mid-1980s home computer market dominated by the Commodore 64 and the ZX Spectrum, where it successfully established itself primarily in the United Kingdom, France, Spain, and the German-speaking parts of Europe.
6 |
7 | - [Wikipedia](https://en.wikipedia.org/wiki/Amstrad_CPC)
8 |
9 | ## Locomotive BASIC
10 |
11 | Locomotive BASIC, was one of the best and fastest BASIC implementations of the era. The language benefited both from a clean, well-thought out implementation of the core language by Locomotive, and by the excellent firmware of the CPC, which lent most of its advanced features to the BASIC.
12 |
13 | - [Locomotive BASIC](https://www.cpcwiki.eu/index.php/Locomotive_BASIC)
14 |
--------------------------------------------------------------------------------
/aozstudio.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • QB64 • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # AOZ Studio
4 |
5 | > Create and Publish any app, game or website you can dream up, super fast.
6 |
7 | I believe that this is the evolution of the STOS->[AMOS](https://en.wikipedia.org/wiki/AMOS_(programming_language))->AMOS2 project; by the very same François Lionet.
8 |
9 | - [AOZ Studio](https://www.aoz.studio/)
10 | - [On Discord](https://discord.com/channels/653893653940404224/707482106313441350)
11 | - [On YouTube](https://www.youtube.com/channel/UCqqP2tA_D4fPVWQBi6DrXkg)
12 | - [On Facebook](https://www.facebook.com/groups/aozstudio)
13 | - [Bitbucket: AMOS 2 Source](https://bitbucket.org/francoislionet/amos-2/src/master/)
14 |
--------------------------------------------------------------------------------
/apple.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Apple II
4 |
5 | 
6 |
7 | 
8 |
9 | - [Emulator (browser-based)](https://www.scullinsteel.com/apple2/) ([instructions](https://www.howtogeek.com/659450/how-to-write-an-apple-ii-basic-program-in-your-web-browser/?fbclid=IwAR0YrH_23twFC7hEpNALMlJ86nkOdVckDRmmYeSVMFh4f6LZuywlzNcJuaw))
10 | - [Applesoft BASIC in JavaScript](https://calormen.com/jsbasic/): [On GitHub](https://github.com/inexorabletash/jsbasic)
--------------------------------------------------------------------------------
/asic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # ASIC
4 |
5 | ASIC is an inexpensive (shareware) compiler that generates very compact, fast-running executable programs that run in a DOS environment. It is a subset of the BASIC language, lacking most of the more complex functions and graphics capabilities of QuickBasic or PowerBasic. The author of ASIC is David Visti. The most recent release of the program is version 5.0 (1994).
6 |
7 | - [Home](https://publish.uwo.ca/~jkiernan/asicinfo.htm)
--------------------------------------------------------------------------------
/atari.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Atari
4 |
5 | ## 2600
6 |
7 | - [2600 (STELLA) Programmer's Guide by Steve Wright](https://archive.org/details/StellaProgrammersGuide)
8 | - [Steve Guidi Video Companion Files (GitHub)](https://github.com/SteveGuidi/video-companion-media): Find some sample programs as well as a keyboard "overlay". He also has a project for connecting a PS2 keyboard to an Atari 2600!
9 |
10 | ### BASIC Programming
11 |
12 | - [BASIC PROGRAMMING - ATARI GAME PROGRAM INSTRUCTIONS](https://archive.org/details/basic-programming-atari-2600-us)
13 | - [Basic Programming - Atari - Atari 2600](https://atariage.com/manual_html_page.php?SoftwareID=852)
14 | - [Try BASIC Programming on the Atari 2600 (15-30 mins)](https://atariprojects.org/2019/12/24/try-basic-programming-on-the-atari-2600-15-30-mins/)
15 | - [Everything I Needed to Know About Programming I Learned from BASIC (Coding Horror)](https://blog.codinghorror.com/everything-i-needed-to-know-about-programming-i-learned-from-basic/)
16 | - [Write Atari 2600 Video Games in BASIC](http://relationalframework.com/Atari2600gamesonline.htm)
17 | - [Atari Mania - BASIC Programming](http://www.atarimania.com/game-atari-2600-vcs-basic-programming_7225.html)
18 |
19 | ### Atari Dev Studio
20 |
21 | - [Atari Dev Studio for Homebrew Development [Release]](https://forums.atariage.com/topic/290365-atari-dev-studio-for-homebrew-development-release/)
22 | - [Atari Dev Studio (GitHub)](https://github.com/chunkypixel/atari-dev-studio)
23 | - [Atari Dev Studio (VSCode)](https://marketplace.visualstudio.com/items?itemName=chunkypixel.atari-dev-studio)
24 |
25 | ### batari Basic
26 |
27 | - [batari-Basic: a BASIC-like language for creating games that run on the Atari 2600 console (GitHub)](https://github.com/batari-Basic/batari-Basic)
28 | - [batari Basic Commands](https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#ideforbb)
29 | - [Official Home for batari Basic](https://forums.atariage.com/topic/300856-official-home-for-batari-basic/)
30 | - [batari Basic (defunct website?)](https://bataribasic.com/)
31 |
32 | ## 7800
33 |
34 | ### Atari Dev Studio
35 |
36 | - [Atari Dev Studio for Homebrew Development [Release]](https://forums.atariage.com/topic/290365-atari-dev-studio-for-homebrew-development-release/)
37 | - [Atari Dev Studio (GitHub)](https://github.com/chunkypixel/atari-dev-studio)
38 | - [Atari Dev Studio (VSCode)](https://marketplace.visualstudio.com/items?itemName=chunkypixel.atari-dev-studio)
39 |
40 | ## 600XL and 800XL
41 |
42 | ### Atari BASIC
43 |
44 | 
45 |
46 | Atari BASIC is an interpreter for the BASIC programming language that shipped with the Atari 8-bit family of 6502-based home computers. Unlike many 8-bit BASICs, Atari BASIC is not a derivative of Microsoft BASIC, and differs in significant ways. It includes keywords for Atari-specific features and lacks support for string arrays, for example.
47 |
48 | - [Atari BASIC on Wikipedia](https://en.wikipedia.org/wiki/Atari_BASIC)
49 | - [Atari BASIC Reference Manual](https://archive.org/stream/atari-basic-reference-manual/ataribasicreferencemanual#page/n65/mode/2up)
50 | - [Atari BASIC Source Book](https://archive.org/details/ataribooks-the-atari-basic-source-book) - A complete explanation of the inside workings of Atari BASIC, along with the original source.
51 | - [Atari BASIC - A Self-teaching Guide](https://www.atariarchives.org/basic/)
52 | - [Atari BASIC - XL Edition](https://www.atariarchives.org/basicxl/)
53 |
54 | ### FastBasic
55 |
56 | This is a fast interpreter for the BASIC language on the Atari 8-bit computers and the Atari 5200 console.
57 |
58 | - [FastBasic - Fast BASIC interpreter for the Atari 8-bit computers (GitHub)](https://github.com/dmsc/fastbasic)
59 |
60 | ## Emulation
61 |
62 | 
63 |
64 | - [AE8 Atari 800 XL Emulator](http://www.zerstoerung.de/)
65 | - [jsA8E Demo](http://www.zerstoerung.de/jsa8e/)
66 | - [JsA8E (JavaScript Atari 800 XL Emulator) online](http://atariage.com/forums/topic/224709-jsa8e-javascript-atari-800-xl-emulator-online/)
67 |
68 | ## Interesting Tidbits
69 |
70 | - [Atari BASIC - The Good, the Bad, and the Ugly](https://web.archive.org/web/20070524044410/http://www3.sympatico.ca/maury/other_stuff/atari_basic.html)
71 | - [Create your own version of Microsoft BASIC for 6502](https://www.pagetable.com/?p=46)
72 | - [Atari BASIC (Archive.org)](https://archive.org/search.php?query=atari%20basic)
73 |
--------------------------------------------------------------------------------
/avr.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # AVR (Embedded Controllers aka "Arduino")
4 |
5 | ## Products
6 |
7 | - [Anywhere Software's B4R – Easily build native Arduino & ESP8266 programs](https://www.b4x.com/b4r.html)
8 | - [Great Cow BASIC for 8-bit Microchip PIC and Atmel AVR](http://gcbasic.sourceforge.net/Typesetter/index.php/Home)
9 | - [MCS Electroncis - BASCOM AVR](https://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=262&category_id=5&option=com_phpshop&Itemid=1
10 | )
11 | - [MicroController Pros LLC - Atmel AVR BASIC Compiler (BASCOM)](http://microcontrollershop.com/product_info.php?products_id=352)
12 | - [MikroE - mikroBasic PRO for AVR](https://www.mikroe.com/mikrobasic-avr)
13 |
14 | ## Tutorials
15 |
16 | - [Getting Started With Atmel AVR and BASCOM by askjerry](https://www.instructables.com/id/Getting-Started-with-Atmel-AVR-and-BASCOM/)
17 | - [Arduino: Installing Standard Firmata](https://www.instructables.com/id/Arduino-Installing-Standard-Firmata/)
18 |
19 | ## Projects
20 |
21 | - [Great Cow BASIC for 8-bit Microchip PIC and Atmel AVR (Source)](https://sourceforge.net/p/gcbasic/code/HEAD/tree/)
22 | - [AVR-ChipBASIC-32](http://www.jcwolfram.de/projekte/avr/chipbasic32/main.php)
23 | - [AVR BASIC Computer v0.1](https://github.com/fuzzymannerz/AVR-BASIC-Computer)
24 | - [Single Chip AVR BASIC Computer V0.3](https://hackaday.io/project/2428-single-chip-avr-basic-computer-v03)
25 | - [KLBasic for the Atmel AVR devices](https://www.seanet.com/~karllunt/klbasic_main.html)
26 | - [dk-basic - BASIC interpreter for AVR microcontrollers](https://code.google.com/archive/p/dk-basic/)
27 | - [HDMI Shield](https://github.com/techtoys/HDMI-Shield/tree/master/Ra8876_Lite)
28 | - [ArduinoBASIC - A BASIC interpreter and environment for the Arduino](https://github.com/robinhedwards/ArduinoBASIC)
29 | - [TinyBasic Plus - A C implementation of Tiny Basic, with a focus on support for Arduino](https://github.com/BleuLlama/TinyBasicPlus)
30 | - [DuinoMite](https://github.com/OLIMEX/DuinoMite)
31 | - [DuinoMite - Duinomite Basic (GitHub)](https://github.com/OLIMEX/DuinoMite/tree/master/SOFTWARE/DMBasic/src): Based on MMBasic
32 |
--------------------------------------------------------------------------------
/b4x.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # B4X (from Anywhere Software)
4 |
5 | The B4X suite supports many different platforms using several editions (B4R, B4A, B4J, B4I) allowing you to build applications in a BASIC compatible (very similar to VB) language for Android, IOS, Windows, Mac, Linux, Arduino, Raspberry Pi and ESP8266/ESP32!
6 |
7 | - [B4X](https://www.b4x.com/)
8 |
9 | > *Editors Note*: The B4A product is an absolute must have if you are interested in working with *Arduino* devices and prefer writing code in something very, very similar to VB! Highly recommend.
10 |
--------------------------------------------------------------------------------
/bam.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Basic Anywhere Machine
4 |
5 | BASIC Anywhere Machine (BAM) is a fully self-contained, single-file, zero-install environment for BASIC programming in a web browser, equally at home offline and online.
6 |
7 | BAM, a [[TiddlyWiki](https://tiddlywiki.com/), hosts a modified version of [Google's wwwBASIC](wwwbasic.md) (a BASIC interpreter written in javascript), a CodeMirror-enhanced IDE, BASIC programs (BASIC programs are stored in the wiki), and various tools including many ways of exporting BASIC programs for sharing and for running on the web or locally.
8 |
9 | As a [[TiddlyWiki](https://tiddlywiki.com/), BAM has all of the benefits inherent to [[TiddlyWiki](https://tiddlywiki.com/): future proof, adaptable, expandable (via plugins), ridiculously easy to customize, and extremely good at capturing, organizing and sharing content (BASIC programs and anything imaginable.) Your copy of BAM and your programs of today, all in one file, should all still work fifteen years from now because BAM is using standards-compliant HTML, CSS, and javascript.
10 |
11 | Store BAM anywhere: SD card, USB thumb drive, local drive, network drive, hosted file storage service.
12 |
13 | Create straight-up BASIC programs. Create programs that are dynamically altered by [[TiddlyWiki](https://tiddlywiki.com/) just before execution. Create programs designed to interact with [[TiddlyWiki](https://tiddlywiki.com/) widgets and content during execution.
14 |
15 | Sample exports of the "spheres" program...
16 |
17 | - [Source Code](https://basicanywheremachine.neocities.org/sample_programs/Spheres.bas.html)
18 | - [Run Sample](https://basicanywheremachine.neocities.org/sample_programs/Spheres.run.html)
19 |
20 | ## Official
21 |
22 | - [BASIC Anywhere Machine](https://sites.google.com/view/basicanywheremachine)
23 | - [Project Site](https://basicanywheremachine.neocities.org/)
24 | - [IDE (browser-based)](https://basicanywheremachine.neocities.org/BAM_IDE.html)
25 | - [Programming Reference](https://basicanywheremachine.neocities.org/BAM_ProgReference.html)
26 |
--------------------------------------------------------------------------------
/basicode.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # BASICODE
4 |
5 | - [Basicode-interpreter in Javascript](http://robhagemans.github.io/basicode/)
6 | - [BASICODE (Github)](https://github.com/robhagemans/basicode): A collection of BASICODE programs by various authors
7 | - [Wiki](https://github.com/janbredenbeek/Basicode-wiki/wiki)
8 | - [BasiCode - Software for everyone](https://www.joyce.de/basicode/)
9 | - [Data exchange with Basicode](http://www.kc85emu.de/scans/rfe0190/Basicode.htm)
10 |
--------------------------------------------------------------------------------
/bbc.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # BBC Micro
4 |
5 | 
6 |
7 | 
8 |
9 | First, let's review about *where* BBC BASIC gained its foothold...
10 |
11 | - [Emulator (browser-based)](https://bbc.godbolt.org/)
12 | - [BBC Micro Users Guide](http://central.kaserver5.org/Kasoft/Typeset/BBC/Contents.html) ([PDF](http://bbc.nvg.org/doc/BBCUserGuide-1.00.pdf))
13 | - [Learn to write games for the BBC Micro with Eben](https://www.raspberrypi.org/blog/learn-to-write-games-for-the-bbc-micro-with-eben/)
14 | - [Books via 8-Bit Software](http://8bs.com/othrdnld/manuals/publications.shtml)
15 | - [Wikipedia](https://en.wikipedia.org/wiki/BBC_BASIC)
16 |
17 | ## BBC BASIC
18 |
19 | 
20 |
21 | If you want to recreate the *old school* vibe, in the browser...
22 |
23 | - [BBC BASIC EDITOR (Browser)](https://bbcmic.ro/#)
24 |
25 | Or if you want to leverage BBC BASIC as it has evolved to work directly on modern hardware...
26 |
27 | - [BBC BASIC](http://www.bbcbasic.co.uk/bbcbasic.html): Richard Russell's BBC BASIC portal.
28 | - [BBC BASIC for SDL 2.0](http://www.bbcbasic.co.uk/bbcsdl/index.html): for Windows, Linux (86), MacOS, Raspberry Pi, Android and iOS. [on GitHub](https://github.com/rtrussell/BBCSDL)
29 | - [BBC BASIC "Console Mode"](https://www.bbcbasic.co.uk/console)
30 | - [QBASIC to BBC BASIC translator](https://www.bbcbasic.co.uk/qb2bbc/)
31 | - [BBC BASIC (Z80)](https://www.bbcbasic.co.uk/bbcbasic/z80basic.html)
32 | - [RISC OS Direct for Raspberry Pi](https://www.riscosdev.com/direct/): A RISC OS for Raspberry Pi image that has a particular emphasis on programing RISC OS and contains BBC BASIC 5/6 as well as many other programming languages pre-installed.
33 | - [BASIC Tips & Tricks](https://web.archive.org/web/20190420181634/http://www.tristone.co.uk/davespace/basic/index.html)
34 | - [Brandy](https://jaguar.orpheusweb.co.uk/branpage.html): An interpreter for BBC Basic (or Basic V as it is sometimes referred) that runs under a variety of operating systems such as RISC OS, NetBSD, OpenBSD, reeBSD, Linux, Mac OSX, Amiga OS, DOS (extender) and Windows.
35 | - [Napoleon Brandy Basic V Interpreter](https://sourceforge.net/projects/napoleonbrandy/): Napoleon Brandy is development of David Daniels Brandy basic, an interpreter for BBC Basic (or Basic V), This project can not claim ANSI C compliance as Brandy Basic did, but supports Graphics for the platforms implemented. OS currently supported are Win32 and DOS. Currently a preview release as it is functionally incomplete.
36 | - [Matrix Brandy BASIC VI](http://brandy.matrixnetwork.co.uk/): a multi-platform BBC BASIC VI interpreter with optional SDL graphics support, released under the GNU General Public License version 2+. It is a fork of David Daniels' Brandy BASIC, base-lined at version 1.20.1 from his Sourceforge release, which hasn't seen any updates since 2014.
37 | - [bbasic](https://github.com/paulgriffiths/bbasic): An interpreter for a subset of BBC BASIC II.
38 | - [atom-language-bbcbasic](https://github.com/damieng/atom-language-bbcbasic): Atom grammar for the BBC Basic language.
39 | - [Retrocoding fun with BBC BASIC](https://www.bbcmicrobot.com/learn/index.html)
40 | - [BBC Micro Screen Formats](https://www.dfstudios.co.uk/articles/retro-computing/bbc-micro-screen-formats/)
41 |
42 | ## Very Cool!!!!
43 |
44 | - [BBC Micro Bot](https://twitter.com/bbcmicrobot): Welcome to 8-bit cloud. Send a tweet to @bbcmicrobot and it will run it on a 1980s 8-bit computer emulation! [Source (GitHub)](https://github.com/8bitkick/BBCMicroBot)
45 | - [Fun with BBC Micro Bot](https://blog.mousefingers.com/post/bbc/bbc_bbcmicrobot/)
46 |
47 | ## Additional Resources
48 |
49 | - [Complete BBC Micro Games Archive](http://www.bbcmicro.co.uk/index.php)
50 | - [The Mighty Micro (1979)](https://youtube.com/playlist?list=PL13dwmxpaKl5JJyC4L09uf_PFXkn6FlGA&si=QmiJuMFBl_05RT9r)
51 | - [The Computer Programme (BBC2, 1982)](https://youtube.com/playlist?list=PLOtimvwAoYtnCtLiLspq_Gnng1XusYwPU&si=Grhr6VK9CQcui0L4)
52 | - [RISC OS Programmer's Reference - The Window Manager](http://www.riscos.com/support/developers/prm/wimp.html)
53 | - [btracker](https://github.com/davidgiven/btracker): A chiptracker editor and player for the BBC Micro.
54 |
--------------------------------------------------------------------------------
/bcx.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # BCX
4 |
5 | BCX is a small command line tool that inputs a BCX BASIC source code file and outputs a 'C' source code file which can be compiled with many C or C++ compilers.
6 |
7 | "Using BCX and a C compiler enables you to produce powerful 32-bit native code Windows console mode programs, windows GUI applications, and Dynamic Link Libraries (DLL's) without having to incur the costs of an expensive commercial BASIC compiler. The programs that you create will be among the smallest and fastest 32 bit executable programs around, requiring no additional distributed runtime modules.
8 |
9 | Although BCX remains a work in progress, it is capable of some very powerful feats. Its ability to use Microsoft Windows structures, variables, and the powerful Win32 API, coupled with its ability to mix "C" code in a straight forward BASIC way, makes BCX a very powerful tool while retaining the relative ease of use by anyone familiar with modern BASIC programming."
10 |
11 | NOTE: BCX appears to be at at least version 7.2.6 (see [here](https://sourceforge.net/p/bc9basic/blog/)) as of 2016-02-23; however, not able to find this anywhere on the web. I'm assuming that it's only available through the "Yahoo Group"; which, I've not been able to get any sort of a response when emailing the admin of that group in the past to get my account flagged as being able to see the files. Would be so much simpler if they would either a) update where these files can be retrieved or b) move it to github like many other projects that mentioned on this site (hint, hint).
12 |
13 | ## UPDATE - UPDATE - UPDATE
14 |
15 | It has recently been announced in the yahoo group that yahoo is changing the service in such a way that BCX will no longer be housed within it's walls...
16 |
17 | Furthermore, it was announced (10/26/2019) that Jeff Shollenberger is now hosting a new official site for BCX located at:
18 |
19 | - [BCX Basic Coders](http://BcxBasicCoders.com): The Open Source BASIC to C Translator for Windows.
20 |
21 | ## Original Site(s)
22 |
23 | - [BCX - The FREE! BASIC to C translator for Windows](http://www.bcxbasic.com/) ([archive](https://web.archive.org/web/20160422073918/http://www.bcxbasic.com/))
24 | - [BCX (Basic to C Converter](http://bcx-basic.sourceforge.net/)
25 | - [The BASIC to C/C++ Translator (Yahoo Group)](https://groups.yahoo.com/neo/groups/bcx/conversations/messages)
26 |
27 | ## Tools
28 |
29 | - [BCX DevSuite Pro](https://rjpcomputing.wordpress.com/programming/bcx/devsuite-pro/)
30 | - [BCXDevSuite (SourceForge)](https://sourceforge.net/projects/bcxdevsuite/)
31 | - [BCX GUI Generator (SourceForge)](https://sourceforge.net/projects/bcxguigenerator/)
32 |
33 | ## Source
34 |
35 | - [BCX Basic to C translator (SourceForge)](https://sourceforge.net/p/bcx-basic/)
36 |
37 | ## Descendants
38 |
39 | - [bc9Basic (SourceForge)](https://sourceforge.net/projects/bc9basic/)
40 | - [UbxBasic (SourceForge)](https://sourceforge.net/projects/ubxbasic/)
41 | - [UbxWx (SourceForge)](https://sourceforge.net/projects/ubxwx/)
42 | - [Modular BCX (SourceForge)](https://sourceforge.net/projects/mbcx/)
43 |
44 | ## Cool Projects
45 |
46 | - [A stab at porting bcx-basic to the Atari Jaguar](https://github.com/ggnkua/bcx-basic-Jaguar)
47 |
--------------------------------------------------------------------------------
/blitz.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Blitz
4 |
5 | > Blitz BASIC is the programming language dialect of the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick up for beginners first learning to program. The languages are game-programming oriented but are often found general-purpose enough to be used for most types of application. The Blitz language evolved as new products were released, with recent incarnations offering support for more advanced programming techniques such as object-orientation and multi-threading. This led to the languages losing their BASIC moniker in later years.
6 |
7 | - [BlitzMax Source](https://github.com/blitz-research/blitzmax)
8 | - [Bitz3D Source](https://github.com/blitz-research/blitz3d)
9 | - [BlitzPlus Source](https://github.com/blitz-research/blitzplus)
10 | - [Blitz Basic PC CD-ROM (archive.org)](https://archive.org/details/blitz_basic_pccd/): This appears to be 16-bit; so won't work on a modern Windows installation.
11 | - [Blitz 3D PC CD-ROM (archive.org)](https://archive.org/details/blitz-3d): This does appear to work on Windows 11 x64.
12 | - [Wikipedia](https://en.wikipedia.org/wiki/Blitz_BASIC)
13 |
14 | ## Community
15 |
16 | - [Amiga BlitzBasic & AmiBlitz (Facebook)](https://www.facebook.com/groups/342460143062811/)
17 | - [Amiga BlitzBasic 2.1 / AmiBlitz 3 Tutorials and Downloads](http://mbergmann-sh.de/ab3/)
18 |
19 | ## Samples
20 |
21 | - [GitHub: tankrampage (Blitz3D)](https://github.com/JoystickAndCursorKeys/tankrampage): 2D, 2 Player, Tank game, inspired by "FirePower" on the Amiga.
22 |
23 | ## PC
24 |
25 | - [BlitzMax NG Download](https://www.syntaxbomb.com/blitzmax-blitzmax-ng/blitzmax-ng-download/)
26 | - [BlitzMax DX 1.0 Alpha Release Download](https://www.blitzcoder.org/forum/topic.php?id=803)
27 | - [LibSGD Announcement (for Blitz3D)](https://blitzresearch.itch.io/blitz3d/devlog/688259/libsgd-announcement)
28 |
29 | ## Amiga
30 |
31 | - [Download Ultimate Blitz Basic Plus](http://ubb.plus/)
32 | - [A Guide to Blitz Basic - Neil Wright, Mickley 1996 (PDF)](http://mbergmann-sh.de/ab3/bbguide.pdf)
33 | - [BLITZ BASIC 2.1 Manual - circa 2020 (PDF)](http://mbergmann-sh.de/ab3/bbmanual.pdf)
34 | - [Storm Wizard](http://stormwizard.amiforce.de/): Storm Wizard is a tool to make designing of GUIs easy and efficient. You will get an AmigaOS compliant UI very quickly without programming one line of code.
35 | - [AmiBlitz 2 Ferefernz Handbuch](http://www.amiforce.de/amiblitz/referenzhandbuch/inhaltsverzeichnis.php)
36 |
37 | AMIBLITZ³ is a free Development environment for AmigaOS3.x and Compatible based on BlitzBasic.
38 |
39 | - [AMIBLITZ³](https://www.amiblitz.de/)
40 | - [AMIBLITZ³: SourceForge](https://sourceforge.net/p/amiblitz3/code/HEAD/tree/)
41 | - [GitHub³: AMIBLITZ](https://github.com/AmiBlitz/AmiBlitz3)
42 |
--------------------------------------------------------------------------------
/bsharp.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # B# (bsharp)
4 |
5 | The B# stated goal of the project is to answer the ultimate question: *What if there were a classic (line numbers?) BASIC that were a first-class compiler for .NET.*
6 |
7 | - [GitHub](https://github.com/DualBrain/bsharp)
8 |
--------------------------------------------------------------------------------
/bywater.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Bywater BASIC Interpreter
4 |
5 | The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of the ANSI Standard for Full BASIC (X3.113-1987) in C.
6 |
7 | - [SourceForge](https://sourceforge.net/projects/bwbasic/)
8 | - [BwBasic on GitHub](https://github.com/kenmartin-unix/BwBasic)
9 | - [Bwbasic-3.20b on GitHub](https://github.com/kenmartin-unix/Bwbasic-3.20b)
10 | - [Bwbasic-3.20b-for-BeagleBone on GitHub](https://github.com/kenmartin-unix/Bwbasic-3.2a-for-BeagleBone)
11 |
--------------------------------------------------------------------------------
/c64.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Commodore C64
4 |
5 | 
6 |
7 | 
8 |
9 | - [C64 Online Emulator](https://c64online.com/c64-online-emulator/)
10 | - [Cloanto's C64 Forever](https://www.c64forever.com/)
11 | - [VICE (Emulator)](https://vice-emu.sourceforge.io/)
12 | - [The 8-Bit Guy Reviews C64 "Maxi"](https://youtu.be/kxx2F4ffmeE)
13 | - [C64 on MiSTer (FPGA)](https://github.com/MiSTer-devel/C64_MiSTer)
14 | - [Genesis64](https://genesis64.ngfx.de/): Genesis64 is what might be called a 'Fantasy Console', based on the C64 and written in TypeScript.
15 |
16 | ## Documentation
17 |
18 | - [Commodore 64 User's Guide](https://www.commodore.ca/commodore-manuals/commodore-64-users-guide/)
19 | - [Commodore 64 Programmer's Reference Guide](https://www.commodore.ca/commodore-manuals/commodore-64-programmers-reference-guide/)
20 | - [How to Add Commands to Your Commodore 64 Basic 2.0](https://www.commodore.ca/commodore-gallery/commodore-magazine-articles/how-to-add-commands-to-your-commodore-64-basic-2-0/)
21 |
22 | ## "Modern"
23 |
24 | - [Commodore BASIC as a Scripting Language for UNIX and Windows - now Open Source](https://www.pagetable.com/?p=48)
25 |
26 | ## Simulator
27 |
28 | 
29 |
30 | - [BASIC64.JS](https://joystickandcursorkeys.github.io/basic64-js/)
31 | - [BASIC64.JS (Browser)](https://joystickandcursorkeys.github.io/basic64-js/emulator/index.html)
32 | - [BASIC64.JS (GitHub)](https://github.com/JoystickAndCursorKeys/basic64-js)
33 | - [BASIC64.JS (Wiki)](https://github.com/JoystickAndCursorKeys/basic64-js/wiki)
34 |
35 | ## Enhancements/Alternatives
36 |
37 | I've just watched [this video](https://youtu.be/ROR1NQE-2DY) and this project looks very interesting. (I haven't used it myself, but it certainly looks pretty good.)
38 |
39 | - [Vision BASIC](https://visionbasic.net/)
40 |
41 | There is also a Commodore BASIC V2 interpreter/compiler that is written in Java available at [BasicV2](egonolsen71.github.io/basicv2/) and GitHub repo located at [basicv2](https://github.com/EgonOlsen71/basicv2). This looks to be a pretty impressive project that provides cross-compiling support as well as a symbolic 6502 assembler so you can target real C64, VIC20 and possibly even the Commander X16.
42 |
43 | - [Simon's BASIC](https://commodore.software/downloads/download/10-basic-extensions/958-simon-s-basic-v3-1)
44 |
45 | ## Programs
46 |
47 | - [Program a Text Adventure](https://www.c64brain.com/basic-programming/basic-text-adventures/)
48 | - [QIXSCII](https://romwer.itch.io/qixscii)
49 |
50 | ## Tools
51 |
52 | - [Modern Tools for Commodore 64 Sprite Animation - Byron Stout (YouTube)]
53 |
54 | ## Additional Information
55 |
56 | - [Commodore.ca](https://www.commodore.ca/): A website dedicated Commodore machines prior to the Amiga.
57 | - [Commodore 64 - The Best Selling Computer In History](https://www.commodore.ca/commodore-products/commodore-64-the-best-selling-computer-in-history/)
58 |
--------------------------------------------------------------------------------
/centurion.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Centurion BASIC
4 |
5 | 
6 |
7 | The Centurion mini-computer is a bit of a (almost) forgotten relic if not for the efforts of [Usagi Electric (YouTube)](https://www.youtube.com/playlist?list=PLnw98JPyObn0wJFdbcRDP7LMz8Aw2T97V). In addition to his videos, he has an awesome set of documentation available at [CenturionComputer (GitHub)](https://github.com/Nakazoto/CenturionComputer) covering history, time-line, hardware and software. Additionally, there are active members of the growing retro Centurion community creating new content around this platform; many of them hang out over on the [Usagi Electric (Discord)](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkFOam55OGhyYmNCdHY5eWFGb0tYb2VySUZQUXxBQ3Jtc0tuNDUtQjNVTnJSNFVWTXF4c1NMNFFsNndjQUJNcXpVWUU3TTVZYm9uNmhvdE1UVUtYaVMxNU4wNkIwblhDck80Nm1SbnFZT0kzRHdGeGE1aEFtUDkwWlZIN3RmdS16bllnNlZmYVZKYmR4WHltbElvdw&q=https%3A%2F%2Fdiscord.gg%2Fp7UsfHD&v=0k3Mb6SSLAk) server.
8 |
9 | With a bit of that background out of the way, let's zero in on the BASIC available on this platform. Unfortunately, at least as of the time of this writing, there doesn't appear to be any available (historical) documentation on this (what appears to be a) custom dialect; however, the community has taken the time to reverse engineer the binary so we do have [*some* documentation (GitHub)](https://github.com/Nakazoto/CenturionComputer/wiki/BASIC-(Basic-Programming-Language)) that can be utilized to better experiment. This is great, but I hear what you are thinking... "we don't have a machine!". This is where [Meisaka's Web Based Emulator (GitHub)](https://github.com/Nakazoto/CenturionComputer/wiki/Meisaka's-Web-Based-Emulator) comes in allowing us to access the "machine" thanks to emulation. The web-based emulator can be found [here](https://eciv.net/meisaka/cen/cen.html).
10 |
11 | > This is where things get a bit tricky as the copyright holders of the Centurion appear to remain in the "frowning upon" stage of the OS being redistributed - hopefully this will change. Assuming you have access to a working system, we can continue on our journey.
12 |
13 | Now I'll be honest here, the emulator certainly seems overwhelming with all of the various *windows* that are displayed by default. So my first step I took to *reduce the noise* was click on `Settings` and disabled several of the panels/windows as well as modified `CRT0` to be 3x size.
14 |
15 | With that out of the way, needed to get the machine to boot... to do so, followed these steps:
16 |
17 | - Drag/drop the disk image from my local file system to the browser window. Doing so reflects that it is loaded under the `DSKII/EMU` panel.
18 | - Click the `R/F` to turn it on.
19 | - Click `OpSys` to turn `S2` on.
20 | - Click `100k` (at the very top).
21 | - Click `RUN/STOP` to, well, run.
22 | - At this point `CRT0` should display the `D=` prompt, type `H1` to initiate loading the OS.
23 | - When loaded completes, it displays `MAX DISK = 1. SYSTEM DISK = 1` and will wait for your input. Press `Enter`.
24 | - Work through the date and time prompts.
25 | - Now should be at the point where `CRT0 READY` is displayed. To verify all is good, enter the command `.STA` to execute the status output.
26 |
27 | > Many thanks to *Usagi Electric*; credit goes to him for the above above instructions.
28 |
29 | At this point the OS is loaded and we can now work with BASIC!
30 |
31 | It's important to keep in mind that this is from *an earlier time*... one before the age of the "interpreter" BASIC most of us are familiar with on home computers. So in order to write BASIC programs on the Centurion, you have to follow the general work flow of:
32 |
33 | - create a text file.
34 | - write your code to this text file.
35 | - "compile" your code.
36 | - execute your "compiled" result.
37 |
38 | It is important to note that on the Centurion, the BASIC "compiler" doesn't create native binaries - it will instead create a sort of byte code that will then need to execute within the "BASIC MONITOR" which has to be loaded into memory before attempting to execute your compiled program.
39 |
40 | The Centurion also doesn't appear to have a dedicated BASIC editor, so you have to use the *Kompoz* editor or, thanks to the community, the "modern" editor for Centurion apply named [CED (GitHub)](https://github.com/Nakazoto/CenturionComputer/wiki/CED).
41 |
42 | There are more details on the edit/compile/execute process [located here](https://github.com/Nakazoto/CenturionComputer/wiki/BASIC-(Basic-Programming-Language)).
43 |
44 | > I'm planning on exploring this dialect further as there are certainly several *unique* things about it that peak my interest.
45 |
--------------------------------------------------------------------------------
/chipmunk.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Chipmunk (and Gillespie) BASIC
4 |
5 | ## Chipmunk
6 |
7 | ## Gillespie
8 |
9 | Gillespie Basic for Windows is a new (2018) spinoff from the original 1990's Chipmunk Basic 1.0 by Dave Gillespie. The main story behind the original Chipmunk Basic is that it was written by Dave Gillespie who also later used it to test his P2C (Pascal to C) translator. That is to say, the original Chipmunk Basic 1.0 was programmed in Pascal and converted to "C" for an old HP Unix system known colloquially as Chipmunk -- hence the name.
10 |
11 | - [Gillespie-BASIC - A useful BASIC Interpreter for 32 & 64-bit Windows.](https://github.com/surveydude/Gillespie-BASIC)
12 |
13 | See also: [Chipmonk Basic](http://www.nicholson.com/rhn/basic/)
14 |
--------------------------------------------------------------------------------
/clr.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # The CLR (.NET)
4 |
5 | ## .NET Languages
6 |
7 | - [A#](http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html)
8 | - [APL](http://www.dyalog.com/new10/frmsnet.htm)
9 | - [ASP.NET: ASM to IL](http://www.viksoe.dk/code/asmil.htm)
10 | - [AsmL](http://research.microsoft.com/fse/asml/)
11 | - Basic
12 | - [QuickBasic for .NET](http://members.screenz.com/EdNilges/)
13 | - [VB .NET (Microsoft)](http://msdn.microsoft.com/vbasic/)
14 | - [VB .NET (Mono)](http://www.go-mono.com/mbas.html)
15 | - [BETA](http://www.daimi.au.dk/~beta/)
16 | - [Boo](http://docs.codehaus.org/display/BOO/)
17 | - C
18 | - [lcc](http://www.cs.princeton.edu/software/lcc/)
19 | - [cscc](http://www.gnu.org/projects/dotgnu/pnet.html)
20 | - C#
21 | - [C# (Microsoft)](http://msdn.microsoft.com/vcsharp/)
22 | - [C# (Mono)](http://www.mono-project.com/about/index.html)
23 | - [Cw](http://research.microsoft.com/Comega/)
24 | - [C++ (Microsoft)](http://msdn.microsoft.com/visualc/)
25 | - [CIL](http://download.microsoft.com/download/6/8/8/68863d89-d35d-4bc5-8a1c-7e0a02e1881e/partition_iii_cil.zip)
26 | - Cobol()
27 | - [NetCOBOL (Fujitsu)](http://www.netcobol.com/products/windows/netcobol.html)
28 | - [Net Express (Micro Focus)](http://www.microfocus.com/products/netexpress/)
29 | - [CULE.NET](http://www.softwareperspectives.com/)
30 | - [Eiffel](http://www.eiffel.com/products/envsn10/)
31 | - [F#](http://research.microsoft.com/projects/ilx/fsharp.aspx)
32 | - [Forth](http://www.dataman.ro/dforth/default.asp)
33 | - Fortran
34 | - [Fortran (Lahey)](http://www.lahey.com/)
35 | - [Fortran (Salford)](http://www.salfordsoftware.co.uk/compilers/ftn95/)
36 | - [Haskell (VHS)](http://www.cin.ufpe.br/~haskell/vhs/)
37 | - Java
38 | - [J# (Microsoft)](http://msdn.microsoft.com/vjsharp/)
39 | - [Java (IKVM .NET)](http://sourceforge.net/projects/ikvm/)
40 | - [JNBridge](http://www.jnbridge.com/)
41 | - JavaScript
42 | - [JScript .NET](http://www.gotdotnet.com/team/jscript/)
43 | - [JANET](http://janet-js.sourceforge.net/)
44 | - [Lego.NET](http://www.dcl.hpi.uni-potsdam.de/services/weblog/)
45 | - Lisp
46 | - [L#](http://www.lsharp.org/)
47 | - [FOIL](http://foil.sourceforge.net/)
48 | - [RDNZL](http://www.weitz.de/rdnzl/)
49 | - [leXico](http://www.riosur.net/)
50 | - [LOGO](http://monologo.sourceforge.net/)
51 | - [Lua.NET](http://www.lua.inf.puc-rio.br/luanet/)
52 | - [Mercury](http://www.cs.mu.oz.au/research/mercury/dotnet.html)
53 | - [MixNet](http://sourceforge.net/projects/mixnet/)
54 | - [Mondrain](http://www.mondrian-script.org/)
55 | - [Nermerle](http://www.nemerle.org/)
56 | - [Oberon](http://www.oberon.ethz.ch/oberon.net/)
57 | - [Ook# .NET](http://bluesorcerer.net/esoteric/ook.html)
58 | - [Pan#](http://www.haskell.org/edsl/pansharp.html)
59 | - Pascal
60 | - [Chrome](http://www.chromesville.com/)
61 | - [Component Pascal](http://www.citi.qut.edu.au/members/research_areas/plas/projects/cp_files/)
62 | - [Delphi for .NET](http://www.borland.com/delphi_net/)
63 | - [Pascal (TMT)](http://www.tmt.com/net.htm)
64 | - Perl
65 | - [PerlNET](http://www.activestate.com/Products/Perl_Dev_Kit/?_x=1)
66 | - [PerlSharp](http://taubz.for.net/code/perlsharp/)
67 | - [PHP](http://www.php-compiler.net/)
68 | - [Prolog](http://www.dcs.ed.ac.uk/home/stg/Psharp/)
69 | - [Python](http://www.ironpython.com/) (also click [here](http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742))
70 | - [RPG](http://www.asna.com/pages/advantage_asna.aspx)
71 | - [Ruby/.NET Bridge](http://www.saltypickle.com/rubydotnet/)
72 | - [S#](http://www.smallscript.org/)
73 | - [Scala](http://scala.epfl.ch/)
74 | - [SML .NET](http://research.microsoft.com/projects/sml.net/)
75 | - [Spec#](http://research.microsoft.com/SpecSharp/)
76 | - [Tachy](http://www.kenrawlings.com/pages/Tachy)
77 | - [TickleSharp](http://forge.novell.com/modules/xfmod/project/?ticklesharp)
78 | - [Vulcan.NET](http://www.vulcandotnet.com/index.html)
79 |
--------------------------------------------------------------------------------
/cmm1.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # The Colour Maximite
4 |
5 | ## About
6 |
7 | The original Colour Maximite is a small and versatile single chip computer running a full featured BASIC interpreter with 128K of working memory and eight colours on a VGA monitor. It will work with a standard PC keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs.
8 |
9 | It also has 40 input/output lines including an Arduino compatible connector. These I/Os can be independently configured as analog inputs, digital inputs or digital outputs. You can measure voltage, frequencies, detect switch closure, etc and respond by turning on lights, closing relays, etc - all under control of your BASIC program.
10 |
11 | The design and the firmware including the BASIC interpreter is free to download and use. And all this is powered by a single chip which costs just $9.58.
12 |
13 | - [Geoff's Projects - The Original Colour Maximite](https://geoffg.net/OriginalColourMaximite.html)
14 | - [The Back Shed - Introducing the Maximite](http://www.thebackshed.com/windmill/articles/Maximite.asp)
15 | - [Maximite - 8-bit nostalgia with a soldering iron by Alexander Demin](http://demin.ws/blog/english/2012/01/19/maximite-kit/)
16 | - [The Colour Maximite microcomputer by Alexander Demin](http://demin.ws/blog/english/2012/12/04/colour-maximite/)
17 | - [MMBasic - A full featured BASIC interpreter for 32 bit microcontrollers](http://mmbasic.com/)
18 | - [Port of z80sim 1.17 to PIC32](https://github.com/TheCodeman/z80pack-1.17-ksd-pic32)
19 | - [The Back Shed - BASIC Speed Benchmark Tests](https://www.thebackshed.com/forum/forum_posts.asp?TID=4685&PN=1&TPN=1)
20 | - See also [Colour Maximite](maximite.md)
21 |
22 | ## Duinomite (fork of Maximite)
23 |
24 | - [Duinomite](http://duinomite.com/)
25 | - [Olimex - Duinomite](https://www.olimex.com/Products/Duino/Duinomite/DUINOMITE/open-source-hardware)
26 | - [Olimex - Duinomite-MEGA](https://www.olimex.com/Products/Duino/Duinomite/DUINOMITE-MEGA/open-source-hardware)
27 | - [Olimex - Duinomite-eMEGA](https://www.olimex.com/Products/Duino/Duinomite/DUINOMITE-eMEGA/open-source-hardware)
28 | - [Olimex - Duinomite - Firmware Update](http://duinomite.com/firmware-update/)
29 | - [Olimex - DuinoMite on GitHub](https://github.com/OLIMEX/DuinoMite)
30 | - [Olimex - MaxiMiteFirmware](https://www.olimex.com/Products/Duino/Duinomite/_resources/MaxiMiteFirmware/)
31 | - [Olimex - MPIDE](https://www.olimex.com/wiki/MPIDE)
32 | - [Olimex Blog - Duinomite - retro Snake game written in BASIC](https://olimex.wordpress.com/2012/01/16/duinomite-retro-snake-game-written-in-basic/)
33 | - [Olimex Blog - Duinomite with Gameduino shield](https://olimex.wordpress.com/2012/01/14/duinomite-with-gameduino-shield/)
34 | - [The Back Shed - Reflash DuinoMite Mini](https://www.thebackshed.com/forum/forum_posts.asp?TID=4982&PN=1)
35 |
36 | ## Additional Links
37 |
38 | - [MM Edit - Edit code on Windows for the Maximite](https://www.c-com.com.au/MMedit.htm)
39 |
--------------------------------------------------------------------------------
/cmm2.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # The Colour Maximite 2
4 |
5 | ## About
6 |
7 | The Colour Maximite 2 is a small self contained computer inspired by the home computers of the early 80's such as the Tandy TRS-80, Commodore 64 and Apple II.
8 |
9 | - [Geoff's Projects - Colour Maximite 2](http://geoffg.net/maximite.html)
10 |
11 | ## Videos
12 |
13 | - [Colour Maximite 2 (A Modern BASIC Computer) - Unboxing & First Impressions](https://youtu.be/3j_EJEDu7-A)
14 | - [Color Maximite 2 - ARM CPU that runs BASIC!](https://youtu.be/IA7REQxohV4)
15 | - [BASIC in 2020 - DIY microcomputer w/ early 90's graphics - Color Maximite 2 (build/test)](https://youtu.be/lzrX72aB7zg)
16 | - [PSGMini - SN76489 / NES APU simulator and VGM Player for Colour Maximite 2](https://youtu.be/wQ3vrV61PuY)
17 |
18 | ## Code
19 |
20 | ### Programs
21 |
22 | - [Boulder Dash](https://gitlab.com/raxas/bouldermite/-/tree/master)
23 | - [Eliza](https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12468&LastEntry=Y#151604)
24 | - [Falfus 2](https://www.thebackshed.com/forum/ViewTopic.php?TID=12248): A puzzle game based on [Puzznic](https://en.wikipedia.org/wiki/Puzznic). The goal is to clear each level by sliding matching tiles together. Two or more of the same tiles touching along any edge will fuse and vanish with a pop. The player can slide tiles sideways only and tiles fall when unsupported.
25 | - [Flappy Bird](http://www.thebackshed.com/forum/ViewTopic.php?TID=12363)
26 | - [Gauntlet](https://github.com/mauroxavierneto/gauntlet_cmm2): [Video](https://youtu.be/bNP0xv833EU)
27 | - [Gomoku](http://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12448)
28 | - [John Conway's Game of Life](http://www.thebackshed.com/forum/ViewTopic.php?TID=12159&PID=149472#149472)
29 | - [Lunar Lander](https://www.thebackshed.com/forum/ViewTopic.php?TID=12303&PID=150642#150642): Port of the original [CMM1](cmm1.md) [Lunar Lander](http://fruitoftheshed.com/MMBasic.Sprite-demo-Lander-part-of-the-original-MMBasic-library.ashx) game.
30 | - [Max-E-Man](http://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12415#151083)
31 | - [NES Emulator in MMBasic](https://www.thebackshed.com/forum/ViewTopic.php?TID=12432)
32 | - [PSG Demo](https://github.com/mauroxavierneto/psgmini_cmm2): Demoscene-style program showing off some sound and graphic effects. Includes library for a VGM player with SN76489 / NES APU simulation. [Video](https://www.youtube.com/watch?v=342msxxQVNQ)
33 | - [Reverse](http://www.thebackshed.com/forum/ViewTopic.php?TID=12357&PID=150315#150315)
34 | - [Sudoku](http://www.thebackshed.com/forum/ViewTopic.php?TID=12159&PID=146887#146887)
35 | - [Wolfenstein 3D](https://github.com/mauroxavierneto/wolf3d_cmm2): [Video](https://youtu.be/brAgR2BdJbE)
36 | - [Z-MIM](https://github.com/thwill1000/zmim): A Z-machine interpreter allowing the classic Infocom works of interactive fiction (Zork I, II & III) to be played on the Colour Maximite 2 - includes a "Mini-Zork" sample game. Alternatively, you can [download Release 3 here](https://github.com/thwill1000/zmim/releases/download/r3/zmim-r3.zip).
37 |
38 | ### Samples
39 |
40 | - [Turtle Graphics](https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12465)
41 | - [Playing Sounds](http://www.thebackshed.com/forum/ViewTopic.php?TID=12402&PID=150948#150948)
42 | - [Zap Sounds (With Less Distortion)](https://www.thebackshed.com/forum/ViewTopic.php?PID=152111#152111)
43 | - [Playing Multiple Sounds At Once (PLAY SOUND)](https://www.thebackshed.com/forum/ViewTopic.php?PID=152116#152116)
44 | - [Rotating Football](https://www.thebackshed.com/forum/ViewTopic.php?TID=12159&P=1#147084): [Video](https://www.youtube.com/watch?v=edt647Dy6F8)
45 | - [CMM2 Demo Programs (Forum Thread)](https://www.thebackshed.com/forum/ViewTopic.php?TID=12159&P=1)
46 | - [Various Test and Demo Programs (GitHub)](https://github.com/mkopack73/cmm2_tests)
47 | - [Reading Keys](http://www.thebackshed.com/forum/ViewTopic.php?TID=12451&PID=151445#151445#151445): Showing codes returned by KEYDOWN.
48 | - [Movement Examples (1)](http://www.thebackshed.com/forum/ViewTopic.php?TID=12378&P=1#150655)
49 | - [Movement Examples (2)](http://www.thebackshed.com/forum/ViewTopic.php?TID=12378&P=1#150699)
50 | - [Speech (TTS)](http://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12476#151685): Say one thing, wait until that's finished and say another.
51 | - [Pseudorandom Number Generator](http://www.thebackshed.com/forum/ViewTopic.php?TID=12105&PID=146255#146248): The built in random number generator doesn't let you repeat the random sequence; this provides a *more random* result. For how to use it, see [here](http://www.thebackshed.com/forum/ViewTopic.php?TID=12105&PID=146255#146255).
52 | - [High Score Handing Reusable Library](http://www.thebackshed.com/forum/ViewTopic.php?TID=12477&PID=151703#151703)
53 | - [Source Coe Archive for CMM2 (Forum Thread)](http://www.thebackshed.com/forum/ViewTopic.php?TID=12378&P=1)
54 |
55 | ### Utilities
56 |
57 | - [Filebox File Manager](https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=12523&LastEntry=Y#152199)
58 |
59 | ## Purchase
60 |
61 | ### USA
62 |
63 | - [CircuitGizmos - Color MAximite 2](https://circuitgizmos.com/Color-Maximite-2-p192570471)
64 |
65 | ### DIY
66 |
67 | - [WaveShare - CoreH743I STM32 core board](https://www.waveshare.com/coreh743i.htm)
68 |
69 | ## Additional Links
70 |
71 | - [MM Edit - Edit code on Windows for the Maximite](https://www.c-com.com.au/MMedit.htm)
72 | - [Example games and other programs - Fruit Of The Shed (Wiki)](http://fruitoftheshed.com/Colour%20MaxiMite%202%20(CMM2).Example-games-and-other-programs.ashx)
73 | - [Converting older MMBASIC programs](http://fruitoftheshed.com/Colour%20MaxiMite%202%20(CMM2).Converting-older-MMBASIC-programs.ashx)
74 | - [Efficient code for the CMM2](http://fruitoftheshed.com/Colour%20MaxiMite%202%20(CMM2).Efficient-code-for-the-CMM2.ashx)
75 | - [CMM2 Keyboard Compatibility](http://fruitoftheshed.com/Colour%20MaxiMite%202%20(CMM2).CMM2-Keyboard-compatibility.ashx)
76 |
--------------------------------------------------------------------------------
/coco.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # RadioShack/Tandy Color Computer Series
4 |
5 | 
6 |
7 | ## Emulators
8 |
9 | - [Color Computer 2 Disk BASIC v1.1 circa 1982 (Archive.org)](https://archive.org/details/coco2cart_Color_Computer_Disk_BASIC_V1.1_1982_26-3022_Tandy): No need to download, start playing right away directly in your browser!
10 | - [XRoar - Dragon & CoCo emulator](https://www.6809.org.uk/xroar): XRoar is a Dragon emulator for Linux, Unix, Mac OS X and Windows. Due to hardware similarities, XRoar also emulates the Tandy Colour Computer (CoCo) models 1 & 2.
11 |
12 | ## IDE (Windows)
13 |
14 | - [PlayPi Games 6dev09](https://www.playpi.net/): *"Unleash the creativity with 6dev09, the game-changing IDE that transforms Color Computer and 6x09 programming and empowers your coding adventures! Experience seamless programming with 6dev09's robust support for both BASIC and Assembly languages, tailored for Color Computer and other 6x09 systems. Create and share cartridge ROMs and floppy images effortlessly, making it simple to bring your projects to life on MAME and other emulators or the Color Computer itself. Effortlessly manage complex projects through multiple tabs, allowing you to work on several files simultaneously within the same workspace."*
15 | - [Phoenix IDE](http://www.cococommunity.net/product/phoenix-ide/)
16 | - [Phoenix IDE Programming Application for the Tandy Color Computer (in BASIC)](https://youtu.be/WwE6WqpO9Dc)
17 |
18 | *Please note that I haven't personally worked with either of the above as they are both paid products. But they do seem interesting...*
19 |
20 | ## Color Computer 1
21 |
22 | 
23 |
24 | - [CoCo SDC](http://cocosdc.blogspot.com/?fbclid=IwAR0JquoF2a1xcd-mzVY-7jAoVoz-dU0LeiBYaSDVoVb0TyAOWcRRnmCW1qA)
25 |
26 | ## Color Computer 2
27 |
28 | 
29 |
30 | - [Getting Started With Extended Color Basic (PDF)](http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Getting%20Started%20With%20Extended%20Color%20Basic%20(Tandy).pdf)
31 | - [The MOOH - Memory expansion for your Dragon or CoCo 1/2](http://tormod.me/mooh.html): The MOOH is a memory expansion cartridge board for the Dragon 32/64 and CoCo 1/2, adding 512 KB of RAM and a socket for up to 64 KB ROM. It also features an SPI interface and an SD-card slot.
32 | - [Squanchy-BASIC](https://github.com/tlindner/Squanchy-BASIC): Color BSAIC, improved.
33 |
34 | ## Color Computer 3
35 |
36 | 
37 |
38 | - [Programming in BASIC on the Tandy RadioShack TRS-80 Color Computer (YouTube)](https://www.youtube.com/playlist?list=PLDfh7JjQaSYA1fP5KwRiOwefFIIF1Alid&fbclid=IwAR02qFC8wrAq8cf6rO4KUGpKb62KE_xaRvrweKEIHlfmy3Mq7E84EO6718U): A step-by-step series on how to program the Color Computer using a Virtual Color Computer 3 (50 videos).
39 | - [VCC Color Computer 3 Emulator (via archive.org)](https://web.archive.org/web/20181001201546/http://www.coco4.com/vcc/download.shtml)
40 | - [How to get VGA for the CoCo 3](http://www.cococommunity.net/vga-for-the-coco-3/)
41 | - [FPGA RGB2VGA](https://sites.google.com/site/tandycocoloco/rgb2vga)
42 | - [CBASIC III Manual Rewrite (Color Computer 3 CBasic III Compiler Manual)](https://github.com/pwillard/CBASIC)
43 |
44 | ## CocoPi3
45 |
46 | [Zipped SD card image for Raspberry Pi 3](http://www.cocopi3.com/)
47 | [Zipped SD card image for Raspberry Pi 3 (Alt)](http://ogsteviestrow.com/coco3/)
48 | [CocoPi3 RPi3 Distribution](https://github.com/mrgw454/CocoPi3)
49 | [HOWTO: Add new CocoPi3 git repo to CocoPi3 distribution](https://docs.google.com/document/d/1tTtsB-_iR7ECtPwY11cxcHeB9GSF8oaZszDFWWV3uNg)
50 | [Ron Klien's YouTube Channel](https://www.youtube.com/channel/UCApGKXmQxldvBga3_CoeWXA)
51 | [CocoPi3 Release Notes (CocoFEST 2019 Edition)](https://docs.google.com/document/d/1BkhNFjF3vd7sCoy1E6qa7TlPGUPdZMy2xz4EqZoyqtk)
52 |
53 | ## Hardware Emulation (FPGA)
54 |
55 | - [How to build a Matchbox CoCo](http://www.cococommunity.net/how-to-build-your-own-coco-4/)
56 | - [How to build a Mr. CoCo](http://www.cococommunity.net/how-to-build-a-mr-coco/)
57 | - [A hardware keyboard encoder for the TRS-80 Color Computer](https://github.com/wyndec/CoCoKeys2USB)
58 | - [HxC2001 - A Universal Floppy Drive Emulator](http://hxc2001.free.fr/floppy_drive_emulator/)
59 |
60 | ## Programs
61 |
62 | - [Type-in Mania: An Interactive Database of Early Basic Computer Applications](http://faculty.cbu.ca/jgerrie/Home/Type-in-Mania.html?fbclid=IwAR3DAaO6aL8Lho29OYJgUzuyFLy7iSZTW5SA4nNyVVI9zazwNDf8wrDe0Og)
63 |
64 | ## Additional Information
65 |
66 | - [TRS-80 Color Computer Archive](http://www.colorcomputerarchive.com/)
67 | - [CoCoWares](http://cocowares.com/): The place to find all the Hardware, Software and Services currently available for the TRS-80 / Tandy Color Computer.
68 | - [NitrOS-9 "Ease of Use" (EOU)](http://www.lcurtisboyle.com/nitros9/nitros9.html)
69 | - [FuzixOS: Because Small Is Beautiful](https://github.com/EtchedPixels/FUZIX)
70 | - [Fuzix Installer Project (FIP)](https://github.com/beretta42/fip): Tandy CoCo3 Specific.
71 | - [YA-DOS-0.5a+ compatible HDD image](https://github.com/mrgw454/CCHDD)
72 | - [The KEEP BBS](https://web2.thekeep.net/wp/)
--------------------------------------------------------------------------------
/console.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 |
4 | # Game Consoles (Retro)
5 |
6 | - Atari 2600
7 | - [JAVATARI - The online Atari 2600 emulator](http://javatari.org/)
8 | - [2600 IDE](https://atariage.com/forums/topic/93971-2600-ide-link/)
9 | - [Batari BASIC](http://www.bataribasic.com/install.html)
10 | - [How to make an Atari game](https://www.tinkernut.com/how-to-make-an-atari-game/)
11 | - [A constructive look at the Atari 2600 BASIC cartridge](http://boston.conman.org/2015/06/16.1)
12 | - Atari 7800
13 | - [7800basic](http://7800.8bitdev.org/index.php/7800basic)
14 | - Colecovision
15 | - [Colecovision BASIC](https://atariage.com/forums/topic/197428-colecovision-basic/page/2/#comments)
16 | - Mattel Intellivision
17 | - [Oscar Toledo G. - IntyBASIC: a BASIC compiler for Intellivision](https://nanochess.org/intybasic.html)
18 | - [The IntyBASIC compiler official thread](https://atariage.com/forums/topic/248209-the-intybasic-compiler-official-thread/)
19 | - Nintendo NES
20 | - [nbasic Language Reference Manual](http://bobrost.com/nes/files/nbasic_manual.html)
21 | - [NES Resources](http://bobrost.com/nes/resources.php)
22 | - [NES on 8-bit Workshop](https://8bitworkshop.com/docs/platforms/nes/index.html)
23 | - [NES Dev Wiki](https://www.nesdev.org/wiki/Projects)
24 | - [NES Emulator RP2040 DVI](https://github.com/fhoedemakers/pico-infonesPlus): NES Emulator with SD card and menu support for the Raspberry PI Pico/Adafruit Feather RP2040 DVI. Play your games from SD card on a HDMI display.
25 | - [Tool to compile Family Basic programs to .NES](https://archive.nes.science/nesdev-forums/f2/t10156.xhtml)
26 | - [Programming NES Games in BASIC](https://atariage.com/forums/topic/149491-programming-nes-games-in-basic/)
27 | - [Compare intermediate code betweeen S-BASIC and Hu-BASIC](http://retropc.net/ohishi/museum/SvsHu_700.htm)
28 | - Sega Genesis/MegaDrive
29 | - [SecondBASIC Studio](secondbasic.md)
30 | - [BasiEgaXorz](https://segaretro.org/BasiEgaXorz)
31 |
--------------------------------------------------------------------------------
/csharp.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Converting C# to Visual Basic
4 |
5 | ## Introduction
6 |
7 | (todo)
8 |
9 | ## Tools
10 |
11 | ### Free
12 |
13 | #### Web
14 |
15 | - [ICSharp Code Converter](https://codeconverter.icsharpcode.net/): Based on Roslyn.
16 | - [Telerik Code Converter by Progress](https://converter.telerik.com/): Online (browser-based) C# to VB converter.
17 | - [Carlos Ag Code Tranlsation for .NET ()](https://www.carlosag.net/tools/codetranslator/): In addition to C#, also has some support for Java and TypeScript.
18 | - [Developer Fusion Convert C# to VB.NET](https://www.developerfusion.com/tools/convert/csharp-to-vb/): Code converter based on [#develop](http://www.icsharpcode.net/OpenSource/SD/). Currently doesn't support LINQ.
19 | - [DOTNET Spider Convert C# to VB.NET (KamalPatel.NET)](https://www.dotnetspider.com/convert/Csharp-To-Vb.aspx)
20 | - [Digital Coding VB/C# Code Converter](http://digitalcoding.com/tools/code-converter-vb-csharp.html)
21 | - [MindFusion Code Converter](https://mindfusion.eu/convert-cs-vb.html): Last checked, appears to be offline due to being "currently under maintenance".
22 | - [JSON Utils - Generate Classes](https://jsonutils.com/): Although not a C# to VB.NET conversion per say; adding here since it kind of fits with the "code conversion" category.
23 |
24 | #### Tools
25 |
26 | - [Telerik JustDecompile](https://www.telerik.com/products/decompiler.aspx)
27 | - [DevExtras .NET CodeReflect](http://www.devextras.com/decompiler/)
28 |
29 | #### Visual Studio Extension
30 |
31 | - [Code Converter (VB - C#) by SharpDevelop Team](https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.CodeConverter)
32 |
33 | ### Paid
34 |
35 | - [Tangible Software Solutions Instant VB](https://www.tangiblesoftwaresolutions.com/product_details/csharp-to-vb-converter.html): Produces great VB.NET code, saving you hours of painstaking work and valuable time.
36 | - [.NET Reflector](https://www.red-gate.com/products/dotnet-development/reflector/)
37 |
38 | ## By Hand
39 |
40 | - [Converting C# method to VB.NET](https://stackoverflow.com/questions/34596223/converting-c-sharp-method-to-vb-net)
41 | - [Converting C# delegate to VB](https://social.msdn.microsoft.com/Forums/en-US/feb1c64b-e677-4507-9020-c98b95ca3f32/converting-c-delegate-to-vb)
42 | - [Using MyBase, converting C# to VB.NET](https://social.msdn.microsoft.com/Forums/en-US/d119d6dc-68e2-4a82-8192-3e8d4186fcce/using-mybase-converting-a-c-code-to-vbnet)
43 | - [Converting C# Lambda expression to VB.NET](https://stackoverflow.com/questions/41624432/converting-c-sharp-lambda-expression-to-vb-net)
44 | - [The VB Equivalent to C# typeof() keyword?](https://www.hanselman.com/blog/TheVBEquivalentToCTypeofKeyword.aspx)
45 | - [Tangible Software Solutions - VB.NET and C# Equivalents](https://www.tangiblesoftwaresolutions.com/vb-and-csharp-equivalents.html)
46 | - [The '=' operator vs. Equals() in VB.NET](http://geekswithblogs.net/viktorbergman/archive/2007/03/26/109801.aspx)
47 | - [DateDiff Equivalent in C# - 3 Options](http://www.pressthered.com/datediff_equivalent_in_c_-_3_options/)
48 | - [.NET Curry - 30 Common String operations in C# and VB.NET - Part 1](https://www.dotnetcurry.com/csharp/189/csharp-string-substring-split-functions)
49 |
50 | ## References
51 |
52 | - [Wikipedia Comparison of C# and VB.NET](https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET)
53 | - [Harding University VB.NET and C# Comparison](https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET)
54 | - [EDUCBA C# vs VB.NET](https://www.educba.com/c-vs-vb-net/)
55 | - [Complete Comparison for VB.NET and C# (circa 2005)](https://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C)
56 | - [ASP Alliance C# and VB.NET Comparison Cheat Sheet](http://aspalliance.com/625)
57 | - [10 Reasons Why Visual Basic is Better Than C# (RedGate)](https://www.red-gate.com/simple-talk/dotnet/net-framework/10-reasons-why-visual-basic-is-better-than-c/)
58 | - [5 Reasons VB.NET Is Better Than C# (Migrate To .NET)](https://www.migrateto.net/5-reasons-vb-net-is-better-than-c/)
59 | - [TechRepublic VB.NET vs C#, Round 2: Pounding On Performance](https://www.techrepublic.com/article/vbnet-vs-c-round-2-pounding-on-performance/)
60 | - [.NET Funda Differences between C# and VB.NET](https://www.dotnetfunda.com/articles/show/601/difference-between-csharp-and-vbnet)
61 | - [IT eLearn - A Comprehensive Comparison Between VB.NET and C#](https://itelearn.com/blog/a-comprehensive-comparison-between-vb-net-and-c/)
62 | - [Oakleaf Systems - Comparing C# 3.0 and VB 9.0 LINQ Syntax](https://oakleafblog.blogspot.com/2005/09/comparing-c-30-and-vb-90-linq-syntax.html)
63 |
64 | ## Books
65 |
66 | - [C#-Visual Basic Bilingual Dictionary: Visual Studio 2015 Edition by Tim Patrick](https://www.amazon.com/gp/product/0692433694)
67 |
68 | ## Further cleanup...
69 |
70 | (todo)
71 |
--------------------------------------------------------------------------------
/easylang.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Easylang
4 |
5 | An easy online programming language and development environment. For teaching and learning programming, but not only.
6 |
7 | Although not entirely BASIC, it clearly borrows heavily from the concepts.
8 |
9 | - [Home](https://easylang.online/)
--------------------------------------------------------------------------------
/ehbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # ENHANCED 6502 BASIC (EhBASIC)
4 |
5 | 
6 |
7 | Enhanced BASIC is a BASIC interpreter for the 6502 and compatible microprocessors. It is constructed to be quick and powerful and easily ported to most 6502 systems. It requires few resources to run and includes instructions to facilitate easy low level handling of hardware devices. It also retains most of the powerful high level instructions from similar BASICs.
8 |
9 | EhBASIC was created by Lee Davidson, an engineer from Wales, who apparently shared a lot of his hobby with the community through his website. Lee Davidson passed away September 2013. If it weren't for individuals such as [Hans Otten](http://retro.hansotten.nl/), Lee's works may have disappeared into oblivion after his passing with the subsequent shut down of his website.
10 |
11 | ## Requirements
12 |
13 | ### Minimum
14 |
15 | * 6502 processor.
16 | * 10k ROM or RAM for the interpreter code.
17 | * 1K of RAM from $0000.
18 | * RS-232 I/O.
19 |
20 | ### Preferred
21 |
22 | * 6502 or better processor (65c02, CCU3000, M38xx).
23 | * 10k ROM or RAM for the interpreter code.
24 | * RAM from $0000 to $BFFF (more with changes).
25 | * Any character based I/O (e.g. RS-232, LCD/keyboard etc).
26 |
27 | ## Download
28 |
29 | * [Download version 2.22](http://retro.hansotten.nl/uploads/leedavison/6502_EhBASIC_V2.22-master.zip)
30 | * [Download version 2.09](http://retro.hansotten.nl/uploads/leedavison/ehbasicsourc209e.zip)
31 |
32 | ## Setup
33 |
34 | 
35 |
36 | Starting EhBASIC will mostly depend on how you set up your system to start it. The following assumes you are trying to run EhBASIC using the example monitor and Michal Kowalski’s 6502 simulator, though this should not differ too much from the startup of EhBASIC on a real system.
37 |
38 | * Unpack the .zip source to a directory and run the 6502 simulator.
39 | * Open `min_mon.asm` from the directory where you unzipped it.
40 | * Select assemble `F7`.
41 | * Run the debugger `F6`.
42 | * Make sure the I/O window is open.
43 | * Press `CTRL`, `SHIFT` and `R` to reset the simulated processor.
44 |
45 | You should then be presented with the `[C]old/[W]arm` prompt as seen here. As the simulator has just been started you should now press `C` for a cold start. This should present you with the `Memory size ?` prompt. Now type either carriage return, in which case EhBASIC calculates available memory space automatically, or enter the total size of the memory in either decimal, hex or binary followed by a carriage return.
46 |
47 | E.g. to set the physical memory size to 8k bytes.
48 |
49 | In decimal ..
50 |
51 | `Memory size ? 8192`
52 |
53 | .. or in hex ..
54 |
55 | `Memory size ? $2000`
56 |
57 | .. or in binary.
58 |
59 | `Memory size ? %10000000000000`
60 |
61 | EhBASICs program memory is then allocated from Ram_base, which is usually $0300, up to the limit specified. Any remaining RAM, or any RAM not continuous from EhBASICs memory, may be used to contain user subroutines or data. If you did not enter a number greater than the minimum required to run EhBASIC, or there is not the minimum memory present, then EhBASIC will return to the `Memory size ?` prompt.
62 |
63 | Do not type a number larger than the physical memory present. EhBASIC assumes you know what you are doing and does not check the specified memory size. Trying to use non-existent RAM will, at best, corrupt your string variables. This check can easily be implemented, the code is already in place but is commented out. See the source for more details.
64 |
65 | There is no `Terminal width ?` prompt as with some BASICs, the default is for no terminal width limit to be set. However if you wish to set a terminal width, and a TAB step size, there is a `WIDTH` command available, see `WIDTH` in the EhBASIC language reference.If the memory sizing was successful then EhBASIC will respond with the total number of bytes available for both programs and variables and then the Ready prompt. The display should look something like the image on the right.
66 |
67 | You are now ready to start using EhBASIC.
68 |
69 | > I wasn't able to get the above instructions to work as prescribed. If you have any experience in getting the above to work, please reach out to me with instructions so that we can share this with everyone.
70 |
71 | ## SYMON
72 |
73 | 
74 |
75 | After some research was I able to find an emulator/simulator and functioning version of EhBASIC thanks to [Seth Morabito](https://github.com/sethm) and his [SYMON - A 6502 System Simulator](https://github.com/sethm/symon) project.
76 |
77 | With that said, there was a bit of fiddling that was necessary to get things working...
78 |
79 | * Download the latest release and place the resulting `.jar` file in a folder.
80 | * You will need to download the `samples/ehbasic.rom` file from the repo and place this in the same folder as the `.jar` file.
81 | * Rename `ehbasic.rom` to `rom.bin` (according to official instructions).
82 |
83 | However, this is where I ran into a problem. The docs state that this file should automatically load but this doesn't appear to be the case (and I've reported the issue - awaiting a response). To work around this...
84 |
85 | * For ease of use, I then renamed the release to `symon.jar`.
86 | * Open a command prompt in this folder and type either `java -jar symon.jar -rom rom.bin` or `start symon.jar -rom rom.bin` to launch the simulator with this rom file.
87 |
88 | From here you can follow the above instructions on usage.
89 |
90 | > This, of course, assumes you have a recent version of Java installed.
91 |
92 | ### SYMON + EhBASIC Example
93 |
94 | SYMON has a Composite Video (View -> Video Window) that emulates the output of the MOS 6545 CRT Controller. The following code can be entered in EhBASIC to fill the screen with all the available printable characters.
95 |
96 | ```vb
97 | 10 J = 0
98 | 20 FOR I = 28672 TO 29672
99 | 30 POKE I,J
100 | 40 IF J < 255 THEN J = J + 1 ELSE J = 0
101 | 50 NEXT I
102 | 60 END
103 | ```
104 |
105 | ## Documentation
106 |
107 | * [How to use.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/how-to-use-ehbasic/)
108 | * [Starting BASIC.](http://retro.hansotten.nl/6502-sbc/starting-ehbasic/)
109 | * [Language reference.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-language-reference/)
110 | * [EhBASIC reference manual in PDF format.](http://retro.hansotten.nl/uploads/leedavison/Enhanced_6502_BASIC_reference_manual.pdf)
111 | * [Advanced techniques.](http://retro.hansotten.nl/6502-sbc/advanced-ehbasic-techniques/)
112 | * [Extending CALL.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-extending-call/)
113 | * [Using USR().](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-using-usr/)
114 |
115 | ## Notes
116 |
117 | * [Updates.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/update-ehbasic/)
118 | * [Useful routines.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-useful-routines/)
119 | * [Internals.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-internals/)
120 | * [EhBASIC bug Ibuffs location.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-bug-ibuffs-location/)
121 | * [Jeff Trantor made a CC65 assembler version of EhBASIC 2.22 for the Apple 1 and OSI 1P.](https://github.com/jefftranter/6502/tree/master/asm/ehbasic)
122 | * [Notes on LOAD and SAVE.](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/ehbasic-load-and-save-notes/)
123 |
124 | ## More Information
125 |
126 | * [ENHANCED 6502 BASIC (Official).](http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/enhanced-6502-basic/)
127 |
--------------------------------------------------------------------------------
/emulators.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Emulators, Simulators, Etc
4 |
5 | Because many retro versions of BASIC were designed to only work on a particular platform that may be out of reach to most people; emulators can provide a great way to experience these systems on current machines.
6 |
7 | This list isn't meant to be the all inclusive list of all emulators that exists; rather it is just here to serve as a place to get started. New emulators are arriving almost daily and it would be extremely difficult to keep track of all of them.
8 |
9 | So with that said, these are the ones that I have either used (or spotted) in the process of exploring these retro machines (assuming I don't have the actual hardware at hand - wouldn't be wonderful if it were possible to have all of them; but, alas, I am married and will continue to do my best to remain so.)
10 |
11 | ## Apple II
12 |
13 | - [Apple IIe Emulator for Pi Pico](https://github.com/pyrex8/pico-iie)
14 |
15 | ## Atari 2600
16 |
17 | - [Stella: A multi-platform Atari 2600 VCS emulator](https://stella-emu.github.io/)
18 | - [z26 -- An Atari 2600 Emulator](https://www.whimsey.com/z26/index.php)
19 | - [PCAE: PC Atari Emulator](http://pcae.vg-network.com/)
20 |
21 | ## BBC Micro
22 |
23 | - [b-em](https://github.com/stardot/b-em): An open source BBC Micro emulator for Win32 and Linux
24 | - [b-em (Pi)](https://github.com/kilograham/b-em): An RP2040 and Raspberry Pi 2/3/4/Zero 2 W version of an open source BBC Micro emulator originally for Win32 and Linux
25 |
26 | ## CPM
27 |
28 | - [Running CP/M on the Raspberry Pi Pico microcontroller](https://kevinboone.me/cpicom.html?i=1)
29 | - [A CP/M 2.2 emulator for the Raspberry Pi Pico](https://github.com/kevinboone/cpicom)
30 | - [Exidy Sorcerer for Pico Pi RP2040 with HDMI](https://github.com/fruit-bat/pico-sorcerer-2)
31 | - [Memotech EMUlator](https://memotech-bill.github.io/MEMU/)
32 | - [MEMU - Memotech EMUlator](https://github.com/Memotech-Bill/MEMU)
33 | - [PCjs Machines - CP/M-86 1.00](https://www.pcjs.org/software/pcx86/sys/cpm/1.00/)
34 |
35 | ## IBM PC
36 |
37 | - [PCjs Machines](https://www.pcjs.org/): Home of the original IBM PC emulator for browsers.
38 | - [DOSBox and D-Fend Reloaded: a winning combination!](https://www.retroacademy.it/2018/09/05/tutorials/dosbox-e-d-fend-reloaded-unaccoppiata-vincente/6816/)
39 |
40 | ## MSX
41 |
42 | - [MSX Resource Center](https://www.msx.org/wiki/Category:MSX_Emulators)
43 |
44 | ## ZX Spetrum
45 |
46 | - [pico-zxspectrum](https://github.com/fruit-bat/pico-zxspectrum): ZX Spectrum for Raspberry Pico Pi RP2040 ([Video](https://www.youtube.com/watch?v=gnDjgHQR_io))
47 |
48 | ## 6502
49 |
50 | - [SYMON - A 6502 System Simulator (Github)](https://github.com/sethm/symon)
51 | - [Daryl's Computer Hobby Page - Kowalski Simulator Updates](https://sbc.rictor.org/kowalski.html) • on Gitub at [6502 simulator and macroassembler](https://github.com/mikekov/6502)
52 |
--------------------------------------------------------------------------------
/engine.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # BASIC Engine
4 |
5 | 
6 |
7 | BASIC Engine is a family of very low-cost single-board computers with great 2D color graphics and sound capabilities similar to late-1980s to mid-1990s computers and video game consoles.
8 |
9 | - [BASIC Engine (Official)](https://basicengine.org/)
10 | - [BASIC Engine (Forum)](https://betest.freeflarum.com/)
11 | - [BASIC Engine (Wiki)](https://github.com/uli/basicengine-wiki)
12 |
13 | This family includes:
14 |
15 | - ["Classic" (home-brew) based on the ESP8266](https://basicengine.org/esp8266.html).
16 | - [BASIC Engine NG (Next Generation)](https://basicengine.org/nextgen.html).
17 | - [BASIC Engine RX](https://basicengine.org/index.html).
18 | - BASIC Engine LT.
19 |
20 | Additionally, it is now possible to run on Linux, OSX, Win32 and RaspberryPi; see [here](https://basicengine.org/git_builds/).
21 |
22 | ## Engine BASIC RX
23 |
24 | You interact with the BASIC Engine computers through the class boot-to-BASIC environment in a dialect called [Engine BASIC RX](https://basicengine.org/index.html#_reference_manual). There's also an excellent [introduction](https://basicengine.org/introduction.html) for the "absolute beginner to BASIC programming on BASIC Engine"!
25 |
26 | ## Resources
27 |
28 | - [uli's basicengine-demos repo](https://github.com/uli/basicengine-demos)
29 | - [peek82's BASIC_Engine_Software repo](https://github.com/peek82/BASIC_Engine_Software)
30 | - [bitartrate BASIC-Engine_Programs repo](https://github.com/bitartrate/BASIC-Engine-Programs)
31 | - [8bitforlife.com (archived)](https://web.archive.org/web/20211129031446/https://www.8bitforlife.com/)
32 | - [Basic Engine NG Asteroids](https://sazazel.itch.io/basic-engine-ng-asteroids)
33 |
34 | ## Videos
35 |
36 | - [Basic Engine by Projekt Produkt!](https://www.youtube.com/watch?v=O7GkePGcNuY)
37 | - [uhecht](https://www.youtube.com/@uhecht)
38 | - [Screen Recording with the BASIC Engine RX](https://youtu.be/RPNdoYD1sAs)
39 | - [BASIC Engine Tetris demo](https://www.youtube.com/watch?v=0ZsucdE6l2o)
40 | - [BASIC Engine Shmup demo](https://www.youtube.com/watch?v=WEeHVyWH8rQ)
41 | - [Mark Strickland](https://www.youtube.com/@markstrickland438)
42 | - [BASIC Engine RX - A Very Quick New Feature Test](https://www.youtube.com/watch?v=8Bc9Ix81448)
43 | - [BASIC Engine Fake Color Cycling](https://www.youtube.com/watch?v=yTGLR0IBmmc)
44 | - [BASIC Engine NG - Fake Gravity Testing #1](https://youtu.be/YRKC7Wsd7pM?si=ULh5F_nNX_n3W5IP)
45 | - [Kozmick Raiders: Act 1 - Just A Simple Scaling & Movement Test](https://youtu.be/l3SBdKCo_Zo?si=wVQiL9Bhnzdbv85h)
46 | - [BASIC Engine NG Gamepad & Mouse Tester](https://youtu.be/V4ZmT-fW2kE?si=YjkH9VgUed_fmO5F)
47 | - [BASIC Engine NG - Very Simple Mouse & Sprite Pointer Demo](https://youtu.be/IRwhvi7lEA0?si=9LgAdbNw0NsvGmNr)
48 | - [BASIC Engine NG Testing](https://youtu.be/oAwZ6gl8RKE)
49 | - [BASIC Engine NG - A Quick Blit Test](https://youtu.be/TN25QmnTxQ4?si=UnEz98xxfoS9CiAN)
50 | - [BASIC Engine Retro Computer - BASIC Progress Meter](https://youtu.be/l4pDnKtp020?si=LTeO73vw53OM_zKi)
51 | - [BASIC Engine Retro Computer - Blitter Test #1](https://youtu.be/VWdkEF5kSb0?si=FerLxVTbbsQe17EP)
52 | - [BASIC Engine Retro Computer - Archimedes Spiral](https://youtu.be/qm8qG2s8CAg?si=5c8MaAcqcG0zAHj3)
53 | - [BASIC Engine Retro Computer - Ahl's Benchmark](https://youtu.be/Z4UIhs3plZ4?si=nHLwj3jubls096BO)
54 | - [BASIC Engine Retro Computer - Five Minute Session](https://youtu.be/eL8qWOMtouY?si=0X1hnTbN08ooLUeF)
55 | - [BASIC Engine Retro Computer - Ahl's Benchmark](https://www.youtube.com/watch?v=1PwqbmGavI4)
56 | - [Basic Engine NG Asteroids](https://www.youtube.com/watch?v=wULA8_h5CeY)
57 | - [Sokoban on Basic Engine LT (Orange Pi PC)](https://youtu.be/KRmvn_WmI-M)
58 | - [Sokoban on Basic Engine RX (Orange Pi PC)](https://youtu.be/V-RVXy_zJ-E)
59 | - ["platformer" demo](http://damianvila.com/basicengine/basicengine-rx.mp4)
60 |
--------------------------------------------------------------------------------
/esp.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # ESPBASIC (ESP-8266)
4 |
5 | - [ESPBASIC (Official)](http://www.esp8266basic.com/)
6 |
7 | # ANNEX WIFI RDS (ESP-8266)
8 |
9 | - [ANNEX WIFI RDS (Rapid Development Suite)](https://sites.google.com/site/annexwifi/home): Scripting environment with integrated IDE for ESP-8266 modules
10 |
--------------------------------------------------------------------------------
/freebasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • FB • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # FreeBASIC
4 |
5 | FreeBASIC is a completely free, open-source, multi-platform BASIC compiler, with syntax similar to Microsoft QuickBASIC, that adds new features such as pointers, unsigned data types, in-line assembly, object orientation, and many others. Although certainly began as a project that focused on compatibility with QB; it has since evolved into its having its own individual identity. It's certainly one of the modern BASIC's to have in your personal tool belt!
6 |
7 | FreeBASIC is credited as being created (founded) by Andre Victor T. Vicentini circa 2004. From what I understand, the current lead maintainer primarily responsible for the FreeBASIC project is [Jeff Marshall](https://github.com/jayrm). For a full list of those that have and continue to contribute to the FreeBASIC project, be sure to check out the *readme.text* included with the installation.
8 |
9 | ## Official Website
10 |
11 | - [FreeBASIC](https://www.freebasic.net/)
12 |
13 | ## Official Discord Server
14 |
15 | - [FreeBASIC (Discord)](https://discord.com/invite/286rSdK)
16 |
17 | ## Official Project
18 |
19 | - [FreeBASIC (GitHub)](https://github.com/freebasic/fbc)
20 |
21 | ## IDE
22 |
23 | - FBIde
24 | - [FBIde](https://fbide.freebasic.net/): The "#1 editor for FreeBASIC".
25 | - Xuisinboy Bekchanov
26 | - [VisualFBEditor - IDE (GitHub)](https://github.com/XusinboyBekchanov/VisualFBEditor)
27 | - Paul Squires
28 | - [FreeBASIC Editor for Windows (GitHub)](https://github.com/PaulSquires/WinFBE)
29 | - Kuan Hsu
30 | - [PoseidonFB](https://bitbucket.org/KuanHsu/poseidonfb): [Forum discussion](https://www.freebasic.net/forum/viewtopic.php?t=23935)
31 | - Marcus Germano, IV
32 | - [VSCode: FreeBASIC](https://marketplace.visualstudio.com/items?itemName=sorucoder.freebasic)
33 | - [freebasic-vscode-extension (GitHub)](https://github.com/sorucoder/freebasic-vscode-extension): A VSCode extension that adds support for modern versions of FreeBASIC
34 | - Ebben Feagan
35 | - [VSCode: lang-freebasic](https://marketplace.visualstudio.com/items?itemName=me0698.lang-freebasic)
36 | - [vscode-freebasic (GitHub)](https://github.com/mudhairless/vscode-freebasic): Syntax Coloring for Freebasic in VScode
37 | - VANYA
38 | - [UIP_FB_EDITOR](https://freebasic.net/forum/viewtopic.php?t=26030): [Home Page](https://iupfbeditor.sourceforge.io/index.html)
39 |
40 | ## Tools
41 |
42 | - Daniel Klauer
43 | - [fbfrog (GitHub)](https://github.com/freebasic/fbfrog): A command line tool which reads .h file (C API declarations) and generates corresponding .bi file(s) for FreeBASIC.
44 | - SARG
45 | - [FB debugger](https://freebasic.net/forum/viewtopic.php?t=13935)
46 |
47 | ## Libraries
48 |
49 | - JayRM
50 | - [JayRM's FreeBASIC Load Out (GitHub)](https://github.com/jayrm/fblo): Prebuilt libraries for Win32/Win64 and source files that can be dropped in to an existing FreeBASIC install. Includes: fbfrog, FBImage, libogg, libvorbis, libmad-0.15.1b, libdumb-0.9.3, libcsidlight, libpng and zlib.
51 | - Jose Roca
52 | - [Windows Framework (GitHub)](https://github.com/JoseRoca/WinFBX)
53 | - [Johannes Pihl](http://www.jattegames.com/)
54 | - fbList
55 | - fbTimer
56 | - fbHashmap
57 | - fbNetComs
58 | - Xuisinboy Bekchanov
59 | - [MyFbFramework - My FreeBasic Framework (GitHub)](https://github.com/XusinboyBekchanov/MyFbFramework)
60 | - Paul Squires
61 | - [Windows Form Library (GitHub)](https://github.com/PaulSquires/WinFormsX)
62 | - [Batched Files](https://github.com/BatchedFiles)
63 | - [Station992 - Http Server (GitHub)](https://github.com/BatchedFiles/Station922)
64 | - [Client library for IRC (GitHub)](https://github.com/BatchedFiles/IrcClientLibrary)
65 | - FreeBASIC-Extended-Library
66 | - [fb-ext-lib (GitHub)](https://github.com/FreeBASIC-Extended-Library/fb-ext-lib): A set of general purpose and game oriented libraries for FreeBASIC
67 | - Ebben Feagan
68 | - [freebasic-ecs (GitHub)](https://github.com/mudhairless/freebasic-ecs): Simple Entity Component System for FreeBASIC
69 | - Daniel Klauer
70 | - [fbbindings (GitHub)](https://github.com/freebasic/fbbindings): Scripts for fbfrog-based FreeBASIC bindings.
71 |
72 | ## Helpful Links
73 |
74 | - [Converting Microsoft lib (.LIB) to FreeBASIC lib (.dll.a)](https://www.freebasic.net/forum/viewtopic.php?t=14036)
75 |
76 | ## Additional Resources
77 |
78 | - [Compiling FB for DOS](https://www.freebasic.net/wiki/DevBuildDos)
79 | - ["Nine" Card Game (GitHub)](https://github.com/TagalongGames/Nine)
80 | - [FreeBASIC in Russian (Unofficial)](http://www.freebasic.su/)
81 |
--------------------------------------------------------------------------------
/gambas.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • FB • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Gambas
4 |
5 | > Gambas Almost Means BASIC!
6 |
7 | Gambas is a free development environment and a full powerful development platform based on a Basic interpreter with object extensions, as easy as Visual Basic™.
8 |
9 | - [Home](http://gambas.sourceforge.net/en/main.html):
10 |
--------------------------------------------------------------------------------
/gfa.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • FB • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # GFA-BASIC 32 for Windows
4 |
5 | > GFA-BASIC 32 for Windows is the most powerful 32-bits BASIC for Windows 9x/NT/200x/XP/Vista/7/8/10. It comes a with a RAD (integrated development) including the famous GFA-BASIC text-editor, design-time form-editor, and a blazingly optimized compiler.
6 |
7 | - [GFA-BASIC 32 for Windows](http://gfabasic32.blogspot.com/)
8 |
9 | ## Resources
10 |
11 | - [Resourceful GFA Basic - Part One](https://www.atarimagazines.com/startv3n1/resourcefulgfabasicpartone.html) by John L. Hutchinson
12 | - [GFA-Basic Editor](https://gfabasic.net/) - A GEM Editor for the Atari ST
13 |
--------------------------------------------------------------------------------
/github.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # GitHub
4 |
5 | [GitHub](https://github.com/) is a platform and cloud-based service for software development and version control using [Git](https://git-scm.com/), allowing developers to store and manage their code. It provides the distributed version control of [Git](https://git-scm.com/) plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project.
6 |
7 | For [GitHub](https://github.com/) (the web site) documentation, check out [GitHub Docs](https://docs.github.com) which claims "Help for wherever you are on your [GitHub](https://github.com/) journey."
8 |
9 | ## GitHub Desktop
10 |
11 | [GitHub Desktop](https://desktop.github.com/) is an open-source desktop application that allows you to "focus on what matters instead of fighting with Git."
12 |
13 | - [Official GitHub Desktop Website](https://desktop.github.com/)
14 | - [GitHub Desktop - Documentation](https://docs.github.com/en/desktop)
15 |
16 | I'm not sure whether or not the [githubdesktop.com website](https://www.githubdesktop.com/) is related in any way to the official [GitHub](https://github.com/), but it does seem to contain a lot of content related to [GitHub Desktop](https://desktop.github.com/). You can get started by using the [GitHub Desktop Tutorial](https://www.githubdesktop.com/github-desktop-tutorial/).
17 |
18 | - [How to Use GitHub Desktop - Easy and Quick](https://youtu.be/7NNI9uW8R_o?si=elHhDrjTBJzufQol)
19 | - [Creating and Pushing repository using GitHub Desktop - Part 1](https://youtu.be/no9MJOwN_mE?si=YO43EMmH0crc8m9x)
20 | - [Creating and Pushing repository using GitHub Desktop - Part 2](https://youtu.be/GOY9wMyr7pU?si=5ysePFBl537ZUGqG)
21 | - [How to make branches and compare code across them](https://youtu.be/8-EqOFXjV8Q?si=SyLeg0s2dDYiuIJ8)
22 |
23 | ## Git and GitHub
24 |
25 | - [How to use GitHub](https://youtu.be/PQsJR8ci3J0?si=jUVEg4j7uDZJVG5Z)
26 | - [Git and Github Tutorial](https://youtu.be/xuB1Id2Wxak?si=wV_-xamjZdmOjMpS)
27 | - [GitHub Tutorial for Beginners (Part 1)](https://youtu.be/aUsFjBaGSYE?si=gsrElmaPh15k64E7)
28 | - [GitHub Tutorial for Beginners (Part 1)](https://youtu.be/1WhJJrUeoiI?si=51Bmm9t8Vd_0TNrt)
29 | - [How to clone and set SSH key](https://youtu.be/cho6H2wkMCA?si=ksgBkmfBg66cY0i_)
30 |
31 | ## More
32 |
33 | - [Quick Tip: Sync a Fork with the Original via GitHub’s Web UI](https://www.sitepoint.com/quick-tip-sync-your-fork-with-the-original-without-the-cli/)
34 | - [Syncing a Fork of a GitHub Repository with Upstream (CLI)](https://ardalis.com/syncing-a-fork-of-a-github-repository-with-upstream)
35 |
--------------------------------------------------------------------------------
/gw-basic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • GW-BASIC • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # GW-BASIC, BASICA, Clones
4 |
5 | Please be sure to take the time to visit [https://gw-basic.com](https://gw-basic.com), a site dedicated to all things GW-BASIC.
6 |
7 | ## Microsoft
8 |
9 | - [GW-BASIC User's Guide](http://www.ojodepez-fanzine.net/network/qbdl/GW-MAN/index.html)
10 | - [Compiling and Linking with BASCOM 1.0 and 2.0](http://www.ojodepez-fanzine.net/network/qbdl/bascom-compiling-and-linking.html)
11 |
12 | ## Open-Source (Official'ish)
13 |
14 | - [Microsoft Open-Sources GW-BASIC](https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/)
15 | - [Assembling Microsoft GW-BASIC from 1983, with MASM or JWasm](https://github.com/tkchia/GW-BASIC) - Fork of the following...
16 | - [Assembling Microsoft GW-BASIC from 1983](https://github.com/dspinellis/GW-BASIC)
17 | - [GW-BASIC (TK Chia)](https://gitlab.com/tkchia/GW-BASIC): Assembling Microsoft GW-BASIC from 1983, with MASM or JWasm.
18 |
19 | ## IBM
20 |
21 | - [Wikipedia - IBM Advanced BASIC (BASICA.COM)](https://en.wikipedia.org/wiki/IBM_BASIC#IBM_Advanced_BASIC)
22 |
23 | ## Clones
24 |
25 | - [PC-BASIC - Free, cross-platform emulator for the GW-BASIC family of interpreters.](http://www.pc-basic.org)
26 | - [PC-BASIC Source](https://github.com/robhagemans/pcbasic/)
27 | - ~~[GW-BASIC by Cory Smith (Silverlight Edition)](http://addressof.com/basic/)~~: no longer available due to Microsoft sunsetting (deprecating) Silverlight.
28 |
29 | ## Third-Party Extensions/Tools
30 |
31 | - [GW-BASIC Language Server (VSCode)](https://marketplace.visualstudio.com/items?itemName=sthfaceless.gw-basic-ls)
32 | - [F5 Anything (VSCode)](https://marketplace.visualstudio.com/items?itemName=discretegames.f5anything)
33 | - [Raster Master Sprite/Icon/Map Editor](https://github.com/RetroNick2020/raster-master): Has support for generating GW-BASIC source.
34 |
35 | ## Samples/Code
36 |
37 | - [Hoard of GW-BASIC](https://github.com/robhagemans/hoard-of-gwbasic) - A collection of GW-BASIC code by various authors
38 | - [The *Converting the 'BASIC Computer Games' to 'modern languages'* project.](https://github.com/coding-horror/basic-computer-games/). [Read more...](https://hackaday.com/2021/02/26/the-famous-basic-computer-games-book-gets-a-2021-update/)
39 |
40 | ## Videos
41 |
42 | - [Writing a Tetris clone in GW-BASIC -- Tandy 1000 programming example](https://www.youtube.com/watch?v=JDnypVoQcPw) ([Source (PDF)](https://bisqwit.iki.fi/jutut/kuvat/programming_examples/gwbasictetris.pdf))
43 |
44 | ## SUPER COOL PROJECTS!
45 |
46 | - [The M.I.C.E. Project - The (World's) Most Ill-Conceived Emulator: A TRS-80 Model I Emulator in GW-BASIC.](http://www.vavasour.ca/jeff/mice.html)
47 |
--------------------------------------------------------------------------------
/images/6502.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/6502.jpg
--------------------------------------------------------------------------------
/images/800px-Tektronix_4051_ad_April_1976.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/800px-Tektronix_4051_ad_April_1976.jpg
--------------------------------------------------------------------------------
/images/BASIC-sign-1080x675.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/BASIC-sign-1080x675.jpg
--------------------------------------------------------------------------------
/images/ShapeDemo.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/ShapeDemo.zip
--------------------------------------------------------------------------------
/images/amiga1000.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/amiga1000.jpg
--------------------------------------------------------------------------------
/images/amiga500.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/amiga500.jpg
--------------------------------------------------------------------------------
/images/amiga_basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/amiga_basic.png
--------------------------------------------------------------------------------
/images/amiga_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/amiga_logo.svg.png
--------------------------------------------------------------------------------
/images/apple2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/apple2.png
--------------------------------------------------------------------------------
/images/apple2_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/apple2_logo.png
--------------------------------------------------------------------------------
/images/atari600xl.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/atari600xl.jpg
--------------------------------------------------------------------------------
/images/atari800xl.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/atari800xl.jpg
--------------------------------------------------------------------------------
/images/bbc_basic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/bbc_basic.gif
--------------------------------------------------------------------------------
/images/bbc_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/bbc_logo.svg.png
--------------------------------------------------------------------------------
/images/bbc_micro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/bbc_micro.jpg
--------------------------------------------------------------------------------
/images/c64.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/c64.jpg
--------------------------------------------------------------------------------
/images/c64_basic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/c64_basic.gif
--------------------------------------------------------------------------------
/images/c64_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/c64_logo.svg.png
--------------------------------------------------------------------------------
/images/callbyname.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/callbyname.zip
--------------------------------------------------------------------------------
/images/centurion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/centurion.png
--------------------------------------------------------------------------------
/images/coco1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/coco1.jpg
--------------------------------------------------------------------------------
/images/coco1a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/coco1a.jpg
--------------------------------------------------------------------------------
/images/coco2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/coco2.jpg
--------------------------------------------------------------------------------
/images/coco3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/coco3.jpg
--------------------------------------------------------------------------------
/images/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/download.png
--------------------------------------------------------------------------------
/images/ehbasic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/ehbasic.png
--------------------------------------------------------------------------------
/images/ehbasic_symon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/ehbasic_symon.png
--------------------------------------------------------------------------------
/images/historical_marker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/historical_marker.jpg
--------------------------------------------------------------------------------
/images/historical_marker_modified.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/historical_marker_modified.jpg
--------------------------------------------------------------------------------
/images/mc10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/mc10.jpg
--------------------------------------------------------------------------------
/images/mc10_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/mc10_logo.svg.png
--------------------------------------------------------------------------------
/images/microbee.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/microbee.jpg
--------------------------------------------------------------------------------
/images/microbee_logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/microbee_logo.gif
--------------------------------------------------------------------------------
/images/more_basic_computer_games.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/more_basic_computer_games.jpg
--------------------------------------------------------------------------------
/images/pet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/pet.jpg
--------------------------------------------------------------------------------
/images/pet_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/pet_logo.svg.png
--------------------------------------------------------------------------------
/images/smartbasic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/smartbasic.jpg
--------------------------------------------------------------------------------
/images/trs80.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/trs80.jpg
--------------------------------------------------------------------------------
/images/trs80_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/trs80_logo.svg.png
--------------------------------------------------------------------------------
/images/trs80_model1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/trs80_model1.jpg
--------------------------------------------------------------------------------
/images/trs80_model3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/trs80_model3.jpg
--------------------------------------------------------------------------------
/images/trs80_model4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/trs80_model4.jpg
--------------------------------------------------------------------------------
/images/trs80_model4p.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/trs80_model4p.jpg
--------------------------------------------------------------------------------
/images/vic20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/vic20.jpg
--------------------------------------------------------------------------------
/images/vic20_logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DualBrain/gotBASIC/e62fdaf3db64105e060ad3b220c0d95f141262e2/images/vic20_logo.svg.png
--------------------------------------------------------------------------------
/justbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Just BASIC
4 |
5 | Just BASIC is a programming language for Windows. It is completely free and it is suitable for creating all kinds of applications for business, industry, education and entertainment.
6 |
7 | ### Where to find?
8 |
9 | - [Just BASIC](http://www.justbasic.com/)
10 | - [Official Form](https://justbasiccom.proboards.com/)
11 |
12 | ### Social Media
13 |
14 | - [Facebook](https://www.facebook.com/groups/2057165187928233)
15 |
16 | ### See Also
17 |
18 | - [Run BASIC](http://runbasic.com/)
19 | - [Liberty BASIC](http://www.libertybasic.com/)
20 |
--------------------------------------------------------------------------------
/linux.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Helpful Linux Links
4 |
5 | ## Nano
6 |
7 | - Copy/Paste: CTRL+K (to cut), CTRL+U (to paste) - use CTRL+U to paste somewhere else.
8 |
9 | ## User/Permission
10 |
11 | - [How to Create a user in Debian Linux using adduser Command](https://www.configserverfirewall.com/debian-linux/debian-create-user-command/)
12 |
13 | ## File System
14 |
15 | - [How to Mount USB Drive on Linux](https://linuxhint.com/how-to-mount-usb-drive-on-linux/#:~:text=%20How%20to%20Mount%20USB%20Drive%20on%20Linux,mount%20point.%20%20...%20In%20above...%20More%20)
16 | - [How to change your directory to 1777 using chmod](http://www.filepermissions.com/directory-permission/1777)
17 | - [How to Delete Files and Directories in the Linux Terminal](https://www.howtogeek.com/409115/how-to-delete-files-and-directories-in-the-linux-terminal/)
18 | - [How to List Your Computer's Devices From the Linux Terminal](https://www.howtogeek.com/426199/how-to-list-your-computers-devices-from-the-linux-terminal/)
19 |
20 | ## Samba
21 |
22 | - [How to Set Up a Samba Server on Debian 10 Buster](https://linuxconfig.org/how-to-set-up-a-samba-server-on-debian-10-buster#:~:text=Software%20Requirements%20and%20Linux%20Command%20Line%20Conventions%20,given%20linux%20commands%20to%20be%20%20...%20)
23 | - [Samba: Set up a Raspberry Pi as a File Server for your local network](https://magpi.raspberrypi.org/articles/samba-file-server)
--------------------------------------------------------------------------------
/maximite.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # The Colour Maximite
4 |
5 | There are several flavors (editions) of the Colour Maximite:
6 |
7 | - [Colour Maximite](cmm1.md)
8 | - [Colour Maximite 2](cmm2.md)
9 | - [Micromite](micromite.md)
--------------------------------------------------------------------------------
/mc10.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # RadioShack TRS-80 Color Computer MC-10
4 |
5 | 
6 |
7 | ## Emulation
8 |
9 | 
10 |
11 | - [MC-10 Javascript Emulator](http://mc-10.com/): ([source](https://github.com/gregdionne/mc-10))
12 | - [Virtual MC-10](https://www.zophar.net/trs80/virtual-mc-10.html)
13 |
14 | ## Documentation
15 |
16 | - [Radio Shack TRS-80 MC-10 Micro Color Computer Operation and Language Reference Manual](https://colorcomputerarchive.com/repo/MC-10/Documents/Manuals/Hardware/MC-10%20Operation%20and%20Language%20Reference%20Manual/MC-10%20Operation%20and%20Language%20Reference%20Manual%20(Tandy).pdf)
17 |
18 | ## Blogs / Sites
19 |
20 | - [TRS-80 MC-10 Programming Blog](http://jimgerrie.blogspot.ca/)
21 | - [Charlie's TRS-80 MC-10 web page](https://chazbeenhad.tripod.com/): Software and Links for the TRS-80 Micro Color Computer Model MC-10.
22 |
23 | ## YouTube
24 |
25 | - [Jim Gerrie](https://www.youtube.com/user/BenevolentChum)
26 |
27 | ## Code
28 |
29 | - [Type-in Mania: An Interactive Database of Early Basic Computer Applications](http://faculty.cbu.ca/jgerrie/Home/Type-in-Mania.html)
30 | - [Games and other software for the TRS-80 MC-10](https://github.com/jggames/trs80mc10)
31 | - [mcbasic/examples](https://github.com/gregdionne/mcbasic/tree/main/examples): The files in the benchmark directory are small examples that can be run to compare the speed or performance against the MICROCOLOR BASIC interpreter. See the README.md file in that directory to learn more about them.
32 |
33 | ## Projects
34 |
35 | - [trs80mc10](https://github.com/jggames/trs80mc10): Games and other software for the TRS-80 MC-10
36 | - [mcbasic](https://github.com/gregdionne/mcbasic): A cross-compiler for MICROCOLOR BASIC 1.0 which runs on a stock TRS-80 MC-10 or on James Tamer's "Virtual MC-10" which runs on Windows and bundles a shareware Telemark cross-assembler.
37 | - [tasm6801](https://github.com/gregdionne/tasm6801): Simple TASM-like cross-assembler for the Motorola 6801/6803 processor
--------------------------------------------------------------------------------
/mcsbasic52.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # MCS BASIC-52
4 |
5 | Welcome to MCS BASIC-52. This program functions as a BASIC interpreter occupying 8K of ROM in INTEL's 8052AH micro-controller. MCS BASIC-52 provides most of the features of "standard" BASICS, plus many additional features that apply to control environments and to the architecture of the 8052AH.
6 |
7 | The design goal of MCS BASIC-52 was to develop a software program that would make it easy for a hardware/software designer to interact with the 8052 device; but, at the same time not limit the designer to the slow and sometimes awkward constructs of BASIC. This program is not a "toy" like many of the so called TINY BASICS. It is a powerful software tool that can significantly reduce the design time of many projects. MCS BASIC-52 is ideal for so called embedded systems, where terminals are not attached to system, but the system controls and manipulates equipment and data.
8 |
9 | MCS BASIC-52 offers many unique hardware and software features, including the ability to store and execute the user program out of an EPROM, the ability to process interrupts within the constructs of a BASIC program, plus an accurate real time clock. In addition, the arithmetic routines and l/O routines contained in MCS BASIC-52 can be accessed with assembly language CALL routines. This feature can be used to eliminate the need for the user to write these sometimes difficult and tedious programs.
10 |
11 | - [Intel MCS BASIC-52 v1 & 1.1 Operating and Reference Manual (PDF)](https://www.dos4ever.com/8031board/Basic52Manual.pdf)
12 | - [MCS BASIC-52 Reference Manual (HMTL)](https://www.nomad.ee/micros/bas52man/index.shtml)
13 |
14 | ## Projects
15 |
16 | - [8031 Kit Computer for VCF Southwest (GitHub)](https://github.com/channelmaniac/VCF_8031/tree/main)
17 | - [MCS-52 Basic](https://www.billy.gr/mcs-basic-52/)
18 |
--------------------------------------------------------------------------------
/micro.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • Micro • [Retro](retro.md)
2 |
3 | # Microcontrollers
4 |
5 | - [AVR (Arduino)](avr.md)
6 | - [ESP-8266](esp.md)
7 | - [PIC](pic.md)
8 | - [MICROMITE](micromite.md)
9 |
10 | ## Projects
11 |
12 | - [RunCPM](https://github.com/MockbaTheBorg/RunCPM): RunCPM is a multi-platform, portable, Z80 CP/M 2.2 emulator.
13 |
--------------------------------------------------------------------------------
/microbee.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Applied Technology MicroBee Colour Basic
4 |
5 | 
6 |
7 | 
8 |
9 | - [Emulator](http://nanowasp.org/)
10 |
--------------------------------------------------------------------------------
/micromite.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Micromite
4 |
5 | Powerful micro-controllers that are incredibly easy to use.
6 |
7 | - [Micromite (Official)](https://micromite.org/)
8 | - See also [Colour Maximite](maximite.md)
9 |
10 | ## Duinomite
11 |
12 | The Duinomite is similar in concept to the Micromite; but rather than a PIC32, it's based on the Arduino platform.
13 |
14 | - [Olimex Duinomite-Mini](https://www.olimex.com/Products/Duino/Duinomite/DUINOMITE-MINI/open-source-hardware)
15 | - [OLIMEX/DuinoMite (GitHub)](https://github.com/OLIMEX/DuinoMite/tree/master/SOFTWARE)
16 | - [DuinoMite – retro Snake game written in Basic](https://olimex.wordpress.com/2012/01/16/duinomite-retro-snake-game-written-in-basic/)
17 | - [DUINOMITE with GAMEDUINO shield](https://olimex.wordpress.com/2012/01/14/duinomite-with-gameduino-shield/)
18 | - [DUINOMITE – MEASURING TEMPERATURE II (LM335Z)](https://olimex.wordpress.com/2012/01/13/duinomite-measuring-temperature-ii-lm335z/)
19 | - [Measuring temperature in range -55C +150C with Duinomite and KTY81,110](https://olimex.wordpress.com/2012/01/11/measuring-temperature-in-range-55c-150c-with-duinomite-and-kty81110/)
20 | - [DUINOMITE BASIC INSTRUCTIONS PER SECOND SPEED (BIPS)](https://olimex.wordpress.com/2012/01/12/duinomite-basic-instructions-per-second-speed-bips/)
--------------------------------------------------------------------------------
/mmbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # MMBasic
4 |
5 | > MMBasic is a free and open BASIC interpreter for 32 bit microcontrollers.
6 |
7 | > It includes floating point numbers, extensive string handling, multi dimensional arrays and structured programming features like do loops, multiline if statements, user defined subroutines and functions.
8 |
9 | > MMBasic is generally backwards compatible with Microsoft's MBASIC and implements much of the ANSI Standard for Full BASIC (X3.113-1987).
10 |
11 | There is also a [version that works on Windows (XP+)](https://geoffg.net/Downloads/WindowsMMBasic/DOS_MMBasic.zip); no installation required.
12 |
13 | - [MMBasic](https://mmbasic.com/)
14 | - [MMBasic for Windows based on olcPixelGameEngine (GitHub)](https://github.com/UKTailwind/MMB4W)
15 |
16 | ## Games
17 |
18 | - [wolf3d_cmm2](https://github.com/mauroxavierneto/wolf3d_cmm2): Wolfenstein 3D version made from scratch for Colour Maximite 2 (work in progress). Warning: Contains blood and images that may be disturbing to a sensitive audience (swastika).
--------------------------------------------------------------------------------
/moonrock.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## MoonRock
4 |
5 | MoonRock is a BASIC-like language with several extensions. Produces small and tight executables (MS-DOS). 8086, 80186+ or 80386+ code. DOS real mode or DPMI protected mode.
6 |
7 | - [Home](http://www.rowan.sensation.net.au/moonrock.html)
8 |
--------------------------------------------------------------------------------
/mssb.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Microsoft Small Basic
4 |
5 | According to the [official website](http://smallbasic.com):
6 |
7 | *"Small Basic is the **only** programming language created specially to help students transition from block-based coding to text-based coding. By teaching the fundamental elements of syntax-based languages in an approachable manner, Small Basic gives students the skills and confidence to tackle more complex programming languages such as Java and C#. You can also build applications for Kinect, Lego Mindstorm, Raspberry Pi, Arduino, Oculus Rift, and more using Small Basic.*
8 |
9 | *From age 7 to 107, Small Basic is one of the easiest ways to learn to code."*
10 |
11 | **BEGIN RANT!!**
12 |
13 | *Really?!?!*
14 |
15 | I'm planning on doing a full video and write up on this product. Fair warning, this isn't going to be very pretty!
16 |
17 | Although I applaud the effort, it's pretty clear to me that the people (or person) that originally designed the language is not someone whom is familiar with BASIC.
18 |
19 | What follows is not an exhaustive list of "issues" I see, but I believe this gives a bit of a window into why I am so disappointed:
20 |
21 | - Application has no automatic update or even any sort of indication that there is a new version available.
22 | - In order to upgrade you have to uninstall/reinstall.
23 | - Methods require that you have parens around the parameters.
24 | - Appears to support the concept of subroutines; however, no ability to pass parameters (so what is the point). This basically hamstrings the ability to create reusable code or have code that easily be shared/reused. All in an environment that encourages sharing of code.
25 | - Sort of related to the previous entry, all variables are global in scope.
26 | - Arrays don't have square brackets.
27 | - Because TextWindow.WriteLine("Hello World") is SOOOO much better than PRINT "Hello World". ;-)
28 | - Start here so you can move to Java and C#????? What about VB?
29 | - There is the whole "graduate" thing that doesn't work.
30 | - On the official blog (at the time of making this list), the first entry is an [example](http://smallbasic.com/program/?NHT122-2). Going to this example in Internet Explorer you'll find that there is a Silverlight version of the "compiler". Running the application... it doesn't work. OK, let's check to see if it works in the Windows application. Launch and Import using the code NHT122-2. Found, run... same problem. The keys don't seem to align. Switch over to the Web version... enter the number NHT122-2... not found. Copy and paste the code directly, run... blank screen. Try to downgrade back to 1.1... can't find the installer. Grrr. Literally, it's the first highlighted sample on their official blog!!!!
31 |
32 | Basically I'm saying that this version of BASIC suffers from a form multiple-personality disorder. It's not 100% sure of what it actually is supposed to be.
33 |
34 | I'm so disappointed with this version of BASIC because it truly holds so much promise that it just falls so short of.
35 | Outside of the bad decisions around the "language" implementation... the web-based "IDE" is awesome! The "intellisense" approach is pretty cool. Having easy and quick access to help is great. Encouraging (and having it built in) the ability to share samples/code. Top-level code (removal of the ceremony of VB.NET)... awesome! Like I said... if it weren't for some seriously bad things... this would be awesome!
36 |
37 | **END RANT!!**
38 |
39 | ## IDE
40 |
41 | - [Small Basic v1.2 Download](https://download.microsoft.com/download/3/6/8/3684D9A0-C25C-4F50-96E2-2BB1DFA146E7/SmallBasic.msi)
42 | - [Small Basic Online Editor](https://smallbasic-publicwebsite.azurewebsites.net/Program/Editor.aspx)
43 |
44 | ## How-To's
45 |
46 | - [Official Tutorials](https://smallbasic-publicwebsite.azurewebsites.net/Pages/Tutorials/Tutorials.aspx)
47 |
48 | ## Communities
49 |
50 | - [Official Blog](https://techcommunity.microsoft.com/t5/Small-Basic-Blog/bg-p/SmallBasic)
51 | - [Official Blog (before being moved.)](https://blogs.msdn.microsoft.com/smallbasic/)
52 |
--------------------------------------------------------------------------------
/msx.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## MSX
4 |
5 | - [Blue MSX](https://www.bluemsx.com/): Browser-based MSX emulator.
6 |
--------------------------------------------------------------------------------
/other.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Other...
4 |
5 | ## People
6 |
7 | - [Felix Codes - Basic Forever](https://felix.plesoianu.ro/languages/basic/index.html)
8 |
9 | ## Other...
10 |
11 | - [Minsk - Building a Compiler - coded live during streaming via YouTube (GitHub)](https://github.com/terrajobst/minsk): This repo contains Minsk, a handwritten compiler in C#. It illustrates basic concepts of compiler construction and how one can tool the language inside of an IDE by exposing APIs for parsing and type checking.
12 | - [How to Build an 8-bit Computer](https://www.instructables.com/id/How-to-Build-an-8-Bit-Computer/)
13 | - [GB Studio](https://www.gbstudio.dev/): A free and easy to use retro adventure game creator for your favorite handheld video game system.
14 | - [AVR-BASIC Computer (GitHub))](https://github.com/fuzzymannerz/AVR-BASIC-Computer): An updated version of [AVR-BASIC Computer v1](https://hackaday.io/project/3537-avr-basic-computer-v01) to work with Arduino IDE >=1.8.
15 | - [S#](https://github.com/PetroProtsyk/SSharp)
16 | - [Irony - .NET Compiler Construction Kit](https://www.codeproject.com/articles/22650/irony-net-compiler-construction-kit)
17 | - [The Weekly Source Code 59 - An Open Source Treasure: Irony .NET Language Implementation Kit](https://www.hanselman.com/blog/the-weekly-source-code-59-an-open-source-treasure-irony-net-language-implementation-kit)
18 | - [Irony — .NET Language Implementation Kit](https://github.com/IronyProject/Irony/)
19 |
20 | # Shouldn't these projects be in BASIC? ;-)
21 |
22 | - [BSAVEViewer (GitHub)](https://github.com/ChainedLupine/BSAVEViewer)
23 |
--------------------------------------------------------------------------------
/oxygen.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Oxygen Basic
4 |
5 | Oxygen Basic (O2H) is a compiler assembler and linker, deployed in a single DLL that takes source code strings and creates executable binary in memory. This implementation can be embedded in any application to provide high performance programmability. The compiler can also generate conventional 32 / 64 bit executables and dynamic link libraries.
6 |
7 | Oxygen supports Object Oriented Programming with multiple inheritance and also single inheritance modes, more suited to COM. In addition to this O2H supports customised operators for classes. It can also build secondary binaries from source code strings at run time with its dynamic compile() function.
8 |
9 | The built-in function set is small. but contains the necessary tools to build class / function libraries to any scale.
10 |
11 | In addition to understanding Basic in the QBasic genre, Oxygen can read sufficient C syntax to deal with most C headers directly, eliminating the need to translate them into Basic.
12 |
13 | - [Official Site](https://www.oxygenbasic.org)
14 |
--------------------------------------------------------------------------------
/pet.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Commodore PET
4 |
5 | 
6 |
7 | 
8 |
9 | - [Commodore PET Online Emulator](https://c64online.com/commodore-pet-online-emulator/)
10 | - [Commodore PET BASIC Quick Reference](http://www.zimmers.net/cbmpics/cbm/PETx/basicref.html)
11 |
--------------------------------------------------------------------------------
/pi.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Raspberry Pi (RaspPi)
4 |
5 | - [Raspberry Pi (Official)](https://www.raspberrypi.org/)
6 | - [BBC BASIC "Console Mode"](https://www.bbcbasic.co.uk/console)
7 | - [Boot to BASIC](https://popey.com/blog/2021/01/raspberry-pi-boot-to-basic)
8 |
9 | ## BASIC
10 |
11 | **PICO**
12 |
13 | - [BBC BASIC "Console Mode"](https://www.bbcbasic.co.uk/console)
14 | - [BASIC Interpreter for the Raspberry Pi Pico](https://geoffg.net/picomite.html)
15 | - [MMBASIC - A BASIC interpereter for the Raspberry Pi](https://forums.raspberrypi.com/viewtopic.php?t=212334)
16 | - [Pi-cromite V5.4.05 with documentation](http://www.thebackshed.com/forum/ViewTopic.php?TID=9823)
17 | - [How to Set Up and Program Raspberry Pi Pico W, Pico](https://www.tomshardware.com/how-to/raspberry-pi-pico-setup)
18 |
19 | ## Visual Basic via .NET Core
20 |
21 | For the most part, discussions in this section are going to be specific to Pi4 running [Raspbian](https://www.raspbian.org) and Visual Basic as it exists through [.NET Core](https://dotnet.microsoft.com). At the time of this writing the official release of .NET Core is v3.1; v5 is "just around the corner".
22 |
23 | There are basically two paths to *developing* for Pi; one is to use another PC (Windows 10 for example) and the other is developing directly on the Pi.
24 |
25 | ### Using Windows 10
26 |
27 | - [Visual Studio 2019](https://visualstudio.microsoft.com/vs/): I prefer the *Community Edition*: from what I understand it is free for personal use,, small project/team use (5 or less in size) and or active contribution to open source. Hint: This website is actually open source; please feel free to contribute via github. ;-) When you install, be sure to select *.NET desktop development* and *.NET Core cross-platform development*.
28 | - [GTK# for .NET](https://www.mono-project.com/download/stable/): Note: Do not need to install Mono; just click the *Download Gtk#* "button".
29 |
30 | ### Using Raspbian
31 |
32 | - [.NET Core](https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian) or this [HowTo](https://elbruno.com/2019/12/30/raspberypi-how-to-install-net-core-3-1-in-a-raspberry-pi-4/)
33 | - [How to install Visual Studio Code on a Raspberry Pi 4 in minutes (Scott Hanselman)](https://www.hanselman.com/blog/HowToInstallVisualStudioCodeOnARaspberryPi4InMinutes.aspx): Please note that the build for this is actually targeting *stretch*, not *buster* - but seems to work just fine.
34 | - [VB.NET Grammar and Snippets for VSCode](https://marketplace.visualstudio.com/items?itemName=gordonwalkedby.vbnet): This provides the appropriate *experience* for writing Visual Basic since the *out-of-the-box* experience, well to put it plainly, sucks.
35 | - (Todo) Need to verify, validate, update regarding the installation of GTK.
36 | - (Todo) Need to provide instructions for *patching* the VSCode installation so that you can launch using "code" instead of "code-oss".
37 | - (Todo) Need to provide instructions for *modifying* the terminal instances so that the *path* stuff is automatically attached.
38 |
39 | To make things simpler (since I prefer to develop on Windows 10), I also setup remote desktop from Windows 10 to Pi4 following the instructions for *Remote desktop with xrdp* using [this](https://raspberrytips.com/remote-desktop-raspberry-pi/).
40 |
41 | ### Building a GUI-style Application
42 |
43 | The following instructions are an overview (500 mile high) set of actions you must do regardless of whether or not you are developing using Visual Studio 2019 (Windows 10) or Visual Studio Code (Raspbian).
44 |
45 | - For the first time (once), you'll need to also install [Glade](https://glade.gnome.org). For Raspbian, see [here](https://snapcraft.io/install/glade/raspbian).
46 | - Create a regular *Console* application for .NET Core 3.1.
47 | - Need to modify the "<OutputType>Exe</OutputType>" to "<OutputType>WinExe</OutputType>"
48 | - Need to add the nuget package for "[GtkSharp](https://www.nuget.org/packages/GtkSharp)"
49 | - Need to add the nuget package for "[System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/4.7.0)"
50 |
51 | ## Tutorials
52 |
53 | - [GtkSharp - Cross Platform Toolkits (5 part series)](http://grbd.github.io/posts/2016/01/28/gtksharp-part-1-cross-platform-toolkits/)
54 | - [ZetCode - GTK# tutorial](http://zetcode.com/gui/gtksharp/)
55 | - [ZetCode - Widgets II in GTK#](http://zetcode.com/gui/gtksharp/widgetsII/)
56 |
57 | ## Q&A
58 |
59 | - [How to check the OS version at runtime?](https://stackoverflow.com/questions/5116977/how-to-check-the-os-version-at-runtime-e-g-on-windows-or-linux-without-using)
60 | - [Glade Multiple Window Project](https://stackoverflow.com/questions/54853986/glade-gtkmm-multiple-window-project)
61 | - [Can't center dialog window above main window when using Glade (Quickly)](https://askubuntu.com/questions/186587/cant-center-dialog-window-above-main-window-when-using-glade-quickly)
62 | - [Open subwindow in GTK3](https://stackoverflow.com/questions/22747195/open-subwindow-in-gtk3)
63 | - [Make GTK widget fill parent window](https://stackoverflow.com/questions/29985323/make-gtk-widget-fill-parent-window)
64 | - [How do I access GUI (GTK) from multi threads?](https://stackoverflow.com/questions/2548200/how-do-i-access-gui-gtk-from-multi-threads)
65 |
66 | ## Helpful Links
67 |
68 | - [5 ways to remote desktop on Raspberry Pi (Windows/Linux/Mac)](https://raspberrytips.com/remote-desktop-raspberry-pi/)
69 | - [Barrier - Software KVM](https://github.com/debauchee/barrier/releases/tag/v2.3.2)
70 | - [How To Install Visual Studio Code on a Raspberry Pi 4 In Minutes](https://www.hanselman.com/blog/HowToInstallVisualStudioCodeOnARaspberryPi4InMinutes.aspx)
71 | - [Discussion of "Move UI from WinForms to GTK#"](https://github.com/KSP-CKAN/CKAN/issues/1840)
72 | - [An introduction to GUI building with Glade (PDF)](https://www-uxsup.csx.cam.ac.uk/courses/moved.Glade/course.pdf)
73 |
74 | ## For future research
75 |
76 | - [Convert a GTK application to a Qt application](https://madebyryan.blogspot.com/2011/07/convert-gtk-application-into-qt.html)
77 | - [QtSharp (GitHub)](https://github.com/ddobrev/QtSharp)
78 | - [QtSharp (GitLab)](https://gitlab.com/ddobrev/QtSharp)
79 | - [Cross Platform WinForms (Kinda)](https://dotnetcoretutorials.com/2018/03/19/cross-platform-winforms-kinda/)
80 | - [Programming with gtkmm 3](http://transit.iut2.upmf-grenoble.fr/doc/gtkmm-3.0/tutorial/html/index.html)
81 | - [GTK+ Reference Manual](https://developer.gimp.org/api/2.0/gtk/index.html)
82 | - [GtkSharp: HelloWorld, second try (scroll down a little bit)](https://www.mono-project.com/docs/gui/gtksharp/hello-world/)
83 | - [convert gtkglade to libglade for backwards compatibility](https://stackoverflow.com/questions/5599394/convert-gtkglade-to-libglade-for-a-backwards-compatibility)
84 | - [How do I use gtk builder in C#](https://stackoverflow.com/questions/15599497/how-do-i-use-gtk-builder-in-c-sharp)
85 | - [Glade 3.8 Win32 Binaries](http://ftp.gnome.org/pub/GNOME/binaries/win32/glade/3.8/)
86 | - [Creating a closable tab in Mono/GTK](https://stackoverflow.com/questions/2581902/creating-a-closeable-tab-in-mono-gtk)
87 | - [Layout management in PyGTK](http://zetcode.com/gui/pygtk/layout/) or [GTK+ layout management](http://zetcode.com/gui/gtk2/gtklayoutmanagement/)
88 | - [Menus and toolbars in GTK+](http://zetcode.com/gui/gtk2/menusandtoolbars/)
--------------------------------------------------------------------------------
/pic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # PICAXE
4 |
5 | A PICAXE chip is a standard Microchip PIC microcontroller that has been pre-programmed with the PICAXE bootstrap firmware code. The bootstrap code enables the PICAXE microcontroller to be re-programmed 'in position' directly via a simple 'three wire' download cable connection. This eliminates the need for an (expensive) conventional PIC programmer, making the whole download programming system a low-cost USB cable. The same software and download cable is used for all PICAXE chip sizes and project boards.
6 |
7 | - [PICAXE (Official)](https://picaxe.com/)
8 |
9 | # PIC Microcontrollers
10 |
11 | - [MikroE - mikroBasic PRO for PIC](https://www.mikroe.com/mikrobasic-pic)
12 |
13 | # PIC32 Microcontrollers
14 |
15 | - [MikroE - mikroBasic PRO for PIC32](https://www.mikroe.com/mikrobasic-pic32)
16 | - [TRS-80 Model 1 on a PIC32 (Hackaday.IO)](https://hackaday.io/project/9077-trs-80-model-1-on-a-pic32)
17 | - [TRS-80 Model 1 on a PIC32 (Homepage)](https://chiselapp.com/user/ziggurat29/repository/MaximiteTRS80/index)
18 | - [Port of z80sim 1.17 to PIC32 (GitHub)](https://github.com/TheCodeman/z80pack-1.17-ksd-pic32)
19 |
--------------------------------------------------------------------------------
/powerbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # PowerBASIC
4 |
5 | > PowerBASIC offers a selection of compilers and other tools for software development. Perfect for all programmers, whether you’re a novice, an expert, or somewhere in between.
6 |
7 | From a historical point of view, PowerBASIC is the continued evolution of Borland's Turbo Basic. For more details, please see [wikipedia](https://en.wikipedia.org/wiki/PowerBASIC).
8 |
9 | - [Official Site](https://www.powerbasic.com/)
10 | - [PowerBASIC Console Compiler](https://www.powerbasic.com/powerbasic-console-compiler)
11 |
--------------------------------------------------------------------------------
/purebasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # PureBasic by Fantaisie Software
4 |
5 | > PureBasic is a modern BASIC programming language. The key features of PureBasic are portability (Windows, Linux and OS X supported with the same source code), the production of very fast and optimized native 32-bit or 64-bit executables and, of course, the very simple BASIC language syntax. PureBasic has been created for the beginner and expert alike. We have put a lot of effort into its conception to produce a fast, reliable system and friendly BASIC compiler. The full documentation can be found here.
6 |
7 | > Despite its beginner-friendly syntax, the possibilities are endless with PureBasic's advanced features such as pointers, structures, procedures, dynamically linked lists and much more. Experienced coders will have no problem gaining access to any of the legal OS structures or API objects and PureBasic even allows inline assembly.
8 |
9 | - [PureBasic](https://www.purebasic.com/)
10 |
--------------------------------------------------------------------------------
/qb.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • QB45 • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Microsoft QuickBASIC, PDS BASIC and QBasic
4 |
5 | ## Where can you find a download?
6 |
7 | - If you have a copy of Windows XP; look for the olddos.exe file which contains QBasic 1.1.
8 | - [QBasic](http://members.optusnet.com.au/mskeon/qbastest.html)([Additional Details.](https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/the-case-for-quick-basic-in-the-21st-century/dbc79c0a-9f4a-4e32-824f-7a0672628ccd?auth=1))
9 | - See alternative [QB64](QB64.md)...
10 | - See alternative [FreeBASIC](FreeBASIC.md)...
11 | - See alternative [Bsharp (B#)](https://github.com/DualBrain/bsharp)...
12 | - See alternative [QBC](QBC.md)...
13 |
14 | ## Online?
15 |
16 | - [CLASSIC RELOAD - QuickBASIC](https://classicreload.com/dosx-quickbasic.html)
17 | - [QBasic Online Compiler](https://codedamn.com/online-compiler/qbasic)
18 |
19 | ## Tutorials
20 |
21 | - [QBasic for Beginners](https://www.qbasic.net/en/qbasic-tutorials/beginner/qbasic-beginner-1.htm)
22 | - [QBASIC Programming for Kids by Ted Felix](http://tedfelix.com/qbasic/)
23 |
24 | ## Questionable??
25 |
26 | - [WinWorld - QuickBasic 4.5](https://winworldpc.com/product/quickbasic/45)
27 |
28 | ## Third-Party Extensions
29 |
30 | The following products from the company formally known as *Crescent Software* and *Full Moon Software* have all been generously made [freely available (meaning **public domain**)](http://annex.retroarchive.org/crescent/index.html) (with source) via GitHub (linked below). You can also find more details on this directly from the original author (and, dare I say, legend) [Ethan Winer](http://ethanwiner.com/fullmoon.html).
31 |
32 | - [QuickPak Professional for DOS (Crescent Software)](https://github.com/geneb/QuickPak-Pro-DOS): The most comprehensive collection of BASIC tools ever produced.
33 | - [P.D.Q. (Crescent Software)](https://github.com/geneb/PDQ): A revolutionary concept in high-level languages.
34 | - [QB Plus (Crescent Software)](https://github.com/geneb/QBPlus): A collection of software accessories developted for the QuickBASIC programmer.
35 | - [Don Malin's XREF (Crescent Software)](https://github.com/geneb/XREF): The most sophisticated cross-reference program ever developed.
36 | - [QuickScreen (Crescent Software)](https://github.com/geneb/QuickScreen): Tools to create text entry screens in QuickBASIC 4.x and PDS 7.x.
37 | - [QuickPak Scientific (Crescent Software)](https://github.com/geneb/QuickPakScientific): A powerful numerical analysis toolbox for DOS compiled BASIC.
38 | - [QuickMenu (Crescent Software)](https://github.com/geneb/QuickMenu): A DOS menuing system.
39 | - [PDQComm (Crescent Software)](https://github.com/geneb/PDQComm): Add full-featured communications to your compiled BASIC programs.
40 | - [LaserPak (Crescent Software](https://github.com/geneb/LaserPak): A comprehensive set of subroutines for generating graphics on a laserjet or compatible.
41 | - [GraphPak Professional (Crescent Software)](https://github.com/geneb/GraphPak): Add professional-looking graphs and charts to your programs.
42 | - [The Graphics Workshop (Crescent Software)](https://github.com/geneb/GraphicsWorkshop): Create blazing fast graphics with half the code.
43 | - [Graphics QuickScreen (Crescent Software)](https://github.com/geneb/Graphics-QuickScreen): Tools to create graphics entry screens in QuickBASIC 4.x, PDS 7.x and VBDOS.
44 | - [Compression Workshop (Crescent Software)](https://github.com/geneb/CompressionWorkshop): Routines to compress and decompress data.
45 | - [QBase](https://github.com/geneb/QBase): Database system.
46 |
47 | There are many, many, many others that provided third-party tools...
48 |
49 | - [Fastgraph for DOS](http://fastgraph.com/catalog.html): Assembly language graphics powerhouse providing not only raw speed but ease of doing so. This is an amazing product the deserves a solid mention for the DOS BASIC developer. Will also mention when combined with [Fastgraph/Fonts](http://fastgraph.com/catalog.html) and [Fastgraph/Image](http://fastgraph.com/catalog.html) you could pretty much accomplish anything in BASIC that could be done in any language available for DOS.
50 |
51 | ## Resources
52 |
53 | - [QB45.org](https://qb45.org/): About programming in QBasic/QuickBASIC, the programming language that was developed by Microsoft.
54 | - [QBasic Source Code Public Domain](https://thedubber.altervista.org/qbsrc.htm)
55 | - [Hardware Level VGA and SVGA Video Programming Information](https://www.osdever.net/FreeVGA/vga/vgatext.htm)
56 |
57 | ## Communities
58 |
59 | - [QuickBASIC Cafe](https://www.qbasic.net/)
60 | - [Pete's QBASIC / QuickBasic Site](www.petesqbsite.com/)
61 |
62 | ## Interesting Projects
63 |
64 | - [A Markdown implementation for FreeDOS](https://github.com/clasqm/QBASDOWN): Convert (parse) markdown (.md) files into HTML.
65 | - [GUI Reviews](http://qbasicgui.datacomponents.net/)
66 |
67 | ## GW-BASIC to QBasic
68 |
69 | ### Summary
70 |
71 | To run a GW-Basic program under QBasic, do the following:
72 |
73 | 1. Convert the program in GW-Basic to ASCII format.
74 | 2. Run QBasic with the /MBF switch.
75 | 3. Load the program into QBasic.
76 |
77 | ### Details
78 |
79 | All QBasic programs must be in ASCII format. The GW-Basic program editor can save programs in the format QBasic requires. The file must be saved with the A option in GW-Basic. Otherwise, GW-Basic compresses the text of your program into a format that QBasic cannot read.
80 |
81 | To convert the file to the QBasic format, do the following:
82 |
83 | 1. Run GW-Basic.
84 | 2. Use the LOAD command to load your GW-Basic program.
85 | 3. Use the LIST command to verify your program's contents.
86 | 4. Use the SAVE command with the A option to save the program. The A switch causes the program to be saved in ASCII format. For example:
87 |
88 | save"",a
89 |
90 | 5. Exit GW-Basic by typing SYSTEM at the GW-Basic prompt.
91 |
92 | Once you have saved the program in ASCII format, you can then load the program in QBasic using the /MBF switch. MBF stands for Microsoft Binary Format, which is used for floating point numbers and calculations. It allows you to use your old programs and data without rewriting your programs or changing your files. For example, type the following command and press ENTER:
93 |
94 | qbasic /mbf
95 |
96 | You can determine if your program is in ASCII format by loading the program into QBasic. If it has strange characters or IBM extended character set characters, the program is probably not in ASCII format. End your QBasic session and save the file in ASCII format using the steps above.
97 |
98 | To run the program in QBasic, from the Run menu, choose Start. If the program is converted to ASCII, it should run normally.
99 |
100 | ## Libraries
101 |
102 | QuickPak Professional is a programmer's toolbox of more than 500 BASIC and assembly language subroutines, designed to help developers improve the quality of their programs and complete them faster. Included are routines for windowing, access to DOS and BIOS services, searching and sorting any type of BASIC array, creating pull-down and Lotus(r) style menus, accepting data input, and much more. Extensive documentation (700 pages) is provided with additional tutorials on files, arrays, subprograms, sorting, compiling and linking, plus many other related topics. The manual is clearly written, and includes a wealth of information useful and pertinent for programmers at all levels of experience. We provide pre-built Quick and linking libraries for use with all current versions of Microsoft BASIC for DOS--simply load the appropriate library, and you're ready to go. The high-level routines written in BASIC are easily loaded as source modules.
103 |
104 | Thanks to Gene Buckle for purchasing and releasing all of Full Moon Software's (aka Crescent Software's) tools to the public domain.
105 |
106 | - [All Full Moon Software (aka Crescent Software) Tools](http://annex.retroarchive.org/crescent/index.html)
107 | - [QuickPak Professional for DOS on GitHub](https://github.com/geneb/QuickPak-Pro-DOS)
108 |
109 | ## SUPER COOL PROJECTS!
110 |
111 | - [The M.I.C.E. Project - The (World's) Most Ill-Concieved Emulator: A TRS-80 Model I Emulator in GW-BASIC.](http://www.vavasour.ca/jeff/mice.html)
112 | - [RogCAD 3D design software - mz-.bas data-file reader](https://rogcad.com/mzbas.htm)
113 |
114 | ## Resources
115 |
116 | - [Q41581: More Information about BASIC's DRAW Statement Macro Language](https://jeffpar.github.io/kbarchive/kb/041/Q41581/)
--------------------------------------------------------------------------------
/qb64.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • QB64 • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # QB64
4 |
5 | QB64 is a modern extended BASIC+OpenGL language that retains QB4.5/QBasic compatibility and compiles native binaries for Windows (Vista and up), Linux and macOS (up to Catalina - works on newer versions on Intel machines, but with audio limitations).
6 |
7 | - [QB64](https://qb64.com/): QB64 Home
8 | - [QB64 on GitHub](https://github.com/QB64Official/qb64)
9 | - [QB64 Wiki](https://github.com/QB64Official/qb64/wiki)
10 | - [Keywords currently not supported by QB64](https://github.com/QB64Official/qb64/wiki/Keywords-currently-not-supported-by-QB64)
11 |
12 | ## Community Hangouts
13 |
14 | - [QB64 Forums](https://qb64.boards.net/)
15 | - [QB64 Discord](https://discord.gg/A3HmUe2mv8)
16 |
17 | ## Interesting Projects
18 |
19 | - [InForm](https://qb64.com/inform.html) - A GUI engine and WYSIWYG interface for QB64
20 | - [GX](https://qb64.com/gx.html) - (G)ame Engine(X) built with and for QB64.
21 | - [QBjs](https://qb64.com/qbjs.html) - An implementation of the Basic programming language for the web, with multimedia support and easy sharing of programs that aims to be compatible with QB64.
22 | - [L-BASIC](https://github.com/flukiluke/L-BASIC) - The [L-BASIC](https://github.com/flukiluke/L-BASIC) compiler and interpreter implemented in QB64.
23 | - [QB64 Interpreter](https://github.com/FellippeHeitor/QB64-interpreter) - A QB64 interpreter written in QB64.
24 | - [QuickPak Professional for QB64](https://github.com/dualbrain/QuickPakPro)
25 |
26 | ## Tutorials
27 |
28 | - [SchoolFreeware.com](https://www.schoolfreeware.com)
29 | - [QBasic / QB64 Tutorial List - 60+ Parts](https://www.schoolfreeware.com/QBasic_Tutorials_-_QB64_Tutorials_-_Programming_And_Code_Examples.html)
30 | - [QBasic Tutorial Series - QB64 - Programming 61 Part Series (YouTube)](https://www.youtube.com/playlist?list=PLF6199808BD4901E1)
31 |
32 | ## Notes
33 |
34 | Despite the name, there are versions for both 32bit and 64bit operating systems.
35 |
--------------------------------------------------------------------------------
/qbc.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • QB64 • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # QuickBASIC Clone (QBC)
4 |
5 | Purpose is to provide tools for running QuickBASIC programs in Linux and other non-MS-DOS environments.
6 |
7 | It currently seems like it will become a QuickBASIC to C++ translator. In fact, it already translates a large subset of QuickBASIC to C++. However, the resulting code is not maintainable, and the library which it requires, is not finished. But it is being developed, in hopes it will one day enable running complicated DOS-specific QuickBASIC programs such as this, under Linux.
8 |
9 | Project is unfinished, work-in-progress.
10 |
11 | - [Home](https://bisqwit.iki.fi/source/qbc.html)
12 | - [QBNES Emulator in QBC](https://bisqwit.iki.fi/jutut/kuvat/programming_examples/qbnes/)
13 | - [I wrote a NES emulator in QuickBASIC... and a QuickBASIC compiler.](https://youtu.be/ZXwARLpA5aA)
14 |
--------------------------------------------------------------------------------
/qbjs.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • QB64 • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # QBJS
4 |
5 | > QBJS is an implementation of the Basic programming language for the web, with multimedia support and easy sharing of programs. It aims to be compatible with QB64, which in turn implements the same dialect as the classic QBasic.
6 |
7 | > The project is in active development as of 30 March 2022. It can be tried [online](https://boxgm.itch.io/qbjs); documentation and releases are hosted on GitHub.
8 |
9 | > Support for browser APIs is built-in as of version 0.3.0-beta; a game engine is included separately.
10 |
11 | - [GitHub: QBJS](https://github.com/boxgaming/qbjs)
12 | - [Try it online!](https://boxgm.itch.io/qbjs)
13 |
--------------------------------------------------------------------------------
/radbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # RAD Basic
4 |
5 | > RAD Basic claims "100% compatible with [Visual Basic](vb6.md)"([VB6/VBA](vb6.md)). Stating "Open your VBP project and continue working as always. No conversion! No migrations!" and that it "brings you the full stack".
6 |
7 | - [RAD Basic](https://www.radbasic.dev/)
8 | - [RAD Basic (YouTube)](https://www.youtube.com/watch?v=oZNiXDBRl1I&feature=youtu.be)
9 |
--------------------------------------------------------------------------------
/retro.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • Retro
2 |
3 | # Personal Computers (Retro)
4 |
5 | - Altair
6 | - [Micro-Soft Altair BASIC 3.2 Source](https://github.com/option8/Altair-BASIC)
7 | - Apple
8 | - [Apple II](apple.md)
9 | - Applied Technology
10 | - [MicroBee](microbee.md)
11 | - Atari
12 | - [Atari 600XL/800XL](atari.md)
13 | - Bally
14 | - [Astrocade](https://en.wikipedia.org/wiki/Bally_Astrocade#Astro_BASIC)
15 | - BBC Micro
16 | - [Model B](bbc.md)
17 | - Coleco
18 | - [ADAM - SmartBASIC](smartbasic.md)
19 | - Commodore
20 | - [Amiga](amiga.md)
21 | - [C64](c64.md)
22 | - [PET](pet.md)
23 | - [VIC20](vic20.md)
24 | - Compucolor
25 | - [Compucolor II Emulator](https://www.compucolor.org/emu/ccemu.html)
26 | - IBM (and Compatibles)
27 | - [PCem](https://pcem-emulator.co.uk/)
28 | - [Faux86](https://github.com/paulwratt/Faux86) - A portable, open-source 8086 PC emulator for bare metal Raspberry Pi
29 | - [BASIC-DOS](https://github.com/jeffpar/basicdos) - PC DOS Reimagined
30 | - Radio Shack (Tandy)
31 | - [TRS-80 Model I (Level I, Level II)](trs80.md)
32 | - [TRS-80 Model II](trs80.md)
33 | - [TRS-80 Model III](trs80.md)
34 | - [TRS-80 Model IV](trs80.md)
35 | - [Color Computer MC-10](mc10.md)
36 | - [Color Computer 1](coco.md)
37 | - [Color Computer 2](coco.md)
38 | - [Color Computer 3](coco.md)
39 | - Z80
40 | - [BASIC-11 for the Z80](https://github.com/hperaza/BASIC-11-Z80)
41 | - [NASCOM ROM BASIC Version 4.7 - (C) 1978 Microsoft](https://github.com/feilipu/NASCOM_BASIC_4.7)
42 | - ZX Spectrum
43 | - [Sinclair BASIC History](https://sinclair.wiki.zxnet.co.uk/wiki/Sinclair_BASIC_history)
44 | - [ZX Basic Wiki](https://zxbasic.readthedocs.io/en/docs/)
45 | - [Sinclair BASIC (Wikipedia)](https://en.wikipedia.org/wiki/Sinclair_BASIC)
46 | - [Sinclair ZX Spectrum Next - NEXTBASIC](https://www.specnext.com/nextbasic-commands/)
47 | - [JSSpeccy 3](https://jsspeccy.zxdemo.org/) - a ZX Spectrum emulator in the browser
48 |
49 | # *Retro Modern*
50 |
51 | This category is for languages/projects that aren't exactly retro but strive to provide the flavor of retro-ness on modern platforms.
52 |
53 | - [BASIC8](https://github.com/paladin-t/b8): An integrated *Fantasy Computer* for game and other program development where you can create, share and play disks in a modern BASIC dialect with built-in tools for editing sprites, tiles, map, quantized, etc.
54 |
55 | # Books
56 |
57 | 
58 |
59 | - [More BASIC Computer Games by David H. Ahl (PDF)](https://www.atariarchives.org/morebasicgames/index.php) - 1979
60 |
61 | # Other
62 |
63 | - [Emulators, Simulators, Etc.](emulators.md)
64 | - [BASIC benchmark index for 8-bit computers](https://github.com/scruss/bench64)
65 | - [The Oldschool PC Font Resource](https://int10h.org/oldschool-pc-fonts/fontlist/)
66 | - [Perfect DOS VGA 437 Font](https://www.dafont.com/perfect-dos-vga-437.font)
67 | - [ntvdmx64](https://github.com/leecher1337/ntvdmx64): Run Microsoft Windows NTVDM (DOS) on 64bit Editions
68 |
--------------------------------------------------------------------------------
/secondbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • QB64 • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # SecondBASIC Studio
4 |
5 | A fully integrated development environment for development on the Sega Genesis/Mega Drive that will have you compiling your first ROM within minutes... in BASIC!
6 |
7 | - [SecondBASIC Studio](https://www.sbasic.net/)
8 |
9 | Alternative / Inspiration
10 |
11 | - [BasiEgaXorz](http://devster.monkeeh.com/sega/basiegaxorz)
12 | - [BasiEgaXorz Forums](https://devster.proboards.com/board/1/basiegaxorz-forums)
13 | - [BasiEgaXorz / SecondBASIC Thread](https://devster.proboards.com/thread/943/new-version-basiegaxorz)
14 | - [BasiEgaXorz download on Archive.org](https://archive.org/details/basiegaxorz)
--------------------------------------------------------------------------------
/singleboard.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Single-Board Computers
4 |
5 | ## BASIC Engine
6 |
7 | * [BASIC Engine](engine.md)
8 |
9 | ## Colour Maximite
10 |
11 | There are several flavors (editions) of the Colour Maximite:
12 |
13 | * [Colour Maximite](cmm1.md)
14 | * [Colour Maximite 2](cmm2.md)
15 |
16 | ## PicoMiteVGA (Raspberry Pi Pico)
17 |
18 | * ["Boot to BASIC" on the Raspberry Pi Pico](https://geoffg.net/picomitevga.html)
19 |
20 | ## Agon Light
21 |
22 | * See [Agon light™](agon.md)
23 |
24 | ## Raspberry Pi
25 |
26 | * See [Raspberry Pi](pi.md)
27 |
--------------------------------------------------------------------------------
/smallbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # SmallBASIC
4 |
5 | > SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes, SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphics commands along with structured programming syntax.
6 |
7 | - [Official Site](https://smallbasic.github.io/)
8 | - [Forum](https://www.syntaxbomb.com/smallbasic/)
9 |
--------------------------------------------------------------------------------
/specbas.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # SpecBAS (aka Sinclair BASIC for Windows, Linux, RasPi, etc.)
4 |
5 | SpecBAS is a remake of Sinclair BASIC - it's faster, far more powerful and more colorful than Sinclair BASIC has ever been!
6 |
7 | - [Official Site](https://sites.google.com/site/pauldunn)
8 | - [Source (GitHub)](https://github.com/ZXDunny/SpecBAS)
9 | - [Samples (GitHub)](https://github.com/ZXDunny/SpecBAS-Demos)
10 | - [The SpecBAS Reference Manual](https://sites.google.com/site/pauldunn/home/manual)
11 |
12 | ## Resources
13 |
14 | - [BASIC Programming - ZX Spectrum](http://www.retro8bitcomputers.co.uk/Downloads/ZXSpectrumBASICProgramming)
15 | - [ZX Spectrum +2 Manual (PDF)](https://ia802506.us.archive.org/9/items/sinclair-zx-spectrum-plus-2-manual/Sinclair-ZX-Spectrum-Plus-2-Manual.pdf)
16 | - [Sinclair ZX Spectrum +3 Manual](https://zxspectrumvault.github.io/Manuals/Hardware/SpectrumPlus3Manual.html#introduction)
17 | - [Sinclair ZX Spectrum BASIC Programming](https://worldofspectrum.org/ZXBasicManual/)
18 | - [comp.sys.sinclair FAQ - Documents](https://worldofspectrum.org/faq/resources/documents.htm)
19 | - [Spectrum for Everyone - ZX Modules Software](https://spectrumforeveryone.com/technical/zx-modules-software/)
20 | - [L Break Into Program, 0:1 - Retro Programming Made Simple - Keyboard](http://www.breakintoprogram.co.uk/hardware/computers/zx-spectrum/keyboard)
21 | - [ZX Spectrum ROM Images](https://mdfs.net/Software/Spectrum/ROMImages/)
22 | - [PICO ZX Spectrum 128k (Hackaday.IO)](https://hackaday.io/project/186039-pico-zx-spectrum-128k)
23 | - [RetroVGA - Raspberry Pico Multi Retro Computer](https://www.tindie.com/products/bobricius/retrovga-raspbery-pico-multi-retro-computer/)
24 | - [ZX Spectrum for Raspberry Pico Pi RP2040 (Github)](https://github.com/fruit-bat/pico-zxspectrum)
25 |
--------------------------------------------------------------------------------
/spiderbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # SpiderBasic from Fantaisie Software
4 |
5 | > SpiderBasic is new web client-side programming language based on established BASIC rules. Its allows development of very complex, windowed based web applications, including mobile app for iOS and Android. It provides a large commandset to handle complex and reactive GUI, 2D games, and many more in a coherent manner. Every library and commands behave the same and have similar syntax for easier and faster learning.
6 |
7 | > SpiderBasic is a compiler which generates optimized JavaScript, which needs a modern browser to run (at least HTML5 compliant). As a compiler, it has strong typing and various checks that JavaScript doesn't provide, allowing robust code construction. SpiderBasic is not object oriented because we do believe that object oriented programs are hard to maintain, but we provide flexible namespace support and many other features.
8 |
9 | > SpiderBasic is based on the [PureBasic](purebasic.md) syntax, and is compatible to some degree with it. If you are already familiar with [PureBasic](purebasic.md), using SpiderBasic should be an easy task. It's even possible to create a program which runs on the web, mobile and desktop using the same source code.
10 |
11 | - [SpiderBasic](https://www.spiderbasic.com/)
12 |
--------------------------------------------------------------------------------
/tektronix.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Tektronix 4050 Series BASIC
4 |
5 | 
6 |
7 | The Tektronix 4050 all-in-one series of computers produced during the late 1970s and early 1980s with the display, keyboard, CPU and tape drive in a single desktop case. Additionally, utilized a GPIB parallel bus interface for connecting external devices. Due to the *storage tube* approach to the display, the effective resolution of the display was 1024 by 780; utilizing none of the memory of the machine - dedicating all of its memory to code execution. Later models could support a resolution of 4096 by 3072.
8 |
9 | Thanks to the lack of flicker with the direct view storage tubes, the 405x computers can be frequently be seen in the 1978 TV series *Battlestar Galactica*.
10 |
11 | The 4051 (released in 1975) has the following specs:
12 |
13 | - Motorola 6800 at 1MHz
14 | - 8KB RAM, expandable to 32KB
15 | - Up to 32KB of ROM
16 | - Six character sets in ROM
17 | - Extended BASIC including vector drawing support
18 | - Optional RS-232 interface
19 | - Optional joystick interface
20 | - Optional graphics tablet input device
21 |
22 | ## Videos
23 |
24 | - [Tek 4051 Startup and Shutdown](https://www.youtube.com/watch?v=V6Vriat9IxA)
25 | - Introduction to the Tektronix 4051
26 | - [Introduction and Quick Sample Programs](https://www.youtube.com/watch?v=xWrIS_l5HWk)
27 | - [Numeric Variables and Math Functions](https://www.youtube.com/watch?v=wZKfOTkEZKU)
28 | - [Program Control](https://www.youtube.com/watch?v=DvcFw9jPLEs)
29 | - [Graphics Commands](https://www.youtube.com/watch?v=-lUSDb-1NDg)
30 | - [Text Strings and Print Formatting](https://www.youtube.com/watch?v=V3ET9xRb82c)
31 | - [Sample Statistical/Graphics Programs](https://www.youtube.com/watch?v=tXeQoHw950E)
32 |
33 | ## Documentation
34 |
35 | - [Tektronix 4051](http://archive.computerhistory.org/resources/text/Tektronix/Tektronix.4051.1976.102646254.pdf)
36 | - [Tektronix 4051 Graphics System (Creative Computing Volume 2)](http://www.atariarchives.org/bcc2/showpage.php?page=282)
37 | - [Tektronix 4052 System](https://www.electronixandmore.com/resources/teksystem/index.html)
38 | - [070-2058-01 PLOT 50 Introduction to Programming in BASIC September 1978](http://www.bitsavers.org/pdf/tektronix/405x/070-2058-01_PLOT_50_Introduction_to_Programming_in_BASIC_Sep1978.pdf)
39 | - [070-0142-02 Tek 4050 Series Basic Reference June 1983](http://www.bitsavers.org/pdf/tektronix/405x/070-2142-02_Tek_4050_Series_Basic_Reference_Jun83.pdf)
40 |
41 | ## 4051 BASIC Simulator
42 |
43 | A 4051 BASIC Simulator that runs on Windows created by Brad Srebnik.
44 |
45 | ### Links
46 |
47 | - [Tektronix 4051 BASIC Simulator (YouTube)](https://www.youtube.com/watch?v=a94uJjTOjTY)
48 | - [Tek 4051 BASIC group (Facebook)](https://www.facebook.com/groups/1157781747606102)
49 | - [Brad Srebnik (Facebook)](https://www.facebook.com/brad.srebnik.7)
50 | - [Brad Srebnik (YouTube)](https://www.youtube.com/@AurelianDesignSeattle)
51 |
52 | ### More
53 |
54 | (*The following is an edit of the email sent by Brad after you contact him.*)
55 |
56 | The Tek 4051 BASIC Simulator can be downloaded from
57 |
58 | (*link removed*)
59 |
60 | Please do not distribute the simulator to others. If you know someone who is interested in it, have them contact me by e-mail, or [message me on Facebook](https://www.facebook.com/brad.srebnik.7).
61 |
62 | If you display the simulator publicly, credit it as follows:
63 |
64 | "4051 BASIC Simulator provided courtesy of Brad Srebnik."
65 |
66 | #### General Usage
67 |
68 | The simulator only runs on Windows.
69 |
70 | After downloading the zip file, unzip it and save in a folder.
71 |
72 | Run the `Tek4051BASIC.exe` file to start the simulator. It will slowly initiate the simulated storage tube display. When it stabilizes, press the HOME PAGE key on the gray control window (or type PAGE on your keyboard and press enter).
73 |
74 | There is a check box to turn off sound. It is best not to click that box when running a program in the simulator (it may crash).
75 |
76 | If you want it to run faster than the normal 4051 speed, click the `Fast` check box.
77 |
78 | If you have a low-resolution display you can click the Keys to Left check box to move the Keys window into view. Then un-check it again to move it back to the right of the main display window.
79 |
80 | #### Running Commands and Programs
81 |
82 | Now you can type BASIC commands.
83 |
84 | Here's a short sample program (lower-case is OK):
85 |
86 | ```vb
87 | 100 PAGE
88 | 110 SET DEGREES
89 | 120 FOR X=10 TO 120 STEP 5
90 | 130 MOVE X,30
91 | 140 DRAW X,50+40*SIN(3*X)
92 | 150 NEXT X
93 | ```
94 |
95 | If you make a mistake typing a line, you can use backspace or delete, or press `CLEAR` on the Keys window and start typing that line over again.
96 |
97 | After you enter the program, type:
98 |
99 | `RUN`
100 |
101 | to run it.
102 |
103 | See the `Versions.txt` file for the list of supported commands and fixes and improvements in the versions of the simulator.
104 |
105 | There is a `SamplePrograms.txt` file that describes the sample programs in the zip file. If you want to run one, the `.PGM` files must be in the same folder that you ran the simulator EXE from.
106 |
107 | Then use the commands:
108 |
109 | ```txt
110 | FIND [n] example: FIND 1
111 | OLD
112 | RUN
113 | ```
114 |
115 | from within the simulator. `FIND` takes a while (simulator the original cartridge tape drive) so be patient. You may think the simulator is not responding but it should come back after a minute or two.
116 |
117 | Press `POWER` button to end - your program will be lost if not saved first (with `FIND [n]`, then `SAVE`).
118 |
119 | Your screen resolution needs to be fairly good, or the control panel (`PAGE` key, etc.) will be off the screen. Click the `POWER` button to end the program. Please let me know when you run it, what version of Windows you used, and if you had any problems.
120 |
121 | Feel free to send any questions, bugs, or comments, but know that I'm not putting too much time into supporting it (adding additional commands, fixing minor bugs, etc.) at present. Once in a while I do some work to fix bugs and will try to send an e-mail out when there is an updated version available.
122 |
123 | GPIB addressing is mostly not supported.
124 |
125 | I can point you to PDF's of the old programming manuals for it on [bitsavers.org](http://www.bitsavers.org/pdf/tektronix/405x/). They are quite readable and mostly clear. Also join the [Tek 4051 BASIC Facebook group](https://www.facebook.com/groups/1157781747606102) if you haven't already. And there are [six videos I put on YouTube](https://www.youtube.com/@AurelianDesignSeattle) describe some parts of Tek 4051 BASIC programming. Feel free to suggest topics for additional videos.
126 |
127 | Regards,
128 |
129 | Brad Srebnik
130 |
--------------------------------------------------------------------------------
/thinbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # thinBASIC
4 |
5 | BASIC Programming Language for Windows.
6 |
7 | Very fast "BASIC like" programming language useful to Beginners and to Gurus. BASIC interpreter for Windows able to create console and gui applications with most of the user interface controls, automate process, automate data exchange, connect to databases, send mails, connect to ftp sites, rest api, parsing strings, tokenizing, traversing xml, handling files, Windows Registry, OpenGl, graphics, sound, printing ... and much more.
8 |
9 | - [Official Site](http://www.thinbasic.com/)
--------------------------------------------------------------------------------
/timeline.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Time Line
4 |
5 | A somewhat impossible, but "why not?", attempt to outline some sort of time line of BASIC dialects.
6 |
7 | - May 1, 1964 BASIC (aka Dartmouth BASIC "First Edition")
8 | - October 1964 BASIC "Second Edition"
9 | - 1966 BASIC "Third Edition"
10 | - 1968 BASIC "Fourth Edition"
11 | - 1968 DEC BASIC-8 (David Ahl)
12 | - 1970 DEC BASIC-PLUS
13 | - 1975 Altair BASIC
14 | - Microsoft BASIC
15 | - 1977 Commodore BASIC (PET BASIC, CBM-BASIC)
16 | - 1983 Simons' BASIC
17 | - 1986 Walrusoft BASIC 8
18 | - 2022 Vision BASIC
19 | - 1981 Atari Microsoft BASIC
20 | - 1982 Atari Microsoft BASIC II
21 | - 1970 BASIC "Fifth Edition"
22 | - 1971 BASIC "Sixth Edition"
23 | - 1976 Dartmouth Structured BASIC (aka SBASIC)
24 | - 1980 BASIC "Seventh Edition"
25 | - 1985 True BASIC
26 | - 1982 BASIC "Eighth Edition"
27 | - 1987 "Standard BASIC" X3.113-1987 ratified.
28 | - 1967 SDS BASIC
29 | - 1976 SCELBAL (SCientific ELementary BAsic Language)
30 | - 1969 HP Time-Shared BASIC (2000A)
31 | - 1976 Apple BASIC
32 | - 1977 Applesoft BASIC
33 | - 1971 MAI Basic/Four
34 | - Data General Business Basic
35 | - 1978 Cromemco BASIC
36 | - 1979 Atari BASIC
37 | - BASIC A+
38 | - BASIC XL
39 | - BASIC XE
40 | - Turbo-BASIC XL
41 | - Transoft's Universal Business Basic
42 | - 1986 B32 Business Basic
43 | - 1977 North Star BASIC
44 | - BaZic
45 | - Megabasic
46 | - S.A.I.L.B.O.A.T.
47 | - 1975 Tiny BASIC
48 | - Denver Tiny BASIC
49 | - Enhanced 6800 Tiny BASIC
50 | - MINOL
51 | - National Industrial Basic Language
52 | - Palo Alto Tiny BASIC
53 | - 1977 Level I BASIC
54 | - 1977 GRASS3 / ZGRASS
55 | - 1978 Bally (Astro) BASIC
56 | - 6800 Tiny BASIC
57 | - TBI68K
58 | - Tiny BASIC Extended
59 |
60 | Limitations in this tree structure immediately arise in the fact that some dialects are influenced by multiple other dialects. Where this occurs, a single "more influential" dialect is chosen.
61 |
62 | Multiple "versions" or "editions" of the same dialect are only included if they are clearly a "major" release and are only done so in the event that another dialect is based on a specific release version.
63 |
64 | One of the key deciding factors in determining branch position for an early BASIC dialect is whether or not it supported string functionality; as string support wasn't added to Dartmouth BASIC until "Third Edition".
65 |
--------------------------------------------------------------------------------
/tiny.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Tiny BASIC
4 |
5 | Tiny BASIC was a minimalistic version of the BASIC programming language that was developed in the early 1970s specifically for microcomputers with limited memory. Unlike traditional BASIC interpreters, Tiny BASIC used abbreviated commands instead of tokenization to save memory. For example, instead of the "PRINT" command, Tiny BASIC used the abbreviation "P.". Similarly, "IF" was abbreviated to "I," "THEN" to "T," and so on.
6 |
7 | Tiny BASIC was quickly adopted by hobbyists and tinkerers who were experimenting with early homebrew computer projects, as it allowed them to quickly write and test programs without the need for expensive hardware upgrades or specialized software tools. As a result, Tiny BASIC played a significant role in popularizing BASIC as a programming language for hobbyist and personal computers.
8 |
9 | A lot of credit goes to Li-Chen Wang for his Tiny BASIC implementation and his version was eventually superseded by Palo Alto Tiny BASIC (PATB), which was developed by Li-Chen Wang and Bob Albrecht in 1976. PATB included additional features like string manipulation and support for multiple input/output devices. It was also the first version of Tiny BASIC to be published in Dr. Dobb's Journal, a popular magazine for computer hobbyists and enthusiasts.
10 |
11 | Dr. Dobb's Journal was instrumental in spreading knowledge about Tiny BASIC and other programming languages among the growing community of computer enthusiasts in the 1970s and 1980s. The magazine published articles, tutorials, and source code listings for a wide variety of programming languages, including Tiny BASIC, and played an important role in fostering a culture of experimentation and innovation among computer enthusiasts.
12 |
13 | All numbers are integers. Range -32768 to 32767 in signed mode, or 0 to 65535 in unsigned mode. Variables are A through Z and array @(0)..@(N) where N depends on amount of free memory.
14 |
15 | * [Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Volume 1](https://ia601302.us.archive.org/24/items/dr_dobbs_journal_vol_01/dr_dobbs_journal_vol_01.pdf)
16 | * [Design Notes for Tiny BASIC](http://www.ittybittycomputers.com/IttyBitty/TinyBasic/DDJ1/Design.html)
17 | * [The First Book of Tiny BASIC Programs](http://www.retrotechnology.com/memship/Son_of_TFBOTBAS.HTM)
18 | * [Tiny-Basic](https://github.com/eddavis2/Tiny-Basic): Interpreters for Tiny Basic written in Basic (various versions), C, C#, Java, Pascal, Python, VB.Net and others. Pure interpreters, e.g., not byte code, not even tokenized.
19 | * [tinybasic](https://github.com/slviajero/tinybasic): A BASIC interpreter for Arduino, ESP, RP2040, STM32, Infineon XMC and POSIX with IoT and microcontroller features.
20 | * [TinyBasicPlus](https://github.com/BleuLlama/TinyBasicPlus): A C implementation of Tiny Basic, with a focus on support for Arduino.
21 |
22 |
--------------------------------------------------------------------------------
/tools.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Tools
4 |
5 | - [regular expressions 101](https://regex101.com/)
6 | - [rexpaint](https://www.gridsagegames.com/rexpaint/index.html)
7 | - [UPX - the Ultimate Packer for eXecutables](https://upx.github.io/)
8 | - [FreeDOS](https://freedos.org/)
--------------------------------------------------------------------------------
/trs80.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # RadioShack TRS-80
4 |
5 | 
6 |
7 | ## LEVEL I
8 |
9 | 
10 |
11 | Level I BASIC is credited as being created by Steve Leininger. His involvement with the development of the TRS-80's BASIC language began before his employment with Tandy. While at National Semiconductor, Steve had written a draft of the NIBL (National Industrial Basic Language) BASIC interpreter for the SC/MP microprocessor. The NIBL interpreter was designed to be an efficient and compact implementation of BASIC for industrial applications.
12 |
13 | When Steve joined Tandy, he was unable to bring the source code for the NIBL interpreter with him. As a result, he was faced with the challenge of creating a new implementation of BASIC for the TRS-80 from scratch. Steve initially attempted to hire a consultant to write the interpreter, but unfortunately, the consultant failed to deliver.
14 |
15 | With time running out, Steve was forced to find an alternative solution. He turned to Li-Chen Wang's public domain version of Tiny BASIC as a starting point. Tiny BASIC was a simple implementation of BASIC that was designed to run on microcomputers with limited memory.
16 |
17 | Steve adapted Tiny BASIC to fit the TRS-80's hardware and specifications, resulting in the first prototype of the TRS-80 Model I BASIC interpreter. This implementation of BASIC was incredibly compact, requiring only 2 KB of memory for the interpreter. This left an average of 2 KB of memory free for user programs in the common 4 KB memory layout of early computers. The compact nature of the BASIC interpreter was critical to the success of the TRS-80, as it allowed users to write and run programs on the machine without the need for additional memory upgrades or hardware modifications.
18 |
19 | * [TRS-80 Model I Level I BASIC](https://en.wikipedia.org/wiki/Level_I_BASIC)
20 |
21 | ## Level II
22 |
23 | * [TRS-80 Model I Level 2 BASIC Language Reference](https://www.trs-80.com/wordpress/info-level-2-basic-language/)
24 |
25 | ## Level III
26 |
27 | 
28 |
29 | * [TRS-GPT](https://druid77.github.io/trs-gpt/): ChatGPT from a TRS-80 Model III Computer built in 1981
30 |
31 | ## Emulators
32 |
33 | * [trs80gp - A TRS-80 Model 1, 2, 3, 4, 12, 16, 6000, MC-10, DT-1, Videotex Emulator](http://48k.ca/trs80gp.html)
34 | * [TRS-80 Model 1 on a PIC32 (hackaday.io)](https://hackaday.io/project/9077-trs-80-model-1-on-a-pic32#j-discussions-title)
35 | * [Port of z80sim 1.17 to PIC32](https://github.com/TheCodeman/z80pack-1.17-ksd-pic32)
36 |
37 | ## Additional
38 |
39 | * [TRS-OS](https://danielpaulmartin.com/home/research/?fbclid=IwAR0X-Isj8-H8Mf4j9byWtvYXLd1YJjlZ52vPKjrHBV2t4FrZsjh-RrIk5Z4)
40 | * [Learn Assembly Programming With ChibiAkumas!](https://www.chibiakumas.com/ez80/?fbclid=IwAR1kUZ2JLkmRJMGTcbyEQ1a49O-Ztrx_bkhzAPf6Ti6X3fDYuOsFUfET4nA)
41 | * [TRS-80 DOS - NEWDOS/80](https://www.trs-80.com/wordpress/dos-newdos80/)
42 | * [A Tandy/RadioShack TRS-80 Model I Clone](https://www.glensstuff.com/trs80/trs80.htm)
43 | * [TRS-OS](https://www.danielpaulmartin.com/home/research/?fbclid=IwAR1zBWi9dPDXrcvub0PH71vxegnvCC_M32XlGk15H0aVr8tKmCFb_n4tWn8)
44 | * [Agon OSboot for TRS-OS](https://github.com/sijnstra/agon-projects/tree/main/OSboot)
45 | * [TRS-80 - Books (List)](https://www.trs-80.com/wordpress/publications/books/)
46 |
47 | 
48 |
49 | 
--------------------------------------------------------------------------------
/truebasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # True BASIC
4 |
5 | > The Original BASIC since 1964.
6 |
7 | > Still enables anyone to write their own programs.
8 |
9 | - [True BASIC](https://www.truebasic.com)
--------------------------------------------------------------------------------
/twinbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # twinBASIC
4 |
5 | > twinBASIC is a modern, BASIC programming language, aiming for 100% backwards compatibility with existing [VB6/VBA](vb6.md) projects. A complete replacement development environment offering significant new features and improvements over the [VB6 IDE](vb6.md).
6 |
7 | > Painstaking effort has gone into and continues to go into building a solid and well tested compiler, standard library and debugger. Most significantly, we try to copy every quirk/feature found in the legacy [VB6 and VBA compiler](vb6.md).
8 |
9 | - [twinBASIC](https://twinbasic.com/)
10 | - [twinBASIC (Discord Invite)](https://discord.gg/UaW9GgKKuE)
11 | - [twinBASIC (GitHub)](https://github.com/twinbasic/twinbasic)
12 |
13 | ## Community
14 |
15 | - [twinBASIC Weekly Update](https://nolongerset.com/tag/twinbasic-weekly-update/)
16 | - [twinBASIC @ nolongerset.com](https://nolongerset.com/tag/twinbasic/)
17 |
--------------------------------------------------------------------------------
/ugbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # ugBASIC
4 |
5 | > A cross compiler of BASIC dialect specialized in programs that are very efficient "by design" on various 8-bit platforms (based on MOS 6502/6510, Motorola 6809 and Zilog Z80), without the need for "fine tuning" them and without compromises of other dev-kits.
6 |
7 | - [ugbasic](https://github.com/spotlessmind1975/ugbasic): An isomorphic BASIC language compiler for retrocomputers.
8 | - [ugBASIC IDE](https://spotlessmind1975.itch.io/ugbasic-ide)
9 |
--------------------------------------------------------------------------------
/vb6.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • VB 1-6 • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Microsoft Visual Basic v1 through v6
4 |
5 | - [History of Visual Basic by George Mack](http://www.ojodepez-fanzine.net/network/qbdl/history_of_visual_basic.html)
6 | - [Something Pretty Right: The history and legacy of Visual Basic by Ryan Lucas](https://retool.com/visual-basic/)
7 |
8 | ## Resources
9 |
10 | - [Using Visual Basic 6 (QUE)](http://lnr.irb.hr/ebooks/078971633X/index.htm): The entire book HTML-ized.
11 |
12 | ## How-To's
13 |
14 | - [StackOverflow - Your favorite VB6 tools and tips.](https://stackoverflow.com/questions/664370/your-favorite-visual-basic-6-0-tools-and-tips)
15 | - [StackOverflow - Detect file changes outside the VB6 IDE.](https://stackoverflow.com/questions/24766228/detect-file-changes-outside-the-visual-basic-6-ide/24792427#24792427)
16 |
17 | ## Communities
18 |
19 | - [Visual Basic Discord Server (Invite)](https://discord.gg/Y8EH5fF6WG)
20 |
21 | ## IDE
22 |
23 | - [Visual Basic Tools for Visual Studio](https://marketplace.visualstudio.com/items?itemName=MatthiasFriedrich.VisualBasicToolsforVisualStudio)
24 | - [CodeHelp Add-in 2.2](http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=62468&lngWId=1)
25 | - [AxTools CodeSMART 2013 for VB6](http://www.axtools.com/products-codesmart-vb6.php)
26 | - [Rubberduck add-in for VBE](https://rubberduckvba.wordpress.com/)
27 | - [Rubberduck on GitHub](https://github.com/rubberduck-vba/Rubberduck)
28 | - [MZ-Tools 8.0](https://www.mztools.com/)
29 | - [Zeus IDE](https://www.zeusedit.com/index.html)
30 | - [ModernVB (GitHub)](https://github.com/VykosX/ModernVB): Updates the Visual Basic 6 IDE to look and feel more modern.
31 | - [Visual Studio Code VBA](https://marketplace.visualstudio.com/items?itemName=aferri.avb)
32 |
33 | ## Components
34 |
35 | - [Microsoft Visual Basic Power Packs 3.0](https://www.microsoft.com/en-us/download/details.aspx?id=25169&fbclid=IwAR1K6dTsikklTXyauJlQuZJExnSjdohJvXW0QzIrh6kkLxelTbof_LhQGog): Microsoft Visual Basic Power Packs 3.0 includes a new DataRepeater control and updated versions of the three previously released Visual Basic Power Packs, Line and Shape controls, the PrintForm Component and the Printer Compatibility Library.
36 |
37 | ## Alternatives
38 |
39 | Products with a goal of 100% compatibility...
40 |
41 | - [RAD Basic](radbasic.md)
42 | - [TwinBasic](twinbasic.md)
43 |
44 | Products that tend to be compared to VB6...
45 |
46 | - [DoyleSoft BASIC](http://doylesoft.com/BASIC/?i=1)
47 | - [Jabaco](http://www.jabaco.org/)
48 |
49 | ## VB's Little Sister (VBA)
50 |
51 | ...
52 |
53 | ## VB's Little Brother (VBScript)
54 |
55 | ...
56 |
57 | ## Cool Projects
58 |
59 | - [ZoneStripper](https://github.com/fafalone/ZoneStripper): Remove Zone.Identifier alternate data stream that identifies files as 'from the internet'.
60 | - [VBCorLib - A framework that brings many of the powerful .NET classes to VB6.](https://github.com/kellyethridge/VBCorLib)
61 | - [mp3decoder - Decoder implementation of MP3 audio in 100% VB.](https://github.com/neveraway/mp3decoder)
62 | - [xFXJumpStart DHTML Menu Builder v4+ on GitHub](https://github.com/morphx666/dmb)
63 | - [Krool (GitHub)]
64 | - [VB Common Controls Replacement Library](https://github.com/Kr00l/VBCCR)
65 | - [VB FlexGrid Control](https://github.com/Kr00l/VBFLXGRD)
66 | - [VB Multithread Library](https://github.com/Kr00l/VBMThread)
67 | - [Vladimer Vissoultchev (GitHub)](https://github.com/wqweto?tab=repositories)
68 | - [VBLLVM (GitHub)](https://github.com/wqweto/VBLLVM): LLVM bindings for VB6.
69 | - [VbRtcc (GitHub)](https://github.com/wqweto/VbRtcc): Runtime Tiny C Compiler for VB6.
70 | - [ZipArchive (GitHub)](https://github.com/wqweto/ZipArchive): A single-class pure VB6 library for zip with ASM speed.
71 | - [VbAsyncSocket (GitHub)](https://github.com/wqweto/VbAsyncSocket): Simple and thin WinSock API wrappers for VB6.
72 | - [ModernSubclassingThunk (GitHub)](https://github.com/wqweto/ModernSubclassingThunk): The Modern Subclassing Thunk (MST) for VB6.
73 | - [iCode (GitHub)](https://github.com/liuzikai/iCode)
74 | - [VB6 Tracer (GitHub)](https://github.com/jbremer/vb6tracer): Runtime tracer for the VB6 virtual machine.
75 | - [PdbExp (GitHub)](https://github.com/smartdj/pdbexp)
76 | - [Semi-VB-Decompiler](http://www.semivbdecompiler.com/)
77 | - [TheProgrammingZone (Semi-VB-Decompiler)](https://www.theprogrammingzone.com/)
78 | - [Semi-VB-Decompiler (GitHub)](https://github.com/VBGAMER45/Semi-VB-Decompiler)
79 | - [vb2glade](https://sourceforge.net/p/vb2glade/code/HEAD/tree/)
80 | - [VBCDeclFix](https://github.com/thetrik/VBCDeclFix): This Add-in allows to use Cdecl functions in VB6
81 |
--------------------------------------------------------------------------------
/vb6_active.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • VB 1-6 • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Working with ActiveX
4 |
5 | ### What is ActiveX?
6 |
7 | *I have been hearing a lot about ActiveX. What is it?*
8 |
9 | ActiveX is the set of technologies that allow separately compiled components to communicate with one another. It allows you to develop components in many different languages such as VC++, Java, Excel, and Visual Basic and have all of the components work together.
10 |
11 | You may have built ActiveX components with VB4, but way back then (``) they were called OLE servers. The ActiveX technology in VB5 provides some additional features beyond those provided by the OLE servers in VB4. You can develop threaded components, add non-modal forms to ActiveX DLL components, raise events, have Friends, implement multiple interfaces, define global objects and create ActiveX controls and ActiveX documents.
12 |
13 | ### Is ActiveX OOP?
14 |
15 | *What does ActiveX have to do with object-oriented programming?*
16 |
17 | You can use object-oriented programming techniques, such as encapsulation, to build components. ActiveX then provides the technology for the components to interact with each other.
18 |
19 | ### What is an ActiveX Code Component?
20 |
21 | An ActiveX code component is a compiled set of code that is normally comprised of one or more class modules. These components can be ActiveX DLLs or ActiveX EXEs.
22 |
23 | A single ActiveX code component normally contains all of the business rules for a particular business object or a set of standard routines. This is very similar to creating libraries of functionality where each set of functionality is compiled into a single component.
24 |
25 | ### What is an ActiveX DLL?
26 |
27 | An ActiveX DLL is a code component that runs in the same process as the client application. So it runs in the same address space as the client application that is using the component.
28 |
29 | Any components you create to work with Microsoft Transaction Server must be ActiveX DLL components. Any other components you develop for use on the same machine as the client application can also be ActiveX DLL components. This is normally the preferred choice because it is easier to test (by adding another project using the new VB5 project group feature) and has better performance.
30 |
31 | ### What is an ActiveX EXE?
32 |
33 | An ActiveX EXE is a code component that runs in a separate process from the client application. So it runs in its own address space.
34 |
35 | If you plan to place the component on a computer different from the computer running the client application and you don't plan to use Microsoft Transaction Server, the component must be an ActiveX EXE. ActiveX EXEs are also useful for creating components that can also be run stand-alone, that is they can be run by clicking on the icon. This is similar to Excel: you can click on the Excel icon and launch Excel or you can create an Excel object from VB.
36 |
37 | Since ActiveX DLLs are easier to test, you can test your ActiveX EXE first as an ActiveX DLL and then convert it to an ActiveX EXE using the Project Properties dialog box.
38 |
39 | ### What is an ActiveX control?
40 |
41 | *I can now create an ActiveX control in VB5. What is an ActiveX control and how is it different from other ActiveX components?*
42 |
43 | An ActiveX control is a standard user interface element that you can create. These elements can be used in any container that supports ActiveX controls, such as Visual Basic forms, Excel forms, and VC++. They are different from other ActiveX components in that they normally have a visual component like a combo box or set of text boxes.
44 |
45 | Normally, if you are going to define business rules you do that in ActiveX EXE or ActiveX DLL components and not in ActiveX controls.
46 |
47 | ### How do I define global objects?
48 |
49 | *I have heard that I can now create global objects with VB5. What are global objects and why would I want to create one?*
50 |
51 | Global objects are not what you may first think they are. Global objects are basically objects that can be used by any client application without the client application having to declare them.
52 |
53 | To create a global object, you define a class module in an ActiveX code component and set the Instancing property to be GlobalMultiUse or GlobalSingleUse. To use the global object, any client application can set a reference to the ActiveX code component using the Project Properties option. The properties and methods of the class are then added to the global name space of the client application.
54 |
55 | Let's look at an example. Let's create a math ActiveX component that does specialized math processing. The code for a simple CMyMath class can be added to this component:
56 |
57 | ```vb
58 | Private m_iFirstVal As Integer
59 | Private m_iSecondVal As Integer
60 |
61 | Public Property Let FirstVal(RHS As Integer)
62 | m_iFirstVal = RHS
63 | End Property
64 |
65 | Public Property Let SecondVal(RHS As Integer)
66 | m_iSecondVal = RHS
67 | End Property
68 |
69 | ' Special type of addition
70 | Public Function Add() As Integer
71 | Add = (m_iFirstVal * 100) + (m_iSecondVal * 100)
72 | End Function
73 | ```
74 |
75 | The Instancing property for this class must be set to GlobalMultiUse or GlobalSingleUse.
76 |
77 | You can then write a test application to use this class. Create a standard project and set the reference to the project with the CMyMath class. The normal way to use an object from a standard class would be code such as the following:
78 |
79 | ```vb
80 | Private m_Math As CMyMath
81 |
82 | Function AddVal(x, y) As Integer
83 | Set m_Math = New CMyMath
84 | m_Math.FirstVal = x
85 | m_Math.SecondVal = y
86 | AddVal = m_Math.Add
87 | End Function
88 | ```
89 |
90 | But since the CMyMath class is defined to be GlobalMultiUse or GlobalSingleUse, the m_Math object variable is not needed. You could therefore write the code like this:
91 |
92 | ```vb
93 | Function AddVal2(x, y) As Integer
94 | FirstVal = x
95 | SecondVal = y
96 | AddVal2 = Add
97 | End Function
98 | ```
99 |
100 | There is no declaration and no mention of an object variable. But is this "good" code? Here is the "good" code test: if you look at this code 6 months from now will you have *any* idea what is going on? In this case, will you know where FirstVal, SecondVal, and Add are coming from? Probably not.
101 |
102 | What you would want to do instead is provide an object property in the CMyMath class that can be used to more clearly identify the global object. This property would be added to the CMyMath class and would look like this:
103 |
104 | ```vb
105 | Public Property Get MyMath() As CMyMath
106 | Set MyMath = Me
107 | End Property
108 | ```
109 |
110 | You can then rewrite the AddVal routine in the client application as follows:
111 |
112 | ```vb
113 | Function AddVal3(x, y) As Integer
114 | myMath.FirstVal = x
115 | myMath.SecondVal = y
116 | AddVal3 = myMath.Add
117 | End Function
118 | ```
119 |
120 | The myMath property then acts and works like other standard Visual Basic objects such as Debug, App, and Err. Since you are using the object property, you also get the AutoList Members that you didn't have in AddVal2 example above.
121 |
122 | So, global objects are like the App and Debug objects where you don't need to create an instance before you can use them. They are most beneficial for generic components like specialized math processing or generalized database processing.
123 |
124 | NOTE: You can also use this technique to define global string constants since the Public Enum only works for Long Integers.
125 |
126 | ### Do I need a Sub Main?
127 |
128 | *With VB4, I have to have a Sub Main in my OLE servers. Do I have to have a Sub Main in my ActiveX code components in VB 5?*
129 |
130 | No, you don't need to have a Sub Main. In the General tab of the Project Properties, you can now select "None" as the Startup Object. You can select Sub Main if you wish to initialize the component, but it is no longer required.
131 |
--------------------------------------------------------------------------------
/vb6_classpersistence.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • VB 1-6 • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Understanding Class Persistence
4 |
5 | ### What is a class persistence?
6 |
7 | *I have been hearing about persisting classes. What does that mean?*
8 |
9 | Persisting a class simply refers to saving the properties of that class. In VB, this means to write the properties into the PropertyBag and then store the PropertyBag in a file or in a database.
10 |
11 | ### I cannot seem to make my object persist itself
12 |
13 | *I have been using the techniques for object persistence in the object's class. But it does not seem to work.*
14 |
15 | That's right. An object cannot persist or depersist itself. Just like an object cannot create itself.
16 |
17 | When an object's properties are stored in the PropertyBag, VB also writes the class ID of the object into the PropertyBag. When the object is depersisted, VB retrieves the class ID from the PropertyBag, creates the object, and then allows you to assign the properties of the object to values from the PropertyBag.
18 |
19 | So the follow-on question here is what should cause the object to persist itself. When doing simple applications, you can have the form do this - but that is not very encapsulated. Another way to do this is to create an Application class that is responsible for persisting all of the objects in the application.
20 |
21 | ### I cannot seem to persist my array properties
22 |
23 | *The persistence seems to work, but it generates an error any time I add an array property.*
24 |
25 | That's right. Array properties cannot be persisted.
26 |
--------------------------------------------------------------------------------
/vb6_dataaware.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • VB 1-6 • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Understanding Data Aware Classes
4 |
5 | ### What is a data aware class?
6 |
7 | *I've been hearing about data aware classes. What are they?*
8 |
9 | A data aware class is a class that manages data. A data aware class can be a data source and provide data to other parts of an application. Or a data aware class can be a data consumer and bind class properties to a data source. Or a data aware class can be both a data source and data consumer.
10 |
11 | ### How do I change the recordset of a data aware class?
12 |
13 | *I created a data aware class as a data source. I want to change the recordset associated with that data source at design time. How do I do that?*
14 |
15 | To make sure the problem is clear, let's start with an example. Say that you create a data aware class that knows how to locate a record from the Biblio database for one author, where the author ID is defined as a parameter to the query used by the data aware class. Then the user selects to retrieve a different author. How do you tell the data aware class to reget the recordset using the new ID? Since GetDataMember is an event, you can't just call it.
16 |
17 | The answer is to use the DataMemberChanged method. In the data aware class, call the DataMemberChanged method providing the name of the data member that changed. The next time a data consumer requests that data member, the data aware class will regenerate the GetDataMember event which in turn should retrieve the revised recordset.
18 |
19 | ### How do I get my data aware class to work within an ActiveX EXE?
20 |
21 | *I created a data aware class as a data source within my project. Now I want to make that project an ActiveX EXE. As soon as I change the project type to ActiveX EXE, the DataSourceBehavior property of the class disappears and I cannot make it data aware. I can make the project into an ActiveX DLL and it works fine. Why can't I make it into an ActiveX EXE?*
22 |
23 | Data sources can only be in process. This is because the IDataSource and some of the OLEDB interfaces cannot be remoted across processes/machines. As a result, you can only have a data source in:
24 |
25 | * a standard EXE
26 | * an ActiveX DLL
27 | * a Usercontrol (since its in process)
28 | * a private class in an ActiveX EXE
29 |
30 | ### What is a complex bound class?
31 |
32 | *I plan to do property binding and see that the DataBindingBehavior property gives me the choice to use complex binding. What is that?*
33 |
34 | Complex bound means that you work with the whole recordset in your data consumer. For example, a DataGrid is complex bound because it manipulates and displays the whole recordset.
35 |
36 | To create a complex bound class:
37 |
38 | * Set the `DataBindingBehavior = 2 - vbComplexBound``.
39 | * You will see procedure stubs added to your class. In addition, VB automatically sets a reference to Microsoft Data Source Interfaces.
40 | * Set a reference to ADO.
41 | * Add the following code to the class module:
42 |
43 | ```vb
44 | Private rs As New ADODB.Recordset
45 | Private m_DataMember As DataMember
46 |
47 | Public Property Get DataMember() As DataMember
48 | DataMember = m_DataMember
49 | End Property
50 |
51 | Public Property Let DataMember(ByVal DataMember As DataMember)
52 | m_DataMember = DataMember
53 | End Property
54 |
55 | Public Property Get DataSource() As DataSource
56 | Set DataSource = rs.DataSource
57 | End Property
58 |
59 | Public Property Set DataSource(ByVal DataSource As DataSource)
60 | rs.DataMember = m_DataMember
61 | Set rs.DataSource = DataSource
62 | ' do something with the data now in this recordset
63 | End Property
64 | ```
65 |
--------------------------------------------------------------------------------
/vb6_databinding.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • VB 1-6 • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Understanding Data Binding
4 |
5 | ### What is Data Binding?
6 |
7 | *I have heard a lot about data binding with VB6. What is it and when do I use it?*
8 |
9 | Data binding is the process of connecting any ADO/OLE-DB data source to any ADO/OLE-DB data consumer. With prior versions of VB, the only data source was a data control. Now there are other ways to create a data source:
10 |
11 | * You can use the new ADO Data Control.
12 | * You can add a Data Environment designer to your project and specify the connections and commands that define a recordset.
13 | * You can build a data-aware class that acts as a data source by specifying the DataSourceBehavior property of the class to be vbDataSource.
14 | * You can use a pre-built recordset as a data source.
15 |
16 | With VB6, you can bind the data source directly to controls on form by setting the DataSource property of the control to the name of the ADO data control, name of the Data Environment designer, name of the object variable defined for the data-aware class, or the recordset itself.
17 |
18 | In addition to binding to controls, you can also bind to properties of a class. A class with bound properties is also called a data-aware class, but this type of data-aware class is a data consumer. To create a data consumer, you set the DataBindingBehavior property of the class to be vbSimpleBound (for normal properties) or vbComplexBound (for grids and such). Class properties can only be bound to a data-aware class. You can create one class that is both a data consumer and a data provider.
19 |
20 | ### How do I bind text boxes to a FlexGrid?
21 |
22 | *I want to put a FlexGrid on my form to display a set of records. When the user selects a record, I would like the data to appear in a set of text boxes. I assumed that if I bound the FlexGrid and text boxes to the same recordset, that this would work. However, it does not. What am I doing wrong?*
23 |
24 | The FlexGrid is not truly bound to the recordset. Rather, the FlexGrid simply reads the data from the recordset and populates the grid. It is then no longer really associated (or bound) to the recordset. The FlexGrid does not respond to navigation or update events fired by the recordset.
25 |
26 | Why is the DataSource property there then, you ask? It is there to simplify your coding so you don't have to manually deal with setting the correct number of rows and columns and using GetString on the recordset to set the Clip property of the FlexGrid.
27 |
--------------------------------------------------------------------------------
/vb6_dhtmlapp.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • VB 1-6 • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | ## Understanding DHTML Applications
4 |
5 | #### What is DHTML?
6 | *I've been hearing about DHTML. What is it?*
7 |
8 | DHTML stands for dynamic hypertext markup language. The standard hypertext markup language, HTML, is basically a tag-based formatting language used frequently on Web pages. It allows you to specify the style and content of a Web page using simple tags. For example:
9 |
10 | ```html
11 |
We have also found some DHTML features that don't seem to work correctly:
12 | ```
13 |
14 | The `
` at the beginning defines the start of a paragraph. The `
` defines the end of the paragraph.
15 |
16 | Dynamic HTML allows for changing of the Web page style and/or content on the client side without going to the Web server. This is possible because of the DHTML object model, which exposes the different styles and page contents.
17 |
18 | ### What is a DHTML Application?
19 |
20 | *Is DHTML and a DHTML application the same thing?*
21 |
22 | This one depends on your point of view. From the Visual Basic point of view, a DHTML application is a specific type of application you can build with Visual Basic. It combines the dynamic content of a Web page with Visual Basic style coding. So you can build HTML pages with a HTML page tool (such as FrontPage or the VB DHTML designer) and then write Visual Basic code to respond to browser events, such as a mouse move over a text string or the user selecting a button.
23 |
24 | ### Common HTML Tags and Their Meanings
25 |
26 | *The VB documentation implies that I can use the DHTML application feature to build Web pages by using my VB knowledge? Does that mean I don't need to learn HTML?*
27 |
28 | In order to do anything really dynamic with DHTML applications you need to be able to add, modify, and delete HTML tags from the HTML pages. Some of the more common HTML tags that you will need to know are defined below.
29 |
30 | | ------------------------ | --------------- |
31 | | `` | Font attributes |
32 | | `` | Paragraph |
33 |
34 | ### Funky things with DHTML Applications
35 |
36 | *Some of these DHTML Application features don't seem to work quite right. Am I doing something wrong?*
37 |
38 | We have also found some DHTML features that don't seem to work correctly:
39 |
40 | * Save HTML as part of the VB project. This save feature was to allow you to easily send your DHTML project to another developer without worrying about the paths that VB hard-codes everywhere. We were not able to get this to work. We saved all of the files as part of the VB project, e-mailed it to a friend, and the developer receiving it could not see the pages. The developer had to resave all of the files as HTML first before the pages could be seen or edited.
41 | * Changing the Save setting for a DHTML application. If you simply change the "Save HTML..." setting and nothing else in a DHTML designer, sometimes the change is not saved. We can normally work around this by changing something else on the page and then saving.
42 | * Graphics in the IDE. Graphics added to a Web page will not appear in the IDE. You have to run the application to see them.
43 |
44 | If you know of a workaround to these things, please let us know.
45 |
--------------------------------------------------------------------------------
/vb_todo.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • VB 7+ • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Microsoft Visual Basic 7+ (.NET) - TODO
4 |
5 | ## Projects
6 |
7 | Why aren't these sorts of projects done in /available to Visual Basic...
8 |
9 | - [Introduction to C# on ReactOS](https://www.codeproject.com/Tips/1222079/Introduction-to-Csharp-on-ReactOS)
10 | - [Newt: A Powerful C# Parser Generator in a Small Package](https://www.codeproject.com/Articles/4055540/Newt-A-Powerful-Csharp-Parser-Generator-in-a-Small)
11 | - [ls_proxy](https://github.com/axelson/ls_proxy)
12 | - [Interactive Language Server log inspector](https://github.com/Microsoft/language-server-protocol-inspector)
13 | - [Markdown Language Service](https://github.com/microsoft/vscode-markdown-languageservice)
14 | - [Markdown Language Server](https://github.com/microsoft/vscode/tree/main/extensions/markdown-language-features/server)
15 | - [Building a self-contained game in C# under 8K](https://medium.com/@MStrehovsky/building-a-self-contained-game-in-c-under-8-kilobytes-74c3cf60ea04): on [GitHub](https://github.com/MichalStrehovsky/SeeSharpSnake) - leverages the [CoreRT](https://github.com/dotnet/corert) experimental .NET Core runtime for AOT compilation. Some additional info via a [twitter thread](https://twitter.com/MStrehovsky/status/1215331352352034818?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1215331352352034818%7Ctwgr%5E&ref_url=https%3A%2F%2Fcdn.embedly.com%2Fwidgets%2Fmedia.html%3Ftype%3Dtext2Fhtmlkey%3Da19fcc184b9711e1b4764040d3dc5c07schema%3Dtwitterurl%3Dhttps3A%2F%2Ftwitter.com%2FMStrehovsky%2Fstatus%2F1215331352352034818image%3D).
16 | - [DOOM fire effect in C# running on Windows NET 3.51](https://medium.com/@MStrehovsky/doom-fire-effect-in-c-running-on-windows-nt-3-51-fad6ee839345)
17 |
18 | - [RoslynPad](https://github.com/aelij/RoslynPad): It's called "Roslyn", but only supports C#????
19 |
20 | - [OmniSharp VB support (GitHub Issue #1111)](https://github.com/OmniSharp/omnisharp-roslyn/issues/1111): In this thread is an entry that talks about what would need to be done to get [OmniSharp](https://github.com/OmniSharp/omnisharp-roslyn) working; need to find out how to setup a dev environment in order to get this process going.
21 | - [.NET Core VersionInfo](https://github.com/richlander/testapps/blob/master/versioninfo/Program.cs)
22 | - [TrueColorConsole](https://github.com/DualBrain/TrueColorConsole)
23 | - [scratchpy (GitHub)](https://github.com/pilliq/scratchpy): A Python interface to Scratch.
24 | - [mc-10 (GitHub)](https://github.com/gregdionne/mc-10): [MC-10 Javascript Emulator](http://mc-10.com)
25 | - [jeffwilcox.blog](https://github.com/jeffwilcox/jeffwilcox.blog): The personal blog of Jeff Wilcox hosted at [https://jeffwilcox.blog](https://jeffwilcox.blog)
26 | - [RogueArena (GitHub)](https://github.com/Dessyreqt/RogueArena)
27 |
28 | ## Articles
29 |
30 | These are articles that we should spend some time porting to VB.
31 |
32 | - [Writing High-Performance C# and .NET Code: Part 4 - Creating Strings with No Allocation Overhead Using String.Create](https://www.stevejgordon.co.uk/creating-strings-with-no-allocation-overhead-using-string-create-csharp)
33 |
34 | - [Console Virtual Terminal Sequences](https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences#alternate-screen-buffer)
35 | - [Console Screen Buffers](https://docs.microsoft.com/en-us/windows/console/console-screen-buffers)
36 | - [Resize Event for Console](https://stackoverflow.com/questions/31467941/resize-event-for-console)
37 | - [gsudo (github)](https://github.com/gerardog/gsudo)
38 |
39 | - [Introducing C# Source Generators](https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/)
40 | - [Announcing C#/WinRT Version 1.0 with the .NET 5 GA Release](https://blogs.windows.com/windowsdeveloper/2020/11/10/announcing-c-winrt-version-1-0-with-the-net-5-ga-release/?WT.mc_id=WD-MVP-4025064&_lrsc=833a4442-7f77-4037-9166-03fa56c8e16b&utm_campaign=elevate&utm_source=twitter&utm_medium=social)
--------------------------------------------------------------------------------
/vic20.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Commodore VIC-20
4 |
5 | 
6 |
7 | - [WimBasic](https://wimbasic.webs.com/): Today's Extended Basic Level II extension for VIC-20 featuring SuperNumbers(tm).
8 |
9 | 
10 |
--------------------------------------------------------------------------------
/wwwbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Google's wwwBASIC
4 |
5 | > wwwBASIC is an implementation of BASIC (Beginner’s All-purpose Symbolic Instruction Code) designed to be easy to run on the Web.
6 |
7 | - [wwwBASIC](https://google.github.io/wwwbasic/)
8 | - [GitHub: wwwBASIC Project](https://github.com/google/wwwbasic)
9 |
10 | ## Forks
11 |
12 | - [thomasmcneill](https://github.com/thomasmcneill/wwwbasic): Adds *PLAY* support.
--------------------------------------------------------------------------------
/wxbasic.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # wxBasic
4 |
5 | wxBasic is an BASIC interpreter that is:
6 |
7 | - Free
8 | - Open Source (LGPL)
9 | - Cross-platform (currently Windows and Linux)
10 |
11 | wxBasic can create stand-alone executables by binding together source code with the interpreter.
12 |
13 | wxBasic is written primarily in C, with some C++ linking it to the [wxWidgets library](http://www.wxwidgets.org/). wxWidgets supplies the cross-platform features.
14 |
15 | wxBasic runs on Windows using native controls, and Linux using the [GTK Library](http://www.gtk.org/).
16 |
17 | - [Home](http://wxbasic.sourceforge.net)
18 | - [GitHub](https://github.com/wxbasic/wxbasic)
19 |
--------------------------------------------------------------------------------
/xojo.md:
--------------------------------------------------------------------------------
1 | [Home](https://gotbasic.com) • [VB 7+](vb.md) • [VB 1-6](vb6.md) • [FB](freebasic.md) • [QB64](qb64.md) • [QB45](qb.md) • [GW-BASIC](gw-basic.md) • [Micro](micro.md) • [Retro](retro.md)
2 |
3 | # Xojo
4 |
5 | The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.
6 |
7 | Prior to 2013, the product was known as REALbasic.
8 |
9 | - [Home](https://www.xojo.com/)
10 |
--------------------------------------------------------------------------------