millfork

Millfork: a middle-level programming language targeting 6502- and Z80-based microcomputers and home consoles

This project is maintained by KarolS

< back to index

Frequently Asked Questions

Who is the target audience?

Millfork was designed to be a language for developers for old 8-bit platforms, mostly game developers, who have little use for advanced features of C, but don’t have time to write assembly.

What was the inspiration?

The main inspirations was Atalan, but also Quetzalcoatl, Batari BASIC and NESHLA. Sadly, Atalan has been abandoned, and the compiler has been left in a non-working state. The goal of Millfork is to succeed where Atalan failed.

What platforms are supported?

Large programs in Millfork have been developed for Commodore 64.

Millfork was also tested (via emulators) to run trivial programs on other 8-bit Commodore computers, Atari 8-bit computers, Apple II, BBC Micro, ZX Spectrum 48k, NEC PC-88, MSX, CP/M, NES, Game Boy, Atari Lynx, Atari 2600 and MS-DOS.

Support for other devices using supported processors can be easily added, usually without modifying the compiler.

What microprocessors are supported?

Why Millfork when I can use assembly?

Why Millfork when I can use C?

This sounds like Millfork beats C in every department, right?

Unfortunately not:

Since the compiler is a work-in-progress, some of the mentioned issues might be improved upon in the future.

I have experience with C and/or assembly. What should I keep in mind?

See the differences from C and the differences from assembly.

Why is it called Millfork?

It stands for MIddle Level Language FOR Kommodore computers.

(There’s also a mining town in Utah called Mill Fork, which, as fitting a compiler for obsolete machines, is currently abandoned.)

‟Commodore” isn’t spelt with K!

Shh.