FANCO-16 VERSION 3 EXAMPLES =========================== SPACE INVADERS ============== ID 0xcc4d06bd. Left, right Move the ship. A Fire. Hold to keep firing. B Start again. Shoot all 24 invaders to win. You lose if an invader's shot hits you, or if the invaders march down to your row. There is one shot of yours and one of theirs on the screen at a time. Everything happens in the program: movement, collisions, the score, the music and the sound effects. The invaders are drawn with the blitter. The program shows each finished picture with sys present, so the screen never flickers. The first thing the program does is fetch its library with sys load. If that fails, it shows a red bar and halts. THE INVADERS LIBRARY ==================== ID 0x7da4f70a, 1,205 bytes. This is a fixed-address library, so it always loads at the same place. It cannot be run on its own. Address Contents --------- ------------------------------ 8000 Draw text 8400 Draw a line 8F00-8FFF Working memory for the routines. Do not use. 9000 Font: 96 glyphs of 8 bytes, for characters 32 to 127 Draw text: call 0x8000 p Address of the text, ending in a zero byte. x, y Top left corner. a.lo Color. Draw a line: call 0x8400 x, y Start point. a, b End point, 0-255. [0x8FF0] Color, a byte. Both keep x, y and r. Neither may be called from an interrupt handler while it is already running, because they share working memory. The library writes nothing below address 80, so loading it does not disturb the registers or the hardware. The newer relocatable libraries, described in programs/README.txt, do the same jobs and can be loaded anywhere. CREDITS ======= The code, the pictures, the font, the music and the sound effects were all made for this project, and are released under the MIT license (see /LICENSE.txt). The game is in the style of the classic alien shooters. It contains nothing from the original Space Invaders.