關於我們
代理商品
全部商品
micro:bit V1.5 系列 現貨供應中
micro:bit V2 系列 現貨供應中
Raspberry Pi樹莓派
micro:bit V2 智能車主打推薦
AI人工智能
Arduino
BBC micro:bit - 基本入門套件
BBC micro:bit - 進階學習套件
BBC micro:bit - 編程自走車
BBC micro:bit - 電路體驗套件
BBC micro:bit - 擴充板/感測器
BBC micro:bit - 線材/電池擴充板
BBC micro:bit - 電子零件
Kebbi 凱比機器人 雲端開發工具
BBC micro:bit - 保護外殼/保護套
IPEVO 愛比科技
羅技 logitech
DJI Tello EDU
LEGO - 樂高機器人
KK - 貝登堡智能
OSMO
OZOBOT
PRIMO
SPHERO
Wonder Workshop
LUMEX燈板
其他程式邏輯啟蒙-體驗遊戲套件
教學書籍/參考書籍/教科書
其他編程主機板
不插電桌遊
電腦週邊商品
教學資源
所有資源
教師研習
大學生科技英文師資培訓
主題營隊課程
社團課程
線上課程
協同教學專題作品分享
Micro:bit主板教案分享
Micro:bit延伸套件教案分享
AI人工智能(AI 鏡頭、語音辨識、Cutebot、TPBot、Ringbit car、Raspbot )
Raspberry Pi樹莓派系列
不插電系列桌遊
STEAM系列教案分享
Micro:bit 常見問題
高中加深加廣課程 專用套件
班班有網路 生生用平板
最新消息
所有訊息
奧斯丁教育團隊 OURSTEAM in EDUCATION 官方消息
媒體報導 (相關合作成果媒體社群報導)
過往實績 (推動STEAM教育發展之相關活動紀錄)
BBC micro:bit 教育基金會官方消息
Raspberry Pi 樹莓派基金會官方消息
購物服務
購物說明
訂單查詢
付款回覆
聯絡我們
首頁
最新消息
Raspberry Pi 樹莓派基金會官方消息
Commodore 64 Raspberry Pi Pico 模擬器
最新消息
2022 / 05 / 16
Commodore 64 Raspberry Pi Pico 模擬器
2022 年 5 月 16 日 Rosie Hattersley
儘管Kevin Vance是一名軟件開發人員,但他是 Raspberry Pi 世界的新手,當時他開始草擬恢復他的舊 Commodore 64 的計劃。因此,他的第一台計算機的複古改造成為他的第一個 Raspberry Pi 項目。Kevin從小就開始編碼,但直到 2020 年才開始沉浸在數字製作的世界中。
Pico 能夠通過擴展端口啟動來運行 Commodore 64。使用 Pico 的 RAM 而不是 EEPROM 被證明是明智的選擇
當 Kevin 第一次了解Raspberry Pi Pico時,他已經開始著手為 Commodore 製作擴展板。“PIO [可編程 I/O] 系統的開發聽起來非常有趣,大閃存存儲和 GPIO 引腳數量使其成為該項目的理想選擇,因此我開始進行新設計,”他解釋道。該項目的第一次迭代有一個單獨的微控制器、閃存和一個穩壓器。當 Kevin 意識到 Pico 以低得多的成本將所有這些都包含在一個模塊中時,他“非常興奮”。
移動球門柱
最初,Kevin 想要構建一個帶有微控制器的 Commodore 64 遊戲卡帶,Commodore 可以將工作卸載到該微控制器上。隨著 Ben Eater 的“優秀”影片演練在麵包板上創建 6502 計算機後,Kevin 計劃了一個類似的場景,將 6502 機器代碼存儲在普通 EEPROM 上。他為更新後的 Commodore 64 設計的麵包板只是他的第二個 PCB 設計。用細尖烙鐵手工焊接微小的表面貼裝元件“容易出錯並且需要耐心”,因此在電熱板上投資 16 美元是“物有所值!”
Kevin為這個項目設計了一塊定制電路板
Kevin為他的項目編寫了全新的代碼,並且由於他不斷改變電路板的工作方式,因此經常更新。隨著他對 Pico 的 PIO 和 DMA 控制器如何協同工作有了更好的了解,他決定研究是否可以使用 Pico 的 RAM 代替 EEPROM。他告訴我們“它比我預期的要好。”,“早在 Commodore 試圖讀取PIO 狀態機之前,它可以將 Pico 的 RAM 中的數據放到 C64 的數據總線上,而無需涉及其 CPU!”
他最大的設計挑戰是大量的引腳和 Commodore 的信號電壓。“由於這是一台帶有並行總線的舊機器,Pico 上沒有足夠的 GPIO 引腳將它們全部連接起來。幸運的是,由於我只模擬一個 ROM 盒,我可以只使用 14 條地址線、8 條數據線和 2 條控制線”,解釋道。他添加了 5V 容限緩衝器來將信號轉換為 3.3V,因此 Commodore 64 的 5V 信號不會損壞 Pico 的 GPIO 引腳。
Kevin 的 GitHub 頁面顯示了 Pico 如何與 C64 通信的詳細示意圖
Pico 的 PIO 系統為這個構建提供了最大的優勢,使他能夠避免 CPU 的所有復雜性並以可預測的時序運行。
他使用地址解碼從 Commodore 發送命令,以便從一個特殊的 256 字節內存塊中讀取數據,然後使用 RX FIFO 將地址作為“命令”發送到 Pico 的 CPU。當 CPU 準備好使用 TX FIFO 執行更多命令時,他巧妙地考慮了命令完成的時間。“這讓 Commodore 可以在不中斷 Pico 的 CPU 的情況下輪詢命令狀態,”他解釋道。“有一個有趣的設備可以讓 Commodore 與之通信”——他計劃進一步調查。
Kevin 很高興地發現 Frogger 裝載了他復活的 C64!
擴展計劃
儘管 Kevin 很高興能夠讓他童年時期的計算機重新啟動並運行,但他仍然很好奇他可以將 Pico 的 CPU 用於哪些 C64 程序——也許是他在 C64 是新的時寫回的遊戲並且他仍然維護代碼——以及他在哪些設備上使用可以從 USB 端口使用。
使用第二個 Pico 作為模擬器有助於開發過程
他也成為了 Raspberry Pi Pico 的忠實粉絲。“它在每個時鐘週期可以做很多事情,並且與 DMA 控制器一起,一旦它被初始化,它就可以在沒有 CPU 的情況下運行!” 他使用第二個 Pico 模擬 C64 總線,加快了重建項目的開發。這第二個 Pico 很可能成為用於自動化測試的專用微控制器。
如果您有興趣深入了解,該項目的 GitHub 位於
https://github.com/cknave/c64-pico-ram-interface
– 加油!
消息來源:
https://www.raspberrypi.com/news/commodore-64-raspberry-pi-pico-emulator/
返回列表
電話:
04-2376-6276
傳真:
04-2256-9949
統編:
13438259
E-mail:
oursteamtw@gmail.com
LINE ID:
@oursteam
學校機關報價
經銷通路報價
客製產品規劃
師資培訓課程
教師研習辦理
社團營隊活動
Copyright © Oursteam All Rights Reserved.