Skip to content

Latest commit

 

History

History
136 lines (109 loc) · 3.87 KB

README.md

File metadata and controls

136 lines (109 loc) · 3.87 KB

tiles512

Tiled Side-Scroller Demo with 512 Characters

Screenshot

tiles

Video

Binaries

Requirements

  • Atari 8-bit computer with 128K of memory
  • Functions on 64K but displays garbage sprites

Interface

  • Joystick left and right for horizontal motion
  • Joystick button or up for jump
  • Select to toggle music
  • Start to reload map

Engine

  • Changes two playfield colors every scan line
    • Pixels mix vertically in PAL for effectively square pixels at 16 colors
  • Changes CHBASE every 8 scanlines so that each row of the tileset can use a different 128-entry character set
  • Uses playfield 1 for solid blue
  • Alternates playfield 2 between red and dark grey
  • Alternates playfield 3 between green and light grey
  • Uses fifth color for solid white, so tile can't have both green and white
  • No computation during raster
  • 50fps
  • Platforms and blockages
  • Gravity
  • X acceleration

Tiles

  • 4x4 Antic Mode 4 or effectively 16x16 pixels
  • Effectively 16 colors
  • 32 different tiles fit into four 128-entry character sets
  • 4K memory

Map

  • 512x16 tiles
  • Created in Tiled Qt
  • 2 layers: visual, blockages
  • One byte per tile
    • 5 bits for tile
    • 1 bit for horizontal blockage
    • 1 bit for vertical blockage
  • 8K memory

Sprites

  • 16x32 pixels
  • All four players for multicolor
  • Stored in extended memory
  • No vertical movement
  • Poses selected by PMBASE and PORTB
  • 16K memory
  • No enemies or projectiles

Screen

  • Effectively 160x120 pixels at 16 colors
  • 10x7.5 tiles
  • 16 quarter tile slices along vertical edge are updated every frame in direction of x movement
  • Takes advantage of Antic LMS wrap for continuous scrolling

Music

  • SAP by SimPiko
  • Huge thanks to SimPiko for generously granting permission to use his SAP in this demo.
  • Check out his Soundcloud stream:

Related Efforts

Thanks