home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Brotikasten
/
BROTCD01.iso
/
geos
/
geos59.d64
/
page39-53
< prev
next >
Wrap
Text File
|
1995-08-05
|
31KB
|
991 lines
╟┼╧╙ ╦ERNAL ╥OUTINES 1-36
╞UNCTION ╬AME: ╔╥╤╥╘╬
╨URPOSE: ╚ANDLES SEVERAL ITEMS THAT OCCUR AT REGULAR TIMED
INTERVALS.
├ALL ADDRESS: $├100
╧UTPUTS: ╙EE DESCRIPTION
─ESCRIPTION: ╟┼╧╙ SETS UP THE RASTER INTERRUPT ON THE ╓╔├ CHIP TO
CAUSE AN INTERRUPT EVERY SIXTIETH OF A SECOND. ╘HIS ROUTINE IS
CALLED BY ╟┼╧╙ AFTER EACH INTERRUPT. ╞IRST IT READS THE INPUT
DEVICE AND UPDATES THE MOUSE'S POSITION, TURNING IT ON IF
NECESSARY. ╔T THEN SCANS THE COMMAND TABLE AT $8719 TO SEE IF ANY
OF THE COMMAND BYTES HAVE BOTH BITS 4 AND 5 RESET. ╔F SO, IT THEN
DECREMENTS THE ASSOCIATED COUNTER AT $86╞1. ╔F THE COUNTER
REACHES ZERO, ITS VALUE IS RESET AND BIT 7 OF THE ASSOCIATED
COMMAND BYTE IS SET. ╘HIS WILL CAUSE THE APPROPRIATE SUBROUTINE
TO BE EXECUTED THE NEXT TIME THE TABLE IS POLLED. ╘HE NEXT PART
OF THIS ROUTINE IS TO DECREMENT ALL NONZERO COUNTERS IN THE STACK
AT $877╞. ╘HE ROUTINE TO BLINK THE TEXT CURSOR IS CALLED NEXT.
╞INALLY, THE RANDOM NUMBER GENERATOR AT $850┴ IS UPDATED.
╞UNCTION ╬AME: ╠├╚┴╔╬
╨URPOSE: ╠OAD MEMORY FROM DISK.
├ALL ADDRESS: $├1╞╞
╔NPUT REQUIREMENTS:
$04 ╔NITIAL TRACK NUMBER.
$05 ╔NITIAL SECTOR NUMBER.
$06-$07 ┬YTE COUNT OF LOAD.
$10-$11 ╠OAD ADDRESS.
╧UTPUT:
$0├ ╔NDEX TO LAST SECTOR LOADED.
$8300- ╠IST OF TRACKS AND SECTORS TRACK WERE LOADED.
╨REPARATORY ROUTINES: ╠╧┴─┴─
┼RRORS: ╙EE ┴PPENDIX ╔.
─ESCRIPTION: ╘HIS ROUTINE ASSUMES THAT THE FILE HAS BEEN LOCATED
IN THE DIRECTORY AND THAT THE INITIAL TRACK AND SECTOR ARE KNOWN.
╞UNCTION ╬AME: ╠─╙╫┴╨
╨URPOSE: ╥ELOAD THE ╙╫┴╨╞╔╠┼.
├ALL ADDRESS: $├23┼
╨REPARATORY ROUTINES: ╠╧┴─╙╫
┼RRORS: ╙EE ┴PPENDIX ╔.
─ESCRIPTION: ╘HIS ROUTINE RELOADS THE ╙╫┴╨╞╔╠┼, THEN DELETES IT.
╘HE LAST WINDOW DESCRIPTION IS REPROCESSED TO RESTORE THE SCREEN
AND CONTROL IS RETURNED TO THE ORIGINAL PROGRAM THAT CALLED
╠╧┴─╙╫.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-37
╞UNCTION ╬AME: ╠╔╬┼
╨URPOSE: ─RAWS, ERASES OR COPIES A LINE ON THE HIRES SCREEN.
├ALL ADDRESS: $├130
╔NPUT REQUIREMENTS:
╬ FLAG ├ ╞LAG ╧PERATION
1 ╪ ├OPY
0 1 ─RAW
0 0 ┼RASE
$08-$09 ╘HE COLUMN FOR THE FIRST ENDPOINT.
$0┴-$0┬ ╘HE COLUMN FOR THE SECOND ENDPOINT.
$18 ╘HE ROW FOR THE FIRST ENDPOINT.
$19 ╘HE ROW FOR THE SECOND ENDPOINT.
─ESCRIPTION: ╘HIS IS A VERY VERSATILE ROUTINE. ╔T CAN COPY AN
ARBITRARY LINE FROM ONE SCREEN TO ANOTHER, AS WELL AS DRAW OR
ERASE LINES. ╘HIS ROUTINE PLACES NO RESTRICTIONS ON THE RELATIVE
POSITIONS OF THE ENDPOINTS. ╘HIS ROUTINE CALLS ╨╠╧╘ TO PLOT THE
POINTS. ╙EE ALSO ╥╧╫┴─╥.
╞UNCTION ╬AME: ╠╧┴─
╨URPOSE: ╠OAD AND RUN A FILE.
├ALL ADDRESS: $├208
╔NPUT REQUIREMENTS:
$02 ╞LAG BYTE (╙EE DESCRIPTION).
$06-$07 ╧PTIONAL DATA POINTER.
$08-$09 ╧PTIONAL DATA POINTER.
$0┼-$0╞ ╨OINTER TO FILENAME.
$10-$11 ╠OAD ADDRESS (OPTIONAL).
╧UTPUT:
$8100-$81╞╞ ╔NFO SECTOR FOR FILE.
$8300-$83╞╞ ╘ABLE OF TRACKS AND SECTORS THAT WERE LOADED.
┼RRORS: ╙EE ┴PPENDIX
─ESCRIPTION: ╘HIS ROUTINE LOADS AND RUNS A GIVEN FILE. ╘HE FILE
MUST BE ONE OF THE FOLLOWING ╟┼╧╙ TYPES:
╙YSTEM ╞ILE ─ESK ┴CCESSORY
┴PPLICATION ┴PPLICATION ─ATA
╨RINTER ─RIVER ╔NPUT ─RIVER
╘HE EXECUTION ADDRESS IS TAKEN FROM THE INFORMATION SECTOR. ╔F IT
IS ZERO, THE FILE IS NOT EXECUTED, ONLY LOADED. ╓╠╔╥ FILES HAVE
ONLY THEIR FIRST CHAIN LOADED. ─ESK ┴CCESSORIES SWAP OUT THE
MEMORY THAT THEY USE TO THE ╙╫┴╨╞╔╠┼. ╒PON COMPLETION, THE
╙╫┴╨╞╔╠┼ IS RELOADED. ╘HE FLAG BYTE AT LOCATION $02 HAS TWO
PURPOSES. ╘HIS FIRST IS IF BIT 0 IS SET AND THE FILE WAS AN
APPLICATION, THEN IT IS NOT EXECUTED. ┴LSO IF BIT 0 IS SET, THEN
LOCATIONS $10-$11 HAVE THE LOAD ADDRESS; OTHERWISE, THE LOAD
ADDRESS IS TAKEN FROM THE INFORMATION SECTOR. ╘HIS BIT DOES NOT
APPLY TO ─ESK ┴CCESSORIES. ╔F EITHER BIT 6 OR 7 ARE SET, THEN
$06-$07 POINTS TO 16 BYTES WHICH ARE COPIED TO $8453 (─ISK NAME
FOR DRIVE 10), AND $07-$08 POINT TO 16 BYTES WHICH ARE COPIED TO
$8442 (─ISK NAME FOR DRIVE 11).
╟┼╧╙ ╦ERNAL ╥OUTINES 1-38
╞UNCTION ╬AME: ╠╧┴─2
╨URPOSE: ╠OAD A FILE.
├ALL ADDRESS: $├211
╔NPUT REQUIREMENTS:
$14-$15 ╨OINTER TO DIRECTORY ENTRY.
$886┬ ╞LAG BYTE.
$886├-$886─ ╠OAD ADDRESS.
╧UTPUT:
$8100-$81╞╞ ╔NFO SECTOR FOR FILE.
$8300-$83╞╞ ╘ABLE OF TRACKS AND SECTORS THAT WERE LOADED.
╨REPARATORY ROUTINES: ╠╧╧╦╒╨ (╨OINTER MUST BE COPIED)
┼RRORS: ╙EE ┴PPENDIX
─ESCRIPTION: ╘HIS ROUTINE IS CALLED BY ╠╧┴─ TO PERFORM THE LOAD.
╘HIS ROUTINE DOES NOT TRY TO EXECUTE THE FILE LOADED, NOR IS IT
LIMITED TO THE FILE TYPES THAT ╠╧┴─ IS. ╚OWEVER, THIS ROUTINE CAN
NOT BE USED TO LOAD ╬ON-╟┼╧╙ FILES BECAUSE THE INFO SECTOR MUST
BE PRESENT. ╔F BIT 0 OF LOCATION $886┬ IS SET, THEN THE LOAD
ADDRESS IS TAKEN FROM LOCATIONS $886├-$886─ INSTEAD OF THE INFO
SECTOR. ╘HE DIRECTORY ENTRY POINTER SHOULD POINT TO $8400 AND
NOT THE POINTER RETURNED BY ╠╧╧╦╒╨. ╘HIS IS DUE TO MEMORY
CONFLICTS THAT WILL ARISE.
╞UNCTION ╬AME: ╠╧┴─3
╨URPOSE: ╠OAD AND POSSIBLY RUN A FILE.
├ALL ADDRESS: $├21─
$02 ╞LAG BYTE (╙EE DESCRIPTION).
$06-$07 ╧PTIONAL DATA POINTER.
$08-$09 ╧PTIONAL DATA POINTER.
$0┼-$0╞ ╨OINTER TO FILENAME.
$10-$11 ╠OAD ADDRESS (OPTIONAL).
╧UTPUT:
$8100-$81╞╞ ╔NFO SECTOR FOR FILE.
$8300-$83╞╞ ╘ABLE OF TRACKS AND SECTORS THAT WERE LOADED.
┼RRORS: ╙EE ┴PPENDIX
─ESCRIPTION: ╘HIS ROUTINE IS CALLED BY ╠╧┴─ TO LOAD ┴PPLICATION
FILES. ╠IKE ╠╧┴─2, THIS ROUTINE IS NOT LIMITED TO ANY PARTICULAR
FILE TYPE, EXCEPT THAT IT ALSO CAN NOT LOAD A ╬ON-╟┼╧╙ FILE. ╙EE
╠╧┴─ FOR A DESCRIPTION OF THE FLAG BYTE, DATA POINTERS AND LOAD
ADDRESS.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-39
╞UNCTION ╬AME: ╠╧┴─┴─
╨URPOSE: ╟ET THE LOAD ADDRESS OF A FILE.
├ALL ADDRESS: $├229
╔NPUT REQUIREMENTS:
$14-$15 ╨OINTER TO DIRECTORY ENTRY.
╧UTPUT:
$04 ╘RACK OF FILE'S FIRST SECTOR.
$05 ╙ECTOR OF FILE'S FIRST SECTOR.
$10-$11 ╠OAD ADDRESS FOR FILE.
$8100-$81╞╞ ╔NFO SECTOR FOR FILE.
$8300-$8301 ╘RACK AND SECTOR OF INFO SECTOR.
┼RRORS: ╙EE ┴PPENDIX ╔.
─ESCRIPTION: ╘HIS ROUTINE LOADS THE INFO SECTOR FOR A FILE INTO
THE BUFFER AT $8100. ╘HE LOAD ADDRESS IS SET FROM $8147-$8148.
╘HIS ROUTINE IS CALLED BY ALL THE LOAD ROUTINES.
╞UNCTION ╬AME: ╠╧┴─╙╫
╨URPOSE: ╠OAD AND RUN A FILE USING THE ╙╫┴╨╞╔╠┼.
├ALL ADDRESS: $├217