home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / geos / geos59.d64 / page54-65 < prev    next >
Text File  |  1995-08-05  |  26KB  |  793 lines

  1.  
  2.  
  3.  
  4.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-51
  5.  
  6.  
  7.           ╞UNCTION ╬AME: ╙┴╓┼
  8.           ╨URPOSE: ╙AVE MEMORY TO A FILE.
  9.           ├ALL ADDRESS: $├1┼─
  10.           ╔NPUT REQUIREMENTS:
  11.                $14-$15   ╨OINTER TO INFORMATION SECTOR DATA.
  12.                $16       # DIRECTORY SECTORS TO SKIP FIRST.
  13.           ┼RRORS: ╙EE ┴PPENDIX
  14.  
  15.           ─ESCRIPTION: ╘HIS ROUTINE WILL SAVE MEMORY TO A FILE; EACH SECTOR
  16.           IS VERIFIED AFTER THE WRITE IS FINISHED.  ╘HE INFO SECTOR HAS ALL
  17.           THE NECESSARY INFORMATION.  IE.  START AND STOP  ADDRESSES,  FILE
  18.           TYPE  AND  STRUCTURE.  ╔T  MUST ALSO CONTAIN THE ADDRESS  OF  THE
  19.           FILENAME  STRING SOMEWHERE IN MEMORY, IN THE FIRST TWO BYTES.  ╔F
  20.           THE FILE IS A ╓╠╔╥ FILE, THE MEMORY IS SAVED TO CHAIN 0. ╠OCATION
  21.           $16  SPECIFIES THE NUMBER OF DIRECTORY SECTORS TO SKIP FOR ─╔╥─╙╦
  22.           AND ╚╧╠┼.
  23.  
  24.  
  25.           ╞UNCTION ╬AME: ╙┴╓┼2
  26.           ╨URPOSE: ╙AVE MEMORY TO SPECIFIED SECTORS ON THE DISK.
  27.           ├ALL ADDRESS: $├1╞9
  28.           ╔NPUT REQUIREMENTS:
  29.                $0┼-$0╞   ╨OINTER TO LIST OF TRACKS AND SECTORS TO USE.
  30.                $10-$11   ╙TART ADDRESS OF MEMORY TO BE SAVED.
  31.           ╨REPARATORY ROUTINES: ╞┴╠╠╧├
  32.           ┼RRORS: ╙EE ┴PPENDIX
  33.  
  34.           ─ESCRIPTION:  ╘HIS ROUTINE IS CALLED BY ╙┴╓┼ TO ACTUALLY SAVE THE
  35.           MEMORY.  ┴LL  OF THE SECTORS SHOULD HAVE ALREADY BEEN  ALLOCATED.
  36.           ╘HIS  ROUTINE  STOPS SAVING MEMORY WHEN TRACK 0 IS FOUND  IN  THE
  37.           LIST OF TRACKS AND SECTORS.
  38.  
  39.  
  40.           ╞UNCTION ╬AME: ╙─1616
  41.           ╨URPOSE: ╙IGNED 16 BIT BY 16 BIT DIVISION.
  42.           ├ALL ADDRESS: $├16├
  43.           ╔NPUT REQUIREMENTS:
  44.                ┘         ╘HE ADDRESS OF THE 16 BIT DIVISOR.
  45.                ╪         ╘HE ADDRESS OF THE 16 BIT DIVIDEND.
  46.           ╧UTPUT:
  47.                ╪         ╘HE ADDRESS OF THE 16 BIT QUOTIENT.
  48.                $12-$13   ╘HE 16 BIT REMAINDER.
  49.  
  50.           ─ESCRIPTION: ╘HIS ROUTINE IS ONE OF THE ╟┼╧╙ MATH ROUTINES. ╪ AND
  51.           ┘ EACH HAVE THE ADDRESS OF A TERM IN THE DIVISION. ┬OTH TERMS ARE
  52.           MADE POSITIVE WITH ┴┬╙16. ╒─1616 IS THEN CALLED; IF THE RESULT OF
  53.           THE DIVISION SHOULD BE NEGATIVE, ╬┼╟16 IS CALLED. ╘HE QUOTIENT IS
  54.           STORED  IN PLACE OF THE ORIGINAL DIVIDEND THAT ╪ POINTED TO.  ╘HE
  55.           DIVIDEND  IS LEFT UNTOUCHED.  ╘HE REMAINDER IS ALWAYS A  POSITIVE
  56.           INTEGER.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-52
  71.  
  72.  
  73.           ╞UNCTION ╬AME: ╙┼╠┬╙╫
  74.           ╨URPOSE: ╙ELECTS THE ┬ERKELEY ╙OFTWORKS FONT.
  75.           ├ALL ADDRESS: $├14┬
  76.           ╧UTPUT:
  77.                $26       # PIXELS ABOVE LINE OF PRINT.
  78.                $27-$28   ╘HE NUMBER OF BYTES IN THE BIT STREAM.
  79.                $29       ╘HE POINT SIZE.
  80.                $2┴-$2┬   ╘HE POINTER TO THE TABLE OF INDICES INTO THE BIT
  81.                          STREAM.
  82.                $2├-$2─   ╘HE POINTER TO THE BIT STREAM.
  83.  
  84.           ─ESCRIPTION:  ╘HIS ROUTINE SIMPLY COPIES THE FONT HEADER DATA FOR
  85.           THE ┬╙╫ FONT TO ZERO PAGE FOR USE BY ─╙╨├╚╥ AND ─╙╨╘╪╘.
  86.  
  87.  
  88.           ╞UNCTION ╬AME: ╙┼╘╨┴╘
  89.           ╨URPOSE: ╙ETS THE CURRENT FILL PATTERN.
  90.           ├ALL ADDRESS: $├139
  91.           ╔NPUT REQUIREMENTS:
  92.                ┴         ╘HE PATTERN NUMBER (0-31).
  93.  
  94.           ─ESCRIPTION:  ╘HIS  ROUTINE SETS THE FILL PATTERN USED BY  ╨╞╔╠╠,
  95.           ╨╞╔╠╠2, ╨┬╧╪ AND ╨┬╧╪2.
  96.  
  97.  
  98.           ╞UNCTION ╬AME: ╙╨╥╧╞╞
  99.           ╨URPOSE: ╘URNS OFF A SPRITE.
  100.           ├ALL ADDRESS: $├1─5
  101.           ╔NPUT REQUIREMENTS:
  102.                $08       ╙PRITE NUMBER (0-7).
  103.           ╨REPARATORY ROUTINES: ├╧╨┘╙╨, ╨╧╙╙╨╥, ╙╨╥╧╬
  104.  
  105.           ─ESCRIPTION:  ╘HIS ROUTINE TURNS THE SPRITE OFF, SO THAT IT IS NO
  106.           LONGER VISIBLE.
  107.  
  108.  
  109.           ╞UNCTION ╬AME: ╙╨╥╧╬
  110.           ╨URPOSE: ╘URNS ON A SPRITE.
  111.           ├ALL ADDRESS: $├1─2
  112.           ╔NPUT REQUIREMENTS:
  113.                $08       ╙PRITE NUMBER (0-7).
  114.           ╨REPARATORY ROUTINES: ├╧╨┘╙╨, ╨╧╙╙╨╥
  115.  
  116.           ─ESCRIPTION:  ╘HIS  ROUTINE  TURNS THE SPRITE ON,  SO THAT IT  IS
  117.           VISIBLE.
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-53
  137.  
  138.  
  139.           ╞UNCTION ╬AME: ╙╘┴╥╘
  140.           ╨URPOSE: ╥ESTARTS THE TIMER ON A TIMED EVENT.
  141.           ├ALL ADDRESS: $├115
  142.           ╔NPUT REQUIREMENTS:
  143.                ╪         ╘HE INDEX INTO THE COMMAND TABLE AT $8719.
  144.           ╨REPARATORY ROUTINES: ├═─╘┬╠
  145.  
  146.           ─ESCRIPTION: ╘HIS ROUTINE RESETS BIT 5 OF A SPECIFIC COMMAND BYTE
  147.           IN THE TABLE AT $8719.  ╘HIS ENABLES THE ASSOCIATED COUNTER. ╘HIS
  148.           ROUTINE  IS  THE  COMPLEMENT  TO ╙╘╧╨.  ╘HIS  ROUTINE  IS  ╬╧╘  A
  149.           REPLACEMENT  FOR ┼╬┴┬╠┼.  ╘HIS ROUTINE DOES NOT COPY THE  TIMER'S
  150.           INITIAL VALUE AS DOES ┼╬┴┬╠┼.
  151.  
  152.  
  153.           ╞UNCTION ╬AME: ╙╘╧╨
  154.           ╨URPOSE: ╙TOPS THE TIMER ON A TIMED EVENT.
  155.           ├ALL ADDRESS: $├112
  156.           ╔NPUT REQUIREMENTS:
  157.                ╪         ╘HE INDEX INTO THE COMMAND TABLE AT $8719.
  158.           ╨REPARATORY ROUTINES: ├═─╘┬╠
  159.  
  160.           ─ESCRIPTION:  ╘HIS ROUTINE SETS BIT 5 OF A SPECIFIC COMMAND  BYTE
  161.           IN  THE TABLE AT $8719.  ╘HIS PREVENTS THE ASSOCIATED TIMER  FROM
  162.           RUNNING. ╘HIS ROUTINE IS THE COMPLEMENT TO ╙╘┴╥╘.
  163.  
  164.  
  165.           ╞UNCTION ╬AME: ╙╘╥├═╨
  166.           ╨URPOSE: ├OMPARE TWO STRINGS FOR EQUALITY.
  167.           ├ALL ADDRESS: $├26┬
  168.           ╔NPUT REQUIREMENTS:
  169.                ╪         ┴DDRESS OF A ZERO PAGE POINTER.
  170.                ┘         ┴DDRESS OF A ZERO PAGE POINTER.
  171.           ╧UTPUT:
  172.                ┌ FLAG    ╙ET ACCORDINGLY.
  173.  
  174.           ─ESCRIPTION:  ╘HE  ╪ AND ┘ REGISTERS POINT TO ZERO PAGE POINTERS.
  175.           ╘HE TWO STRINGS ARE COMPARED UP TO A ZERO BYTE. ╘HE ┌ FLAG IS SET
  176.           ACCORDINGLY.
  177.  
  178.  
  179.           ╞UNCTION ╬AME: ╙╘╥├╨┘
  180.           ╨URPOSE: ├OPY A STRING.
  181.           ├ALL ADDRESS: $├265
  182.           ╔NPUT REQUIREMENTS:
  183.                ╪         ┴DDRESS OF ZERO PAGE SOURCE POINTER.
  184.                ┘         ┴DDRESS OF ZERO PAGE DESTINATION POINTER.
  185.  
  186.           ─ESCRIPTION:  ╘HE  ╪ AND ┘ REGISTERS POINT TO ZERO PAGE POINTERS.
  187.           ─ATA IS COPIED UP TO AND INCLUDING A ZERO BYTE.  ╘HIS ROUTINE  IS
  188.           USED TO COPY STRINGS BY SETTING ┴ TO ZERO AND CALLING ┬╠╦═╧╓.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-54
  203.  
  204.  
  205.           ╞UNCTION ╬AME: ╙┘╙┼╥╥
  206.           ╨URPOSE: ─RAW A SYSTEM ERROR WINDOW, AND HALT SYSTEM.
  207.           ├ALL ADDRESS: $├2├2
  208.  
  209.           ─ESCRIPTION:  ┴  WINDOW  IS DRAWN WITH THE MESSAGE '╙YSTEM  ERROR
  210.           NEAR  $XXXX',  WHERE  XXXX IS THE HEX ADDRESS OF THE  ╩╙╥  ╙┘╙┼╥╥
  211.           INSTRUCTION.  ╙INCE  THE SYSTEM ERROR WINDOW HAS NO WAY OF  BEING
  212.           CLOSED, ╟┼╧╙ SIMPLY SITS IN ITS MAIN LOOP FOREVER. ╘HE ┬╥╦ VECTOR
  213.           AT $84┴╞-$84┬0 IS INITIALLY SET TO THIS ROUTINE.
  214.  
  215.  
  216.           ╞UNCTION ╬AME: ╘┴┬╠┼
  217.           ╨URPOSE: ├REATE A LIST OF FILENAMES.
  218.           ├ALL ADDRESS: $├23┬
  219.           ╔NPUT REQUIREMENTS:
  220.                $0┼-$0╞   ╨OINTER TO BUFFER AREA FOR FILE NAMES.
  221.                $10       ╟┼╧╙ FILE TYPE.
  222.                $11       ═AXIMUM NUMBER OF FILE NAMES.
  223.                $16-$17   ╨OINTER TO CLASS.
  224.           ╧UTPUT:
  225.                $11       ╬UMBER OF FILES NOT FOUND.
  226.                ╘HE TABLE IS FILLED WITH FILENAMES.
  227.           ┼RRORS: ╙EE ┴PPENDIX ╔.
  228.  
  229.           ─ESCRIPTION:  ╘HIS  IS A VERY USEFUL ROUTINE.  ╟IVEN A ╟┼╧╙  FILE
  230.           TYPE,  A  LIST OF FILES WITH THAT TYPE IS CREATED.  ╔F THE  CLASS
  231.           POINTER  IS NON-ZERO THEN EACH FILE'S INFO SECTOR IS CHECKED  FOR
  232.           PROPER  CLASS.  ╘HIS IS HOW ╟┼╧PAINT AND ╟┼╧WRITE CAN BOTH CREATE
  233.           ┴PPLICATION  ─ATA  FILES  AND NOT  SEE  EACH  OTHERS  FILES.  ╘HE
  234.           FILENAMES ARE TEXT STRINGS WITH ZERO BYTE TERMINATORS. ┼ACH ENTRY
  235.           IS INDEXED WITH A MULTIPLE OF 17 (16 BYTE FILENAME MAX. PLUS ZERO
  236.           BYTE).  ╠OCATION  $11 HAS THE NUMBER OF TABLE ENTRIES NOT FILLED.
  237.           ╘O  GET THE NUMBER OF FILES ACTUALLY FOUND,  THIS VALUE  MUST  BE
  238.           SUBTRACTED FROM THE ORIGINAL MAXIMUM BUFFER LENGTH.
  239.  
  240.  
  241.           ╞UNCTION ╬AME: ╘┬╠╩═╨
  242.           ╨URPOSE: ╩UMP THROUGH A TABLE.
  243.           ├ALL ADDRESS: $├2┴4
  244.           ╔NPUT REQUIREMENTS:
  245.                ┴         ╧FFSET