From f1b6f0d39e9d97f5c874298ff7a870fb95537266 Mon Sep 17 00:00:00 2001 From: Pinjontall94 <25357545+Pinjontall94@users.noreply.github.com> Date: Fri, 25 Sep 2026 11:13:50 +0000 Subject: [PATCH] Examples: add even-odd (from issue #198) Co-authored-by: Pinjontall94 <25357545+Pinjontall94@users.noreply.github.com> Signed-off-by: Pinjontall94 <25357545+Pinjontall94@users.noreply.github.com> --- packages/examples/even-odd/even-odd.asm | 14 ++++++++++++++ packages/examples/even-odd/even-odd.meta.ts | 13 +++++++++++++ packages/examples/even-odd/index.ts | 8 ++++++++ packages/examples/examples.ts | 1 + 4 files changed, 36 insertions(+) create mode 100644 packages/examples/even-odd/even-odd.asm create mode 100644 packages/examples/even-odd/even-odd.meta.ts create mode 100644 packages/examples/even-odd/index.ts diff --git a/packages/examples/even-odd/even-odd.asm b/packages/examples/even-odd/even-odd.asm new file mode 100644 index 00000000..84890b59 --- /dev/null +++ b/packages/examples/even-odd/even-odd.asm @@ -0,0 +1,14 @@ + ;; even? a -- a + lda #3 + sta $0 +loop: ror + bcc loop + cmp #0 + beq even + jmp odd +even: lda #1 + jmp end +odd: lda #0 + jmp end + +end: brk diff --git a/packages/examples/even-odd/even-odd.meta.ts b/packages/examples/even-odd/even-odd.meta.ts new file mode 100644 index 00000000..2bb0bff9 --- /dev/null +++ b/packages/examples/even-odd/even-odd.meta.ts @@ -0,0 +1,13 @@ +import { _ } from "@learn6502/core"; +import type { ExampleMetaJson } from "../example-meta.ts"; +export default { + slug: "even-odd", + // TRANSLATORS: Example title for even odd + title: _("even odd"), + // TRANSLATORS: Example description for even odd + description: _("checks if A is even, places 1 or 0 in A on result"), + author: "pinjontall94", + license: "CC-BY-4.0", + displayMemory: + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", +} as ExampleMetaJson; diff --git a/packages/examples/even-odd/index.ts b/packages/examples/even-odd/index.ts new file mode 100644 index 00000000..5f01c5c3 --- /dev/null +++ b/packages/examples/even-odd/index.ts @@ -0,0 +1,8 @@ +import { default as evenOddCode } from "./even-odd.asm"; +import evenOddMeta from "./even-odd.meta.ts"; +import type { ExampleMeta } from "../example-meta.ts"; +const evenOdd: ExampleMeta = { + ...evenOddMeta, + code: evenOddCode, +}; +export { evenOdd }; diff --git a/packages/examples/examples.ts b/packages/examples/examples.ts index a16f65c5..97935d5a 100644 --- a/packages/examples/examples.ts +++ b/packages/examples/examples.ts @@ -1,5 +1,6 @@ export * from "./commented-snake"; export * from "./dino-run"; +export * from "./even-odd"; export * from "./line-buster-6502"; export * from "./snake"; export * from "./stack-example";