【Keyboard】ScanCode


Keyboard 中斷 IRQ1(IRQ0是 Timer)。在Linux裡面最後都會轉成code set 1。

【參考】

【SMI】System Management Interrupt


【環境】

  1. DOS 6.X/debug32
  2. 某廠牌 Laptop

【原理】

  1. OS 透過 SMI/SCM hook BIOS routine,達到所需要的功能。

【所需暫存器】

  1. AX
    1. AH: command
    2. AL: starting value
  2. BX
  3. DX (port number )

【操作】

假設port number 為 0xB2,  starting value 為 0xC3。

  1. Check SMI service(AH=00) ,回傳值 AX=0x4456(DV)  表示成功。
    C:\>debug32
    Debug32 - Version 1.0 - Copyright (C) Larson Computing 1994
    
    CPU = 686, Real Mode, Id/Step = 06FD. A20 disable
    -a 100
    313C:0100 B8C300    mov ax, 00c3
    313C:1013 BAB200    mov dx, b2
    313C:0106 EF        out dx, ax
    313C:0107           [Enter]
    -p=100
    AX=00C3 BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
    DS=313C ES=313C SS=313C CS=313C IP=0103 NV UP DI PL NZ NA PO NC
    313C:0103 BAB200        MOV     DX,00B2h
    Trace Interrupt
    - p [按到跑到 out dx, ax]
    ...
    AX=4456 BX=0000 CX=0000 DX=00B2 SP=0000 BP=0000 SI=0000 DI=0000
    DS=313C ES=313C SS=313C CS=313C IP=0107 NV UP DI PL NZ NA PO NC
    313C:0107 D0FF        SAR       BH,1
  2. BIOS廠商自行定義的 SMI(省略)。

【程式】

【ASCII】Ascii Table


無意間發現的。很方便,不用在上網查 Ascii code table 了。

【環境】

  • Windows Vista

【步驟】

  1. 開始 | 執行 | ascii [Enter]
  2. 就會出現下面結果
    image

【問題】

  1. 目前看起來只能顯示 Dec,如何顯示 Hex?

【參考】

【SanOS】編譯SanOS


SanOs http://www.jbox.dk/sanos/index.htm

【環境】

  • Windows XP
  • Visual Studio 2005

【準備工作】

  1. 需要下載 SanOS 的原始碼並解開,目前我是用sanos-src-latest.zip(1.3M)
    Sanos source code http://www.jbox.dk/sanos/latest.shtm
  2. 「下面步驟目前可先省略」
    下載 mkisofs for windows http://smithii.com/cdrtools
    解開之後把 mkisofs.exe 搬到 SanOS的原始碼 的 tools 資料夾裡面。

【編譯】

  1. 打開 VS 2005 命令提示字元。
    image
  2. 使用進入 sanos原始碼目錄(ex. sanos-src-latest,以下以直接以 E:\sanos 路徑代表原始碼路徑)。
  3. 使用 nmake 編譯,記得帶參數 MSVC=9。
    E:\sanos> nmake sanos MSVC=9 
  4. 可以製作不同的開機系統,會在 img 目錄下看到
    1. 產生給 floppy的映像檔(sanos.flp ),
      E:\sanos> nmake bootdisk
    2. 產生給 VM 的(sanos.vmdk)
      E:\sanos> nmake bootdisk 
  5. 請參照 Running sanos under VMware(http://www.jbox.dk/sanos/emulators.htm
    用VMware跑看看,先把軟碟機指到sanos.flp,並設成由軟碟機開機。
  6. 執行結果
    image

【其他】

  1. 若要在 VS2005 底下直接編譯,請直接以 VS2005 打開 build/sanos.sln 即可。
    image

【參考】

【問題】

  • 如何製作bootcd,目前仍有問題。
  • 如何加入Application?

【Slax】安裝與使用


Slax http://www.slax.org/

  1. 基本安裝
    1. 準備一隻1G以上的隨身碟,在Windows格式化成Fat32。我這邊用的是JetFlash 4G隨身碟。
    2. 下載 Slax,我目前使用的是 slax-6.1.2.tar 。
    3. 解開 tar 檔,會產生兩個目錄,Boot 和 Slax。
    4. 將解開的兩個目錄與檔案拷貝到隨身碟。
    5. 打開隨身碟,進入boot 目錄,執行 bootinst.bat。
    6. 這樣子一隻簡單的 Slax 就產生好了,可以用開開機試試。
    7. 出現開機選單,可以選擇 Slax copy to RAM。
  2. 中文化 與 Opera 安裝
    1. 開機後打開 Firefox,連到 www.slax.org
    2. 到 module 下下載
      1. zh-tw-firefly-kde-0.0.1.lzm (中文字型)
      2. gcin-1.4.5.lzm (輸入法)
    3. 因為本人慣用 Opera 所以在這邊也先安裝一下。
      1. opera-9-64-2480-gcc4-qt3.lzm (拜一下Google就有)。
    4. 將這三個檔案移到 隨身碟上面的 slax/mouldes 目錄。
    5. 重開機之後測試下面幾個重點
      1. 用 opera 上 youtube 看影片 (ok)
      2. Ctrl-Space 打開注音輸入法 (ok)
      3. Ctrl-Alt-1 倉頡輸入法 (ok)
  3. 打開 sshd
    1. 系統本身有提供現成的 script ,只要啟動就好。
      $ chmod 777 /etc/rc.sshd
      $ /etc/rc.d/rc.sshd start
  4. lzma製作
    1. 製作一個自己的script,放在 /sbin 底下,方便隨時執行,以ssh當範例
      $ cd /tmp
      $ mkdir ed; cd ed
      # mkdir sbin; cd sbin
      $ echo "chmod 777 /etc/rc.d/sshd;/etc/rc.d/rc.sshd start > ed.sh
      $ chmod 777 ed.sh
      $ cd /tmp
      $ dir2lzm /tmp/ed /root/Desktop/ed-0.0.1.lzm

【參考】

【Home】長統靴的收納


【材料】

  • IKEA 鞋夾
  • 伸縮桿(下圖白色桿子)

image 
▲老婆的長筒靴/雪靴較多,所以我想了一個這方法來收納。感覺還不錯。

image
▲先把長筒靴用鞋夾夾好,吊在伸縮桿上。伸縮桿就是平常用在門口窗簾的那種伸縮桿。

【Winlirc】遙控器


winlirc http://prdownloads.sourceforge.net/winlirc/winlirc-0.6.5.zip?download
【硬體】
image
  1. IBM X31
  2. Usb to Rs232
  3. IR reciver(同學做的)
  4. Apple remote
【步驟】
  1. 下載winlirc ,裡面除了有原始碼之外還有執行檔(winlirc.exe),執行 winlirc.exe 。
  2. 選好 Com port/ Reciver Type/ Config,再選右邊的 Raw Codes 先測試。
     image
  3. Apple remote沒按任何按鍵就會有輸入,然不成有重力還是方向感測裝置。
    (PS. 我猜應該是有對到就會有輸入訊號)
    image
  4. 目前先這樣,有用到再繼續(TBD) 
【問題】
  1. 如何搭配 VLC 使用? 透過 Http Interface?

【輸入法】Yahoo!奇摩輸入法


Yahoo!奇摩輸入法 http://tw.widget.yahoo.com/keykey/

安裝完之後突然找不到在那邊調整,原來在語言列這邊。先記一下。

image

【IBM】 Access IBM


IBM X31最讓我滿意的兩個地方,除了HPA以外,還有 Access IBM 的功能。不過最近(2010/04/11) Wireless driver 好像出問題了。升級完重開機之後系統會藍屏,看來下次在升級前還是先做Ghost會比較安全。

【升級方式】

  1. Start | Access IBM | Thinkpad Software Installer
  2. 小心挑選所需要升級的軟體。
    image
  3. 系統就會開始安裝 。
    image
  4. 如果有衝突的話,建議沿用舊的就好。
    image 

【Shell】dialog


【安裝】

$apt-get install dialog

【程式】(取自 參考#1 )

#!/bin/bash
{ for I in 10 20 30 40 50 60 70 80 90 \
      80 70 60 50 40 30 20 10 0; do
   echo $I
   sleep 1
done
echo; } | dialog --guage "A guage demo" 6 70 0

【執行】

image

【參考】

【Shell】select


【程式】(取自參考 #1)

#!/bin/bash
PS3='Choose your favorite vegetable: '
select vegetable in "beans" "carrots" "potatoes" "onions" "rutabagas"
do
  echo
  echo "Your favorite veggie is $vegetable."
  break  # What happens if there is no 'break' here?
done
exit

【結果】

./s.sh 
1) beans
2) carrots
3) potatoes
4) onions
5) rutabagas
Choose your favorite vegetable: 6

Your favorite veggie is .
root@ed-desktop:/tmp# ./s.sh 
1) beans
2) carrots
3) potatoes
4) onions
5) rutabagas
Choose your favorite vegetable: 1

Your favorite veggie is beans.

【參考】

 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com