awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
microsoft avatar

microsoft/BASIC-M6502Archived

0
View on GitHub↗
4,490 estrellas·507 forks·Assembly·MIT·1 vista

BASIC M6502

BASIC-M6502 is a BASIC language implementation for 8-bit microprocessors. It provides an execution environment that allows programs written in a high-level, English-like language to run on 6502 hardware, featuring support for mathematical functions and floating-point arithmetic.

The project is designed for cross-platform hardware porting, using conditional compilation and macros to adapt a single codebase across different retrocomputing systems. It utilizes hardware abstraction layers to manage character-based input and output routines.

The system includes embedded memory management with dynamic allocation and mark-and-sweep garbage collection for strings and variables. It also provides primitives for string and array manipulation and employs software emulation for floating-point operations.

Features

  • 6502 Hardware Programming - Provides a high-level language environment to write and execute programs on 6502 microprocessor hardware.
  • Conditional Compilation Directives - Uses preprocessor directives to include or exclude code blocks based on the target hardware platform configuration.
  • Hardware Porting - Adapts a single codebase to run on various 6502-based computer systems through conditional compilation and macros.
  • Dynamic Memory Allocation - Allocates storage for variables and performs garbage collection on strings to maintain efficient memory utilization.
  • Embedded Memory Management - Handles dynamic memory allocation and garbage collection for strings and variables within low-resource embedded environments.
  • BASIC Language Implementations - Implements a functional BASIC interpreter supporting mathematical functions and floating-point arithmetic on 8-bit systems.
  • Bytecode Interpreters - Implements a bytecode interpreter to reduce memory footprint and increase execution speed on 8-bit hardware.
  • Single Codebase Targets - Maintains a single codebase that can be adapted for different 6502-based computer systems through conditional compilation.
  • BASIC Runtimes - Runs programs written in an English-like BASIC language, including support for floating-point math on 8-bit microprocessors.
  • Floating Point Emulators - Implements complex mathematical operations and decimal arithmetic via software routines for processors lacking native FPU hardware.
  • Retrocomputing - Provides a development environment for building and running legacy-style software on early home computers and 8-bit hardware.
  • Hardware I/O Abstractions - Abstracts character input and output through interchangeable subroutines tailored to specific hardware communication ports.
  • Dynamic Memory Allocation - Implements mechanisms for allocating and reallocating memory dynamically and performing real-time garbage collection in constrained systems.
  • Pure Computation I/O Abstractions - Provides abstraction layers that separate the BASIC interpreter's computation from hardware-specific character I/O routines.
  • Macro-Based Generation - Generates hardware-specific machine code by expanding high-level macros into optimized assembly instructions.
  • Mark-and-Sweep Garbage Collectors - Reclaims memory by identifying unreachable string objects and consolidating fragmented free space using a mark-and-sweep algorithm.
  • Low-Level Machine Code Optimizations - Produces efficient assembly code tailored for specific hardware platforms using a macro system and conditional compilation.

Historial de estrellas

Gráfico del historial de estrellas de microsoft/basic-m6502Gráfico del historial de estrellas de microsoft/basic-m6502

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a BASIC M6502

Proyectos open-source similares, clasificados según cuántas características comparten con BASIC M6502.
  • carp-lang/carpAvatar de carp-lang

    carp-lang/Carp

    5,815Ver en GitHub↗

    Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces

    Haskellfunctionalfunctional-programminggame-development
    Ver en GitHub↗5,815
  • bellard/mquickjsAvatar de bellard

    bellard/mquickjs

    5,539Ver en GitHub↗

    mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic

    C
    Ver en GitHub↗5,539
  • bblanchon/arduinojsonAvatar de bblanchon

    bblanchon/ArduinoJson

    7,176Ver en GitHub↗

    ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons

    C++arduinoarduino-libraryc-plus-plus
    Ver en GitHub↗7,176
  • didi/mpxAvatar de didi

    didi/mpx

    3,905Ver en GitHub↗

    MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p

    JavaScript
    Ver en GitHub↗3,905
Ver las 30 alternativas a BASIC M6502→

Preguntas frecuentes

¿Qué hace microsoft/basic-m6502?

BASIC-M6502 is a BASIC language implementation for 8-bit microprocessors. It provides an execution environment that allows programs written in a high-level, English-like language to run on 6502 hardware, featuring support for mathematical functions and floating-point arithmetic.

¿Cuáles son las características principales de microsoft/basic-m6502?

Las características principales de microsoft/basic-m6502 son: 6502 Hardware Programming, Conditional Compilation Directives, Hardware Porting, Dynamic Memory Allocation, Embedded Memory Management, BASIC Language Implementations, Bytecode Interpreters, Single Codebase Targets.

¿Qué alternativas de código abierto existen para microsoft/basic-m6502?

Las alternativas de código abierto para microsoft/basic-m6502 incluyen: carp-lang/carp — Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless… freertos/freertos-kernel — FreeRTOS-Kernel is a real-time operating system kernel for microcontrollers. It provides a multitasking environment… bblanchon/arduinojson — ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers… bellard/mquickjs — mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring… didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from… jrowberg/i2cdevlib — i2cdevlib is a collection of peripheral drivers and hardware abstraction layers designed for I2C devices. It provides…