/ \ < INSPECTOR DOCUMENTATION > \__________________________________/ THE INSPECTOR IS A UTILITY WHICH ENABLES ONE TO INSPECT EITHER MEMORY IN THE APPLE OR ON A DISK. THE DISK BEING EXAMINED CAN BE EITHER NORMAL OR ABNORMAL DOS. IT COMES IN 2 FORMS: AND EPROM WHICH IS PLUGGED INTO AN INTEGER CARD, OR AS A PROGRAM WHICH IS LOADED INTO THE LANGUAGE CARD. INSTALLATION OF EPROM: ---------------------- I AM NO GOING TO GET INTO THE EXACT DETAILS OF PLUGGING IN A CHIP BUT BASICALLY, ON THE APPLE II (NOT +!) THE INSPECTOR REPLACES THE D8 ROM ON THE MOTHERBOARD. ON THE II+ WITH INTEGER CARD, THE CHIP REPLACES THE D8 ON THE INTEGER CARD. MAKE SURE THAT THE CHIP IS ORIENTED CORRECTLY, WITH THE NOTCH FORWARD (OR UP, AS ON THE INTEGER CARD) WITH THE DISK VERSION, BOOT A MASTER. INSERT INSPECTOR DISK AND TYPE "RUN INSPECTOR" THEN YOU WILL BE PROMPTED WITH: DO YOU WISH TO MODIFY 1) DOS 3.3 BASICS OR 2) DOS 3.3 SYSTEM MASTER DEPENDING ON WHAT DISK YOU ARE MODIFYING, INSERT IT AND HIT THAT'S ALL THERE IS TO IT. ACCESSING THE INSPECTOR: ------------------------ STANDARD APPLE II: FROM TO TYPE -------------------------------- INTEGER INSPEC. CALL -10240 MONITOR INSPEC. C081 N D800G APPLESOFT INSPEC. CALL-151 C081 N D800G APPLE II+ WITH INT CARD OR LANG CARD FROM TO TYPE -------------------------------- INTEGER INSPEC. CALL -10240 MONITOR INSPEC. C080 N D800G APPLESOFT INSPEC. CALL-151 C080 N D800G ONCE THE INSPECTOR IS INITIALIZED, YOU CAN GO IT WITH THE FOLLOWING: FROM TO TYPE -------------------------------- INTEGER INSPEC. CALL -10240 APPLESOFT INSPEC. & MONITOR INSPEC. THE DISPLAY: ------------ WHEN THE INSPECTOR IS ACCESSED, THE FOLLOWING WILL BE DISPLAYED: TRACK 00 SECTOR 0 SLOT 6 DRIVE 1 BUFFER 0800 DOS 16 VER ??? ======================================= AND THEN A BLACK SCREEN.... ALONG THE TOP OF THE SCREEN, HEX DIGITS 0-F ARE DISPLAYED ALONG WITH THE SAME DIGITS ON THE LEFT SIDE OF THE SCREEN. TO FIND A SPECFIC BYTE, JUST ADD THE DIGTS TOGETHER. FOR INSTANCE, TO FIND BYTE 7D, LOOK IN ROW 7 AND COLUMND D. DISK COMMANDS: -------------- V: DOS VERSION SWITCHES BETWEEN 13 AND 16 SECTOR DOS P: PERIPHERAL SLOT SELECTS THGE SLOT OF THE DISK CONTROLLER CARD D: DRIVE NUMBER TOGGLES THE DRIVE TO BE ACCESSED T: SELECTS THE TRACK THAT YOU WANT TO READ OR WRITE S: SELECTS THE SECTOR THAT YOU WANT TO READ OR WRITE NOTE: TRACK, SECTOR, AND BUFFER INFORMATION ARE IN HEX R: READ CAUSES THE TRACK/SECTOR WHICH YOU HAVE DESIGNATED TO BE READ (ERRORS ENCOUNTERED WILL BE DISPLAYED IN THE UPPER RIGHT HAND PORTION OF THE SCREEN) ;: SCAN FORWARD CAUSES THE NEXT SECTOR TO BE READ INTO THE PRESENT BUFFER LOCATION -: SCAN BACKWARD CAUSES THE INSPECTOR TO SCAN BACK ONE SECTOR AND READ INTO THE SAME BUFFER LOCATINO A: ASCII/HEX TOGGLES BETWEEN ASCII AND HEXADECIMAL DISPLAY X: EXCHANGE EXCHANGES FLASHING AND INVERSE CHARACTERS WITH NORMAL ASCII CHARACTERS. E: EDIT HEX EDITING: 1) TYPE HEX NUMBER OF BYTE TO EDIT 2) HIT TO DISPLAY CURRENT VALUE 3) TYPE IN NEW VALUE 4) HIT TO ENTER VALUE 5) IF YOU WANT TO CONTINUE EDITING, HIT INSTEAD OF ASCII EDITING: 1) ENTER BYTE TO CHANGE 2) TYPE: L FOR LOWERCASE N NEGATIVE ASCII NORMAL NEGATOVE ASCII DATA IS ASCII WITH THE MOST SIGNIOFICANT BYTE OFF (IT WILL BE FLASHING) 3) ENTER VALUE TO REPLACE THE BYTE 4) HIT TO ENTER IT AND EXIT FROM EDITING MODE CTRL-W: WRITE CAUSES THE CURRENT VALUES IN THE BUFFER TO BE WRITTEN TO THE TRACK/ SECTOR SPECIFIED B: BUFFER LOCATION ALLOWS USER TO SELECT BUFFER LOCATION WHIHC IF USED. ONLY THE FIRST 2 DIGITS OF THE BUFFER CAN BE CHANGED. (NOTE: DO NOT USE PAGE ZERO FOR THE BUFFER!) CTRL-I: INCREMENTS BUFFER AND SECTOR AFTER YOU HAVE READ A TRACK/SECTOR INTO THE BUFFER, HITTING WILL INCREMENT BOTH BUFFER AND SECTOR SO THAT SEQUENTIAL SECTORS CAN BE VIEWED WITHOUT CONSTANT READING OF THE DISK M: MAP DISPLAYS A MAP OF USED/UN-USED SECTORS OF A DISK. "#" MEANS USED AND "-" MEAN BLANK N: NIBBLE READ 1) SELECT TRACK TO READ WITH "T" COMMAND 2) PRESS "N" TO NIBBLE READ 3) THE TRACK WILL BE READ AND THEN A HI-RES IMAGE WILL BE DISPLAYED. THE USE OF THIS DISPLAY CAN IMPLY HOW MUCHG DATA IS ON THE TRACK. FF BYTES (SELF-SYNC NIBBLES) APPEAR AS WHITE LINES 4) HIT ANY KEY TO ENTER NIBBLE DISPLAY MODE 5) NIBBLE DISPLAY MODE IS A DISPLAY OF ALL THE BYTES ON THE TRACK. <- SCROLL BACK -> SCROLL FORWARD ^ READ NEXT TRACK MEMORY COMMANDS: ---------------- H: HEX/ASCII DUMP 1) ENTER BUFFER TO START AT 2) HIT "H" 3) THE HEX AND ASCII VALUES WILL START SCROLLING DOWN Q: TOGGLES FAST/SLOW DISPLAY <- BACKS UP ONE PAGE EXITS FROM THIS MODE F: FIND THIS ALLOWS A SEARCH OF ALL MEMORY LOCATIONS FOR A STRING. 1) SELECT BUFFER TO PAGE ZERO ($0000) NOTE: THIS IS THE ONLY TIME WHEN YOU WILL DO THIS 2) PRESS A TO SELECT ASCII/HEX 3) TYPE "E" FRO EDIT MODE 4) IN BYTE $00, ENTER LENGTH OF STRING 5) IN BYTES $01 AND ON, ENTER THE APPROPRIPATE BYTES FOR THE STRING WHICH YOU ARE SEARCHING FOR 6) HIT "F" TO START ROUTINE NOTE:MAXIMUM LENGTH FOR STRINGS IS ASCII: 9 BYTES HEX: $0F BYTES (15) L: LOCATE FINDS HEX AND ASCII STRINGS ON A DISK 1) PRESS "B" AND SET TO PAGE ZERO ($0000) 2) SELECT HEX/ASCII 3) ENTER "E" FOR EDIT MORE 4) ENTER LENGTH OF STRING IN BYTE $00 5) ENTER STRING IN BYTE(S) $01 AND ON 6) PRESS "L" TO SEARCH DISK 7) WHEN A SECTOR IS FOUND, A BEEP WILL BE SOUNDED OTHER COMMANDS: --------------- CTRL-Z: USER COMMAND WHEN IS PRESSED, A JUMP TO LOCATION $0300 IS EXECUTED CTRL-C: RETURN TO BASIC THIS IS FAIRLY SELF EXPLANATORY TIPS AND OTHER STUFF: --------------------- FINDING RWTS ON A FOREIGN DOS DISK (THIS CAN BE USEFUL!) 1) SET BUFFER TO $0000 2) CHANGE BYTES $00-$04 TO 04 84 48 85 49 (THIS IS THE START LOCATION OF ALMOST ALL RWTS'S) 3) PRESS "F" TO FIND THIS STRING 4) IF FOUND IN A DIFFERENT THAN USUAL PLACE, THE INSPECTOR CAN BE MADE TO THINK IT IS NORMAL BY CHANGING ADDRESS #3D9 TO POINT TO DOS 5) CHANGE BUFFER TO $0300 6) CHANGE BYTE $3D9 TO INDICATE WHERE DOS IS THIS FEATURE IS MAINLY USABLE BE THOSE OF YOU WHO HAVE THE ROM VERSION OF THE INSPECTOR. IF YOU HAVE THE DISK VERSION, THE IS A GOOD CHANCE THAT IT WILL BE ERASED FROM THE LANGUAGE CARD IN THE EVEN OF A BOOT. USING A PRINTER: ENTER THE FOLLOWING AT LOCATION $300 300:A9 01 20 95 FE 20 8E FD A9 FF 20 A8 FC A2 00 8A 310:20 C1 FB A5 28 85 10 A5 29 85 11 A0 00 B1 10 C9 320:A0 B0 04 69 40 D0 F8 20 3A 03 C8 C0 28 D0 EE 20 330:8E FD E8 E0 18 D0 D8 4C 93 FE 48 A9 00 85 24 A9 340:01 20 5B FB 68 4C ED FD BYTE $301 IS SLOT OF PRINTER THIS FUNCTION CAN BE USED WITH THE CTRL-Z COMMAND TO GIVE A HARD COPY OF DATA SAVING THE ROUTINE TO DISK: THIS CAN BE DONE WITH ANY ROUTINE WHICH IS LOCATED IN ONE PAGE ONLY. IT TAKES ADVANTAGE OF THE FACT THAT DOS DOES NOT USE TRACK 2 SECTOR F. IF YOU ARE USING THAT SECTOR, DO NOT USE THIS ROUTINE! 1) SET BUFFER TO $0300 (OR WHATEVER YO WANT) 2) SET TRACK TO 2 AND SECTOR TO F 3) HIT TO LOAD, JUST DO THE SAME THING BUT HIT "R" INSTEAD OF TURNING PRINTER ON: (OR USING PRINTER WITH NIBBLE EDITOR) 1) SET BUFFER TO $0300 2) ENTER THE FOLLOWING IN BYTES $00-$05 A9 01 20 95 FE 60 ^^ BYTE $01 IS SLOT OF PRINTER NOW, HITTING WILL TURN PRINTER ON UNTIL IS PRESSED READING HALF TRACKS: UNDER NORMAL DOS, THE STEPPER MOTOR ON THE DRIVE IS PULSED TWICE FOR EVERY TRACK IT WANTS TO MOVE. HOWEVER, IF YOU FORCE THE MOTOR TO PULSE >ONCE< YOU WILL BE AT THE HALF TRACK. WHEN READING HALF TRACKS WITH THE INSPECTOR, ONLY THE NIBBLE EDITOR CAN BE USED. THIS IS BECAUSE RWTS DOES SOME CHECKS TO SEE IF IT IS READING THE CORRECT TRACK. IMPORTANT: THE INSPECTOR WILL NOT REALIZE THAT IT IS DOING HALF TRACKS! THEREFORE, TO READ TRACK $4, YOU MUST SET THE INSPECTOR TO READ TRACK $8. TO READ TRACK $10.5, YOU MUST READ TRACK $21. HOW TO SET UP ------------- 1) USING THE B COMMAND, SET THE BUFFER TO $0200 2) ENTER EDIT MODE WITH E 3) CHANGE BYTE $D4 FROM $01 TO $00 YOU CAN NOW READ HALF TRACKS AVOID RELOADING LANGUAGE CARD: THIS IS NOT UNIQUE TO THE INSPECTOR, BUT I FELT THAT THERE WAS JUSTIFICATION TO INCLUDE IT. ALL YOU HAVE TO DO IS CHANGE BYTE $CC ON TRACK $0, SECTOR $9 TO $10. NIBBLE INFO ----------- THIS IS JUST SOME BASIC INFO ON USING THE NIBBLE FEATURE ON THE INSPECTOR ON DOS 3.3, 342 NIBBLES REPRESENT THE 256 BYTES. EACH TRACK ON A DISK IS MADE UP OF 2 FIELDS: 1) ADDRES FIELD [VOLUME,TRACK,SECTOR] 2) DATA FIELD [ACTUAL DATA] EACH FIELD HAS A PREFIX AND SUFFIX WHICH ARE UNIQUE TO THE DISK. THEY ARE AS FOLLOWS: ADDRESS FIELD MARKER: D5 AA B5 (13) D5 AA 96 (16) VOLUME NUMBER: 2 NIBBLES TRACK NUMBER: 2 NIBBLES SECTOR NUMBER: 2 NIBBLES ADDRESS FIELD CHECKSUM: 2 NIBBLES ADDRESS FIELD TRAILER: DE AA DATA FIELD MARKER:D5 AA AD DATA NIBBLES............ DATA FIELD CHECKSUM: 1 NIBBLE DATA FIELD TRAILER: DE AA THE 2 NIBBLE COMBINATIONS ARE ENCODED WITH THE FOLLOWING TABLE: NIBBLES VALUE --------------- AA AA 00 AA AB 01 AA AA 02 AB AB 03 AA AE 04 AA AE 05 AB AE 06 AB AF 07 AE AA 08 AE AB 09 AF AA 0A AF AB 0B AE AE 0C AE AF 0D AF AE 0E AF AF 0F And so it goes...........