SVX日記
2004-10-21(Thu) SVX……オマエもか!!
今日はカミさんに職場まで迎えにきてもらう。待ち合わせの場所に向かうと、特徴的なSVXのテールが待っている。うぅむ……うぅむッ!! カコイイッ!! 再確認しつつ乗り込むと、なぜかカミさんが浮かない顔……なに!? 壊れた!?
運転を代わってもらい、走り出すと、いきなり加速が不自然。鈍すぎる。50km/hほど出すと、ギアがバタバタを変わるような感触。信号で止まると、エンストギリギリのツラそうなアイドリング……。どうもギアの選択がムチャクチャになっているような症状だ。ムチャクチャといっても、ある一定の法則には従っているような、ヘンな挙動。
カミさんによると、エンジンをかけるときから元気がなかったという。確かにバッテリーは弱っていたが、それがこの症状につながるかなぁ。オルタネータが死んでいて、全ての電力をバッテリーが補っていたとすると電圧不足でムチャクチャな挙動になることもあるかもしれんが……。なんにせよ、トランスミッション自体ではなさそうな感じなので、そうオオゴトにはならないとは思うが、予断は許さない。今週末はスバルに初入院だなぁ。困ったヤツよ。
そんなこんなで、ひさびさに本来の「SVX日記」が書けたと思ったのに、それがこんな報告とはまったくツイてない……と思ったら、先日直したハズのマウスのホイールが再び死んでいるではないか。ぐももも。どうもロータリーエンコーダ自身の寿命っぽい感じだ。予備の同型のマウスを使ってみるとホイールのコリコリした感触に張りがあり、その違いは歴然なのだ。やっぱりゴミマウスからの移植しかないのかなぁ。このサイトは「SVX日記」とかいいながら、すっかり「電子工作日記」だよなぁ、とか思っていたが、最近は「修理日記」がピッタリとハマリつつある。カンベンしてくれよぉ……。
それはそうと、今度こそ「SHAKENS YOU UP!」のファームのプログラミングに取り掛かる。修理する以上に創造すりゃ「修理日記」の名は冠さずに済むだろう。とりあえず、正確で使い勝手のよい時間待ちルーチンを作る。
						;	################################################################################
						;	#
						;	#	時間待ち(小)
						;	#
						;	#		LD	A, 6			; 6を指定すると、
						;	#		CALL	WAITnx4p8		; 2行で 6 x 4 + 8 = 1/256sec 消費
						;	#
WAITnx4p8					;	WAITnx4p8
		movwf	waitCntS		;			LD	(waitCntS), A
WAITnx4p81	nop				;	WAITnx4p81	NOP
		decfsz	waitCntS		
		goto	WAITnx4p81		;			DJNZ	(waitCntS), WAITnx4p81
		nop				;			NOP
		nop				;			NOP
		nop				;			NOP
		return				;			RET
						;	
						;	################################################################################
						;	#
						;	#	時間待ち(大)
						;	#
						;	#		LD	A, 8			; 1秒の場合、8を指定すると、
						;	#		CALL	WAITnx0125		; 2行で 8 x 1/8sec - 10clock 消費する
						;	#
WAITnx0125					;	WAITnx0125
		movwf	waitCntL		;			LD	(waitCntL), A
		movlw	249			;			LD	A, 249
		goto	WAITnx01252		;			JP	WAITnx01252
WAITnx01251	nop				;	WAITnx01251	NOP
		movlw	253			;			LD	A, 253			; 253 x 4 + 8 = 1/8sec - 4clock
WAITnx01252	call	WAITnx4p8		;	WAITnx01252	CALL	WAITnx4p8		;		の時間待ち
		decfsz	waitCntL		
		goto	WAITnx01251		;			DJNZ	(waitCntL), WAITnx01251
		return				;			RET
						;