======================================================================
C H A P T E R 7
======================================================================
R T T B A S I C P R O G R A M M I N G
O N T H E C O M M O D O R E 6 4
======================================================================
TriadicFrameworks Docs
Print Edition • p. 7‑1
Chapter 7 — RTT BASIC Programming on the Commodore 64
A complete programming guide for the RTT‑C64 Cartridge
Table of Contents (Chapter 7)#
(Print Edition — p. 7‑2)
Section I — Foundations#
- 7.1 Substrates ............................................. p. 7‑3
- 7.2 Fields .................................................. p. 7‑4
- 7.3 Flows ................................................... p. 7‑5
- 7.4 Alignment ............................................... p. 7‑6
- 7.5 Resonance ............................................... p. 7‑7
Section II — Text Effects#
- 7.6 Horizontal Scroll ....................................... p. 7‑8
- 7.7 Brightness Pulse ........................................ p. 7‑9
- 7.8 Wave Motion ............................................. p. 7‑10
- 7.9 Ripple Effect ........................................... p. 7‑11
- 7.10 Blink Field ............................................. p. 7‑12
Section III — Sprite & Graphics#
- 7.11 Sprite Orbit ............................................ p. 7‑13
- 7.12 Sprite Wobble ........................................... p. 7‑14
- 7.13 Resonant Motion ......................................... p. 7‑15
- 7.14 Sprite Pulse ............................................ p. 7‑16
- 7.15 Mirror Field ............................................ p. 7‑17
Section IV — SID Audio#
- 7.16 Dual‑Voice Resonance .................................... p. 7‑18
- 7.17 Pulse Train ............................................. p. 7‑19
- 7.18 Drone Field ............................................. p. 7‑20
- 7.19 Tri‑Voice Stack ......................................... p. 7‑21
- 7.20 Raster Sync Sweep ....................................... p. 7‑22
Appendix — Developer Notes#
- 7.A Cartridge Architecture .................................. p. 7‑23
- 7.B Memory Map .............................................. p. 7‑24
- 7.C Timing & IRQ Behavior ................................... p. 7‑25
- 7.D Compatibility Notes ..................................... p. 7‑26
======================================================================
S E C T I O N I
======================================================================
F O U N D A T I O N C O N C E P T S
======================================================================
Print Edition • p. 7‑3
7.1 — Substrates#
A substrate is a named region of memory or hardware.
This is the foundation of RTT programming.
10 SUBSTRATE 1024,2023 AS "TEXT"
20 FOR I=1024 TO 2023:POKE I,ASC("*"):NEXT7.2 — Fields#
(p. 7‑4)
A field adds boundary rules to a substrate.
10 SUBSTRATE 1024,2023 AS "TEXT"
20 FIELD 1024,2023 WITH "WRAP"7.3 — Flows#
(p. 7‑5)
A flow is a transformation applied over time.
10 SUBSTRATE 1024,1279 AS "A"
20 SUBSTRATE 1280,1535 AS "B"
30 FLOW "COPY" FROM "A" TO "B" BY 1
40 FLOW "COPY"7.4 — Alignment#
(p. 7‑6)
Synchronize flows with raster or CPU cycles.
10 ALIGN LOOP WITH RASTER 100
20 PRINT "TICK";
30 GOTO 107.5 — Resonance#
(p. 7‑7)
Couple two flows into a stable pattern.
10 SUBSTRATE SID1,SID1 AS "LEAD"
20 SUBSTRATE SID2,SID2 AS "BASS"
30 RESONATE "LEAD","BASS" BY 2======================================================================
S E C T I O N I I
======================================================================
T E X T E F F E C T S
======================================================================
Print Edition • p. 7‑8
7.6 — Horizontal Scroll#
10 SUBSTRATE 1024,2023 AS "TEXT"
20 FIELD 1024,2023 WITH "WRAP"
30 FLOW "SCROLL" FROM "TEXT" TO "TEXT" BY 1
40 ALIGN "SCROLL" WITH RASTER 120
50 FLOW "SCROLL"7.7 — Brightness Pulse#
(p. 7‑9)
10 SUBSTRATE 55296,56295 AS "COLOR"
20 FLOW "BRIGHT" FROM "COLOR" TO "COLOR" BY 1
30 FLOW "DIM" FROM "COLOR" TO "COLOR" BY 2
40 RESONATE "BRIGHT","DIM" BY 1
50 FLOW "BRIGHT"
60 FLOW "DIM"7.8 — Wave Motion#
(p. 7‑10)
10 SUBSTRATE 1024,2023 AS "TEXT"
20 FLOW "WAVE" FROM "TEXT" TO "TEXT" BY 3
30 ALIGN "WAVE" WITH CYCLE 4
40 FLOW "WAVE"7.9 — Ripple Effect#
(p. 7‑11)
10 SUBSTRATE 1024,2023 AS "TEXT"
20 FLOW "UP" FROM "TEXT" TO "TEXT" BY 1
30 FLOW "DOWN" FROM "TEXT" TO "TEXT" BY -1
40 RESONATE "UP","DOWN" BY 2
50 FLOW "UP"
60 FLOW "DOWN"7.10 — Blink Field#
(p. 7‑12)
10 SUBSTRATE 55296,56295 AS "COLOR"
20 FIELD 55296,56295 WITH "MIRROR"
30 FLOW "BLINK" FROM "COLOR" TO "COLOR" BY 1
40 FLOW "BLINK"======================================================================
S E C T I O N I I I
======================================================================
S P R I T E & G R A P H I C S
======================================================================
Print Edition • p. 7‑13
7.11 — Sprite Orbit#
10 SUBSTRATE 8192,8703 AS "SPRITEFIELD"
20 FIELD 8192,8703 WITH "WRAP"
30 FLOW "ORBIT" FROM "SPRITEFIELD" TO "SPRITEFIELD" BY 1
40 FLOW "ORBIT"7.12 — Sprite Wobble#
(p. 7‑14)
10 SUBSTRATE 8192,8703 AS "SPRITEFIELD"
20 FLOW "WOBBLE" FROM "SPRITEFIELD" TO "SPRITEFIELD" BY 2
30 ALIGN "WOBBLE" WITH RASTER 80
40 FLOW "WOBBLE"7.13 — Resonant Motion#
(p. 7‑15)
10 SUBSTRATE 8192,8703 AS "SPRITEFIELD"
20 FLOW "A" FROM "SPRITEFIELD" TO "SPRITEFIELD" BY 1
30 FLOW "B" FROM "SPRITEFIELD" TO "SPRITEFIELD" BY 3
40 RESONATE "A","B" BY 4
50 FLOW "A"
60 FLOW "B"7.14 — Sprite Pulse#
(p. 7‑16)
10 SUBSTRATE 8192,8703 AS "SPRITEFIELD"
20 FLOW "PULSE" FROM "SPRITEFIELD" TO "SPRITEFIELD" BY 1
30 ALIGN "PULSE" WITH CYCLE 8
40 FLOW "PULSE"7.15 — Mirror Field#
(p. 7‑17)
10 SUBSTRATE 8192,8703 AS "SPRITEFIELD"
20 FIELD 8192,8703 WITH "MIRROR"
30 FLOW "MIRROR" FROM "SPRITEFIELD" TO "SPRITEFIELD" BY 1
40 FLOW "MIRROR"======================================================================
S E C T I O N I V
======================================================================
S I D A U D I O
======================================================================
Print Edition • p. 7‑18
7.16 — Dual‑Voice Resonance#
10 SUBSTRATE SID1,SID1 AS "A"
20 SUBSTRATE SID2,SID2 AS "B"
30 FLOW "ENV1" FROM "A" TO "A" BY 1
40 FLOW "ENV2" FROM "B" TO "B" BY 2
50 RESONATE "ENV1","ENV2" BY 3
60 FLOW "ENV1"
70 FLOW "ENV2"7.17 — Pulse Train#
(p. 7‑19)
10 SUBSTRATE SID1,SID1 AS "LEAD"
20 FLOW "PULSE" FROM "LEAD" TO "LEAD" BY 1
30 ALIGN "PULSE" WITH RASTER 100
40 FLOW "PULSE"7.18 — Drone Field#
(p. 7‑20)
10 SUBSTRATE SID3,SID3 AS "DRONE"
20 FIELD SID3,SID3 WITH "WRAP"
30 FLOW "DRIFT" FROM "DRONE" TO "DRONE" BY 1
40 FLOW "DRIFT"7.19 — Tri‑Voice Stack#
(p. 7‑21)
10 SUBSTRATE SID1,SID1 AS "A"
20 SUBSTRATE SID2,SID2 AS "B"
30 SUBSTRATE SID3,SID3 AS "C"
40 RESONATE "A","B" BY 2
50 RESONATE "B","C" BY 3
60 FLOW "A"
70 FLOW "B"
80 FLOW "C"7.20 — Raster Sync Sweep#
(p. 7‑22)
10 SUBSTRATE SID1,SID1 AS "LEAD"
20 FLOW "SWEEP" FROM "LEAD" TO "LEAD" BY 1
30 ALIGN "SWEEP" WITH RASTER 50
40 FLOW "SWEEP"======================================================================
A P P E N D I X
======================================================================
D E V E L O P E R N O T E S
======================================================================
Print Edition • p. 7‑23
Appendix 7.A — Cartridge Architecture#
The RTT‑C64 cartridge hooks into:
- BASIC token table
- IRQ vector
- NMI vector
- Zero‑page workspace
All RTT commands dispatch to ROM‑resident routines.
Appendix 7.B — Memory Map#
(p. 7‑24)
| Region | Purpose |
|---|---|
| $8000–$9FFF | RTT ROM (operators, flow engine) |
| $C000–$C7FF | RTT runtime workspace |
| $D000–$DFFF | SID/VIC‑II/CIA (unmodified) |
Appendix 7.C — Timing & IRQ Behavior#
(p. 7‑25)
- RTT installs a raster‑aware IRQ handler
- Active flows are stepped each frame
ALIGNmodifies IRQ schedulingRESONATEmodifies flow coupling tables
Appendix 7.D — Compatibility Notes#
(p. 7‑26)
- Compatible with stock C‑64 and C‑64C
- Compatible with 1541, 1571, SD2IEC
- Fast‑Load cartridges may conflict unless disabled
- Works with PAL and NTSC timing (auto‑detect)