ユーザ用ツール

サイト用ツール


デジタルrgb出力をvgaモニタに出力したい

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
最新のリビジョン両方とも次のリビジョン
デジタルrgb出力をvgaモニタに出力したい [2020/12/15 16:35] – [各種ハード] arakiデジタルrgb出力をvgaモニタに出力したい [2020/12/15 16:44] – [RGB15色対応] araki
行 72: 行 72:
         movlb         ; BANK 0に切り替える         movlb         ; BANK 0に切り替える
         clrf    0x76    ; レジスタ 0x76 をクリアする         clrf    0x76    ; レジスタ 0x76 をクリアする
 +        ; HV混合信号を生成する (C = H ^ V ^ 1)
         movlw         ; Wレジスタに8 (b00001000)をセットする         movlw         ; Wレジスタに8 (b00001000)をセットする
         btfsc   12,   ; RA6が1ならレジスタ0x76にb00001000を設定する         btfsc   12,   ; RA6が1ならレジスタ0x76にb00001000を設定する
行 78: 行 79:
         clrw         clrw
         xorwf   0x76, ; レジスタ0x76 = W ^ レジスタ0x76         xorwf   0x76, ; レジスタ0x76 = W ^ レジスタ0x76
 +        ; RB - xxxxCBGR で出力する
         movf    12,w    ; W=PORTA & 7 (RGBコードだけ取り出す)         movf    12,w    ; W=PORTA & 7 (RGBコードだけ取り出す)
         andlw   7         andlw   7
         iorwf   0x76    ; W=W | レジスタ0x76         iorwf   0x76    ; W=W | レジスタ0x76
         movwf   13      ; PORTB = W         movwf   13      ; PORTB = W
 +        ; TRISBにハイインピーダンスにするポートを出力する(IN にセットすると出力としてはハイインピーダンスになる)
         movf    12,w    ; W=PORTA & 0x0f         movf    12,w    ; W=PORTA & 0x0f
         andlw   15         andlw   15
         addlw   0x20    ; FSR1 に 0x20 + W (0-15に対応する出力値を書いたテーブル)をセット         addlw   0x20    ; FSR1 に 0x20 + W (0-15に対応する出力値を書いたテーブル)をセット
         movwf   6         movwf   6
-        movf    1,w     ; W = INDX1+        movf    1,w     ; W = INDX1 (W = ds[PORTA & 0x0f])
         movlb         ; BANK 1に切り替える         movlb         ; BANK 1に切り替える
         movwf   13      ; TRISB = W         movwf   13      ; TRISB = W
行 97: 行 100:
 無念。 無念。
  
 +そう考えると、TTLロジック速いな。
 ==== アップスキャンコンバータ ==== ==== アップスキャンコンバータ ====
  
デジタルrgb出力をvgaモニタに出力したい.txt · 最終更新: 2020/12/23 10:55 by araki