MISCELLANEOUS INFORMATION CONTROL RESET To make it run your program type this: 10 POKE 1010,102 20 POKE 1011,213 30 POKE 1012,112 To make it send you to MONITOR type this: POKE 1010,105 POKE 1011,255 CALL -1169 To make it BOOT DOS type this: POKE 592,0 POKE 1012,0 * Note: The origanal values are: PEEK(592) = 255 DivDos64k Norml PEEK(1010)= 3 60 191 PEEK(1011)= 224 191 157 PEEK(1012)= 69 26 56 VERY QUICK SORTING ROUTINE 1000 FOR I = 1 TO N - 1 : REM N = # OF ITEMS 1010 P = I 1020 FOR J = I + 1 TO N 1030 IF A(J) < A(P) THEN P = J 1040 NEXT J 1050 T = A(I) : A(I) = A(P) : A(P) = T 1060 NEXT I DOS MEMORY LOCATIONS LOCATION ! USE DESCRIPTION ------------+----------------------------------------------------------------+ $3D0 - $3D2 ! Re-enter DOS Vector $3F2 - $3F4 ! Reset Vector EX: POKE 1012,0 Reboots {Norm: 56} $3F5 - $3F7 ! Ampersand Vector. EX: POKE 1014,165:POKE 1015,214 -=> LIST ! EX: POKE 1014,110:POKE 1015,165 -=> CATALOG ! EX: POKE 1014,18 :POKE 1015,217 -=> RUN $3F8 - $3FA ! Crtl - Y Vector $A56E ! Catalog Routine. Also CALL 42350 $9E42 ! Greeting program RUN-FLAG {POKE 40514,X: 52=BRUN, 20=EXEC} $A884-$A907 ! DOS Commands $A972-$AA3E ! ERROR messages $A960-$AA61 ! Last BLOAD Lenght {LEN = PEEK (43616) + PEEK (43617) * 256} $AA72-$AA73 ! Last BLOAD START {STR = PEEK (43634) + PEEK (43635) * 256} $AA57 ! MAX Files Values $AAB1 ! Max files Default Value $AA68 ! Drive - Number EX: POKE 43624,DR DR= Drive for I/O $AA6A ! Slot - Number $AC01 ! Catalog Track number. $AE17 ! # Characters -1 in catalog file name. $B3A7-$B3AE ! File type codes $B3AF-$B3BA ! Disk Vol. Heading $B3C1 ! Disk Vol. Number $B3F0 ! Number of Sectors per Track DOS MISCELLANEOUS To defeat the "NOT DIRECT COMMAND" error type: POKE 51,0 : GOTO line # To kill the INIT command do: Poke 42309,96 or $A545:60 To kill the INIT command in normal DOS type: POKE 42309,96 or $A545:60 If you want a basic program to load in after HGR {more memory than LOMEM:16384} use this loader program: 10 POKE 16384,0 : POKE 104,64 : REM STARTING LOCATION OF PROGRAM 20 PRINT CHR$(4) "RUN PROGRAM" *Note:To put things back to normal use this program: 10 POKE 2048,0 : POKE 104,8 20 PRINT CHR$(4) "RUN OLD PROGRAM" If PEEK(-18070) = 150 then your using DOS 3.3 . POKE 40193,PEEK(40193)-N:CALL 42964...Move DOS buffers down N*256 bytes. POKE 44452,N+1:POKE 44605,N...........Allows N file names before Catalog pause POKE 44505,234:POKE 44579,234:POKE 44580,234...Cancels return after file names POKE 44578,234:POKE 44579,234:POKE 44580,234...Cancels catalog pause. POKE 44599,234:POKE 44600,234.........Wait for key input after every file name Here are some POKEs that turn on the DRIVES but do not READ or WRITE. These can be used as scare tactics. EX. PRINT "INITIALIZING DISK" : POKE -16151,0 POKE -16151,0........TURNS ON DRIVE 1 POKE -16135,0........TURNS ON DRIVE 2 POKE -16152,0........TURNS OFF DRIVE 1 POKE -16136,0........TURNS OFF DRIVE 2 To stop CATALOG for a key input after every file name type: POKE 44599,234 {NORM 208} POKE 44600,234 {NORM 8} To omit the pause after a full screen of CATALOG then type: $AE34:60 or POKE 44569,96 For WILDCARD DOS files useing "=" type: (from monitor) B201:4C 71 BA BA69:E8 B1 42 DD C6 B4 D0 0A C8 C0 1E D0 F3 AE 9C B3 18 60 C9 AD F0 F7 4C 0B B2 MISCELLANEOUS To make the program in memory run when any Syntax (but DOS commands) is typed then put this line in: 10 POKE 214,128 {Norm 0} PEEK (104).....If 8 is returned then APPLESOFT is in ROM. Any other value means APPLESOFT is in RAM or not available. POKE 2049,1....Repeatedly LISTs first line of program. CALL -856......TIME DELAY. POKE 69,XX to set amount of delay. CALL -1182.....Prints the Apple ][ across the top of your screen. POKE 49107,234:POKE 49108,234:POKE 49109,234...Prevents language card re-load. For "true" random number generation use RND(PEEK(78)+PEEK(79)*256). POKE 1912+SLOT,1 on APPLE PARALLEL CARD (with P1-02 PROM) will enable LINEFEED POKE 1912+SLOT,0 on APPLE PARALLEL CARD (with P1-02 PROM) => disable LINEFEEDS REMAINDER {Mod} type: R = X - (INT (X / Y) * Y) To ROUND to N digets past the decimal type: X = INT (X * (10^N) +.5) / (10^N) QUADRATIC formula : R1 = (-B + SQR (B^2 - 4 * A * C)) / (2 * A) R2 = (-B - SQR (B^2 - 4 * A * C)) / (2 * A) CONVERSIONS To change VOLUME # xxx to SECTORS FREE = xxx then type the following: ADC0:20 69 BA BB69:A9 00 85 40 85 41 A0 C8 18 B9 F2 B3 F0 0E 0A 90 FB 48 E6 40 D0 02 E6 41 68 18 90 F0 88 D0 E9 A6 40 A5 41 20 24 ED 60 B3AF:A0 BD A0 D4 C3 C5 D3 A0 C5 C5 D2 C6 If you own a //e then you can get the functions of an 80 col card (save 80 col) with out the card. Just type: POKE 49162,0 then type: PR#3 -END-