Search code examples
command-linecall8-bitapple-ii

CALL -151 What did it do on the APPLE ][


A long time ago I had an apple ][ .

I remember the command call – 151 But I can not remember what it did ?


Solution

  • CALL -151

    Enter the machine code monitor -

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

    Update:

    That link appears to be dead, here's a Wayback Machine alternative:

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

    Here's the full article just in case Wayback goes away:

    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