2008 (222)
2009 (159)
2010 (136)
2011 (109)
2012 (95)
2013 (84)
2014 (83)
2015 (63)
2016 (48)
2017 (71)
2018 (86)
2019 (55)
2020 (89)
2021 (95)
2022 (90)
2023 (80)
我的研究生讀的專業是數理統計,可是個人計算機一出來,就迷上了,最早買的是TI-99/A,用BASIC語言,內存大約隻有16K,能夠編譯的程序很有限,我還是寫出了一個簡單的遊戲,好像是操縱一個遊泳的小船:
後來買的這個Commodore-64:
這個計算機有64K內存,它的特別之處是所有的記憶單元可以直接機器碼輸入,它的Basic裏用的最多的語句是Peek/Poke,Peek是取,Poke就是放,你直接控製內存裏的所有記憶單元,用Assembler寫程序,非常快,也給了程序員非常大的操作空間,伴隨而來的是眾多的遊戲軟件,我公寓合住的室友是一個香港人,也是一個遊戲迷,我們兩人經常都是通宵達旦的玩遊戲,你玩出了一個高分,我再玩一個高分,玩的最多的有這樣一些:
Jumpman
Jumpman Junior
Mission Impossible
Ghost Buster
Spy vs Spy
Summer Games
Summer Games II
等等,
我也寫了一些東西,1985年,我寫的“List Freeze”程序投稿給雜誌 Transactions on Commodores 被采納,這算是我第一次在雜誌上發表文章。這些遊戲都非常好,可是也有一個問題,它們都有保護方法,你一般都無法複製軟盤,這不是主要問題,保護方法通常都是寫到軟盤上一般寫不到的位置,在啟動遊戲的時候,你會聽到硬盤的搖動臂不斷地撞擊的聲音,對硬盤的損傷很大。我買了一個叫 Disassembler 的東西,插在計算機的後麵,可以在計算機程序運作的時候直接讀寫內存,我用這個東西去掉了我能夠拿到的所有遊戲的保護碼!基本的方法就是跟著遊戲的執行觀察內碼的執行,發現開始到保護程序的時候,就修改讓它跳過這部分,徹底去掉了保護程序!當然我的這些隻是為了自己的興趣,沒有任何經濟利益,自然沒有不可以的。
我也寫了一些小程序,譬如寫了一個簡譜的輸入方法,然後計算機就可以根據輸入的簡譜自動播放歌曲。Summer Games是夏季奧林匹克運動遊戲,裏麵沒有中國的,我大概是改了一個什麽國家的國旗和國歌,總之就有了中國運動員的國旗和國歌。當時各地都有Commodore-64的地方群體,定期討論問題,我也時常參加交流,破除遊戲的保護被稱為“Black Art”,也是熱門話題。有一個玩模擬飛行的小遊戲,當你在讀它的程序碼的時候,在裏麵你直接讀到大約的意思是:“你在幹什麽?我花了那麽多的時候來做這個遊戲,而你要來破解它,請你立即停止你的行動!”,有趣。在這些計算機逐漸被IBM和蘋果機取代後,隨著計算機的內存不斷變大,程序的語言也逐步被,Basic,C等高級語言代替,破解也逐步困難,我的興趣也逐步往高級語言轉移,主要是C。
早期我還寫了Shareware,中文處理文件DingDang Chinese Editor,40美元算是比較高的,主要功能除了拚音輸入,聯想,還可以閱讀中文,就像小學生那樣勻速的讀,通過ShareWare平台賣了上百個,賣的不多,但也有趣,其中一位是中國職業六段圍棋女棋手,當時正旅居歐洲。我的這些軟件買家多數為國際買家,通常就是兩張20美元的信封寄來,我還由此收集了不少國際郵票,給了一位集郵的朋友。
程序是我的愛好,雖然過時了,很長一段時間喜歡Java,現在最喜歡的語言是Python。我的博客裏有一篇“博文列表 2021-12-15”,每年底我都更新,就是我的Python軟件產生的。