Skip to content

Instantly share code, notes, and snippets.

<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.10'?>
<flow_graph>
<timestamp>Sat May 6 22:17:54 2017</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value></value>
</param>
@fsphil
fsphil / tx-system-i.grc
Created May 29, 2017 22:00
System I audio hack
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.10'?>
<flow_graph>
<timestamp>Sun May 28 10:56:33 2017</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value></value>
</param>
ov = $90 ; == $40, initial value for the overflow counter
ct = $D5 ; == $27 / 39, number of passes. Decrementing, finished at -1
sp = $D1 ; == $07C0, pointer to the bottom line (only set after scolling)
* = $02E5
scroll: jsr $E8EA
loop: ldy ct
lda #$A0
sta $D020, y
ov = $90 ; == $40, initial value for the overflow counter
ct = $D5 ; == $4F / 79, number of passes. Decrementing, finished at -1
sp = $D1 ; == $07C0, pointer to the bottom line (only set after scolling)
* = $0304 - (end - scroll)
scroll: jsr $E8EA
loop: ldy ct
lda #$A0
sta $D020, y
ov = $0D ; == $FF, initial value for the overflow counter
* = $0304 - (end - scroll)
scroll: jsr $AAD7
loop: lda #$A0
sta $D3E0 - $80, x
sta $0400+40*24+39-$80+1, y ; incrementing rower, y finishes with value $80
sta $0400+40*24-$7B-1, x ; decrementing rower, x finishes with value $7b