Advertisement
MegaLoler

Crappy C64 Matrix Screensaver

Dec 10th, 2012
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     processor 6502
  2.     org $1000
  3.    
  4.     lda #$00
  5.     sta $D020
  6.     sta $D021
  7.     lda #$04
  8.     sta $2200
  9.     lda #$02
  10.     sta $2201
  11.     lda #$01
  12.     sta $2202
  13.     lda #$07
  14.     sta $2203
  15.     lda #$04
  16.     sta $2204
  17.     lda #$06
  18.     sta $2205
  19.     lda #$05
  20.     sta $2206
  21.     lda #$03
  22.     sta $2207
  23.     lda #$05
  24.     sta $2208
  25.     lda #$04
  26.     sta $2209
  27.     lda #$08
  28.     sta $220A
  29.     lda #$07
  30.     sta $220B
  31.     lda #$04
  32.     sta $220C
  33.     lda #$06
  34.     sta $220D
  35.     lda #$02
  36.     sta $220E
  37.     lda #$04
  38.     sta $220F
  39.     lda #$01
  40.     sta $2210
  41.     lda #$02
  42.     sta $2211
  43.     lda #$05
  44.     sta $2212
  45.     lda #$09
  46.     sta $2213
  47.     lda #$05
  48.     sta $2214
  49.     lda #$07
  50.     sta $2215
  51.     lda #$03
  52.     sta $2216
  53.     lda #$05
  54.     sta $2217
  55.     lda #$08
  56.     sta $2218
  57.     lda #$02
  58.     sta $2219
  59.     lda #$05
  60.     sta $221A
  61.     lda #$03
  62.     sta $221B
  63.     lda #$05
  64.     sta $221C
  65.     lda #$08
  66.     sta $221D
  67.     lda #$03
  68.     sta $221E
  69.     lda #$05
  70.     sta $221F
  71.     lda #$01
  72.     sta $2220
  73.     lda #$03
  74.     sta $2221
  75.     lda #$04
  76.     sta $2222
  77.     lda #$06
  78.     sta $2223
  79.     lda #$03
  80.     sta $2224
  81.     lda #$07
  82.     sta $2225
  83.     lda #$04
  84.     sta $2226
  85.     lda #$06
  86.     sta $2227
  87.     lda #$06
  88.     sta $2100
  89.     lda #$03
  90.     sta $2101
  91.     lda #$06
  92.     sta $2102
  93.     lda #$01
  94.     sta $2103
  95.     lda #$06
  96.     sta $2104
  97.     lda #$00
  98.     sta $2105
  99.     lda #$05
  100.     sta $2106
  101.     lda #$07
  102.     sta $2107
  103.     lda #$03
  104.     sta $2108
  105.     lda #$05
  106.     sta $2109
  107.     lda #$02
  108.     sta $210A
  109.     lda #$07
  110.     sta $210B
  111.     lda #$06
  112.     sta $210C
  113.     lda #$04
  114.     sta $210D
  115.     lda #$05
  116.     sta $210E
  117.     lda #$01
  118.     sta $210F
  119.     lda #$02
  120.     sta $2110
  121.     lda #$07
  122.     sta $2111
  123.     lda #$08
  124.     sta $2112
  125.     lda #$00
  126.     sta $2113
  127.     lda #$07
  128.     sta $2114
  129.     lda #$05
  130.     sta $2115
  131.     lda #$04
  132.     sta $2116
  133.     lda #$03
  134.     sta $2117
  135.     lda #$02
  136.     sta $2118
  137.     lda #$05
  138.     sta $2119
  139.     lda #$06
  140.     sta $211A
  141.     lda #$05
  142.     sta $211B
  143.     lda #$03
  144.     sta $211C
  145.     lda #$01
  146.     sta $211D
  147.     lda #$02
  148.     sta $211E
  149.     lda #$05
  150.     sta $211F
  151.     lda #$09
  152.     sta $2120
  153.     lda #$08
  154.     sta $2121
  155.     lda #$06
  156.     sta $2122
  157.     lda #$05
  158.     sta $2123
  159.     lda #$07
  160.     sta $2124
  161.     lda #$04
  162.     sta $2125
  163.     lda #$06
  164.     sta $2126
  165.     lda #$03
  166.     sta $2127
  167.     lda #$04
  168.     sta $2000
  169.     lda #$07
  170.     sta $2001
  171.     lda #$04
  172.     sta $2002
  173.     lda #$08
  174.     sta $2003
  175.     lda #$07
  176.     sta $2004
  177.     lda #$02
  178.     sta $2005
  179.     lda #$04
  180.     sta $2006
  181.     lda #$04
  182.     sta $2007
  183.     lda #$08
  184.     sta $2008
  185.     lda #$06
  186.     sta $2009
  187.     lda #$01
  188.     sta $200A
  189.     lda #$02
  190.     sta $200B
  191.     lda #$02
  192.     sta $200C
  193.     lda #$05
  194.     sta $200D
  195.     lda #$03
  196.     sta $200E
  197.     lda #$07
  198.     sta $200F
  199.     lda #$06
  200.     sta $2010
  201.     lda #$00
  202.     sta $2011
  203.     lda #$04
  204.     sta $2012
  205.     lda #$01
  206.     sta $2013
  207.     lda #$05
  208.     sta $2014
  209.     lda #$02
  210.     sta $2015
  211.     lda #$03
  212.     sta $2016
  213.     lda #$06
  214.     sta $2017
  215.     lda #$05
  216.     sta $2018
  217.     lda #$03
  218.     sta $2019
  219.     lda #$01
  220.     sta $201A
  221.     lda #$07
  222.     sta $201B
  223.     lda #$04
  224.     sta $201C
  225.     lda #$02
  226.     sta $201D
  227.     lda #$06
  228.     sta $201E
  229.     lda #$05
  230.     sta $201F
  231.     lda #$00
  232.     sta $2020
  233.     lda #$04
  234.     sta $2021
  235.     lda #$08
  236.     sta $2022
  237.     lda #$04
  238.     sta $2023
  239.     lda #$07
  240.     sta $2024
  241.     lda #$02
  242.     sta $2025
  243.     lda #$05
  244.     sta $2026
  245.     lda #$03
  246.     sta $2027
  247. loop:
  248.     lda $D012
  249.     cmp #$FF
  250.     bne loop
  251.     ldx #39
  252. handle:
  253.     lda $2400,X
  254.     cmp $2200,X
  255.     bne skip5
  256.     ldy $2600,X
  257.     lda $2500,X
  258.     cmp #$01
  259.     beq undraw1
  260.     cmp #$02
  261.     beq undraw2
  262.     cmp #$03
  263.     beq undraw3
  264.     cmp #$04
  265.     beq undraw4
  266.     jmp yep
  267. undraw1:
  268.     lda #$05
  269.     sta $D800,Y
  270.     jmp yep
  271. undraw2:
  272.     lda #$05
  273.     sta $D900,Y
  274.     jmp yep
  275. undraw3:
  276.     lda #$05
  277.     sta $DA00,Y
  278.     jmp yep
  279. undraw4:
  280.     lda #$05
  281.     sta $DB00,Y
  282. yep:
  283.     lda #$00
  284.     sta $2400,X
  285.     lda $2100,X
  286.     ldy #39
  287.     jmp multiply
  288. return:
  289.     stx $2300
  290.     clc
  291.     adc $2300
  292.     bcc skip2
  293.     inc $2303
  294. skip2:
  295.     tay
  296.     dey
  297.     lda $2000,X
  298.     sty $2304
  299.     ldy $2303
  300.     cpy #$00
  301.     beq draw1
  302.     cpy #$01
  303.     beq draw2
  304.     cpy #$02
  305.     beq draw2
  306.     cpy #$03
  307.     beq draw3
  308.     cpy #$04
  309.     beq draw3
  310.     jmp draw4
  311. skip5:
  312.     jmp skip4
  313. handle2:
  314.     jmp handle
  315. draw1:
  316.     ldy $2304
  317.     sta $0400,Y
  318.     lda #$07
  319.     sta $D800,Y
  320.     lda #$01
  321.     sta $2500,X
  322.     tya
  323.     sta $2600,X
  324.     jmp done
  325. draw2:
  326.     ldy $2304
  327.     sta $0500,Y
  328.     lda #$07
  329.     sta $D900,Y
  330.     lda #$02
  331.     sta $2500,X
  332.     tya
  333.     sta $2600,X
  334.     jmp done
  335. draw3:
  336.     ldy $2304
  337.     sta $0600,Y
  338.     lda #$07
  339.     sta $DA00,Y
  340.     lda #$03
  341.     sta $2500,X
  342.     tya
  343.     sta $2600,X
  344.     jmp done
  345. draw4:
  346.     ldy $2304
  347.     sta $0700,Y
  348.     lda #$07
  349.     sta $DB00,Y
  350.     lda #$04
  351.     sta $2500,X
  352.     tya
  353.     sta $2600,X
  354. done:
  355.     inc $2100,X
  356.     lda $2100,X
  357.     cmp #$19
  358.     bne skip3
  359.     lda #$00
  360.     sta $2100,X
  361. skip3:
  362.     inc $2000,X
  363.     lda $2000,X
  364.     cmp #$80
  365.     bne skip4
  366.     lda #$00
  367.     sta $2000,X
  368. skip4:
  369.     inc $2400,X
  370.     dex
  371.     bne handle2
  372.     jmp loop
  373. multiply:
  374.     sty $2300
  375.     sta $2301
  376.     stx $2302
  377.     ldx #$00
  378.     stx $2303
  379. add:
  380.     clc
  381.     adc $2301
  382.     bcc skip
  383.     tax
  384.     lda $2303
  385.     adc #$01
  386.     sta $2303
  387.     txa
  388. skip:
  389.     dey
  390.     bne add
  391.     ldy $2300
  392.     ldx $2302
  393.     jmp return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement