Часть тут:
http://www.sizecoding.org/wiki/6502
https://www.nesdev.org/wiki/Synthetic_instructions
https://g0blinish.ucoz.ru/forblog_6502/eorFF.zip
https://g0blinish.ucoz.ru/forblog_65...2tricks_V2.zip

Для компиляции нужен xasm. Я на него пересел, потому что пришлось кодить 16K intro, раньше использовал atasm.

- - - Добавлено - - -

под atasm
Код:
;batch for compile
;set nam=gens
;atasm.exe -s %nam%.asm
;rename %nam%.65o %nam%.xex

	*=$8000
start
;	lda #0	  ; open graphics 0 mode
;	jsr $ef9c ; openmode=$ef9c

; setup font
	lda #$20
	sta 756
istart	ldx #0
	stx 755 ; inverse off
; delay
RTCLOK=$0012

dl	ldy #0
; roll
rolld	lda font_data,y
	asl a
	adc #0
	sta font_data,y
	iny
	cpy #(spr_e-font_data)
	bne rolld
	ldy #5
dlay
	lda RTCLOK+2
wait
	cmp RTCLOK+2
	beq wait
	dey
	bne dlay

copyd	lda font_data,x
	sta $2000,y
	iny
	inx
	cpy #8
	bne copyd
	cpx #(spr_e-font_data)
	beq istart
	bne dl
font_data
; sprites 0
	  .byte ~00001000
	  .byte ~00001000
	  .byte ~00001000
	  .byte ~11111000
	  .byte ~00011111
	  .byte ~00010000
	  .byte ~00010000
	  .byte ~00010000

; sprites 1
	  .byte ~00001000
	  .byte ~00001000
	  .byte ~00011000
	  .byte ~11100100
	  .byte ~00100111
	  .byte ~00011000
	  .byte ~00010000
	  .byte ~00010000

; sprites 2
	  .byte ~00001000
	  .byte ~00011000
	  .byte ~01100100
	  .byte ~10000010
	  .byte ~01000001
	  .byte ~00100110
	  .byte ~00011000
	  .byte ~00010000

; sprites 3
	  .byte ~00011000
	  .byte ~01100100
	  .byte ~10000010
	  .byte ~00000001
	  .byte ~10000000
	  .byte ~01000001
	  .byte ~00100110
	  .byte ~00011000

; sprites 4
	  .byte ~01110010
	  .byte ~10000001
	  .byte ~00000001
	  .byte ~00000001
	  .byte ~10000000
	  .byte ~10000000
	  .byte ~10000001
	  .byte ~01001110

; sprites 5
	  .byte ~11110001
	  .byte ~00000001
	  .byte ~00000001
	  .byte ~00000001
	  .byte ~10000000
	  .byte ~10000000
	  .byte ~10000000
	  .byte ~10001111

; sprites 6
	  .byte ~00010100
	  .byte ~01100010
	  .byte ~10000001
	  .byte ~00000001
	  .byte ~10000000
	  .byte ~10000001
	  .byte ~01000110
	  .byte ~00101000

; sprites 7
	  .byte ~00001000
	  .byte ~00010100
	  .byte ~01100010
	  .byte ~10000001
	  .byte ~10000001
	  .byte ~01000110
	  .byte ~00101000
	  .byte ~00010000
spr_e
;    run start