自動化ツールUWSC使いよ集まれ30 (814レス)
1-

1
(4): 名無しさん@お腹いっぱい。 [sage] 2024/03/14(木)12:17 ID:Jjiys3IN0(1/2)
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
・UWSC Free版 Ver5.3.0.2
https://www.vector.co.jp/soft/winnt/util/se115105.html
・UWSC Pro Ver5.3.0.2 (スレ建て時点で、現在シェアレジはできませんので下記のライセンスキーを使いましょう)

68UW752980WUWU147

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れていたため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
http://www3.rocketbbs.com/601/siromasa.html

●使い方・基礎解説学習サイト
以下4サイト全て閉鎖や404のためアーカイブを参照する必要あり
http://necro.jp/dev/uwsc/
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev.com/review/gameut/uwsc.html

●スクリプトテンプレサイト
http://scripts.web.fc2.com/

UWSCサンプル
http://web.archive.org/web/20180428070202/http://www.uwsc.info/sample.html

※前スレ
自動化ツールUWSC使いよ集まれ29
2chスレ:software
715: 名無しさん@お腹いっぱい。 [sage] 05/01(木)02:35 ID:6MF0I5uw0(1/2)
なんとかならないですね
youtubeはピクチャーインピクチャーで前面表示にさせてるからゲームを自動化しつつyoutubeを見ることは可能
デュアルモニタにして片方を動画再生とか
vmwareで仮想環境を作ってそっちでゲームを動作させてかつ自動操作の完全なバッググラウンドとか
まーそれなりにマシンパワーが必要なので8コアのCPUにメモリ64GBで快適な環境を手に入れてる
パワーでゴリ押しするべき。私はそれで困ってはいない
716: 名無しさん@お腹いっぱい。 [sage] 05/01(木)02:37 ID:6MF0I5uw0(2/2)
ああ、あと広い画面は捗るので2kもしくは4kをおすすめする
ゲームは端っこへ寄せたら問題ないのでね
717: 714 [] 05/01(木)02:56 ID:E4V0LmKx0(2/2)
VMwareもHyper-Vも去年からたぶん対策でゲーム起動できなくなったんだよね・・。あ、ゲームがバレた。w
まあ完全自動化サブゲームマシン組めばいいんだけれども。メインPCで裏操作できるなら便利なのでそれに越したことはない。
ブラウザ以外にも色々やるから、ゲームがアクティブになっちゃうとちょっと困るからやっぱゲームのキーバインドをFキーとか
alt、ctrlを何とか使わなくして何とかやり繰りするしかないのかなあ・・
718: 名無しさん@お腹いっぱい。 [sage] 05/01(木)08:06 ID:ir3Q+OgX0(1)
core i5あたりがのっかった、富士通K55xシリーズとか中身ノートPCな一体型デスクトップのリースアップ品が
不人気なもんで5000円ぐらいで投げ売りされてるから(OS無しで自分でISOをダウンロードしてインストールするものなら
2000円とかも)買い足すのもあり同じ機種を10台ぐらい並べると何かの管制室みたいでかっこよいよ。
719: 名無しさん@お腹いっぱい。 [sage] 05/24(土)08:59 ID:tK70aCDT0(1)
UWSCで二点の色が「人間が見て大雑把に同じ名前の色」かどうかの判定をしたいのですが
シビアにRGB同一で比較するとこれ同じ色だろというのも違うということになってしまいます
おそらく範囲を指定することになると思いますがかなり困難そう
コピペできるコードまたは参考になるサイトとか知ってる人いらっしゃったらご教授願います
720: 名無しさん@お腹いっぱい。 [sage] 05/24(土)09:10 ID:74iEtfqD0(1)
ChkImgX関数が使えるかもしれない
721: 名無しさん@お腹いっぱい。 [sage] 05/24(土)12:47 ID:00h3wQUs0(1)
なんでヘルプ見ないの?
722: 名無しさん@お腹いっぱい。 [sage] 05/24(土)13:07 ID:JJPcmCW80(1)
見なくてもなんとなくできちゃうから
723: 名無しさん@お腹いっぱい。 [] 05/24(土)13:36 ID:9+c8aKyZ0(1)
あのヘルプを見て理解できるくらいプログラミングの素養がある奴はもうこんなツール使ってない
724: 名無しさん@お腹いっぱい。 [sage] 05/24(土)13:52 ID:8ZroXJ830(1)
AIに〜をするUWSCマクロを作ってくださいとお願いすると作ってくれるかもしれない。
725: 名無しさん@お腹いっぱい。 [sage] 05/24(土)14:10 ID:tbJm78ce0(1)
AIはUWSCの関数をいまいち理解していないので
存在しない関数を使いまくってくるよ
まあヒントのきっかけにはなるけど
726: 名無しさん@お腹いっぱい。 [] 05/24(土)14:12 ID:g/owyCSD0(1)
AIはデータが少ないものだと何にもできないしな
727: 名無しさん@お腹いっぱい。 [sage] 05/24(土)14:14 ID:dJaBpcMg0(1/2)
pythonについてなら教えてくれる
728: 名無しさん@お腹いっぱい。 [sage] 05/24(土)18:41 ID:jNFDGjws0(1)
プログラマー経験あるけど他のツール何使えばいいんだよ
画像認識が画像用意して一行関数呼ぶだけでメチャ楽なんだが
729: 名無しさん@お腹いっぱい。 [sage] 05/24(土)19:08 ID:aTLPeXg50(1)
他のツールから画像認識>必要な操作を返す部分だけUWSCを呼べばいいんじゃね?
…まぁPythonに頼めるんだろうけど。
730
(1): 名無しさん@お腹いっぱい。 [sage] 05/24(土)22:40 ID:dJaBpcMg0(2/2)
画像認識のライブラリがいくつもあるpythonに軍配があがる
ただし手軽に使えるものではないがUWSCよりは高機能だからねぇ
私はpythonでどうにもできない処理があって諦めた
731: 名無しさん@お腹いっぱい。 [sage] 05/24(土)23:19 ID:np25Fk9P0(1)
メインはpythonで回してUWSCが得意な部分だけやらせるとか
732: 名無しさん@お腹いっぱい。 [] 05/25(日)00:22 ID:t6ct8KN+0(1/2)
win11になってから謎エラーを吐くことが多くなったからいい加減違うのに変えたいけど、なかなかねえ
733
(2): 名無しさん@お腹いっぱい。 [sage] 05/25(日)00:28 ID:hWw6NGQ10(1/3)
UWSCで?何をしようとしてるのか知らないけど可能性があるとしたら24H2か?あれは23H2までと違って内部が大幅に変わってるので色々不具合が出てる
734: 名無しさん@お腹いっぱい。 [] 05/25(日)01:29 ID:t6ct8KN+0(2/2)
24H2のリリース時期と謎エラーが出始めた時期が完全一致してるからおそらくそれだわ
早く気付いて10日以内に23H2に戻しておけばよかった
735
(2): 名無しさん@お腹いっぱい。 [sage] 05/25(日)02:16 ID:hWw6NGQ10(2/3)
はあ笑 そうなんですかぁ↑↑
頑張って下さい^^
736: 名無しさん@お腹いっぱい。 [sage] 05/25(日)06:27 ID:ih9kIXh80(1)
Rに期待だな
ただコマンドラインが面倒で使ってない
元祖の大量のスクリプトを階層で指定出来たり自動起動は便利すぎでしょ
737
(1): 名無しさん@お腹いっぱい。 [] 05/25(日)10:26 ID:TJgyTaqu0(1)
>>733のレスの後に>>735って、なんかの発作でも起きたの?
738: 名無しさん@お腹いっぱい。 [sage] 05/25(日)10:30 ID:hWw6NGQ10(3/3)
>>737
いや、別に?
「ははーん♪やっぱり24H2かぁ」と予想通りでほくそ笑んでるし
人を絶望させるのが三度の飯より大好きなだけなのでね
彼は目の前が真っ暗になったことでしょう
739: 名無しさん@お腹いっぱい。 [] 05/25(日)10:38 ID:t1OpZjF00(1)
気を使って>>733のレスに話をあわせてやっただけなのにそれを理解できない人ってだけでしょ
リアルでもこういうガチのアスペって一定数いるけど学校や職場でトラブルメーカーになりがちだな
そして「何にもしてないのにいじめられる!」とわめき散らすまでがセット
740: 名無しさん@お腹いっぱい。 [sage] 05/25(日)15:16 ID:q0ElWa3/0(1)
今更だけどどうせならumiumiさんに課金したかった
741: 名無しさん@お腹いっぱい。 [sage] 05/26(月)19:51 ID:fMDAWUdT0(1)
>>735
これ最高にサイコパスっぽくて草
742: 名無しさん@お腹いっぱい。 [sage] 05/27(火)16:11 ID:uhW79por0(1/3)
VNCとnode.js(V8)とopenCVを混ぜてオープンソースでjavascriptでUWSCと同等以上のことができるものを作れそうだけど
タダ働きではちょっとなあ
743: 名無しさん@お腹いっぱい。 [sage] 05/27(火)18:28 ID:AqR+eHZ50(1)
有料で公開したらええやん
744: 名無しさん@お腹いっぱい。 [sage] 05/27(火)18:44 ID:uhW79por0(2/3)
ソースコード全体の7割ぐらいがオープンソースの借り物では、お金はもらえないっしょ。
745: 名無しさん@お腹いっぱい。 [sage] 05/27(火)19:01 ID:SKG6ER2/0(1)
俺なら金を出すよ!とでも言って欲しかったのか?
746
(1): 名無しさん@お腹いっぱい。 [sage] 05/27(火)19:17 ID:F7Vup6Z90(1)
公開する気ないなら最初から余計な事言わなきゃいいのに
747: 名無しさん@お腹いっぱい。 [] 05/27(火)19:23 ID:/l5SaFp30(1)
>>746
ほんとそれ
やる気があるのかないのかはっきりしろと
748: 名無しさん@お腹いっぱい。 [sage] 05/27(火)19:49 ID:uhW79por0(3/3)
まあOSS流用なので作ったとしてらどのみち公開はするわけだけど、
流用がほとんどだから作るのに年単位の時間がかかるって事はないもののそれなりに費用はかかるし
お金をもらってやるのは嫌だし、そもそもOSSベースでお金もらうの結構難しいしな、

ネットワーク上の別の端末もスクリプトで操作出来るとか、スクリプトから別の端末でスクリプトを実行させるとか
そういう機能もつけたら面白いし、mouse without borders 的な動作を4台以上の端末間でさせるとかも
VNCのソース取り込みからで出来そうだし、面白そうではあるんだけど、

うん、そのうちやる気が出て形になったらgithubに上げるだろうけど、まあ多分やる気は出ないと思う。
別に君が作り始めても良いのだよ
749: 名無しさん@お腹いっぱい。 [] 05/27(火)20:17 ID:QSbR7psI0(1)
かの偉人も言っていた
なにもしないなら帰れ、と
750: 名無しさん@お腹いっぱい。 [sage] 05/28(水)01:51 ID:Oc4hAMgD0(1)
どこのメンバーだよ
751: 名無しさん@お腹いっぱい。 [] 05/28(水)02:02 ID:UGESTyzi0(1)
叩かれまくってカッとなって長文という分かりやすい流れ
752
(1): 名無しさん@お腹いっぱい。 [sage] 05/29(木)18:55 ID:cpSMhLdy0(1)
>>710
>>730
Pythonでできない処理とは?
UWSCRのソースコードをAIの力も借りながらPythonのコードに置き換えていったら裏マクロとかもできたよ
pywin32を使うからWindows APIの知識を勉強しないといけないのはあるけど
753
(1): 名無しさん@お腹いっぱい。 [sage] 05/29(木)19:01 ID:OQidrJBz0(1/3)
>>752
KBD(VK_OEM_3,CLICK,40)
これができない
pythonだと
pyautogui.press('`')
になるんだけど出来ない
メモ帳とかで実行してみるとちゃんと@が押されてるけど出来ない
多分君でも出来ないと思うよ

条件 Asa de cristalというFlashゲーム上で実行
@の機能としては敵をロックオンする
これは実際にやってみないとわかりにくいけど、とにかくpythonだとロックオンができない。無反応になるっぽい
754: 名無しさん@お腹いっぱい。 [sage] 05/29(木)19:03 ID:OQidrJBz0(2/3)
ゲーム自体は無料登録可能だが問題なのはFlash動作できる環境だろう
2chスレ:swf
のリンクにあるclean flashでflashをインストール
version87より以前のchromiumをインストールしてFlash有効
以上の前提条件が必要なので気軽にテストはできないですね
755
(1): 名無しさん@お腹いっぱい。 [] 05/29(木)22:01 ID:p2DryIIV0(1/2)
>>753
そのゲームで試してみたけどこれでできたよ
UWSCはWin32APIの低レベル処理を使ってるから当然Pythonでも同じようにWin32APIでやる必要がある
pip install pywin32でpywin32をインストールしてから実行

import win32api
import win32con
import time

time.sleep(5)
VK_OEM_3 = 192
for i in range(1,20):
time.sleep(0.3)
win32api.keybd_event(VK_OEM_3, 0, 0, 0)
win32api.keybd_event(VK_OEM_3, 0, win32con.KEYEVENTF_KEYUP, 0)
756: 名無しさん@お腹いっぱい。 [] 05/29(木)22:14 ID:p2DryIIV0(2/2)
このキーコードだけど
UWSCRのソースコードをダウンロードしてサクラエディタのGrep検索で「VK_OEM_3」で検索かけたらキーの名前と番号の対応表(連想配列)が出てくるのでその数値を使ってる
他のキーコードの番号もその中にある
757: 名無しさん@お腹いっぱい。 [sage] 05/29(木)23:22 ID:OQidrJBz0(3/3)
>>755
本当だ… 試してみたらできた
いくら調べてもわからなくて諦めたのに
ありがとう大変参考になった
758: 名無しさん@お腹いっぱい。 [sage] 05/30(金)02:55 ID:YOzc46Bs0(1)
もともとWin32のdefine名を持ってきてるので、VK_OEM_3でググれば
https://learn.microsoft.com/ja-jp/windows/win32/inputdev/virtual-key-codes
が引っかかって 0xc0 = 192 とわかるはずだけどなあ
759: 名無しさん@お腹いっぱい。 [sage] 05/31(土)09:30 ID:TrnTdzAs0(1)
win32api.h
なつかしいにゃあ
760
(1): 名無しさん@お腹いっぱい。 [] 06/26(木)22:59 ID:qF0KTfM90(1)
uwscrでchrome操作しようと書き始めたらuwscrにポート空いてねえと怒られる
色々調べたらこんな罠が、、、

https://rpa.dova.co.jp/chrome136-or-later.html
Google Chrome(v136)の仕様変更により、ウェブドライバーなどでGoogle Chromeの自動操作を行う際に、標準的なプロファイルパスを引き継げなくなりました。セキュリティを考慮しての仕様変更とされています。

https://developer.chrome.com/blog/remote-debugging-port
761
(1): 名無しさん@お腹いっぱい。 [sage] 06/27(金)00:40 ID:Zbz2bcCL0(1)
起動済みのchrome操作してんじゃねえの?
別profile指定して起動させたchromeなら問題ないのでは
762: 名無しさん@お腹いっぱい。 [] 06/27(金)01:28 ID:6DLTtKY40(1)
>>761
うん、リンク先に書いてありますよ
763: 名無しさん@お腹いっぱい。 [sage] 06/27(金)09:05 ID:CKYXtA0X0(1)
デフォのプロファイルでwebdriver使ってる人なんているんやな
764: 名無しさん@お腹いっぱい。 [sage] 06/27(金)13:44 ID:Hpy9djhU0(1)
>>760
これは良い情報
5chはログが残り易いし検索に出てくるから躓いた事も書くのも大事
765: 名無しさん@お腹いっぱい。 [sage] 06/27(金)16:11 ID:0v2Oa6XT0(1)
UWSCRのwikiにも書かれてるね
しかも割と丁寧に
766
(1): 名無しさん@お腹いっぱい。 [] 07/02(水)18:20 ID:OgDmLGzk0(1)
UWSCRの質問
chromeブラウザのタブがシークレット(プライベート)か判別する方法あります?
これに限らない話のようでなんか普通じゃない手法が引っかかったりする
767
(1): 名無しさん@お腹いっぱい。 [sage] 07/02(水)18:40 ID:gKiqr3fA0(1)
色で判断したら
768: 名無しさん@お腹いっぱい。 [] 07/02(水)20:22 ID:o05rYpoQ0(1)
>>766
chkclrで該当のシークレットウインドウの色を座標範囲指定して結果を変数に代入
変数に代入した配列の要素数が1以上の場合今のウインドウがプライベートとみなす
769: 名無しさん@お腹いっぱい。 [sage] 07/02(水)20:48 ID:g9MmOLqD0(1)
ありがとう助かった
770: 名無しさん@お腹いっぱい。 [] 07/03(木)17:37 ID:ptd1eD9H0(1/2)
>>767−768
うーん、やっぱりイリーガルな判別法になっちゃうわけか
画像認識等使わないスクリプトなんでその案はちょっと無理かな

追加質問
fopenの挙動がよくわからない
fid=fopen(存在しないファイル,F_READ)
としたときエラーになるべきだが、fidにオープン時のモードを示すらしき文字列が返ってきて存在するファイルの時と同じ
公式ドキュメントには実行時エラーにすると書いてあるけどなってない
分かる人います?
771
(1): 名無しさん@お腹いっぱい。 [sage] 07/03(木)18:16 ID:58VL4Bg+0(1/3)
> 戻値
> ファイルID
> オープンできなかった場合は-1 を返す
> F_EXISTS 指定時は TRUE(在り)/ FALSE(無し)を返す

fid = FOPEN("nonefile.CSV", F_READ) 
とやるとfidにはエラーとして -1 が返ってくるよ。
772: 名無しさん@お腹いっぱい。 [sage] 07/03(木)18:18 ID:nd+bS39t0(1)
具体的にどの法律に違反してるのか教えてほしい
やってることが違法だと思ってなかった
773
(1): 名無しさん@お腹いっぱい。 [] 07/03(木)18:29 ID:ptd1eD9H0(2/2)
>>771
ごめん、uwscrの話
774: 名無しさん@お腹いっぱい。 [sage] 07/03(木)18:32 ID:fbR3s2KY0(1)
Tabに対してevalでFileSystem のAPIがあるかどうかで推測はできるんじゃね?
775: 名無しさん@お腹いっぱい。 [sage] 07/03(木)19:02 ID:58VL4Bg+0(2/3)
>>773
ああ、そうだったのか、すまん。
既に同名の関数でも互換では無くなってるのだな
776: 名無しさん@お腹いっぱい。 [sage] 07/03(木)19:02 ID:t3i9f+6w0(1)
そういった常識にとらわれない発想で目的の処理を実現する方がカッコイイと思う
個人的にはですが
777: 名無しさん@お腹いっぱい。 [sage] 07/03(木)20:05 ID:pnChSfx30(1)
fopenは1.0.3以降は存在しないファイルでもエラー出なくなってるな
1.0.2まではエラーになる
Issueに書けばなおしてくれるんじゃない?
778: 名無しさん@お腹いっぱい。 [sage] 07/03(木)20:53 ID:58VL4Bg+0(3/3)
とりあえずファイル存在チェックをして、ファイルが無かったらばエラーで返しあればファイルをオープンする
MyFopen的な関数を作っておいて
自分のプログラムからはそれを呼ぶようにしておけば良いかと
779: 名無しさん@お腹いっぱい。 [sage] 07/08(火)17:35 ID:HB3hee7Z0(1)
みんな綺麗なコード書くよう心掛けてる?
それとも動けばええやんの精神でやってる?
780: 名無しさん@お腹いっぱい。 [sage] 07/08(火)18:03 ID:O1vX8GLg0(1)
うごけばええやん
781: 名無しさん@お腹いっぱい。 [sage] 07/08(火)18:48 ID:WbIisEXd0(1)
後でメンテする想定ならコメントもつけて綺麗に書く
自分の書いたコードでも半年もしたらなにやってるかさっぱりわからねえもん
782: 名無しさん@お腹いっぱい。 [sage] 07/08(火)18:58 ID:28wfr82P0(1/2)
わかりやすくコメントを入れて書いてる
そうしないとわからなくなってメンテ不能になるから
783: 名無しさん@お腹いっぱい。 [sage] 07/08(火)19:14 ID:FKqsCuhA0(1)
ゲームの簡単なマクロでしか使ってないから分からなくなったら書き直す
784: 名無しさん@お腹いっぱい。 [sage] 07/08(火)19:26 ID:28wfr82P0(2/2)
ゲーム側が何か変更あったら当該部分だけ修正できるようにわかりやすくコメント書いてるだけなのでね
785: 名無しさん@お腹いっぱい。 [sage] 07/08(火)20:54 ID:h5D7MeBp0(1)
ゲームで使ってるやつ多すぎぃ!
グラブルのポーカーでスレが賑わい次第に荒れてった頃を思い出す
786: 名無しさん@お腹いっぱい。 [] 07/10(木)21:27 ID:X1+o/f7O0(1)
uwscrは挙動がよく分からないのが結構あるなあ
navigate()してwait()して分からんエラーはいてくる

めんどいからPythonで書き直すか、、、
787: 名無しさん@お腹いっぱい。 [sage] 07/11(金)18:27 ID:otqsWaOq0(1)
ブラウザコントロールはかなり安定してるけどなあ
788: 名無しさん@お腹いっぱい。 [sage] 07/14(月)07:57 ID:yAwHjIMl0(1)
copilotにUWSCの使い方聞いたら違う言語の説明が出てきたし
789: 名無しさん@お腹いっぱい。 [sage] 08/21(木)20:02 ID:939J5ryw0(1)
最近のAIの思考モードにUWSCのマニュアル食わせてやれば頑張ってくれそうな予感はある
メジャーな言語ならフルオートで簡単なゲームアプリ作れるくらいまで来てるし
790: 名無しさん@お腹いっぱい。 [] 08/23(土)17:53 ID:OyF2PNZV0(1)
結局UWSCはマイナー言語だから情報が少なくて先にPythonとかRubyを覚えたほうがUWSCを習得するのも楽
メジャー言語のほうがわかりやすい教材が揃ってるし
UWSCだけ使ってた時は関数定義も引数も戻り値もよくわからなかったから他ファイルのCallとパブリック変数で処理をパーツ化してたけどPython覚えてからUWSCの解説サイト見たらほとんど理解できるようになったし、自分がいかに非効率なやり方してるかも気づいた
Windows APIとか使うのも情報が少ないからVBAのコードをAIに書かせてUWSC形式に書き直すやり方でやってる
791: 名無しさん@お腹いっぱい。 [] 08/23(土)20:40 ID:NY7E7Nfo0(1)
そういう勉強が面倒だからUWSC使ってるんやろ
プログラムに抵抗ある人って結構多いから
792: 名無しさん@お腹いっぱい。 [sage] 08/23(土)21:52 ID:fDxgfEQF0(1)
PythonやRubyの知識が役に立つのは間違いないだろうけど
まったく使う予定無いのにUWSCのためだけにそれらを勉強するのは流石に遠回りな気がする
793: 名無しさん@お腹いっぱい。 [sage] 08/24(日)02:59 ID:fBIRGxbp0(1/2)
ワイVBしかできないプログラマー
UWSCは理解できてるけどPythonとかRubyはチンプンカンプン
794
(1): 名無しさん@お腹いっぱい。 [] 08/24(日)06:39 ID:bG2S4VmR0(1)
BASICはいいよな
BASICでC並みに速いコード吐くコンパイラを作ればよいのだ
誰かやれ
795: 名無しさん@お腹いっぱい。 [sage] 08/24(日)08:29 ID:UskGNAF30(1/4)
昔懐かしい行番号ジャンプのN88Basic準拠な、99BASICインタプリタ ってフリーソフトがあるそうですよ
796
(1): 名無しさん@お腹いっぱい。 [sage] 08/24(日)08:35 ID:14pwQsvc0(1/2)
ぼくuwsc歴10年近くになるけどcallとかよくわかんない
peekcolor関数とクリック関数他ちょいちょいで何とかやってる
gotoが無いのがとっても不便で困る
797: 名無しさん@お腹いっぱい。 [sage] 08/24(日)08:41 ID:nSCNrykT0(1)
gotoあった方がいいよな
798: 名無しさん@お腹いっぱい。 [sage] 08/24(日)08:52 ID:XtHGc8sq0(1)
if %errorlevel%==0 goto THE_END
でしたっけ?うろ覚えだけど
799: 名無しさん@お腹いっぱい。 [sage] 08/24(日)09:29 ID:UskGNAF30(2/4)
UWSCのCALLは昔のBASICではGOSUBだったかな。
昔のBASICでのCALLは機械語の部分を呼び出す予約後でPOKEで直接アドレス指定で機械語を書き込みCALLでそれを呼び出すようになってた)

<注意、隙自語的な昔話入ります>
昔のBASICでのCALLは機械語の部分を呼び出す予約後でPOKEで直接アドレス指定で機械語を書き込みCALLでそれを呼び出すのじゃ。
時間のかかるルーチンだけ機械語で書いて呼び出せばめちゃ速くなるのだ。
しかし当時はアセンブラとか高価でアマチュアには手に入らないので
いったん紙にアセンブラでプログラムを書いてニーモニック表(命令→機械語の表)を見ながら機械語に置き換える
ハンドアセンブルという作業が必要だったのじゃ。
当時8bitCPUの主流は6800/6502/Z-80だったが、6800は命令が少なくきれいに配置されていたため何度かハンドアセンブル作業を
していると機械語を暗記して直に機械語でプログラムを書くということが出来たりした。
800: 名無しさん@お腹いっぱい。 [sage] 08/24(日)09:30 ID:UskGNAF30(3/4)
さらに大昔、8bitマイコンの時代には2000バイト程度の機械語でBASICの実行系を作ったTinyBasicってのがあってのお
Z-80用は東大版、6800版は電大版。
後に各社からROM-BASICを搭載したマイコンが発売され日立のとか独自のBASICを乗っけてて音を鳴らすMUSICという命令があった
8bitのPIOを抵抗ラダーでDACにしてたので結構良い音が出てた。
しかしNECのPC-80001に搭載されてたMicrosoftのBasicはとてつもなく出来が良かったのと西和彦の営業回りによって
MicrosoftのBASIC搭載のものがほとんどになった。
MicrosoftのBasicの特徴として、通常はNOPが書き込まれているジャンプテーブルによる隠しフックがあって
一行入力時に呼び出されるルーチンとか、一文字入力時に呼び出されるルーチンを追加出来た。
また実行速度もめちゃくちゃ速かった。(もっともメモリを多用すると突然ガベージコレクションが始まって長時間無反応になる
なんて欠点もあったり)

BASICは安価(2万円程度)なポケコンにも搭載されたので、初めて覚えたプログラム言語はBASICという人が結構多かった。
(ポケコンのプログラムを投稿して発表する雑誌とかいくつか出てて採用されて載るとお小遣いがもらえたのだ)
カシオとシャープがそれぞれポケコンを販売してたがカシオの当初のものはプログラム電卓の延長で拡張性皆無だったけど
シャープのポケコンは隠し命令としてPEEK、POKE、CALLがあり機械語の呼び出しや液晶画面へのドット表示操作とか出来た。
(CPUの仕様もニーモニック表も公開されていなかったので手探りでCPUの仕様を調べる必要があったけど、BCD演算が出来る
スグレモノなCPUだった)

すまない、なんかスイッチ入ってしまってめっちゃ昔語りしたくなってしまった。
801: 名無しさん@お腹いっぱい。 [sage] 08/24(日)09:56 ID:UskGNAF30(4/4)
たぶん他にも打ち間違いがありそうだけど
とりあえず
> しかしNECのPC-80001
PC-8001
当時他のマイコンはMicoro Computerと表記されたけどPC-8001はParsonal Computerと表記されてて
日本では最初にパーソナルコンピューター(パソコン)を名乗ったものなのだと思う
後に上位版PC-8801、さらにPC-9801へと発展していく(あと家庭向けにPC-6001(パピコン)。

最も当時にすでにオフコンという値段はものすごく高いけど当時のマイコンとかを遥かに凌ぐ性能を持った
いくつかあって、ものが内田洋行のカマラードとか
ファコムの9450(富士通/松下もこれの同型機を出してた)とか
今でいうとThreadを一つ起こせて2タスクBASIC搭載(一つはデジタイザー入力に使うのが主)

SORDのMシリーズとかPIPSの方が有名だけどBASICも搭載してた。

あとJDLの文作シリーズとかワープロと思われがちだけどな実はオフコンでBASICを載せてた
(しかも日本語BASICに切り替え可能)。
802: 名無しさん@お腹いっぱい。 [sage] 08/24(日)11:42 ID:fBIRGxbp0(2/2)
>当時8bitCPUの主流は6800/6502/Z-80だったが、6800は命令が少なくきれいに配置されていたため何度かハンドアセンブル作業を
していると機械語を暗記して直に機械語でプログラムを書くということが出来たりした。

昔の人ってこういう猛者けっこういたよね
えぐいなぁ
803
(1): 名無しさん@お腹いっぱい。 [sage] 08/24(日)11:57 ID:FlJ5diJO0(1)
>>794
フリー ベーシック (日本語マニュアル) FreeBASIC
https://makoto-watanabe.main.jp/freebasic/

今どきBasic構文をありがたがる人はいないけどな
804: 名無しさん@お腹いっぱい。 [sage] 08/24(日)14:30 ID:9jPLuLaO0(1)
機械語やアセンブリをゴリゴリ出来るなら逆汗とかに有利ではあるんだけど
ちょっと知ってる程度だと特に意味がなく知識の転用もまず効かない悲しき存在
805: 796 [sage] 08/24(日)21:29 ID:14pwQsvc0(2/2)
すいません
予約語とかすら何かわからないです・・・
初めてcallとやらが書かれたchkimgxを使ってびっくりしたのが
「uwscにタブなんてあったんだ!」
って事でした・・・
806: 名無しさん@お腹いっぱい。 [sage] 09/05(金)10:29 ID:PGLOoqPn0(1)
>>803
MSXべーしっ君使ってたわ
807: 名無しさん@お腹いっぱい。 [sage] 09/05(金)18:40 ID:2ZtI09hB0(1)
MSXのBASICなつかしいわ
今思うと半分FORTRANだったでござる
808: 名無しさん@お腹いっぱい。 [sage] 09/05(金)19:18 ID:LP3Pb1KM0(1)
N88-BASIC、FORTRAN 77を学校でかじった程度だった。
809: 名無しさん@お腹いっぱい。 [sage] 09/06(土)15:27 ID:t02NtsXz0(1)
同じくN88-BASICは学校で触った程度
この経験が後年にバッチファイルを作るときに役立ってる
810: 名無しさん@お腹いっぱい。 [sage] 09/07(日)10:00 ID:hXWdbV720(1)
N88-BASICは高専の卒研でCGの基本をやった
ワイヤーフレームとかサーフェスモデルとか
ざっと40年前の話
811: 名無しさん@お腹いっぱい。 [] 09/08(月)19:53 ID:1NWJYSMt0(1)
同じようなことをラティスCでやって卒業した
812: 名無しさん@お腹いっぱい。 [sage] 09/08(月)20:32 ID:qZw2Vybe0(1)
何言ってっかさっぱり分かんねえは
813: 名無しさん@お腹いっぱい。 [sage] 09/08(月)21:00 ID:vfbB42Mg0(1)
昔Lattice CというCコンパイラがあってわりと主流だった時代もあったけど
MS-C(当初はLatice CのOEMだったけどどこかでマイクロソフト純正に切り替わった)とか
Turbo Pascalを作ったところが出したBorland Cとか、安価なPower Cとか
いろいろCコンパイラが出てきて主流から外れてしまったったんだっけかな。
一般的ではなかったけど組み込み機器に使われる intel Cというのあった。

おっちゃんが初めて触れたC言語のコンパイラはBDS-Cで、
intel i8080用のコードを出力するもので、intが8bitだった。
814: 名無しさん@お腹いっぱい。 [sage] 09/08(月)21:05 ID:amL9h0er0(1)
60歳ぐらいのおじいちゃんがスレにいたってことだけはわかった
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s