ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2017年11月23日(木) 10:42

All times are UTC+09:00




新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2007年4月11日(水) 21:26 
オフライン

登録日時: 2005年6月02日(木) 00:12
記事: 24
住所: 愛知県岡崎市
どうも~

みなさんお元気ですか? 頭はよくまわっても春の陽気で気持ちが
ボケる、そんな桜の舞う季節。今日は大学生でBASIC開発環境を
作っていたフランスのFred氏、その頃に作られたAmigaOSで動作
するPureBasic AmigaOS が、最近オープンソースとなり
一般に公開されています。ライセンス公開条件はLGPLとなっていて
色々な用途で使えるような自由なものです。

68K、これを知ってる人がPureBasicのコミュにはいないので、こちらに
振ってみました。68Kでハック経験のある人には面白いかもしれません。

Download the full version of PureBasic 4.00 (OpenSource)
http://www.purebasic.com/download.php3

Amigaの書庫LZXを解凍するツール
http://xavprods.free.fr/lzx/

AmigaのCPUはモトローラ68000です
http://ja.wikipedia.org/wiki/MC68000

噂レベルでハンドアセンブルで書かれていると聞いて
いたんですが、実際、どこからどこまで信じていいのか、分からなかった
のです。このソースを眺めてみるとすべての命令がハンドアセンブルw

ライセンスLGPL、2Dライブラリ、箱と点の部分抜粋(for 68K)
コード:
name "BoxFill", "(x,y,Width,Height)"
flags NoResult
amigalibs _GraphicsBase, a6
params d0_w, d1_w, d2_w, d3_w
debugger 1, _InitCheck

.BoxFill_TEST:
MOVEM.l d2-d3,-(a7)
ADD.w d0, d2
ADD.w d1, d3
CMP.w d0, d2 ; are in the clock order like
BHI _NBF_Ok_X ; requested by RectFill()
EXG d0, d2 ;
_NBF_Ok_X: ;
CMP.w d1, d3 ;
BHI _NBF_Ok_Y ;
EXG d1, d3 ;
_NBF_Ok_Y: ;
MOVEA.l _RastPort(a5), a1 ; Get *RastPort
JSR _RectFill(a6) ; RectFill(rp, x, y, x2, y2) - a1/d0/d1/d2/d3
MOVEM.l (a7)+,d2-d3
RTS

endfunc 1
;---------------------------------------------------------------------------------------

name "Plot", "(x,y)
flags NoResult | InLine
amigalibs _GraphicsBase, a6
params d0_w, d1_w
debugger 2, _InitCheck

MOVEA.l _RastPort(a5), a1 ; Get *RastPort
I_JSR _WritePixel(a6) ; WritePixel(rp, x, y) - a1/d0/d1

endfunc 2


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 

All times are UTC+09:00


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by KONISHI Yohsuke