Skip to content

Commit 78b1076

Browse files
committed
some more software links
1 parent 0a3c748 commit 78b1076

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

docs/source/programming.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1231,7 +1231,7 @@ just before exiting of the current subroutine. That can be via a return statemen
12311231
or just the normal ending of the subroutine. This is often useful to "not forget" to clean up stuff,
12321232
and if the subroutine has multiple ways or places where it can exit, it saves you from repeating
12331233
the 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.
12351235
You write defers like so::
12361236

12371237
sub example() -> bool {

docs/source/software.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)