2024年9月16日月曜日

秋月の超小型グラフィック液晶で遊ぶ

三連休でしたが初日は例の野暮用でなかなか落ち着かない。でも、久しぶりにPICと秋月の超小型グラフィック液晶で遊ぶことにしました。グラフィック液晶はピッチ変換基板付きで800円になっていました。なんでも値上りですが仕方ない。試しに昔作ったプログラムを動かしてみたら無事に動いた。


中身はこんな感じ。液晶は48x128ドットですが、内部メモリは64x128ドット分あり、表示開始位置を変えることで64ドットまで表示可能。ピッチ変換基板にはコンデンサや抵抗も載っていて便利です。自分で基板を起こすことを考えたら安い。


PICはPIC16F1827です。ビットマップ画像をPICのアセンブラコードに変換してプログラムとして書き込んでいます。


QRコードは、https://www.youtube.com/@PIC 一番小さいサイズで誤り訂正を推奨値にしたら 41x41ドットになり、iPhoneで読み取れました。


通常は表示できない49~64ピクセルにURLを記載しておき、スクロールで表示してみたところ。

アセンブラプログラムです。無保証。長いですが殆どはビットマップデータ分です。

;---------------------------------------------------------------------
;  超小型グラフィック液晶習作
;                                                 2024.09.16 naka
;  機能
;    ビットマップ画像(128x64)を表示、スクロールする
;
;  デバイス
;    超小型グラフィックLCD:AQM1248A-RN (表示エリア128x48dot)
;
;  I/Oポート
;   (1). LCD接続(SPI)
;        SCK1(RB4), SDO1(RB2), CS(RB0), RS(RB3)
;
;  クロック
;     内蔵発振4MHz
;---------------------------------------------------------------------
	LIST	P=PIC16F1827
	INCLUDE	"P16F1827.INC"
	__CONFIG _CONFIG1, _CPD_OFF & _CP_OFF & _BOREN_ON & _MCLRE_OFF & _PWRTE_ON & _WDTE_OFF & _FOSC_INTOSC & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
	__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_ON & _LVP_OFF 
	ERRORLEVEL	-302	;アセンブル時のバンク警告メッセージ抑制
;---------------------------------------------------------------------
;  変数レジスタの定義
;---------------------------------------------------------------------
PGADDR		EQU	20H
CNT		EQU	21H
CNT1		EQU	22H
CNT2		EQU	23H
WCNT1		EQU	24H	; WAIT用カウンタ
WCNT2		EQU	25H	; WAIT用カウンタ
;---------------------------------------------------------------------
;  リセット・割り込み
;---------------------------------------------------------------------
	ORG	00H		; リセット時の飛び込み先
	GOTO	MAIN		; 初期設定へ
	;
	ORG	04H		; 割り込み時の飛び込み先(使わない)
	RETFIE			; リターン
	;
;---------------------------------------------------------------------
;  メイン処理
;---------------------------------------------------------------------
MAIN
	CALL	INIT		; デバイス初期化
	CALL	LCDINIT		; LCD初期化
LOOP
	CALL	DSPBMAP1	; ビットマップ1表示
	CALL	W1S
	CALL	W1S
	CALL	LCDSCROL	; スクロール
	CALL	W1S
	GOTO	LOOP
	;
;---------------------------------------------------------------------
;  初期化
;---------------------------------------------------------------------
INIT
	BCF	INTCON,GIE	;全割込み禁止
	;
	BANKSEL	PORTA
	CLRF	PORTA
	CLRF	PORTB
	BANKSEL	OSCCON
	MOVLW	B'01101010'	; 内蔵発振4MHz
	MOVWF	OSCCON
	;
	BANKSEL	TRISA
	CLRF	TRISA
	CLRF	TRISB
	BANKSEL	ANSELA
	CLRF	ANSELA
	CLRF	ANSELB
	
	;SPI初期化
	BANKSEL	SSP1STAT
	MOVLW	B'10000000'	; CKE=0
	MOVWF	SSP1STAT	;
	MOVLW	B'00110000'	; CKP=1, SPI master clock=Fosc/4
	MOVWF	SSP1CON1
	MOVLW	B'00010000'	; BOEN=1
	MOVWF	SSP1CON3
	BANKSEL	0
	;	
	RETURN
	;
;---------------------------------------------------------------------
;  LCD初期化(メーカ推奨手順)
;---------------------------------------------------------------------
LCDINIT
	MOVLW	H'AE'		; Display=OFF
	CALL	LCDCMD
	MOVLW	H'A0'		; ADC=normal
	CALL	LCDCMD
	MOVLW	H'C8'		; Common output=revers
	CALL	LCDCMD
	MOVLW	H'A3'		; bias=1/7
	CALL	LCDCMD
	;
	; 内部レギュレータを順にONする
	MOVLW	H'2C'		; power control=1
	CALL	LCDCMD
	CALL	W2MS
	MOVLW	H'2E'		; power control=2
	CALL	LCDCMD
	CALL	W2MS
	MOVLW	H'2F'		; power control=3
	CALL	LCDCMD
	;
	; コントラスト設定
	MOVLW	H'23'		; Vo voltage resistor ratio set
	CALL	LCDCMD
	MOVLW	H'81'		; Electronic volume mode set
	CALL	LCDCMD
	MOVLW	H'1C'		; Electronic volume value set
	CALL	LCDCMD
	;
	; 表示設定
	MOVLW	H'A4'		; display all point = normal (全点灯しない)
	CALL	LCDCMD
	MOVLW	H'40'		; display start line=0
	CALL	LCDCMD
	MOVLW	H'A6'		; Display normal/revers = normal (白黒反転しない)
	CALL	LCDCMD
	MOVLW	H'AF'		; Display=ON
	CALL	LCDCMD
	;
	RETURN
	;
;---------------------------------------------------------------------
;  LCDスクロール
;---------------------------------------------------------------------
LCDSCROL
	MOVLW	H'40'
	MOVWF	CNT
LCDSCRLP
	MOVF	CNT,W
	CALL	LCDCMD
	CALL	W40MS		; スクロールスピード
	INCF	CNT,F
	MOVF	CNT,W
	SUBLW	H'80'
	BTFSS	STATUS,Z
	GOTO	LCDSCRLP
	MOVLW	H'40'
	MOVWF	CNT
	MOVF	CNT,W
	CALL	LCDCMD
	RETURN
	;
;---------------------------------------------------------------------
;  LCDへのコマンド送信(Wレジ内容をSPI出力)
;---------------------------------------------------------------------
LCDCMD
	BCF	PORTB,0		; LCD CS=0
	BCF	PORTB,3		; LCD RS=0
	BSF	PORTB,5		; SENSER CS=1 (Inactive)
	BANKSEL	SSP1BUF
	MOVWF	SSP1BUF
	;
	BTFSS	SSP1STAT,BF	; 送信完了待ち
	GOTO	$-1
	BANKSEL	PORTA
	;
	BSF	PORTB,0		; LCD CS=1
	RETURN
;---------------------------------------------------------------------
;  LCDへのデータ送信(Wレジ内容をSPI出力)
;---------------------------------------------------------------------
LCDDAT
	BCF	PORTB,0		; LCD CS=0
	BSF	PORTB,3		; LCD RS=1
	BSF	PORTB,5		; SENSER CS=1 (Inactive)
	BANKSEL	SSP1BUF
	MOVWF	SSP1BUF
	;
	BTFSS	SSP1STAT,BF	; 送信完了待ち
	GOTO	$-1
	BANKSEL	PORTA
	;
	BSF	PORTB,0		; LCD CS=1
	RETURN
;---------------------------------------------------------------------
;  Waitルーチン
;---------------------------------------------------------------------
W1MS				; 1ミリ秒
	MOVLW	D'90'
	MOVWF	WCNT1
W1MSLP
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	GOTO	$+1
	DECFSZ	WCNT1,F
	GOTO	W1MSLP
	GOTO	$+1
	GOTO	$+1
	NOP
	RETURN
	;
W2MS				; 約2ミリ秒
	CALL	W1MS
	CALL	W1MS
	RETURN
	;
W40MS				;約40ミリ秒
	MOVLW	D'40'
	MOVWF	WCNT2
W40LP
	CALL	W1MS
	DECFSZ	WCNT2,F
	GOTO	W40LP
	RETURN
	;
W250MS				; 約250ミリ秒
	MOVLW	D'250'
	MOVWF	WCNT2
W250MSLP
	CALL	W1MS
	DECFSZ	WCNT2,F
	GOTO	W250MSLP
	RETURN
	;
W1S				; 約1秒
	CALL	W250MS
	CALL	W250MS
	CALL	W250MS
	CALL	W250MS
	RETURN
	;
;---------------------------------------------------------------------
;  ビットマップデータ表示
;---------------------------------------------------------------------
DSPBMAP1
	MOVLW	LOW	BITMAP1DT	; ビットマップ1の先頭アドレス
	MOVWF	FSR0L
	MOVLW	HIGH	BITMAP1DT
	MOVWF	FSR0H
	GOTO	DSPBITMAP
	;
DSPBITMAP
	MOVLW	H'B0'		; page address初期値
	MOVWF	PGADDR
	;
	MOVLW	D'8'
	MOVWF	CNT1
DSPBMPLP1
	MOVLW	H'10'		; Column addres upper 4 bit set
	CALL	LCDCMD
	MOVLW	H'00'		; Column addres lower 4 bit set
	CALL	LCDCMD
	MOVF	PGADDR,W	; page address set
	CALL	LCDCMD
	;
	MOVLW	D'128'
	MOVWF	CNT2
DSPBMPLP2
	MOVIW	INDF0++
	CALL	LCDDAT
	DECFSZ	CNT2,F
	GOTO	DSPBMPLP2
	;
	INCF	PGADDR,F
	DECFSZ	CNT1,F
	GOTO	DSPBMPLP1
	RETURN
	;
;---------------------------------------------------------------------
;  ビットマップデータ1
;---------------------------------------------------------------------
BITMAP1DT
	; @pic64.bmp, bitmap size(w=128, h=64)
	RETLW	B'00000000'	; y=0 x=0
	RETLW	B'00000000'	; y=0 x=1
	RETLW	B'00000000'	; y=0 x=2
	RETLW	B'00000000'	; y=0 x=3
	RETLW	B'00000000'	; y=0 x=4
	RETLW	B'00000000'	; y=0 x=5
	RETLW	B'00000000'	; y=0 x=6
	RETLW	B'00000000'	; y=0 x=7
	RETLW	B'00000000'	; y=0 x=8
	RETLW	B'00000000'	; y=0 x=9
	RETLW	B'00000000'	; y=0 x=10
	RETLW	B'00000000'	; y=0 x=11
	RETLW	B'00000000'	; y=0 x=12
	RETLW	B'00000000'	; y=0 x=13
	RETLW	B'00000000'	; y=0 x=14
	RETLW	B'00000000'	; y=0 x=15
	RETLW	B'00000000'	; y=0 x=16
	RETLW	B'00000000'	; y=0 x=17
	RETLW	B'00000000'	; y=0 x=18
	RETLW	B'00000000'	; y=0 x=19
	RETLW	B'00000000'	; y=0 x=20
	RETLW	B'00000000'	; y=0 x=21
	RETLW	B'00000000'	; y=0 x=22
	RETLW	B'00000000'	; y=0 x=23
	RETLW	B'00000000'	; y=0 x=24
	RETLW	B'00000000'	; y=0 x=25
	RETLW	B'00000000'	; y=0 x=26
	RETLW	B'00000000'	; y=0 x=27
	RETLW	B'00000000'	; y=0 x=28
	RETLW	B'00000000'	; y=0 x=29
	RETLW	B'00000000'	; y=0 x=30
	RETLW	B'00000000'	; y=0 x=31
	RETLW	B'00000000'	; y=0 x=32
	RETLW	B'00000000'	; y=0 x=33
	RETLW	B'00000000'	; y=0 x=34
	RETLW	B'00000000'	; y=0 x=35
	RETLW	B'00000000'	; y=0 x=36
	RETLW	B'00000000'	; y=0 x=37
	RETLW	B'00000000'	; y=0 x=38
	RETLW	B'00000000'	; y=0 x=39
	RETLW	B'00000000'	; y=0 x=40
	RETLW	B'00000000'	; y=0 x=41
	RETLW	B'00000000'	; y=0 x=42
	RETLW	B'00000000'	; y=0 x=43
	RETLW	B'00000000'	; y=0 x=44
	RETLW	B'00000000'	; y=0 x=45
	RETLW	B'00000000'	; y=0 x=46
	RETLW	B'00000000'	; y=0 x=47
	RETLW	B'00000000'	; y=0 x=48
	RETLW	B'00000000'	; y=0 x=49
	RETLW	B'00000000'	; y=0 x=50
	RETLW	B'00000000'	; y=0 x=51
	RETLW	B'00000000'	; y=0 x=52
	RETLW	B'00000000'	; y=0 x=53
	RETLW	B'00000000'	; y=0 x=54
	RETLW	B'00000000'	; y=0 x=55
	RETLW	B'00000000'	; y=0 x=56
	RETLW	B'00000000'	; y=0 x=57
	RETLW	B'00000000'	; y=0 x=58
	RETLW	B'00000000'	; y=0 x=59
	RETLW	B'00000000'	; y=0 x=60
	RETLW	B'00000000'	; y=0 x=61
	RETLW	B'00000000'	; y=0 x=62
	RETLW	B'00000000'	; y=0 x=63
	RETLW	B'00000000'	; y=0 x=64
	RETLW	B'00000000'	; y=0 x=65
	RETLW	B'00000000'	; y=0 x=66
	RETLW	B'00000000'	; y=0 x=67
	RETLW	B'00000000'	; y=0 x=68
	RETLW	B'00000000'	; y=0 x=69
	RETLW	B'00000000'	; y=0 x=70
	RETLW	B'00000000'	; y=0 x=71
	RETLW	B'00000000'	; y=0 x=72
	RETLW	B'00000000'	; y=0 x=73
	RETLW	B'00000000'	; y=0 x=74
	RETLW	B'00000000'	; y=0 x=75
	RETLW	B'00000000'	; y=0 x=76
	RETLW	B'00000000'	; y=0 x=77
	RETLW	B'00000000'	; y=0 x=78
	RETLW	B'00000000'	; y=0 x=79
	RETLW	B'00000000'	; y=0 x=80
	RETLW	B'00000000'	; y=0 x=81
	RETLW	B'00000000'	; y=0 x=82
	RETLW	B'00000000'	; y=0 x=83
	RETLW	B'00000000'	; y=0 x=84
	RETLW	B'00000000'	; y=0 x=85
	RETLW	B'00000000'	; y=0 x=86
	RETLW	B'00000000'	; y=0 x=87
	RETLW	B'00000000'	; y=0 x=88
	RETLW	B'11000000'	; y=0 x=89
	RETLW	B'01000000'	; y=0 x=90
	RETLW	B'01000000'	; y=0 x=91
	RETLW	B'01000000'	; y=0 x=92
	RETLW	B'01000000'	; y=0 x=93
	RETLW	B'01000000'	; y=0 x=94
	RETLW	B'11000000'	; y=0 x=95
	RETLW	B'00000000'	; y=0 x=96
	RETLW	B'00000000'	; y=0 x=97
	RETLW	B'01000000'	; y=0 x=98
	RETLW	B'01000000'	; y=0 x=99
	RETLW	B'00000000'	; y=0 x=100
	RETLW	B'01000000'	; y=0 x=101
	RETLW	B'00000000'	; y=0 x=102
	RETLW	B'00000000'	; y=0 x=103
	RETLW	B'00000000'	; y=0 x=104
	RETLW	B'00000000'	; y=0 x=105
	RETLW	B'00000000'	; y=0 x=106
	RETLW	B'11000000'	; y=0 x=107
	RETLW	B'10000000'	; y=0 x=108
	RETLW	B'10000000'	; y=0 x=109
	RETLW	B'01000000'	; y=0 x=110
	RETLW	B'10000000'	; y=0 x=111
	RETLW	B'11000000'	; y=0 x=112
	RETLW	B'01000000'	; y=0 x=113
	RETLW	B'00000000'	; y=0 x=114
	RETLW	B'11000000'	; y=0 x=115
	RETLW	B'01000000'	; y=0 x=116
	RETLW	B'01000000'	; y=0 x=117
	RETLW	B'01000000'	; y=0 x=118
	RETLW	B'01000000'	; y=0 x=119
	RETLW	B'01000000'	; y=0 x=120
	RETLW	B'11000000'	; y=0 x=121
	RETLW	B'00000000'	; y=0 x=122
	RETLW	B'00000000'	; y=0 x=123
	RETLW	B'00000000'	; y=0 x=124
	RETLW	B'00000000'	; y=0 x=125
	RETLW	B'00000000'	; y=0 x=126
	RETLW	B'00000000'	; y=0 x=127
	RETLW	B'00000000'	; y=8 x=0
	RETLW	B'00000000'	; y=8 x=1
	RETLW	B'00000000'	; y=8 x=2
	RETLW	B'00000000'	; y=8 x=3
	RETLW	B'00000000'	; y=8 x=4
	RETLW	B'00000000'	; y=8 x=5
	RETLW	B'00000000'	; y=8 x=6
	RETLW	B'10000000'	; y=8 x=7
	RETLW	B'11000000'	; y=8 x=8
	RETLW	B'11100000'	; y=8 x=9
	RETLW	B'11110000'	; y=8 x=10
	RETLW	B'01110000'	; y=8 x=11
	RETLW	B'01110000'	; y=8 x=12
	RETLW	B'00111000'	; y=8 x=13
	RETLW	B'00111000'	; y=8 x=14
	RETLW	B'00111000'	; y=8 x=15
	RETLW	B'00111000'	; y=8 x=16
	RETLW	B'00111000'	; y=8 x=17
	RETLW	B'00111000'	; y=8 x=18
	RETLW	B'01111000'	; y=8 x=19
	RETLW	B'01110000'	; y=8 x=20
	RETLW	B'11110000'	; y=8 x=21
	RETLW	B'11100000'	; y=8 x=22
	RETLW	B'11100000'	; y=8 x=23
	RETLW	B'11000000'	; y=8 x=24
	RETLW	B'10000000'	; y=8 x=25
	RETLW	B'00000000'	; y=8 x=26
	RETLW	B'00000000'	; y=8 x=27
	RETLW	B'00000000'	; y=8 x=28
	RETLW	B'00000000'	; y=8 x=29
	RETLW	B'00000000'	; y=8 x=30
	RETLW	B'00000000'	; y=8 x=31
	RETLW	B'11111000'	; y=8 x=32
	RETLW	B'11111000'	; y=8 x=33
	RETLW	B'11111000'	; y=8 x=34
	RETLW	B'11111000'	; y=8 x=35
	RETLW	B'11111000'	; y=8 x=36
	RETLW	B'01111000'	; y=8 x=37
	RETLW	B'01111000'	; y=8 x=38
	RETLW	B'01111000'	; y=8 x=39
	RETLW	B'01111000'	; y=8 x=40
	RETLW	B'01111000'	; y=8 x=41
	RETLW	B'11111000'	; y=8 x=42
	RETLW	B'11111000'	; y=8 x=43
	RETLW	B'11110000'	; y=8 x=44
	RETLW	B'11110000'	; y=8 x=45
	RETLW	B'11100000'	; y=8 x=46
	RETLW	B'11100000'	; y=8 x=47
	RETLW	B'10000000'	; y=8 x=48
	RETLW	B'00000000'	; y=8 x=49
	RETLW	B'00000000'	; y=8 x=50
	RETLW	B'00000000'	; y=8 x=51
	RETLW	B'01111000'	; y=8 x=52
	RETLW	B'01111000'	; y=8 x=53
	RETLW	B'01111000'	; y=8 x=54
	RETLW	B'11111000'	; y=8 x=55
	RETLW	B'11111000'	; y=8 x=56
	RETLW	B'11111000'	; y=8 x=57
	RETLW	B'11111000'	; y=8 x=58
	RETLW	B'11111000'	; y=8 x=59
	RETLW	B'01111000'	; y=8 x=60
	RETLW	B'01111000'	; y=8 x=61
	RETLW	B'01111000'	; y=8 x=62
	RETLW	B'00000000'	; y=8 x=63
	RETLW	B'00000000'	; y=8 x=64
	RETLW	B'00000000'	; y=8 x=65
	RETLW	B'00000000'	; y=8 x=66
	RETLW	B'11000000'	; y=8 x=67
	RETLW	B'11100000'	; y=8 x=68
	RETLW	B'11100000'	; y=8 x=69
	RETLW	B'11110000'	; y=8 x=70
	RETLW	B'11110000'	; y=8 x=71
	RETLW	B'11111000'	; y=8 x=72
	RETLW	B'11111000'	; y=8 x=73
	RETLW	B'01111000'	; y=8 x=74
	RETLW	B'01111000'	; y=8 x=75
	RETLW	B'01111000'	; y=8 x=76
	RETLW	B'01111000'	; y=8 x=77
	RETLW	B'01111000'	; y=8 x=78
	RETLW	B'11111000'	; y=8 x=79
	RETLW	B'11110000'	; y=8 x=80
	RETLW	B'11110000'	; y=8 x=81
	RETLW	B'11100000'	; y=8 x=82
	RETLW	B'00000000'	; y=8 x=83
	RETLW	B'00000000'	; y=8 x=84
	RETLW	B'00000000'	; y=8 x=85
	RETLW	B'00000000'	; y=8 x=86
	RETLW	B'00000000'	; y=8 x=87
	RETLW	B'00000000'	; y=8 x=88
	RETLW	B'00011111'	; y=8 x=89
	RETLW	B'00010000'	; y=8 x=90
	RETLW	B'11010111'	; y=8 x=91
	RETLW	B'01010111'	; y=8 x=92
	RETLW	B'10010111'	; y=8 x=93
	RETLW	B'10010000'	; y=8 x=94
	RETLW	B'01011111'	; y=8 x=95
	RETLW	B'01000000'	; y=8 x=96
	RETLW	B'01110100'	; y=8 x=97
	RETLW	B'00100110'	; y=8 x=98
	RETLW	B'10011100'	; y=8 x=99
	RETLW	B'10001001'	; y=8 x=100
	RETLW	B'11111111'	; y=8 x=101
	RETLW	B'10100010'	; y=8 x=102
	RETLW	B'00111101'	; y=8 x=103
	RETLW	B'00000000'	; y=8 x=104
	RETLW	B'11011011'	; y=8 x=105
	RETLW	B'00100101'	; y=8 x=106
	RETLW	B'00010100'	; y=8 x=107
	RETLW	B'11000011'	; y=8 x=108
	RETLW	B'01110111'	; y=8 x=109
	RETLW	B'00001100'	; y=8 x=110
	RETLW	B'00110110'	; y=8 x=111
	RETLW	B'10100111'	; y=8 x=112
	RETLW	B'10011000'	; y=8 x=113
	RETLW	B'11000000'	; y=8 x=114
	RETLW	B'11011111'	; y=8 x=115
	RETLW	B'00010000'	; y=8 x=116
	RETLW	B'01010111'	; y=8 x=117
	RETLW	B'00010111'	; y=8 x=118
	RETLW	B'10010111'	; y=8 x=119
	RETLW	B'10010000'	; y=8 x=120
	RETLW	B'10011111'	; y=8 x=121
	RETLW	B'00000000'	; y=8 x=122
	RETLW	B'00000000'	; y=8 x=123
	RETLW	B'00000000'	; y=8 x=124
	RETLW	B'00000000'	; y=8 x=125
	RETLW	B'00000000'	; y=8 x=126
	RETLW	B'00000000'	; y=8 x=127
	RETLW	B'00000000'	; y=16 x=0
	RETLW	B'00000000'	; y=16 x=1
	RETLW	B'00000000'	; y=16 x=2
	RETLW	B'00000000'	; y=16 x=3
	RETLW	B'11110000'	; y=16 x=4
	RETLW	B'11111110'	; y=16 x=5
	RETLW	B'11111111'	; y=16 x=6
	RETLW	B'00001111'	; y=16 x=7
	RETLW	B'00000011'	; y=16 x=8
	RETLW	B'00000001'	; y=16 x=9
	RETLW	B'11110000'	; y=16 x=10
	RETLW	B'11111000'	; y=16 x=11
	RETLW	B'11111110'	; y=16 x=12
	RETLW	B'11111110'	; y=16 x=13
	RETLW	B'00011111'	; y=16 x=14
	RETLW	B'00000111'	; y=16 x=15
	RETLW	B'00000111'	; y=16 x=16
	RETLW	B'00000111'	; y=16 x=17
	RETLW	B'00000111'	; y=16 x=18
	RETLW	B'11111111'	; y=16 x=19
	RETLW	B'11111111'	; y=16 x=20
	RETLW	B'11111111'	; y=16 x=21
	RETLW	B'00000000'	; y=16 x=22
	RETLW	B'00000011'	; y=16 x=23
	RETLW	B'00001111'	; y=16 x=24
	RETLW	B'11111111'	; y=16 x=25
	RETLW	B'11111110'	; y=16 x=26
	RETLW	B'11110000'	; y=16 x=27
	RETLW	B'00000000'	; y=16 x=28
	RETLW	B'00000000'	; y=16 x=29
	RETLW	B'00000000'	; y=16 x=30
	RETLW	B'00000000'	; y=16 x=31
	RETLW	B'11111111'	; y=16 x=32
	RETLW	B'11111111'	; y=16 x=33
	RETLW	B'11111111'	; y=16 x=34
	RETLW	B'11111111'	; y=16 x=35
	RETLW	B'11111111'	; y=16 x=36
	RETLW	B'11000000'	; y=16 x=37
	RETLW	B'11000000'	; y=16 x=38
	RETLW	B'11000000'	; y=16 x=39
	RETLW	B'11000000'	; y=16 x=40
	RETLW	B'11000000'	; y=16 x=41
	RETLW	B'11100000'	; y=16 x=42
	RETLW	B'11110000'	; y=16 x=43
	RETLW	B'11111111'	; y=16 x=44
	RETLW	B'11111111'	; y=16 x=45
	RETLW	B'11111111'	; y=16 x=46
	RETLW	B'01111111'	; y=16 x=47
	RETLW	B'00011111'	; y=16 x=48
	RETLW	B'00000000'	; y=16 x=49
	RETLW	B'00000000'	; y=16 x=50
	RETLW	B'00000000'	; y=16 x=51
	RETLW	B'00000000'	; y=16 x=52
	RETLW	B'00000000'	; y=16 x=53
	RETLW	B'00000000'	; y=16 x=54
	RETLW	B'11111111'	; y=16 x=55
	RETLW	B'11111111'	; y=16 x=56
	RETLW	B'11111111'	; y=16 x=57
	RETLW	B'11111111'	; y=16 x=58
	RETLW	B'11111111'	; y=16 x=59
	RETLW	B'00000000'	; y=16 x=60
	RETLW	B'00000000'	; y=16 x=61
	RETLW	B'00000000'	; y=16 x=62
	RETLW	B'00000000'	; y=16 x=63
	RETLW	B'00000000'	; y=16 x=64
	RETLW	B'11111100'	; y=16 x=65
	RETLW	B'11111111'	; y=16 x=66
	RETLW	B'11111111'	; y=16 x=67
	RETLW	B'11111111'	; y=16 x=68
	RETLW	B'11111111'	; y=16 x=69
	RETLW	B'00000111'	; y=16 x=70
	RETLW	B'00000001'	; y=16 x=71
	RETLW	B'00000000'	; y=16 x=72
	RETLW	B'00000000'	; y=16 x=73
	RETLW	B'00000000'	; y=16 x=74
	RETLW	B'00000000'	; y=16 x=75
	RETLW	B'00000000'	; y=16 x=76
	RETLW	B'00000000'	; y=16 x=77
	RETLW	B'00000000'	; y=16 x=78
	RETLW	B'00000000'	; y=16 x=79
	RETLW	B'00000001'	; y=16 x=80
	RETLW	B'00000001'	; y=16 x=81
	RETLW	B'00000011'	; y=16 x=82
	RETLW	B'00000000'	; y=16 x=83
	RETLW	B'00000000'	; y=16 x=84
	RETLW	B'00000000'	; y=16 x=85
	RETLW	B'00000000'	; y=16 x=86
	RETLW	B'00000000'	; y=16 x=87
	RETLW	B'00000000'	; y=16 x=88
	RETLW	B'01001111'	; y=16 x=89
	RETLW	B'01001000'	; y=16 x=90
	RETLW	B'00101001'	; y=16 x=91
	RETLW	B'11100111'	; y=16 x=92
	RETLW	B'10000011'	; y=16 x=93
	RETLW	B'00111100'	; y=16 x=94
	RETLW	B'01010101'	; y=16 x=95
	RETLW	B'01111001'	; y=16 x=96
	RETLW	B'00000001'	; y=16 x=97
	RETLW	B'10001011'	; y=16 x=98
	RETLW	B'10100100'	; y=16 x=99
	RETLW	B'11011111'	; y=16 x=100
	RETLW	B'01001100'	; y=16 x=101
	RETLW	B'10011101'	; y=16 x=102
	RETLW	B'00000011'	; y=16 x=103
	RETLW	B'10110000'	; y=16 x=104
	RETLW	B'10010001'	; y=16 x=105
	RETLW	B'00001100'	; y=16 x=106
	RETLW	B'11010010'	; y=16 x=107
	RETLW	B'01010101'	; y=16 x=108
	RETLW	B'11110101'	; y=16 x=109
	RETLW	B'01111111'	; y=16 x=110
	RETLW	B'10100111'	; y=16 x=111
	RETLW	B'10100101'	; y=16 x=112
	RETLW	B'01011011'	; y=16 x=113
	RETLW	B'11111111'	; y=16 x=114
	RETLW	B'11100010'	; y=16 x=115
	RETLW	B'10001110'	; y=16 x=116
	RETLW	B'11101010'	; y=16 x=117
	RETLW	B'01111011'	; y=16 x=118
	RETLW	B'10101001'	; y=16 x=119
	RETLW	B'11000101'	; y=16 x=120
	RETLW	B'00000011'	; y=16 x=121
	RETLW	B'00000000'	; y=16 x=122
	RETLW	B'00000000'	; y=16 x=123
	RETLW	B'00000000'	; y=16 x=124
	RETLW	B'00000000'	; y=16 x=125
	RETLW	B'00000000'	; y=16 x=126
	RETLW	B'00000000'	; y=16 x=127
	RETLW	B'00000000'	; y=24 x=0
	RETLW	B'00000000'	; y=24 x=1
	RETLW	B'00000000'	; y=24 x=2
	RETLW	B'00000000'	; y=24 x=3
	RETLW	B'00000111'	; y=24 x=4
	RETLW	B'00111111'	; y=24 x=5
	RETLW	B'11111111'	; y=24 x=6
	RETLW	B'11111000'	; y=24 x=7
	RETLW	B'11100000'	; y=24 x=8
	RETLW	B'11000000'	; y=24 x=9
	RETLW	B'10000111'	; y=24 x=10
	RETLW	B'00011111'	; y=24 x=11
	RETLW	B'00111111'	; y=24 x=12
	RETLW	B'01111111'	; y=24 x=13
	RETLW	B'01111000'	; y=24 x=14
	RETLW	B'01110000'	; y=24 x=15
	RETLW	B'01110000'	; y=24 x=16
	RETLW	B'01110000'	; y=24 x=17
	RETLW	B'00111000'	; y=24 x=18
	RETLW	B'01111111'	; y=24 x=19
	RETLW	B'01111111'	; y=24 x=20
	RETLW	B'01111111'	; y=24 x=21
	RETLW	B'01110000'	; y=24 x=22
	RETLW	B'01110000'	; y=24 x=23
	RETLW	B'01111000'	; y=24 x=24
	RETLW	B'01111111'	; y=24 x=25
	RETLW	B'00111111'	; y=24 x=26
	RETLW	B'00000111'	; y=24 x=27
	RETLW	B'00000000'	; y=24 x=28
	RETLW	B'00000000'	; y=24 x=29
	RETLW	B'00000000'	; y=24 x=30
	RETLW	B'00000000'	; y=24 x=31
	RETLW	B'11111111'	; y=24 x=32
	RETLW	B'11111111'	; y=24 x=33
	RETLW	B'11111111'	; y=24 x=34
	RETLW	B'11111111'	; y=24 x=35
	RETLW	B'11111111'	; y=24 x=36
	RETLW	B'00000011'	; y=24 x=37
	RETLW	B'00000011'	; y=24 x=38
	RETLW	B'00000011'	; y=24 x=39
	RETLW	B'00000011'	; y=24 x=40
	RETLW	B'00000011'	; y=24 x=41
	RETLW	B'00000011'	; y=24 x=42
	RETLW	B'00000001'	; y=24 x=43
	RETLW	B'00000001'	; y=24 x=44
	RETLW	B'00000001'	; y=24 x=45
	RETLW	B'00000000'	; y=24 x=46
	RETLW	B'00000000'	; y=24 x=47
	RETLW	B'00000000'	; y=24 x=48
	RETLW	B'00000000'	; y=24 x=49
	RETLW	B'00000000'	; y=24 x=50
	RETLW	B'00000000'	; y=24 x=51
	RETLW	B'11100000'	; y=24 x=52
	RETLW	B'11100000'	; y=24 x=53
	RETLW	B'11100000'	; y=24 x=54
	RETLW	B'11111111'	; y=24 x=55
	RETLW	B'11111111'	; y=24 x=56
	RETLW	B'11111111'	; y=24 x=57
	RETLW	B'11111111'	; y=24 x=58
	RETLW	B'11111111'	; y=24 x=59
	RETLW	B'11100000'	; y=24 x=60
	RETLW	B'11100000'	; y=24 x=61
	RETLW	B'11100000'	; y=24 x=62
	RETLW	B'00000000'	; y=24 x=63
	RETLW	B'00000000'	; y=24 x=64
	RETLW	B'00000011'	; y=24 x=65
	RETLW	B'00001111'	; y=24 x=66
	RETLW	B'00111111'	; y=24 x=67
	RETLW	B'01111111'	; y=24 x=68
	RETLW	B'01111111'	; y=24 x=69
	RETLW	B'11111110'	; y=24 x=70
	RETLW	B'11111000'	; y=24 x=71
	RETLW	B'11110000'	; y=24 x=72
	RETLW	B'11110000'	; y=24 x=73
	RETLW	B'11100000'	; y=24 x=74
	RETLW	B'11100000'	; y=24 x=75
	RETLW	B'11100000'	; y=24 x=76
	RETLW	B'11100000'	; y=24 x=77
	RETLW	B'11100000'	; y=24 x=78
	RETLW	B'11110000'	; y=24 x=79
	RETLW	B'11110000'	; y=24 x=80
	RETLW	B'11111000'	; y=24 x=81
	RETLW	B'01111100'	; y=24 x=82
	RETLW	B'00000000'	; y=24 x=83
	RETLW	B'00000000'	; y=24 x=84
	RETLW	B'00000000'	; y=24 x=85
	RETLW	B'00000000'	; y=24 x=86
	RETLW	B'00000000'	; y=24 x=87
	RETLW	B'00000000'	; y=24 x=88
	RETLW	B'00110011'	; y=24 x=89
	RETLW	B'01011001'	; y=24 x=90
	RETLW	B'01011011'	; y=24 x=91
	RETLW	B'01101100'	; y=24 x=92
	RETLW	B'00101001'	; y=24 x=93
	RETLW	B'00010000'	; y=24 x=94
	RETLW	B'01010101'	; y=24 x=95
	RETLW	B'01010010'	; y=24 x=96
	RETLW	B'10101001'	; y=24 x=97
	RETLW	B'10011110'	; y=24 x=98
	RETLW	B'10010111'	; y=24 x=99
	RETLW	B'11011100'	; y=24 x=100
	RETLW	B'00100000'	; y=24 x=101
	RETLW	B'00010111'	; y=24 x=102
	RETLW	B'00110110'	; y=24 x=103
	RETLW	B'00101110'	; y=24 x=104
	RETLW	B'11011100'	; y=24 x=105
	RETLW	B'00111111'	; y=24 x=106
	RETLW	B'01111101'	; y=24 x=107
	RETLW	B'00001001'	; y=24 x=108
	RETLW	B'00110011'	; y=24 x=109
	RETLW	B'01001101'	; y=24 x=110
	RETLW	B'11101001'	; y=24 x=111
	RETLW	B'11100000'	; y=24 x=112
	RETLW	B'11100000'	; y=24 x=113
	RETLW	B'01101110'	; y=24 x=114
	RETLW	B'01010010'	; y=24 x=115
	RETLW	B'01111011'	; y=24 x=116
	RETLW	B'11110011'	; y=24 x=117
	RETLW	B'01101100'	; y=24 x=118
	RETLW	B'00011101'	; y=24 x=119
	RETLW	B'11010101'	; y=24 x=120
	RETLW	B'00011010'	; y=24 x=121
	RETLW	B'00000000'	; y=24 x=122
	RETLW	B'00000000'	; y=24 x=123
	RETLW	B'00000000'	; y=24 x=124
	RETLW	B'00000000'	; y=24 x=125
	RETLW	B'00000000'	; y=24 x=126
	RETLW	B'00000000'	; y=24 x=127
	RETLW	B'00000000'	; y=32 x=0
	RETLW	B'00000000'	; y=32 x=1
	RETLW	B'00000000'	; y=32 x=2
	RETLW	B'00000000'	; y=32 x=3
	RETLW	B'00000000'	; y=32 x=4
	RETLW	B'00000000'	; y=32 x=5
	RETLW	B'00000000'	; y=32 x=6
	RETLW	B'00000001'	; y=32 x=7
	RETLW	B'00000011'	; y=32 x=8
	RETLW	B'00000011'	; y=32 x=9
	RETLW	B'00000111'	; y=32 x=10
	RETLW	B'00000111'	; y=32 x=11
	RETLW	B'00001111'	; y=32 x=12
	RETLW	B'00001110'	; y=32 x=13
	RETLW	B'00001110'	; y=32 x=14
	RETLW	B'00001110'	; y=32 x=15
	RETLW	B'00001110'	; y=32 x=16
	RETLW	B'00001110'	; y=32 x=17
	RETLW	B'00001110'	; y=32 x=18
	RETLW	B'00001111'	; y=32 x=19
	RETLW	B'00000111'	; y=32 x=20
	RETLW	B'00000000'	; y=32 x=21
	RETLW	B'00000000'	; y=32 x=22
	RETLW	B'00000000'	; y=32 x=23
	RETLW	B'00000000'	; y=32 x=24
	RETLW	B'00000000'	; y=32 x=25
	RETLW	B'00000000'	; y=32 x=26
	RETLW	B'00000000'	; y=32 x=27
	RETLW	B'00000000'	; y=32 x=28
	RETLW	B'00000000'	; y=32 x=29
	RETLW	B'00000000'	; y=32 x=30
	RETLW	B'00000000'	; y=32 x=31
	RETLW	B'00000001'	; y=32 x=32
	RETLW	B'00000001'	; y=32 x=33
	RETLW	B'00000001'	; y=32 x=34
	RETLW	B'00000001'	; y=32 x=35
	RETLW	B'00000001'	; y=32 x=36
	RETLW	B'00000000'	; y=32 x=37
	RETLW	B'00000000'	; y=32 x=38
	RETLW	B'00000000'	; y=32 x=39
	RETLW	B'00000000'	; y=32 x=40
	RETLW	B'00000000'	; y=32 x=41
	RETLW	B'00000000'	; y=32 x=42
	RETLW	B'00000000'	; y=32 x=43
	RETLW	B'00000000'	; y=32 x=44
	RETLW	B'00000000'	; y=32 x=45
	RETLW	B'00000000'	; y=32 x=46
	RETLW	B'00000000'	; y=32 x=47
	RETLW	B'00000000'	; y=32 x=48
	RETLW	B'00000000'	; y=32 x=49
	RETLW	B'00000000'	; y=32 x=50
	RETLW	B'00000000'	; y=32 x=51
	RETLW	B'00000001'	; y=32 x=52
	RETLW	B'00000001'	; y=32 x=53
	RETLW	B'00000001'	; y=32 x=54
	RETLW	B'00000001'	; y=32 x=55
	RETLW	B'00000001'	; y=32 x=56
	RETLW	B'00000001'	; y=32 x=57
	RETLW	B'00000001'	; y=32 x=58
	RETLW	B'00000001'	; y=32 x=59
	RETLW	B'00000001'	; y=32 x=60
	RETLW	B'00000001'	; y=32 x=61
	RETLW	B'00000001'	; y=32 x=62
	RETLW	B'00000000'	; y=32 x=63
	RETLW	B'00000000'	; y=32 x=64
	RETLW	B'00000000'	; y=32 x=65
	RETLW	B'00000000'	; y=32 x=66
	RETLW	B'00000000'	; y=32 x=67
	RETLW	B'00000000'	; y=32 x=68
	RETLW	B'00000000'	; y=32 x=69
	RETLW	B'00000000'	; y=32 x=70
	RETLW	B'00000000'	; y=32 x=71
	RETLW	B'00000001'	; y=32 x=72
	RETLW	B'00000001'	; y=32 x=73
	RETLW	B'00000001'	; y=32 x=74
	RETLW	B'00000001'	; y=32 x=75
	RETLW	B'00000001'	; y=32 x=76
	RETLW	B'00000001'	; y=32 x=77
	RETLW	B'00000001'	; y=32 x=78
	RETLW	B'00000001'	; y=32 x=79
	RETLW	B'00000000'	; y=32 x=80
	RETLW	B'00000000'	; y=32 x=81
	RETLW	B'00000000'	; y=32 x=82
	RETLW	B'00000000'	; y=32 x=83
	RETLW	B'00000000'	; y=32 x=84
	RETLW	B'00000000'	; y=32 x=85
	RETLW	B'00000000'	; y=32 x=86
	RETLW	B'00000000'	; y=32 x=87
	RETLW	B'00000000'	; y=32 x=88
	RETLW	B'01111111'	; y=32 x=89
	RETLW	B'01000001'	; y=32 x=90
	RETLW	B'01011101'	; y=32 x=91
	RETLW	B'01011101'	; y=32 x=92
	RETLW	B'01011101'	; y=32 x=93
	RETLW	B'01000001'	; y=32 x=94
	RETLW	B'01111111'	; y=32 x=95
	RETLW	B'00000000'	; y=32 x=96
	RETLW	B'00011001'	; y=32 x=97
	RETLW	B'00110000'	; y=32 x=98
	RETLW	B'00111110'	; y=32 x=99
	RETLW	B'01110010'	; y=32 x=100
	RETLW	B'00100000'	; y=32 x=101
	RETLW	B'00100001'	; y=32 x=102
	RETLW	B'01000001'	; y=32 x=103
	RETLW	B'01011001'	; y=32 x=104
	RETLW	B'01001111'	; y=32 x=105
	RETLW	B'00100111'	; y=32 x=106
	RETLW	B'00001010'	; y=32 x=107
	RETLW	B'01111001'	; y=32 x=108
	RETLW	B'00001011'	; y=32 x=109
	RETLW	B'01001010'	; y=32 x=110
	RETLW	B'00100011'	; y=32 x=111
	RETLW	B'01111111'	; y=32 x=112
	RETLW	B'00101111'	; y=32 x=113
	RETLW	B'00010100'	; y=32 x=114
	RETLW	B'00010101'	; y=32 x=115
	RETLW	B'01001100'	; y=32 x=116
	RETLW	B'01000111'	; y=32 x=117
	RETLW	B'00110101'	; y=32 x=118
	RETLW	B'00000110'	; y=32 x=119
	RETLW	B'00000110'	; y=32 x=120
	RETLW	B'00100010'	; y=32 x=121
	RETLW	B'00000000'	; y=32 x=122
	RETLW	B'00000000'	; y=32 x=123
	RETLW	B'00000000'	; y=32 x=124
	RETLW	B'00000000'	; y=32 x=125
	RETLW	B'00000000'	; y=32 x=126
	RETLW	B'00000000'	; y=32 x=127
	RETLW	B'00000000'	; y=40 x=0
	RETLW	B'00000000'	; y=40 x=1
	RETLW	B'00000000'	; y=40 x=2
	RETLW	B'00000000'	; y=40 x=3
	RETLW	B'00000000'	; y=40 x=4
	RETLW	B'00000000'	; y=40 x=5
	RETLW	B'00000000'	; y=40 x=6
	RETLW	B'00000000'	; y=40 x=7
	RETLW	B'00000000'	; y=40 x=8
	RETLW	B'00000000'	; y=40 x=9
	RETLW	B'00000000'	; y=40 x=10
	RETLW	B'00000000'	; y=40 x=11
	RETLW	B'00000000'	; y=40 x=12
	RETLW	B'00000000'	; y=40 x=13
	RETLW	B'00000000'	; y=40 x=14
	RETLW	B'00000000'	; y=40 x=15
	RETLW	B'00000000'	; y=40 x=16
	RETLW	B'00000000'	; y=40 x=17
	RETLW	B'00000000'	; y=40 x=18
	RETLW	B'00000000'	; y=40 x=19
	RETLW	B'00000000'	; y=40 x=20
	RETLW	B'00000000'	; y=40 x=21
	RETLW	B'00000000'	; y=40 x=22
	RETLW	B'00000000'	; y=40 x=23
	RETLW	B'00000000'	; y=40 x=24
	RETLW	B'00000000'	; y=40 x=25
	RETLW	B'00000000'	; y=40 x=26
	RETLW	B'00000000'	; y=40 x=27
	RETLW	B'00000000'	; y=40 x=28
	RETLW	B'00000000'	; y=40 x=29
	RETLW	B'00000000'	; y=40 x=30
	RETLW	B'00000000'	; y=40 x=31
	RETLW	B'00000000'	; y=40 x=32
	RETLW	B'00000000'	; y=40 x=33
	RETLW	B'00000000'	; y=40 x=34
	RETLW	B'00000000'	; y=40 x=35
	RETLW	B'00000000'	; y=40 x=36
	RETLW	B'00000000'	; y=40 x=37
	RETLW	B'00000000'	; y=40 x=38
	RETLW	B'00000000'	; y=40 x=39
	RETLW	B'00000000'	; y=40 x=40
	RETLW	B'00000000'	; y=40 x=41
	RETLW	B'00000000'	; y=40 x=42
	RETLW	B'00000000'	; y=40 x=43
	RETLW	B'00000000'	; y=40 x=44
	RETLW	B'00000000'	; y=40 x=45
	RETLW	B'00000000'	; y=40 x=46
	RETLW	B'00000000'	; y=40 x=47
	RETLW	B'00000000'	; y=40 x=48
	RETLW	B'00000000'	; y=40 x=49
	RETLW	B'00000000'	; y=40 x=50
	RETLW	B'00000000'	; y=40 x=51
	RETLW	B'00000000'	; y=40 x=52
	RETLW	B'00000000'	; y=40 x=53
	RETLW	B'00000000'	; y=40 x=54
	RETLW	B'00000000'	; y=40 x=55
	RETLW	B'00000000'	; y=40 x=56
	RETLW	B'00000000'	; y=40 x=57
	RETLW	B'00000000'	; y=40 x=58
	RETLW	B'00000000'	; y=40 x=59
	RETLW	B'00000000'	; y=40 x=60
	RETLW	B'00000000'	; y=40 x=61
	RETLW	B'00000000'	; y=40 x=62
	RETLW	B'00000000'	; y=40 x=63
	RETLW	B'00000000'	; y=40 x=64
	RETLW	B'00000000'	; y=40 x=65
	RETLW	B'00000000'	; y=40 x=66
	RETLW	B'00000000'	; y=40 x=67
	RETLW	B'00000000'	; y=40 x=68
	RETLW	B'00000000'	; y=40 x=69
	RETLW	B'00000000'	; y=40 x=70
	RETLW	B'00000000'	; y=40 x=71
	RETLW	B'00000000'	; y=40 x=72
	RETLW	B'00000000'	; y=40 x=73
	RETLW	B'00000000'	; y=40 x=74
	RETLW	B'00000000'	; y=40 x=75
	RETLW	B'00000000'	; y=40 x=76
	RETLW	B'00000000'	; y=40 x=77
	RETLW	B'00000000'	; y=40 x=78
	RETLW	B'00000000'	; y=40 x=79
	RETLW	B'00000000'	; y=40 x=80
	RETLW	B'00000000'	; y=40 x=81
	RETLW	B'00000000'	; y=40 x=82
	RETLW	B'00000000'	; y=40 x=83
	RETLW	B'00000000'	; y=40 x=84
	RETLW	B'00000000'	; y=40 x=85
	RETLW	B'00000000'	; y=40 x=86
	RETLW	B'00000000'	; y=40 x=87
	RETLW	B'00000000'	; y=40 x=88
	RETLW	B'00000000'	; y=40 x=89
	RETLW	B'00000000'	; y=40 x=90
	RETLW	B'00000000'	; y=40 x=91
	RETLW	B'00000000'	; y=40 x=92
	RETLW	B'00000000'	; y=40 x=93
	RETLW	B'00000000'	; y=40 x=94
	RETLW	B'00000000'	; y=40 x=95
	RETLW	B'00000000'	; y=40 x=96
	RETLW	B'00000000'	; y=40 x=97
	RETLW	B'00000000'	; y=40 x=98
	RETLW	B'00000000'	; y=40 x=99
	RETLW	B'00000000'	; y=40 x=100
	RETLW	B'00000000'	; y=40 x=101
	RETLW	B'00000000'	; y=40 x=102
	RETLW	B'00000000'	; y=40 x=103
	RETLW	B'00000000'	; y=40 x=104
	RETLW	B'00000000'	; y=40 x=105
	RETLW	B'00000000'	; y=40 x=106
	RETLW	B'00000000'	; y=40 x=107
	RETLW	B'00000000'	; y=40 x=108
	RETLW	B'00000000'	; y=40 x=109
	RETLW	B'00000000'	; y=40 x=110
	RETLW	B'00000000'	; y=40 x=111
	RETLW	B'00000000'	; y=40 x=112
	RETLW	B'00000000'	; y=40 x=113
	RETLW	B'00000000'	; y=40 x=114
	RETLW	B'00000000'	; y=40 x=115
	RETLW	B'00000000'	; y=40 x=116
	RETLW	B'00000000'	; y=40 x=117
	RETLW	B'00000000'	; y=40 x=118
	RETLW	B'00000000'	; y=40 x=119
	RETLW	B'00000000'	; y=40 x=120
	RETLW	B'00000000'	; y=40 x=121
	RETLW	B'00000000'	; y=40 x=122
	RETLW	B'00000000'	; y=40 x=123
	RETLW	B'00000000'	; y=40 x=124
	RETLW	B'00000000'	; y=40 x=125
	RETLW	B'00000000'	; y=40 x=126
	RETLW	B'00000000'	; y=40 x=127
	RETLW	B'00000000'	; y=48 x=0
	RETLW	B'00000000'	; y=48 x=1
	RETLW	B'00000000'	; y=48 x=2
	RETLW	B'00111000'	; y=48 x=3
	RETLW	B'11111000'	; y=48 x=4
	RETLW	B'11000000'	; y=48 x=5
	RETLW	B'01111000'	; y=48 x=6
	RETLW	B'01111000'	; y=48 x=7
	RETLW	B'11000000'	; y=48 x=8
	RETLW	B'11111000'	; y=48 x=9
	RETLW	B'00111000'	; y=48 x=10
	RETLW	B'00000000'	; y=48 x=11
	RETLW	B'00111000'	; y=48 x=12
	RETLW	B'11111000'	; y=48 x=13
	RETLW	B'11000000'	; y=48 x=14
	RETLW	B'01111000'	; y=48 x=15
	RETLW	B'01111000'	; y=48 x=16
	RETLW	B'11000000'	; y=48 x=17
	RETLW	B'11111000'	; y=48 x=18
	RETLW	B'00111000'	; y=48 x=19
	RETLW	B'00000000'	; y=48 x=20
	RETLW	B'00111000'	; y=48 x=21
	RETLW	B'11111000'	; y=48 x=22
	RETLW	B'11000000'	; y=48 x=23
	RETLW	B'01111000'	; y=48 x=24
	RETLW	B'01111000'	; y=48 x=25
	RETLW	B'11000000'	; y=48 x=26
	RETLW	B'11111000'	; y=48 x=27
	RETLW	B'00111000'	; y=48 x=28
	RETLW	B'00000000'	; y=48 x=29
	RETLW	B'11000000'	; y=48 x=30
	RETLW	B'11000000'	; y=48 x=31
	RETLW	B'00000000'	; y=48 x=32
	RETLW	B'00111000'	; y=48 x=33
	RETLW	B'01111000'	; y=48 x=34
	RETLW	B'11000000'	; y=48 x=35
	RETLW	B'11111000'	; y=48 x=36
	RETLW	B'00111000'	; y=48 x=37
	RETLW	B'00000000'	; y=48 x=38
	RETLW	B'01110000'	; y=48 x=39
	RETLW	B'11111000'	; y=48 x=40
	RETLW	B'10001000'	; y=48 x=41
	RETLW	B'11111000'	; y=48 x=42
	RETLW	B'01110000'	; y=48 x=43
	RETLW	B'00000000'	; y=48 x=44
	RETLW	B'01111000'	; y=48 x=45
	RETLW	B'11111000'	; y=48 x=46
	RETLW	B'10000000'	; y=48 x=47
	RETLW	B'11111000'	; y=48 x=48
	RETLW	B'11111000'	; y=48 x=49
	RETLW	B'00000000'	; y=48 x=50
	RETLW	B'01111110'	; y=48 x=51
	RETLW	B'11111110'	; y=48 x=52
	RETLW	B'10001000'	; y=48 x=53
	RETLW	B'00000000'	; y=48 x=54
	RETLW	B'01111000'	; y=48 x=55
	RETLW	B'11111000'	; y=48 x=56
	RETLW	B'10000000'	; y=48 x=57
	RETLW	B'11111000'	; y=48 x=58
	RETLW	B'11111000'	; y=48 x=59
	RETLW	B'00000000'	; y=48 x=60
	RETLW	B'00000000'	; y=48 x=61
	RETLW	B'11111111'	; y=48 x=62
	RETLW	B'11111111'	; y=48 x=63
	RETLW	B'10001000'	; y=48 x=64
	RETLW	B'11111000'	; y=48 x=65
	RETLW	B'01110000'	; y=48 x=66
	RETLW	B'00000000'	; y=48 x=67
	RETLW	B'01110000'	; y=48 x=68
	RETLW	B'11111000'	; y=48 x=69
	RETLW	B'10101000'	; y=48 x=70
	RETLW	B'10111000'	; y=48 x=71
	RETLW	B'10110000'	; y=48 x=72
	RETLW	B'00000000'	; y=48 x=73
	RETLW	B'11000000'	; y=48 x=74
	RETLW	B'11000000'	; y=48 x=75
	RETLW	B'00000000'	; y=48 x=76
	RETLW	B'01110000'	; y=48 x=77
	RETLW	B'11111000'	; y=48 x=78
	RETLW	B'10001000'	; y=48 x=79
	RETLW	B'10001000'	; y=48 x=80
	RETLW	B'00000000'	; y=48 x=81
	RETLW	B'01110000'	; y=48 x=82
	RETLW	B'11111000'	; y=48 x=83
	RETLW	B'10001000'	; y=48 x=84
	RETLW	B'11111000'	; y=48 x=85
	RETLW	B'01110000'	; y=48 x=86
	RETLW	B'00000000'	; y=48 x=87
	RETLW	B'00000000'	; y=48 x=88
	RETLW	B'11111000'	; y=48 x=89
	RETLW	B'11111000'	; y=48 x=90
	RETLW	B'00001000'	; y=48 x=91
	RETLW	B'11111000'	; y=48 x=92
	RETLW	B'11110000'	; y=48 x=93
	RETLW	B'00001000'	; y=48 x=94
	RETLW	B'11111000'	; y=48 x=95
	RETLW	B'11110000'	; y=48 x=96
	RETLW	B'00000000'	; y=48 x=97
	RETLW	B'00000000'	; y=48 x=98
	RETLW	B'11100000'	; y=48 x=99
	RETLW	B'00011100'	; y=48 x=100
	RETLW	B'00000011'	; y=48 x=101
	RETLW	B'00000000'	; y=48 x=102
	RETLW	B'00000000'	; y=48 x=103
	RETLW	B'01111000'	; y=48 x=104
	RETLW	B'10000100'	; y=48 x=105
	RETLW	B'00110010'	; y=48 x=106
	RETLW	B'01111010'	; y=48 x=107
	RETLW	B'01001010'	; y=48 x=108
	RETLW	B'00111010'	; y=48 x=109
	RETLW	B'01111010'	; y=48 x=110
	RETLW	B'01000100'	; y=48 x=111
	RETLW	B'00111000'	; y=48 x=112
	RETLW	B'11111000'	; y=48 x=113
	RETLW	B'11111000'	; y=48 x=114
	RETLW	B'10001000'	; y=48 x=115
	RETLW	B'11111000'	; y=48 x=116
	RETLW	B'01110000'	; y=48 x=117
	RETLW	B'00000000'	; y=48 x=118
	RETLW	B'11111010'	; y=48 x=119
	RETLW	B'11111010'	; y=48 x=120
	RETLW	B'00000000'	; y=48 x=121
	RETLW	B'01110000'	; y=48 x=122
	RETLW	B'11111000'	; y=48 x=123
	RETLW	B'10001000'	; y=48 x=124
	RETLW	B'10001000'	; y=48 x=125
	RETLW	B'00000000'	; y=48 x=126
	RETLW	B'00000000'	; y=48 x=127
	RETLW	B'00000000'	; y=56 x=0
	RETLW	B'00000000'	; y=56 x=1
	RETLW	B'00000000'	; y=56 x=2
	RETLW	B'00000000'	; y=56 x=3
	RETLW	B'00000000'	; y=56 x=4
	RETLW	B'00000000'	; y=56 x=5
	RETLW	B'00000000'	; y=56 x=6
	RETLW	B'00000000'	; y=56 x=7
	RETLW	B'00000000'	; y=56 x=8
	RETLW	B'00000000'	; y=56 x=9
	RETLW	B'00000000'	; y=56 x=10
	RETLW	B'00000000'	; y=56 x=11
	RETLW	B'00000000'	; y=56 x=12
	RETLW	B'00000000'	; y=56 x=13
	RETLW	B'00000000'	; y=56 x=14
	RETLW	B'00000000'	; y=56 x=15
	RETLW	B'00000000'	; y=56 x=16
	RETLW	B'00000000'	; y=56 x=17
	RETLW	B'00000000'	; y=56 x=18
	RETLW	B'00000000'	; y=56 x=19
	RETLW	B'00000000'	; y=56 x=20
	RETLW	B'00000000'	; y=56 x=21
	RETLW	B'00000000'	; y=56 x=22
	RETLW	B'00000000'	; y=56 x=23
	RETLW	B'00000000'	; y=56 x=24
	RETLW	B'00000000'	; y=56 x=25
	RETLW	B'00000000'	; y=56 x=26
	RETLW	B'00000000'	; y=56 x=27
	RETLW	B'00000000'	; y=56 x=28
	RETLW	B'00000000'	; y=56 x=29
	RETLW	B'00000000'	; y=56 x=30
	RETLW	B'00000000'	; y=56 x=31
	RETLW	B'00000000'	; y=56 x=32
	RETLW	B'00000000'	; y=56 x=33
	RETLW	B'00000011'	; y=56 x=34
	RETLW	B'00000011'	; y=56 x=35
	RETLW	B'00000000'	; y=56 x=36
	RETLW	B'00000000'	; y=56 x=37
	RETLW	B'00000000'	; y=56 x=38
	RETLW	B'00000000'	; y=56 x=39
	RETLW	B'00000000'	; y=56 x=40
	RETLW	B'00000000'	; y=56 x=41
	RETLW	B'00000000'	; y=56 x=42
	RETLW	B'00000000'	; y=56 x=43
	RETLW	B'00000000'	; y=56 x=44
	RETLW	B'00000000'	; y=56 x=45
	RETLW	B'00000000'	; y=56 x=46
	RETLW	B'00000000'	; y=56 x=47
	RETLW	B'00000000'	; y=56 x=48
	RETLW	B'00000000'	; y=56 x=49
	RETLW	B'00000000'	; y=56 x=50
	RETLW	B'00000000'	; y=56 x=51
	RETLW	B'00000000'	; y=56 x=52
	RETLW	B'00000000'	; y=56 x=53
	RETLW	B'00000000'	; y=56 x=54
	RETLW	B'00000000'	; y=56 x=55
	RETLW	B'00000000'	; y=56 x=56
	RETLW	B'00000000'	; y=56 x=57
	RETLW	B'00000000'	; y=56 x=58
	RETLW	B'00000000'	; y=56 x=59
	RETLW	B'00000000'	; y=56 x=60
	RETLW	B'00000000'	; y=56 x=61
	RETLW	B'00000000'	; y=56 x=62
	RETLW	B'00000000'	; y=56 x=63
	RETLW	B'00000000'	; y=56 x=64
	RETLW	B'00000000'	; y=56 x=65
	RETLW	B'00000000'	; y=56 x=66
	RETLW	B'00000000'	; y=56 x=67
	RETLW	B'00000000'	; y=56 x=68
	RETLW	B'00000000'	; y=56 x=69
	RETLW	B'00000000'	; y=56 x=70
	RETLW	B'00000000'	; y=56 x=71
	RETLW	B'00000000'	; y=56 x=72
	RETLW	B'00000000'	; y=56 x=73
	RETLW	B'00000000'	; y=56 x=74
	RETLW	B'00000000'	; y=56 x=75
	RETLW	B'00000000'	; y=56 x=76
	RETLW	B'00000000'	; y=56 x=77
	RETLW	B'00000000'	; y=56 x=78
	RETLW	B'00000000'	; y=56 x=79
	RETLW	B'00000000'	; y=56 x=80
	RETLW	B'00000000'	; y=56 x=81
	RETLW	B'00000000'	; y=56 x=82
	RETLW	B'00000000'	; y=56 x=83
	RETLW	B'00000000'	; y=56 x=84
	RETLW	B'00000000'	; y=56 x=85
	RETLW	B'00000000'	; y=56 x=86
	RETLW	B'00000000'	; y=56 x=87
	RETLW	B'00000000'	; y=56 x=88
	RETLW	B'00000000'	; y=56 x=89
	RETLW	B'00000000'	; y=56 x=90
	RETLW	B'00000000'	; y=56 x=91
	RETLW	B'00000000'	; y=56 x=92
	RETLW	B'00000000'	; y=56 x=93
	RETLW	B'00000000'	; y=56 x=94
	RETLW	B'00000000'	; y=56 x=95
	RETLW	B'00000000'	; y=56 x=96
	RETLW	B'00000000'	; y=56 x=97
	RETLW	B'00000011'	; y=56 x=98
	RETLW	B'00000000'	; y=56 x=99
	RETLW	B'00000000'	; y=56 x=100
	RETLW	B'00000000'	; y=56 x=101
	RETLW	B'00000000'	; y=56 x=102
	RETLW	B'00000000'	; y=56 x=103
	RETLW	B'00000000'	; y=56 x=104
	RETLW	B'00000000'	; y=56 x=105
	RETLW	B'00000001'	; y=56 x=106
	RETLW	B'00000001'	; y=56 x=107
	RETLW	B'00000001'	; y=56 x=108
	RETLW	B'00000001'	; y=56 x=109
	RETLW	B'00000001'	; y=56 x=110
	RETLW	B'00000000'	; y=56 x=111
	RETLW	B'00000000'	; y=56 x=112
	RETLW	B'00000011'	; y=56 x=113
	RETLW	B'00000011'	; y=56 x=114
	RETLW	B'00000000'	; y=56 x=115
	RETLW	B'00000000'	; y=56 x=116
	RETLW	B'00000000'	; y=56 x=117
	RETLW	B'00000000'	; y=56 x=118
	RETLW	B'00000000'	; y=56 x=119
	RETLW	B'00000000'	; y=56 x=120
	RETLW	B'00000000'	; y=56 x=121
	RETLW	B'00000000'	; y=56 x=122
	RETLW	B'00000000'	; y=56 x=123
	RETLW	B'00000000'	; y=56 x=124
	RETLW	B'00000000'	; y=56 x=125
	RETLW	B'00000000'	; y=56 x=126
	RETLW	B'00000000'	; y=56 x=127
	; End of Bitmap Data
	;
	END
;---------------------------------------------------------------------
;  終わり
;---------------------------------------------------------------------

ビットマップ画像をアセンブラコードに変換するスクリプトは以下のページの下の方を参照。


2024年9月13日金曜日

知らないワンタイムパスワードが届いて気味悪い

今週、待っていたiPad mini 7は発表されず残念。しばらくは相変わらずWiFiが切れまくるFPad3を使い続けます(T_T)

最近、知らないサイトから(URLとかを見るとフィッシングサイトではない模様だけど)、認証のためのワンタイムパスワード、6桁くらいの数字が届く。さっきも届いたので記事を書いてます。

これって誰かが私のメールアドレスで登録しようとしてるの? 登録時にメールアドレスを打ち間違えた? それとも新手の詐欺か何か? 気味が悪いのでメールのパスワードを変えたけど大丈夫か?

2024年9月8日日曜日

久しぶりの電子工作

週末は気が重い野暮用で忙しい日が続いており、今週は年次休暇までとることになってしまい、まだしばらくは続きそう。

でも、この週末は時間をとって、製作依頼のあったAC100V インターバルタイマ の製作を行っています。明日には発送できる見込み。


ケース加工の一部は卓上CNCを使っています。CNCの高さ制限があるので上面だけで、側面はボール盤や手作業での穴開けです。


前にも書いたことがありますが、インターバルタイマは製作依頼があると、依頼が続きます。今回もまだ確定ではありませんが、次の依頼がきています。まとめて一気に製作できると効率はよいのですが、なかなかそうはならないのが世の常。予めまとめて作ると不良在庫になるのが心配だし。

前回書いた AndroidタブレットのWiFiが切れまくる 件は、改善しません。sleepから復帰した際にもしばらく繋がらない状態になり、手動でWiFi接続しないとダメなこともしばしば。普通に繋がることもあるけど。なんなんでしょうか? 安いから仕方ないのか?

今週、iPad mini の新しいのが発売されたら買ってしまいそうです。もう80%くらいカートに入っているw