diff --git a/.idea/libraries/antlr_antlr4.xml b/.idea/libraries/antlr_antlr4.xml
index c035c70ed..4d7b191a6 100644
--- a/.idea/libraries/antlr_antlr4.xml
+++ b/.idea/libraries/antlr_antlr4.xml
@@ -1,13 +1,13 @@
-
+
-
-
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index cd58425e0..209ccd3b7 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -16,6 +16,9 @@
+
+
+
diff --git a/compiler/build.gradle b/compiler/build.gradle
index 4ea8dadae..3e17768c0 100644
--- a/compiler/build.gradle
+++ b/compiler/build.gradle
@@ -33,7 +33,7 @@ dependencies {
implementation project(':codeGenIntermediate')
implementation project(':codeGenExperimental')
implementation project(':virtualmachine')
- implementation "org.antlr:antlr4-runtime:4.12.0"
+ implementation "org.antlr:antlr4-runtime:4.13.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
// implementation "org.jetbrains.kotlin:kotlin-reflect"
implementation 'org.jetbrains.kotlinx:kotlinx-cli:0.3.6'
diff --git a/compilerAst/build.gradle b/compilerAst/build.gradle
index 81034674c..8403027c8 100644
--- a/compilerAst/build.gradle
+++ b/compilerAst/build.gradle
@@ -24,7 +24,7 @@ compileTestKotlin {
dependencies {
implementation project(':codeCore')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
- implementation "org.antlr:antlr4-runtime:4.12.0"
+ implementation "org.antlr:antlr4-runtime:4.13.1"
implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:1.1.18"
implementation project(':parser')
}
diff --git a/docs/source/software.rst b/docs/source/software.rst
index bce635c69..a2b4a554b 100644
--- a/docs/source/software.rst
+++ b/docs/source/software.rst
@@ -32,3 +32,12 @@ there are also larger pieces of software written using Prog8. Here's a list.
`Streaming Music Demo `_
Demoscene like "music demos" for the Commander X16.
They display graphics, animated song lyrics, and play a high quality sampled song streamed from disk.
+
+
+Various things:
+
+`GalaX16 and other programs `_
+ Beginnings of a Galaga game for the Commander X16.
+
+`Prog8 code for ZSMkit `_
+ ZSMkit is an advanced music and sound effects engine for the Commander X16.
diff --git a/examples/cx16/pcmaudio/play-adpcm.p8 b/examples/cx16/pcmaudio/play-adpcm.p8
index a40380cb8..f55495774 100644
--- a/examples/cx16/pcmaudio/play-adpcm.p8
+++ b/examples/cx16/pcmaudio/play-adpcm.p8
@@ -65,8 +65,20 @@ main {
txt.print("\ndecoding all blocks...\n")
cbm.SETTIM(0,0,0)
repeat num_adpcm_blocks {
+
+ ; If the IMA data is mono, an individual chunk of data begins with the following preamble:
+ ; bytes 0-1: initial predictor (in little-endian format)
+ ; byte 2: initial index
+ ; byte 3: unknown, usually 0 and is probably reserved
+ ; If the IMA data is stereo, a chunk begins with two preambles, one for the left audio channel and one for the right channel.
+ ; (so we have 8 bytes of preamble).
+ ; The remaining bytes in the chunk are the IMA nibbles. The first 4 bytes, or 8 nibbles,
+ ; belong to the left channel and -if it's stereo- the next 4 bytes belong to the right channel.
+
+ ; The code here assumes mono.
adpcm.init(peekw(nibblesptr), @(nibblesptr+2))
nibblesptr += 4
+
repeat 252 {
ubyte @zp nibble = @(nibblesptr)
adpcm.decode_nibble(nibble & 15) ; first word
diff --git a/parser/build.gradle b/parser/build.gradle
index b9a8707fb..26bf8093d 100644
--- a/parser/build.gradle
+++ b/parser/build.gradle
@@ -10,8 +10,8 @@ java {
}
dependencies {
- antlr 'org.antlr:antlr4:4.12.0'
- implementation 'org.antlr:antlr4-runtime:4.12.0'
+ antlr 'org.antlr:antlr4:4.13.1'
+ implementation 'org.antlr:antlr4-runtime:4.13.1'
}
configurations.all {