millfork/examples
Karol Stasiak 3b3ee1bc55 Version 0.3.30 2021-12-15 16:01:46 +01:00
..
a8 A8 fixed code 2020-10-30 16:08:29 +01:00
apple2 first attempt at a ProDOS library for the Apple II 2021-02-02 23:33:45 -05:00
atari_lynx Fix signed constants and word-sbyte subtraction 2019-09-20 18:33:41 +02:00
c64 Allow different output formats for different segments 2020-03-31 19:01:29 +02:00
crossplatform Clean accidentally commited labels file 2021-09-21 00:20:54 +02:00
gb Const arrays 2019-04-30 00:41:42 +02:00
msx New encodings for MSX 2019-07-31 00:20:18 +02:00
nes Allow omitting length in `file` array initalizers (fixes #35) 2020-01-10 18:37:49 +01:00
tests Let the test suite compile on targets incompatible with encconv 2020-07-31 18:43:50 +02:00
vcs Fix init_rw_memory on Atari 2600 2019-06-28 16:44:41 +02:00
x16 X16: Updated to the newest hardware design 2020-05-01 15:19:25 +02:00
README.md Version 0.3.30 2021-12-15 16:01:46 +01:00
screenshots.png Improve examples 2019-08-06 12:59:05 +02:00

README.md

Examples

The examples showcased here are designed to compile with a compiler built from the newest sources. If you are using a release version of the compiler, consider browsing the older versions of the examples:

Cross-platform examples

  • Hello world (C64/C16/PET/VIC-20/Atari/Apple II/BBC Micro/ZX Spectrum/PC-88/Armstrad CPC/MSX/Z1013) simple text output

  • Fizzbuzz (C64/C16/PET/VIC-20/PET/Atari/Apple II/BBC Micro/ZX Spectrum/PC-88/Armstrad CPC/MSX/X16) everyone's favourite programming task

  • Fizzbuzz 2 (C64/C16/PET/VIC-20/PET/Atari/Apple II/BBC Micro/ZX Spectrum/PC-88/Armstrad CPC/MSX/CoCo) an alternative, more extensible implementation of fizzbuzz

  • Fizzbuzz JP (PC-88/Japanese C64) Fizzbuzz, but in Japanese

  • Text encodings (C64/ZX Spectrum) examples of text encoding features

  • Echo (C64/C16/VIC-20/Apple II/ZX Spectrum/PC-88/MSX) simple text input and output

  • Calculator (C64/C16/VIC-20/Apple II/ZX Spectrum/PC-88/MSX/TRS-80) simple numeric input and output

  • Guessing game (C64/C16/VIC-20/Apple II/ZX Spectrum/PC-88/MSX/TRS-80/Z1013) a guess-a-number game

  • Fire effect (C64/C16/ZX Spectrum) a simple fire effect

  • readkey test (C64/C16/PET/VIC-20/Atari/Apple II/Armstrad CPC/ZX Spectrum/PC-88/TRS-80/Z1013) keyboard reading test

  • Screen encoding test (C64/C16) default-to-screen encoding conversion test

  • Bell (Apple II/ZX Spectrum) a program that goes *ding!*

  • Life (C64/C16/Atari/ZX Spectrum) Conway's game of life

  • Reg dump (C64/C16/ZX Spectrum/CoCo) a program that simply prints the initial values of CPU registers

  • Test suite (C64/C16/Atari/Apple II/BBC Micro/Armstrad CPC/ZX Spectrum/PC-88/CoCo) the semi-official test-suite for Millfork

Commodore 64 examples

Graphical examples

Other examples

  • Multifile (source code, platform definition) how to create a program made of multiple files loaded on demand

  • Panic how panic works on C64, showing the address of where it happened

Famicom/NES examples

  • NES 101 tutorial example a port of the tutorial example from the NES 101 tutorial by Michael Martin

  • MMC4 example the same thing as above, but uses a MMC4 mapper just to test bankswitching

  • Pong example simple pong example based off pong1.asm by bunnyboy of the nintendoage.com forums

Atari Lynx examples

Atari 8-bit examples

Hardware specific examples

Music

Benchmarks

Other examples

Game Boy examples

  • GB test example a partial port of the NES example, with a rudimentary experimental text output implementation

Atari 2600 examples

  • Colors simple static rasterbars

MSX examples

  • Encoding test text encoding test; displays three lines of text in three different languages, no more one of which will display correctly depending on the default font of your computer.

Commander X16 examples

  • Palette displays the default 256-colour palette.

  • Balls 16 sprites using 240 colours.

  • Joy demo simple joystick demo.