home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Brotikasten
/
BROTCD01.iso
/
geos
/
geos59.d64
/
page54-65
< prev
next >
Wrap
Text File
|
1995-08-05
|
26KB
|
793 lines
╟┼╧╙ ╦ERNAL ╥OUTINES 1-51
╞UNCTION ╬AME: ╙┴╓┼
╨URPOSE: ╙AVE MEMORY TO A FILE.
├ALL ADDRESS: $├1┼─
╔NPUT REQUIREMENTS:
$14-$15 ╨OINTER TO INFORMATION SECTOR DATA.
$16 # DIRECTORY SECTORS TO SKIP FIRST.
┼RRORS: ╙EE ┴PPENDIX
─ESCRIPTION: ╘HIS ROUTINE WILL SAVE MEMORY TO A FILE; EACH SECTOR
IS VERIFIED AFTER THE WRITE IS FINISHED. ╘HE INFO SECTOR HAS ALL
THE NECESSARY INFORMATION. IE. START AND STOP ADDRESSES, FILE
TYPE AND STRUCTURE. ╔T MUST ALSO CONTAIN THE ADDRESS OF THE
FILENAME STRING SOMEWHERE IN MEMORY, IN THE FIRST TWO BYTES. ╔F
THE FILE IS A ╓╠╔╥ FILE, THE MEMORY IS SAVED TO CHAIN 0. ╠OCATION
$16 SPECIFIES THE NUMBER OF DIRECTORY SECTORS TO SKIP FOR ─╔╥─╙╦
AND ╚╧╠┼.
╞UNCTION ╬AME: ╙┴╓┼2
╨URPOSE: ╙AVE MEMORY TO SPECIFIED SECTORS ON THE DISK.
├ALL ADDRESS: $├1╞9
╔NPUT REQUIREMENTS:
$0┼-$0╞ ╨OINTER TO LIST OF TRACKS AND SECTORS TO USE.
$10-$11 ╙TART ADDRESS OF MEMORY TO BE SAVED.
╨REPARATORY ROUTINES: ╞┴╠╠╧├
┼RRORS: ╙EE ┴PPENDIX
─ESCRIPTION: ╘HIS ROUTINE IS CALLED BY ╙┴╓┼ TO ACTUALLY SAVE THE
MEMORY. ┴LL OF THE SECTORS SHOULD HAVE ALREADY BEEN ALLOCATED.
╘HIS ROUTINE STOPS SAVING MEMORY WHEN TRACK 0 IS FOUND IN THE
LIST OF TRACKS AND SECTORS.
╞UNCTION ╬AME: ╙─1616
╨URPOSE: ╙IGNED 16 BIT BY 16 BIT DIVISION.
├ALL ADDRESS: $├16├
╔NPUT REQUIREMENTS:
┘ ╘HE ADDRESS OF THE 16 BIT DIVISOR.
╪ ╘HE ADDRESS OF THE 16 BIT DIVIDEND.
╧UTPUT:
╪ ╘HE ADDRESS OF THE 16 BIT QUOTIENT.
$12-$13 ╘HE 16 BIT REMAINDER.
─ESCRIPTION: ╘HIS ROUTINE IS ONE OF THE ╟┼╧╙ MATH ROUTINES. ╪ AND
┘ EACH HAVE THE ADDRESS OF A TERM IN THE DIVISION. ┬OTH TERMS ARE
MADE POSITIVE WITH ┴┬╙16. ╒─1616 IS THEN CALLED; IF THE RESULT OF
THE DIVISION SHOULD BE NEGATIVE, ╬┼╟16 IS CALLED. ╘HE QUOTIENT IS
STORED IN PLACE OF THE ORIGINAL DIVIDEND THAT ╪ POINTED TO. ╘HE
DIVIDEND IS LEFT UNTOUCHED. ╘HE REMAINDER IS ALWAYS A POSITIVE
INTEGER.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-52
╞UNCTION ╬AME: ╙┼╠┬╙╫
╨URPOSE: ╙ELECTS THE ┬ERKELEY ╙OFTWORKS FONT.
├ALL ADDRESS: $├14┬
╧UTPUT:
$26 # PIXELS ABOVE LINE OF PRINT.
$27-$28 ╘HE NUMBER OF BYTES IN THE BIT STREAM.
$29 ╘HE POINT SIZE.
$2┴-$2┬ ╘HE POINTER TO THE TABLE OF INDICES INTO THE BIT
STREAM.
$2├-$2─ ╘HE POINTER TO THE BIT STREAM.
─ESCRIPTION: ╘HIS ROUTINE SIMPLY COPIES THE FONT HEADER DATA FOR
THE ┬╙╫ FONT TO ZERO PAGE FOR USE BY ─╙╨├╚╥ AND ─╙╨╘╪╘.
╞UNCTION ╬AME: ╙┼╘╨┴╘
╨URPOSE: ╙ETS THE CURRENT FILL PATTERN.
├ALL ADDRESS: $├139
╔NPUT REQUIREMENTS:
┴ ╘HE PATTERN NUMBER (0-31).
─ESCRIPTION: ╘HIS ROUTINE SETS THE FILL PATTERN USED BY ╨╞╔╠╠,
╨╞╔╠╠2, ╨┬╧╪ AND ╨┬╧╪2.
╞UNCTION ╬AME: ╙╨╥╧╞╞
╨URPOSE: ╘URNS OFF A SPRITE.
├ALL ADDRESS: $├1─5
╔NPUT REQUIREMENTS:
$08 ╙PRITE NUMBER (0-7).
╨REPARATORY ROUTINES: ├╧╨┘╙╨, ╨╧╙╙╨╥, ╙╨╥╧╬
─ESCRIPTION: ╘HIS ROUTINE TURNS THE SPRITE OFF, SO THAT IT IS NO
LONGER VISIBLE.
╞UNCTION ╬AME: ╙╨╥╧╬
╨URPOSE: ╘URNS ON A SPRITE.
├ALL ADDRESS: $├1─2
╔NPUT REQUIREMENTS:
$08 ╙PRITE NUMBER (0-7).
╨REPARATORY ROUTINES: ├╧╨┘╙╨, ╨╧╙╙╨╥
─ESCRIPTION: ╘HIS ROUTINE TURNS THE SPRITE ON, SO THAT IT IS
VISIBLE.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-53
╞UNCTION ╬AME: ╙╘┴╥╘
╨URPOSE: ╥ESTARTS THE TIMER ON A TIMED EVENT.
├ALL ADDRESS: $├115
╔NPUT REQUIREMENTS:
╪ ╘HE INDEX INTO THE COMMAND TABLE AT $8719.
╨REPARATORY ROUTINES: ├═─╘┬╠
─ESCRIPTION: ╘HIS ROUTINE RESETS BIT 5 OF A SPECIFIC COMMAND BYTE
IN THE TABLE AT $8719. ╘HIS ENABLES THE ASSOCIATED COUNTER. ╘HIS
ROUTINE IS THE COMPLEMENT TO ╙╘╧╨. ╘HIS ROUTINE IS ╬╧╘ A
REPLACEMENT FOR ┼╬┴┬╠┼. ╘HIS ROUTINE DOES NOT COPY THE TIMER'S
INITIAL VALUE AS DOES ┼╬┴┬╠┼.
╞UNCTION ╬AME: ╙╘╧╨
╨URPOSE: ╙TOPS THE TIMER ON A TIMED EVENT.
├ALL ADDRESS: $├112
╔NPUT REQUIREMENTS:
╪ ╘HE INDEX INTO THE COMMAND TABLE AT $8719.
╨REPARATORY ROUTINES: ├═─╘┬╠
─ESCRIPTION: ╘HIS ROUTINE SETS BIT 5 OF A SPECIFIC COMMAND BYTE
IN THE TABLE AT $8719. ╘HIS PREVENTS THE ASSOCIATED TIMER FROM
RUNNING. ╘HIS ROUTINE IS THE COMPLEMENT TO ╙╘┴╥╘.
╞UNCTION ╬AME: ╙╘╥├═╨
╨URPOSE: ├OMPARE TWO STRINGS FOR EQUALITY.
├ALL ADDRESS: $├26┬
╔NPUT REQUIREMENTS:
╪ ┴DDRESS OF A ZERO PAGE POINTER.
┘ ┴DDRESS OF A ZERO PAGE POINTER.
╧UTPUT:
┌ FLAG ╙ET ACCORDINGLY.
─ESCRIPTION: ╘HE ╪ AND ┘ REGISTERS POINT TO ZERO PAGE POINTERS.
╘HE TWO STRINGS ARE COMPARED UP TO A ZERO BYTE. ╘HE ┌ FLAG IS SET
ACCORDINGLY.
╞UNCTION ╬AME: ╙╘╥├╨┘
╨URPOSE: ├OPY A STRING.
├ALL ADDRESS: $├265
╔NPUT REQUIREMENTS:
╪ ┴DDRESS OF ZERO PAGE SOURCE POINTER.
┘ ┴DDRESS OF ZERO PAGE DESTINATION POINTER.
─ESCRIPTION: ╘HE ╪ AND ┘ REGISTERS POINT TO ZERO PAGE POINTERS.
─ATA IS COPIED UP TO AND INCLUDING A ZERO BYTE. ╘HIS ROUTINE IS
USED TO COPY STRINGS BY SETTING ┴ TO ZERO AND CALLING ┬╠╦═╧╓.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-54
╞UNCTION ╬AME: ╙┘╙┼╥╥
╨URPOSE: ─RAW A SYSTEM ERROR WINDOW, AND HALT SYSTEM.
├ALL ADDRESS: $├2├2
─ESCRIPTION: ┴ WINDOW IS DRAWN WITH THE MESSAGE '╙YSTEM ERROR
NEAR $XXXX', WHERE XXXX IS THE HEX ADDRESS OF THE ╩╙╥ ╙┘╙┼╥╥
INSTRUCTION. ╙INCE THE SYSTEM ERROR WINDOW HAS NO WAY OF BEING
CLOSED, ╟┼╧╙ SIMPLY SITS IN ITS MAIN LOOP FOREVER. ╘HE ┬╥╦ VECTOR
AT $84┴╞-$84┬0 IS INITIALLY SET TO THIS ROUTINE.
╞UNCTION ╬AME: ╘┴┬╠┼
╨URPOSE: ├REATE A LIST OF FILENAMES.
├ALL ADDRESS: $├23┬
╔NPUT REQUIREMENTS:
$0┼-$0╞ ╨OINTER TO BUFFER AREA FOR FILE NAMES.
$10 ╟┼╧╙ FILE TYPE.
$11 ═AXIMUM NUMBER OF FILE NAMES.
$16-$17 ╨OINTER TO CLASS.
╧UTPUT:
$11 ╬UMBER OF FILES NOT FOUND.
╘HE TABLE IS FILLED WITH FILENAMES.
┼RRORS: ╙EE ┴PPENDIX ╔.
─ESCRIPTION: ╘HIS IS A VERY USEFUL ROUTINE. ╟IVEN A ╟┼╧╙ FILE
TYPE, A LIST OF FILES WITH THAT TYPE IS CREATED. ╔F THE CLASS
POINTER IS NON-ZERO THEN EACH FILE'S INFO SECTOR IS CHECKED FOR
PROPER CLASS. ╘HIS IS HOW ╟┼╧PAINT AND ╟┼╧WRITE CAN BOTH CREATE
┴PPLICATION ─ATA FILES AND NOT SEE EACH OTHERS FILES. ╘HE
FILENAMES ARE TEXT STRINGS WITH ZERO BYTE TERMINATORS. ┼ACH ENTRY
IS INDEXED WITH A MULTIPLE OF 17 (16 BYTE FILENAME MAX. PLUS ZERO
BYTE). ╠OCATION $11 HAS THE NUMBER OF TABLE ENTRIES NOT FILLED.
╘O GET THE NUMBER OF FILES ACTUALLY FOUND, THIS VALUE MUST BE
SUBTRACTED FROM THE ORIGINAL MAXIMUM BUFFER LENGTH.
╞UNCTION ╬AME: ╘┬╠╩═╨
╨URPOSE: ╩UMP THROUGH A TABLE.
├ALL ADDRESS: $├2┴4
╔NPUT REQUIREMENTS:
┴ ╧FFSET