選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Daniel Covington 8a2d8ce312 Record E06-S07 as blocked on calling-convention emission. 3日前
..
cfg Add generated-program software frames (E04-S02). 5日前
demo newLang: add the write-and-check demo 6日前
docs Make print work in generated programs. 3日前
monitor newLang: add Nova128 spec, backlog, and C128 platform probes 6日前
planning Record E06-S07 as blocked on calling-convention emission. 3日前
scripts Check generated print on the real screen. 3日前
src Make print work in generated programs. 3日前
tests Close the driver story's injection and regression checks. 3日前
.gitignore newLang: add Nova128 spec, backlog, and C128 platform probes 6日前
AGENTS.md Record the commit footer without emoji. 4日前
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.