Garbage: Difference between revisions

From Color 64 BBS Wiki
m Protected "Garbage" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<strong>Fast Garbage Collect Routine </strong>
{{DISPLAYTITLE:Garbage Collection Features}}
[[bbs operation|BBS Operation]] - <strong>Garbage Collection Routine</strong>


One of the specialized routines in the Color 64 ML is a "fast garbage collection" feature.  Garbage collection is the term used to describe what the computer does when it cleans memory of garbage strings that BASIC is no longer using.  In standard C64 BASIC the delay during garbage collection can be quite long, which decreases the performance of programs.  The Color 64 fast routine decreases the amount of time that this collection takes. 
<strong>Fast Garbage Collection Routine</strong>


Some of the Color 64 BASIC routines that specifically take advantage of this feature are the regenerate message index and the directory regenerate routines.  You will notice that the screen goes blank sometimes while these routines are working.  This is because a blank screen will allow the computer to work faster.  Also, SYSOPs with Commodore 128 computers will have a bonus: the garbage collection routine will work at 2 megahertz.
Color 64 includes an enhanced machine language routine designed to speed up garbage collection. Garbage collection is the process by which BASIC reclaims memory occupied by string data that is no longer in use. On a standard Commodore 64 running BASIC alone, this process can introduce noticeable delays, sometimes long enough to interrupt the flow of a program.


Note that on a stock Color 64 system the fast routine is not always active. If you want to have the routine on all the time, allowing faster operation of the BBS system, then you should edit line 10241 of √bbs.init and change the part that says "M7=." to read "M7=1".  You will notice the screen blanking more often, but this just shows that the fast routine is active.
The Color 64 fast garbage collection routine significantly reduces that delay. Instead of waiting while BASIC slowly reorganizes memory, the ML routine streamlines the cleanup process, resulting in faster overall system performance.


For more information on this feature, see the descriptions of the !48 and !53 variables in Programming Section.
Several Color 64 BASIC routines rely heavily on this optimization, including:
* Regenerate Message Index 
* Directory Regenerate 
 
During these operations, you may notice the screen going blank. This is intentional. Disabling screen output allows the computer to complete memory operations more quickly. The temporary blank display is simply an indicator that the fast routine is actively working behind the scenes.
 
SYSOPs using a Commodore 128 gain an additional advantage. When running in 2 MHz mode, the garbage collection routine executes at double speed, further improving performance during intensive operations.
 
By default, the fast garbage collection routine is not always enabled. If you prefer to keep it active at all times for maximum system responsiveness, edit line 10241 of √bbs.init. Change:
M7=. to: M7=1
 
With the routine permanently enabled, you will observe more frequent screen blanking during memory-intensive tasks. This behavior is normal and confirms that the accelerated garbage collection is in use.
 
For additional technical details, refer to the descriptions of the !48 and !53 variables in [[ml variables|ML Variables]].
 
Next Section: [[maintenance|Routine Maintenance]]
 
[[bbs operation|BBS Operation]]

Latest revision as of 05:29, 16 February 2026

BBS Operation - Garbage Collection Routine

Fast Garbage Collection Routine

Color 64 includes an enhanced machine language routine designed to speed up garbage collection. Garbage collection is the process by which BASIC reclaims memory occupied by string data that is no longer in use. On a standard Commodore 64 running BASIC alone, this process can introduce noticeable delays, sometimes long enough to interrupt the flow of a program.

The Color 64 fast garbage collection routine significantly reduces that delay. Instead of waiting while BASIC slowly reorganizes memory, the ML routine streamlines the cleanup process, resulting in faster overall system performance.

Several Color 64 BASIC routines rely heavily on this optimization, including:

  • Regenerate Message Index
  • Directory Regenerate

During these operations, you may notice the screen going blank. This is intentional. Disabling screen output allows the computer to complete memory operations more quickly. The temporary blank display is simply an indicator that the fast routine is actively working behind the scenes.

SYSOPs using a Commodore 128 gain an additional advantage. When running in 2 MHz mode, the garbage collection routine executes at double speed, further improving performance during intensive operations.

By default, the fast garbage collection routine is not always enabled. If you prefer to keep it active at all times for maximum system responsiveness, edit line 10241 of √bbs.init. Change: M7=. to: M7=1

With the routine permanently enabled, you will observe more frequent screen blanking during memory-intensive tasks. This behavior is normal and confirms that the accelerated garbage collection is in use.

For additional technical details, refer to the descriptions of the !48 and !53 variables in ML Variables.

Next Section: Routine Maintenance

BBS Operation