home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C128Toolkit / QUERY.SDA / QUERY.DOC < prev   
Encoding:
Text File  |  2019-04-13  |  5.2 KB  |  105 lines

  1.  
  2.  
  3.  
  4.         ─RIVE ╤UERY ╨ROGRAM                                       ╨AGE 1
  5.         8/15/90 ─ALE ╥AY
  6.  
  7.         
  8.         ╘HIS PROGRAM IS MEANT TO BE A DEMO OF HOW TO DETERMINE
  9.         INFORMATION ABOUT A USERS DISK DRIVES AND THE DISKS THEY CONTAIN
  10.         FROM WITHIN YOUR PROGRAMS.
  11.         
  12.         ┬EFORE WE START, LET ME SAY THAT ╔ AM NOT AN EXPERT. ╓ERY LITTLE
  13.         OF THE CODE YOU SEE IN THIS PROGRAM IS ORIGINAL. ╔ THOUGHT ╔
  14.         MIGHT HELP OTHERS A LITTLE BY PUTTING THESE ROUTINES TOGETHER IN
  15.         THIS DEMO.
  16.         
  17.         ╔ AM GOING TO GO THROUGH AND EXPLAIN EACH SECTION OF THE
  18.         PROGRAM. ╔N YOUR OWN PROGRAM ALL OF THESE CHECKS MIGHT BE
  19.         COMBINED INTO ONE ROUTINE. ╔N THIS DEMO ╔ HAVE EACH OF THEM
  20.         SEPARATE. ┼ACH SUBROUTINE OPENS THE NECESSARY DISK CHANNELS AND
  21.         CLOSES THEM.
  22.         
  23.         ╠INES 90-100 - ╘HESE LINES SIMPLY CLEAR ANY WINDOWS THAT MAY BE
  24.               SET, SET UP THE COLORS, AND CHECK FOR 80 COL. MODE. ╔F THE
  25.               COMPUTER IS IN 80 COL. MODE THE SPEED IS SET TO ╞┴╙╘.
  26.         
  27.         ╠INES 130-140 - ╨EEKS LOCATION 186 TO SEE WHICH DRIVE THE
  28.               PROGRAM LOADED FROM AND USES THIS AS A DEFAULT. ╔F ANYONE
  29.               KNOWS HOW TO TELL WHICH DRIVE OF A DUAL DRIVE WAS ACCESSED
  30.               PLEASE LET ME KNOW. ╘HE CHECK FOR THE DEVICE NUMBER BEING
  31.               BETWEEN 8 AND 30 IS TO MAKE SURE THAT 186 CONTAINS A DRIVE
  32.               NUMBER. IF THE PROGRAM WAS LOADED AND , FOR INSTANCE, A
  33.               PRINTER ACCESSED BEFORE THE PROGRAM WAS RUN 186 WOULD HAVE
  34.               THIS DEVICE NUMBER. ╔F 186 CONTAINS A NUMBER OUT OF THE
  35.               LEGAL DISK DRIVE DEVICE NUMBER RANGE ╔ SET THE DEVICE
  36.               NUMBER TO 8.
  37.         
  38.         ╠INES 170-340 - ═AIN MENU AND COMMAND LOOP. ╨RINTS THE DEFAULTS
  39.               TO THE SCREEN. ┴LLOWS THE USER TO CHANGE THEM. ╫HEN THE
  40.               USER IS SET, PRESSING RETURN EXITS THE GETKEY LOOP AND
  41.               STARTS PREFORMING THE CHECKS.
  42.         
  43.         ╠INES 370-380 - ├HECKS TO SEE IF THE DEVICE REQUESTED IS ON THE
  44.               SERIAL BUS. ╘HIS IS FROM ╞RED ┬OWEN VIA ╘WIN ├ITIES 128.
  45.               ╨OKE 144,0 CLEARS THE STATUS FLAG. ╙YS 65457, (DEVICE
  46.               NUMBER) SENDS A ╠╔╙╘┼╬ COMMAND TO THE DEVICE. ╙YS 65427,1
  47.               SENDS A SECONDARY ADDRESS TO THE DEVICE WHICH HAS BEEN
  48.               COMMANDED TO ╠╔╙╘┼╬. ╙╘ IS CHECKED TO SEE IF ALL WENT
  49.               WELL. ╔F IT DIDN'T THE PROGRAM PRINTS A MESSAGE. ╓ALID
  50.               DEVICE NUMBERS WITH THIS TECHNIQUE ARE 4-31 SO IT CAN BE
  51.               USED FOR PRINTERS, ALSO.
  52.         
  53.         ╠INES 410-490 - ├HECKS FOR WHICH MODEL DRIVE IS BEING USED. ╘HIS
  54.               DOES A MEMORY READ OF A LOCATION IN THE DRIVES MEMORY. ╘HE
  55.               VALUE RETURNED FROM THIS READ IS COMPARED TO THE KNOWN
  56.               VALUE FOR A 1541, 1571, 1581, AND AN ═╙─. IF AN UNKNOWN
  57.               VALUE IS RETURNED THE USER CAN ALSO BE TOLD. ╫HEN THE
  58.               DRIVE TYPE IS DETERMINED THE (T)RACK AND (S)ECTOR WHERE
  59.               THE DIRECTORY STARTS FOR THAT DRIVE IS SET EQUAL TO ╘ AND
  60.               ╙. ╫E WILL USE THESE LATER. ╙EE YOUR DRIVE MANUAL FOR MORE
  61.               INFO ON MEMORY READ. ├USTOM ╥╧═╙ COULD CHANGE THE VALUE
  62.               RETURNED BY THIS TECHNIQUE. ╔ HAVE ╩IFFY ─╧╙ IN MY DRIVES
  63.  
  64.  
  65.  
  66.               ─RIVE ╤UERY ╨ROGRAM                                 ╨AGE 2
  67.               8/15/90 ─ALE ╥AY
  68.  
  69.               AND THEY RETURN THE SAME VALUE WHETHER OR NOT ╩IFFY ─╧╙ IS
  70.               ON AND THEY RETURN THE SAME VALUE AS A STOCK DRIVE.
  71.         
  72.         ╠INES 520-580 - ├HECKS TO SEE IS DOUBLE SIDED FLAG IS SET ON THE
  73.               DISK. ╘HIS ROUTINE BLOCK READS THE FIRST DIRECTORY TRACK,
  74.               SETS THE BUFFER POINTER TO BYTE 3 AND READS THAT BYTE INTO
  75.               THE COMPUTER'S MEMORY. ╔F THIS BYTE EQUALS 128 THEN THE
  76.               DISK WAS FORMATTED AS A 1571 DOUBLE SIDED DISK.
  77.         
  78.         ╠INE 610 - ╔F THE DISK IS DOUBLE SIDED AND THE DRIVE IS A 1571
  79.               THIS LINE PUTS THE DRIVE IN 1571 MODE.
  80.         
  81.         ╠INES 640-690 - ├HECKS TO SEE IF THE DISK IS ╟┼╧╙ FORMAT. ╫HEN A
  82.               DISK IS ╟┼╧╙ FORMAT BYTES 173, 174, 175 AND 176 IN THE
  83.               FIRST SECTOR OF THE DIRECTORY CONTAIN THE LETTERS ╟┼╧╙.
  84.               ╘HIS ROUTINE READS THOSE BYTES, USING THE SAME TECHNIQUES
  85.               AS FOR THE DOUBLE SIDED FLAG. ╔ AM NOT AN EXPERT ON ╟┼╧╙.
  86.               ╔ FOUND THIS INFORMATION BY CHECKING OUT A BUNCH OF ╟┼╧╙
  87.               DISKS WITH ─╔╙╦ ─╧├╘╧╥. ╔T HAS WORKED ON EVERY DISK ╔ HAVE
  88.               TRIED IT ON.
  89.         
  90.         ╠INES 720-780 - ─ISPLAYS THE INFORMATION WE JUST GATHERED AND
  91.               ASKS IF THE USER WANTS TO CONTINUE. ╚OW YOU USE THE
  92.               INFORMATION IN YOUR PROGRAM DEPENDS ON WHAT YOU WANT THE
  93.               PROGRAM TO DO. ╞OR EXAMPLE, KNOWING A DISK IS ╟┼╧╙ FORMAT
  94.               COULD ALLOW YOU TO WARN THE USER NOT TO VALIDATE IT
  95.               OUTSIDE OF THE ╟┼╧╙ ENVIRONMENT.
  96.         
  97.         ╘HERE ARE MANY WAYS TO USE THESE TECHNIQUES. ┴S ╔ SAID ╔ AM NOT
  98.         AN EXPERT. ╘HERE ARE PROBABLY BETTER WAYS TO ACCOMPLISH THESE
  99.         THINGS. ╔F YOU KNOW THEM AND ARE ON ╟┼NIE OR ╤-╠INK, LEAVE ME
  100.         SOME MAIL. ═Y ╔─S ARE:
  101.         
  102.         ╟┼NIE : ─.╥┴┘1
  103.         ╤-╠╔NK: ─╥┴┘1
  104.          
  105.