===========WRLDTIME.DEF Ver0.7============================== by Momoki TANEICHI, Sep. 8, 1994 (使い方は30行目より記載) ;===========ATLAS========================== ◆■■■WORLD TIME/    ■■■◆ London ◆■ Su Mo Tu We Th Fr Sa ■◆      ┏┓ ┏┓ ALARM ■ ■ Time Tone ~〜* 〜〜┗┛〜┃┃ ■ ■(C)M.Taneichi 〜 *** ~〜〜┏━┛┗━━━━━━━━━━━━━┓┏━━━━━━━━━━━━┓〜~ 〜***** 〜〜┃(Paris ) ┃┃▲▲ ┏┛〜 ******* ~〜┃┏┓ (Moscow) ┏━━┛┗━━┓ ▲ ┏┛〜〜~ Bermuda ~〜┗┛┗┓ ┏┛〜〜 |〜〜〜┗┓ ▲ |(NewYork) Triangle 〜〜〜~ ┃ ≡≡ ┏┛┏┓〜~|〜〜~ ┗━┓ ┃ ~〜〜 ┏━━━━┛ (Beijing)┃〜┗┛〜 |〜~ (LA)〜~ ┃ ┏┓┃〜〜〜 −−〜~ ┃ (Cairo)┃▲▲ ┃ ~|〜〜 ┃ ┏┛┗┛〜〜~ −−−〜┃≡ ┃(NewDelhi) ┃ 〜〜〜〜〜~ 〜┗┓┃〜~ 〜~ 〜〜~ OCEAN 〜┃ ≡≡≡ ┃ ┏┛〜~ PACIFIC OCEAN 〜〜~ ┃┃〜 ATLANTIC −−− ┗━━┓ ┣┓ ┏┓ ┃〜 〜〜〜〜〜〜〜〜┗╋━━━━━━┓ −−〜〜 ┃▲▲┃┗━┛┗━┓┃(Singapore)|〜〜〜〜〜 ┃ ┃ 〜~ 〜〜〜~ 〜┃▲▲┃〜〜〜〜~ ┗┛ |~ Ocean Liner ┗┓▲ ┃ 〜〜~ 〜〜〜~ ┃ ┃(Nairobi) 〜〜┏━━━┓@-------------------┃▲ ┃ ~ 〜〜〜 ~〜〜┃ ┃ 〜┃ ┃(Sydney) ~〜~ 〜〜~ ┃  ┏━━┛ ~〜〜〜〜- 〜┗━━┛ ~〜〜 ~〜〜~ ┃ ≡ ┃ 〜〜〜〜〜┃ ┏┛(Rio) 〜〜〜~ 〜〜〜 〜〜〜~ 〜~ 〜〜~ 〜┗━━━┛ |〜〜~ 〜〜〜~ 〜〜┃┏┛ ~ 〜〜〜〜 〜〜〜~- ~〜〜〜~ 〜 ~〜〜〜~ DATE|LINE 〜〜〜〜〜 ┗┛〜〜~ 〜~ ;===========End of ATLAS=================== 【使い方】 このファイルをあらかじめdefファイルの参照パスに "WRLDTIME.def"というファイル名でセーブして下さい。 あとは、マクロを組み込んで起動させるだけです。 編集モード、ファイラーモード、コマンドラインモード いずれからも起動できます。 Bmは、4300以上必要です。 回転スピードを速くしたいときは、 ;------------------------------ ; a=48, ;スピード調整(0:fast) ;------------------------------ の 48 を減らしてください。 【キー操作】 [ESC]で停止。次のメニューを表示します。                           デフォルト R Reverse     スクロール逆転          自転方向 N Night Zone    夜間時間帯反転の表示/非表示   非表示 A Alarm      アラームの設定          OFF T Time Tone 時報を鳴らす/鳴らさない     ON Q Quit       終了 数字 1 から 0 でスピードを調整できます。速1-0遅 【注意】 ・アトラス画面の作成はこの画面上からではなく、  ファイル"WRLDTIME.def"から行います。 ・アラームは、一定時間で鳴り止みますが、ESC等で解除しないと、  2分後にまた鳴りだします。 ・夏時間等の考慮は一切しておりません。 ・使用変数のポップ・プッシュはしておりません。 ・98でアトラスが正常に表示されない場合は ;★新JIS罫線の表示 の行を有効にして下さい。 ・びゅうまるちで新JIS罫線を表示させている場合は表示のタイミ  ングがあわない場合があります。 ・FMRでもマクロの修正無しで動作します。 ・地図画面その他若干修正、H.konno 2019-10-03 ;====================================================================== * M 89 ^^ "WORLD TIME" ;------------------------------ ; a=48, ;スピード調整(0:fast) a=6800, ;★スピード調整(0:fast) ;------------------------------ ; mx+, >?{>S . >T >U .} :U #[ (s==1)?#[ :T (wc)? #[ ? #95 :S we[,mi[,dl[,hh[,cc[, &s #R &?(pi) "WRLDTIME.DEF" #m (s==4)?{#[#[&m("$"%s$"がありません.",pf)cc],hh],dl],mi],we],.} ; &16 ;ファンクションキー ; Dg+, ;★新JIS罫線の表示 ; we=81,&#J(4)#< (23){#k#z} ;画面テキストの作成、オープン we=81,&#J(4)#< (24){#k#z} ;画面テキストの作成、オープン #C #N"WRLDTIME.gam"#m &#Y(0) we=81,dl-, &16 ;★ファンクションキー ステータスライン vs[=8,vy[=8, ;ステータスライン ; &d(23){#i}&s &d(24){#i}&s fb+, ;スクロール 右:0 左:1 fa+, ;夜間反転表示:0 非表示:1 fd-,fc-,fx-,fy-, #^ mi-,mb-, cc-,vv+, nn=46, ;定期船のx座標 u=uu=v=0, ;アラームの時刻 &01 ;時刻の取得と表示 &05 ;日付の取得と表示 :A &14 (cc==0&&fd)?{&05 fd-,} ;表示変更 &01 &14 ;時刻の取得と表示 &06 &14 ;定期船 &08 &14 ;Bremudaの三角 &13 &14 ;波 &09 &14 ;夜間帯反転及び表示 (fy)?&15 ;アラーム #^ #< &14 (fc)?{fc-,&07(r)?&10} ;スクロール一時停止 (fb)?{cc++,(cc>=40)?cc=cc-40,} ;横スクロール (fb)??{cc--,(cc<0)?cc=cc+40,} :B &14 (fb)?{&x(78) #l #<}?{&x(2) #18 #>} &14 #u#>#d (ln==24)?{(a){&14}>A}?>B 1: ;時刻の取得、表示 &02 &03 &04 &14 ;データアドレスの取得 ax=$2C00, ;時刻の取得 &i($21) h=(cx&$FF00)!!,m=cx&$00FF,mm=(dx&$FF00)!!,;h:時 m:分 mm:秒 i-, :A &14 ;都市毎の時間表示 xx=(cc*2+ff.i)%80, (xx<73)?{#^ &y(gg.i) &x(xx) mi+, &?("%02d:%02d:%02d",(h+hh.i)%24,m,mm) mi-, } i++,(i<13)?>A &14 xx=(cc*2+ff.i)%80, (xx<73)?{#^ &y(gg.i) &x(xx) mi+, (fy)?{&?("%02d:%02d:%02d",u,uu,v)} ?" OFF " mi-, } i++,&14 xx=(cc*2+ff.i)%80, (xx<78)?{#^ &y(gg.i) &x(xx) mi+, (vv)?"ON "?"OFF" mi-, } &14 (vv){ (m==59&&(mm==57||mm==58||mm==59))?&b(2) ;時報 (fd||fx)??{(m)??{&b(20)fx+,fd+,}} (m)?fx-,} . 2: ;x座標 ff=""+6,. "$(12)$(14)$(15)$(48)$(1C)$(34)$(0C)$(26)$ $(17)$(24)$(16)$(2E)$(48)$(14)$(4B)" 3: ;y座標 gg=""+6,. "$(01)$(05)$(07)$(08)$(0A)$(0A)$(0B)$(0B)$ $(0C)$(0F)$(11)$(12)$(13)$(03)$(02)" 4: ;時差 hh=""+6,. "$(0F)$(10)$(12)$(0A)$(17)$(07)$(11)$(00)$ $(15)$(17)$(12)$(01)$(0C)" 5: ;日付の取得と表示 ax=$2A00, &i($21) y=cx,m=(dx&$ff00)!!,d=dx&$00FF,dd=ax&$00FF, ;y:年 m:月 d:日 dd:曜日 k=47, ;日付変更線 l=(((100-(80*h/24))%80)/2)*2, ;18時 kk=(l+20)%80, ;0時 ee=31, ;月の日数 (m==2)?{(y%4)?ee=28,?ee=29,} ;うるう年(これで2099年まではよし) (m==4||m==6||m==9||m==11)?{ee=30,} e=31, ;前月の日数 (m==3)?{(y%4)?e=28,?e=29,} ;うるう年 (m==5||m==7||m==10||m==12)?{e=30,} &11 ;カレンダー &12 ;曜日行、夜間時間行 . 06: ;定期船 xx=(nn+2*cc)%80, (xx>77||xx<3)?. &y(16) &x(xx) mi+, (nn==65)?{n-,>A} (nn==46)?{n+,} :A(n)?{"-@"nn++,}?{#s"@-"nn--,} mi-,. 07: ;メニュー &d !01 k=r, &s (k==-1)?. (k)>?{>A >B >D >E >C} :A &b(5) fb!,(0). :B &b(5) fa!,(0). :C &b(15) (1). :D &b(5) &d !02 &s(0). :E &b(5) vv=1-vv,(0). 08: ;バーミューダトライアングル (2*cc>71)?. mi+, &y(3)&x(4+2*cc)&r&o(32+(r%2)*10) &y(4)&x(3+2*cc)(3){&r&o(32+(r%2)*10)} &y(5)&x(2+2*cc)(5){&r&o(32+(r%2)*10)} &y(6)&x(1+2*cc)(7){&r&o(32+(r%2)*10)} mi-,. 09: ;夜間時間帯反転(成岡知彦氏) #^#< (fa)?{&d&s.} xx=(l+2*cc)%80, f[,f-, (xx>40)?{xx-=40,f+,} &x(xx) &y(23) #b mb=4,xb=lx, &x(xx+40) #^ (f | xx-40)??&x(0) &17 &d &s &17 mb-,f], 17: ;an と ah の入れ換え ; (f^yy)??. an[,an=ah,ah], (f)??. an[,an=ah,ah], 10: ;終了 &b(15) #C (s==4)?'N' vy],vs],cc],hh],dl],mi],we], &d #] ; &16 &q &18 &q ;★ステータスラインFライン戻し 11: ;カレンダー #^ mi+, &y(2)&x(34) j=d-dd, (j<=0)?{jj=e+j,(1-j){&?("%02d ",jj) jj++,} jj+, (6+j){&?("%02d ",jj) jj++,}>F} jj=d-dd, (ee+dd-d<6)?{ (ee+dd+1-d){&?("%02d ",jj) jj++,} jj+, (d+6-dd-ee){&?("%02d ",jj) jj++,}>F} (7){&?("%02d ",jj) jj++,} :F &y(3)&x(34) (ee+dd-d<13&&ee+dd-d>5)?{ (dd+ee-d-6)?{(dd+ee-d-6){&?("%02d ",jj) jj++,}} jj+, (d+13-dd-ee){&?("%02d ",jj) jj++,}>J} (7){&?("%02d ",jj) jj++,} :J (dd)?{ &y(1)&x(33+4*(dd-1)) " " #d #d " " &y(2)&x(33+4*(dd-1)) " " #d #d " "} ?{ &y(1)&x(57) " " #d #d " " &y(2)&x(57) " " #d #d " "} &y(1)&x(33+4*dd) "*" #d #d "*" &y(2)&x(33+4*dd) "*" #d #d "*" &y(0)&x(52) o="JANFEBMARAPRMAYJUN$ JULAUGSEPOCTNOVDEC", b=o..((m-1)*3), b!!, &o(b) b=o..((m-1)*3+1), b!!, &o(b) b=o..((m-1)*3+2), b!!, &o(b) " " &?("%d",y) . 12: ;曜日行、夜間時間行 oo="SaSuMoTuWeThFrSa", &y(21)#<#l(80){" "} (kk<2)?kk=2, (k-kk<6&&kk-k<6)?{&x((k+kk)/2-2) (k>kk)?{&o(oo.(2*dd+2))&o(oo.(2*dd+3))"|"&o(oo.(2*dd)) &o(oo.(2*dd+1))"|"&o(oo.(2*dd+2))&o(oo.(2*dd+3))} (kG} &x(k-2)&o(oo.(2*dd+2))&o(oo.(2*dd+3))"|"&o(oo.(2*dd))&o(oo.(2*dd+1)) &x(kk-2)&o(oo.(2*dd))&o(oo.(2*dd+1))"|"&o(oo.(2*dd+2))&o(oo.(2*dd+3)) :G((k-kk)>30||(kk-k)>30)?{&x((k+kk)/2-10) "DAY OF THE WEEK" >H} (kk>=49)?{&x(20) "DAY OF THE WEEK" >H} &x(60) "DAY OF THE WEEK" :H ;夜間時間行の表示 mi-,#>#d #l "★★★★★★★NIGHT★★★★★★★★"#< (l<41)?{(l)?{(l){" "}} #> (40-l)?{(40-l){" "}}} (l>40)?{(40){" "} &x(120-l) #l #< #u} . 13: ;波 mi+, ;ATRANTIC OCEAN xx=2*cc, (xx>72)?>A &y(10)&x(xx) (cd=='〜')?"−−"?"〜〜" &y(11)&x(xx) (cd=='〜')?"−−−"?"〜〜〜" &y(13)&x(xx) (cd=='〜')?"−−−"?"〜〜〜" &y(14)&x(xx) (cd=='〜')?"−−"?"〜〜" ;PACIFIC OCEAN :A xx=(46+2*cc)%80, (xx>70)?. &y(10)&x(xx+2) (cd=='〜')?"−−"?"〜〜" &y(11)&x(xx) (cd=='〜')?"−−−−−"?"〜〜〜〜〜" &y(13)&x(xx) (cd=='〜')?"−−−−−"?"〜〜〜〜〜" &y(14)&x(xx+2) (cd=='〜')?"−−−"?"〜〜〜" mi-,. 14: &k k=r&$ff, (k==$1B)?{&b(10)fc+,} (k-$30)>? { ;スピード調整(上村郁夫氏) (a=25600) ;[0] (a=0) ;[1] (a=100) ;[2] (a=200) ;[3] (a=400) ;[4] (a=800) ;[5] (a=1600) ;[6] (a=3200) ;[7] (a=6400) ;[8] (a=12800) ;[9] } 15: ;アラーム (u==h&&uu==m&&(v==mm||v==mm-1))??. ii-, :A ii++,&b(5) &m("ALARM!!!!! Unlock:ESC") &k k=r, (k==$1B)?{&m("").} (ii>200)?{ ;200はビープの回数 &m("") uu=uu+2, (uu>59)?{uu=uu-60,u++,(u==24)?u-,}.} >A 16: ;ファンクションキー消去 m.gann氏 ; (pc.9>1)?. ;98 ファンクション行 ; p"l1>[$(1b)h1>[$(1b)"+f!*5, ;esc[>1l / esc[>1h ; (i5){ ax=p.i--, &i($29) } wa.54=0, ; ステータスラインを上げて off #] ; #85 ステータスラインの再描画 wa.56=lc,wa.57=lc-1, ; FKEYラインを下げて消す &d 18: wa.54=1, ; ステータスライン on wa.56=lc-1,wa.57=lc-2, ; FKEYラインを戻す * P 1 "PAUSE",14,5 "R Reverse" "N Night Zone" "A Alarm" "T Time Tone" "Q Quit" 2 "ALARM",14,4,4 "S Switch",fy "H Hour",u "M Minute",uu "S Second",v * =================End of WRLDTIME.def=========================