Millfork documentation
  • Home
  • Index
    • Compiler usage
    • Language reference
    • Library reference
    • Guides
    • Implementation details
    • External links
  • FAQ

User guide

  • Getting started
  • Command-line option reference
  • Target platform reference
  • Defining a custom platform
  • Differences between ROM and RAM targets
  • Platform-specific guides
    • Apple 2
    • Amstrad CPC
    • Commodore 64
    • C64 with LUnix
    • BBC Micro
    • Game Boy
    • NES/Famicom
    • Color Computer

Language reference

  • Preprocessor
  • Modules
  • Syntax
  • Types
  • Literals
  • Predefined constants
  • List of magic suffixes
  • Text encodings
  • Custom text encodings
  • Operators
  • Functions
  • Inline 6502 assembly
  • Inline 8080/LR35902/Z80 assembly
  • Inline 6809 assembly
  • Reentrancy guidelines
  • Optimization hints
  • List of keywords

Library reference

  • stdlib module
  • string, scrstring and pstring modules
  • stdio module
  • err and random modules
  • keyboard module
  • mouse and coord modules
  • joy module
  • encconv module
  • Platform-dependent definitions
  • cbm_file module
  • C64-only modules
  • VIC-20-only modules
  • PET-only modules
  • Apple II-only modules
  • NES-only modules
  • Lynx-only modules
  • Game Boy–only modules
  • X16–only modules

Implementation details

  • Calling convention
  • Generated labels
  • Inlining
  • Undefined behaviour
  • Undocumented instruction support
  • Variable storage

Additional guides

  • Optimization guide
  • Differences from C
  • Differences in assembly

External links

  • Downloads
  • Source code
  • Example programs
  • Millfork wiki
  • Benchmarks
Millfork documentation
  • Docs »
  • Index

Documentation index

  • Home page

Compiler usage

  • Getting started

  • Command-line option reference

  • Target platform reference

  • Defining a custom platform

Language reference

  • Preprocessor

  • Modules

  • Syntax

  • Types

  • Literals

  • Predefined constants

  • List of magic suffixes

  • List of text encodings and escape sequences

  • Defining custom encodings

  • Operators reference

  • Functions

  • Inline 6502 assembly syntax

  • Inline 8080/LR35902/Z80 assembly syntax

  • Inline 6809 assembly syntax

  • Important guidelines regarding reentrancy

  • Optimization hints

  • List of keywords

Library reference

  • stdlib module

  • string, scrstring and pstring modules

  • stdio module

  • Reading input devices:

    • joy module

    • keyboard module

    • mouse module

  • encconv module

  • Other cross-platform modules (err, random)

  • Platform-specific modules:

    • Definitions available on only some platforms

    • C64-only modules

    • VIC-20-only modules

    • PET-only modules

    • cbm_file module

    • Apple II-only modules

    • NES-only modules

    • Atari Lynx-only modules

    • Game Boy–only modules

    • X16–only modules

Guides

  • Differences from C

  • Differences from other assemblers

  • Optimization guide

Implementation details

  • Variable storage

  • Calling convention

  • Undefined behaviour

  • Undocumented instruction support

  • Reference for labels in generated assembly code

External links

  • Example programs

  • Millfork wiki

  • Benchmarks

  • Downloads

  • Source code

Next Previous

Built with MkDocs using a theme provided by Read the Docs.