Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Daniel Covington 26422557ac Add the scalar instruction emitter (E04-S03). 4 дней назад
..
cfg Add generated-program software frames (E04-S02). 4 дней назад
demo newLang: add the write-and-check demo 6 дней назад
docs Add the scalar instruction emitter (E04-S03). 4 дней назад
monitor newLang: add Nova128 spec, backlog, and C128 platform probes 6 дней назад
planning Add the scalar instruction emitter (E04-S03). 4 дней назад
scripts Add the scalar instruction emitter (E04-S03). 4 дней назад
src Add the scalar instruction emitter (E04-S03). 4 дней назад
tests Add the scalar instruction emitter (E04-S03). 4 дней назад
.gitignore newLang: add Nova128 spec, backlog, and C128 platform probes 6 дней назад
AGENTS.md newLang: add Nova128 spec, backlog, and C128 platform probes 6 дней назад
README.md newLang: add Nova128 spec, backlog, and C128 platform probes 6 дней назад

README.md

Nova128

Nova128 is the working name for an object-oriented programming language for the Commodore 128. Its compiler will be written in 8502/6502 assembly, run on the C128 in native mode, and generate native C128 PRG files.

This directory contains the project specification, agent-ready backlog, and the implementation as it is built. The user approved continuation on 2026-11-07; stories may be claimed in dependency order under AGENTS.md.

Version 1 Product Boundary

  • On-machine C128-native compiler written in ca65 assembly
  • Statically typed, class-based language
  • Classes, private/public fields and methods, constructors, and destructors
  • Explicit new and delete
  • Multiple interfaces per class
  • Interface-typed variables and parameters
  • Dynamic dispatch through interface method tables
  • Procedural control flow and native 8502 code generation
  • PETSCII SEQ source compatibility with the existing C64 Vim clone
  • 40- or 80-column compiler output through KERNAL-compatible routines

Version 1 does not include class inheritance, garbage collection, exceptions, generics, closures, overloading, floating point, a Z80 target, or a C64 target.

Document Map

File Purpose
AGENTS.md Mandatory operating rules for agents
docs/decisions.md Accepted, provisional, deferred, and open decisions
docs/language-spec.md Normative source-language specification
docs/architecture.md Compiler, runtime, ABI, memory, and file architecture
planning/epics-and-stories.md Work breakdown with dependencies and acceptance criteria
planning/agent-workflow.md Claiming, handoff, verification, and completion process

Intended Workflow

x64sc + Vim clone
        |
        | PETSCII SEQ source: PROGRAM.N8
        v
copied development D81
        |
        | close x64sc before continuing
        v
x128 + Nova128 compiler
        |
        +--> PROGRAM.PRG
        +--> PROGRAM.ERR
        +--> PROGRAM.MAP

The original vim/work.d81 is an input template, never a writable project disk. A preparation script will copy it into newLang/build/ and inject the compiler, runtime, examples, and fixtures.

Approved Version 1 Defaults

The user approved continuation with these documented defaults:

  • Working language name: Nova128
  • Source suffix: .n8
  • Compiler runs entirely on the C128
  • Host tools only assemble/package/test the compiler itself
  • Vim remains C64-mode for version 1
  • Interfaces are required in version 1
  • Class inheritance is deferred
  • Memory management is explicit and deterministic

See docs/decisions.md for decision status and unresolved questions.

Powered by TurnKey Linux.