home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / geos / geos59.d64 / page39-53 < prev    next >
Text File  |  1995-08-05  |  31KB  |  991 lines

  1.  
  2.  
  3.  
  4.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-36
  5.  
  6.  
  7.           ╞UNCTION ╬AME: ╔╥╤╥╘╬
  8.           ╨URPOSE: ╚ANDLES  SEVERAL  ITEMS  THAT  OCCUR  AT  REGULAR  TIMED
  9.                    INTERVALS.
  10.           ├ALL ADDRESS: $├100
  11.           ╧UTPUTS: ╙EE DESCRIPTION
  12.  
  13.           ─ESCRIPTION: ╟┼╧╙ SETS UP THE RASTER INTERRUPT ON THE ╓╔├ CHIP TO
  14.           CAUSE  AN INTERRUPT EVERY SIXTIETH OF A SECOND.  ╘HIS ROUTINE  IS
  15.           CALLED  BY  ╟┼╧╙ AFTER EACH INTERRUPT.  ╞IRST IT READS THE  INPUT
  16.           DEVICE  AND  UPDATES  THE MOUSE'S  POSITION,  TURNING  IT  ON  IF
  17.           NECESSARY. ╔T THEN SCANS THE COMMAND TABLE AT $8719 TO SEE IF ANY
  18.           OF THE COMMAND BYTES HAVE BOTH BITS 4 AND 5 RESET. ╔F SO, IT THEN
  19.           DECREMENTS  THE  ASSOCIATED  COUNTER AT  $86╞1.  ╔F  THE  COUNTER
  20.           REACHES  ZERO,  ITS  VALUE IS RESET AND BIT 7 OF  THE  ASSOCIATED
  21.           COMMAND  BYTE IS SET.  ╘HIS WILL CAUSE THE APPROPRIATE SUBROUTINE
  22.           TO BE EXECUTED THE NEXT TIME THE TABLE IS POLLED.  ╘HE NEXT  PART
  23.           OF THIS ROUTINE IS TO DECREMENT ALL NONZERO COUNTERS IN THE STACK
  24.           AT  $877╞.  ╘HE ROUTINE TO BLINK THE TEXT CURSOR IS CALLED  NEXT.
  25.           ╞INALLY, THE RANDOM NUMBER GENERATOR AT $850┴ IS UPDATED.
  26.  
  27.  
  28.           ╞UNCTION ╬AME: ╠├╚┴╔╬
  29.           ╨URPOSE: ╠OAD MEMORY FROM DISK.
  30.           ├ALL ADDRESS: $├1╞╞
  31.           ╔NPUT REQUIREMENTS:
  32.                $04       ╔NITIAL TRACK NUMBER.
  33.                $05       ╔NITIAL SECTOR NUMBER.
  34.                $06-$07   ┬YTE COUNT OF LOAD.
  35.                $10-$11   ╠OAD ADDRESS.
  36.           ╧UTPUT:
  37.                $0├       ╔NDEX TO LAST SECTOR LOADED.
  38.                $8300-    ╠IST OF TRACKS AND SECTORS TRACK WERE LOADED.
  39.           ╨REPARATORY ROUTINES: ╠╧┴─┴─
  40.           ┼RRORS: ╙EE ┴PPENDIX ╔.
  41.  
  42.           ─ESCRIPTION:  ╘HIS ROUTINE ASSUMES THAT THE FILE HAS BEEN LOCATED
  43.           IN THE DIRECTORY AND THAT THE INITIAL TRACK AND SECTOR ARE KNOWN.
  44.  
  45.  
  46.           ╞UNCTION ╬AME: ╠─╙╫┴╨
  47.           ╨URPOSE: ╥ELOAD THE ╙╫┴╨╞╔╠┼.
  48.           ├ALL ADDRESS: $├23┼
  49.           ╨REPARATORY ROUTINES: ╠╧┴─╙╫
  50.           ┼RRORS: ╙EE ┴PPENDIX ╔.
  51.  
  52.           ─ESCRIPTION:  ╘HIS ROUTINE RELOADS THE ╙╫┴╨╞╔╠┼, THEN DELETES IT.
  53.           ╘HE  LAST WINDOW DESCRIPTION IS REPROCESSED TO RESTORE THE SCREEN
  54.           AND  CONTROL  IS  RETURNED TO THE ORIGINAL  PROGRAM  THAT  CALLED
  55.           ╠╧┴─╙╫.
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-37
  71.  
  72.  
  73.           ╞UNCTION ╬AME: ╠╔╬┼
  74.           ╨URPOSE: ─RAWS, ERASES OR COPIES A LINE ON THE HIRES SCREEN.
  75.           ├ALL ADDRESS: $├130
  76.           ╔NPUT REQUIREMENTS:
  77.                ╬ FLAG  ├ ╞LAG   ╧PERATION
  78.                   1       ╪     ├OPY
  79.                   0       1     ─RAW
  80.                   0       0     ┼RASE
  81.                $08-$09   ╘HE COLUMN FOR THE FIRST ENDPOINT.
  82.                $0┴-$0┬   ╘HE COLUMN FOR THE SECOND ENDPOINT.
  83.                $18       ╘HE ROW FOR THE FIRST ENDPOINT.
  84.                $19       ╘HE ROW FOR THE SECOND ENDPOINT.
  85.  
  86.           ─ESCRIPTION:  ╘HIS  IS A VERY VERSATILE ROUTINE.  ╔T CAN COPY  AN
  87.           ARBITRARY  LINE  FROM ONE SCREEN TO ANOTHER,  AS WELL AS DRAW  OR
  88.           ERASE LINES.  ╘HIS ROUTINE PLACES NO RESTRICTIONS ON THE RELATIVE
  89.           POSITIONS OF THE ENDPOINTS.  ╘HIS ROUTINE CALLS ╨╠╧╘ TO PLOT  THE
  90.           POINTS. ╙EE ALSO ╥╧╫┴─╥.
  91.  
  92.  
  93.           ╞UNCTION ╬AME: ╠╧┴─
  94.           ╨URPOSE: ╠OAD AND RUN A FILE.
  95.           ├ALL ADDRESS: $├208
  96.           ╔NPUT REQUIREMENTS:
  97.                $02       ╞LAG BYTE (╙EE DESCRIPTION).
  98.                $06-$07   ╧PTIONAL DATA POINTER.
  99.                $08-$09   ╧PTIONAL DATA POINTER.
  100.                $0┼-$0╞   ╨OINTER TO FILENAME.
  101.                $10-$11   ╠OAD ADDRESS (OPTIONAL).
  102.           ╧UTPUT:
  103.                $8100-$81╞╞ ╔NFO SECTOR FOR FILE.
  104.                $8300-$83╞╞ ╘ABLE OF TRACKS AND SECTORS THAT WERE LOADED.
  105.           ┼RRORS: ╙EE ┴PPENDIX
  106.  
  107.           ─ESCRIPTION:  ╘HIS ROUTINE LOADS AND RUNS A GIVEN FILE.  ╘HE FILE
  108.           MUST BE ONE OF THE FOLLOWING ╟┼╧╙ TYPES:
  109.                          ╙YSTEM ╞ILE         ─ESK ┴CCESSORY
  110.                          ┴PPLICATION         ┴PPLICATION ─ATA
  111.                          ╨RINTER ─RIVER      ╔NPUT ─RIVER
  112.           ╘HE EXECUTION ADDRESS IS TAKEN FROM THE INFORMATION SECTOR. ╔F IT
  113.           IS ZERO,  THE FILE IS NOT EXECUTED, ONLY LOADED.  ╓╠╔╥ FILES HAVE
  114.           ONLY  THEIR  FIRST CHAIN LOADED.  ─ESK ┴CCESSORIES SWAP  OUT  THE
  115.           MEMORY  THAT  THEY USE TO  THE  ╙╫┴╨╞╔╠┼.  ╒PON  COMPLETION,  THE
  116.           ╙╫┴╨╞╔╠┼  IS  RELOADED.  ╘HE  FLAG BYTE AT LOCATION $02  HAS  TWO
  117.           PURPOSES.  ╘HIS  FIRST  IS IF BIT 0 IS SET AND THE  FILE  WAS  AN
  118.           APPLICATION, THEN IT IS NOT EXECUTED.  ┴LSO IF BIT 0 IS SET, THEN
  119.           LOCATIONS  $10-$11  HAVE THE LOAD ADDRESS;  OTHERWISE,  THE  LOAD
  120.           ADDRESS IS TAKEN FROM THE INFORMATION SECTOR.  ╘HIS BIT DOES  NOT
  121.           APPLY  TO ─ESK ┴CCESSORIES.  ╔F EITHER BIT 6 OR 7 ARE  SET,  THEN
  122.           $06-$07  POINTS TO 16 BYTES WHICH ARE COPIED TO $8453 (─ISK  NAME
  123.           FOR DRIVE 10),  AND $07-$08 POINT TO 16 BYTES WHICH ARE COPIED TO
  124.           $8442 (─ISK NAME FOR DRIVE 11). 
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-38
  137.  
  138.  
  139.           ╞UNCTION ╬AME: ╠╧┴─2
  140.           ╨URPOSE: ╠OAD A FILE.
  141.           ├ALL ADDRESS: $├211
  142.           ╔NPUT REQUIREMENTS:
  143.                $14-$15   ╨OINTER TO DIRECTORY ENTRY.
  144.                $886┬     ╞LAG BYTE.
  145.                $886├-$886─ ╠OAD ADDRESS.
  146.           ╧UTPUT:
  147.                $8100-$81╞╞ ╔NFO SECTOR FOR FILE.
  148.                $8300-$83╞╞ ╘ABLE OF TRACKS AND SECTORS THAT WERE LOADED.
  149.           ╨REPARATORY ROUTINES: ╠╧╧╦╒╨ (╨OINTER MUST BE COPIED)
  150.           ┼RRORS: ╙EE ┴PPENDIX
  151.  
  152.           ─ESCRIPTION:  ╘HIS ROUTINE IS CALLED BY ╠╧┴─ TO PERFORM THE LOAD.
  153.           ╘HIS  ROUTINE DOES NOT TRY TO EXECUTE THE FILE LOADED,  NOR IS IT
  154.           LIMITED TO THE FILE TYPES THAT ╠╧┴─ IS. ╚OWEVER, THIS ROUTINE CAN
  155.           NOT  BE USED TO LOAD ╬ON-╟┼╧╙ FILES BECAUSE THE INFO SECTOR  MUST
  156.           BE  PRESENT.  ╔F BIT 0 OF LOCATION $886┬ IS SET,  THEN  THE  LOAD
  157.           ADDRESS  IS TAKEN FROM LOCATIONS $886├-$886─ INSTEAD OF THE  INFO
  158.           SECTOR.  ╘HE  DIRECTORY ENTRY  POINTER SHOULD POINT TO $8400  AND
  159.           NOT  THE  POINTER  RETURNED  BY ╠╧╧╦╒╨.  ╘HIS IS  DUE  TO  MEMORY
  160.           CONFLICTS THAT WILL ARISE.
  161.  
  162.  
  163.           ╞UNCTION ╬AME: ╠╧┴─3
  164.           ╨URPOSE: ╠OAD AND POSSIBLY RUN A FILE.
  165.           ├ALL ADDRESS: $├21─
  166.                $02       ╞LAG BYTE (╙EE DESCRIPTION).
  167.                $06-$07   ╧PTIONAL DATA POINTER.
  168.                $08-$09   ╧PTIONAL DATA POINTER.
  169.                $0┼-$0╞   ╨OINTER TO FILENAME.
  170.                $10-$11   ╠OAD ADDRESS (OPTIONAL).
  171.           ╧UTPUT:
  172.                $8100-$81╞╞ ╔NFO SECTOR FOR FILE.
  173.                $8300-$83╞╞ ╘ABLE OF TRACKS AND SECTORS THAT WERE LOADED.
  174.           ┼RRORS: ╙EE ┴PPENDIX
  175.  
  176.           ─ESCRIPTION:  ╘HIS ROUTINE IS CALLED BY ╠╧┴─ TO LOAD  ┴PPLICATION
  177.           FILES.  ╠IKE ╠╧┴─2, THIS ROUTINE IS NOT LIMITED TO ANY PARTICULAR
  178.           FILE TYPE, EXCEPT THAT IT ALSO CAN NOT LOAD A ╬ON-╟┼╧╙ FILE.  ╙EE
  179.           ╠╧┴─  FOR A DESCRIPTION OF THE FLAG BYTE,  DATA POINTERS AND LOAD
  180.           ADDRESS.
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           ╟┼╧╙ ╦ERNAL ╥OUTINES                                      1-39
  203.  
  204.  
  205.           ╞UNCTION ╬AME: ╠╧┴─┴─
  206.           ╨URPOSE: ╟ET THE LOAD ADDRESS OF A FILE.
  207.           ├ALL ADDRESS: $├229
  208.           ╔NPUT REQUIREMENTS:
  209.                $14-$15   ╨OINTER TO DIRECTORY ENTRY.
  210.           ╧UTPUT:
  211.                $04       ╘RACK OF FILE'S FIRST SECTOR.
  212.                $05       ╙ECTOR OF FILE'S FIRST SECTOR.
  213.                $10-$11   ╠OAD ADDRESS FOR FILE.
  214.                $8100-$81╞╞ ╔NFO SECTOR FOR FILE.
  215.                $8300-$8301 ╘RACK AND SECTOR OF INFO SECTOR.
  216.           ┼RRORS: ╙EE ┴PPENDIX ╔.
  217.  
  218.           ─ESCRIPTION:  ╘HIS  ROUTINE LOADS THE INFO SECTOR FOR A FILE INTO
  219.           THE  BUFFER AT $8100.  ╘HE LOAD ADDRESS IS SET FROM  $8147-$8148.
  220.           ╘HIS ROUTINE IS CALLED BY ALL THE LOAD ROUTINES.
  221.  
  222.  
  223.           ╞UNCTION ╬AME: ╠╧┴─╙╫
  224.           ╨URPOSE: ╠OAD AND RUN A FILE USING THE ╙╫┴╨╞╔╠┼.
  225.           ├ALL ADDRESS: $├217
  226.