home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / geos / geos59.d64 / page12-25 < prev    next >
Text File  |  1995-08-05  |  28KB  |  925 lines

  1.  
  2.  
  3.  
  4.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-9
  5.  
  6.  
  7.           ╞UNCTION ╬AME: ┴┬╙16
  8.           ╨URPOSE: 16 BIT ABSOLUTE VALUE.
  9.           ├ALL ADDRESS: $├16╞
  10.           ╔NPUT REQUIREMENTS:
  11.                ╪         ╘HE ADDRESS OF THE 16 BIT INTEGER.
  12.           ╧UTPUT:
  13.                ╪         ╘HE ADDRESS A POSITIVE 16 BIT INTEGER.
  14.  
  15.           ─ESCRIPTION:  ╘HIS  ROUTINE IS ONE OF THE ╟┼╧╙ MATH  ROUTINES.  ╪
  16.           POINTS TO A 16 BIT VALUE WHICH IF FOUND TO BE NEGATIVE,  ╬┼╟16 IS
  17.           CALLED TO MAKE IT POSITIVE.
  18.  
  19.  
  20.           ╞UNCTION ╬AME: ┴╠╠╧├
  21.           ╨URPOSE: ┴LLOCATE A BLOCK ON THE DISK.
  22.           ├ALL ADDRESS: $├292
  23.           ╔NPUT REQUIREMENTS:
  24.                $08       ╘RACK TO START SCANNING FROM.
  25.                $09       ╙ECTOR TO START SCANNING FROM.
  26.                $8200-$82╞╞ ╘RACK 18 SECTOR 0, ┬┴═.
  27.                $849├     ╙KEW FACTOR (DEFAULT IS 8).
  28.           ╧UTPUT:
  29.                $08       ╬EW TRACK NUMBER.
  30.                $09       ╬EW SECTOR NUMBER.
  31.           ┼RRORS: ╙EE APPENDIX ╔.
  32.  
  33.           ─ESCRIPTION:  ╘HIS  ROUTINE  EXPECTS THAT THE ┬┴═ IS  ALREADY  IN
  34.           MEMORY.  ╔T  SCANS  THE  ┬┴═ STARTING AT  A  SPECIFIED  LOCATION,
  35.           LOOKING  FOR  A  FREE SECTOR.  ╔F ONE IS FOUND  IT  IS  RETURNED,
  36.           OTHERWISE AN ERROR RESULTS.   ╘HE SECTOR IS ALLOCATED IN THE ┬┴═,
  37.           AND THE ┬┴═ MUST BE UPDATED TO DISK  AFTERWARDS IN  ORDER FOR THE
  38.           SECTOR TO REMAIN ALLOCATED.
  39.  
  40.  
  41.           ╞UNCTION ╬AME: ┴╨╨┼╬─
  42.           ╨URPOSE: ┴PPEND A NEW CHAIN IN A ╓╠╔╥ FILE.
  43.           ├ALL ADDRESS: $├289
  44.           ╔NPUT REQUIREMENTS:
  45.                $8496     ├URRENT CHAIN NUMBER.
  46.           ╧UTPUT:
  47.                $8496     ╔NCREMENTED BY 1.
  48.                $8497     ╔NCREMENTED BY 1.
  49.           ╨REPARATORY ROUTINES: ╓╧╨┼╬
  50.           ┼RRORS: ╙EE APPENDIX ╔.
  51.  
  52.           ─ESCRIPTION:  ┴  HOLE IS OPENED UP IN THE ╓╠╔╥ SECTOR IMMEDIATELY
  53.           FOLLOWING  THE CURRENT CHAIN.  ╘HE HOLE IS FILLED  WITH  $00,$╞╞.
  54.           ╘HIS  REPRESENTS  A  NULL CHAIN.  ╘HIS HOLE BECOMES  THE  CURRENT
  55.           CHAIN.
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-10
  71.  
  72.  
  73.           ╞UNCTION ╬AME: ┬┴╙╔├
  74.           ╨URPOSE: ╥ESTART ┬┴╙╔├ WITH OPTIONAL PROGRAM LOAD.
  75.           ├ALL ADDRESS: $├241
  76.           ╔NPUT REQUIREMENTS:
  77.                $02-$03   ╨OINTER TO 40 CHARACTERS OF TEXT.
  78.                $0├-$0─   ╨OINTER TO FILE'S DIRECTORY ENTRY.
  79.                $10-$11   ╠OAD ADDRESS.
  80.           ╨REPARATORY ROUTINES: ╠╧╧╦╒╨
  81.  
  82.           ─ESCRIPTION: ╘HE 40 CHARACTERS POINTED TO BY $02-$03 ARE SAVED IN
  83.           A BUFFER.  ╔F $0├-$0─ IS NON-ZERO, THE FILE IS LOADED INTO MEMORY
  84.           AT  THE ADDRESS SPECIFIED BY $10-$11.  ┬┴╙╔├ IS RESTARTED WITH AN
  85.           INTERRUPT VECTOR. ╘HIS INTERRUPT IS SET UP TO GIVE ┬┴╙╔├ A CHANCE
  86.           TO START UP. ┴FTER THE TIME HAS ELAPSED, THE 40 CHARACTERS IN THE
  87.           BUFFER  ARE  COPIED  TO  THE SCREEN AND A ├╥  IS  PLACED  IN  THE
  88.           KEYBOARD BUFFER.  ╘HE INTERRUPT VECTOR IS THEN REMOVED,  BUT  THE
  89.           ╬═╔ VECTOR IS SET UP TO REBOOT ╟┼╧╙. ╘HE REBOOT CODE IS AT $├000-
  90.           $├037.
  91.  
  92.  
  93.           ╞UNCTION ╬AME: ┬╠╦├═╨
  94.           ╨URPOSE: ├OMPARES TWO BLOCKS OF MEMORY FOR A FIXED LENGTH.
  95.           ├ALL ADDRESS: $├26┼
  96.           ╔NPUT REQUIREMENTS:
  97.                ┴         ┬YTE COUNT.
  98.                ╪         ┴DDRESS OF ZERO PAGE SOURCE POINTER.
  99.                ┘         ┴DDRESS OF ZERO PAGE DESTINATION POINTER.
  100.           ╧UTPUT:
  101.                ┌ FLAG    ╙ET ACCORDINGLY.
  102.  
  103.           ─ESCRIPTION: ╘HE ╪ AND ┘ REGISTERS POINT TO ZERO PAGE POINTERS. ┴
  104.           HAS  THE  NUMBER OF BYTES TO BE COMPARED (1-255).  ╔F ┴ IS  ZERO,
  105.           THIS ROUTINE WILL COMPARE UP TO AND INCLUDING A ZERO BYTE.  ╘HE ┌
  106.           FLAG IS SET ACCORDINGLY. ╙EE ╙╘╥├═╨.
  107.  
  108.  
  109.           ╞UNCTION ╬AME: ┬╠╦╞╔╠
  110.           ╨URPOSE: ╞ILLS A MEMORY REGION WITH A SPECIFIED BYTE.
  111.           ├ALL ADDRESS: $├17┬
  112.           ╔NPUT REQUIREMENTS:
  113.                $02-$03   ╘HE LENGTH OF THE REGION.
  114.                $04-$05   ╘HE ADDRESS OF THE REGION.
  115.                $06       ╘HE BYTE TO FILL THE REGION WITH.
  116.  
  117.           ─ESCRIPTION: ┴ SIMPLE LOOP FILLS MEMORY WITH THE SPECIFIED BYTE.
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-11
  137.  
  138.  
  139.           ╞UNCTION ╬AME: ┬╠╦╞╠2
  140.           ╨URPOSE: ╔DENTICAL TO ┬╠╦╞╔╠, BUT WITH INLINE DATA.
  141.           ├ALL ADDRESS: $├1┬4
  142.  
  143.           ─ESCRIPTION:   ╘HIS  ROUTINE  TAKES  THE  INLINE  DATA  AND  SETS
  144.           EVERYTHING UP BEFORE CALLING ┬╠╦╞╔╠. ╞OR EXAMPLE:
  145.                 ╩╙╥ ┬╠╦╞╠2
  146.                .╫╧╥─ ╠ENGTH OF REGION
  147.                .╫╧╥─ ┴DDRESS OF REGION
  148.                .┬┘╘┼ ┬YTE TO FILL MEMORY WITH
  149.                ├ONTROL RETURNS HERE UPON COMPLETION.
  150.  
  151.  
  152.           ╞UNCTION ╬AME: ┬╠╦═╧╓
  153.           ╨URPOSE: ├OPY A BLOCK OF MEMORY.
  154.           ├ALL ADDRESS: $├268
  155.           ╔NPUT REQUIREMENTS:
  156.                ┴         ┬YTE COUNT.
  157.                ╪         ┴DDRESS OF ZERO PAGE SOURCE POINTER.
  158.                ┘         ┴DDRESS OF ZERO PAGE DESTINATION POINTER.
  159.  
  160.           ─ESCRIPTION:  ╘HE  ╪ AND ┘ REGISTERS POINT TO ZERO PAGE POINTERS.
  161.           ┴  HAS  THE NUMBER OF BYTES TO BE TRANSFERRED (1-255).  ╔F  ┴  IS
  162.           ZERO, THIS ROUTINE WILL COPY UP TO AND INCLUDING A ZERO BYTE. ╙EE
  163.           ╙╘╥├╨┘.
  164.  
  165.  
  166.           ╞UNCTION ╬AME: ┬╠╦╙┼╘
  167.           ╨URPOSE: ╒SES A TABLE TO SET VARIOUS MEMORY LOCATIONS IN A
  168.                    UNIFORM MANNER.
  169.           ├ALL ADDRESS: $├181
  170.           ╔NPUT REQUIREMENTS:
  171.                $02-$03   ┴DDRESS OF A DATA TABLE.
  172.  
  173.           ─ESCRIPTION:  ╘HIS  ROUTINE  ALLOWS MANY MEMORY LOCATIONS  TO  BE
  174.           SPECIFIED  AND SET IN AN ORDERLY MANNER.  ╘HE FORMAT OF THE  DATA
  175.           TABLE IS AS FOLLOWS:
  176.                #BYTES    ─ESCRIPTION
  177.                   2      ┴DDRESS TO STORE VALUES AT.
  178.                   1      # OF VALUES THAT FOLLOW.
  179.                   ?      ╓ALUES TO BE STORED AT THE DESIGNATED MEMORY
  180.                          REGION.
  181.                  ...     ═ORE DEFINITIONS.
  182.                   2      ┴N ADDRESS OF $0000 ENDS THE TABLE.
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-12
  203.  
  204.  
  205.           ╞UNCTION ╬AME: ├┬╧╪
  206.           ╨URPOSE: ─RAWS A CLICK BOX ON THE SCREEN.
  207.           ├ALL ADDRESS: $├142
  208.           ╔NPUT REQUIREMENTS:
  209.                $02-$03   ╨OINTER TO THE GRAPHIC DATA.
  210.                $04       ├OLUMN IN CHARACTERS.
  211.                $05       ╘HE ROW IN PIXELS.
  212.                $06       ╘HE WIDTH IN BYTES.
  213.                $07       ╘HE HEIGHT IN PIXELS.
  214.  
  215.           ─ESCRIPTION:  ╘HIS  ROUTINE  DRAWS A CLICK BOX ON THE  SCREEN.  ┴
  216.           CLICK BOX IS A BOX LIKE ╧K,  ╧PEN, ETC. ╘HESE BOXES ARE GENERALLY
  217.           PART  OF  A WINDOW DESCRIPTION.  ╘HE GRAPHIC DATA IS IN  A  CODED
  218.           FORMAT. ╘HIS FORMAT CONSISTS OF A CODE BYTE FOLLOWED BY 1 OR MORE
  219.           DATA BYTES.
  220.                1) ├ODE BYTES LESS THAN 128 MEAN  THAT THE FOLLOWING BYTE IS
  221.                   TO BE REPEATED THAT MANY TIMES.
  222.                2) ├ODE  BYTES  RANGING FROM 128 TO 219 MEAN THAT IF 128  IS
  223.                   SUBTRACTED  FROM  THE CODE BYTE, THEN THE  RESULT IS  THE
  224.                   NUMBER OF DATA BYTES THAT FOLLOW.
  225.                3) ├ODE BYTES RANGING FROM 220 TO 225 ARE SPECIAL. ╞IRST 219
  226.                   IS  SUBTRACTED  FROM  THE CODE BYTE,  THE RESULT  IS  THE
  227.                   NUMBER OF BYTES IN THE PATTERN.  ╞OLLOWING THIS CODE BYTE
  228.                   IS A REPETITION COUNT FOR THE PATTERN. ╞OLLOWING THIS ARE
  229.                   THE  BYTES  THAT  CONSTITUTE  THE  PATTERN.  ╘HESE  COULD
  230.                   INCLUDE EITHER OF THE PREVIOUS TWO CODE TYPES.
  231.  
  232.  
  233.           ╞UNCTION ╬AME: ├┬╧╪2
  234.           ╨URPOSE: ╔DENTICAL TO ├┬╧╪, BUT WITH INLINE DATA.
  235.           ├ALL ADDRESS: $├1┴┬
  236.  
  237.           ─ESCRIPTION:  ╘HIS  ROUTINE  TAKES  A CLICK BOX  DESCRIPTOR  FROM
  238.           INLINE  DATA AND DRAWS IT.  ╘HE INLINE DATA DOES ╬╧╘ INCLUDE  THE
  239.           PROCESSING VECTOR, IE.
  240.                 ╩╙╥ ─╥╫├┬2
  241.                .╫╧╥─ ADDRESS OF GRAPHIC IMAGE
  242.                .┬┘╘┼ START COLUMN IN BYTES
  243.                .┬┘╘┼ START MARGIN IN PIXELS
  244.                .┬┘╘┼ WIDTH OF BOX IN BYTES
  245.                .┬┘╘