site_name: Millfork documentation
theme: readthedocs
nav:
  - Home: index.md
  - Index: doc_index.md
  - FAQ: various/faq.md
  - User guide:
    - Getting started: api/getting-started.md
    - Command-line option reference: api/command-line.md
    - Target platform reference: api/target-platforms.md
    - Defining a custom platform: api/custom-platform.md
    - Differences between ROM and RAM targets: api/rom-vs-ram.md
    - Platform-specific guides:
        - Apple 2: api/apple2-programming-guide.md
        - Amstrad CPC: api/cpc-programming-guide.md
        - Commodore 64: api/commodore-programming-guide.md
        - C64 with LUnix: api/lunix-programming-guide.md
        - BBC Micro: api/bbcmicro-programming-guide.md
        - Game Boy: api/gb-programming-guide.md
        - NES/Famicom: api/famicom-programming-guide.md
  - Language reference:
    - Preprocessor: lang/preprocessor.md
    - Modules: lang/modules.md
    - Syntax: lang/syntax.md
    - Types: lang/types.md
    - Literals: lang/literals.md
    - Predefined constants: lang/predefined_constants.md
    - Text encodings: lang/text.md
    - Custom text encodings: lang/custom-encoding.md
    - Operators: lang/operators.md
    - Functions: lang/functions.md
    - Inline 6502 assembly: lang/assembly.md
    - Inline 8080/LR35902/Z80 assembly: lang/assemblyz80.md
    - Inline 6809 assembly: lang/assembly6809.md
    - Reentrancy guidelines: lang/reentrancy.md
    - List of keywords: lang/keywords.md
  - Library reference:
    - stdlib module: stdlib/stdlib.md
    - string, scrstring and pstring modules: stdlib/string.md
    - stdio module: stdlib/stdio.md
    - err and random modules: stdlib/other.md
    - keyboard module: stdlib/keyboard.md
    - mouse and coord modules: stdlib/mouse.md
    - joy module: stdlib/joy.md
    - encconv module: stdlib/encconv.md
    - Platform-dependent definitions: stdlib/frequent.md
    - cbm_file module: stdlib/cbm_file.md
    - C64-only modules: stdlib/c64.md
    - PET-only modules: stdlib/cbm_pet.md
    - NES-only modules: stdlib/nes.md
    - Lynx-only modules: stdlib/lynx.md
    - Game Boy–only modules: stdlib/gb.md
    - X16–only modules: stdlib/x16.md
  - Implementation details:
    - Calling convention: abi/calling-convention.md
    - Generated labels: abi/generated-labels.md
    - Inlining: abi/inlining.md
    - Undefined behaviour: abi/undefined-behaviour.md
    - Undocumented instruction support: abi/undocumented.md
    - Variable storage: abi/variable-storage.md
  - External links:
    - Downloads: https://github.com/KarolS/millfork/releases/
    - Source code: https://github.com/KarolS/millfork
    - Example programs: https://github.com/KarolS/millfork/tree/master/examples
    - Millfork wiki: https://github.com/KarolS/millfork/wiki
    - Benchmarks: https://github.com/KarolS/millfork-benchmarks
