發表文章

xm6模擬器 硬碟安裝及硬碟開機

圖片
以x68000存在的年代來說,硬碟也已經開始普及,即使當時在台灣和美國流行的x86/DOS也開始流行將作業系統安裝至硬碟,免去每次開機都要放作業系統磁片的步驟.當然x68000系統也可以這樣做.以下我們將在xm6模擬器上安裝上虛擬硬碟,並製作出可用這顆硬碟開機的Human68系統 製作xm6模擬器使用的虛擬硬碟 在xm6模擬器中於”Tools”選單中選取”Make a new SCSI Hard Disk”建立一個”.HDS”磁碟映像檔.名字在本範例中使用”human302.HDS”. 設定該硬碟的容量,建議可以調到最大的1000MB 於模擬器的“Options”頁籤中透過SCSI介面設定安裝硬碟(想當年SCSI硬碟可是天價啊~~).分別進行以下設定 SCSI Interface: “Internal” Drivers: 3 (3個SCSI裝置,其中”ID 0”為硬碟”HUMAN302”使用 ID 0: 選擇我們製作的虛擬硬碟映像檔"HUMAN302.HDS" 硬碟格式化 使用Human68K磁碟從磁碟機"0”開機.並於開機完成後使用”format”指令啟動磁碟格式化工具 選擇"SCSI裝置"後系統會自動進行SCSI裝置偵測,隨後可見到裝置列表,我們選擇裝置ID 0" ハードディスク 999MB"並按下Enter進行下一步 接下來先進行“装置初期化” 再進入"領域確保" 進入領域確保選單後"領域確保",設定以下參後,輸入Y"実行",當系統完成作業後會出現訊息 "ハードディスクの使⽤には再起動が必要です リセットしますか" 此時依然在磁碟機0裝有Human68k開機片的情況下重新啟動電腦 領域確保參數: 容量: 999 (999MB,趨近於HUMAN302.HDS的1000MB) ボリューム名:HUMAN302 システム転送:する (含開機系統)  複製Human68K相關檔案並設定硬碟開機 在做完硬碟格式化後,保持在使用Human68K磁片開機的情況下重新啟動電腦,進入Human68K系統後使用”copyall”指令將磁片內所有檔案拷貝至硬碟 copyall /s a:¥*.* c:¥ 在完成檔案拷貝後使用”switc...

X68000電腦模擬器,Human68k開機

圖片
概要 x68000為1987~2003日本SHARP公司所推出的電腦系統,本篇將介紹基本的模擬器搭配作業系統Human 68k進行開機.除了模擬器主程式,其他相關的檔案目前也已經有"無償公開",我們可以到X68000 Library中取以下相關檔案. 準備清單 1. xm6 TypeG 模擬器主程式  xm6_typeg_336_20230523.zip  載點 2. xm6 util 用來製作虛擬SCSI光碟機及CG-ROM檔案, 這些為模擬器開機需要的檔案 xm6_util_20220608.zip 載點 3.IPL-ROM 系統初始載入器,類似PC上BIOS,該版本為X68000 Expert機型所使用的版本 X68BIOSE.LZH 載點 4. Human68k x68000所使用的作業系統,下載的檔案為該OS的磁碟影像檔 HUMN302I.LZH 載點 安裝流程 1.建立新工作目錄 先建立一個工作目錄,例如”c:\myXM6\” 2.檔案配置 xm6_typeg_336_20230523.zip 解壓縮,並將並將最內層資料夾"xm6_typeg_336_20230523 \”內容所有的檔案拷貝至工作目錄”myXM6\”中  (下圖”1”) X68BIOSE.LZH 解壓縮,將"IPLROM.DAT"拷貝至工作目錄”myXM6\”中  (下圖”2”) HUMN302I.LZH 解壓縮,將"HUMAN302.XDF"拷貝至工作目錄”myXM6\”中  (下圖”3”) xm6_util_20220608.zip 解壓縮,將"XM6Util.exe"拷貝至工作目錄”myXM6\” 中 (下圖”4”) 3.CG-ROM/SCSI-設備生成 工作目錄“myXM6\”中準備好下列上述檔案1~4後按下”XM6Util.exe”,會出現對話框”XM6ユーティリティ”, 並在其中點選 "CG-ROM(CGROM.TMP)を合成する" 及 "内蔵SCSI-ROM(SCSIINROM.DAT)を合成す" 這樣我們在工作目錄會多出現“CGRO.TMP”及"SCSIINROM.DAT"兩個檔案. 配合Human68系統啟動使用模擬器 ...

[imageAI]What is the step number displayed in the log messages during custom object detection training.

圖片
For most people using imageAI to implement the object detection application, they probably reference the tutorial " imageAI : Custom Detection Model Training " on the official website. When people begin the training by the sample from the tutorial, the progress bar displayed with some numbers in the log message. Apart from the "Epoch", there are information about time and step but what is the "step" numbers mean? The step numbers  are counted from 0 in each Epoch. For people who have basic machine learning knowledge, they could think of the batch numbers (all training instances divided by batch size)  immediately .  However, it seems something different from the batch number. my case: -data set: 301 images with 3 types labels -batch size:4 -Epoch:12 I noticed the difference when I training a data set containing 301 images with batch size 4. I thought the number before the progress bar should be the total of the batch number "73" (301/4) and the c...

Let's start to understand the ImageAI!!

圖片
ImageAI is a fantastic python library that allows users to create it's own computer vision application in a short term. In fact, most features in ImageAI are made up of functions in KERAS and openCV. So from my point of view, understand the source is a great way to learn how those powerful libraries , and artificial intelligence as well. Although you can install the python package by PIP and trace the source that package included, download the source from the GitHub and test it without PIP install could be a better idea for study and test it. The reason is that we could modify the code or add debug messages in the source. It could break the original functions in the package. So I suggest test it in an isolation environment and use it without PIP install. Create a new "Evironments" without the imageAI  package in ANACONDA Install the essential for the imageAI -tensorflow 1.15.0 (PIP3) -keras 2.3.1 (PIP3) -opencv 4.0.1 (Anaconda) -pillow 7.1.2 (...

ANN手勢辨識猜拳機器人

圖片
最近工作單位的老師希望可以實作一個機器人範例,其主要是可以整合機電實做和機器學習,做一個可以與人類猜拳的機器人 起初老師的構想是可以用影像辨識的方式來讓機器人可以偵測人出拳的手勢(石頭,剪刀或布).但考量到我本身的影像辨識熟練度不高,樣本蒐集和機器學習的時間也都很花時間. 雖然我也覺得影像辨識類的範例可能比較容易激起學生的興趣,但如果省略掉樣本蒐集和機器學習這些比較枯燥的步驟,似乎課堂上知識面內容又過於薄弱. 因此我的想法是初版的機器人範例先不要用影像,而是以感知機為基礎建立一個多層的人工神經網路,將每隻手指的彎曲度(彎曲感測器)做為輸入,用來判斷可能的手勢.這個題目本身在資料蒐集和機器學習的時間可以大幅化簡,但卻還是保留. 系統流程: 大致上來說,整個遊戲的流程會由使用者按下"開始"鈕開始.經過3秒鐘的倒數計時,機器人本身會用亂數決定一個手勢(剪刀,石頭,或布)並將機器手移動成該手勢.此時機器人也會檢查使用者的手勢,並決定遊戲勝負,最後則更新記分板. 系統架構: Arduino Uno: 機器人運作控制核心 Servo:帶動機械運動的伺服機馬達 FlexSensor: 用來偵測手指彎曲程度的感測器 (可參閱  https://madeinti.blogspot.com/2020/04/blog-post.html ) User Interface: 遊戲啟動按鈕,分數提示...等 輸入及顯示裝置 記分板, 左邊數字為機器人勝場數,右方為玩家的勝場數 機器手機構設計: 為了簡化設計,雖然人有5支手指,但對於猜拳遊戲來說,我們可以把"食指中指"及"無名指小指"視為兩個群組,而大拇指獨立一組.所以我們可以用3個伺服機就能表現出猜拳的三種動作. 硬體完成: ANN人工神經網路-Arduino實做: 我們在Arduino中實做出上圖的網路架構,以食指,無名指和大拇指的彎曲感測做為網路輸入,最終輸出石頭,剪刀,布三種手勢的輸出權重. 使用陣列資料結構描述網路架構, 陣列中將每個節點輸...