跳轉到內容

Signetics 2650 & 2636 程式設計/2636 PVI

50% developed
來自 Wikibooks,開放世界的開放書籍

Signetics 2636 可程式設計影片介面 (PVI) 是一款 40 引腳 DIL 晶片,它處理控制檯中的許多功能

  • 影片生成
    • 螢幕顏色
    • 背景網格
    • 得分數字
    • 四個物件(精靈)
    • 物件完成和碰撞檢測
  • 方波音訊
  • 模擬操縱桿的 A/D 轉換
  • 記憶體和輸入/輸出裝置的晶片選擇訊號
  • 37 位元組的暫存器記憶體

所有這些功能都是透過讀取和寫入 PVI 中的各種暫存器來實現的。

PVI 的圖形功能
       螢幕顏色

     得分數字      物件      背景網格      物件複製

PVI 暫存器

[編輯 | 編輯原始碼]

在內部,PVI 暫存器位於地址 $F00 到 $FFF。在控制檯的記憶體對映中,它們位於地址 $1F00 到 $1FFF。程式設計師只需要關心這些後者的地址,因此這些將是我們在本書中使用的地址。出於同樣的原因,我們還將忽略記憶體對映重複的區域。

請注意,某些控制暫存器是隻寫暫存器。如果程式需要知道其中任何一個的內容,則必須將副本儲存在其他地方。對一臺控制檯上的某些暫存器進行的測試表明,如果嘗試進行讀取操作,則內容將被破壞。

PVI 暫存器
1F00 物件描述符 1
1F0E 2 位元組的暫存器
1F10 物件描述符 2
1F1E 2 位元組的暫存器
1F20 物件描述符 3
1F2E XXXXXXXXXXXXXXXXX
1F40 物件描述符 4
1F4E 32 位元組的暫存器
1F6E XXXXXXXXXXXXXXXXX
1F80 背景垂直
條定義
1FA8 背景水平
條擴充套件
1FAD 1 位元組的暫存器
1FAE XXXXXXXXXXXXXXXXX
1FC0 控制暫存器
1FD0 複製 1FC0
1FE0 複製 1FC0
1FF0 複製 1FC0
物件描述符 1、2、3 或 4
0 物件的形狀,
10 行 8 位
1
2
3
4
5
6
7
8
9
A 物件的水平座標
B 複製的水平座標
C 物件的垂直座標
D 複製的垂直偏移量
控制暫存器
位元組 7 6 5 4 3 2 1 0 讀/寫 功能
1FC0 物件 4 大小 物件 3 大小 物件 2 大小 物件 1 大小 只寫 物件的大小
1FC1   R1 G1 B1 R2 G2 B2 只寫 物件的顏色
1FC2   R3 G3 B3 R4 G4 B4 只寫
1FC3   格式 位置 只寫 得分格式和位置
1FC4      
1FC5  
1FC6  
網格顏色
R G B
網格啟用
螢幕顏色
R G B
只寫 網格啟用和顏色
1FC7 聲音 只寫 音調週期
1FC8 得分數字 1 得分數字 2 只寫 四個得分數字的值
1FC9 得分數字 3 得分數字 4
1FCA
物件/網格碰撞
1 2 3 4
物件顯示完成
1 2 3 4
只讀 碰撞狀態。物件顯示完成。VRLE 設定在 VRST 的前沿。所有位在讀取時或 VRST 的後沿復位。
1FCB   VRLE
物件間碰撞
1/2 1/3 1/4 2/3 2/4 3/4
1FCC A/D 電位器 1 只讀 A/D 值,僅在 VRST 期間有效。
1FCD A/D 電位器 2
1FCE      
1FCF  

PVI 有四個可程式設計的二維物件,可以放置在螢幕上的任何位置,以單一的 3 位顏色以四種不同大小之一顯示。據說 PVI 是第一個具有此功能的裝置。這種圖形樣式後來被稱為精靈,但我們將在本書中堅持使用“物件”,因為它是在 Signetics 資料表中使用的術語。

物件形狀

[編輯 | 編輯原始碼]

物件的形狀設定在一個 10 位元組的陣列中。設定為零的位是透明的,而設定為一的位顯示為選定的顏色。

物件顏色

[編輯 | 編輯原始碼]

物件顏色由暫存器 $1FC1 和 $1FC2 設定。有關詳細資訊,請參閱 程式設計顏色

物件大小

[編輯 | 編輯原始碼]

物件可以以四種不同的尺寸顯示,如暫存器 $1FCO 中的兩位設定。

放大倍數 尺寸 MSB LSB
x1 8 x 10 0 0
x2 16 x 20 0 1
x4 32 x 40 1 0
x8 64 x 80 1 1

物件位置

[編輯 | 編輯原始碼]

物件的位置是根據螢幕左上角電視掃描的原點確定的。

水平座標(即 $1F0A)設定為在光柵線開始後跳過的水平時鐘數,然後顯示物件。它可以在顯示物件時更改,在這種情況下,物件的其餘部分將被移位。物件的垂直座標(即 $1F0C)使用 8 位無符號值設定,該值等於跳過的行數,然後顯示物件。此值必須在 VRST 的後沿之前設定。

物件複製

[編輯 | 編輯原始碼]

螢幕下方可以顯示一個或多個重複物件。重複物件的水平座標(即 $1F0B)的設定方式與原始物件相同。重複物件的垂直座標設定為在顯示其前一個物件的最後一行後“要跳過的行數 - 1”。

PVI 在 HRST 期間的每一行讀取重複物件的水平座標,因此如果在顯示重複物件期間更改了該座標,則重複物件的其餘部分將出現在不同的位置。必須在物件完成狀態位由該物件的先前出現設定之前,對重複物件的垂直座標進行程式設計。

物件完成

[編輯 | 編輯原始碼]

當物件的最後一行顯示後,暫存器 $1FCA 中會設定一個物件完成位,並且 PVI 會為微處理器生成一箇中斷訊號。

物件碰撞

[編輯 | 編輯原始碼]

如果物件與背景網格重疊,則暫存器 $1FCA 中會設定一個物件/網格碰撞位。如果兩個物件重疊,則暫存器 $1FCB 中會設定一個物件間碰撞位。

另請參閱:教程 - 得分

四個得分數字可以顯示為兩個獨立的兩位數,也可以顯示為一個四位數。它們可以顯示在螢幕的頂部或底部,或者透過在第 40 行到第 199 行之間的垂直掃描期間重新程式設計,它們可以同時出現在頂部和底部。顯示模式由暫存器 $1FC3 的格式和位置位確定。

$1FC3 7 6 5 4 3 2 1
格式
0
位置
0 兩個兩位數 頂部
1 一個四位數 底部

每個得分數字寬 12 個時鐘週期,高 20 行。

頂部位置對應於背景網格的第 0 行到第 19 行,或垂直座標 20 到 39。底部位置對應於第 180 行到第 199 行,或垂直座標 200 到 219。

得分的顏色與為背景網格程式設計的顏色相反。請參閱:程式設計顏色

得分數字的水平位置
  1 2 3 4 外觀
格式 = 0 28 44 76 92 12  34
格式 = 1 28 44 60 76 1234

暫存器 $1FC8 和 $1FC9 中的四個得分數字可以設定為 0 到 F 的任何十六進位制值。值 0-9 顯示為數字,A-F 顯示為空白。

背景網格

[編輯 | 編輯原始碼]

PVI 具有一個可程式設計的背景網格,該網格由一個 16 寬 20 深的元素陣列組成。

這些元素是垂直條,寬一個畫素,排列成成對的水平行;每對中的第一行深兩個光柵行,第二行深 18 個光柵行。透過在記憶體地址 $1F80 - $1FA7 處位於 40 位元組陣列中設定一個位,可以開啟或關閉這 320 個垂直條中的每一個。

垂直條可以水平擴充套件,由五個暫存器 $1FA8 - $1FAC 控制。五個擴充套件暫存器中的每一個都控制四行連續的垂直條。

擴充套件暫存器
暫存器 7 6 5 4 3 2 1 0
  擴充套件組 x1、x2、x4 擴充套件行 x8
$1FA8 行 1-4 4B 4A 3 2B 2A 1
$1FA9 行 5-8 8B 8A 7 6B 6A 5
$1FAA 行 9-12 12B 12A 11 10B 10A 9
$1FAB 行 13-16 16B 16A 15 14B 14A 13
$1FAC 行 17-20 20B 20A 19 18B 18A 17
     
組擴充套件
擴充套件    7        6    
x1 0 0
x2 0 1
x1 1 0
x4 1 1

擴充套件暫存器的位 5-0 使所有水平行中的垂直條都能夠擴充套件到 8 個畫素。18 行垂直條被分成兩部分(A 和 B),每部分 9 行,從而可以將條的頂部和底部部分分別擴充套件 1、2 或 4 個畫素。

擴充套件暫存器的位 7-6 使四行組中的所有垂直條都能夠擴充套件到 1、2 或 4 個畫素。

背景網格的顏色由暫存器 $1FC6 中的位 2-0 設定。透過設定暫存器 $1FC6 中的位 3 來啟用背景網格。如果未啟用背景網格,則暫存器 $1F80-$1FAC 可用作暫存記憶體,總共 45 位元組,此外還有 37 位元組的暫存記憶體。

PVI 可以生成單個音訊方波輸出。其頻率由暫存器 $1FC7 設定。如果此值為 0,則方波將被抑制,否則其週期為 2(n+1)TH,其中 n 是在 $1FC7 中設定的值,TH 是水平復位週期。對於 PAL 系統,這簡化為 128(n+1)μs。

如果在音訊輸出期間更改了聲音暫存器,則更改將在音訊訊號的下一個負或正轉換之前不會生效。

請參閱PVI 音訊頻率圖表以獲取可獲得頻率的表格。

模擬到數字轉換

[編輯 | 編輯原始碼]

PVI 中的兩個模擬到數字轉換器用於確定模擬操縱桿的位置。由處理器的標誌輸出驅動的外部電路用於選擇來自水平或垂直電位器的輸入。

轉換過程發生在影片掃描的活動部分。必須在垂直復位期間從 $1FCC 和 $1FCD 讀取生成的數字值才能獲得有效結果。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書