;********************************************************************
;* 
;*  [U[pIRQ荞  - TveLXg -
;* 
;********************************************************************


; *** IRQiRESETj

0000A780: 48		pha
0000A781: A9 00		lda #$00
0000A783: 8D 00 C0	sta $C000
0000A786: 8D 00 E0	sta $E000

0000A789: 68		pla
0000A78A: 20 ED 8E	jsr $8EED
0000A78D: 58		cli
0000A78E: 60		rts



; *** NMIɍsoN,IRQݒ

; SoNiĂōsƂȂcj
0000A790: A2 80		ldx #$80
0000A792: A0 04		ldy #$04
0000A794: 8E 00 80	stx $8000
0000A797: 8C 01 80	sty $8001
0000A79A: E8		inx
0000A79B: A0 06		ldy #$06
0000A79D: 8E 00 80	stx $8000
0000A7A0: 8C 01 80	sty $8001
0000A7A3: A2 00		ldx #$00
0000A7A5: A0 00		ldy #$00
0000A7A7: 8E 00 80	stx $8000
0000A7AA: 8C 01 80	sty $8001
0000A7AD: E8		inx
0000A7AE: A0 02		ldy #$02
0000A7B0: 8E 00 80	stx $8000
0000A7B3: 8C 01 80	sty $8001

; eڰтIRQݒ 
0000A7B6: A9 1E		lda #$1E	; Xe[^XʋEpIRQJEgl
0000A7B8: 8D 00 C0	sta $C000
0000A7BB: 8D 01 C0	sta $C001
0000A7BE: 8D 01 E0	sta $E001
0000A7C1: 85 4F		sta $4F

0000A7C3: AD 3E 07	lda $073E	;| XN[l̓iSMB̎dlj
0000A7C6: 8D 3F 07	sta $073F	;| 

0000A7C9: 20 BB A8	jsr $A8BB	; sub: ڰтƂIRQݒ

0000A7CC: 58		cli
0000A7CD: AD 79 07	lda $0779
0000A7D0: 60		rts



;********************************************************************
; ́FIRQ{
; 
; TvFXe[^XʂƃCʂ̋ڂƁA[U[`pIRQ荞݁B
;       [U[̕`ł́A\IRQݒŃZbglnĂB
; 


; IRQ{
0000A800: 08		php
0000A801: 48		pha
0000A802: 98		tya
0000A803: 48		pha
0000A804: 8A		txa
0000A805: 48		pha

0000A806: AD 02 20	lda $2002
0000A809: C6 4E		dec $4E
0000A80B: A5 4E		lda $4E
0000A80D: 4A		lsr a
0000A80E: B0 50		bcs $0000A860	; [U[`Ȃ


; Cʗp̒ʏXN[ݒ
0000A810: A0 00		ldy #$00
0000A812: A5 4F		lda $4F
0000A814: 29 C7		and #$C7
0000A816: AA		tax
0000A817: A5 4F		lda $4F
0000A819: 0A		asl a
0000A81A: 0A		asl a
0000A81B: 29 E0		and #$E0
0000A81D: 8C 05 20	sty $2005	; ӖH
0000A820: 8E 05 20	stx $2005	; YXN[lZbg(11000111)
0000A823: 8C 05 20	sty $2005	; ӖH
0000A826: 8D 06 20	sta $2006	; YXN[lZbg(00111000  111000000)
0000A829: AD 02 20	lda $2002
0000A82C: AD 3F 07	lda $073F
0000A82F: 8D 05 20	sta $2005	; XXN[lZbg

; oN؂ւ
0000A832: A9 02		lda #$02
0000A834: 8D 00 80	sta $8000
0000A837: A9 04		lda #$04
0000A839: 8D 01 80	sta $8001

; IRQ̐orIRQZbg
0000A83C: A5 4E		lda $4E
0000A83E: F0 03		beq $0000A843
0000A840: AD 4F 01	lda $014F
0000A843: 8D 00 E0	sta $E000
0000A846: 8D 00 C0	sta $C000
0000A849: F0 06		beq $0000A851
0000A84B: 8D 01 C0	sta $C001
0000A84E: 8D 01 E0	sta $E001
0000A851: 38		sec		; 1C悹
0000A852: 65 4F		adc $4F		;| 
0000A854: 85 4F		sta $4F		;| IRQ܂ł̊ԊulZbg

; A
0000A856: 68		pla
0000A857: AA		tax
0000A858: 68		pla
0000A859: A8		tay
0000A85A: 68		pla
0000A85B: 28		plp
0000A85C: 40		rti



; *** [U[`揈(IRQ)

; [U[p̃XN[lZbg
0000A860: A0 00		ldy #$00
0000A862: AE 45 01	ldx $0145
0000A865: AD 4A 01	lda $014A
0000A868: 8C 05 20	sty $2005	; ӖH
0000A86B: 8E 05 20	stx $2005	; YXN[lZbg(11000111)	
0000A86E: 8C 05 20	sty $2005	; ӖH
0000A871: 8D 06 20	sta $2006	; YXN[lZbg(00111000  111000000)
0000A874: AD 02 20	lda $2002
0000A877: AD 40 01	lda $0140
0000A87A: 8D 05 20	sta $2005	; XXN[lZbg

; [U[poN؂ւ
0000A87D: A9 02		lda #$02
0000A87F: 8D 00 80	sta $8000
0000A882: AD 59 01	lda $0159
0000A885: 8D 01 80	sta $8001

; CʗpɎIRQZbg
0000A888: A9 01		lda #$01	; [U[1CIRQJEgl
0000A88A: 8D 00 C0	sta $C000
0000A88D: 8D 01 E0	sta $E001
0000A890: 38		sec		; 1C悹
0000A891: 65 4F		adc $4F		;| 
0000A893: 85 4F		sta $4F		;| IRQ܂ł̊ԊulZbg

; A
0000A895: 68		pla
0000A896: AA		tax
0000A897: 68		pla
0000A898: A8		tay
0000A899: 68		pla
0000A89A: 28		plp
0000A89B: 40		rti



;********************************************************************
; ́FIRQݒ
; 
; TvFIRQ̃^C~OAɓnlȂǂZbgB
;       [U[̑1Ĉ݂ōς܂邽߂ɂ́A
;       {̂łׂ̏ɗ͗}Kv邽߁A
;       XN[lAoNlȂǂ̒ĺȀŒԃɓnĂB


; *** sub: ڰтƂIRQݒ

; \ON/OFF̔
0000A8BB: A0 03		ldy #$03	; i̒l0Bɂƃ[U[ * 5{j
0000A8BD: 84 4E		sty $4E
0000A8BF: C6 56		dec $56
0000A8C1: 10 06		bpl $0000A8C9
0000A8C3: A0 02		ldy #$02
0000A8C5: 84 56		sty $56
0000A8C7: D0 05		bne $0000A8CE	; 1/3TCNȂ画葱s

; `悵Ȃꍇ͂ցiXe[^XƃCʂ̋ōs񕪂݂̂Zbgj
0000A8C9: A0 01		ldy #$01
0000A8CB: 84 4E		sty $4E

0000A8CD: 60		rts


0000A8CE: A4 B5		ldy $B5
0000A8D0: 88		dey
0000A8D1: D0 F6		bne $0000A8C9	; }IʊOȂ`悵Ȃ
0000A8D3: AD 3A 01	lda $013A
0000A8D6: F0 F1		beq $0000A8C9	; [U[˂Ȃ`悵Ȃ
0000A8D8: A5 CE		lda $CE
0000A8DA: 18		clc
0000A8DB: 69 13		adc #$13
0000A8DD: C9 F0		cmp #$F0
0000A8DF: B0 E8		bcs $0000A8C9	; YW\OȂ`悵Ȃ
0000A8E1: C9 20		cmp #$20
0000A8E3: 90 E4		bcc $0000A8C9	; YW\OȂ`悵Ȃ


; \YW̃ZbgieIRQ̊Ԋuɂ鑖̐j
0000A8E5: E9 1F		sbc #$1F	; Xe[^X`惉C
0000A8E7: 8D 4F 01	sta $014F	; YWZbg

; """[XW"烌[U[̕`撷擾
0000A8EA: AD 5E 01	lda $015E
0000A8ED: 0A		asl a
0000A8EE: 0A		asl a
0000A8EF: 6D 63 01	adc $0163
0000A8F2: 90 0A		bcc $0000A8FE
0000A8F4: A9 00		lda #$00
0000A8F6: ED 63 01	sbc $0163
0000A8F9: 4A		lsr a
0000A8FA: 4A		lsr a
0000A8FB: 4C 01 A9	jmp $A901

0000A8FE: AD 5E 01	lda $015E

0000A901: 48		pha
0000A902: 4A		lsr a
0000A903: 4A		lsr a
0000A904: 4A		lsr a
0000A905: 18		clc
0000A906: 69 08		adc #$08
0000A908: 8D 59 01	sta $0159	; oNԍZbg
0000A90B: 68		pla
0000A90C: 29 07		and #$07
0000A90E: 8D 45 01	sta $0145	; [U[̕`ΏۂZbg(11000111)
0000A911: CE 45 01	dec $0145
0000A914: 10 03		bpl $0000A919
0000A916: A9 E0		lda #$E0
0000A918: 2C A9 00	bit $00A9	; = lda #$00
0000A91B: 8D 4A 01	sta $014A	; [U[̕`ΏۂZbg(00111000)

; XW̔]
0000A91E: AD 63 01	lda $0163
0000A921: 49 FF		eor #$FF
0000A923: 18		clc
0000A924: 69 01		adc #$01
0000A926: 8D 40 01	sta $0140	; IRQpXWZbg
0000A929: 60		rts



;********************************************************************
; ́F[U[쏈
; 
; TvF[U[̐VK˔Aˍςݎ̓쏈sB
;       SMB"t@CA{["̏ɂւĂB


; *** [U[VK˔

; ˊԊuJE^
0000A940: AD 68 01	lda $0168
0000A943: F0 03		beq $0000A948
0000A945: CE 68 01	dec $0168

; B{^iVK͂Ȃ画pj
0000A948: A5 0A		lda $0A
0000A94A: 29 40		and #$40
0000A94C: F0 1D		beq $0000A96B	
0000A94E: 25 0D		and $0D
0000A950: D0 19		bne $0000A96B

; [U[ˍςݔi˂Ȃ画pj
0000A952: AD 3A 01	lda $013A
0000A955: D0 14		bne $0000A96B

; ̃[U[܂ł̔ˊԊuiO[U[o߂ȂVKˊmj
0000A957: AD 68 01	lda $0168
0000A95A: D0 12		bne $0000A96E

; VKˏ
0000A95C: A9 20		lda #$20
0000A95E: 85 FF		sta $FF
0000A960: EE 3A 01	inc $013A
0000A963: A9 00		lda #$00
0000A965: 8D 5E 01	sta $015E
0000A968: 8D 63 01	sta $0163

; [U[쏈iVK˂Ă̏͒ʂj
0000A96B: 20 70 A9	jsr $A970	; sub: [U[

0000A96E: 60		rts



; *** sub: [U[

; Ԓl烌[U[̗L𔻒i01 - 7F ȂL)
0000A970: AC 3A 01	ldy $013A
0000A973: F0 10		beq $0000A985
0000A975: C8		iny
0000A976: 98		tya		; 㑱pA֑ޔ
0000A977: C0 80		cpy #$80
0000A979: 90 0B		bcc $0000A986

; [U[
0000A97B: A0 00		ldy #$00
0000A97D: 8C 3A 01	sty $013A	; tO
0000A980: A9 10		lda #$10
0000A982: 8D 68 01	sta $0168	; 16ڰт̔ˊԊu

0000A985: 60		rts


0000A986: 8C 3A 01	sty $013A	; tO++
0000A989: 0A		asl a
0000A98A: 30 17		bmi $0000A9A3	; [U[LтĂȂjump

; [U[L΂
; B{^iB{^ꑱĂԂ͐L΂j
0000A98C: A5 0A		lda $0A
0000A98E: 29 40		and #$40
0000A990: D0 05		bne $0000A997

0000A992: A9 3F		lda #$3F
0000A994: 8D 3A 01	sta $013A	; Ԓl""OɃZbg

0000A997: EE 5E 01	inc $015E	; ++
0000A99A: AD AD 03	lda $03AD	;| 
0000A99D: 18		clc		;| 
0000A99E: 69 08		adc #$08	;| }ISPW+08[U[̍[W
0000A9A0: 4C AC A9	jmp $A9AC

; [U[
; XWړ
0000A9A3: AD 63 01	lda $0163	;| 
0000A9A6: 69 04		adc #$04	;| ݂̎dlł+04i߂Ă܂

; ʊOi[XWʊOɏoȂ烌[U[Łj
0000A9A8: 29 FC		and #$FC
0000A9AA: F0 CF		beq $0000A97B


; L΂,
0000A9AC: 8D 63 01	sta $0163	; [U[[XWZbg

0000A9AF: 60		rts


