2020年10月6日 星期二

正體中文資訊考古 - 漢書 6.0 for Windows 3.1 & 漢書 5.0 for OS/2 版

 

近日中文資訊考古進展 - 漢書編輯器
在 DOS 時代這應該是許多人打文件的共同回憶了, 
販售部分個人不清楚, 但是搜尋看很多作者出的書都有附上磁片的推廣版本
這幾天在網路上挖到漢書 HE (Hyper Editor) 曾有推出 Win 3.1 的版本的訊息
這也讓我回想起曾經有 OS/2 版本(相當於 5.0 版本), 所以就嘗試找了一下
現在比較容易找到的都是漢書 V7.0 (7.0 也不好找就是)之後的版本
能在 Win 3.1 上執行的是 V6.0
而且只有早期 WinText 到 漢書98/6.0 前期版本才有 16bit 版本
之後的 漢書98/V6.01 則只有 32bit 版本
這軟體真的年代相當久遠了, 加上使用者分佈多只有在台灣區域
一開始找的確沒有頭緒, 也是因為摸到了一些技巧才慢慢有線索
前前後後確實花了一些功夫才找到 (奇怪的知識又增加了)
不得不提我認為現在的 Google 對於在一般的搜尋上, 關於 FTP 資源搜尋的輸出結果相當詭異
許多年輕一輩的可能不瞭解 Windows 以前的軟體生態
在先前來自 IBM 的 PE2 的編輯器相當受到各方歡迎
然而對於中文的支援與相關像是符號, 表格文件的編輯與顯示不友善
於是在 DOS 時代出現了 PE2 的仿製品 - 書中仙
在後續的版本改名為漢書
由於在中文文件的 編輯/表格/符號 上有著相當方便的支援
於是在台灣 DOS 時期廣受好評
當時的諸多版本都是以共享軟體 - shareware 形式散佈 (上傳的兩個版本都是共享版本)
事實上開發的公司 - 大方廣公司依然存在, 漢書也依然廣用在公家單位的文件處理上
目前漢書版本也演進到 V11 系列
 
 
 
 
 
 
 
 
 
 

2020年10月3日 星期六

正體中文資訊考古 - 萊思康有聲綜合字典

 

連假時期補了相當多老軟體素材 (Win 3.1 也裝了好幾次)
之後慢慢來做介紹與上傳作資訊歷史保存
 
 
今日要介紹的是萊思康電腦字典 Windows 版本
在 Dr.Eye 於 Win 95 時期成為翻譯/英漢辭典軟體代名詞之前
其實有著很多套不同的英漢辭典程式競逐這塊市場
這光碟是小弟近日低價購入的, 收到時很意外是全新
上面雖然寫著 for Windows 95
然而小弟很篤定這能在 Windows 3.1 上運作
主要是小弟當時有緣在 Win95 推出前使用過這套辭典
當時是買電子字典(那種單色液晶螢幕的)附贈的
也並非 "皇統光碟" 發行的版本
這個版本還有另一款 "皇統光碟" 與 "華彩軟體" 聯合發行的版本
這辭典一開始有著超級中二的名字 - "超極萊思康光碟字典"
但是介面看起來很 ... 不太好看
(可以查幾個單字看圖示, 大概就是那種風格)
改為皇統發行後看來介面質感提升
光是原本非制式視窗就很不錯 (其實這點遠東的辭典當年就有)
此外以前的電子辭典有個優點
那就是發音是真人發音所錄製
隨然現今 TTS 技術成熟,
但是手工打造的物品還是令人感到舒服感?
這片光碟讓我查了一下相關公司, 真的是時代眼淚
 
萊思康 - 2020.03 解散
皇統光碟 - 2011.09 廢止
華彩軟體 - 2003.02 破產
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2020年10月1日 星期四

正體中文資訊考古 - OS/2 T3.0 正體中文版

今日整理了 OS/2 3.0 中文版
包含了兩個版本
1994 年推出的 OS/2 3.0 (紅色 封面)
1995 年推出內建 TCP/IP 的 OS/2 3.0 Connect
 
 
此外一併上傳了更新其他 OS/2 4.0 光碟, 
包含了中文 BonusPak, Application Sampler 與 DDPack. 
另外新增了 CD 封面照
 
下一步是上傳全套的 OS/2 3.0 的校園菁英方案
 
 

 
 
 
 
 
 

2020年9月28日 星期一

關於 clang/gcc vector extension 的 unaligned data load / store

從 ARM 平台開始學習著手寫 SIMD intrinsics 有個相當大的好處 - 在 ARM 平台上 vector load/store 在任何 memory address 都可以使用 vld1q_u32 or vst1q_u32 這類的 intrinsics (另外像是 vld3q_u8 / vst3q_u8 對於 interleaving RGB 非常好用, 在 x86 上就很頭大, 但這是題外話了), 也就是說 ARM 的 vector load / store 可以不用考慮 vector width alignment. 

然而 ARM NEON 的 vector load / store 指令設計是少數, 在多數的 SIMD ISA 平台都不是如此, 像是 Intel AVX / SSE 就必須顧慮到 alignment ( 請參考 Intel Intrinsics Guide 網站 ):
以 SSE 而言:

  • _mm_load_si128 - 這是用來針對 aligned address
  • _mm_loadu_si128 - 這是使用來處理 unaligned address

對於 AVX :

  • _mm256_load_si256 - 這是用來針對 aligned address
  • _mm256_loadu_si256 - 這是使用來處理 unaligned address

在 unaligned address 使用 aligned instruction 就會發生 crash / error, 因此不可不慎, 而這在硬體上會反映在內部 pipeline 狀態到 memory request 的頻率/數量, 對於效能有一定程度的影響. 在多數 DSP 上由於使用 banked SRAM, 因此有可能有更嚴格的 alignment 限制. 

在 clang / gcc 中使用 vector extension 是可以較為簡單撰寫 SIMD-friendly code 的方法之一, 然而無論在 clang 的 vector extension 說明 或是 gcc 的 vector extension 說明 都採用 aligned vector 的形式, 所以通常在撰寫 data loading 時就必須注意 pointer alignment:

// clang vector type
typedef
float float4 __attribute__((ext_vector_type(4)));
...
float4 *vdata = *((float4*)(data_ptr + offset));

對於像是 CV / Image Processing 通常必須注意 padding, boundary 與 data_ptr 的 offset, 最簡單的方式當然是透過 memalign 之類的方式配置 buffer, 然後將 layout 設計好符合 SIMD width. 然而並非所有演算都可以如此輕鬆, 一些像是 connected conponents 之類的演算, 能夠有一定程度的 SIMD, 但是又並不保證起點由 aligned address 處理, 這時通常處理方式有二:

  1. 使用 unaligned read + indications/select
  2. 轉為 aligned-based loops

兩者都有人使用, 這裡要談的不是 algorithm 層級的事情, 且 1. 的部份會簡單一些, 那麼問題就在於該如何讓 compiler 產生 unaligned load / store. 對於 gcc / clang vector extension 而言這在於 type alignment 屬性 (詳情請參考 StackOverflow 對此問題的回覆) , 將上述的 float4 型別宣告改為:

typedef float float4 __attribute__((ext_vector_type(4), aligned(1)));

如此 float4 型別的 alignment 會是 1-byte, 如此 compiler 會轉為產生 unaligned load / store 指令, 便能在 c code 當中於任意位置做資料的存取與處理.

2020年9月27日 星期日

正體中文資訊考古 - Microsoft Works 3.0

 

易學易用萬事通 - Microsoft Works
這其實是著手後第一批到手的舊軟體
當年家中購入第三台 Pentium 66 的電腦時
除了隨機授權的 Windows 3.1 外還有附上這套軟體
雖然沒有光碟上沒標示版號, 事實上這是 MS Works 3.0
沒意外的話, 這應該也是 Works 第一個官方中文化的版本
Works 辦公套件主要是因應一般家庭並不需要功能強大價格高昂的 Office
對此市場需求因而推出了 Works
在台灣能見度不高應該跟國人消費習慣有關
而 Works 事實上一直有持續推出, 直到免費的 Office 2010 Starter 推出後停止



 
 
 
 
 
 
 
 
 
 
 
 

2020年9月26日 星期六

正體中文資訊考古 - 莎士比亞 國民版 v4.02

今日入手當年的新人類出版的文書排版軟體 - "莎士比亞 國民版 v4.02"
上面雖然寫著 for Windows 95
然而事實上這是能在 Windows 3.1 上運行的
在那時許多電腦繪製的海報/手冊都是出自本軟體
購入的光碟是全新未拆, 但是並沒有沒有附上序號卡
最後是網路上尋找後安裝成功
BTW. 莎士比亞 v6.0 目前可以免費下載並於 新人類官網申請序號
 


2020年9月22日 星期二

正體中文資訊考古 - Microsoft Office 4.2 + 自然注音 3.11

Microsoft Office 4.2 中文版搭配自然注音輸入法, 
在小弟中學求學時期算很潮的軟體工具, 
如果有台噴墨印表機可以列印資料算是很前衛了.
個人那時很多的文件與資料準備, 
甚至到高中升大學的一些推甄/保送的文件都是這樣的環境趕出來的.
前一陣子因為找 OS/2 4.0 中文資訊而發現到, 
20~30 年前時代的資訊相當多已亡佚, 
看到很多國外年代久遠的軟體在 archive.org 都有上傳, 
很多人應該不希望那些就這樣只留在記憶之中, 
程式與人的使用與互動之間形成了生活與回憶. 
很可惜的台灣做相關收藏與整理的人並不多, 
這些生活足跡只能在新時代中慢慢流失.
 
下午與同事分享過當然那些日子已經離去很久, 
也是網路尚未發達的時代, 隨著新一代的網路服務/軟體的推陳出新, 
舊世代的軟體, 特別是那些有時代意義的中文化或是本土商的軟體, 
都慢慢隨著時間而逝去, 
除了少有人有動機從舊媒介上取下之外, 
從 Y2K 前後設立網站的關閉到空間消失, 
甚至每一次的搬家與整理, 
那些曾經那麼熟悉的事物, 
很可能很大一部份就因此不復重現, 
但其實它們是台灣文化的一部份, 
也是台灣資訊發展的歷史一環. 
能讓它們能展示運作會比只有 Wikipedia 上的只留一行註解來得有意義的多.
 
接著會嘗試把個人熟悉與持有的 CD or 資訊找出, 
分享或上傳 archive.org, 做個紀錄那段時代的見證者

Office 4.3 正體中文版

自然注音輸入法 3.11

 

 

 
 
  

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...