Millfork: a middle-level programming language targeting 6502- and Z80-based microcomputers and home consoles
This project is maintained by KarolS
Save the following as hello_world.mfk
:
import stdio
void main(){
putstrz("hello world"z)
while(true){}
}
Compile it using the following commandline:
java -jar millfork.jar hello_world.mfk -o hello_world -t c64
or if you’re using a Windows native build:
millfork hello_world.mfk -o hello_world -t c64
Run the output executable (here using the VICE emulator):
x64 hello_world.prg
The following options are obligatory when compiling your sources:
-o <FILENAME>
– specifies the base name for your output file, an appropriate file extension will be appended.
-t <PLATFORM>
– specifies the target platform.
Each platform is defined in an .ini
file in the include directory.
For the list of supported platforms, see Supported platforms
You may be also interested in the following:
-O
, -O2
, -O3
, -O4
– enable optimization (various levels)
-finline
– automatically inline functions for better optimization
-fipo
– enable interprocedural optimization
-s
– additionally generate assembly output
(if targeting Intel 8080/8085, use --syntax=intel
or --syntax=zilog
to choose the preferred assembly syntax)
-fsource-in-asm
– show original Millfork source in the assembly output
-g
– additionally generate a label file
-r <PROGRAM>
– automatically launch given program after successful compilation; you can supply extra params for it with -R <PARAM>
-Wall
– enable all warnings
--help
– list all commandline options
For the comprehensive list of command-line options, see Command-line options.