Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
Daniel Covington 5eadd14f57 Add the Nova128 interface dispatch trampoline (E06-S02). před 4 dny
..
cfg Add generated-program software frames (E04-S02). před 5 dny
demo newLang: add the write-and-check demo před 6 dny
docs Add the Nova128 interface dispatch trampoline (E06-S02). před 4 dny
monitor newLang: add Nova128 spec, backlog, and C128 platform probes před 6 dny
planning Add the Nova128 interface dispatch trampoline (E06-S02). před 4 dny
scripts Add the Nova128 interface dispatch trampoline (E06-S02). před 4 dny
src Add the Nova128 interface dispatch trampoline (E06-S02). před 4 dny
tests Add the Nova128 interface dispatch trampoline (E06-S02). před 4 dny
.gitignore newLang: add Nova128 spec, backlog, and C128 platform probes před 6 dny
AGENTS.md Record the commit footer without emoji. před 5 dny
README.md newLang: add Nova128 spec, backlog, and C128 platform probes před 6 dny

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.