summaryrefslogtreecommitdiffstats
path: root/hacks/images/m6502/rorschach.asm
blob: c5591f0fc37cee9773be9b597c29ae26d66c2610 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
; "Rorschach test"
; Not at all what it was supposed to be,
; but it turns out pretty cool and can
; create some interesting patterns.

  lda #8
  tax
dr:
  sta $3cb,x
  sta $40b,x
  dex
  bpl dr
  sta $3f3
  sta $3eb

  lda #1
  sta $3ec

  ldx #255
mk:
  lda $fe
  sta $1200,x
  lda $fe
  sta $1300,x
  lda $fe
  sta $1400,x
  lda $fe
  sta $1500,x
  dex
  cpx #$ff
  bne mk

; smooth it

  ldy #0
re:
  lda #1
  sta $3ec,y

  ldx #255
sm:
  lda $1201,x
  adc $11ff,x
  adc $1220,x
  adc $11e0,x
  lsr
  lsr
  sta $1200,x

  lda $1301,x
  adc $12ff,x
  adc $1320,x
  adc $12e0,x
  lsr
  lsr
  sta $1300,x

  lda $1401,x
  adc $13ff,x
  adc $1420,x
  adc $13e0,x
  lsr
  lsr
  sta $1400,x

  lda $1501,x
  adc $14ff,x
  adc $1520,x
  adc $14e0,x
  lsr
  lsr
  sta $1500,x

  dex
  cpx #$ff
  bne sm
  iny
  cpy #7
  bne re

  lda #1
  sta $3f0

  ;copy it

  clc
  ldx #255
cp:
  lda $1200,x
  lsr
  lsr
  tay
  lda colors,y
  sta $200,x

  lda $1300,x
  lsr
  lsr
  tay
  lda colors,y
  sta $300,x

  lda $1400,x
  lsr
  lsr
  tay
  lda colors,y
  sta $400,x

  lda $1500,x
  lsr
  lsr
  tay
  lda colors,y
  sta $500,x

  dex
  cpx #$ff
  bne cp
  rts

colors:
  dcb 0,0,0,0,0,$9,$9,1,1,0,0,0,0,0