Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
All Border Noise   [2013]

All Border Noise Released by :
Kabuto

Release Date :
11 May 2013

Type :
C64 1K Intro

Released At :
Outline 2013

Achievements :
Mixed Competition at Outline 2013 :  #6

User rating:awaiting 8 votes (2 left)   See votestatistics

Credits :
Code .... Kabuto of Avatar, Latency

Download :

Look for downloads on external sites:
 Pokefinder.org


Production Info
Submitted by Kabuto on 13 November 2013
This started as an experiment to squeeze a noise routine into as few bytes as possible. I tried many things, including tiny decompressors, to squash it - though in the end no compression whatsoever is used. Here's a description of what the code does and the tricks used within these 126 bytes:

* Non-code:
** Autostarter (for lowest possible overhead)
** 9 bytes containing sprite X position values to be written by VIC setup
* Init code:
** PRNG code. Abuses some ROM bytes that just happen to be a halfway acceptable PRNG subroutine and ZP values as pointers that happen to start with good values to fill $4000..$7FFF (and a few further unneeded bytes) with randomness for the sprites.
** Writes random bytes into the SID - adjusted many times until I got noise in the end. Bonus: COMMODORE message flickers during PRNG init as it writes beyond the SID area into the color RAM.
** 3*DEC for VIC setup (sprite enable, double width and VIC page to $4000..$7FFF)
* Small rasterloop. One iteration for 3 rasterlines each. What's done in each iteration:
** Opening the sideborder every line
** Restarting all 8 sprites (restart is a no-op while sprites are still active so actual restart happens every 21 lines)
** Preventing badlines (not disabling display because that could leave the screen blanked if the routine is started at the wrong moment)
** Incrementing sprite pointers (more randomness - otherwise the same pattern would repeat every 21 lines)
** Remaining VIC setup (sprite X positions, sprite colors).
** Uses PHA/PLA instead of NOP as they need less bytes per wasted cycle and the stack isn't used anyway
** And most importantly, the rasterloop is self-stabilizing. It requires proper arrangement of sprite Y writes to prevent the rasterloop from locking in incorrectly.
Search CSDb
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (3)
· Production Notes (1)
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
Forum
· Discuss this release
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.091 sec.