跳轉到內容

Signetics 2650 & 2636 程式設計/分數

50% developed
來自華夏公益教科書,開放的書籍,開放的世界

教程 - 分數

[編輯 | 編輯原始碼]
$1FC3 7 6 5 4 3 2 1
格式
0
位置
0 兩個兩位數 頂部
1 一個四位數 底部
參見:2636 PVI

可以程式設計四個分數數字顯示在螢幕的頂部或底部。它們可以排列成一組四個數字,或者兩組兩位數字。顯示的數字以 BCD(二進位制編碼的十進位制數)程式設計。如果任何半位元組被設定為大於或等於 $A,則相應的數字將留空。

教程程式碼

[編輯 | 編輯原始碼]

此教程的程式碼可以在 教程程式碼 - 分數 中找到。一旦它被組裝並執行,你應該看到一個像這裡顯示的螢幕。

這是設定分數的程式的一部分

000F  0403    :        lodi,r0 $03
0011  CC1FC3  :        stra,r0 scoreformat  
0014  0498    :        lodi,r0 $98
0016  CC1FC8  :        stra,r0 score12
0019  0476    :        lodi,r0 $76
001B  CC1FC9  :        stra,r0 score34   

scoreformat 中的兩個位都被設定為 1,因此分數數字顯示為螢幕底部的單個四字元塊。更改此方法的一種方法是編輯組合語言檔案並進行彙編。使用 WinArcadia 中的一些工具可以更快地進行實驗。

WinArcadia 工具

[編輯 | 編輯原始碼]
參見:WinArcadia入門

我們可以進行更改的一種方法是即時直接編輯 PVI 中的值。從 工具 選單中,開啟 PVI 監視器。頂部面板允許您更改 PVI 中的暫存器。將 SCORELT 從 98 更改為 2A,顯示的分數將從 9876 更改為 2 76。請注意十六進位制數字 A 如何顯示為空白。現在將 SCORECTRL 從 03 更改為 00,看看分數如何移動到螢幕頂部並顯示為兩個兩位數。

 

還可以更改彙編器建立的機器程式碼。首先,我們應該重新執行我們的程式:檔案 > 重置為遊戲,這應該將螢幕恢復到其原始狀態。

參考上面的程式碼片段,看看放入 scoreformat 暫存器的值 $03 如何出現在地址 $0010 處的機器程式碼中。從 工具 選單中開啟 記憶體編輯器,然後單擊包含 $0010 處 03 的框。這將開啟一個對話方塊,可以在其中更改此位元組。將其設定為 0。請注意,模擬器螢幕沒有改變。這是因為我們只更改了程式,我們仍然需要執行它,我們透過 檔案 > 重置為遊戲 再次執行它。現在分數數字應該顯示為 98 76,位於螢幕頂部。



華夏公益教科書