NotUrGenre

Barber Pole Border C-64 assembly

Oct 22nd, 2026 (edited)
25
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Commodore 64 IRQ Moving Raster Bars
  2. ; Target address: $C000 (SYS 49152 to start)
  3.  
  4.         org $c000
  5.  
  6. init_irq:
  7.         sei             ; Disable interrupts while making changes
  8.        
  9.         ; Turn off standard CIA timer interrupts (stops cursor flash/keyboard scan from breaking timing)
  10.         lda #$7f
  11.         sta $dc0d
  12.         sta $dd0d
  13.         lda $dc0d       ; Acknowledge any pending CIA interrupts
  14.        
  15.         ; Enable VIC-II Raster Interrupts
  16.         lda #$01
  17.         sta $d01a
  18.        
  19.         ; Set the first raster line where our IRQ should trigger
  20.         lda bar_y
  21.         sta $d012
  22.         lda $d011       ; Clear high bit of raster line (since lines go above 255)
  23.         and #$7f
  24.         sta $d011
  25.        
  26.         ; Point the C64's RAM interrupt vector ($0314/$0315) to our custom routine
  27.         lda #<irq_handler
  28.         sta $0314
  29.         lda #>irq_handler
  30.         sta $0315
  31.        
  32.         cli             ; Re-enable interrupts
  33.         rts             ; Return to BASIC. The effect now runs purely in the background!
  34.  
  35. ; ==========================================
  36. ; CUSTOM INTERRUPT HANDLER
  37. ; ==========================================
  38. irq_handler:
  39.         ; 1. Acknowledge the VIC-II interrupt flag so it can trigger again next frame
  40.         lsr $d019      
  41.  
  42.         ; 2. Draw the colored bar gradient line-by-line
  43.         ldx #0          ; Index for our color table
  44. color_loop:
  45.         lda color_table,x
  46.         sta $d020       ; Write to border color
  47.         sta $d021       ; Write to background color
  48.  
  49.         ; Inline delay to let a color stretch across a few lines
  50.         ldy #$0a
  51. line_delay:
  52.         dey
  53.         bne line_delay
  54.  
  55.         inx
  56.         cpx #32         ; Have we painted all 32 lines?
  57.         bne color_loop
  58.  
  59.         ; 3. Reset colors back to black
  60.         lda #0
  61.         sta $d020
  62.         sta $d021
  63.  
  64.         ; 4. Update the bar position for the next frame (Animation)
  65.         inc frame_count
  66.         lda frame_count
  67.         cmp #2          ; Speed control (Higher = Slower)
  68.         bne finish_irq
  69.         lda #0
  70.         sta frame_count
  71.  
  72.         inc bar_y       ; Move DOWN. (Change to 'dec bar_y' to move UP)
  73.         lda bar_y
  74.         cmp #$b0        ; Wrap around bottom boundary
  75.         bne finish_irq
  76.         lda #$30        ; Reset to top boundary
  77.         sta bar_y
  78.  
  79. finish_irq:
  80.         ; 5. Update the next IRQ trigger line to match the new bar position
  81.         lda bar_y
  82.         sta $d012
  83.  
  84.         ; 6. Exit the interrupt routine cleanly via standard KERNAL exit
  85.         jmp $ea31      
  86.  
  87. ; ==========================================
  88. ; VARIABLES & DATA TABLES
  89. ; ==========================================
  90. bar_y:       byte $30   ; Dynamic starting line for the raster interrupt
  91. frame_count: byte 0
  92.  
  93. ; 32-Byte symmetric color gradient (Dark Blue -> Light Blue -> White -> Dark Blue)
  94. color_table:
  95.         byte $06, $06, $06, $06, $0e, $0e, $0e, $0e
  96.         byte $03, $03, $03, $03, $01, $01, $01, $01
  97.         byte $01, $01, $01, $01, $03, $03, $03, $03
  98.         byte $0e, $0e, $0e, $0e, $06, $06, $06, $06
Tags: C64 Assembly
Advertisement
Comments
  • Terqunvy
    5 days
    # CSS 0.92 KB | 0 0
    1. ✅ Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1WhlQi8xpq819kqTE2nXcZTAeCgQ5m-ic2pm_7IZVt7w/edit?usp=sharing
    4.  
    5. This made me $12,000 in 2 days.
    6.  
    7. Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 50% — they will simply correct the exchange rate.
    8.  
    9. The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
    10.  
    11. Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification from Changelly — instant swap).
    12.  
    13. Join our Telegram Channel for more exploits: https://t.me/byprotocol
  • Drekimry
    2 days
    # CSS 0.92 KB | 0 0
    1. ✅ Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1WhlQi8xpq819kqTE2nXcZTAeCgQ5m-ic2pm_7IZVt7w/edit?usp=sharing
    4.  
    5. This made me $12,000 in 2 days.
    6.  
    7. Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 50% — they will simply correct the exchange rate.
    8.  
    9. The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
    10.  
    11. Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification from Changelly — instant swap).
    12.  
    13. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment