Microsoft BASIC for 6502 Microprocessor - Version 1.1 Overview This repository contains the complete assembly source code of Microsoft BASIC Version 1.1 for the MOS Technology 6502 microprocessor. It is a historically significant piece of software from the early personal computer era, originally developed and copyrighted by Microsoft between 1976 and 1978. --- Historical Significance Foundation of Personal Computing: This BASIC interpreter powered many influential early personal computers, democratizing programming by making it accessible through a simple, English-like language. Microsoft's Early Success: Licensing this interpreter to hardware manufacturers established Microsoft as a dominant software company prior to MS-DOS and Windows. Multi-Platform Compatibility: The single codebase supports multiple computer systems via conditional compilation—a pioneering approach influencing decades of software development. --- Supported Computer Systems Apple II: Revolutionary home computer by Steve Jobs and Steve Wozniak (REALIO=4) Commodore PET: One of the first complete personal computers (REALIO=3) Ohio Scientific (OSI): Popular among hobbyists and educational institutions (REALIO=2) MOS Technology KIM-1: Influential single-board computer (REALIO=1) PDP-10 Simulation: Used for development and testing (REALIO=0) --- Technical Specifications Programming Language: 6502 Assembly Language Target Processor: MOS Technology 6502, 8-bit microprocessor Memory Footprint: 8KB ROM version Features: Full BASIC implementation including floating-point arithmetic Architecture: Designed for both ROM and RAM hardware configurations --- Key Features Programming Language Support Full BASIC language with floating-point arithmetic String handling and manipulation Support for integer and string arrays Various mathematical functions and operators Input/output capabilities Memory Management Efficient use for 8-bit systems String garbage collection Dynamic variable storage Stack-based expression evaluation Hardware Abstraction Configurable input/output routines for different system targets Adaptation to terminal width Abstracted character I/O Optional disk storage support --- Development History The source includes detailed revision logs showing active development from 1976 to 1978. Bug fixes, memory optimizations, enhancements in string functions, parsing improvements, and user-defined function features were progressively added. --- Cultural Impact Educational Influence Introduced millions to programming as their first language Made computing approachable for non-technical users Many early programmers and future industry leaders started here Industry Standardization Became the de facto standard for early PC programming Influenced future programming languages and tools Pioneered multi-platform software development techniques Business Model Innovation Licenses to multiple hardware makers established Microsoft's software-only business model Served as a prototype for the modern software industry’s licensing practices --- Technical Innovation Compiler Technology Advanced macro system for generating code Sophisticated conditional compilation for multi-platform support Efficient symbol table and memory-optimized code generation Runtime System Stack-based expression evaluator Dynamic memory and garbage collection Interactive command processing for user input --- Legacy This source code is foundational to: The development of MS-DOS and later Microsoft operating systems Standardization and widespread adoption of programming languages Establishing software licensing as a viable business model Broadening access to computer programming worldwide --- Repository Details Filename: m6502.asm Lines of Code: Approximately 6,955