awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
microsoft avatar

microsoft/BASIC-M6502Archived

0
View on GitHub↗
4,490 星标·507 分支·Assembly·MIT·3 次浏览

BASIC M6502

BASIC-M6502 是一个用于 8 位微处理器的 BASIC 语言实现。它提供了一个执行环境,允许用高级、类似英语的语言编写的程序在 6502 硬件上运行,并支持数学函数和浮点运算。

该项目专为跨平台硬件移植而设计,使用条件编译和宏来适应不同复古计算系统之间的单个代码库。它利用硬件抽象层来管理基于字符的输入和输出例程。

该系统包括具有动态分配的嵌入式内存管理,以及用于字符串和变量的标记清除 (mark-and-sweep) 垃圾回收。它还提供了用于字符串和数组操作的原语,并采用软件仿真进行浮点运算。

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.

Star 历史

microsoft/basic-m6502 的 Star 历史图表microsoft/basic-m6502 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

microsoft/basic-m6502 是做什么的?

BASIC-M6502 是一个用于 8 位微处理器的 BASIC 语言实现。它提供了一个执行环境,允许用高级、类似英语的语言编写的程序在 6502 硬件上运行,并支持数学函数和浮点运算。

microsoft/basic-m6502 的主要功能有哪些?

microsoft/basic-m6502 的主要功能包括:6502 Hardware Programming, Conditional Compilation Directives, Hardware Porting, Dynamic Memory Allocation, Embedded Memory Management, BASIC Language Implementations, Bytecode Interpreters, Single Codebase Targets。

microsoft/basic-m6502 有哪些开源替代品?

microsoft/basic-m6502 的开源替代品包括: 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…

BASIC M6502 的开源替代方案

相似的开源项目,按与 BASIC M6502 的功能重合度排序。
  • carp-lang/carpcarp-lang 的头像

    carp-lang/Carp

    5,815在 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
    在 GitHub 上查看↗5,815
  • bellard/mquickjsbellard 的头像

    bellard/mquickjs

    5,539在 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
    在 GitHub 上查看↗5,539
  • bblanchon/arduinojsonbblanchon 的头像

    bblanchon/ArduinoJson

    7,176在 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
    在 GitHub 上查看↗7,176
  • didi/mpxdidi 的头像

    didi/mpx

    3,905在 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
    在 GitHub 上查看↗3,905
  • 查看 BASIC M6502 的所有 30 个替代方案→