home *** CD-ROM | disk | FTP | other *** search
-
- restrings - uSE cOMMODORE reuS AS STRING DATA STORAGE IN basic
-
-
- 1) hardware requirements
-
- yOU REQUIRE A c64 (OR c128 IN c64 MODE) WITH A cOMMODORE 1700, 1750 OR
- 1764 reu (ram eXPANSION uNIT).
-
-
- 2) features
-
- tHE UTILITY PROGRAM restrings EXTENDS THE c64 basic INTERPRETER IN A
- WAY THAT THE EXPANDED MEMORY OF 17XX reuS IS USED TO STORE STRING DATA.
- dEPENDING ON THE MODULE USED, UP TO 512 kbYTE STRING DATA MEMORY ARE
- AVAILABLE, THE MAIN MEMORY IS ONLY USED FOR OTHER VARIABLES AND
- PROGRAMS. tHUS, LARGE DATA CAN BE PROCESSED IN basic WITHOUT
- COMPLICATED AND INEFFICIENT DISK OR ram DISK ACCESS.
- dUE TO AN NEW FAST gARBAGE cOLLECTION THE USUAL WAITING PERIODES
- DURING WORK WITH A HIGH NUMBER OF STRINGS ARE AVOIDED. tHEREFORE,
- USING restrings CAN MAKE SENSE EVEN IF MAIN MEMORY IS SUFFICIENT.
- iT CAN BE SELECTED, WHICH reu MEMORY BANKS ARE TO BE USED. tHUS, PARTS
- OF THE EXPANDED MEMORY CAN REMAIN AVAILABLE FOR OTHER PURPOSES.
-
-
- 3) activation
-
- tHERE ARE TWO WAYS OF LOADING AND STARTING restrings.
- fIRST, IT CAN BE LOADED AND STARTED LIKE A basic PROGRAM WITH
- load"restrings",8 AND run. tHE NUMBER OF FREE basic BYTES IN MAIN AND
- EXPANDED MEMORY WILL BE DISPLAYED.
- aLTERNATIVELY, IT CAN BE LOADED FROM WITHIN A RUNNING basic PROGRAM.
- aDD THE FOLLOWING LINES AT THE BEGINNING OF A basic PROGRAMS THAT
- REQUIRES restrings:
-
- 0 IFPEEK(43645)=145THENSYS57812"RESTRINGS",8:POKE780,0:POKE781,0
- 1 IFPEEK(43645)=145THENPOKE782,192:SYS65493:SYS57633:SYS49167:CLR
-
- eVERY TIME THE basic PROGRAM WILL BE EXECUTED, restrings WILL BE LOADED
- AND ACTIVATED AUTOMATICALLY, IF NECESSARY.
-
-
- 4) ram bank selection
-
- eXPANDED MEMORY IS DIVIDED INTO BANKS 0 TO 7, EACH BANK CONTAINING 64
- kbYTE ram. iN A 1700 reu ONLY BANKS 0 AND 1, IN A 1764 reu ONLY
- BANKS 0 TO 3 ARE IMPLEMENTED.
- wITH AN EXTENDED clr COMMAND THE BANKS TO BE USED FOR STRING DATA CAN
- BE SELECTED. tHE NUMBERS OF THE FIRST AND THE LAST BANK TO BE USED CAN BE
- GIVEN AS PARAMETER.
-
- eXAMPLES:
-
- clr ... NORMAL clr COMMAND
- clr 0,7 ... USE ALL BANKS
- clr 3,4 ... USE BANKS 3 AND 4
- clr 1,1 ... USE BANK 1 ONLY
-
- bE CAREFUL NOT TO SELECT UNIMPLEMENTED BANKS.
-
- iMMEDIATELY AFTER ACTIVATION OF restrings WITH A 1700 reu BANKS 0 AND
- 1 ARE SELECTED, WITH A 1750 OR 1764 reu BANKS 0 TO 3 ARE SELECTED. tHUS,
- IN ORDER TO USE THE ENTIRE 1750 MEMORY FOR STRING DATA, THE EXTENDED clr
- COMMAND IS NECESSARY.
-
-
- 5) memory usage
-
- nOTE THAT ONLY THE STRING DATA, BUT NOT THE STRING DESCRIPTORS
- BELONGING TO THEM, ARE STORED IN EXPANDED MEMORY. tHREE BYTES OF MAIN
- MEMORY PER STRING ARE STILL NEEDED. tHEREFORE, IN ORDER TO UTILIZE THE
- COMPLETE reu CAPACITY, STRINGS HAVE TO BE OF A CERTAIN MINIMUM AVERAGE
- LENGTH.
- aLSO, DURING EXECUTION OF STRING FUNCTIONS, A CERTAIN AMOUNT OF FREE
- MAIN MEMORY IS REQUIRED. uP TO 765 BYTES CAN BE NECESSARY FOR
- TEMPORARY STRING STORAGE.
-
- fOR EMPTY STRINGS AND STRINGS WITH LENGTH 1 NO EXPANDED MEMORY IS
- USED. fOR EACH OTHER STRING len( STRING ) + 3 BYTES ARE ALLOCATED IN
- EXPANDED MEMORY.
-
- tHE NUMBER OF FREE STRING DATA BYTES IN EXPANDED MEMORY CAN BE
- INVESTIGATED WITH THE FUNCTION usr(1). tHIS WILL AUTOMATICALLY INVOCATE
- THE FAST GARBAGE COLLECTION. tHE NUMBER OF FREE BYTES IN MAIN
- MEMORY CAN BE INVESTIGATED WITH fre(1) AS USUAL.
-
-
- 6) speed
-
- dUE TO INDIRECT ACCESS TO THE EXPANDED MEMORY, ASSIGNMENT AND ACCESS
- TO STRINGS IS A BIT SLOWER THAN NORMAL. hOWEVER, DUE TO THE FAST
- GARBAGE COLLECTION STRING HANDLING IS FASTER IN THE LONG RUN.
- wITH 256 kbYTE EXPANDED MEMORY SELECTED, THE GARBAGE COLLECTION WILL
- TAKE 7 SECONDS IN THE WORST CASE. nORMALLY, HARDLY ANY DELAY IS
- NOTICABLE.
-
-
- 7) compatibility
-
- restrings USES MAIN MEMORY BETWEEN $a000 AND $c6fc . tHIS MEMORY AREA
- AND THE MEMORY CONFIGURATION ( peek(1)=54 ) MUST NOT BE CHANGED BY
- OTHER PROGRAMS.
- pROBLEMS ARE LIKELY WITH PROGRAMS THAT IMPLEMENT THEIR OWN STRING
- HANDLING, E.G. basic COMPILERS.
- restrings HAS BEEN DEVELOPED ON A c64 WITH A 1764 reu.
-
-
- 8) copyright
-
- tHE PROGRAM AND INSTRUCTIONS WERE WRITTEN BY rICHARD hABLE.
- (emAIL: rICHARD.hABLE@JK.UNI-LINZ.AC.AT)
- yOU MAY DISTRIBUTE THEM FREELY. tHERE IS NO WARRANTY, USE THEM AT
- YOUR OWN RISK!
-
-
-
-