home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Brotikasten
/
BROTCD01.iso
/
geos
/
geos59.d64
/
page26-38
< prev
next >
Wrap
Text File
|
1995-08-05
|
29KB
|
859 lines
╟┼╧╙ ╦ERNAL ╥OUTINES 1-23
╞UNCTION ╬AME: ─╥┴╫├╚
╨URPOSE: ─RAWS A CHARACTER.
├ALL ADDRESS: $├202
╔NPUT REQUIREMENTS:
┴ ╘HE ┴╙├╔╔ VALUE OF THE CHARACTER.
$05 ╥OW TO PRINT ON (1 ABOVE THE UNDERLINE).
$18-$19 ├OLUMN TO PRINT IN.
$33 ╘HE TOP MARGIN (╒SUALLY 0).
$34 ╘HE BOTTOM MARGIN (╒SUALLY 199).
─ESCRIPTION: ╘HIS ROUTINE IS NOT EXACTLY THE SAME AS ─╙╨├╚╥. ╘HIS
ROUTINE DOES NOT PROCESS CONTROL CHARACTERS AT ALL. ╔T ALSO DOES
NOT CHECK LEFT AND RIGHT MARGINS AT ALL. ╔T ONLY CHECKS TOP AND
BOTTOM MARGINS SO THAT IT STAYS ON SCREEN.
╞UNCTION ╬AME: ─╥╓╬┴═
╨URPOSE: ├OMPUTE THE ADDRESS OF THE DISK'S NAME.
├ALL ADDRESS: $├298
╔NPUT REQUIREMENTS:
╪ ┴DDRESS TO PLACE POINTER IN.
$8489 ├URRENT DRIVE NUMBER.
╧UTPUT:
╠OCATION IN ZERO PAGE POINTED TO BY ╪ HAS THE ADDRESS OF THE
CURRENT DRIVE'S NAME.
╨REPARATORY ROUTINES: ╧╨╬─╙╦
─ESCRIPTION: ╘HIS ROUTINE COMPUTES THE ADDRESS OF THE CURRENT
DRIVE'S NAME BY MULTIPLYING THE DRIVE NUMBER (MINUS 8) BY 18,
THEN THE OFFSET OF $841┼ IS ADDED TO THAT. ╘HE RESULT OF THE
COMPUTATION IS STORED AT THE ZERO PAGE ADDRESS IN ╪.
╞UNCTION ╬AME: ─╥╓╙┼╘
╨URPOSE: ╙ET CURRENT DRIVE.
├ALL ADDRESS: $├2┬0
╔NPUT REQUIREMENTS:
┴ ─EVICE NUMBER OF DRIVE (8-11).
╧UTPUT:
$┬┴ ╙ET TO NEW DEVICE NUMBER.
$8489 ╙ET TO NEW DRIVE NUMBER.
─ESCRIPTION: ╔F THE DRIVE BEING SPECIFIED IS NOT THE CURRENT
DRIVE THEN ├╠╥╥─┘ IS CALLED TO CLEAR THE CURRENT DRIVE. ╘HEN
LOCATIONS $┬┴ AND $8489 ARE SET TO THE NEW DRIVE NUMBER. ╬O OTHER
LOCATIONS ARE AFFECTED, NOR IS ANYTHING ACTUALLY DONE WITH THE
DRIVE.
╞UNCTION ╬AME: ─╥╫═╬╒
╨URPOSE: ╥EDRAWS THE PRESENT MENU.
├ALL ADDRESS: $├193
─ESCRIPTION: ╘HIS ROUTINE REDRAWS THE CURRENT MENU.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-24
╞UNCTION ╬AME: ─╙┼╘╒╨
╨URPOSE: ╙ETS UP A DRIVE WITH TURBODOS.
├ALL ADDRESS: $├214
╔NPUT REQUIREMENTS:
$8489 ├URRENT DRIVE NUMBER.
┼RRORS: ╙EE ┴PPENDIX ╔.
─ESCRIPTION: ╘HIS ROUTINE INITIALIZES THE CURRENT DRIVE, SENDING
TURBODOS IF NECESSARY. ╔T THEN CAUSES THE DRIVE TO RUN TURBODOS.
╘HIS ROUTINE IS CALLED BY SEVERAL OF THE DISK ╔/╧ ROUTINES, MOST
NOTABLY ARE ╥┼┴─ AND ╫╥╔╘┼. ╒PON INITIALIZING THE DRIVE, THE
DRIVE'S STATUS BYTE IS SET TO THE APPROPRIATE VALUE. ╘HE STATUS
BYTES ARE STORED AT $8492-$8495 AND HAVE THE FOLLOWING BIT
DEFINITIONS:
┬IT 7 ╘URBODOS IS LOADED.
┬IT 6 ╘URBODOS IS RUNNING.
╞UNCTION ╬AME: ─╙╨├╚╥
╨URPOSE: ─ISPLAYS A CHARACTER ON THE SCREEN.
├ALL ADDRESS: $├145
╔NPUT REQUIREMENTS:
┴ ╘HE CHARACTER TO BE PRINTED.
$02-$03 ╨OINTER TO EXTRA DATA (╒SED BY A FEW CONTROL
CHARACTERS, NOT NEEDED OTHERWISE).
$05 ╘HE ROW FOR PRINTING (1 ABOVE THE UNDERLINE).
$18-$19 ╘HE COLUMN TO START PRINTING.
$33 ╘HE TOP MARGIN (╒SUALLY 0).
$34 ╘HE BOTTOM MARGIN (╒SUALLY 199).
$35-$36 ╘HE LEFT MARGIN.
$37-$38 ╘HE RIGHT MARGIN.
╨REPARATORY ROUTINES: ╙┼╠┬╙╫ OR ╞╧╬╘
┼RRORS: ┬RANCHES THROUGH $84┴┬-$84┴├ IF RIGHT MARGIN IS EXCEEDED.
─ESCRIPTION: ╘HIS ROUTINE DISPLAYS A CHARACTER IN A GIVEN
LOCATION IN THE CURRENT FONT AND STYLE. ╘HE STYLE BYTE IN
LOCATION $2┼ IS CODED AS FOLLOWS:
┬IT ─ESCRIPTION
7 ╒NDERLINE
6 ┬OLDFACE
5 ╥EVERSED
4 ╔TALICS
3 ╧UTLINED
┼ITHER ╙┼╠┬╙╫ OR ╞╧╬╘ MUST BE CALLED PRIOR TO USING THIS ROUTINE,
IN ORDER TO SET UP THE FONT POINTERS. ╙┼╠┬╙╫ IS CALLED DURING
╟┼╧╙'S BOOTUP PROCEDURE, AS WELL AS BY THE MENU PROCESSOR.
╙EVERAL CONTROL CHARACTERS HAVE SPECIAL PROPERTIES. ╘HOSE WHICH
REQUIRE A DATA POINTER ARE MARKED WITH AN ASTERISK.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-25
├ONTROL ├HARACTER ╘ABLE
├TRL-╚ ─ELETE PREVIOUS CHARACTER.
├TRL-╔ ╘AB.
├TRL-╩ ═OVE STRAIGHT DOWN A LINE.
├TRL-╦ ╙ET TEXT CURSOR TO 0,0.
├TRL-╠ ═OVE STRAIGHT UP A LINE.
├TRL-═ ═OVE TO THE BEGINNING OF THE NEXT LINE.
├TRL-╬ ╘URN ON UNDERLINING.
├TRL-╧ ╘URN OFF UNDERLINING.
* ├TRL-╨ ╞OLLOWED BY A TABLE SUITABLE FOR ╟╥╨╚╔├.
├TRL-╥ ╘URN ON REVERSE VIDEO.
├TRL-╙ ╘URN OFF REVERSE VIDEO.
* ├TRL-╘ ╞OLLOWED BY 2 BYTES WHICH SPECIFY THE NEW COLUMN.
* ├TRL-╒ ╞OLLOWED BY A BYTE WHICH SPECIFIES THE NEW ROW.
* ├TRL-╓ ╞OLLOWED BY 3 BYTES WHICH SPECIFY THE NEW PRINT
POSITION.
* ├TRL-╫ ╙KIPS THE NEXT 3 BYTES.
├TRL-╪ ╘URN ON ┬OLDFACE.
├TRL-┘ ╘URN ON ╔TALICS.
├TRL-┌ ╘URN ON ╧UTLINE.
├TRL- ╘URN OFF ALL EFFECTS, RETURN TO PLAIN TEXT.
╘HOSE ENTRIES MARKED WITH AN ASTERISK (*) SHOULD ONLY BE USED
FROM ─╙╨╘╪╘ BECAUSE THEY REQUIRE $02-$03 TO BE A POINTER TO GET
EXTRA DATA. ┴S WITH ╟╥╨╚╔├, ├TRL-╨ MUST BE THE LAST COMMAND
BECAUSE THE ZERO BYTE THAT TERMINATES ╟╥╨╚╔├ WILL TERMINATE
─╙╨╘╪╘.
╞UNCTION ╬AME: ─╙╨╬╒═
╨URPOSE: ─ISPLAY AN UNSIGNED 16 BIT INTEGER.
├ALL ADDRESS: $├184
╔NPUT REQUIREMENTS:
┴ ├ONTROL VALUE (╙EE DESCRIPTION).
$02-$03 ╘HE VALUE TO BE DISPLAYED.
─ESCRIPTION: ╘HIS ROUTINE CONVERTS THE VALUE AT $02-$03 TO
DECIMAL ┴╙├╔╔ AND DISPLAYS IT USING ─╙╨├╚╥. ╘HE CONTROL VALUE IN
┴ IS DEFINED AS FOLLOWS:
BIT 7 0 - RIGHT JUSTIFY THE NUMBER.
1 - LEFT JUSTIFY THE NUMBER, IE. NO JUSTIFY.
BIT 6 0 - PRINT LEADING ZEROES.
1 - SKIP LEADING ZEROES.
BITS 0-5 ╘HE FIELD WIDTH IN PIXELS FOR RIGHT JUSTIFICATION.
╟┼╧╙ ╦ERNAL ╥OUTINES 1-26
╞UNCTION ╬AME: ─╙╨╘╪2
╨URPOSE: ╔DENTICAL TO ─╙╨╘╪╘, BUT WITH INLINE CODE.
├ALL ADDRESS: $├1┴┼
╔NPUT REQUIREMENTS:
$35-$36 ╘HE LEFT MARGIN.
$37-$38 ╘HE RIGHT MARGIN.
╨REPARATORY ROUTINES: ╙┼╠┬╙╫ OR ╞╧╬╘
┼RRORS: ┬RANCHES THROUGH $84┴┬-$84┴├ IF RIGHT MARGIN IS EXCEEDED.
─ESCRIPTION: ╘HIS ROUTINE CREATES A POINTER TO THE TEXT, CALLS
─╙╨╘╪╘, THEN RETURNS TO THE CODE IMMEDIATELY FOLLOWING THE TEXT.
╩╙╥ ─╙╨╘╪2
.╫╧╥─ ╘HE COLUMN TO START PRINTING IN
.┬┘╘┼ ╥OW FOR LINE OF PRINT (1 ABOVE THE UNDERLINE)
.┬┘╘┼ ╘EXT TO BE DISPLAYED
.┬┘╘┼ 0
├ONTROL RETURNS HERE AFTER TEXT IS PRINTED.
╞UNCTION ╬AME: ─╙╨╘╪╘
╨URPOSE: ─ISPLAYS AN ENTIRE STRING OF TEXT.
├ALL ADDRESS: $├148
╔NPUT REQUIREMENTS:
$02-$03 ╨OINTER TO TEXT STRING.
$05 ╘HE ROW FOR PRINTING (1 ABOVE THE UNDERLINE).
$18-$19 ╘HE COLUMN IN WHICH TO START PRINTING.