User Tools

Site Tools


base:techtech_fli

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
base:techtech_fli [2016-04-21 13:14] compyxbase:techtech_fli [2016-04-21 13:48] – added link to other tech-tech article compyx
Line 3: Line 3:
 ===== Introduction ===== ===== Introduction =====
  
-Below is an example of a tech-tech effect, achieved using a so-called FLI-routine. This is **not** a tech-tech with a FLI logo, its a simple character set based routine using FLI to allow videoram switching at every rasterline.+Below is an example of a tech-tech effect, achieved using a so-called FLI-routine. This is **not** a tech-tech with a FLI logo, its a simple FLI based routine to allow videoram switching at every rasterline. 
 + 
 +The routine differs from [[magazines:chacking7#tech-tech_-_more_resolution_to_vertical_shift]|this article]] in that it uses videoram banks to create the tech-tech, not character sets. One could combine these two techniques by cleverly interleaving character sets and videoram to allow for a wider sinus, perhaps even bank switching with $dd00 for even more movement. I'll leave that as an exercise for the reader ;) 
 +  
  
 I wrote this code as part of an attempt to regain my old VIC-trickery skills, it's been about 25 years since I did a tech-tech. As such, the code may not be up to today's standards. I just published it here since there was no article on tech-tech's using $d011/FLI. I wrote this code as part of an attempt to regain my old VIC-trickery skills, it's been about 25 years since I did a tech-tech. As such, the code may not be up to today's standards. I just published it here since there was no article on tech-tech's using $d011/FLI.
 +
 +Note: I don't explain FLI in detail in this article, there are other articles here which explain FLI properly. 
  
 The code can be assembled by using [[https://sourceforge.net/projects/tass64/|64tass]]: The code can be assembled by using [[https://sourceforge.net/projects/tass64/|64tass]]:
Line 11: Line 16:
  
  
-====== The Theory =====+===== The Theory =====
  
 //I'll use the word 'logo' here to simplify things a bit. My code doesn't actually include a logo, just some text //I'll use the word 'logo' here to simplify things a bit. My code doesn't actually include a logo, just some text
Line 81: Line 86:
  
 ; sinus = 9 ; sinus = 9
-lda #$1d+lda #$1e
 sta $d011 sta $d011
 lda #$01    ; 9 & 7 == 1 lda #$01    ; 9 & 7 == 1
Line 90: Line 95:
             ; one column to the right             ; one column to the right
  
-; and so on for each line of the logo+; and so on for each line of the logo, wrapping the $d011 
 +; value around from $1f to $18
 </code> </code>
  
Line 98: Line 104:
 ===== The Code ===== ===== The Code =====
  
-Here's the actual source code, in 64tass syntax. The FLI routine needs to be unrolled, the sinus calculation can all be done in a loop, but that eats cycles, so I also wrote some unrolled code for the $d016/$d018 values updating:       +Here's the actual source code, in 64tass syntax. The FLI routine needs to be unrolled, the sinus calculation can all be done in a loop, but that eats cycles, so I also wrote some unrolled code for the $d016/$d018 values updating
 + 
 +Before assembling, one should probably comment out the references to the music, I would be surprised to see everyone having their HVSC at "/home/compyx/c64/HSVC" ;)
  
 <code 6502tasm> <code 6502tasm>
base/techtech_fli.txt · Last modified: 2016-04-22 12:41 by compyx