AtariSTknowhow

From syn2cat - HackerSpace.lu
Revision as of 09:22, 4 December 2011 by Gunstick (Talk | contribs)

Jump to: navigation, search

Contents

About

This series of talks and workshops will introduce to the world of demo programming on the Atari ST platform.

Your host: User:Gunstick

Talk about this on the discussion section of this page

For the moment chip tunes are not covered in all this. They will be used but not explained in detail how it works. You need to be a musician and programmer to dive into that. As that is mainly audio stuff the best place to do this will be a RadioShow

You don't need to follow all talks and workshops as some will be overlapping and repeats.

The presentation method will be using the Gunstick-has-all-in-his-head technique. The workshops will be using real Atari hardware and emulators.

Registrations

please register on this page if you are interested in aything of this

Talk 1: Introduction

  • Introduction to the Atari ST
    • History
    • presentation of the hardware
    • the OS and available software
  • evolution of software
    • games
    • cracks
    • demos

Talk 2: ST Hacking

  • Hacking the Atari ST
    • hardware modifications
    • software modifications
  • overcoming hardware limitations with software
    • scrolling
    • digisound
    • sprites
    • colors
    • higher resolution
    • scrolling way too much

Talk 3: putting it all together

  • The impossible demo: parallax distorter (from minute 08:30). People always thought that on the ST
    • you can't do 500 colors at once
    • you can't play digital samples
    • the video signal has always a border around
    • it's impossible to move the whole screen contents
    • bitwise shifting is taking too much CPU
    • playfields are an Amiga thing
    • there are no sprites on the ST (not shown in this talk)
  • but of course this demo shows all this, at the same time (which is also impossible)
    • the algorythmic theory behind it
    • how to integrate all the effects into one
    • showing off devpac and turboass
    • visually inspecting synchon code

workshop prerequisites

(this seciton needs links to the different items, for now just use google and luck)

To fully get up to speed with the workshop you need a working ST or emulator. There are several emulators of various quality available. Best of course is to get your hands on a real ST.

Using the real hardware brings of course some logistics problems: those things run on RGB tv frequency, and that's quite difficult to get today's LCDs to understand. So you need desk space to set up a CRT and the ST with various cables.

Using emulators has limitations as the hardware tricks are not always well emulated. Best emulator is Saint. Unfortunately only available on windows (no idea if it works with vmware fusion or wine). Another OK alternative is Steem. For the emulator you also need a copy of the OS which I can give to you (hint, there's a working linux steem installation on the laptop in the chill).

And finally some software is needed. Real hardware likes floppies, the SD kind. HD do not really work well. The emulators use disk images which can be downloaded from many sites.

We will use one type of software: the assembler. There are 2 available. Devpac, a classic macro assembler. And Turboass, no macros but blazing fast (i.e. instant assembly).

Workshop 1: assembler and hardware

  • programming the 68000 in assembler (using turboass)
  • specificity of the Atari ST hardware
  • smooth scrolling howto
  • color cycling effects
  • tricking the ST hardware in other ways

Workshop 2: algorythm optimizations and beyond

  • algorithms in theory
  • and in practice
  • and even faster
  • faster than experts think
  • the CLF technique (i.e. the impossible part)

Workshop 3: synchron programming in practice

  • diving into the internals of the impossible demo
  • source code
  • change parameters and watch results

Workshop 4: type your own code

  • design your own demo
  • can it be done?
  • program it
Personal tools
Namespaces

Variants
Actions
Navigation
syn2cat
Hackerspace
Activities
Initiatives
Community
Tools
Tools