25

昔、私はりんごを持っていました][。

コマンド コールを覚えています – 151 しかし、それが何をしたか思い出せません ?

4

5 に答える 5

25

コール -151

マシンコードモニターに入ります -

http://www.skepticfiles.org/cowtext/apple/memorytx.htm

アップデート:

そのリンクは無効になっているようです。Wayback Machine の代替手段は次のとおりです。

http://web.archive.org/web/20090315100335/http://www.skepticfiles.org/cowtext/apple/memorytx.htm

Wayback がなくなった場合に備えて、記事全文を次に示します。

APPLE CALL、PEEK、POKE LIST CALL 144 SCAN THE INPUT BUFFER CALL 151 ENTER THE MONITOR NORM

            APPLE CALL、PEEK、POKE LIST

-------------------------------------------------- ----------------------------
CALL -144 入力バッファのスキャン
CALL -151 モニターに正常に入る
-155 に電話してください モニターに入ってベルを鳴らしてください
CALL -167 モニターに入ってリセット
CALL -198 ベルを鳴らす (SIMULATE CONTROL G)
CALL -211 PRINT "ERR" とベルを鳴らす
CALL -259 テープから読み取る
CALL -310 テープへの書き込み
CALL -321 ディスプレイ A、S、Y、P、および S レジスタ
CALL -380 通常のビデオモードを設定
CALL -384 反転ビデオ モードを設定
-415 に電話してください 20 の指示を分解してください
CALL -458 VERIFY (比較 & リストの違い)

CALL -468 突き刺した後のメモリ移動 60,61 OLD START - 62,63 OLD END
                          64,65 NEW END - 66,67 NEW STAR

CALL -484 MOVE
CALL -517 表示文字と更新画面の場所
CALL -531 DISPLAY CHARACTER, MASK CONTROL CHAR., & SAVE 7 REG. & ACCU
CALL -550 A レジスタの 16 進数値を表示 (アキュムレータ)
-656 を呼び出してベルを鳴らし、キャリッジ リターンを待ちます

CALL -657 GET LINE OF INPUT, NO PROMPT, NO L/F, & WAIT(COMMA,COLOON OK)
CALL -662 GET LINE OF INPUT、プロンプトあり、L/F なし、待機
CALL -665 GET LINE OF INPUT、WITH PROMPT、LINE FEED、および WAIT
上記の 3 つの呼び出し (-657、-662、-665) は、512-767 からの入力バッファを参照します。

CALL -715 GET CHARACTER
CALL -756 キーが押されるのを待つ
CALL -856 TIME DELAY (69、XX を押して遅延時間を設定)
CALL -868 は、カーソルから行末までのカーソル行をクリアします
CALL -912 テキストを 1 行上にスクロール
CALL -922 改行
CALL -936 クリアスクリーン (ホーム)
CALL -958 カーソルから画面の一番下まで画面をクリア
CALL -998 カーソルを 1 行上に移動
CALL -1008 カーソルを後方に 1 スペース移動
CALL -1024 表示文字のみ
CALL -1036 はカーソルを 1 スペース分前方に移動します
CALL -1063 現在の出力デバイスにベルを送信
CALL -1216 テキスト & グラフィックモード
CALL -1233 カーソルを画面の一番下に移動
CALL -1321 コントロール E
CALL -1717 はカーソルを 5 行下に移動します
CALL -1840 分解 1 指示
CALL -1953 CHANGE COLOR BY +3
CALL -1994 CLEAR LO-RES SCREEN (上位 40 行)
CALL -1998 クリア グラフィック画面 (LO-RES)
CALL -2007 垂直線
CALL -2023 水平線
CALL -2458 ミニ アセンブラを入力してください
CALL -3100 採用ページ 1 をクリアせずにオンにする
CALL -3776 SAVE INTEGER
CALL -3973 LOAD INTEGER
CALL -6090 RUN INTEGER
CALL -8117 リスト整数
CALL -8189 基本入力して続行
CALL -8192 BASIC を入力してリセット (INTEGER BASIC KILL)
CALL -16303 テキストモード
CALL -16304 グラフィックス モード
CALL -16336 トグルスピーカー
CALL 42350 カタログ ディスク
CALL 54915 はスタックをクリーンアップし、「メモリ不足」エラーをクリアします
CALL 64166 がコールド スタートを開始する (ディスクの起動)
64246 に電話してください。

CALL 64367 はメモリ LOC 1010 と 1011 をスキャンし、値を場所に突き刺します
           (PEEK(1011)-165) に等しい 1012

-------------------------------------------------- ----------------------------
PEEK 33 テキストウィンドウの幅 (1-40)
PEEK 34 テキストウィンドウの上端 (0-22)
PEEK 35 テキスト ウィンドウの下部 (1-24)
PEEK 36 水平カーソル位置 (0-39)
PEEK 37 垂直カーソル位置 (0-23)
PEEK 43 ブートスロット X 16 (ブート後)
PEEK 44 最後の HLIN、VLIN、またはプロットの終点
PEEK 48 低解像度カラー値 X 17

PEEK 50 テキスト出力フォーマット: 63=反転 255=ノーマル
           127=フラッシュ (PEEK 243 を 64 に設定)

PEEK 51 プロンプト文字
PEEK 74,75 LOMEM アドレス (INT)
PEEK 76,77 HIMEM アドレス (INT)
PEEK 103,104 FP プログラム開始アドレス
PEEK 104 8 が返された場合、FP は ROM にある
PEEK 105,106 FP 可変スペース開始アドレス
PEEK 107,108 FP アレイ開始アドレス
PEEK 109,110 FP 数値記憶域アドレスの終わり
PEEK 111,112 FP 文字列ストレージ開始アドレス
PEEK 115,116 FP HIMEM アドレス
PEEK 117,118 FP 回線番号が実行されています
PEEK 119,120 FP ラインでプログラムが停止した場所
PEEK 121,122 FP 回線が実行中のアドレス
PEEK 123,124 データが読み取られる行
PEEK 125,126 データ ロケーション アドレス
PEEK 127,128 入力またはデータ アドレス
PEEK 129,130​​ FP 最後に使用した変数名
PEEK 131,132 FP 最後に使用された変数アドレス
PEEK 175,176 FP プログラム終了アドレス
PEEK 202,203 INT プログラム開始アドレス
PEEK 204,205 INT 可変ストレージの終わり
PEEK 214 FP RUN フラグ (オートラン IF >127)
PEEK 216 ONERR フラグ (ONERR がアクティブの場合は >127)
PEEK 218,219 LINE ONERR が発生した場所
PEEK 222 ONERR エラー コード
PEEK 224,225 最後の HPLOT の X 座標
PEEK 226 最後の HPLOT の Y 座標
ピーク 228 HCOLOR 値 0=0 85=2 128=4 213=6
                42=1 127=3 170=5 255=7
PEEK 230 高解像度プロット ページ (32=ページ 1 64=ページ 2 96=ページ 3)
PEEK 231 スケール値
PEEK 232,233 形状テーブル開始アドレス
PEEK 234 高解像度衝突カウンター
PEEK 241 256 マイナス速度値
PEEK 243 フラッシュ マスク (64=PEEK 50 が 127 に設定されている場合にフラッシュ)
PEEK 249 ROT VLAUE
PEEK 976-978 DOS 再突入ベクトル
PEEK 1010-1012 リセット ベクトル
PEEK 1013-1015 アンパサンド (&) ベクトル
PEEK 1016-1018 コントロール Y ベクトル
PEEK 43140-43271 DOS コマンド表
PEEK 43378-43582 DOS エラー メッセージ テーブル
ピーク 43607 MAXFILES 値
PEEK 43616,46617 最後の BLOAD の長さ
ピーク 43624 ドライブ番号
ピーク 43626 スロット番号
PEEK 43634,43635 最後の BLOAD の開始アドレス
PEEK 43697 MAXFILES のデフォルト値
PEEK 43698 DOS コマンド文字
PEEK 43702 基本フラグ (0=INT 64=FP ROM 128=FP RAM)
PEEK 44033 カタログ トラック番号 (17 が標準)
PEEK 44567 カタログ ファイル名の文字数マイナス 1
PEEK 44611 セクター番号とボリューム番号の桁数マイナス 1
PEEK 45991-45998 ファイル タイプ コード テーブル
PEEK 45999-46010 ディスク ボリューム ヘッダー
PEEK 46017 ディスク ボリューム番号
PEEK 46064 セクター数 (13=DOS 3.2 16=DOS 3.3)
PEEK 49152 READ KEYBOARD (IF >127 THEN KEY HAS BEEN PRESSED)
PEEK 49200 トグルスピーカー (クリック)
PEEK 49248 カセット入力 (>127=BINARY 1、ボタンを押すと 127)
PEEK 49250 パドル 1 ボタン (>127 IF ボタン PRESSGD)
PEEK 49251 パドル 2 ボタン (ボタンを押すと >127)
PEEK 49252 読み取りゲーム パドル 0 (0-255)
PEEK 49253 読み取りゲーム パドル 1 (0-255)
PEEK 49254 読み取りゲーム パドル 2 (0-255)
ピーク 49255 読み取りゲーム パドル 3 (0-255)
PEEK 49408 読み取りスロット 1
PEEK 49664 読み取りスロット 2
PEEK 49920 読み取りスロット 3
PEEK 50176 読み取りスロット 4
PEEK 50432 読み取りスロット 5
PEEK 50688 読み取りスロット 6 (162=ディスク コントローラー カード)
PEEK 50944 読み取りスロット 7

PEEK 64899 は、使用しているコンピューターを示します
           223=アップル II または II+、234=フランクリン エースまたは?、255=アップル IIE

POKE 33,33 リストをスクランチし、引用文のスペースを削除する
POKE 36,X プリンタータブとして使用 (X=TAB - 1)
POKE 50,128 は、画面へのすべての出力を非表示にします
POKE 50、RANDOM SCRAMBLES 出力から画面へ
POKE 51,0 が「NOT DIRECT COMMAND」を無効にし、時々機能しない
POKE 82,128 ロード時にカセットプログラムを自動実行する
POKE 214,255 は FP で実行フラグを設定し、任意のキーストロークでディスクプログラムを実行します
POKE 216,0 ONERR フラグをキャンセル

POKE 1010,3 は、リセット ベクタを開始するように設定します。
POKE 1011,150 コールド スタート (ブート)

ポケ 1010,102 メイク
ポケ 1011,213 リセット
ポケ 1012,112 ラン

POKE 1014,165 はアンパサンド (&) ベクトルを設定します
あなたのプログラムをリストするために1015,214を突く

POKE 1014,110 アンパサンド (&) ベクトルを設定
ディスクをカタログ化するために1015,165を突く

POKE 1912+SLOT,1 on APPLE Parallel Card (P1-02 PROM 付き) は L/F を有効にします
APPLE パラレル カード (P1-02 PROM を使用) の POKE 1912+SLOT,0 は L/F を有効にします

POKE 2049,1 これにより、プログラムの最初の行が繰り返しリストされます
POKE 40514,20 は、テキスト ファイルのグリーティング プログラムを許可します
POKE 40514,52 はバイナリ ファイルのグリーティング プログラムを許可します

POKE 40993,24 これで可能
40994,234 個のディスク コマンドを挿入
POKE 40995,234 ダイレクトモード

POKE 42319,96 は INIT コマンドを無効にします

POKE 42768,234 すべてキャンセル
POKE 42769,234 DOS エラー
ポケ 42770,234 メッセージ
POKE 43624,X は、コマンドを実行せずにディスク ドライブを選択する (48K システム)

POKE 43699,0はEXECファイルをオフにしますが、FP、CLOSEまで開いたままにします
POKE 43699,1 は、EXEC ファイルをオンに戻します。INIT、または MAXFILES が問題です

POKE 44452,24 は 20 個のファイル名を許可します (2 個の追加)
カタログの一時停止前に 44605,23 を突く

POKE 44505,234 は削除されたファイルを明らかにします
カタログ内の 44506,234 の名前を突く

POKE 44513,67 カタログはロックされたファイルのみを返します
POKE 44513,2 カタログを通常に戻す
POKE 44578,234 キャリッジをキャンセル
ポケ 44579,234 カタログの後に返品
Poke 44580,234 ファイル名

ポケ 44596,234 キャンセル
POKE 44597,234 カタログストップ
画面がいっぱいのときに 44598,234 を突く

POKE 44599,234 各ファイルでカタログを停止
Poke 44600,234 NAME とキープレスの待機

POKE 46922,96 これはディスクを許可します
POKE 46923,234 初期化
入れずにポケ 46924,234
ディスク上の POKE 44723,4 DOS

POKE 49107,234 言語を防ぐ
POKE 49108,234 読み込み中のカード
再起動中に 49109,234 を突く

POKE 49168,0 クリアキーボード
POKE 49232,0 表示グラフィックス
POKE 49233,0 表示テキスト
POKE 49234,0 フルグラフィックスを表示
POKE 49235,0 表示テキスト/グラフィックス
POKE 49236,0 ディスプレイ グラフィック ページ 1
POKE 49237,0 ディスプレイ グラフィック ページ 2
ポケ 49238,0 表示伝承
POKE 49239,0 ディスプレイ採用
-------------------------------------------------- ----------------------------

                48Kメモリマップ

   10 進数 16 進数の使用法
-------------------------------------------------- ----------------------------
    0-255 $0-$FF ゼロページシステムストレージ
  256-511 $100-$1FF システム スタック
  512-767 $200-$2FF キーボード キャラクター バッファー
  768-975 $300-$3CF 多くの場合、ユーザー プログラム用の空きスペースとして利用可能
  976-1023 $3D0-3FF システム ベクトル
 1024-2047 $400-$7FF テキストと低解像度グラフィック ページ 1
 2048-LOMEM $800-LOMEM プログラム ストレージ
 2048-3071 $800-$BFF テキストおよび低解像度グラフィックス ページ 2 または空きスペース
 3072-8191 $C00-$1FFF RAM APPLESOFT が使用されていない場合の空き容量
 8192-16383 $2000-$3FFF 高解像度ページ 1 または空きスペース
16384-24575 $4000-$5FFF 高解像度ページ 2 または空きスペース
24576-38999 $6000-$95FF 空き容量と文字列ストレージ
38400-49151 $9600-$BFFF DOS
49152-53247 $C000-$CFFF I/O ハードウェア (予約済み)
53248-57343 $D000-$DFFF APPLESOFT IN LANGUAGE カードまたは ROM
57344-63487 $E000-$F7FF APPLESOFT または INTEGER BASIC IN LANGUAGE カードまたは ROM
63488-65535 $F800-$FFFF システムモニター


PEEK: 任意のメモリ ロケーション L を調べるには、PEEK (L) を印刷します。ここで、L は 10 進数です
番号 0 ~ 65535。連続する位置 L で 2 バイトの数字を覗くには
L+1、印刷ピーク (L) + ピーク (L+1) * 256

POKE: 値 X (0-255) をロケーション L に割り当てます。ポケL、X。TWO-BYT を突くには
NUMBER (X>255 の場合に必要)、POKE L,X-INT(X/256)*256、および POKE L+1,INT(X/256)。

CALL: ロケーション L で機械語サブルーチンを実行するには、CALL L を呼び出します。


楽しみのために、これを試してみてください: POKE 33,90. 次に、プログラムをリストしてみてください。または試してください:
0,99 またはポーク 50,250 またはポーク 50,127。通常に戻すにはリセットを使用してください。

真の乱数生成のために、これを試してください:X= RND(PEEK(78)+PEEK(79)*256)

最後の BLOADED ファイルの開始アドレスを見つけるには、PEEK(-21902)+PEEK を使用します。
(-21901)*256 (結果は 16 進数)

最後の BLOADED ファイルの長さを決定するには: PEEK(-21920)+PEEK(-21919)
*256 (結果は 16 進数)

エラーが発生した原因となった行番号を特定するには、X を次のように設定します: PEEK(218
+PEEK(219)*256

-------------------------------------------------- ----------------------------

フレドリック・L・ライス / 懐疑的なタンク

于 2008-09-27T10:37:13.857 に答える
11

Call -151 でモニターに入り、3D0G で BASIC に戻り、モニターでスロット # を入力してから Ctrl-P を入力すると、そのデバイスが起動します。20年経った今でも覚えてるってすごい!

于 2010-03-29T01:55:19.723 に答える
2

また、-151 は Apple ][ の 16 進数の表現方法であり、これは $FF69 (Apple II で使用される 16 進数の構文、つまり 0xFF68) を意味するはずです。CALL は、引数 (ここでは -151) で指定されたアセンブリ サブルーチンを呼び出す Apple Basic コマンドです。IIRC、このコマンドは、2 の補数解釈を使用して、$8000 から $FFFF の間のアドレスの負の 10 進値としてアドレスを受け入れることができます。

歴史に興味のある方は、Apple ][ のモニター ROM リスト (6502 アセンブリ内) をご覧ください。アドレス $FF69 には、ユーザーからのマシン コード処理コマンドを処理するコマンド プロンプトの開始である MONZ というラベルが付いています。プロンプトとして「*」を使用するもの。非常に原始的なコマンド プロンプト。

Apple II システム モニター

于 2015-11-04T13:02:33.123 に答える
1

クリキー、それは過去からの爆発です。モニターROMに入ったと思います(これとInteger BASICの間で引き裂かれましたが、モニターだったと確信しています)。

Apple II エミュレーターをダウンロードして調べることができます。

于 2008-09-27T10:38:44.617 に答える