File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -1231,7 +1231,7 @@ just before exiting of the current subroutine. That can be via a return statemen
12311231or just the normal ending of the subroutine. This is often useful to "not forget" to clean up stuff,
12321232and if the subroutine has multiple ways or places where it can exit, it saves you from repeating
12331233the cleanup code at every exit spot. Multiple defers can be scheduled in a single subroutine (up to a maximum of 8).
1234- They are handled in reversed order. Return values are evaluated before any deferred code is executed.
1234+ The defers are handled in reversed (LIFO) order. Return values are evaluated before any deferred code is executed.
12351235You write defers like so::
12361236
12371237 sub example() -> bool {
Original file line number Diff line number Diff line change @@ -54,6 +54,17 @@ Various things:
5454 A Prog8 library module that provides Commander X16 style RAM banking on a C64 with an REU.
5555 This module provides cx16.rambank(), x16jsrfar() and extsub @bank functionality on a C64.
5656
57+ `Library blob link example <https://github.com/FearLabsAudio/Prog8_blobLink_example/ >`_
58+ An example of a simple utility that can link symbols in a main Prog8 program
59+ so that they are accessable from an externally loaded library blob.
60+ It pre-processes the debug symbols list file at compile time,
61+ and substitutes references in a template module file.
62+
63+ `XLink: an alternative library blob link example <https://github.com/gillham/X16/tree/main/xlink >`_
64+ This is another approach to access routines from a banked loaded library,
65+ and it does it at run time. In this demo a jump table is not only created in the library,
66+ but also in the main program and copied into the library for its use.
67+
5768
5869.. image :: _static/curious.png
5970 :align: center
You can’t perform that action at this time.
0 commit comments