伴伴學 Accomdemy
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 用 Arduino 玩 Z80 ![截圖 2024-03-14 下午12.03.50](https://hackmd.io/_uploads/rJLVvgg0p.png) ## 原理 使用 arudino 作為 z80 的程式載入器 ## 方法 透過攔截 z80 機器週期 將欲上傳的資料插入週期之中 讓 z80 將資料搬運到 RAM 之中 arduino 提供 z80 時脈以及 reset 信號 ## 開發日記 啟蒙:Z80-MBC2 找到 z80 以及 SRAM 先在麵包板連接 研究 Z80-MBC2 的原碼理解上傳原理 決定使用 arduino uno 作為載入器核心 理解 uno 的接腳暫存器 其中 A0~A5+D6+D7 是隸屬同一個暫存器 因此做為資料匯流排 研究 uno 的 PWM 輸出腳 決定用 D3 作為 Z80 時脈輸出 ## z80 MBC2 https://github.com/SuperFabius/Z80-MBC https://github.com/SuperFabius/Z80-MBC2 ## z80-4ic 的arudino上傳程式碼 https://github.com/SuperFabius/Z80-MBC2/blob/master/DEVEL/S220718-R120519_IOS-Z80-MBC2_DEVEL1.ino#L622 ## RC-2014 https://rc2014.co.uk/ 以【Z80微電腦製作】一書為參考 ## Z80微電腦製作,劉秋良,欣大出版 ![WIN_20240204_21_45_52_Pro](https://hackmd.io/_uploads/rJfwtYz1C.jpg) 主要晶片有 Z80、SRAM 以及 8255 負責 IO 一開始在 8255 PC7 腳安裝 LED 實驗程式上傳 很快就成功了 後來花了幾天的時間 把書中的監督程式掃描進電腦做文字辨識 然後校正後做為上傳給z80系統的內容 在解決文字辨識的失誤後 監督程式正常運作 ## ABC-80 目前根據書中ABC-80的架構 有一顆8255負責IO存取 ABC-80的周邊有: 1. 在8255 1. 七段顯示器 2. 6x4鍵盤 3. 錄音機存取 4. 喇叭與LED(同在PC7) 2. 在CPU 1. HALT指示燈 #### chatgpt 修正如下: 啟發自 Z80-MBC2 的微電腦製作,我將 Z80 與 SRAM 首先連接到麵包板上進行實驗。隨後,我深入研究了 Z80-MBC2 的原始碼,以理解其上傳原理。為了執行這一計劃,我選擇使用 Arduino Uno 作為載入器核心。 在熟悉 Arduino Uno 的接腳暫存器後,我發現 A0 到 A5、D6 和 D7 是隸屬於同一個暫存器,可作為資料匯流排。接著,我深入研究了 Uno 的 PWM 輸出腳,最終決定使用 D3 作為 Z80 的時脈輸出。 參考書籍《Z80微電腦製作》,我了解到主要晶片包括 Z80、SRAM 和 8255,後者負責 I/O。一開始,我在 8255 的 PC7 腳安裝了 LED,並順利進行了實驗。 接著,我花了幾天的時間,將書中的監督程式進行了文字辨識,並進行校正後,準備將其作為上傳給 Z80 系統的內容。雖然在解決文字辨識中遇到了一些失誤,但最終我成功地讓監督程式正常運作。 ## 應用程式 ### z80算圓周率 https://github.com/GmEsoft/Z80-MBC2_PiSpigot?tab=readme-ov-file ### 簡單監督程式 https://github.com/skx/z80-examples ## 進度 ### 麵包板 ![Image01](https://hackmd.io/_uploads/H1l3B6GJ0.jpg) ![Image03](https://hackmd.io/_uploads/HJNar6MkC.jpg) ![Image04](https://hackmd.io/_uploads/B1bRSpzy0.jpg) ![Image10](https://hackmd.io/_uploads/BJT0SaG1R.jpg) ![Image15](https://hackmd.io/_uploads/BJjyI6zJ0.jpg) ### 電路板 把麵包板的實驗電路固化成電路板 ![image](https://hackmd.io/_uploads/SJiA_2GyC.png) ![image](https://hackmd.io/_uploads/HyYJF3fyR.png) ![image](https://hackmd.io/_uploads/B1eMqhfJR.png) 使用凱華按鍵 ![image](https://hackmd.io/_uploads/BJ3NX9olA.png) ![image](https://hackmd.io/_uploads/rytB7coxR.png) ## 推廣方式 * 分享開發紀錄 * 線上聚會分享 * 實體聚會分享 * 套件生產與販售 * ## 設計 * 硬體 * 鍵盤 不希望是一般輕觸開關 而是線性的感覺(無聲 就像八零年代 * 找個機會問鍵人谷 * 軟體 * 目前內建1. ABC-80 2.計算圓周率 3.簡易監督程式 4.BASIC * 視覺 * 包裝 ## 分享紀錄 ## 參考資料 Z80 微電腦製作,欣大 [ZX80](https://en.wikipedia.org/wiki/ZX80) 外型設計參考 https://www.facebook.com/yankodesign/posts/pfbid02UmWpnqK242wUPJnF45xUEqWXniTt5bN6kjcUmZdC5pUKcfEJmsMpypkkUMtSyH7Sl?locale=zh_TW | PART | NTD | |--|--| | KaiIh凯华1350矮轴Chos线性轴猪鼻子机械键盘轴体巧克力段落轴 | 374.4822857 | | 哈狐外设凯华巧克力矮轴机械键盘键帽PBT/PC猪鼻子超薄CFX键帽 | 253.6128 | | CPU z80 | 17.76 | | RAM 62256 | 8.88 | | GPIO 8255 | 11.1 | | PCB-main | 31.712 | | PCB-dsky | 79.712 | | 七段顯示器四位數 | 5.772 | | 七段顯示器一位數 | 3.996 | | 披薩盒【13X13X3.7 CM E浪】 | 5.6 | | 排針 | 12 | | 圓孔 | 115 | | 易折 | 13 | 包裝盒 貼紙 說明書 靜電袋 緩衝材 ## 關於 z80 套件 已經有幾位網友預定,但是我還沒定價呀~~ ## 目標群眾 資深工程師 大學教授 機械程式語言與組合語言的學習者 ## 討論進度 04/12 * 專案/套件名稱定案(待定 * 280duino * z80duino(有人用了 * edu-80 舊名 * MPF-I 舊名 * adu-80 * 草山-80 * 社子-80 * 葫蘆-80 * TWD-80 * TWN-80 * ACT-80 * TX80是以Z80處理器命名的,“T”的意思是“台灣成分”。 * ZX80是以Z80處理器命名的,“X”的意思是“神秘成分”。 * FX80是以Z80處理器命名的,“F”的意思是“福爾摩沙成分”。 * TPE-80 來自台北的z80微電腦![image](https://hackmd.io/_uploads/HJRiHjKfA.png) * 套件的規劃 * 全套 * 自備 ardino uno * 首五套 現場焊接 1600 元 * * 套件價格 * 定價2000 * 購買者有完成套件並且分享到網路社群後,給予100元大海電子禮卷或是100元現金(直接折價?) * [攜帶式特雷門琴X藍牙音響](https://www.zeczec.com/projects/firexit) 操作失誤的問題討論。 * 未來的電子設計與量產顧問工作規劃。 * 專案問題與失敗分析直播 * 三十分鐘以內 八路繼電器 * 大字衣服 l ,海字衣服 xl 。 04/16 * mx 軸鍵 * 字體: * [vag rounded](https://www.foundertype.com/index.php/FontInfo/index/id/2909) * https://en.wikipedia.org/wiki/VAG_Rounded * 跟著大大團購 ## 鍵盤文字 ![image](https://hackmd.io/_uploads/H1FxjWngR.png) ## 集資文案 chatGPT https://chat.openai.com/share/948d29ad-76f7-4116-b1d2-f75a783c4003 標題:重拾八位元:共同探索電腦歷史的魅力 親愛的支持者們, 那段美好的時光,我們來不及參與。70年代,八位元電腦的時代,是一段充滿著機遇和創新的年代。然而,即使我們來不及親歷那個時代,我們仍然希望能夠重溫它的美好,感受它的激情。 我們是一群熱愛電腦歷史的年輕人,我們相信在這個科技快速發展的世界中,回顧過去的技術進步對於理解現在和塑造未來至關重要。因此,我們決定發起一個獨特的專案,讓大家一同重溫八位元電腦的黃金時代。 在我們的專案中,我們精心打造了一部70年代風格的Z80八位元電腦,並透過使用Arduino作為程式上傳器,使其更加現代化、易用化。這意味著,您可以輕鬆地在這套微電腦上上傳程式,並體驗當年八位元電腦的魅力。 D君負責軟硬體開發,他對於八位元技術的研究和開發功不可沒;H君負責美術設計,他將這部電腦設計得如此懷舊動人;S君則負責八位元電腦鍵盤的研發,他讓我們可以真實地感受到按下每一個鍵的手感。 我們相信,八位元電腦曾經引領了電腦革命,它不僅是過去的象徵,更是現在和未來的脈絡。通過這個專案,我們希望能夠讓更多的人了解八位元電腦的重要性,並一起探索電腦歷史的精彩。 我們誠摯地邀請您加入我們的集資專案,一同重拾八位元的美好時光,一同探索電腦歷史的深邃奧秘。感謝您的支持! 04/22 鍵盤材料費 1444 元 (大海先墊) z80 衣服 烙鐵頭與內部都很爛,需要換。 # 分享會簡報 https://hackmd.io/@pondahai/Hy9rpu3WC 04/29 寄送到國外開發票的問題 ebay 販售 line 錢包 paypal 鼓勵 * 一杯咖啡的捐獻 * 折價卷 代理 成立公司 6502 很多人玩,資料多 ## 20240506 * 推廣機械鍵盤版本 * coscup發表 * 這週五把開發版本上架販售 * 一套公開價格1600 ,保留可以殺價與多買的價格空間 * ## 用ARDUINO製作終端機介面 鍵盤 螢幕 https://www.youtube.com/watch?v=M6OcPC5g_eM

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully