2013年3月17日 星期日

該死的磁碟機

那個年代的大學生沒被磁碟機整過的大概不多,而我說的磁碟機是專指軟碟機,那時,硬碟貴到沒辦法摸。

二年級開始因為我們用的是Apple II,除了必要的課,就比較少用PDP-11當終端機來跑程式。Apple II旁邊配備了一台便當盒大小的軟碟機。偌大的磁碟片是我們的作業的家。本來他應該是我們寫程式的幫手,可是實際上這卻是我們的夢饜。那時的磁碟機很不穩,讀寫時都會發出一點噪音,可是要是你聽到ㄍㄧㄍ一ㄎㄚㄎㄚ聲大響時,那麼恭喜你,你的磁碟機有一部分資料被毀損了。假如是代表這張磁片的啟動資料被毀,那麼連讀都沒辦法,否則毀掉的該也是你所存在裡面的重要資料。所以我們都會謹慎備多一兩份,不過遇到你打了一半的程式要存檔時發生,那真是很慘。

後來,我們有了救星,號稱機器人的強者我同學,硬是從最底層是驅動磁碟機,然後在可能的情況下,直接改Binary(6502的二進位機器碼)把磁片救回來,這個動作是要熟悉所有底層硬體動作以及把6502的指令的機器碼背下來,才可以猜出被毀掉的程式碼是什麼。這套方法機器人應該有傳授給其他同學,雖然我沒學到,但是我對機器人實在是佩服到五體投地。

大三開始的專題,我跟國良一組,做的是用Apple II來驅動一組裡的數顆馬達,兩顆控制X與Y座標,一顆控制前進與後退,並用之來控制一個類似樂高做的倉庫。那時,我們必須自己做馬達驅動器,並且做成一片卡插在Apple II的擴充槽。我負責做馬達驅動卡與架起那堆積木,國良負責寫Apple II上的含有圖形介面的管理程式,然後兩人共同開發底層驅動那塊卡的程式。我以前沒碰過馬達,靠助教給我的書,竟然也把卡做了出來,不過過程哩,因為卡一開始沒插好而不會動,我用電錶直接去量訊號,一個電光閃過,當場弄掛一台Apple II。當我們兩人努力到後來,電腦自動倉庫動起來了,接著就是校正馬達的運動讓機構每次都可以停在準確的位置,然後把假裝是貨物的方塊放進預定的格子,或是把它從格子裡取出來。

我們越做越有心得,但是卻忘了備份碟片。到最後關頭,一直都沒出現ㄎㄚㄎㄚ聲的磁碟機發出了好像是奪命殺人鋸般的聲音,我心想完了,因為我不會修磁碟片,不過心想假如毀損得不嚴重,機器人應該可以救我。我忘了到底是機器人救了我,還是國良救了我。我對國良是很有信心的,因為念大學時,我的程式要不是有國良或良臣可以問,應該會很慘吧!

事隔20多年,國良跟我說他對以前大學時發生的事都印象模糊了,特地寫這篇,希望他回憶起我們那時一起沒日沒夜的做專題的那段日子。

沒有留言: