menu
  home
  contact
  guestbook

downloads/misc
  demos/intros
  wolfenstein 3d
  miscellaneous
  bundeswehr

docs
  unrolling loops
  c2p part I (st)
  c2p part II (st)
  avoiding c2p (st)
  interlacing (st)
  fat mapping
  3d pipeline
  portal rendering
  8bpp color mixing
  fixedpoint math
  blitter (mst/ste)
  sample replay (st)
  blitter gouraud (falc)
  blitter fading (falc)
  arbitrary mapping
  frustrum clipping etc.

sourcecode
  mc68000 math lib
  32 bytes sin-gen
  24 bit tga-viewer
  blitter example
  lz77 packer
  lz78 packer
  protracker replayer
  sources

mc680x0 fixedpoint math library for devpac, v1.4
about:
 a project i coded a while ago trying to provide the mc680x0 cpu range with
 fixed point versions of the most common floating point instructions offered
 by motorola's mc6888x fpu series.
 the implementation is mainly based on pade approximations.

requirements/specs.:
 -a 680x0 cpu
 -assembles with devpac/madmac

download (devpac version)
download (madmac version)
view relative error results



32 bytes sinus-table generator
about:
 this little snippet generates a sinus table using a parabolic
 approximation. the result should be accurate enough for simple demo
 screens and appear useful to somebody who needs a small sinus table
 generator for byte or Ktros that are aimed at non fpu systems as
 this is 'only' 32 bytes of plain 68000 code. another version that
 needs 28 bytes but which produces a buggy table is also included.

requirements/specs.:
 -a 680x0 cpu

download


truecolor tga-viewer
about:
 a command-line tool that let's you view 24bit targa images in an
 interlaced 12bit mode on any 16/32bit atari machine except for the falcon.
 of course, this involves alot of flicker as the effective refresh rate is only
 20Hz. but remember it shows 4096 colors even on a plain ST.
 the images' width may not exceed 320 pixels as the ST shifter only
 supports vertical hardware scrolling (by multiples of 8 because of the
 256byte alignment, however), which is why i only allowed a max. height
 of 480 pixels.

requirements/specs.:
 -ST(E)/MST(E)/TT030
 -RGB/VGA monitor
 -fastram accelerated
 -smooth 1vbl scrolling

download


blitter example source
about:
 this one shows how gouraud and transparent gouraud triangles can be
 mapped with hardware acceleration on the Falcon 030. there are two flags
 inside the source, one called "method" to let you choose between cpu and
 blitter mapping and a second one, "transparent" to choose if the triangles
 should be mapped transparently. all 3 methods are provided as binaries, too.
 please don't bother with the sometimes strange label names, i just cutted &
 pasted the source directly from my 3d engine at some places. the performance
 gets displayed as number of triangles/minute after you've pressed the space
 key once. on a standard Falcon the speed difference is astonishing:
 the blitter almost speeds it up by a factor of 2. for more information read
 this article and take a look into the source.

requirements/specs.:
 -Falcon 030
 -RGB/VGA monitor
 -fastram accelerated

download


lz77 packer/decruncher, v1.3 - final version
about:
 with a fairly effective packrate this utility reaches extremly high
 decompression speed. the lz group of compression algorithms are based upon
 the idea of encoding repeating strings similar to the way rle does with runs
 of the same value. this explains why the bit operation bottleneck involved
 in huffman coding/decoding falls away giving it its high speed.
 as it does not make use of the patented LZW algorithm you may use this one
 freely for storing your texture-, sound- and especially realtime animation data
 in your demos, games etc without worrying about copyright laws :).
 a format and useage description is included.

requirements/specs.:
 -a 680x0 cpu
 -incredibly fast decruncher

download


lz78 packer/decruncher, v1.0
about:
 here comes an alternative to lz77. lz78 gives you a better compression ratio
 while still providing a fairly good depacking speed. for several reasons the
 the decoder has been optimized for size so it still could be faster, though.
 there shouldn't be any legal issues neither, because the implementation differs
 from the one of LZW.
 lz78 is used to encode coefficients in my upcoming image codec called BIQ, but
 have been some requests which is why i'm releasing this seperately. some credit
 needs to be given to mark r. nelson for writing the original c source in 1989.

requirements/specs.:
 -a 680x0 cpu

download


4ch protacker replay routine by lance (TT030 fix), optimized v1.1
about:
 i've made up this little fix for lance's protracker replayer so that it works
 on TTs as well. in my humble opinion this routine is quite stunning, as it uses
 ~30% cpu-time on the STE and even less on the TT while giving real 50Khz replay.
 this unique speed can be achieved by using the STE's/TT's mircrowire hardware for
 various volume tricks so that the cpu is left free for diffrent tasks which explains
 why it doesn't work on the Falcon lacking that particular chip.
 the replayer relies on a 50Hz interrupt which is realised using timer a in the example
 source. i also optimized the code a bit to use 030 addressing and to use jumptables
 to process pattern and efx commands. a nice module by tinker/lineout is included.

requirements/specs.:
 -STE/TT030
 -very fast 50Khz replayer

download


- 2002-2005 ray//.tscc. -