2008-09-27 17 views
21

बहुत समय पहले मेरे पास एक सेब था] [।कॉल -151 ऐप्पल पर यह क्या किया] [

मुझे कमांड कॉल याद है - 151 लेकिन मुझे याद नहीं है कि उसने क्या किया?

+0

अच्छे पुराने दिन! मैं केवल 7 वर्ष का था जब मैंने कॉल -151 कमांड के साथ खेलना शुरू किया। वास्तव में कभी नहीं पता था कि मैं क्या कर रहा था लेकिन यह अभी भी बहुत मजेदार था! :-) – z0mbi3

उत्तर

20

कॉल -151

मशीन कोड की निगरानी दर्ज -

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

अद्यतन:

:

वह लिंक मृत हो गया लगता है, यहाँ एक वेबैक मशीन विकल्प है

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

यहाँ पूरा लेख बस मामले में वेबैक चली जाती है:

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

      APPLE CALL, PEEK, POKE LIST 

------------------------------------------------------------------------------ 
CALL -144  SCAN THE INPUT BUFFER 
CALL -151  ENTER THE MONITOR NORMALLY 
CALL -155  ENTER THE MONITOR & SOUND BELL 
CALL -167  ENTER MONITOR AND RESET 
CALL -198  RING BELL (SIMULATE CONTROL G) 
CALL -211  PRINT "ERR" AND RING BELL 
CALL -259  READ FROM TAPE 
CALL -310  WRITE TO TAPE 
CALL -321  DISPLAYS A, S, Y, P, & S REGISTERS 
CALL -380  SET NORMAL VIDEO MODE 
CALL -384  SET INVERSE VIDEO MODE 
CALL -415  DISASSEMBLE 20 INSTRUCTIONS 
CALL -458  VERIFY (COMPARE & LIST DIFFERENCES) 

CALL -468  MEMORY MOVE AFTER POKING 60,61 OLD START - 62,63 OLD END 
          64,65 NEW END - 66,67 NEW STAR 

CALL -484  MOVE 
CALL -517  DISPLAY CHARACTER & UPDATE SCREEN LOCATION 
CALL -531  DISPLAY CHARACTER, MASK CONTROL CHAR., & SAVE 7 REG. & ACCU 
CALL -550  DISPLAY HEX VALUE OF A-REGISTER (ACCUMULATOR) 
CALL -656  RING BELL AND WAIT FOR A CARRIAGE RETURN 

CALL -657  GET LINE OF INPUT, NO PROMPT, NO L/F, & WAIT(COMMA,COLON OK 
CALL -662  GET LINE OF INPUT, WITH PROMPT, NO L/F, & WAIT 
CALL -665  GET LINE OF INPUT, WITH PROMPT, LINE FEED, & WAIT 
THE ABOVE 3 CALLS (-657, -662, -665) REFER TO THE INPUT BUFFER FROM 512-767 

CALL -715  GET CHARACTER 
CALL -756  WAIT FOR KEY PRESS 
CALL -856  TIME DELAY (POKE 69,XX TO SET TIME OF DELAY) 
CALL -868  CLEARS CURSOR LINE FROM CURSOR TO END OF LINE 
CALL -912  SCROLLS TEXT UP 1 LINE 
CALL -922  LINE FEED 
CALL -936  CLEAR SCREEN (HOME) 
CALL -958  CLEAR SCREEN FROM CURSOR TO BOTTOM OF SCREEN 
CALL -998  MOVES CURSOR UP 1 LINE 
CALL -1008 MOVES CURSOR BACKWARD 1 SPACE 
CALL -1024 DISPLAY CHARACTER ONLY 
CALL -1036 MOVES CURSOR FORWARD 1 SPACE 
CALL -1063 SEND BELL TO CURRENT OUTPUT DEVICE 
CALL -1216 TEXT & GRAPHICS MODE 
CALL -1233 MOVE CURSOR TO BOTTOM OF SCREEN 
CALL -1321 CONTROL E 
CALL -1717 MOVES CURSOR DOWN 5 LINES 
CALL -1840 DISASSEMBLE 1 INSTRUCTION 
CALL -1953 CHANGE COLOR BY +3 
CALL -1994 CLEAR LO-RES SCREEN (TOP 40 LINES) 
CALL -1998 CLEAR GRAPHIC SCREEN (LO-RES) 
CALL -2007 VERTICAL LINE 
CALL -2023 HORIZONTAL LINE 
CALL -2458 ENTER MINI ASSEMBLER 
CALL -3100 TURNS ON HIRES PAGE 1, WITHOUT CLEARING IT 
CALL -3776 SAVE INTEGER 
CALL -3973 LOAD INTEGER 
CALL -6090 RUN INTEGER 
CALL -8117 LIST INTEGER 
CALL -8189 ENTER BASIC & CONTINUE 
CALL -8192 ENTER BASIC AND RESET (INTEGER BASIC KILL) 
CALL -16303  TEXT MODE 
CALL -16304  GRAPHICS MODE 
CALL -16336  TOGGLE SPEAKER 
CALL 42350  CATALOGS DISK 
CALL 54915  CLEANS STACK, CLEARS THE "OUT OF MEMORY" ERROR 
CALL 64166  INITIATES A COLD START (BOOT OF THE DISK) 
CALL 64246  BRAND NEW-YOU FIGURE IT OUT 

CALL 64367  SCANS MEMORY LOC 1010 & 1011 & POKES VALUE INTO LOCATIONS 
      1012 THAT IS EQUAL TO (PEEK(1011)-165) 

------------------------------------------------------------------------------ 
PEEK 33  WIDTH OF TEXT WINDOW (1-40) 
PEEK 34  TOP EDGE OF TEXT WINDOW (0-22) 
PEEK 35  BOTTOM OF TEXT WINDOW (1-24) 
PEEK 36  HORIZONTAL CURSOR POSITION (0-39) 
PEEK 37  VERTICAL CURSOR POSITION (0-23) 
PEEK 43  BOOT SLOT X 16 (AFTER BOOT) 
PEEK 44  END POINT OF LAST HLIN, VLIN, OR PLOT 
PEEK 48  LO-RES COLOR VALUE X 17 

PEEK 50  TEXT OUTPUT FORMAT: 63=INVERSE 255=NORMAL 
      127=FLASH (WITH PEEK 243 SET TO 64) 

PEEK 51  PROMPT CHARACTER 
PEEK 74,75  LOMEM ADDRESS (INT) 
PEEK 76,77  HIMEM ADDRESS (INT) 
PEEK 103,104  FP PROGRAM STARTING ADDRESS 
PEEK 104  IF 8 IS RETURNED, THEN FP IS IN ROM 
PEEK 105,106  FP VARIABLE SPACE STARTING ADDRESS 
PEEK 107,108  FP ARRAY STARTING ADDRESS 
PEEK 109,110  FP END OF NUMERIC STORAGE ADDRESS 
PEEK 111,112  FP STRING STORAGE STARTING ADDRESS 
PEEK 115,116  FP HIMEM ADDRESS 
PEEK 117,118  FP LINE NUMBER BEING EXECUTED 
PEEK 119,120  FP LINE WHERE PROGRAM STOPPED 
PEEK 121,122  FP LINE BEING EXECUTED ADDRESS 
PEEK 123,124  LINE WHERE DATA BEING READ 
PEEK 125,126  DATA LOCATION ADDRESS 
PEEK 127,128  INPUT OR DATA ADDRESS 
PEEK 129,130  FP LAST USED VARIABLE NAME 
PEEK 131,132  FP LAST USED VARIABLE ADDRESS 
PEEK 175,176  FP END OF PROGRAM ADDRESS 
PEEK 202,203  INT PROGRAM STARTING ADDRESS 
PEEK 204,205  INT END OF VARIABLE STORAGE 
PEEK 214  FP RUN FLAG (AUTO-RUN IF >127) 
PEEK 216  ONERR FLAG (>127 IF ONERR IS ACTIVE) 
PEEK 218,219  LINE WHERE ONERR OCCURED 
PEEK 222  ONERR ERROR CODE 
PEEK 224,225  X-COORDINATE OF LAST HPLOT 
PEEK 226  Y-COORDINATE OF LAST HPLOT 
PEEK 228  HCOLOR VALUE 0=0 85=2 128=4 213=6 
       42=1 127=3 170=5 255=7 
PEEK 230  HI-RES PLOTING PAGE (32=PAGE 1 64=PAGE 2 96=PAGE 3) 
PEEK 231  SCALE VALUE 
PEEK 232,233  SHAPE TABLE STARTING ADDRESS 
PEEK 234  HI-RES COLLISION COUNTER 
PEEK 241  256 MINUS SPEED VALUE 
PEEK 243  FLASH MASK (64=FLASH WHEN PEEK 50 SET TO 127) 
PEEK 249  ROT VLAUE 
PEEK 976-978  DOS RE-ENTRY VECTOR 
PEEK 1010-1012 RESET VECTOR 
PEEK 1013-1015 AMPERSAND (&) VECTOR 
PEEK 1016-1018 CONTROL-Y VECTOR 
PEEK 43140-43271 DOS COMMAND TABLE 
PEEK 43378-43582 DOS ERROR MESSAGE TABLE 
PEEK 43607  MAXFILES VALUE 
PEEK 43616,46617 LENGTH OF LAST BLOAD 
PEEK 43624  DRIVE NUMBER 
PEEK 43626  SLOT NUMBER 
PEEK 43634,43635 STARTING ADDRESS OF LAST BLOAD 
PEEK 43697  MAXFILES DEFAULT VALUE 
PEEK 43698  DOS COMMAND CHARACTER 
PEEK 43702  BASIC FLAG (0=INT 64=FP ROM 128=FP RAM) 
PEEK 44033  CATALOG TRACK NUMBER (17 IS STANDARD) 
PEEK 44567  NUMBER OF CHARACTERS MINUS 1 IN CATALOG FILE NAMES 
PEEK 44611  NUMBER OF DIGITS MINUS 1 IN SECTOR AND VOLUME NUMBERS 
PEEK 45991-45998 FILE-TYPE CODE TABLE 
PEEK 45999-46010 DISK VOLUME HEADING 
PEEK 46017  DISK VOLUME NUMBER 
PEEK 46064  NUMBER OF SECTORS (13=DOS 3.2 16=DOS 3.3) 
PEEK 49152  READ KEYBOARD (IF >127 THEN KEY HAS BEEN PRESSED 
PEEK 49200  TOGGLE SPEAKER (CLICK) 
PEEK 49248  CASSETTE INPUT (>127=BINARY 1, 127 IF BUTTON PRESSED) 
PEEK 49250  PADDLE 1 BUTTON (>127 IF BUTTON PRESSGD) 
PEEK 49251  PADDLE 2 BUTTON (>127 IF BUTTON PRESSED) 
PEEK 49252  READ GAME PADDLE 0 (0-255) 
PEEK 49253  READ GAME PADDLE 1 (0-255) 
PEEK 49254  READ GAME PADDLE 2 (0-255) 
PEEK 49255  READ GAME PADDLE 3 (0-255) 
PEEK 49408  READ SLOT 1 
PEEK 49664  READ SLOT 2 
PEEK 49920  READ SLOT 3 
PEEK 50176  READ SLOT 4 
PEEK 50432  READ SLOT 5 
PEEK 50688  READ SLOT 6 (162=DISK CONROLLOR CARD) 
PEEK 50944  READ SLOT 7 

PEEK 64899  INDICATES WHICH COMPUTER YOU'RE USING 
      223=APPLE II OR II+, 234=FRANKLIN ACE OR ?, 255=APPLE IIE 

POKE 33,33  SCRUNCH LISTING AND REMOVE SPACES IN QUOTE STATEMENTS 
POKE 36,X USE AS PRINTER TAB (X=TAB - 1) 
POKE 50,128  MAKES ALL OUTPUT TO THE SCREEN INVISIBLE 
POKE 50,RANDOM SCRAMBLES OUTPUT TO SCREEN 
POKE 51,0 DEFEATS "NOT DIRECT COMMAND", SOMETIMES DOESN'T WORK 
POKE 82,128  MAKE CASETTE PROGRAM AUTO-RUN WHEN LOADED 
POKE 214,255  SETS RUN FLAG IN FP & ANY KEY STROKES WILL RUN DISK PROGRA 
POKE 216,0  CANCEL ONERR FLAG 

POKE 1010,3  SETS THE RESET VECTOR TO INITIATE 
POKE 1011,150 A COLD START (BOOT) 

POKE 1010,102 MAKE 
POKE 1011,213 RESET 
POKE 1012,112 RUN 

POKE 1014,165 SETS THE AMPERSAND (&) VECTOR 
POKE 1015,214 TO LIST YOUR PROGRAM 

POKE 1014,110 SETS THE AMPERSAND (&) VECTOR 
POKE 1015,165 TO CATALOG A DISK 

POKE 1912+SLOT,1 ON APPLE PARALLEL CARD (WITH P1-02 PROM) WILL ENABLE L/F'S 
POKE 1912+SLOT,0 ON APPLE PARALLEL CARD (WITH P1-02 PROM) WILL ENABLE L/F'S 

POKE 2049,1  THIS WILL CAUSE THE FIRST LINE OF PROGRAM TO LIST REPEATEDLY 
POKE 40514,20 ALLOWS TEXT FILE GREETING PROGRAM 
POKE 40514,52 ALLOWS BINARY FILE GREETING PROGRAM 

POKE 40993,24 THIS ALLOWS 
POKE 40994,234 DISK COMMANDS IN 
POKE 40995,234 THE DIRECT MODE 

POKE 42319,96 DISABLES THE INIT COMMAND 

POKE 42768,234 CANCEL ALL 
POKE 42769,234 DOS ERROR 
POKE 42770,234 MESSAGES 
POKE 43624,X  SELECTS DISK DRIVE WITHOUT EXECUTING A COMMAND (48K SYSTEM) 

POKE 43699,0  TURNS AN EXEC FILE OFF BUT LEAVES IT OPEN UNTIL A FP, CLOSE 
POKE 43699,1  TURNS AN EXEC FILE BACK ON.  INIT, OR MAXFILES IS ISSUE 

POKE 44452,24 ALLOWS 20 FILE NAMES (2 EXTRA) 
POKE 44605,23 BEFORE CATALOG PAUSE 

POKE 44505,234 REVEALS DELETED FILE 
POKE 44506,234 NAMES IN CATALG 

POKE 44513,67 CATALOG WILL RETURN ONLY LOCKED FILES 
POKE 44513,2  RETURN CATALOG TO NORMAL 
POKE 44578,234 CANCEL CARRIAGE 
POKE 44579,234 RETURNS AFTER CATALOG 
POKE 44580,234 FILE NAMES 

POKE 44596,234 CANCEL 
POKE 44597,234 CATALOG-STOP 
POKE 44598,234 WHEN SCREEN IS FULL 

POKE 44599,234 STOP CATALOG AT EACH FILE 
POKE 44600,234 NAME AND WAIT FOR A KEYPRESS 

POKE 46922,96 THIS ALLOWS DISK 
POKE 46923,234 INITIALATION 
POKE 46924,234 WITHOUT PUTTING 
POKE 44723,4  DOS ON THE DISK 

POKE 49107,234 PREVENT LANGUAGE 
POKE 49108,234 CARD FROM LOADING 
POKE 49109,234 DURING RE-BOOT 

POKE 49168,0  CLEAR KEYBOARD 
POKE 49232,0  DISPLAY GRAPHICS 
POKE 49233,0  DISPLAY TEXT 
POKE 49234,0  DISPLAY FULL GRAPHICS 
POKE 49235,0  DISPLAY TEXT/GRAPHICS 
POKE 49236,0  DISPLAY GRAPHICS PAGE 1 
POKE 49237,0  DISPLAY GRAPHICS PAGE 2 
POKE 49238,0  DISPLAY LORES 
POKE 49239,0  DISPLAY HIRES 
------------------------------------------------------------------------------ 

       48K MEMORY MAP 

    DECIMAL HEX   USAGE 
------------------------------------------------------------------------------ 
    0-255 $0-$FF  ZERO-PAGE SYSTEM STORAGE 
    256-511  $100-$1FF SYSTEM STACK 
    512-767  $200-$2FF KEYBOARD CHARACTER BUFFER 
    768-975  $300-$3CF OFTEN AVAILABLE AS FREE SPACE FOR USER PROGRAMS 
    976-1023  $3D0-3FF  SYSTEM VECTORS 
1024-2047  $400-$7FF TEXT AND LO-RES GRAPHICS PAGE 1 
2048-LOMEM $800-LOMEM PROGRAM STORAGE 
2048-3071  $800-$BFF TEXT AND LO-RES GRAPHICS PAGE 2 OR FREE SPACE 
3072-8191  $C00-$1FFF FREE SPACE UNLESS RAM APPLESOFT IS IN USE 
8192-16383 $2000-$3FFF HI-RES PAGE 1 OR FREE SPACE 
16384-24575 $4000-$5FFF HI-RES PAGE 2 OR FREE SPACE 
24576-38999 $6000-$95FF FREE SPACE AND STRING STORAGE 
38400-49151 $9600-$BFFF DOS 
49152-53247 $C000-$CFFF I/O HARDWARE (RESERVED) 
53248-57343 $D000-$DFFF APPLESOFT IN LANGUAGE CARD OR ROM 
57344-63487 $E000-$F7FF APPLESOFT OR INTEGER BASIC IN LANGUAGE CARD OR ROM 
63488-65535 $F800-$FFFF SYSTEM MONITOR 


PEEK: TO EXAMINE ANY MEMORY LOCATION L, PRINT PEEK (L), WHERE L IS A DECIMAL 
NUMBER 0-65535. TO PEEK AT A TWO-BYTE NUMBER AT CONSEQUTIVE LOCATIONS L AND 
L+1, PRINT PEEK (L) + PEEK (L+1) * 256 

POKE: TO ASSIGN A VALUE X (0-255) TO LOCATION L; POKE L,X. TO POKE A TWO-BYT 
NUMBER (NECESSARY IF X>255), POKE L,X-INT(X/256)*256, AND POKE L+1,INT(X/256). 

CALL: TO EXECUTE A MACHINE LANGUAGE SUB ROUTINE AT LOCATION L, CALL L. 


JUST FOR FUN TRY THIS: POKE 33,90. THEN TRY LISTING YOUR PROGRAM. OR TRY: 
0,99 OR POKE 50,250 OR POKE 50,127. USE RESET TO RETURN TO NORMAL. 

FOR TRUE RANDOM NUMBER GENERATION TRY THIS:X= RND(PEEK(78)+PEEK(79)*256) 

TO LOCATE THE STARTING ADDRESS OF THE LAST BLOADED FILE USE: PEEK(-21902)+PEEK 
(-21901)*256 (RESULT IS IN HEX) 

TO DETERMINE THE LENGTH OF THE LAST BLOADED FILE USE: PEEK(-21920)+PEEK(-21919 
*256 (RESULT IS IN HEX) 

TO DETERMINE THE LINE NUMBER THAT CAUSED AN ERROR TO OCCUR, SET X TO: PEEK(218 
+PEEK(219)*256 

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

E-Mail Fredric L. Rice/The Skeptic Tank 

+0

यूप, कॉल -151 ने मशीन कोड मॉनीटर को ठीक से दर्ज किया, लेकिन फ्लॉपी को बूट करने के लिए PR # 6 और IN # 6 का उपयोग करने के बीच क्या अंतर था? –

+0

यदि आप पीआर # 6 टाइप करते हैं जो स्लॉट 6 के लिए बूटस्ट्रैप कोड लोड करेगा, जो डिस्क ड्राइव था, यदि आप पहले से ही असेंबलर में थे, तो आप C600G टाइप कर सकते हैं, जो समान बूटस्ट्रैप कोड को PR # 6 के रूप में लोड करना प्रारंभ कर देगा । "बेनेथ ऐप्पल डॉस" पुस्तक का स्रोत स्रोत –

+0

मुझे लगता है कि 'एलिट' वह है जो आप कर रहे हैं। –

1

क्रिकी, कि अतीत से एक विस्फोट है। मुझे लगता है कि यह मॉनिटर रोम में प्रवेश किया गया था (मैं इस और इंटीजर बेसिक के बीच फाड़ा गया था लेकिन मुझे यकीन है कि यह मॉनीटर था)।

आप एक ऐप्पल II एमुलेटर डाउनलोड कर सकते हैं और पता लगा सकते हैं।

11

कॉल -151 मॉनिटर में प्रवेश करता है, 3D0G आपको वापस बेसिक में लाता है, और मॉनीटर में स्लॉट # टाइप करके उसके बाद Ctrl-P उस डिवाइस को बूट करेगा। आश्चर्यजनक है कि 20 साल बाद क्या याद आता है!

+0

यह भी मजाकिया है कि जब युवा, एक नई रोशनी में देखा जाता है, अचानक चीजें समझ में आती हैं। मुझे कॉल -155 के बारे में पता नहीं था। अगर छह साल के बच्चे ने मुझे देखा था, तो उसने सोचा होगा कि यह सिर्फ एक और जादू नंबर था। एन-वर्षीय मैं कहता हूं "ओह, ज़ाहिर है। क्योंकि यह चार बाइट्स ऊंचा है; यह शायद घंटी बजने के लिए नियमित रूप से गिर जाता है, फिर मॉनीटर के शीर्ष पर तुरंत लौटता है और उठाता है। मूल गिरावट।" – fixermark

1

मैं भी जोड़ सकते हैं -151 सेब है] [व्यक्त हेक्स संख्या के की तरह से जो $ FF69 (हेक्स वाक्य रचना एप्पल II अर्थात 0xFF68 में प्रयुक्त) मतलब यह होना चाहिए। कॉल एक ऐप्पल बेसिक कमांड है जो तर्क द्वारा दिए गए असेंबली सबराउटिन को आमंत्रित करता है (-151 यहां)। आईआईआरसी, यह आदेश 2 के पूरक व्याख्या का उपयोग कर $ 8000- $ एफएफएफएफ के बीच पते के लिए नकारात्मक दशमलव मान के रूप में एक पता स्वीकार कर सकता है।

इतिहास में रुचि रखने वालों के लिए, यहां ऐप्पल] [मॉनिटर रोम लिस्टिंग (6502 असेंबली में) है और पता है कि एफएफ 6 9 में लेबल मॉन्ज़ है जो कमांड प्रॉम्प्ट की शुरुआत है जो मशीन कोड प्रोसेसिंग को संसाधित करता है उपयोगकर्ता से आदेश। एक जो प्रॉम्प्ट के रूप में '*' का उपयोग करता है। एक बहुत ही प्राचीन कमांड प्रॉम्प्ट।

Apple II System Monitor

+0

कुछ रोम में $ F666 पर स्थित एक प्राथमिक मिनी-असेंबलर भी है। –

संबंधित मुद्दे